RU2436246C2 - Агрегация присутствия пользователей на сервере - Google Patents
Агрегация присутствия пользователей на сервере Download PDFInfo
- Publication number
- RU2436246C2 RU2436246C2 RU2008146059/08A RU2008146059A RU2436246C2 RU 2436246 C2 RU2436246 C2 RU 2436246C2 RU 2008146059/08 A RU2008146059/08 A RU 2008146059/08A RU 2008146059 A RU2008146059 A RU 2008146059A RU 2436246 C2 RU2436246 C2 RU 2436246C2
- Authority
- RU
- Russia
- Prior art keywords
- state
- publisher
- publication
- user
- states
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/043—Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Debugging And Monitoring (AREA)
Abstract
Изобретение относится к средствам связи пользователей посредством компьютерных устройств в режиме реального времени. Техническим результатом является расширение функциональных возможностей для обеспечения пользователей данными о показателях доступности пользователей в сети связи. Система агрегации присутствия предоставляет сервер агрегации присутствия, который позволяет публикацию состояния присутствия публикатора от нескольких конечных точек. Состояние присутствия включает в себя значение доступности и активность. Активность может включать в себя символ активности и/или пользовательскую строку. Когда любая из конечных точек публикатора совершает публикацию состояния присутствия на сервере агрегации присутствия, сервер агрегации присутствия формирует агрегированное состояние публикатора (то есть доступность публикатора, агрегированную по всем конечным точкам публикатора) и публикует сформированное агрегированное состояние для каждой конечной точки публикатора. Сервер агрегации присутствия может также предоставлять агрегированное состояние публикатора подписчикам на информацию об агрегированном состоянии публикатора. 3 н. и 15 з.п. ф-лы, 6 ил.
Description
УРОВЕНЬ ТЕХНИКИ
Пользователям компьютерных устройств (например, ноутбуков, сотовых телефонов и персональных цифровых помощников) часто требуется связь в режиме реального времени. Обычная форма связи в режиме реального времени обеспечивается посредством услуг мгновенного обмена сообщениями. Услуга мгновенного обмена сообщениями позволяет участникам на конечных точках отправлять сообщения и принимать их за секунду или две от других участников разговора. Принимающие участники разговора могут затем таким же способом отправлять ответные сообщения другим участникам. Для эффективности при разговоре в режиме реального времени предполагается, что участники осведомлены о просмотре и ответе на принятые сообщения достаточно быстро. Такой быстрый отклик контрастирует с традиционными системами электронной почты, в которых получатель электронных сообщений отвечает на письма тогда, когда ему удобно.
Когда инициирующий участник хочет начать разговор в режиме реального времени, ему нужно знать, доступны ли предполагаемые участники для ответа на сообщения в режиме реального времени. Если нет, то связь посредством традиционной электронной почты, голосовой почты или некоторых других механизмов может быть более подходящей. Например, если компьютеры предполагаемых участников в настоящее время выключены, то разговор в режиме реального времени невозможен. Более того, если их компьютеры в настоящее время включены, но предполагаемые участники находятся далеко от своих компьютеров, разговор в режиме реального времени также невозможен. Инициирующий пользователь хотел бы знать доступность предполагаемых участников, чтобы принять решение о подходящей форме связи.
Службы присутствия предоставляют такую информацию о присутствии. Состояние доступности такого объекта, как компьютер или пользователь, ассоциированный с этим компьютером, называется «информация присутствия». Информация присутствия определяет текущее «состояние присутствия» пользователя. Пользователи делают свою информацию присутствия доступной для службы присутствия, чтобы другие пользователи могли решить, как лучше связываться с ним. Например, информация присутствия может показывать, подключен ли пользователь («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 приложение), другие приложения для конференций и т.д., могут обнаружить события и запросить клиентское приложение опубликовать информацию об обнаруженных событиях в контейнере состояния публикатора на сервере агрегации присутствия.
В некоторых вариантах осуществления приложения или устройства третьих сторон могут непосредственно публиковать события в контейнере состояния публикатора на сервере агрегации присутствия. Например, устройство учрежденческой АТС (УАТС) может быть информировано о сервере агрегации присутствия и может иметь необходимые привилегии (например, учетные данные), чтобы публиковать информацию присутствия для публикатора в контейнере состояния публикатора на сервере агрегации присутствия. Когда УАТС-устройство обнаруживает событие, такое как то, что публикатор в настоящее время занят в телефонном разговоре, УАТС-устройство может опубликовать информацию об обнаруженном событии посредством определения соответствующего значения доступности, которое описывает событие. УАТС-устройство может затем опубликовать значение доступности в качестве общего состояния в контейнере состояния публикатора на сервере агрегации присутствия. УАТС-устройство может также предоставить обозначения активности и/или пользовательскую переменную, которая представляет и/или дополнительно описывает опубликованное общее состояние.
В некоторых вариантах осуществления сервер агрегации присутствия определяет агрегированную доступность публикатора с помощью принятия в расчет состояния присутствия публикатора по всем конечным точкам и публикует определенную агрегированную доступность. Сервер агрегации присутствия проводит отслеживание контейнеров состояния на наличие изменений в состоянии публикатора. При обнаружении изменений в состоянии публикатора (например, публикация состояния присутствия в контейнере состояния публикатора) сервер агрегации присутствия генерирует агрегированную доступность для публикатора как наименее доступное состояние по всем конечным точкам публикатора. Сервер агрегации присутствия выясняет наиболее доступное состояние машины из всех опубликованных состояний машины и использует только наиболее доступные состояния машины для выполнения агрегации. Для определения агрегированной доступности публикатора сервер агрегации присутствия проверяет контейнер состояния публикатора на наличие публикаций пользовательских состояний. В том случае, когда публикации пользовательского состояния есть, сервер агрегации присутствия выделяет время публикации пользовательских состояний и сортирует другие публикации состояния присутствия (установленные публикации состояний наиболее доступных машин, публикации состояний телефонов, публикации календарных состояний, публикации состояний конференций и публикации общих состояний) в контейнере состояний по времени публикации и исключает публикации состояний присутствия старше, чем публикации пользовательских состояний. Из оставшихся публикаций состояний присутствия сервер агрегации присутствия выделяет значения доступности из наименее доступных состояний и назначает это значение доступности в качестве агрегированной доступности публикатора. В случае, когда публикация пользовательских состояний не присутствует в контейнере состояний, сервер агрегации присутствия выделяет значение доступности из наименее доступного состояния из публикаций состояний наиболее доступных машин, публикаций состояний телефонов, публикаций календарных состояний, публикаций состояний конференций и публикаций общих состояний и назначает это значение доступности в качестве агрегированной доступности публикатора. Сервер агрегации присутствия затем публикует сгенерированную агрегированную доступность (например, значение, представляющее агрегированную доступность, указатель-иконка, представляющий агрегированную доступность, переменная по умолчанию, представляющая агрегированную доступность и т.д.) в контейнере состояния публикатора, что приводит к тому, что каждая из конечных точек публикатора уведомляется об агрегированной доступности публикатора. Агрегированная доступность может затем отображаться на каждой конечной точке. Сервер агрегации присутствия может также публиковать сгенерированную агрегированную доступность в одном или более других контейнерах публикатора. Это приводит к отправке агрегированной доступности публикатора подписчикам, которые подписались на контейнеры, таким образом, уведомляя подписавшихся о агрегированной доступности публикатора.
Таблица 7, представленная ниже, содержит преобразование значений доступности в соответствующие агрегированные доступности, переменные по умолчанию и описания.
Таблица 7 | |||
Агрегированная доступность | Переменная по умолчанию | Диапазон значения доступности | Описание |
В сети | В сети | 3000-3999 | Публикатор доступен |
Занят | Занят | 6000-6999 | Публикатор доступен, но при этом занят в другом задании |
Не беспокоить | Не беспокоить | 9000-9999 | Публикатор доступен, но не хочет, чтобы его прерывали |
Временно нет на месте | Временно нет на месте | 12000-12999 | Публикатор, вероятно, временно недоступен |
Нет на месте | Нет на месте | 15000-15999 | Публикатор, вероятно, недоступен |
Не в сети | Не в сети | 18000-28999 | Публикатор недоступен |
Как показано в Таблице 7, диапазон значений доступности преобразуется в каждую из агрегированных доступностей. Например, значения доступности в диапазоне 3000-3999 преобразуются в агрегированную доступность «В сети». Преобразование диапазона значений доступности в единичную агрегированную доступность позволяет ранжировать значения доступность внутри класса доступностей. Например, состояние телефона «многосторонняя конференция» в Таблице 4, представленной выше, и календарное состояние «на встрече» из Таблицы 5, представленной выше, оба будут преобразованы в одну и ту же агрегированную доступность «Занят». Несмотря на то что оба этих состояния приводят к той же самой агрегированной доступности, состояние телефона «многосторонняя конференция» ранжируется ниже (то есть менее доступен), чем календарное состояние «на встрече», из-за большего значения доступности (6750>6500). По существу, если агрегированная доступность публикатора выбирается из этих двух состояний, в качестве агрегированной доступности публикатора будет выбрано телефонное состояние «многосторонняя конференция».
В некоторых вариантах осуществления сервер агрегации присутствия определяет текущую активность, в которую вовлечен публикатор, и публикует эту информацию. Сервер агрегации присутствия может публиковать текущую активность как часть агрегированного состояния. Для определения текущей активности для публикатора сервер агрегации присутствия устанавливает наиболее доступное состояние машины из опубликованных состояний машины. Сервер агрегации присутствия затем проверяет контейнер состояния публикатора на публикацию пользовательского состояния. В случае, когда есть публикации пользовательского состояния, сервер агрегации присутствия выделяет время публикации пользовательского состояния и упорядочивает другие публикации состояния присутствия (установленные публикации состояния наиболее доступной машины, публикации состояния телефона, публикации календарного состояния, публикации состояния конференции и публикации общего состояния) в контейнере состояния по времени публикации и устраняет публикации состояния старше, чем публикация пользовательского состояния. Из оставшихся публикаций состояний присутствия сервер агрегации присутствия удаляет публикации состояния присутствия, которые не имеют соответствующих обозначений активности или пользовательских переменных (то есть публикации состояния, которые не включают активности). Если публикаций состояния присутствия не осталось, сервер агрегации присутствия публикует показатель того, что текущая активность отсутствует. Если публикаций состояния присутствия остались, сервер агрегации присутствия выбирает активность из наименее доступных из оставшихся публикаций состояния присутствия в качестве текущей активности. Сервер агрегации присутствия затем публикует текущую активность публикатора в контейнере состояния публикатора. Сервер агрегации присутствия может также опубликовать текущую активность в одном или более других контейнерах публикатора. В этом случае там, где сервер агрегации присутствия публикует показатель того, что текущая активность отсутствует, конечная точка (например, приложение, исполняемое на конечной точке) может выбрать переменную по умолчанию, которая представляет агрегированную доступность в качестве текущей активности публикатора.
В некоторых вариантах осуществления публикация состояния присутствия может включать несколько активностей. Каждая активность, включенная в публикацию, может иметь соответствующий индикатор, который определяет условия, при которых определенная активность считается действительной. Например, публикация может указывать на то, что активность публикатора «Нет на работе», если значение доступности больше чем 15000, и что в обратном случае активность будет «В сети». В качестве другого примера, публикация может указывать на то, что активность публикатора «Нет на работе» между 10.00 и 14.00 и, что активность будет «Свободен» в остальное время в течение дня. Специалисты поймут то, что индикатор состояния для активности может быть определен другими способами. Например, индикатор состояния может включать комбинацию диапазона значений доступности и диапазон времен.
В некоторых вариантах осуществления сервер агрегации присутствия определяет агрегированное состояние машины для публикатора и публикует эту информацию. Сервер агрегации присутствия показывает состояния наиболее активных машин публикатора в качестве агрегированных состояний машины публикатора и публикует эту информацию в контейнере состояния публикатора. Сервер агрегации присутствия может также в качестве наиболее активной машины устанавливать машину, с которой было опубликовано наиболее активное состояние машины, и публиковать показатель наиболее активной машины в контейнере состояния публикатора. Каждая из конечных точек публикатора может использовать эту информацию во множестве точек сценариев присутствия, например для автоматического отклика на запрос, который был получен всеми конечными точками публикатора.
На Фиг.1 представлена блок-схема, иллюстрирующая компоненты системы агрегации присутствия, в соответствии с некоторыми вариантами осуществления. Система 102 агрегации присутствия связана с субъектными устройствами 104 посредством сети 106. Субъектные устройства соответствуют субъектам, которые могут быть публикаторами или подписчиками. Система агрегации присутствия включает в себя модуль 108 приема обновлений, модуль 110 обновления публикаций и модуль 112 добавления публикаций, модуль 114 приема запроса на подписку, модуль 116 добавления подписки, модуль 118 создания контейнера, хранилище 120 контейнеров, модуль 122 агрегации и модуль 124 истекших публикаций. Некоторые или все модули могут быть представлены на сервере агрегации присутствия или нескольких серверах агрегации присутствия. Хранилище контейнеров содержит контейнеры публикаторов (созданные модулем создания контейнера) и другие структуры данных, используемые системой агрегации присутствия. Обращение к модулю приема обновлений происходит, когда от публикатора приходит запрос на обновление публикаций. Модуль приема обновлений вызывает модуль обновления публикаций для обновления публикаций и модуль добавления публикаций для добавления новых публикаций в контейнер. Обращение к модулю приема запроса подписки происходит, когда от субъекта приходит запрос на подписку на контейнер публикатора. Модуль приема запроса подписки вызывает модуль добавления подписки для подписки субъекта на определенный контейнер или контейнеры. Модуль агрегации обрабатывает публикации о состояниях присутствия в контейнере состояния публикатора для формирования агрегированного состояния публикатора. Обращение системы агрегации присутствия к модулю истекших публикаций периодически происходит для очистки истекших публикаций (публикаций об истекших состояниях) в контейнерах в хранилище контейнеров. Хотя это не показано на Фиг.1, субъективные устройства включают компоненты системы агрегации присутствия для определения контейнеров и их ACL для отправки обновлений публикаций, для отправки запросов на подписку, для приема уведомлений об обновлениях публикаций и для приема публикаций от системы агрегации присутствия.
Сеть обычно представляет собой линии связи, которые служат для передачи электронного контента между прикрепленными устройствами. В некоторых вариантах осуществления сеть включает в себя Internet. Будет оценено, что сеть может включать в себя одну или более других типов сетей, таких как локальная сеть, глобальная сеть, коммутируемые соединения точка-точка, беспроводные сети и другие.
Вычислительные устройства, на которых может быть реализована система агрегации присутствия, может включать в себя центральный процессор, память, устройства ввода (например, клавиатура, устройства указания), устройства вывода (например, монитор) и устройства хранения (например, дисковые накопители). Память и устройства хранения являются компьютерно-читаемыми носителями, которые могут содержать инструкции для реализации системы агрегации присутствия. Кроме того, структуры данных и структуры сообщений могут храниться или передаваться через среду передачи данных, как сигнал по линии связи. Могут использоваться различные линии связи, такие как Internet, локальные сети, глобальные сети, коммутируемые соединения точка-точка, беспроводные сети и другие.
Варианты осуществления настоящей системы агрегации присутствия могут быть реализованы в различных операционных средах, которые включают персональные компьютеры, сервера, карманные устройства или ноутбуки, многопроцессорные системы, микропроцессорные системы, программируемую бытовую электронику, цифровые камеры, сетевые компьютеры, мини-компьютеры, универсальные вычислительные машины, распределенное компьютерное окружение, которое включает любые из вышеперечисленных систем или устройств и т.д. Пользовательские устройства могут быть сотовыми телефонами, карманными компьютерами, программируемой бытовой техникой, цифровыми камерами и т.д.
Система агрегации присутствия может быть описана в общем контексте компьютерно-исполняемых инструкций, таких как программные модули и компоненты, исполняемые одним или несколькими компьютерами или другими устройствами. В общем, программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и тому подобное, которые выполняют определенные задания или реализуют определенные типы абстрактных данных. Обычно функциональность программных модулей может быть в различных вариантах осуществления составной или распределенной по желанию.
На Фиг.2 представлена диаграмма структуры данных, иллюстрирующая пример логической структуры данных системы агрегации присутствия, в соответствии с некоторыми вариантами осуществления. Структура данных включает в себя таблицу 202 публикаторов, которая включает в себя вхождение для каждого публикатора. Каждое вхождение определяет публикатора и указывает на таблицу 204 контейнеров публикатора. Таблица контейнеров публикаторов содержит вхождения для каждого контейнера соответствующего публикатора. Каждое вхождение определяет контейнер (например, по имени) и содержит ACL, список подписчиков и список публикаций. ACL определяет субъектов, которым разрешено подписываться на соответствующий контейнер. Список подписчиков устанавливает подписчиков, которые подписаны на соответствующий контейнер. Список публикаций содержит вхождения для каждой публикации в контейнере. Когда сделана публикация в контейнере, система агрегации присутствия использует список подписчиков, чтобы определить подписчиков, которых нужно уведомить. Когда субъект подписывается на контейнер, система агрегации присутствия использует ACL для того, чтобы определить разрешить или запретить подписку. Специалисты поймут то, что это только один пример логической схемы структуры данных системы агрегации присутствия. Структура данных системы агрегации присутствия может быть привязана к требованиям по пространству и вычислениям системы агрегации присутствия. Например, список подписчиков может обеспечиваться в отдельной таблице как таблица подписчиков. Каждое вхождение в таблице может определять публикатора, подписчика и список публикаций (включая их версии). Система присутствия может использовать комбинации таблиц для определения того, какая версия публикации должна быть видима подписавшимся.
На Фиг.3 представлена блок-схема, иллюстрирующая обработку системы агрегации присутствия в соответствии с некоторыми вариантами осуществления. Система агрегации присутствия отслеживает контейнеры состояния на наличие изменений в состояниях публикаторов. При детектировании изменений в состоянии публикатора система, в блоке 302, определяет агрегированное состояние машины публикатора и публикует агрегированное состояние машины в контейнере состояния публикатора. В блоке 304 система определяет агрегированную доступность публикатора. В блоке 306 система определяет текущую активность публикатора. В блоке 308 система публикует агрегированную доступность и текущую активность в качестве агрегированного состояния публикатора в контейнере состояния публикатора и других контейнерах публикатора, которые были назначены подходящими для публикаций агрегированного состояния. Публикатор может объявить контейнеры, которые подходят для публикации агрегированного состояния.
Специалисты поймут, что для этого и других процессов и способов, раскрытых здесь, функции, выполняемые в процессах и способах, могут быть реализованы в различном порядке. Более того, подчеркнутые этапы являются только иллюстративными и некоторые из этапов могут быть опциональными, объединенными с меньшим количеством этапов или растянутыми с дополнительными этапами без занижения сущности изобретения.
На Фиг.4 представлена блок-схема, иллюстрирующая обработку модуля агрегации при определении агрегированного состояния машины, в соответствии с некоторыми вариантами осуществления изобретения. Модуль агрегации обрабатывает публикации о состоянии машины в контейнере состояния публикатора и уведомляет конечные точки публикатора об отдельных агрегированных состояниях машины для наиболее активной машины публикатора. В блоке 402 модуль агрегации выбирает состояние наиболее активной машины (то есть публикации о состоянии машины с самым низким значением доступности). В блоке 404 модуль агрегации проверяет возможность наличия нескольких наиболее активных состояний машин. Если существует более чем одно наиболее активное состояние машины, то в блоке 404 модуль агрегации выбирает в качестве наиболее активного состояния то, которое было позже опубликовано. В блоке 408 модуль агрегации возвращает состояние наиболее активной машины. В некоторых вариантах осуществления модуль агрегации определяет машину, которая опубликовала наиболее активное состояние и возвращает индикатор этой машины (то есть самой активной машины). Если два устройства (например, соответствующие конечным точкам на двух машинах) опубликовали одинаковое состояние машины, которое было определено как наиболее активное состояние машины, модуль агрегации устанавливает в качестве самой активной машины, машину, которая позже всех опубликовала самое активное состояние машины. Например, если машина А опубликовала состояние машины Активно в 13.00, а машина В опубликовала свое состояние машины Активно в 13.30, то модуль агрегации устанавливает Машину В как самую активную.
На Фиг.5 представлена блок-схема, иллюстрирующая обработку модуля агрегации при определении агрегированной доступности, в соответствии с некоторыми вариантами осуществления. В блоке 503 модуль агрегации определяет действительный набор состояний, из которых будет генерироваться агрегированная доступность. Действительный набор состояний может включать наиболее активные состояния машин и любые публикации о пользовательских состояниях, телефонных состояниях, календарных состояниях, состояниях конференции и общих состояниях в контейнере состояний подписчика. В блоке 504 модуль агрегации производит проверку для определения того, опубликовано ли пользовательское состояние или нет. Если модуль агрегации определяет, что публикация пользовательского состояния присутствует в контейнере состояния, то в блоке 506 модуль агрегации удаляет состояния старше пользовательского состояния из действительного набора состояний. Например, модуль агрегации определяет состояния в действительном наборе состояний, время публикации которых старше, чем время публикации пользовательского состояния, и удаляет эти старые состояния из действительного набора состояний. Если в блоке 504 модуль агрегации определяет, что пользовательские состояния старше опубликованного пользовательского состояния в блоке 506, модуль агрегации, в блоке 508, выбирает в качестве агрегированной доступности наименее доступное состояние (например, состояние с самым высоким значением доступности) из действительного набора состояний. В блоке 510 модуль агрегации возвращает агрегированную доступность.
На Фиг.6 представлена блок-схема, иллюстрирующая обработку модуля агрегации при определении текущей активности в соответствии с некоторыми вариантами осуществления. В блоке 602 модуль агрегации определяет действительный набор состояний, из которого необходимо определить текущую активность публикатора. Действительный набор состояний может включать публикации состояний наиболее активной машины и любых пользовательских состояний, состояний телефона, календарных состояний, состояний конференций и общих состояний в контейнере состояния подписчика. В блоке 604 модуль агрегации удаляет из действительного набора состояний состояния, которые не имеют соответствующего обозначения активности. Например, некоторые публикации могут не указывать обозначение активности. В блоке 606 модуль агрегации проводит проверку, чтобы определить является ли пустым действительный набор состояний. Если действительный набор состояний не пуст, то в блоке 608 модуль агрегации выбирает активность из наименее доступного состояния в текущей активности. В блоке 610 модуль агрегации возвращает текущую активность. В противном случае, если модуль агрегации определяет, что действительный набор состояний пуст (в блоке 606), то в блоке 612 модуль агрегации возвращает индикатор отсутствия текущей активности.
Из сказанного выше будет ясно, что специфичные варианты реализации системы агрегации присутствия были описаны здесь с целью иллюстрации, но что могут быть выполнены различные модификации без отклонения от сущности и объема изобретения. Например, специалисты поймут, что публикатор может публиковать информацию присутствия непосредственно в одном или в более контейнерах публикатора. В ответ на такие публикации система агрегации присутствия может уведомлять подписчиков, подписавшихся на эти контейнеры, что информация присутствия была опубликована публикатором. Другой пример, специалисты поймут, что публикация может иметь соответствующий тип срока годности, указывающий на условия, при которых публикации истекают. Например, тип истечения может указывать на то, что публикация истечет через какое-то время, после того как публикатор отключится от всех конечных устройств публикатора, когда публикатор больше не использует ни одно из устройств и т.д. Соответственно, хотя предмет обсуждения был описан на языке, характерном для структурных особенностей и/или методологических действий, необходимо понимать, что предмет обсуждения определен в прилагаемой формуле изобретения, не обязательно ограничивается характерными особенностями или актами, описанными выше. Наоборот, характерные особенности и действия, описанные выше, раскрыты в иллюстративной форме реализации формулы изобретения.
Claims (18)
1. Реализуемый в серверной системе способ агрегации присутствия по множеству конечных точек публикатора, содержащий этапы, на которых:
предоставляют коллекцию публикаций состояний присутствия для публикатора, причем каждая публикация состояния присутствия имеет значение доступности и активность, при этом публикации состояний присутствия включают в себя публикацию состояния пользователя и публикации других состояний, причем публикация состояния пользователя представляет доступность публикатора, а публикации других состояний представляют доступность, ассоциированную с конечными точками публикатора, при этом каждая публикация состояния присутствия имеет время публикации;
принимают в серверной системе из каждой из множества конечных точек указание публикации состояния присутствия публикатора; и
при обнаружении серверной системой изменения в состоянии публикатора
идентифицируют публикацию состояния пользователя с наиболее поздним временем публикации,
идентифицируют публикации других состояний с временем публикации после времени публикации идентифицированной публикации состояния пользователя,
идентифицируют из значения доступности идентифицированных публикаций других состояний наименее доступное состояние,
формируют агрегированное состояние публикатора, показывающее общую доступность публикатора, из коллекции публикаций состояний присутствия на основе идентифицированного наименее доступного состояния, и
публикуют агрегированное состояние публикатора.
предоставляют коллекцию публикаций состояний присутствия для публикатора, причем каждая публикация состояния присутствия имеет значение доступности и активность, при этом публикации состояний присутствия включают в себя публикацию состояния пользователя и публикации других состояний, причем публикация состояния пользователя представляет доступность публикатора, а публикации других состояний представляют доступность, ассоциированную с конечными точками публикатора, при этом каждая публикация состояния присутствия имеет время публикации;
принимают в серверной системе из каждой из множества конечных точек указание публикации состояния присутствия публикатора; и
при обнаружении серверной системой изменения в состоянии публикатора
идентифицируют публикацию состояния пользователя с наиболее поздним временем публикации,
идентифицируют публикации других состояний с временем публикации после времени публикации идентифицированной публикации состояния пользователя,
идентифицируют из значения доступности идентифицированных публикаций других состояний наименее доступное состояние,
формируют агрегированное состояние публикатора, показывающее общую доступность публикатора, из коллекции публикаций состояний присутствия на основе идентифицированного наименее доступного состояния, и
публикуют агрегированное состояние публикатора.
2. Способ по п.1, в котором публикация другого состояния присутствия является публикацией состояния машины.
3. Способ по п.1, в котором публикация другого состояния присутствия является публикацией состояния телефона.
4. Способ по п.1, в котором публикация другого состояния присутствия является публикацией состояния календаря.
5. Способ по п.1, в котором публикация другого состояния присутствия является публикацией состояния конференции.
6. Способ по п.1, в котором агрегированное состояние публикуется для каждой из конечных точек публикатора.
7. Способ по п.1, в котором агрегированное состояние публикуется для каждого подписчика, подписавшегося на агрегированную доступность публикатора.
8. Способ по п.1, дополнительно содержащий этапы, на которых при обнаружении изменения в состоянии публикатора:
определяют агрегированное состояние машины и
публикуют агрегированное состояние машины.
определяют агрегированное состояние машины и
публикуют агрегированное состояние машины.
9. Способ по п.8, в котором агрегированное состояние машины публикуется для каждой из конечных точек публикатора.
10. Способ по п.8, дополнительно содержащий этапы, на которых:
определяют наиболее активную машину публикатора и
публикуют указание наиболее активной машины публикатора.
определяют наиболее активную машину публикатора и
публикуют указание наиболее активной машины публикатора.
11. Способ по п.10, в котором указание наиболее активной машины публикатора публикуется для каждой из конечных точек публикатора.
12. Способ по п.1, дополнительно содержащий этапы, на которых при обнаружении изменения в состоянии публикатора:
определяют текущую активность публикатора из коллекции публикаций состояний присутствия и
публикуют текущую активность публикатора.
определяют текущую активность публикатора из коллекции публикаций состояний присутствия и
публикуют текущую активность публикатора.
13. Способ по п.12, в котором текущая активность является строкой по умолчанию, которая представляет агрегированное состояние публикатора.
14. Способ по п.12, в котором текущая активность является пользовательской строкой, включенной в публикацию состояния присутствия.
15. Машиночитаемый носитель, содержащий инструкции для обеспечения в серверной системе агрегации присутствия по множеству конечных точек посредством способа, содержащего этапы, на которых:
предоставляют коллекцию публикаций состояний присутствия для публикатора, причем каждая публикация состояния присутствия имеет значение доступности и активность, при этом публикации состояний присутствия включают в себя публикацию состояния пользователя и публикации других состояний, причем каждая публикация состояния присутствия имеет время публикации;
подписывают подписчиков на получение уведомлений об агрегированном состоянии публикатора;
принимают от каждой из множества конечных точек указание публикации состояния присутствия публикатора; и
при обнаружении изменения в публикации состояния присутствия публикатора
формируют агрегированное состояние публикатора, показывающее общую доступность публикатора, из коллекции публикаций состояний присутствия на основе значений доступности публикаций других состояний, принятых после времени публикации, соответствующего публикации состояния пользователя с самым поздним временем публикации,
отправляют уведомление об агрегированном состоянии публикатора в каждую из конечных точек публикатора и
отправляют уведомление об агрегированном состоянии публикатора каждому подписчику, подписанному на агрегированное состояние публикатора.
предоставляют коллекцию публикаций состояний присутствия для публикатора, причем каждая публикация состояния присутствия имеет значение доступности и активность, при этом публикации состояний присутствия включают в себя публикацию состояния пользователя и публикации других состояний, причем каждая публикация состояния присутствия имеет время публикации;
подписывают подписчиков на получение уведомлений об агрегированном состоянии публикатора;
принимают от каждой из множества конечных точек указание публикации состояния присутствия публикатора; и
при обнаружении изменения в публикации состояния присутствия публикатора
формируют агрегированное состояние публикатора, показывающее общую доступность публикатора, из коллекции публикаций состояний присутствия на основе значений доступности публикаций других состояний, принятых после времени публикации, соответствующего публикации состояния пользователя с самым поздним временем публикации,
отправляют уведомление об агрегированном состоянии публикатора в каждую из конечных точек публикатора и
отправляют уведомление об агрегированном состоянии публикатора каждому подписчику, подписанному на агрегированное состояние публикатора.
16. Машиночитаемый носитель по п.15, в котором изменение в состоянии публикатора является следствием публикации состояния присутствия конечной точкой публикатора.
17. Система для агрегации присутствия по множеству конечных точек, содержащая:
компьютерную память, содержащую машиноисполняемые команды, которыми реализуются:
компонент, который принимает от конечных точек публикации состояний присутствия для публикаторов, при этом публикации состояний присутствия включают в себя публикацию состояния пользователя и публикации других состояний, которые образуют коллекцию публикаций состояний присутствия, причем каждая публикация состояния присутствия имеет время публикации, и
компонент, который отслеживает публикации состояний присутствия для обнаружения изменения в состоянии и при обнаружении изменения в состоянии публикатора,
формирует агрегированное состояние публикатора, показывающее общую доступность публикатора, из коллекции публикаций состояний присутствия, включающей в себя публикацию состояния пользователя и публикации других состояний, принятые после времени публикации, соответствующего публикации состояния пользователя с самым поздним временем публикации, и публикует агрегированное состояние публикатора; и
процессор для исполнения машиноисполняемых команд, хранящихся в компьютерной памяти.
компьютерную память, содержащую машиноисполняемые команды, которыми реализуются:
компонент, который принимает от конечных точек публикации состояний присутствия для публикаторов, при этом публикации состояний присутствия включают в себя публикацию состояния пользователя и публикации других состояний, которые образуют коллекцию публикаций состояний присутствия, причем каждая публикация состояния присутствия имеет время публикации, и
компонент, который отслеживает публикации состояний присутствия для обнаружения изменения в состоянии и при обнаружении изменения в состоянии публикатора,
формирует агрегированное состояние публикатора, показывающее общую доступность публикатора, из коллекции публикаций состояний присутствия, включающей в себя публикацию состояния пользователя и публикации других состояний, принятые после времени публикации, соответствующего публикации состояния пользователя с самым поздним временем публикации, и публикует агрегированное состояние публикатора; и
процессор для исполнения машиноисполняемых команд, хранящихся в компьютерной памяти.
18. Система по п.17, в которой публикация состояния присутствия принимается от конечной точки публикатора по сети.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/419,947 US9241038B2 (en) | 2006-05-23 | 2006-05-23 | User presence aggregation at a server |
US11/419,947 | 2006-05-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2008146059A RU2008146059A (ru) | 2010-05-27 |
RU2436246C2 true RU2436246C2 (ru) | 2011-12-10 |
Family
ID=38723603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008146059/08A RU2436246C2 (ru) | 2006-05-23 | 2007-01-29 | Агрегация присутствия пользователей на сервере |
Country Status (8)
Country | Link |
---|---|
US (4) | US9241038B2 (ru) |
EP (1) | EP2025099B1 (ru) |
KR (1) | KR101319779B1 (ru) |
CN (1) | CN101455033B (ru) |
BR (1) | BRPI0711812A2 (ru) |
CA (1) | CA2649346A1 (ru) |
RU (1) | RU2436246C2 (ru) |
WO (1) | WO2007136430A1 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2632161C2 (ru) * | 2015-04-27 | 2017-10-02 | Сяоми Инк. | Способ и устройство для предоставления информации |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070239869A1 (en) * | 2006-03-28 | 2007-10-11 | Microsoft Corporation | User interface for user presence aggregated across multiple endpoints |
US7945612B2 (en) * | 2006-03-28 | 2011-05-17 | Microsoft Corporation | Aggregating user presence across multiple endpoints |
US9241038B2 (en) * | 2006-05-23 | 2016-01-19 | Microsoft Technology Licensing, Llc | User presence aggregation at a server |
US20080133742A1 (en) * | 2006-11-30 | 2008-06-05 | Oz Communications Inc. | Presence model for presence service and method of providing presence information |
US8767944B1 (en) | 2007-01-03 | 2014-07-01 | Avaya Inc. | Mechanism for status and control communication over SIP using CODEC tunneling |
GB0706074D0 (en) | 2007-03-28 | 2007-05-09 | Skype Ltd | Detection of communication states |
JP5467866B2 (ja) * | 2007-05-08 | 2014-04-09 | 富士通株式会社 | 情報通信システム、情報通信方法、情報通信装置及びコンピュータプログラム |
US20080285736A1 (en) | 2007-05-16 | 2008-11-20 | Unison Technolgies Llc | Systems and methods for providing unified collaboration systems with conditional communication handling |
US20080285540A1 (en) * | 2007-05-18 | 2008-11-20 | International Business Machines Corporation | Using presence proxies to constrain local presence information to a sub-network while using a presence server external to the sub-network to handle other presence information |
US8291067B2 (en) * | 2007-06-29 | 2012-10-16 | Microsoft Corporation | Providing access to presence information using multiple presence objects |
US20090049190A1 (en) * | 2007-08-16 | 2009-02-19 | Yahoo!, Inc. | Multiple points of presence in real time communications |
US9697501B2 (en) * | 2007-09-25 | 2017-07-04 | Microsoft Technology Licensing, Llc | Interruptibility management via scheduling application |
WO2009067780A1 (en) * | 2007-11-27 | 2009-06-04 | Nokia Corporation | Presence model for presence service and method of providing presence information |
US20090327300A1 (en) * | 2008-06-26 | 2009-12-31 | Microsoft Corporation | Manifest-based enhanced presence publishing |
US8108777B2 (en) | 2008-08-11 | 2012-01-31 | Microsoft Corporation | Sections of a presentation having user-definable properties |
US8116237B2 (en) * | 2008-09-26 | 2012-02-14 | Avaya Inc. | Clearing house for publish/subscribe of status data from distributed telecommunications systems |
US9014736B2 (en) * | 2008-11-24 | 2015-04-21 | Plantronics, Inc. | Portable network device for the discovery of nearby devices and services |
US10127524B2 (en) | 2009-05-26 | 2018-11-13 | Microsoft Technology Licensing, Llc | Shared collaboration canvas |
US20110221607A1 (en) * | 2010-03-15 | 2011-09-15 | Microsoft Corporation | Dynamic Device Adaptation Based on Proximity to Other Devices |
US8799377B2 (en) * | 2010-12-14 | 2014-08-05 | At&T Intellectual Property Ii, L.P. | Method and apparatus for mobile presence aggregation |
US9118612B2 (en) | 2010-12-15 | 2015-08-25 | Microsoft Technology Licensing, Llc | Meeting-specific state indicators |
US9383888B2 (en) | 2010-12-15 | 2016-07-05 | Microsoft Technology Licensing, Llc | Optimized joint document review |
US9864612B2 (en) | 2010-12-23 | 2018-01-09 | Microsoft Technology Licensing, Llc | Techniques to customize a user interface for different displays |
US20120297305A1 (en) * | 2011-05-17 | 2012-11-22 | Microsoft Corporation | Presenting or sharing state in presence |
US9413556B2 (en) * | 2011-06-03 | 2016-08-09 | Apple Inc. | Unified account list |
US8682973B2 (en) | 2011-10-05 | 2014-03-25 | Microsoft Corporation | Multi-user and multi-device collaboration |
US9544158B2 (en) | 2011-10-05 | 2017-01-10 | Microsoft Technology Licensing, Llc | Workspace collaboration via a wall-type computing device |
US9996241B2 (en) | 2011-10-11 | 2018-06-12 | Microsoft Technology Licensing, Llc | Interactive visualization of multiple software functionality content items |
US10198485B2 (en) | 2011-10-13 | 2019-02-05 | Microsoft Technology Licensing, Llc | Authoring of data visualizations and maps |
US10198716B2 (en) * | 2011-11-11 | 2019-02-05 | Microsoft Technology Licensing, Llc | User availability awareness |
US20130346517A1 (en) * | 2012-06-26 | 2013-12-26 | Magnet Systems, Inc. | Personal mode contextual presence |
US10133720B2 (en) * | 2013-06-15 | 2018-11-20 | Microsoft Technology Licensing, Llc | Showing presence of multiple authors in a spreadsheet |
US9509572B2 (en) | 2013-06-28 | 2016-11-29 | Futurewei Technologies, Inc. | Presence delay and state computation for composite services |
US10044774B1 (en) | 2014-03-31 | 2018-08-07 | Sonus Networks, Inc. | Methods and apparatus for aggregating and distributing presence information |
US9398107B1 (en) | 2014-03-31 | 2016-07-19 | Sonus Networks, Inc. | Methods and apparatus for aggregating and distributing contact and presence information |
CN106209567B (zh) * | 2015-04-29 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 提供用户状态信息的方法及装置 |
US10680980B2 (en) | 2016-05-10 | 2020-06-09 | Cisco Technology, Inc. | Interactive contextual emojis |
US10616153B2 (en) * | 2016-12-30 | 2020-04-07 | Logmein, Inc. | Real-time communications system with intelligent presence indication |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030217142A1 (en) * | 2002-05-15 | 2003-11-20 | Microsoft Corporation | Method and system for supporting the communication of presence information regarding one or more telephony devices |
EP1394713A1 (en) * | 2002-08-28 | 2004-03-03 | Microsoft Corporation | System and method for shared integrated online social interaction |
RU2005115970A (ru) * | 2003-10-23 | 2006-01-20 | Майкрософт Корпорейшн (Us) | Управление контактами |
RU2005102823A (ru) * | 2002-07-05 | 2006-01-20 | Нокиа Корпорейшн (Fi) | Обновление информации присутствия |
Family Cites Families (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4471348A (en) * | 1982-01-15 | 1984-09-11 | The Boeing Company | Method and apparatus for simultaneously displaying data indicative of activity levels at multiple digital test points in pseudo real time and historical digital format, and display produced thereby |
US6259446B1 (en) * | 1992-12-23 | 2001-07-10 | Object Technology Licensing Corporation | Menu state system |
US5964839A (en) * | 1996-03-29 | 1999-10-12 | At&T Corp | System and method for monitoring information flow and performing data collection |
US6304893B1 (en) * | 1996-07-01 | 2001-10-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system |
JP4044169B2 (ja) * | 1997-02-26 | 2008-02-06 | 株式会社アマダ | 工程の流れに沿った情報設定画面の表示方法及びその機能を有するマルチウィンドウ方式のnc装置 |
US6539347B1 (en) * | 1997-10-31 | 2003-03-25 | Entelos, Inc. | Method of generating a display for a dynamic simulation model utilizing node and link representations |
US6148328A (en) * | 1998-01-29 | 2000-11-14 | International Business Machines Corp. | Method and system for signaling presence of users in a networked environment |
US6189008B1 (en) * | 1998-04-03 | 2001-02-13 | Intertainer, Inc. | Dynamic digital asset management |
US6012030A (en) * | 1998-04-21 | 2000-01-04 | Nortel Networks Corporation | Management of speech and audio prompts in multimodal interfaces |
US6301609B1 (en) * | 1999-07-07 | 2001-10-09 | Lucent Technologies Inc. | Assignable associate priorities for user-definable instant messaging buddy groups |
JP2001060155A (ja) | 1999-08-20 | 2001-03-06 | Fujitsu Ltd | メッセージ処理装置 |
US6527641B1 (en) * | 1999-09-24 | 2003-03-04 | Nokia Corporation | System for profiling mobile station activity in a predictive command wireless game system |
US6671714B1 (en) * | 1999-11-23 | 2003-12-30 | Frank Michael Weyer | Method, apparatus and business system for online communications with online and offline recipients |
US20020065894A1 (en) * | 1999-12-03 | 2002-05-30 | Dalal Siddhartha R. | Local presence state and user-controlled presence and message forwarding in unified instant messaging |
US7359938B1 (en) | 1999-12-14 | 2008-04-15 | Nortel Networks Limited | System indicating the presence of an individual or group of individuals |
US6678719B1 (en) * | 1999-12-20 | 2004-01-13 | Mediaone Group, Inc. | Virtual workplace intercommunication tool |
US6697840B1 (en) * | 2000-02-29 | 2004-02-24 | Lucent Technologies Inc. | Presence awareness in collaborative systems |
US6791583B2 (en) | 2000-03-09 | 2004-09-14 | Sun Microsystems, Inc. | System and method for providing spatially distributed device interaction |
US6874125B1 (en) * | 2000-05-03 | 2005-03-29 | Microsoft Corporation | Method for providing feedback on windows, messages and dialog boxes |
WO2001093096A2 (en) * | 2000-05-30 | 2001-12-06 | Koki Uchiyama | Distributed monitoring system providing knowledge services |
US20030009530A1 (en) * | 2000-11-08 | 2003-01-09 | Laurent Philonenko | Instant message presence protocol for facilitating communication center activity |
US6774921B1 (en) * | 2000-11-17 | 2004-08-10 | Unisys Corporation | Method and apparatus for dynamically saving/restoring the properties of controls in a screen dialog |
EP1364491A1 (en) | 2001-02-05 | 2003-11-26 | Personity Inc. | A system and method for filtering unavailable devices in a presence and availability management system |
DE60136052D1 (de) * | 2001-05-04 | 2008-11-20 | Microsoft Corp | Schnittstellensteuerung |
US7433922B2 (en) * | 2001-05-11 | 2008-10-07 | Varia Llc | Method and system for collecting and displaying aggregate presence information for mobile media players |
US20020186257A1 (en) | 2001-06-08 | 2002-12-12 | Cadiz Jonathan J. | System and process for providing dynamic communication access and information awareness in an interactive peripheral display |
US7844055B2 (en) * | 2001-06-26 | 2010-11-30 | Link Us All, Llc | Detecting and transporting dynamic presence information over a wireless and wireline communications network |
US20030208541A1 (en) * | 2001-11-10 | 2003-11-06 | Jeff Musa | Handheld wireless conferencing technology |
US6735287B2 (en) * | 2001-11-16 | 2004-05-11 | Sbc Technology Resources, Inc. | Method and system for multimodal presence detection |
US6845097B2 (en) * | 2001-11-21 | 2005-01-18 | Ixi Mobile (Israel) Ltd. | Device, system, method and computer readable medium for pairing of devices in a short distance wireless network |
US20030217096A1 (en) * | 2001-12-14 | 2003-11-20 | Mckelvie Samuel J. | Agent based application using data synchronization |
US6658095B1 (en) * | 2002-03-19 | 2003-12-02 | Nortel Networks Limited | Customized presence information delivery |
US20030184594A1 (en) * | 2002-03-25 | 2003-10-02 | John Ellenby | Apparatus and methods for interfacing with remote addressing systems |
US7035923B1 (en) * | 2002-04-10 | 2006-04-25 | Nortel Networks Limited | Presence information specifying communication preferences |
US20030217098A1 (en) * | 2002-05-15 | 2003-11-20 | Microsoft Corporation | Method and system for supporting the communication of presence information regarding one or more telephony devices |
US7552204B2 (en) * | 2002-05-15 | 2009-06-23 | Microsoft Corporation | Method and system for supporting the communication of presence information among computing devices of a network |
JP3980421B2 (ja) * | 2002-06-27 | 2007-09-26 | 富士通株式会社 | プレゼンス管理方法及び装置 |
US20040010573A1 (en) * | 2002-07-10 | 2004-01-15 | Philippe Debaty | Web presence for physical entities |
US6757722B2 (en) * | 2002-07-16 | 2004-06-29 | Nokia Corporation | System and method for providing partial presence notifications |
US7844662B2 (en) * | 2002-10-17 | 2010-11-30 | At&T Intellectual Property Ii, L.P. | Merging instant messaging (IM) chat sessions |
US20040059781A1 (en) * | 2002-09-19 | 2004-03-25 | Nortel Networks Limited | Dynamic presence indicators |
US7716289B2 (en) * | 2002-10-17 | 2010-05-11 | At&T Intellectual Property I, L.P. | Transferring instant messaging (IM) messages |
US20040088649A1 (en) * | 2002-10-31 | 2004-05-06 | International Business Machines Corporation | System and method for finding the recency of an information aggregate |
US7899862B2 (en) * | 2002-11-18 | 2011-03-01 | Aol Inc. | Dynamic identification of other users to an online user |
US20040122901A1 (en) * | 2002-12-20 | 2004-06-24 | Nortel Networks Limited | Providing computer presence information to an integrated presence system |
US20040128391A1 (en) * | 2002-12-31 | 2004-07-01 | Robert Patzer | Method and system for managing a validity period in association with a presence attribute |
US7853563B2 (en) * | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
US7917468B2 (en) * | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
US7149288B2 (en) * | 2003-02-14 | 2006-12-12 | Convoq, Inc. | Rules based real-time communication system |
US8204938B2 (en) * | 2003-02-14 | 2012-06-19 | Devereux Research Ab Llc | System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system |
US7263545B2 (en) * | 2003-02-14 | 2007-08-28 | Convoq, Inc. | System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system |
US7240228B2 (en) * | 2003-05-05 | 2007-07-03 | Microsoft Corporation | Method and system for standby auxiliary processing of information for a computing device |
US6970547B2 (en) * | 2003-05-12 | 2005-11-29 | Onstate Communications Corporation | Universal state-aware communications |
US20040230594A1 (en) * | 2003-05-15 | 2004-11-18 | Flam Ran J. | Reject activities in a process control system |
NO318975B1 (no) | 2003-06-20 | 2005-05-30 | Tandberg Telecom As | System og fremgangsmate for oppsett av moter og konferanser |
US20050044143A1 (en) * | 2003-08-19 | 2005-02-24 | Logitech Europe S.A. | Instant messenger presence and identity management |
US7228506B2 (en) * | 2003-09-25 | 2007-06-05 | Microsoft Corporation | System and method for providing an icon overlay to indicate that processing is occurring |
US20050068167A1 (en) * | 2003-09-26 | 2005-03-31 | Boyer David G. | Programmable presence proxy for determining a presence status of a user |
US7499974B2 (en) * | 2003-09-30 | 2009-03-03 | International Business Machines Corporation | Instant message user management |
US7461126B2 (en) * | 2003-10-30 | 2008-12-02 | Radvision Ltd. | System and method for distributed multipoint conferencing with automatic endpoint address detection and dynamic endpoint-server allocation |
JP4118800B2 (ja) * | 2003-12-26 | 2008-07-16 | ソフトバンクモバイル株式会社 | プレゼンス表示システム及びゲートウエイ装置 |
JP4214941B2 (ja) * | 2004-04-09 | 2009-01-28 | 日本電気株式会社 | プレゼンス情報提供システム、その方法およびサーバ |
US20050232184A1 (en) * | 2004-04-15 | 2005-10-20 | Utstarcom, Incorporated | Network presence updating apparatus and method |
US7444379B2 (en) * | 2004-06-30 | 2008-10-28 | International Business Machines Corporation | Method for automatically setting chat status based on user activity in local environment |
US20060004837A1 (en) * | 2004-06-30 | 2006-01-05 | Genovker Victoria V | Advanced switching peer-to-peer protocol |
US7418497B2 (en) * | 2004-07-15 | 2008-08-26 | International Business Machines Corporation | Automatically infering and updating an availability status of a user |
US7376227B2 (en) * | 2004-08-03 | 2008-05-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for integrating agent status between a customer relations management system and a multiple channel communications center |
US7836126B2 (en) * | 2004-08-04 | 2010-11-16 | Sap Ag | Business presence system and method |
US20060069686A1 (en) * | 2004-09-30 | 2006-03-30 | Siemens Information And Communication Networks, Inc. | System and method for predicting availability |
US20070198725A1 (en) * | 2004-10-06 | 2007-08-23 | Morris Robert P | System and method for utilizing contact information, presence information and device activity |
US20070198696A1 (en) * | 2004-10-06 | 2007-08-23 | Morris Robert P | System and method for utilizing contact information, presence information and device activity |
JP4631401B2 (ja) * | 2004-11-10 | 2011-02-16 | 日本電気株式会社 | プレゼンス更新システム及びその方法並びにそれに用いる移動通信端末 |
US7853696B2 (en) * | 2004-11-19 | 2010-12-14 | Cisco Technology, Inc. | System and method for providing an eCamp feature in a session initiation protocol (SIP) environment |
US8176086B2 (en) * | 2004-11-30 | 2012-05-08 | Avaya Inc. | Methods and apparatus for determining a presence of a user |
US20060133586A1 (en) * | 2004-12-08 | 2006-06-22 | Ntt Docomo, Inc. | Information notification system and information notification method |
US7466810B1 (en) * | 2004-12-20 | 2008-12-16 | Neltura Technology, Inc. | Distributed system for sharing of communication service resources between devices and users |
US20060190600A1 (en) * | 2005-02-18 | 2006-08-24 | Siemens Communications, Inc. | Group based presence availability management |
CA2506665A1 (en) * | 2005-05-06 | 2006-11-06 | Iotum Inc. | Method of and system for telecommunication management |
US8356011B2 (en) * | 2005-07-26 | 2013-01-15 | Microsoft Corporation | Organizing presence information into collections of publications |
US7734710B2 (en) * | 2005-09-22 | 2010-06-08 | Avaya Inc. | Presence-based hybrid peer-to-peer communications |
US8078578B2 (en) * | 2005-10-14 | 2011-12-13 | Cisco Technology, Inc. | Sharing of presence-based time-zone information |
JP4616758B2 (ja) * | 2005-11-30 | 2011-01-19 | 富士通株式会社 | プレゼンス管理方法及びプレゼンス管理装置 |
US20070130323A1 (en) * | 2005-12-02 | 2007-06-07 | Landsman Richard A | Implied presence detection in a communication system |
US7907955B2 (en) * | 2006-02-07 | 2011-03-15 | Siemens Enterprise Communications, Inc. | Presence system with proximity presence status |
US7945612B2 (en) * | 2006-03-28 | 2011-05-17 | Microsoft Corporation | Aggregating user presence across multiple endpoints |
US20070239869A1 (en) * | 2006-03-28 | 2007-10-11 | Microsoft Corporation | User interface for user presence aggregated across multiple endpoints |
US20070233852A1 (en) * | 2006-03-31 | 2007-10-04 | Jack Jachner | Presence logging in calendar systems |
US8108345B2 (en) * | 2006-03-31 | 2012-01-31 | Microsoft Corporation | Managing rich presence collections in a single request |
US8234559B2 (en) * | 2006-03-31 | 2012-07-31 | Microsoft Corporation | Managing rich presence collections |
US9241038B2 (en) * | 2006-05-23 | 2016-01-19 | Microsoft Technology Licensing, Llc | User presence aggregation at a server |
-
2006
- 2006-05-23 US US11/419,947 patent/US9241038B2/en active Active
- 2006-10-05 US US11/539,125 patent/US20070276909A1/en not_active Abandoned
-
2007
- 2007-01-29 KR KR1020087028280A patent/KR101319779B1/ko active IP Right Grant
- 2007-01-29 RU RU2008146059/08A patent/RU2436246C2/ru not_active IP Right Cessation
- 2007-01-29 CN CN200780018951XA patent/CN101455033B/zh active Active
- 2007-01-29 EP EP07749449.0A patent/EP2025099B1/en active Active
- 2007-01-29 CA CA002649346A patent/CA2649346A1/en not_active Withdrawn
- 2007-01-29 BR BRPI0711812-0A patent/BRPI0711812A2/pt not_active IP Right Cessation
- 2007-01-29 WO PCT/US2007/002393 patent/WO2007136430A1/en active Application Filing
-
2015
- 2015-12-11 US US14/967,105 patent/US9942338B2/en active Active
-
2018
- 2018-04-05 US US15/945,916 patent/US10686901B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030217142A1 (en) * | 2002-05-15 | 2003-11-20 | Microsoft Corporation | Method and system for supporting the communication of presence information regarding one or more telephony devices |
RU2005102823A (ru) * | 2002-07-05 | 2006-01-20 | Нокиа Корпорейшн (Fi) | Обновление информации присутствия |
EP1394713A1 (en) * | 2002-08-28 | 2004-03-03 | Microsoft Corporation | System and method for shared integrated online social interaction |
RU2005115970A (ru) * | 2003-10-23 | 2006-01-20 | Майкрософт Корпорейшн (Us) | Управление контактами |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2632161C2 (ru) * | 2015-04-27 | 2017-10-02 | Сяоми Инк. | Способ и устройство для предоставления информации |
US9967099B2 (en) | 2015-04-27 | 2018-05-08 | Xiaomi Inc. | Method and apparatus for providing information |
Also Published As
Publication number | Publication date |
---|---|
KR20090018917A (ko) | 2009-02-24 |
EP2025099A4 (en) | 2014-08-20 |
US10686901B2 (en) | 2020-06-16 |
US9241038B2 (en) | 2016-01-19 |
CN101455033A (zh) | 2009-06-10 |
EP2025099B1 (en) | 2017-10-25 |
US20180227378A1 (en) | 2018-08-09 |
BRPI0711812A2 (pt) | 2011-12-06 |
KR101319779B1 (ko) | 2013-10-17 |
RU2008146059A (ru) | 2010-05-27 |
US20160156727A1 (en) | 2016-06-02 |
WO2007136430A1 (en) | 2007-11-29 |
US20070276937A1 (en) | 2007-11-29 |
US9942338B2 (en) | 2018-04-10 |
CN101455033B (zh) | 2013-08-21 |
EP2025099A1 (en) | 2009-02-18 |
CA2649346A1 (en) | 2007-11-29 |
US20070276909A1 (en) | 2007-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2436246C2 (ru) | Агрегация присутствия пользователей на сервере | |
US8700690B2 (en) | Aggregating user presence across multiple endpoints | |
US9686368B2 (en) | Aggregating endpoint capabilities for a user | |
US7801954B2 (en) | Method and system for providing expanded presence information when a user is offline | |
RU2402173C2 (ru) | Способ и система для обеспечения извещения, когда пользователь становится доступным для связи | |
US20070239869A1 (en) | User interface for user presence aggregated across multiple endpoints | |
US7836088B2 (en) | Relationship-based processing | |
US9450898B2 (en) | Shared resource and session model using presence data | |
US20080115087A1 (en) | Tracking recent contacts | |
US20080148148A1 (en) | Providing modified notifications when inferring a user might not want to be notified | |
US20090119374A1 (en) | Adaptive instant messaging awareness |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20130130 |