способ и система для обеспечения извещения, когда пользователь становится доступным для связи
Классы МПК: | H04L12/58 системы с коммутацией сообщений |
Автор(ы): | РАГХАВ Амританш (US), ШТИГМАН Эран (US), КАДИЗ Джонатан Дж. (US), ВЕНКИ Сетти (US), РАО Сира (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2005-11-15 публикация патента:
20.10.2010 |
Изобретение относится к обеспечению извещений об изменениях информации присутствия. Техническим результатом является создание механизма, позволяющего абонирующему пользователю узнавать, когда публикующий контакт, который в текущий момент представляет интерес, становится доступным для связи, без необходимости отслеживать информацию присутствия всех контактов, на которую он подписался. Для достижения указанного технического результата реализованы способ и система для обеспечения извещений об изменениях состояния присутствия контактов. Система извещения позволяет пользователю указывать те интересующие контакты, для которых пользователь хочет получать извещения, когда контакт переходит в определенное состояние присутствия. При приеме информации присутствия о контакте система извещения определяет, является ли контакт интересующим контактом, указанным пользователем. Если да, то система извещения определяет, указывает ли информация присутствия на изменение состояния присутствия, которое представляет интерес для пользователя. Если контакт и изменение состояния присутствия представляют интерес для пользователя, то система извещения извещает пользователя. 3 н. и 15 з.п. ф-лы, 6 ил.
Формула изобретения
1. Компьютерно-реализуемый способ обеспечения информации присутствия контактов, содержащий этапы, на которых принимают от пользователя указание для подписки на информацию присутствия контактов;
принимают от пользователя указание для задания интересующих контактов, от которых пользователь желает получить извещение при вхождении контакта в конкретное состояние присутствия;
принимают информацию присутствия о контакте;
определяют, является ли этот контакт интересующим контактом, как задано пользователем;
если это так, определяют, указывает ли состояние присутствия интересующего контакта конкретное изменение;
если это так, извещают пользователя об изменении состояния присутствия интересующего контакта;
если контакт или изменение в состоянии присутствия не представляет интереса, блокируют извещение пользователя и принимают от пользователя указание для выбора способа извещения пользователя об изменении в состоянии присутствия интересующего контакта, и этот способ подлежит использованию на основе текущего состояния присутствия пользователя.
2. Способ по п.1, в котором извещение включает в себя способы связи с контактом.
3. Способ по п.2, в котором способ связи включает в себя мгновенное сообщение.
4. Способ по п.2, в котором способ связи включает в себя телефонный вызов.
5. Способ по п.1, в котором позволяют пользователю задавать упомянутое конкретное изменение в состоянии присутствия.
6. Способ по п.1, в котором упомянутое конкретное изменение является изменением на доступность для связи с пользователем.
7. Способ по п.1, реализованный в телефоне.
8. Способ по п.1, реализованный в компьютерной системе.
9. Машиночитаемый носитель, содержащий команды для управления компьютерной системой для обеспечения информации присутствия контактов посредством способа, содержащего этапы, на которых принимают от пользователя указание для задания тех интересующих контактов, от которых пользователь желает получить извещение при вхождении контакта в конкретное состояние присутствия;
принимают от пользователя указание для подписки на информацию присутствия множества контактов;
принимают информацию присутствия контакта;
определяют, является ли этот контакт интересующим контактом, как задано пользователем;
определяют, представляет ли принятое состояние присутствия заданный пользователем интерес;
когда определено, что контакт представляет интерес и состояние присутствия представляет заданный пользователем интерес, извещают пользователя о принятом состояния присутствия;
когда определено, что контакт или изменение в состоянии присутствия не представляет интереса, не извещают пользователя и принимают от пользователя указание для выбора способа извещения пользователя о принятом состоянии присутствия интересующего контакта, и этот способ подлежит использованию на основе текущего состояния присутствия пользователя.
10. Машиночитаемый носитель по п.9, в котором извещение предусматривает способ связи, который доступен для пользователя.
11. Машиночитаемый носитель по п.9, в котором контакт может задать состояние присутствия, в котором контакт доступен для связи.
12. Машиночитаемый носитель по п.9, в котором извещение включает в себя способы связи с контактом.
13. Машиночитаемый носитель по п.9, в котором извещение обеспечивается, когда контакт становится доступным для связи с пользователем.
14. Система для извещения пользователя, когда контакт становится доступным для связи, содержащая
средство для задания пользователем интересующих контактов, от которых пользователь желает получить извещение, когда контакт становится доступным для связи;
средство для подписки на информацию присутствия множества контактов;
средство для приема информации присутствия о контакте;
при этом система определяет, когда информация присутствия о контакте принята, является ли контакт интересующим контактом, как задано пользователем, и если контакт является интересующим контактом, как задано пользователем, то определяет, указывает ли информация присутствия изменение в состоянии присутствия, так что контакт теперь является доступным для связи с пользователем, и если контакт и изменение в состоянии присутствия представляют интерес для пользователя, то извещает пользователя, причем извещение указывает способы связи с контактом, а если контакт или изменение в состоянии присутствия не представляет интереса, то не извещает пользователя; и средство для выбора пользователем способа извещения пользователя об изменении в состоянии присутствия интересующего контакта, и этот способ система выполняет с возможностью использовать на основе текущего состояния присутствия пользователя.
15. Система по п.14, в которой способ связи представляет собой мгновенное сообщение.
16. Система по п.14, в которой способ связи представляет собой телефонный вызов.
17. Система по п.14, включающая в себя средство, позволяющее контакту задавать доступность.
18. Система по п.14, в которой доступность указывается состоянием присутствия.
Описание изобретения к патенту
Область техники, к которой относится изобретение
Описанная технология относится, в целом, к обеспечению извещений об изменениях информации присутствия.
Предшествующий уровень техники
Разговоры в режиме реального времени между участниками разговора через их компьютерные системы приобретают все большую популярность. Такой разговор в режиме реального времени требует, чтобы участники присутствовали на своих компьютерных системах (например, карманных персональных компьютерах) и были способны отвечать при приеме передачи. Обычная форма разговора в режиме реального времени обеспечивается услугами мгновенного обмена сообщениями. Услуга мгновенного обмена сообщениями позволяет участникам посылать сообщения и, в течение секунды или двух, другим участникам разговора принимать их. Затем принимающие участники могут посылать ответные сообщения другим участникам аналогичным образом. Для эффективности разговора в режиме реального времени участники должны быть способны очень быстро узнавать о принятых сообщениях, просматривать их и отвечать на них. Эта возможность быстрого ответа составляет отличие от традиционных систем электронной почты, в которых получатели сообщений электронной почты отвечают на сообщения, когда им удобно.
Когда инициирующий участник хочет начать разговор в режиме реального времени, этот участник должен знать, доступны ли намеченные участники для ответа на сообщение в реальном времени. Если нет, то более пригодна связь посредством традиционной электронной почты, голосовой почты или какого-либо другого механизма. Например, если компьютеры намеченных участников в данный момент отключены, то разговор в режиме реального времени не может состояться. Кроме того, если их компьютеры в данный момент включены, но назначенные участники не находятся при своих компьютерах, то разговор в режиме реального времени также не может состояться. Инициирующему участнику хотелось бы знать, доступны ли намеченные участники, чтобы он мог принять правильное решение о форме связи.
Статус доступности объектной сущности, например, компьютерной системы или пользователя, ассоциированного с этой компьютерной системой, называется "информацией присутствия". Информация присутствия указывает текущее "состояние присутствия" пользователя. Пользователи делают свою информацию присутствия доступной, чтобы другие пользователи могли принимать решение относительно того, как лучше всего связываться с ними. Например, информация присутствия может указывать, подключен ли пользователь ("на линии") к серверу мгновенного обмена сообщениями или отключен ("не на линии"). Информация присутствия также может предоставлять более подробную информацию о доступности пользователя. Например, даже если пользователь на линии, этот пользователь может не находиться при своем компьютере на встрече. В этом случае, состояние присутствия может указывать "на линии" и "на встрече".
Применительно к мгновенному обмену сообщениями, публикующий пользователь ("издатель") может предоставить свою информацию присутствия на сервер присутствия, который затем предоставляет информацию присутствия абонирующим пользователям ("абонентам"). Таким образом, сервер присутствия может использовать модель абонент/издатель для предоставления информации присутствия пользователям услуги присутствия. Всякий раз при изменении информации присутствия пользователя сервер присутствия извещается об изменении компьютерной системой пользователя и, в свою очередь, извещает абонирующих пользователей об изменении. Затем абонирующий пользователь может принимать решение в отношении того, инициировать ли разговор путем мгновенного обмена сообщениями, на основе информации присутствия намеченных участников. Например, если информация присутствия указывает, что публикующий пользователь в данный момент участвует в телефонном конференц-вызове, то абонирующий пользователь может принять решение отправить мгновенное сообщение вместо того, чтобы сделать телефонный вызов, публикующему пользователю. Если же абонирующему пользователю нужно вызвать публикующего пользователя и поговорить с ним, то абонирующему пользователю нужно отслеживать информацию присутствия публикующего пользователя, чтобы знать, когда можно сделать вызов. Когда абонирующий пользователь замечает, что информация присутствия публикующего пользователя указывает, что телефонная конференция завершена, абонирующий пользователь может сделать телефонный вызов.
Однако пользователю может быть трудно доподлинно знать, что конкретный пользователь, именуемый также "контактом", стал доступен для обработки определенного типа связи. Пользователю может понадобиться проверять каждое изменение информации присутствия каждого контакта. Трудность возрастает, когда пользователь подписывается на информацию присутствия большого количества контактов. Например, член большой группы проектирования (например, свыше 100 членов) может подписаться на информацию присутствия всех остальных членов, чтобы абонирующий член мог знать, когда и как лучше всего связываться с другими членами. В любой заданный момент, член может быть в текущий момент заинтересован в связи, но лишь с малой группой других членов, и не желает получать извещения о том, когда другие интересующие члены станут доступны для связи. Поскольку член подписывается на информацию присутствия ото всех остальных членов, то член извещается всякий раз, когда информация присутствия члена изменяется. Таким образом, члену приходится отслеживать все эти извещения, чтобы посмотреть, относятся ли какие-либо из них к интересующему члену. Для члена было бы крайне неудобно проверять свой компьютер каждый раз при приеме извещения, чтобы посмотреть, относится ли оно к интересующему члену.
Было бы желательно иметь механизм, позволяющий абонирующему пользователю узнавать, когда публикующий контакт, который в текущий момент представляет интерес, становится доступным для связи, без необходимости отслеживать информацию присутствия всех контактов, на которую он подписался.
Сущность изобретения
Предоставляются способ и система для обеспечения извещений об изменениях в состоянии присутствия контактов. Система извещения позволяет пользователю указывать те интересующие контакты, для которых пользователь хочет получать извещения, когда контакт переходит в определенное состояние присутствия. Пользователь может подписаться на информацию присутствия большого количества контактов, но может также в текущий момент интересоваться изменением состояния присутствия интересующих контактов. При приеме информации присутствия о контакте система извещения определяет, является ли контакт интересующим контактом, указанным пользователем. Если да, то система извещения определяет, указывает ли информация присутствия изменение состояния присутствия, которое представляет интерес для пользователя. Если контакт и изменение состояния присутствия представляют интерес для пользователя, то система извещения извещает пользователя.
Перечень чертежей
Фиг.1 - схема модели присутствия для состояний присутствия согласно одному варианту осуществления.
Фиг.2 - иллюстрация диалоговой панели для выбора того, извещать ли об изменениях состояния присутствия для всех контактов или только для интересующих контактов, согласно одному варианту осуществления.
Фиг.3 - иллюстрация диалоговой панели для указания контактов, представляющих интерес в текущий момент, согласно одному варианту осуществления.
Фиг.4 - иллюстрация диалоговой панели для извещения пользователя о том, что интересующий контакт вошел в состояние присутствия, представляющее интерес пользователю, согласно одному варианту осуществления.
Фиг.5 - блок-схема компонентов системы извещения согласно одному варианту осуществления.
Фиг.6 - логическая блок-схема работы компонента приема информации присутствия согласно одному варианту осуществления.
Подробное описание
Предоставляются способ и система для обеспечения извещений об изменениях состояния присутствия контактов. Согласно одному варианту осуществления, система извещения позволяет пользователю указывать те интересующие контакты, для которых пользователь хочет получать извещения, когда контакт становится доступным для связи (или, в более общем случае, входит в определенное состояние присутствия). Пользователь может подписаться на информацию присутствия для большого количества контактов, но в текущий момент может интересоваться изменением состояния присутствия лишь определенных указанных контактов. Например, пользователь может пожелать сделать телефонный вызов в адрес определенного контакта, но информация присутствия контакта может указывать, что контакт в текущий момент находится на встрече. Пользователю хотелось бы получать извещения о том, что контакт становится доступным для ответа на телефонный вызов. При приеме информации присутствия о контакте система извещения определяет, является ли контакт интересующим контактом, указанным пользователем. Если да, то система извещения определяет, указывает ли информация присутствия на изменение состояния присутствия, в результате которого контакт становится доступен для связи с пользователем. Если контакт доступен для связи, то система извещения извещает пользователя, например, отображая диалоговую панель, указывающую, что контакт сейчас доступен для связи. Диалоговая панель может также указывать различные варианты для осуществления связи с контактом. Например, диалоговая панель может включать в себя кнопку для создания и отправки контакту мгновенного сообщения или для делания телефонного вызова в адрес контакта. Если контакт или изменение состояния присутствия не представляет интереса (например, контакт все еще недоступен для связи), то система извещения не извещает пользователя. Если пользователь больше не заинтересован получать извещения, когда определенный контакт становится доступным для связи, то пользователь может указать, что пользователь уже не заинтересован получать извещения, когда определенный контакт становится доступным. Таким образом, вместо того, чтобы получать извещения обо всех изменениях состояния присутствия для всех контактов, пользователь может избирательно указывать те интересующие контакты, для которых пользователь хочет получать извещения. Таким образом, пользователь получает извещения только о тех контактах, которые в текущий момент представляют интерес.
Согласно одному варианту осуществления, система извещения может извещать пользователя всякий раз, когда интересующий контакт становится доступным для связи с пользователем. С каждым состоянием присутствия можно связать атрибут, указывающий, доступен ли для связи контакт в этом состоянии присутствия. Например, состояние присутствия "на телефоне" может иметь атрибут, установленный указывать, что контакт недоступен для связи, тогда как состояние присутствия "работает на компьютере" может иметь атрибут, установленный указывать, что контакт доступен для связи. Система извещения также может включать атрибуты, чтобы указывать способ связи, который может быть доступен в каждом состоянии присутствия. Например, состояние присутствия "на встрече" может иметь атрибут, установленный указывать, что контакт доступен для приема мгновенного сообщения (например, через карманный персональный компьютер), но не доступен для приема телефонного вызова. Например, один контакт может указывать недоступность для связи, когда его состояние присутствия является "на встрече", тогда как другой контакт может указывать доступность для приема мгновенного сообщения. Система извещения извещает пользователя о доступности контакта для связи и может обеспечивать с извещением указание способов связи, для реализации которых доступен контакт. Например, если контакт доступен только для приема мгновенного сообщения, то извещение может указывать возможность послать мгновенное сообщение, но не возможность выполнения телефонного вызова.
Согласно одному варианту осуществления, система извещения может позволять пользователю указывать те состояния присутствия, для которых пользователь хочет принимать извещения, когда контакт входит в эти состояния. Например, пользователь может пожелать получать извещения, когда состояние присутствия контакта изменяется на "на встрече", независимо от доступности контакта для связи. Система извещения может позволять пользователю указывать эти состояния присутствия для всех контактов в целом или для каждого контакта в отдельности.
Согласно одному варианту осуществления, система извещения может позволять пользователю выбирать способ извещения, используемый системой извещения. Например, один пользователь может пожелать получать извещения через всплывающую диалоговую панель, тогда как другой пользователь может пожелать получать извещения путем вызова на сотовый телефон пользователя. Система извещения может позволять пользователю задавать способ извещения на основании текущего состояния присутствия пользователя. Например, пользователь может выбрать прием извещений только по своему сотовому телефону, когда его состояние присутствия является "в машине". Альтернативно, система извещения может автоматически указывать наилучший способ извещения на основании текущего состояния присутствия пользователя. Например, если состояние присутствия пользователя является "в машине", то система извещения может автоматически принимать решение извещать пользователя по сотовому телефону, а не через всплывающую диалоговую панель. Альтернативно, система извещения может извещать контакт о том, что пользователь ожидает начала разговора. Система извещения может давать контакту возможность выбирать режим связи или не разрешать разговор.
На фиг.1 показана схема модели присутствия состояний присутствия согласно одному варианту осуществления. Модель 100 присутствия задает иерархию состояний присутствия публикующей объектной сущности, например, пользователя, клиента или компьютерной системы. Состояния 110 присутствия первого уровня являются "не на линии" 111, "на линии" 112 и "недоступен" 113."Не на линии" указывает, что публикующая объектная сущность в текущий момент недоступна, "на линии" указывает, что публикующая объектная сущность в текущий момент осуществила логический вход на сервер присутствия, и "недоступен" указывает, что в текущий момент нет никакой информации присутствия. Состояния 120 присутствия второго уровня для состояния присутствия "на линии" являются "дома" 121, "на работе" 122 и "в другом месте" 123. "Дома" указывает, что публикующая объектная сущность находится на линии дома, "на работе" указывает, что публикующая объектная сущность находится на линии на работе, "в другом месте" указывает, что публикующая объектная сущность находится на линии в каком-то другом месте. Состояния 130 присутствия третьего уровня для состояния присутствия "на работе" являются "на встрече" 131, "на телефоне" 132 и "на обеде" 133, которые не нуждаются в пояснениях. Состояния 140 присутствия четвертого уровня для состояния присутствия "на встрече" являются "в офисе" 141 и "вне офиса" 142, которые также не нуждаются в пояснениях. Пользователю может быть разрешено задавать иерархию состояний присутствия модели присутствия и задавать множественные модели присутствия. Система извещения может позволять контактам указывать, в каких состояниях присутствия они доступны для связи, и способ или способы связи, разрешенные или желательные в каждом состоянии присутствия. Система извещения также может позволять пользователю выбирать, о каких состояниях присутствия контактов пользователь желает получать извещения.
На фиг.2 показана диалоговая панель для выбора того, извещать ли об изменениях состояния присутствия для всех контактов или только для интересующих контактов, согласно одному варианту осуществления. В этом примере, пользователь может задавать группу интересующих контактов. Специалистам в данной области техники очевидно, что система извещения может позволять пользователю задавать множественные группы интересующих контактов и избирательно разрешать пользователю принимать извещение для одной или нескольких групп одновременно. Диалоговая панель 200 включает в себя флаговую кнопку 201, позволяющую пользователю выбирать, получать ли извещения об изменениях состояния присутствия. Если пользователь выбирает не получать извещения, то пользователь может выбирать селективные кнопки 211 или 221. Если пользователь выбирает селективную кнопку 211, то пользователь будет принимать извещения только для интересующих контактов. Если пользователь выбирает селективную кнопку 221, то пользователь будет принимать извещения для всех контактов. Если пользователь выбирает флаговую кнопку 212 или 222, то извещения не будут приходить, когда состояние присутствия пользователя указывает, что пользователь в текущий момент занят. Если пользователь выбирает флаговую кнопку 213 или 223, то извещения не будут приходить, когда пользователь указал, чтобы его не беспокоили.
На фиг.3 показана диалоговая панель для указания контактов, представляющих интерес в текущий момент, согласно одному варианту осуществления. Диалоговая панель 300 указывает список 301 контактов, на информацию присутствия которых в текущий момент подписан пользователь. Диалоговая панель также включает в себя флаговые кнопки 302, позволяющие пользователю указывать интересующие контакты. В этом примере пользователь указал, что хочет получать извещения об изменении состояния присутствия или доступности Арона, Дэнни и Элоизы. Специалисту в данной области очевидно, что для указания интересующих контактов можно использовать многие разные пользовательские интерфейсы. Например, каждый контакт может иметь диалоговую панель свойств, с помощью которой пользователь может указывать, что контакт в текущий момент представляет интерес. Система извещения может также включать в себя диалоговую панель, которая позволяет пользователю выбирать состояния присутствия, для которых пользователь хочет получать извещения, когда контакт входит в это состояние присутствия. Эта диалоговая панель может отображать состояния присутствия в иерархическом виде, например, как показано на фиг.1, и позволять пользователю выбирать состояния присутствия, представляющие интерес. Система извещения может также позволять пользователю задавать группу контактов и получать извещения, когда любой контакт в группе становится доступным.
На фиг.4 показана диалоговая панель для извещения пользователя о том, что интересующий контакт вошел в состояние присутствия, которое представляет интерес для пользователя, согласно одному варианту осуществления. В этом примере извещение предоставляется всякий раз, когда указанный контакт становится доступным для связи. Диалоговая панель 400 включает в себя область 401 идентификации контактов, варианты (опции) 402 способов связи и кнопку 403 принятия. При всплывании диалоговой панели пользователь извещается о том, что Арон доступен для связи. Затем пользователь может выбрать способ связи и затем выбрать кнопку принятия, чтобы инициировать связь с контактом посредством выбранного способа связи. Специалисту в данной области техники очевидно, что система извещения может использовать различные формы связи для извещения пользователя. Например, система извещения может извещать пользователя, делая телефонный вызов с сообщением, включающим в себя доступность контакта. Если контакт доступен для связи по телефону, то сообщение может давать пользователю возможность сделать вызов, например, нажав кнопку или произнеся определенную фразу. Система извещения также может обеспечивать извещение в соответствии с доступностью самого пользователя. Например, если пользователь не находится рядом со своим компьютером, то система извещения может извещать пользователя, делая телефонный вызов пользователю. Система извещения может учитывать состояние присутствия пользователя при принятии решения в отношении того, извещать ли пользователя о доступности контакта. Например, если контакт доступен для приема только мгновенного сообщения, но пользователь доступен только по телефону, то система извещения может не послать извещение ввиду отсутствия общего способа связи, доступного пользователю и контакту.
На фиг.5 показана блок-схема компонентов системы извещения согласно одному варианту осуществления. Система извещения 500 включает в себя компонент 501 указания интересующих контактов, компонент 502 приема информации присутствия и компонент 503 отображения извещений. Система извещения также включает в себя таблицу 504 присутствия и таблицу 505 контактов. Таблица присутствия содержит ячейку для каждого абонированного контакта, которая включает в себя текущее состояние присутствия контакта. Всякий раз, когда система присутствия принимает извещение об изменении состояния присутствия абонированного контакта, она обновляет ячейку в таблице присутствия для этого контакта. Ячейки в таблице присутствия также могут указывать, представляет ли в текущий момент контакт интерес для пользователя. Таблица 505 контактов содержит ячейку для каждого контакта. Ячейки в таблице контактов могут указывать состояния присутствия контакта, для которого пользователь хочет получать извещения. Ячейки могут также указывать способы связи, пригодные для этого состояния присутствия. Компонент указания интересующих контактов обеспечивает пользовательский интерфейс, например, показанный на фиг.3, с помощью которого пользователь может указывать интересующие контакты. Компонент приема информации присутствия принимает информацию присутствия об абонированных контактах, обновляет таблицу присутствия и извещает пользователя, если контакт и состояние присутствия представляют интерес для пользователя. Компонент отображения извещений создает извещение, например, показанное на фиг.4, и отображает его пользователю.
Вычислительное устройство, на котором можно реализовать систему извещения, может включать в себя процессор, память, устройства ввода (например, клавиатуру и указательные устройства), устройства вывода (например, устройства отображения) и запоминающие устройства (например, дисководы). Память и запоминающие устройства являются машиночитаемыми носителями, которые могут содержать команды, реализующие систему извещения. Кроме того, структуры данных и структуры сообщений могут храниться или передаваться через среду передачи данных, например, сигнал на линии связи. Можно использовать различные линии связи, например, Интернет, локальную сеть, глобальную сеть, двухточечное коммутируемое соединение, сотовую телефонную сеть и т.д.
Варианты осуществления системы извещения можно реализовать в различных рабочих средах, которые включают в себя персональные компьютеры, компьютеры-серверы, карманные или портативные устройства, многопроцессорные системы, системы на основе микропроцессора, программируемую бытовую электронику, цифровые камеры, сетевые ПК, мини-компьютеры, универсальные компьютеры, распределенные вычислительные среды, включающие в себя любые из вышеперечисленных систем или устройств и т.д. Компьютерными системами могут быть сотовые телефоны, карманные персональные компьютеры, интеллектуальные телефоны, персональные компьютеры, программируема бытовая электроника, цифровые камеры и т.д.
Систему извещения можно описать, в целом, применительно к машиноисполняемым командам, например, программным модулям, выполняемым одним или несколькими компьютерами или другими устройствами. В общем случае, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и пр., которые выполняют определенные задания или реализуют определенные абстрактные типы данных. Обычно функции программных модулей могут быть объединенными или распределенными в зависимости от варианта осуществления.
На фиг.6 показана логическая блок-схема работы компонента приема информации присутствия согласно одному варианту осуществления. Компоненту передается указание контакта и его текущее состояние присутствия. На этапе 601 принятия решения, если пользователь указал принимать извещения присутствия, то компонент переходит к этапу 602, иначе компонент завершает работу. На этапе 602 принятия решения, если пользователь указал принимать извещения от всех контактов, то компонент переходит к этапу 607, иначе компонент переходит к этапу 603. На этапе 603 принятия решения, если пользователя можно отвлекать, то компонент переходит к этапу 604, иначе компонент завершает работу. Пользователя нельзя отвлекать, когда, например, пользователь указал не принимать извещения, если пользователь занят или не желает, чтобы его беспокоили, и пользователь в текущий момент занят или не желает, чтобы его беспокоили. На этапах 604-606 компонент выполняет цикл, определяя, является переданный контакт интересующим контактом. На этапе 604 компонент выбирает следующий интересующий контакт. На этапе 605 принятия решения, если все интересующие контакты уже выбраны, то компонент завершает работу, иначе компонент переходит к этапу 606. На этапе 606 принятия решения, если переданный контакт совпадает с выбранным контактом, то переданный контакт является интересующим контактом, и компонент переходит к этапу 607, иначе компонент возвращается к этапу 604 для выбора следующего интересующего контакта. На этапе 607 принятия решения, если интересующий контакт стал доступен, на что указывает переданное состояние присутствия, то компонент переходит к этапу 608, иначе компонент завершает работу. На этапе 608 компонент отображает извещение пользователю, после чего завершает работу.
Из вышеизложенного следует, что конкретные варианты осуществления системы извещения были описаны здесь в целях иллюстрации, но что возможны различные модификации без отхода от сущности и объема изобретения. Специалисту в данной области очевидно, что систему извещения может использовать пользователь, желающий поговорить с контактом лицом к лицу. Например, когда пользователь получает извещение о том, что контакт доступен, пользователь может прийти в офис контакта, чтобы поговорить с ним. Специалисту в данной области техники очевидно, что понятие "телефонный вызов", используемое в этом описании, охватывает различные типы голосовых разговоров (например, голосовую связь поверх межсетевого протокола (IP) и голосовую связь по традиционным телефонным системам). Систему извещения также можно использовать для извещения пользователя, когда контакт становится доступным для многих разных типов разговоров. Например, пользователь может запросить получать извещения, когда контакт становится доступным для совместного использования приложения или видеоконференции. Контакт может быть доступен для разговора посредством телефонного вызова или мгновенного обмена сообщениями, но может быть недоступен для совместного использования приложения, поскольку его карманный персональный компьютер не поддерживает совместное использование приложения. В этом случае, пользователь не хочет получать извещения о доступности контакта, пока контакт не сможет совместно использовать приложение. Специалисту в данной области техники очевидно, что контакт может являться устройством, например, принтером, копировальным аппаратом, конференц-залом и т.п. Соответственно, изобретение не ограничивает ничем, кроме прилагаемой формулой изобретения.
Класс H04L12/58 системы с коммутацией сообщений