Агрегация присутствия пользователей на сервере
Иллюстрации
Показать всеИзобретение относится к средствам связи пользователей посредством компьютерных устройств в режиме реального времени. Техническим результатом является расширение функциональных возможностей для обеспечения пользователей данными о показателях доступности пользователей в сети связи. Система агрегации присутствия предоставляет сервер агрегации присутствия, который позволяет публикацию состояния присутствия публикатора от нескольких конечных точек. Состояние присутствия включает в себя значение доступности и активность. Активность может включать в себя символ активности и/или пользовательскую строку. Когда любая из конечных точек публикатора совершает публикацию состояния присутствия на сервере агрегации присутствия, сервер агрегации присутствия формирует агрегированное состояние публикатора (то есть доступность публикатора, агрегированную по всем конечным точкам публикатора) и публикует сформированное агрегированное состояние для каждой конечной точки публикатора. Сервер агрегации присутствия может также предоставлять агрегированное состояние публикатора подписчикам на информацию об агрегированном состоянии публикатора. 3 н. и 15 з.п. ф-лы, 6 ил.
Реферат
УРОВЕНЬ ТЕХНИКИ
Пользователям компьютерных устройств (например, ноутбуков, сотовых телефонов и персональных цифровых помощников) часто требуется связь в режиме реального времени. Обычная форма связи в режиме реального времени обеспечивается посредством услуг мгновенного обмена сообщениями. Услуга мгновенного обмена сообщениями позволяет участникам на конечных точках отправлять сообщения и принимать их за секунду или две от других участников разговора. Принимающие участники разговора могут затем таким же способом отправлять ответные сообщения другим участникам. Для эффективности при разговоре в режиме реального времени предполагается, что участники осведомлены о просмотре и ответе на принятые сообщения достаточно быстро. Такой быстрый отклик контрастирует с традиционными системами электронной почты, в которых получатель электронных сообщений отвечает на письма тогда, когда ему удобно.
Когда инициирующий участник хочет начать разговор в режиме реального времени, ему нужно знать, доступны ли предполагаемые участники для ответа на сообщения в режиме реального времени. Если нет, то связь посредством традиционной электронной почты, голосовой почты или некоторых других механизмов может быть более подходящей. Например, если компьютеры предполагаемых участников в настоящее время выключены, то разговор в режиме реального времени невозможен. Более того, если их компьютеры в настоящее время включены, но предполагаемые участники находятся далеко от своих компьютеров, разговор в режиме реального времени также невозможен. Инициирующий пользователь хотел бы знать доступность предполагаемых участников, чтобы принять решение о подходящей форме связи.
Службы присутствия предоставляют такую информацию о присутствии. Состояние доступности такого объекта, как компьютер или пользователь, ассоциированный с этим компьютером, называется «информация присутствия». Информация присутствия определяет текущее «состояние присутствия» пользователя. Пользователи делают свою информацию присутствия доступной для службы присутствия, чтобы другие пользователи могли решить, как лучше связываться с ним. Например, информация присутствия может показывать, подключен ли пользователь («online») к серверу мгновенного обмена сообщениями или не подключен («offline»). Информация присутствия может также предоставлять более подробную информацию о доступности пользователя. Например, несмотря на то что пользователь в состоянии online, этот пользователь может находиться в стороне от своего компьютера, на встрече. В этом случае состояние присутствия может показывать «online» и «на встрече».
В контексте мгновенного обмена сообщениями публикующий пользователь («публикатор») может предоставлять свою информацию о присутствии серверу присутствия, чтобы затем предоставить эту информацию подписавшимся пользователям («подписчик»). Таким образом, сервер присутствия может использовать модель подписчик/публикатор для обеспечения информацией присутствия пользователей службы присутствия. Как только информация присутствия пользователя изменяется, компьютер этого пользователя уведомляет сервер присутствия об этих изменениях, а сервер присутствия в свою очередь уведомляет подписавшихся пользователей об изменениях. Подписавшийся пользователь может затем на основании информации присутствия предполагаемых участников разговора решить, инициировать разговор или нет. Например, если информация присутствия указывает на то, что публикующий пользователь в настоящее время находится в состоянии телефонной конференцсвязи, то подписавшийся пользователь может принять решение отправить мгновенное сообщение или выполнить телефонный вызов публикующему пользователю. Если подписавшемуся пользователю все же требуется позвонить и поговорить с публикующим пользователем, подписавшемуся пользователю нужно просмотреть информацию присутствия публикующего пользователя, для того чтобы узнать, когда можно сделать вызов. Когда подписавшийся пользователь заметит, что информация присутствия публикующего пользователя указывает на то, что телефонная конференция завершена, он может выполнить телефонный звонок. RFC 2778 является спецификацией, относящейся к информации присутствия в системах мгновенного обмена сообщениями. RFC 3856 является спецификацией, относящейся к информации присутствия, использующей SIP-протокол (Session Initiation Protocol - протокол инициации сеансов).
Для пользователей не является необычным регистрироваться в серверах сотрудничества, использующих одновременно множество устройств, таким образом, создавая множество конечных точек. Например, пользователь может одновременно быть зарегистрирован на сервере мгновенного обмена сообщениями, используя персональный цифровой помощник, беспроводной телефон и ноутбук. В данном примере, каждая из этих конечных точек содержит части информации, касающейся пользователя, такие как: печатает ли пользователь на своем устройстве, использует ли его для выполнения телефонного вызова и т.д., а также информацию о доступности пользователя для связи или других форм взаимодействия с другими в любой момент времени. В то время как современные службы присутствия могут подходить для предоставления пользовательской доступности для связи с определенной конечной точкой пользователя, эти службы присутствия не позволяют предоставить точную картину доступности пользователя для связи, когда пользователем осуществлен логический вход во множестве конечных точек.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Представлены способ и система для агрегации присутствия пользователя на сервере по множеству конечных точек. Система агрегации присутствия предоставляет сервер агрегации присутствия, что позволяет публиковать состояние присутствия публикатора на конечных точках публикатора. Состояние присутствия включает в себя доступность и активность. Активность может указывать на выполняемое действие и/или выбранную пользователем строку. Например, пользователь может опубликовать состояние, которое включает в себя доступность, которая показывает, что пользователь (например, публикатор) находится в режиме online. Когда какая-либо из конечных точек публикатора создает публикацию о состоянии присутствия на сервере агрегации присутствия, сервер агрегации присутствия генерирует агрегированное состояние публикатора (например, доступность публикатора, агрегированная по всем конечным точкам публикатора) и публикует сформированное объединенное состояние для каждой конечной точки публикатора. Сервер агрегации присутствия может также предоставлять агрегированные состояния публикатора подписчикам на информацию об агрегированном состоянии публикатора.
Согласно одному аспекту предложен способ в серверной системе для агрегации присутствия по нескольким конечным точкам. Способ содержит этапы, на которых предоставляют коллекцию публикаций состояний присутствия для публикатора, причем каждая публикация состояния присутствия имеет значение доступности и активность; при детектировании изменения в состоянии публикатора формируют агрегированное состояние публикатора из коллекции публикаций состояний присутствия; и публикуют агрегированное состояние публикатора.
Согласно другому аспекту предложен машиночитаемый носитель, содержащий инструкции для обеспечения в серверной системе агрегации присутствия по нескольким конечным точкам посредством способа, содержащего этапы, на которых предоставляют коллекцию публикаций состояния присутствия для публикатора, где каждая публикация состояния присутствия имеет значение доступности и активность; подписывают подписчиков на получение уведомлений об агрегированном состоянии публикатора; при детектировании изменения состояния публикатора формируют агрегированное состояние публикатора из коллекции публикаций состояний присутствия, отправляют уведомление об агрегированном состоянии публикатора на каждую конечную точку публикатора и отправляют уведомление об агрегированном состоянии каждому подписчику на агрегированное состояние публикатора.
Согласно еще одному аспекту предложена система для агрегации присутствия по нескольким конечным точкам, содержащая компонент, который принимает от конечных точек публикации состояний присутствия для публикаторов; и компонент, который отслеживает публикации состояний присутствия для детектирования изменения состояния публикатора и при детектировании изменения состояния публикатора формирует агрегированное состояние публикатора из коллекции публикаций состояний присутствия и публикует агрегированное состояние публикатора.
Данное краткое изложение сущности изобретения предоставлено для того, чтобы в упрощенной форме предложить на рассмотрение подборку концепций, которые описаны ниже в подробном описании. Данное краткое изложение сущности изобретения не предназначено ни для идентификации ключевых особенностей или существенных признаков заявленного изобретения, ни для использования в качестве средства для определения объема заявленного изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг.1 представлена блок-схема, которая иллюстрирует компоненты системы агрегации присутствия в соответствии с некоторыми вариантами осуществления изобретения.
На Фиг.2 представлена схема структуры данных, которая иллюстрирует пример логической структуры данных системы агрегации присутствия в соответствии с некоторыми вариантами осуществления изобретения.
На Фиг.3 представлена блок-схема, которая иллюстрирует обработку системы агрегации присутствия в соответствии с некоторыми вариантами осуществления изобретения.
На Фиг.4 представлена блок-схема, которая иллюстрирует обработку модуля агрегации при определении агрегированного состояния машины в соответствии с некоторыми вариантами осуществления изобретения.
На Фиг.5 представлена блок-схема, которая иллюстрирует обработку модуля агрегации при определении агрегированной доступности в соответствии с некоторыми вариантами осуществления изобретения.
На Фиг.6 представлена блок-схема, которая иллюстрирует обработку модуля агрегации при определении текущей активности в соответствии с некоторыми вариантами осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Предоставлены способ и система для агрегации присутствия пользователя на сервере по нескольким конечным точкам. В некоторых вариантах осуществления система агрегации присутствия обеспечивает сервер агрегации присутствия, который позволяет публиковать состояния присутствия публикатора из любой из нескольких конечных точек публикатора. Состояние присутствия включает значение доступности и активность. Активность может определять символ активности и/или строку, задаваемую пользователем. Например, пользователь может опубликовать состояние, которое включает в себя значение доступности, которое показывает, что пользователь (например, публикатор) находится в состоянии online. Другой пример, машина может установить, что она активна, посредством публикования состояния, которое включает в себя значение доступности, показывающее, что машина находится в состоянии online. Когда какая-либо из публикующих конечных точек публикует состояние присутствия на сервере агрегации присутствия, сервер агрегации присутствия генерирует состояние агрегированного присутствия (также взаимозаменяемо ссылается здесь и на «агрегированное состояние») публикатора (то есть доступность публикатора, объединенная по всем конечным точкам публикатора), и публикует сформированное агрегированное состояние для каждой конечной точки публикатора. Сервер агрегации присутствия может также предоставлять агрегированное состояние публикатора подписчикам на информацию о его агрегированном состоянии. В некоторых вариантах осуществления сервер агрегации присутствия может генерировать агрегированное состояние публикатора, когда срок публикации состояния присутствия истечет. Например, срок публикации состояния присутствия может истечь, когда конечная точка перейдет в состояние offline. В некоторых вариантах осуществления сервер агрегации присутствия может генерировать агрегированное состояние публикатора на основании определенных триггеров. Например, конечная точка может публиковать состояние присутствия, которое указывает на то, что публикатор собирается быть занят в 14.00. В данном случае сервер агрегации присутствия может сгенерировать агрегированное состояние для публикатора в указанное время.
Публикация состояния присутствия ориентирована на публикатора. Посредством концентрации на публикаторе система агрегации присутствия обеспечивает «ориентированную на пользователя» модель присутствия, в которой публикатор способен определить свое присутствие для выбранного режима связи. Ориентированная на пользователя модель присутствия упрощает процесс взаимодействия посредством разрешения пользователю думать в контексте «Я хочу поговорить с этим человеком», а не «Мне надо позвонить этому человеку на мобильный телефон». Например, публикатор может определить, что связь посредством телефона или личная встреча в офисе публикатора являются более удобными для публикатора, чем мгновенная отправка сообщений. Пользователь, получающий агрегированное состояние публикатора, может использовать эту информацию для того, чтобы принять решение о том, как самым лучшим образом связаться с публикатором. Если агрегированное состояние публикатора указывает на то, что пользователь в настоящий момент отсутствует, пользователь может отправить мгновенное сообщение, но не будет расстроен, если не получит ответа. Таким же образом система агрегации присутствия позволяет публикатору более точно показывать свою доступность для связи по всем конечным точкам публикатора, а пользователям, подписанным на информацию об агрегированном состоянии публикатора, получать наилучший показатель доступности и желания публикатора для осуществления связи.
На протяжении всего описания следующие термины будут в большинстве случаев иметь следующие значения:
Термин «активность» относится к описанию того, что пользователь делает в настоящий момент времени. Например, приложение о ведении календарного плана может публиковать состояния типа календаря, которые содержат информацию о событиях типа «на встрече».
Термин «агрегированная доступность» относится к доступности, связанной с пользователем (например, публикатором) во всех конечных точках пользователя.
Термин «агрегированное присутствие» относится к объединенному присутствию пользователя во всех пользовательских конечных точках. Агрегированное присутствие может включать информацию, выходящую за рамки состояний агрегированного присутствия. Например, агрегированное состояние может также включать время, в которое машина находилась в режиме ожидания, указание на местонахождение и т.д.
Термин «доступность» относится к желанию и возможности пользователя взаимодействовать. В этой связи доступность пользователя является представлением того, насколько «доступным» является пользователь и/или можно его прерывать или нет. Доступность обозначается численными значениями. Чем больше число, тем менее доступен/достижим пользователь.
Термин «вызываемый» или «публикатор» относится к пользователю, который является целью коммуникации, основанной на присутствии (взаимодействие в режиме реального времени). Вызываемый или публикатор является пользователем, который публикует информацию присутствия.
Термин «вызывающий» или «подписчик» относится к пользователю, который просматривает опубликованную информацию об агрегированной доступности. Вызывающий или подписчик являются пользователями, которые инициируют диалог, основанный на присутствии вызываемого или публикатора.
Термин «конечная точка» относится к единичному сеансу подключения пользователя. Конечные точки обычно являются синонимичными с устройствами.
Термин «присутствие» относится к информации, которая полезна для определения пользовательской доступности.
Термин «состояние» относится к блокам информации, который представляет факторы, которые влияют на желание и доступность человека для коммуникации.
В некоторых вариантах осуществления сервер агрегации присутствия предоставляет контейнеры для публикации информации присутствия. Сервер агрегации состояния предоставляет каждому публикатору контейнер «статуса», и только у публикатора есть права на просмотр содержимого его или ее контейнера статуса. Каждый контейнер статуса содержит совокупность публикаций о состояниях присутствия с нулем, единицей и более для соответствующего публикатора. Сервер агрегации присутствия отслеживает контейнеры статуса на предмет изменений в состоянии публикатора (например, публикация состояния присутствия, которая изменила состояние публикатора). При обнаружении изменений в состоянии публикатора сервер агрегации присутствия генерирует агрегированное состояние (то есть агрегированную доступность и/или текущую активность) публикатора и публикует показатель агрегированного состояния в контейнере состояния публикатора, таким образом, уведомляя каждую из конечных точек публикатора об агрегированном состоянии публикатора. Сервер агрегации присутствия может также определять вычислительное устройство публикатора (здесь также обозначается как «машина»), которое является наиболее активным, и публикует эту информацию в контейнере состояния публикатора, таким образом, уведомляя каждую из конечных точек публикатора о наиболее активной машине публикатора. Каждая из конечных точек публикатора может затем использовать эту информацию для того, чтобы, к примеру, определить, принимать ли автоматически запрос на коммуникацию или нет. Вычислительное устройство публикатора является устройством, используемым публикатором для создания конечной точки.
Сервер агрегации присутствия позволяет каждому публикатору определять совокупность одного или более контейнеров для задания списка контроля доступа (ACL - access control list) для каждого контейнера и для задания публикаций, которые должны быть включены в каждый контейнер. ACL определяет элементы, также рассматриваемые как «члены», которым разрешено подписываться на получение публикаций, созданных для каждого контейнера. Например, публикатор может определить членов контейнера посредством задания типов членства индивидуальных субъектов (например, Джон Смит), группы субъектов (например. Маркетинговая Группа по Проекту А), субъектов с общими характеристиками (например, из домена acme.corn) и т.д. Сервер агрегации присутствия позволяет субъектам подписываться на получение публикаций публикатора, включая агрегированное состояние подписчика и другую опубликованную информацию присутствия. Если подписывающийся субъект является членом контейнера, как определено в ACL контейнера, то сервер агрегации присутствия добавляет этого субъекта в качестве подписчика этого контейнера. Сервер агрегации присутствия затем уведомляет подписчиков контейнера о публикациях, созданных в контейнере. Публикация может содержать информацию об агрегированном состоянии публикатора, а также другую информацию присутствия. Например, когда сервер агрегации присутствия генерирует агрегированное состояние публикатора, сервер агрегации присутствия может опубликовать указание на агрегированное состояние в каждом из контейнеров публикатора, таким образом, уведомляя подписавшихся об агрегированном состоянии публикатора. Сервер агрегации присутствия может разрешать публикатору публиковать информацию присутствия непосредственно в контейнеры публикатора. Например, публикатор может определить контейнер, который будет сделан доступным для подписавшихся, которые являются коллегами, и может определить другой контейнер, который будет доступным для всех других подписчиков. В данном примере публикатор может захотеть опубликовать более подробную информацию присутствия в контейнере, который будет доступен для коллег. Например, дополнительно к агрегированному состоянию публикатор может также захотеть проинформировать коллег о том, что он находится «на встрече с Джоном», в то же время не предоставляя эту дополнительную информацию другим.
В некоторых вариантах осуществления публикация состояния присутствия может быть следующих типов: «пользователь», «машина», «телефон», «календарь», «конференция» или «общее», как показано в Таблице 1 ниже.
Таблица 1 | |
Тип состояния | Описание |
Пользователь | Состояние присутствия, которое публикатор может установить самостоятельно |
Машина | Состояние конечной машины (конечное устройство) |
Телефон | Состояние телефона публикатора |
Календарь | События в расписании публикатора (например, календарь Outlook) |
Конференция | Активируется, когда публикатор находится в разговоре с несколькими участниками или если публикатор присутствует на совместном заседании |
Общее | Все другие состояния |
Состояние пользователя предоставляется вручную или определяется публикатором и, по существу, обеспечивает показатель намерений публикатора. Например, клиентское приложение системы агрегации присутствия, выполняемое на машине публикатора и которое публикатор, возможно, использовал для создания конечной точки, может обеспечивать пользовательский интерфейс, посредством которого публикатор может получить доступ к списку пользовательских состояний, таких как перечисленные в Таблице 2 ниже.
Таблица 2 | ||
Состояние пользователя | Значение доступности | Описание |
В сети | 3500 | Публикатор доступен |
Занят | 6500 | Публикатор занят |
Не беспокоить | 9500 | Публикатора не нужно беспокоить |
Скоро буду | 12500 | Публикатор в настоящий момент не доступен |
Нет на месте | 15500 | Публикатор не на рабочем месте |
Отключен | 18500 | Публикатор хочет быть не в сети |
Как показано примерами пользовательских состояний в Таблице 2, публикатор может показывать свое намерение общаться посредством «В сети», «Занят», «Не беспокоить», «Скоро буду», «Отошел» и «Отключен». Каждое пользовательское состояние характеризуется соответствующим значением доступности, числом, которое представляет доступность подписчика, показываемую с помощью состояния пользователя, от более доступного к менее доступному, где большее значение доступности соответствует меньшему состоянию доступности. Например, среди шести состояний пользователя, перечисленных в Таблице 2, состояние «В сети» является наиболее доступным пользовательским состоянием, а «Отключен» является наименее доступным состоянием. Публикатор может определить пользовательское состояние, с помощью выбора одного из пользовательских состояний из отображаемого списка, клиентское приложение определяет значение доступности, которое соответствует выбранному состоянию пользователя и публикует значение доступности в качестве состояния пользователя публикатора в контейнере состояния публикатора на сервере агрегации присутствия. Например, если публикатор вручную определил пользовательское состояние «В сети», указанное состояние будет опубликовано в контейнере состояния публикатора как значение доступности состояния пользователя, равное 3500 (например, состояние пользователя; avail-3500). Когда состояние пользователя опубликовано, сервер агрегации присутствия помечает публикацию временем публикации.
Состояние машины предоставляет указание на то, доступен ли публикатор за машиной. В некоторых вариантах осуществления каждая конечная точка публикует состояние машины. Например, клиентское приложение может проводить отслеживание машины публикатора на предмет событий, таких как активность или неактивность клавиатуры, активность или неактивность мыши или курсора, активность экранной заставки или остановка машины и других событий, которые указывают на использование машины. Когда такие события обнаруживаются, клиентское приложение определяет значение доступности, которое соответствует состоянию машины и публикует значение доступности как состояние машины публикатора в контейнере состояния публикатора на сервере агрегации присутствия. Список примеров состояний машины, соответствующие значения доступности и дополнительные обозначения активности представлены в Таблице 3 ниже.
Таблица 3 | |||
Состояние машины | Значение доступности | Обозначение активности | Описание |
Активно | 3500 | NULL | Публикатор активно использует устройство и доступен |
Неактивно | 3750 | Inactive | Публикатор не использовал устройство, но все еще предполагается, что он доступен |
Неизвестно | 3750 | Inactive | Устройство не может определить, доступен ли публикатор |
Нет на месте | 15500 | NULL | Публикатор, вероятно, не находится перед устройством и недоступен |
Отключено | 18500 | NULL | Публикатор не подключен и определенно недоступен |
Как показано в Таблице 3, конечная точка может указывать на состояния машины, такие как «Активно», «Неактивно», «Неизвестно», «Нет на месте» и «Отключено». Аналогично состояниям пользователя, перечисленным в Таблице 2, состояния машины, перечисленные в Таблице 3, ранжированы в соответствии с их индикаторами доступности от более доступного к менее доступному, при этом значение большей доступности отвечает менее доступному состоянию. Более того, из Таблиц 2 и 3 видно, что состояние машины «Нет на месте» указывает на состояние с меньшей доступностью, чем состояние пользователя «Не беспокоить». Обозначение активности, если присутствует, представляет собой текстовую переменную, которая представляет определенное состояние машины. Обозначение активности обычно предоставляется публикатором (например, клиентское приложение, которое публикует состояние машины). Например, клиентское приложение может определить, что оно в настоящее время используется, и из этого определить состояние машины «Активно». В этом примере клиентское приложение может опубликовать состояние машины в контейнере состояния публикатора на сервере агрегации присутствия как состояние машины со значением доступности 3500 (например, состояние машины; avail=3500; обозначение активности = NULL). В другом примере клиентское приложение может отслеживать активность аппаратного обеспечения для определения состояния машины. Когда состояние машины публикуется, сервер агрегации присутствия помечает публикацию временем публикации.
Состояние телефона указывает на состояние телефона публикатора. Например, клиентское приложение может определить, что пользователь в настоящее время выполняет голосовой вызов через сеть Internet (VoIP) и публикует состояние телефона. Список примеров значений доступности состояний телефона, соответствующих дополнительных обозначений активности и пользовательских переменных представлен в Таблице 4 ниже.
Таблица 4 | |||
Значение доступности | Обозначение активности | Пользовательская переменная | Описание |
6500 | Разговор | Разговор один на один | Пользователь разговаривает с одним человеком |
6750 | Конференц связь | Многосторонняя конференция | Пользователь разговаривает с более чем одним человеком |
Аналогично пользовательским состояниям, перечисленным в Таблице 2, и состояниям машины, перечисленным в Таблице 3, состояния телефона, перечисленные в Таблице 4, ранжированы в соответствии с их показателями доступности от более доступного к менее доступному, при этом большее значение доступности отвечает состоянию с меньшей доступностью. Обозначения доступности, если присутствуют, представляют собой текстовые переменные, которые описывают состояние отдельного телефона. Пользовательские переменные, если присутствуют, представляют собой текстовые переменные, которые более подробно описывают отдельные состояния телефона. Например, пользовательские переменные могут описывать состояние телефона на специфичном языке, таком как японский. Обозначения активности и пользовательские переменные обычно предоставляются публикатором (например, клиентское приложение, которое публикует состояние телефона). Например, клиентское приложение может определить, что публикатор в настоящее время проводит телефонный разговор с одним человеком. В этом примере клиентское приложение может опубликовать состояние телефона в контейнере состояния публикатора на сервере агрегации присутствия как значение доступности состояния телефона, равной 6500 (например, состояние телефона; avail=6500; обозначение активности = «Разговор»; пользовательская переменная = «разговор один на один»). Когда состояние телефона публикуется, сервер агрегации присутствия помечает публикацию временем публикации.
Календарное состояние указывает на состояние календаря публикатора. Например, клиентское приложение может взаимодействовать с календарным приложением для того, чтобы определить, что пользователь свободен, на встрече, вне офиса и т.д., и опубликовать эту информацию в качестве календарного состояния. Список примеров значений доступности календарных состояний, соответствующие дополнительные обозначения активности и пользовательские переменные представлены в Таблице 5 ниже.
Таблица 5 | |||
Значение доступности | Обозначение активности | Пользовательская переменная | Описание |
3500 | NULL | Свободен | У публикатора нет встречи |
3500 | NULL | Под вопросом | Публикатор на встрече, которая не подтверждена |
6500 | На встрече | На встрече | Публикатор принял информацию о встрече |
3500 | Нет на работе | Нет на работе | Публикатор не в офисе |
Аналогично состояниям пользователей, перечисленным в Таблице 2, состояниям машины, перечисленным в Таблице 3, и состояниям телефонов, перечисленным в Таблице 4, календарные состояния в Таблице 5 ранжированы в соответствии с их показателями доступности от более доступного к менее доступному, где большее значение доступности отвечает состоянию с меньшей доступностью. Обозначения активности, если присутствуют, представляют собой текстовые переменные, которые представляют определенные календарные состояния. Пользовательская переменная, если присутствует, является текстовой переменной, которая более подробно описывает определенное календарное состояние. Например, пользовательская переменная может предоставлять дополнительные подробности касательно определенного календарного состояния, которое не снабжено обозначением активности. Обозначение активности и пользовательская переменная обычно предоставляются публикатором (например, клиентское приложение, которое публикует календарное состояние). Например, клиентское приложение может определить, что у публикатора нет встреч. В данном примере клиентское приложение может опубликовать календарное состояние в контейнере состояния публикатора на сервере агрегации присутствия в качестве значения доступности календарного состояния 3500 (например, календарное состояние; avail=3500; обозначение активности = «NULL»; пользовательская переменная = «Свободен»). Когда календарное состояние опубликовано, сервер агрегации присутствия помечает публикацию временем публикации.
Состояние конференции указывает на состояние телефонной конференции публикатора. Например, клиентское приложение может обнаружить, что публикатор в настоящее время участвует в конференции и опубликует состояние конференции. Список примеров значений доступности состояния конференции, соответствующих дополнительных обозначений активности и пользовательских переменных представлен в Таблице 6 ниже.
Таблица 6 | |||
Значение доступности | Обозначение активности | Пользовательская переменная | Описание |
9500 | NULL | Делает презентацию | Участник в полноэкранном режиме |
6900 | Только срочное прерывание | Беспокоить только по срочным вопросам | Публикатор присутствует («Не беспокоить»), но определенные подписчики должны видеть доступность «Занят» |
6750 | Многосторонняя конференция | Конференц-связь | Публикатор разговаривает с более чем одним человеком в режиме, отличном от мгновенного обмена сообщениями |
Аналогично состояниям пользователей, перечисленным в Таблице 2, состояниям машины, перечисленным в Таблице 3, и состояниям телефонов, перечисленным в Таблице 4, календарным состояниям, перечисленным в Таблице 5, состояния конференции, перечисленные в Таблице 6, ранжированы в соответствии с их показателями доступности от более доступного к менее доступному, где большее значение доступности отвечает состоянию меньшей доступности. Обозначение доступности, если присутствует, представляет собой текстовую переменную, которая представляет определенное состояние конференции. Пользовательская переменная, если присутствует, является текстовой переменной, которая более подробно описывает определенное состояние конференции. Например, пользовательская переменная может описывать состояние конференции на специфичном языке, таком как японский, или предоставлять дополнительные подробности касательно определенного состояния конференции, которые не обеспечиваются обозначением активности. Обозначение активности и пользовательская переменная обычно предоставляются публикатором (например, клиентское приложение, которое публикует состояние о конференции). В качестве примера клиентское приложение может обнаружить, что конференц-приложение, такое как Microsoft Powerpoint, выполняемое на машине публикатора, находится в полноэкранном режиме. Из этого клиентское приложение может заключить, что публикатор в настоящее время делает презентацию на конференции. В данном примере клиентское приложение может публиковать состояние конференции в контейнере статуса публикатора на сервере агрегации присутствия в качестве значения доступности состояния конференции 9500 (например, состояние конференции; avail=9500; обозначение активности = «NULL»; пользовательская переменная = «делает презентацию»). Когда состояние конференции опубликовано, сервер агрегации присутствия отмечает время публикации на публикации.
Общие состояния включают события, которые не публикуются как состояния пользователя, состояние устройства, состояние телефона, календарное состояние или состояние конференции. Например, клиентское приложение, выполняемое на машине пользователя, может обнаружить событие, которое не является состоянием пользователя, состоянием устройства, состоянием телефона, календарным состоянием или состоянием конференции. В этом случае клиентское приложение может опубликовать информацию о событии в качестве общего состояния в контейнере состояния публикатора на сервере агрегации присутствия. В дополнение к указанию на то, что публикация является публикацией общего состояния и предоставления значения доступности, клиентское приложение может также предоставить обозначение активности и/или пользовательскую переменную, которая представляет и/или дополнительно описывает опубликованное общее состояние. Когда общее состояние публикуется, сервер агрегации присутствия помечает публикацию временем публикации.
В некоторых вариантах осуществления клиентское приложение может обеспечивать интерфейс прикладного программирования (API - Application Programming Interface), который позволяет публиковать события, обнаруженные другими приложениями. Например, приложения, такие как календарное приложение, телефонное приложение (например, VoIP приложение), другие приложения для конференций и т.д., могут обнаружить события и запросить клиентское приложен