Уровень техники
Серверы присутствия все чаще используются для предоставления информации присутствия, такой как статус доступности пользователей. Информация присутствия пользователя идентифицирует текущий "статус присутствия" этого пользователя. Пользователи могут сделать их информацию присутствия доступной, чтобы другие пользователи могли определить, как лучше всего связаться с ними. Например, информация присутствия может указывать, что пользователь вошел в сервер мгновенных сообщений ("онлайн") или вышел из него ("оффлайн"). Информация присутствия также может предоставлять более детальную информацию о доступности пользователя. Например, даже если пользователь находится в режиме онлайн, он может находиться вдали от своего компьютера, например на совещании. В подобных случаях, статус присутствия может указывать "онлайн" и "на совещании".
В контексте мгновенных сообщений публикующий пользователь ("издатель") может предоставлять свою информацию присутствия в службу присутствия, которая в свою очередь предоставляет информацию присутствия подписывающимся пользователям ("подписчикам"). Соответственно, служба присутствия может использовать модель подписчик/издатель, чтобы предоставлять информацию присутствия для публикующих и подписывающихся пользователей службы присутствия. Когда информация присутствия пользователя изменяется, служба присутствия уведомляется об изменении посредством компьютерной системы этого пользователя, и она в свою очередь уведомляет подписывающихся пользователей об изменении. Тогда подписывающийся пользователь на основании информации присутствия заданных участников может определить, каким образом лучше всего связаться с публикующим пользователем. Например, если информация присутствия указывает, что публикующий пользователь в текущее время проводит совещание по телефону, то подписывающийся пользователь может решить послать публикующему пользователю мгновенное сообщение, а не звонить ему напрямую. Тем не менее, если подписывающемуся пользователю требуется позвонить и поговорить с публикующим пользователем, то подписывающийся пользователь может наблюдать за изменением информации присутствия публикующего пользователя, чтобы узнать, когда можно выполнить звонок. Когда подписывающийся пользователь замечает, что информация присутствия публикующего пользователя указывает, что телефонное совещание было завершено, тогда подписывающийся пользователь может позвонить по телефону.
Конкретный пользователь также может публиковать информацию присутствия из множества устройств. Например, пользователь может быть одновременно подключен к службе присутствия с переносного компьютера, настольного компьютера и сотового телефона. Информация присутствия может указывать статус пользователя на каждом устройстве. Это особенно полезно, если, например, пользователь идет на совещание с сотовым телефоном и уже отошел от своего настольного компьютера. Если подписывающийся пользователь хочет связаться с публикующим пользователем, то информация присутствия может указывать, что с точки зрения связи с пользователем звонок на сотовый телефон будет более эффективен, чем передача мгновенного сообщения на настольный компьютер публикующего пользователя. Каждое устройство пользователя также может подписаться на информацию присутствия других устройств пользователя, что позволяет этим устройствам, например, определять, на каком устройстве публикующего пользователя имеет место наибольшая активность.
Из-за постоянного возрастания популярности систем мгновенных сообщений и других систем связи реального времени, службы присутствия должны поддерживать все большее количество пользователей. В добавление, эти системы должны поддерживать постоянно усложняющиеся определения "информации присутствия". Например, информация присутствия может включать в себя календарную информацию, которая определяет доступность издателя в течение следующих нескольких месяцев. В результате сервер присутствия, как правило, разрабатывается так, чтобы предоставлять службы присутствия эффективным образом. К сожалению, типичные модели присутствия требуют выполнения больших объемов вычислений при обновлении информации присутствия. Так, когда добавляются новые издатели и подписчики, возникает необходимость в дополнительных серверах присутствия, чтобы выполнять необходимые вычисления.
Ранее системы присутствия обрабатывали публикацию информации присутствия путем размещения всей информации присутствия в одном XML-документе. В этом случае, когда определенные фрагменты информации присутствия пользователя изменяются, издатель должен указать на строку в документе и заменить ее новой информацией присутствия или указать узел в XML-поддереве и заменить его другим XML-поддеревом. Этот вид обновления требует выполнения дорогого вычислительного XML-анализа. Когда количество пользователей и обновлений присутствия увеличивается, нагрузка XML-анализа, выполняемого сервером присутствия, может стать чрезмерной. Эта модель публикации информации присутствия не позволяет подписчику подписаться только на часть документа присутствия. В добавление, индивидуальные части документа не имеют версий, и подписчик или сервер присутствия не могут с легкостью определить части документа, которые были недавно изменены. Эта модель также не позволяет раскрывать различные версии документа присутствия различным пользователям или специфицировать различную информацию авторизации для индивидуальных частей документа.
Более эффективная система присутствия, которая менее требовательна с вычислительной точки зрения, описана в связанной патентной заявке США № 11/190503 (№41826-8225US по реестру поверенных), озаглавленной "ORGANIZING PRESENCE INFORMATION INTO COLLECTIONS OF PUBLICATIONS", поданной 26-го июля 2005 г, которая включена сюда в своей целостности посредством ссылки. В упомянутой связанной заявке описан способ и система для управления информацией присутствия на основании коллекций публикаций. Система коллекции присутствия создает коллекции публикаций для издателя. Публикация включает в себя тип и значение, а также может сопровождаться атрибутами, такими как когда должен истечь срок действия публикации. Например, публикация с типом "статус" и значением "онлайн" может указывать подписывающимся пользователям, что публикующий пользователь в текущее время находится в режиме "онлайн". Издатель может определить одну коллекцию публикаций, которая должна быть доступна определенным подписчикам, и другую коллекцию публикаций, которая должна быть доступна другим подписчикам. Например, одна коллекция может быть общедоступна, тогда как другая может быть видна только коллегам публикующего пользователя. Каждая коллекция содержит список пользователей, которым разрешается подписываться на информацию из этой коллекции. Система коллекции присутствия может позволять издателю обновлять индивидуальные публикации в коллекции. При получении обновления сервер присутствия может быстро обновить информацию присутствия без необходимости выполнения анализа XML-документов, который требует больших объемов вычислений. Каждая коллекция публикаций может содержать категории информации. Категория представляет собой тип публикации, который охватывает множество коллекций. Например, категория "статус" может иметь публикацию со значением "недоступен" в коллекции, которая общедоступна, а также публикацию с величиной "на встрече с Джоном" в коллекции, которая доступна коллегам. Публикация также может специфицировать идентификатор экземпляра. Идентификатор экземпляра дифференцирует схожую информацию в одной и той же коллекции. Например, пользователь может иметь публикацию "статус" с экземпляром "лэптоп", которая указывает статус пользователя на лэптопе, а также публикацию "статус" с экземпляром "сотовый телефон", которая указывает статус пользователя на сотовом телефоне.
Несмотря на то что система коллекции присутствия представляет улучшение по сравнению с существующим уровнем техники, она может увеличить нагрузку с точки зрения сетевых ресурсов и сервера присутствия. Например, публикующий пользователь, который посылает серверу присутствия отдельные обновления для множества экземпляров публикаций в множестве коллекций, создает большой объем сетевого потока обмена на сервер присутствия. Аналогично, подписывающийся пользователь, который принимает отдельные уведомления для каждой обновляемой публикации, создает большой объем сетевого потока обмена от сервера присутствия к подключенному устройству или устройствам подписанного пользователя. Как правило, для публикаций присутствия истечение срока действия устанавливается в пределах фиксированной величины времени, и публикации присутствия должны периодически обновляться публикующим пользователем, чтобы поддерживать публикации опубликованными. Необходимость обновления множества публикаций, которые не были изменены, создает излишнюю нагрузку на сервер. В заключение, добавление коллекций, имеющих переменные степени детализации, доступных различным подписывающимся пользователям, создает возможность раскрытия информации присутствия большим группам подписчиков. Список пользователей, имеющих доступ к публикации, может сильно расшириться, из-за чего увеличивается объем вычислений для проверки того, на какую коллекцию должен быть подписан конкретный пользователь, что приводит к дополнительной нагрузке сервера присутствия.
Сущность изобретения
Предоставлены способ и система для увеличения вычислительной и сетевой эффективности серверов присутствия с коллекциями публикаций. Система присутствия использует несколько методов, которые позволяют серверу присутствия предоставлять богатую информацию присутствия без необходимости дорогостоящей обработки. Во-первых, система присутствия принимает пакеты обновлений публикации в одном запросе обновления присутствия. Аналогично, система присутствия принимает пакеты запросов подписки. Далее, система присутствия поддерживает новые типы истечения срока действия для запросов обновления публикации, которые исключают необходимость того, чтобы публикующий пользователь постоянно обновлял информацию присутствия, которая не изменилась. В заключение, система присутствия принимает списки доступа, которые содержат членские группы, а не индивидуальный список пользователей, которые должны иметь доступ к конкретной коллекции присутствия.
Раздел "Сущность изобретения" приведен, чтобы представить в упрощенной форме выборку концепций, которые подробно описываются ниже, в разделе "Подробное описание". Раздел "Сущность изобретения" не предназначен ни для определения ключевых или существенных отличительных признаков сущности формулы изобретения, ни для использования при определении объема сущности формулы изобретения.
Краткое описание чертежей
Фиг.1 - структурная схема, которая иллюстрирует компоненты системы присутствия в одном варианте осуществления.
Фиг.2 - распечатка протокола, которая иллюстрирует расширения протокола SIP для передачи обновлений публикаций в одном варианте осуществления.
Фиг.3 - схема последовательности операций, которая иллюстрирует обработку, выполняемую компонентом обновления публикаций, который входит в состав системы присутствия в одном варианте осуществления.
Фиг.4 - распечатка протокола, которая иллюстрирует расширения протокола SIP для передачи запросов на подписку в одном варианте осуществления.
Фиг.5 - схема последовательности операций, которая иллюстрирует обработку, выполняемую компонентом обновления подписок, который входит в состав системы присутствия в одном варианте осуществления.
Фиг.6 - распечатка протокола, которая иллюстрирует расширения протокола SIP для обновления членств коллекции в одном варианте осуществления.
Фиг.7 - схема последовательности операций, которая иллюстрирует обработку, выполняемую компонентом обновления членств, который входит в состав системы присутствия в одном варианте осуществления.
Фиг.8 - схема последовательности операций, которая иллюстрирует обработку, выполняемую компонентом истечения срока действия публикаций, который входит в состав системы присутствия в одном варианте осуществления.
Подробное описание
Предоставлены способ и система для увеличения вычислительной и сетевой эффективности серверов присутствия с коллекциями публикаций. Система присутствия использует несколько методов, которые позволяют серверу присутствия предоставлять богатую информацию присутствия без необходимости дорогостоящей обработки. Во-первых, система присутствия принимает пакеты обновлений публикации в одном запросе обновления присутствия. Например, публикующий пользователь может публиковать множество категорий информации во множестве коллекций путем передачи в сервер присутствия только одного запроса обновления. Аналогично, система присутствия принимает пакеты запросов подписки. Например, подписывающийся пользователь может выполнить запрос подписки на множество категорий информации во множестве коллекций путем передачи в сервер присутствия только одного запроса подписки. Далее, система присутствия поддерживает новые типы истечения срока действия для запросов обновления публикации, которые исключают необходимость непрерывного обновления информации присутствия, которая не была изменена. Например, домашний телефонный номер публикующего пользователя изменяется крайне редко, так что система присутствия позволяет пользователю публиковать эту информацию только один раз и не обновлять ее, если она не изменяется, а не выполнять повторную публикацию этой информации раз в час. В заключение, система присутствия принимает списки доступа, которые содержат членские группы, а не индивидуальный список пользователей, которые должны иметь доступ к конкретной коллекции присутствия. Например, публикующий пользователь может предоставить доступ всем своим коллегам путем применения членской группы к коллекции без перечисления каждого сотрудника индивидуально.
Пакетная обработка публикаций
В одном варианте осуществления система присутствия принимает множество публикаций присутствия в одном запросе. Публикации могут охватывать множество категорий, экземпляров и коллекций. Например, публикующий пользователь, имеющий категории публикации "статус" и "место", может публиковать статус "недоступен" и место "Штаб-квартира Microsoft" в коллекции, которая общедоступна, а также статус "на встрече с Джоном" и место "Конференц-зал 5/Строение 40" в коллекции, которая доступна только его коллегам. Публикующий пользователь также может публиковать множество экземпляров одной и той же информации в каждой коллекции. Например, одной и той же информации в каждой коллекции. Например, категория "телефонный номер" может иметь экземпляры "домашний" для домашнего номера, "рабочий" для рабочего номера и "мобильный" для сотового номера. Пользователь может публиковать значения для каждого из этих экземпляров в одном и том же запросе публикации.
В одном варианте осуществления система присутствия принимает отмены публикаций и публикации в одном запросе. Например, публикующий пользователь, который идет на совещание, может выйти из системы своего настольного компьютера, что приводит к отмене публикаций экземпляров, связанных с настольным компьютером, и пользователь может стать активным на своем сотовом телефоне, что приводит к необходимости добавления новых экземпляров для сотового телефона. Система присутствия может принимать отмену публикаций настольного компьютера и публикации сотового телефона в одном запросе обновления. Например, система присутствия предприятия может принимать обновления публикаций с обоих устройств и пересылать обновления в глобальную систему присутствия в едином запросе.
В одном варианте осуществления система присутствия передает множество обновлений присутствия, используя расширения Протокола Инициации Сессии (Session Initiation Protocol, SIP) и протокола Расширений Применения Мгновенных Сообщений и Присутствия для SIP (SIP for Instant Messaging and Presence Leveraging Extensions, SIMPLE). SIP представляет собой протокол управления уровня приложения, который может использоваться устройствами для обнаружения друг друга и установки, модификации и завершений сессий между устройствами и является предложенным Интернет стандартом, который описан в документе "RFC 3261". Документ RFC 3261, который доступен в Интернете по адресу www.ietf.org/rfc/rfc3261.txt, включен сюда в своей целостности посредством ссылки. Стандарт SIP предоставляет возможность конструкторам добавлять расширения, чтобы определять специальные свойства. Система присутствия добавляет тег <publish> (<публиковать>), который содержит список тегов <publication> (<публикация>), специфицирующий информацию присутствия, которая должна быть опубликована, а также схожий тег <unpublish> (<отменить публикацию>), который содержит список тегов <publication> (<публикация>), специфицирующих информацию присутствия, публикация которых должна быть отменена. Каждая публикация идентифицирует категорию, экземпляр и коллекцию, к которой она относится. В некоторых вариантах осуществления система присутствия принимает значение истечения срока действия равным нулю для публикации в теге <publish> (<публиковать>) как индикацию отменить публикацию информации, вместо того, чтобы определять отдельный тег <unpublish> (<отменить публикацию>).
В одном варианте осуществления система присутствия принимает обновления для множества публикующих пользователей в одном запросе. Например, когда используется протокол SIP, каждая публикация может содержать Унифицированный Идентификатор Ресурса (Uniform Resource Identifier, URI) пользователя, к которому публикация относится. Это предоставляет возможность службам публиковать информацию от лица большого количества пользователей. Например, сервер электронной почты Exchange может публиковать календарную информацию для всех пользователей, которые используют сервер. В еще одном примере, оператор сотовой связи может публиковать информацию о месте своих абонентов сотовой связи на сервере присутствия. В обоих этих примерах, информация, которая согласно существующему уровню техники сгенерировала бы большой объем сетевого потока обмена, может быть опубликована для большого количества пользователей в одном запросе в сервер присутствия.
В одном варианте осуществления система присутствия принимает запросы публикации, имеющие различные атрибуты, в одном запросе. Публикующий пользователь может специфицировать политику истечения срока действия для публикации в одной коллекции, которая отличается от политики срока действия для публикации в другой коллекции. Например, в коллекции, имеющей подробную информацию для публикации "место", подробная информация статуса (например, "в конференц-зале 2") может часто изменяться и иметь меньший срок действия, чем менее подробная информация в другой коллекции (например, "В Сиэтле"). В еще одном примере публикующий пользователь в одном и том же запросе может специфицировать одну политику уведомления для одного типа публикаций и другую политику уведомления для другого типа публикаций. Например, политика уведомления может указывать, что обновления в определенных категориях вообще не должны генерировать уведомления.
Пакетная обработка подписок
В одном варианте осуществления система присутствия принимает от подписывающегося пользователя подписки для множества категорий в одном запросе. Например, подписывающийся пользователь, который заинтересован в статусе и месте публикующего пользователя, может составить один запрос подписки, который содержит "статус" и "место" в списке категорий.
В одном варианте осуществления система присутствия принимает от подписывающегося пользователя подписки для множества публикующих пользователей в одном запросе. Например, подписывающийся пользователь может подписаться на множество категорий для Пользователя A и Пользователя B в одном запросе. Когда подписывающийся пользователь подписывается на информацию присутствия для каждого из пользователей в своем списке контактов, это может привести к значительной экономии ресурсов, поскольку все подписки могут быть выполнены в одном запросе. Аналогично, система присутствия также может принимать списки различных категорий для различных пользователей в одном запросе. Например, подписывающийся пользователь может подписаться на категории 1 и 2 для Пользователя A и категории 3 и 4 для Пользователя B в одном запросе.
В одном варианте осуществления система присутствия предоставляет возможность запросу подписки получать информацию присутствия без создания подписки. Например, пользователю может потребоваться запросить информацию присутствия для публикующего пользователя один раз без необходимости получения уведомлений при изменении информации. Пользователь может передать запрос подписки с указанием, что запрос является запросом для текущего значения информации присутствия в специфицированных категориях, а не запросом на создание подписки.
В одном варианте осуществления система присутствия принимает удаление существующих подписок в том же запросе, в котором присутствует добавление новых подписок. Например, если подписывающийся пользователь больше не заинтересован в месте публикующего пользователя, но хочет отслеживать текущий телефонный номер публикующего пользователя, то подписывающийся пользователь может составить один запрос, который содержит категорию "статус" в списке категорий, подписку на которые нужно отменить, и категорию "телефонный номер" в списке категорий, на которые нужно подписаться.
В одном варианте осуществления система присутствия принимает запросы подписки от лица множества подписывающихся пользователей в одном запросе. Например, компания может иметь локальный сервер присутствия, который принимает индивидуальные запросы подписки от подписывающихся пользователей в рамках компании и пересылает запросы в глобальный сервер присутствия, как единый пакетный запрос подписки.
В одном варианте осуществления система присутствия передает множество подписок присутствия, используя расширения протоколов SIP и SIMPLE. Система присутствия добавляет тег <batchSub>, который содержит тег <categoryList>, который специфицирует список категорий, на которые необходимо подписаться. Тег <batchSub> также может специфицировать тег <adhocList>, который специфицирует список пользователей, на категории которых необходимо подписаться. Система присутствия также добавляет тег <batchUnsub>, который также содержит теги, специфицирующие списки пользователей и их категории, подписка на которые отменяется. Система может также предоставлять возможность запроса подписки с пустым телом, чтобы указывать, что подписка для всех пользователей и категорий должна быть отменена, нежели запрашивать подписывающегося пользователя перечислять каждую категорию и пользователя, на которые они подписались.
В одном варианте осуществления система присутствия отфильтровывает нежелательную информацию присутствия для подписывающегося пользователя путем применения требования наличия явной подписки на каждую категорию, в которой заинтересован подписывающийся пользователь. Например, публикующий пользователь может публиковать сотни категорий информации, но подписывающийся пользователь может пожелать получать сведения только о текущем статусе публикующего пользователя. Подписывающийся пользователь может передать запрос подписки, указывающий подписку на категорию "статус", и пользователь будет получать уведомления только для этой категории. В случае увеличения объема информации, предоставляемой сервером присутствия, это предотвращает перегрузку подписывающегося пользователя уведомлениями, в которых пользователь не заинтересован.
Модели истечения срока действия
В одном варианте осуществления система присутствия принимает публикации, для которых срок действия истекает, когда публикующее устройство выходит из сервера присутствия. В ранее существующих системах публикующий пользователь публиковал информацию с фиксированным сроком действия (например, один час), и чтобы поддерживать ее в опубликованном состоянии, он должен был обновлять или повторно публиковать информацию, когда срок действия публикации был близок к концу. Система присутствия определяет новый тип истечения срока действия, который поддерживает публикацию информации присутствия до тех пор, пока устройство, которое опубликовало информацию, не перейдет в режим оффлайн. Это используется, например, когда устройство, такое как сотовый телефон, имеет опубликованные экземпляры информации, которые действительны только тогда, когда сотовый телефон находится в режиме онлайн. Когда сотовый телефон выключается или иным образом переходит в режим оффлайн, сервер присутствия может детектировать это событие и удалить информацию, которая оставалась релевантной, пока устройство было в режиме онлайн. Когда устройство находится в режиме онлайн, больше не требуется непрерывно обновлять информацию присутствия, которая не изменилась, чтобы удерживать ее от истечения срока действия.
В одном варианте осуществления система присутствия принимает публикации, срок действия которых истекает, когда публикующий пользователь выходит из режима онлайн. Этот тип истечения срока действия полезен для информации присутствия, которая применима к множеству устройств в течение периода, когда пользователь находится в режиме онлайн, но которая больше не будет релевантной, если пользователь переходит в режим оффлайн. Система присутствия может детектировать, что пользователь находится в режиме оффлайн, когда пользователь выходит из всех устройств. Система присутствия может детектировать, что пользователь уже вышел из системы устройства, когда устройство отсоединяется от сервера присутствия или когда устройство информирует сервер присутствия о том, что пользователь больше не использует устройство. Например, общественный Интернет-киоск может предоставить пользователю возможность доступа в Интернет путем вставки USB-ключа, который идентифицирует пользователя. Когда ключ удаляется, упомянутый Интернет-киоск может информировать все службы, к которым был соединен пользователь, таким как служба присутствия, что пользователь больше не использует устройство. Когда пользователь находится в режиме онлайн, информация остается опубликованной без запросов обновления от пользователя, благодаря чему сервер присутствия не обрабатывает лишние дополнительные запросы обновления.
В одном варианте осуществления система присутствия принимает публикации, срок действия которых не истекает. Этот тип истечения срока действия, называемый статическим, полезен для информации, которая остается релевантной независимо от того, находится ли пользователь в режиме онлайн или оффлайн, как например, телефонный номер или адрес пользователя. Этот тип истечения срока действия также может использоваться службами, которые публикуют информацию от лица пользователя. Например, для публикации календарной информации пользователя серверу Exchange, который публикует календарную информацию для множества пользователей, не требуется знать, находится ли пользователь в режиме онлайн или нет, и срок действия информации не должен истекать независимо от текущего статуса пользователя. Следовательно, такие службы могут публиковать информацию путем указания статического типа истечения срока действия для публикации, и публикация этой опубликованной информации не будет отменена, если сервер присутствия не получит явного запроса на отмену публикации.
Членские группы
В одном варианте осуществления система присутствия принимает членские списки коллекции, которые содержат группы пользователей. В ранее существующих системах, пользователи, которые должны были выполнять доступ к конкретной коллекции информации присутствия, перечислялись в списке в явной форме и коллекция по умолчанию содержала информацию, которая была применима к пользователям, которых не было в списке. Система присутствия предоставляет возможность специфицирования групп пользователей, что снижает сложность вычислений при определении того, имеет ли пользователь доступ к коллекции для больших групп пользователей. Членские списки коллекции могут быть специфицированы при публикации информации присутствия, либо независимо - по отдельному запросу. Один тип членской группы - "список контактов" - определяет, что любой подписывающийся пользователь из списка контактов публикующего пользователя может просматривать информацию в коллекции, которой группа назначена.
В одном варианте осуществления система присутствия принимает в качестве публикующего пользователя членскую группу, которая содержит пользователей в одном и том же предприятии. Эта членская группа предоставляет возможность посредством одной записи в членском списке коллекции пользователя специфицировать, что любой подписывающийся пользователь в одном и том же предприятии должен иметь доступ к конкретной коллекции. Например, для большой корпорации, такой как Microsoft, это предоставляет возможность создания коллекции с дополнительными деталями для сотрудников, которая содержит одну запись в членском списке, который специфицирует членскую группу "одного и того же предприятия". Сервер присутствия определяет, имеет ли конкретный подписывающийся пользователь доступ к коллекции, путем проверки, входит ли пользователь и публикующий пользователь в одно и то же предприятие, например, путем опроса контроллера внешнего домена. Это предотвращает дублирование сервером присутствия одних и тех же списков пользователей, которые уже содержатся в контроллере внешнего домена.
В одном варианте осуществления система присутствия принимает членскую группу, содержащую пользователей в публичном облаке. Публичное облако определяется как доступный извне список пользователей, предоставленный другой организацией. Членская группа публичного облака полезна, когда один оператор сервера присутствия имеет партнерские соглашения с операторами других систем присутствия. Например, сервер присутствия, используемый программным обеспечением мгновенных сообщений Microsoft's, может взаимодействовать с платформами мгновенных сообщений AOL, Yahoo и т.д., используя членские группы публичного облака. Путем специфицирования членской группы публичного облака в членском списке коллекции, публикующий пользователь может определить публикации присутствия, на которые члены других систем присутствия могут подписаться и просматривать без необходимости явного перечисления каждого члена в членском списке коллекции.
В одном варианте осуществления система присутствия принимает интегрированную членскую группу. Интегрированная членская группа представляет собой группу, в которой множество записей определяют списки пользователей, которые должны иметь одинаковый доступ к информации присутствия. Например, две корпорации, такие как Microsoft и Intel, могут предоставить списки своих сотрудников для интегрированных членских групп. Сервер присутствия, принимающий публикации с интегрированной членской группой, ссылается на определенные сервера интегрированного членства, чтобы определить, какие пользователи являются членами интегрированной группы. Тогда, публикующий пользователь может специфицировать публикации, на которые может подписаться интегрированная группа.
В одном варианте осуществления система присутствия принимает пакеты изменений членского списка в одном запросе. Например, публикующий пользователь может предоставить доступ подписывающимся пользователям из одной и той же членской группы предприятия к одной коллекции и удалить пользователей в членской группе публичного облака из коллекции в одном запросе. Публикующий пользователь может специфицировать членские списки для множества коллекций, а также множество членских групп и индивидуальных пользователей в членском списке для конкретной коллекции в одном запросе.
Путем комбинирования модели коллекции с членскими группами, публикующий пользователь может установить иерархическую структуру доступа к информации присутствия. Например, календарная информация пользователя может быть предоставлена сотрудникам одного и того же предприятия в более подробной форме и одновременно другим пользователям в форме информации свободен/занят (которая указывает только периоды, когда пользователь свободен, и периоды, когда пользователь занят). Это позволяет публичным членам планировать встречи с публикующим пользователем, которые не конфликтуют с остальным графиком пользователя, причем это выполняется без раскрытия личной информации о том, что делает пользователь. С другой стороны, коллегам публикующего сотрудника предоставляется более детальная информация о том, что пользователь делает, например информация о том, что пользователь назначил встречу с коллегой позже в тот же день.
Фиг.1 представляет собой структурную схему, которая иллюстрирует компоненты системы присутствия в одном варианте осуществления. Система 110 присутствия соединена с объектными устройствами 120 и 130 через линии 140 связи, такие как Интернет. Объектные устройства соответствуют объектам, которые могут быть издателями или подписчиками. Объектные устройства включают в себя компонент 122 составления обновления публикации, компонент 125 составления запроса подписки и компонент 127 передачи запроса. Компонент 122 составления обновления публикации составляет запросы обновления опубликованной информации присутствия, которые могут включать в себя пакеты индивидуальных обновлений публикации. Компонент 125 составления запроса подписки составляет запросы подписки, которые могут включать в себя пакеты подписок на множество категорий информации присутствия для множества публикующих пользователей. Компонент 127 передачи запроса передает запросы обновления публикации и запросы подписки в сервер 110 присутствия.
Система присутствия включает в себя компонент 150 приема обновления публикации, компонент 155 обновления публикаций, компонент 170 приема обновления членства, компонент 175 обновления членств, компонент 180 истечения срока действия публикаций, компонент 182 детектирования статуса соединения, компонент 185 приема запроса подписки, компонент 190 обновления подписок, компонент 165 создания коллекции, компонент 160 хранилища публикаций и компонент 195 хранилища подписок. Хранилище 160 публикаций содержит публикации издателей. Публикации организованы в коллекции, созданные посредством компонента 165 создания коллекции. Компонент 150 приема обновления публикации вызывается тогда, когда от издателя принимается запрос обновления одной или более публикаций. Компонент 150 приема обновления публикации вызывает компонент 155 обновления публикаций, чтобы добавлять, удалять или обновлять публикации в хранилище 160 публикаций согласно запросу. Компонент 170 приема обновления членства вызывается тогда, когда от издателя принимается запрос обновления членского списка одной или более коллекций в хранилище 160 публикаций. Запрос может быть принят как независимое сообщение или как часть запроса обновления публикации. Компонент 170 приема обновления членства вызывает компонент 175 обновления членств, чтобы добавлять, удалять и обновлять членства коллекций в хранилище 160 публикаций. Компонент 185 приема запроса подписки вызывается тогда, когда от объекта принимается запрос подписки на один или более типов публикаций издателя. Компонент 185 приема запроса подписки вызывает компонент 190 обновления подписок, чтобы подписать объект на запрошенные типы публикаций. Подписки хранятся в хранилище 195 подписок, которое может быть интегрировано с хранилищем 160 публикаций. Компонент 180 истечения срока действия публикаций периодически вызывается системой присутствия, чтобы вычищать публикации с истекшим сроком действия в хранилище 160 публикаций. Хотя на фиг.1 это не показано, объектные устройства включают в себя компоненты системы присутствия, предназначенные для того, чтобы определять коллекции и их членства, передавать обновления публикации, передавать запросы подписки и чтобы принимать уведомления об обновлениях подписок.
Вычислительное устройство, на котором реализована система, может включать в себя центральное процессорное устройство, память, устройства ввода (например, клавиатуру и указательные устройства), устройства вывода (например, устройства отображения) и устройства хранения (например, приводы дисков). Память и устройства хранения представляют собой машиночитаемые средства, которые могут содержать инструкции, которые реализуют систему. В добавление, структуры данных и структуры сообщения могут сохраняться или передаваться посредством среды передачи данных, такой как сигнал на линии связи. Могут использоваться различные линии связи, такие как Интернет, локальная сеть, глобальная сеть, коммутируемое соединение точка-точка, сотовая телефонная сеть и т.п.
Варианты осуществления системы могут быть реализованы в различных рабочих окружениях, которые включают в себя персональные компьютеры, серверы, карманные устройства или лэптопы, многопроцессорные системы, системы, основанные на микропроцессорах, программируемую потребительскую электронику, цифровые камеры, сетевые персональные компьютеры, мини-компьютеры, мэйнфреймы, распределенные вычислительные окружения, которые включают в себя любые из вышеупомянутых систем или устройств и т.п. Компьютерными системами могут быть сотовые телефоны, персональные цифровые секретари, смартфоны, персональные компьютеры, программируемая потребительская электроника, цифровые камеры и т.п.
Система может быть описана в общем контексте выполняемых компьютером инструкций, таких как программные модули, которые выполняются одним или более компьютерами или другими устройствами. В общем, программные модули включают в себя рутинные процедуры, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или осуществляют конкретные абстрактные типы данных. Как правило, функциональность программных модулей может быть комбинирована или распределена согласно требованиям в различных вариантах осуществления.
Фиг.2 представляет собой распечатку протокола, которая иллюстрирует расширения протокола SIP для передачи обновлений публикаций в одном варианте осуществления. Протокол начинается с SIP-глагола "Публиковать" ("PUBLISH") 210, который сигнализирует запрос на публикацию информации. Протокол содержит заголовки 220, которые представляют дополнительно описание запроса, такое как тип его содержимого. Протокол содержит раздел 230 "<publish>" (<публиковать>), который содержит раздел 232 <publications> (<публикации>). В разделе "<publications>" перечислены публикации 235 и 240, которые требуется опубликовать, а также публикацию 250, публикация которой должна быть отменена. Публикация 235 специфицирует информацию для категории "статус" ("status"), конкретный экземпляр категории "лэптоп" ("laptop"), контейнер (который представляет собой тип коллекции), идентифицируемый как "1", версию "0", публикующего пользователя, идентифицируемого посредством SIP-адреса "sip:foo@bar.com", и тип истечения срока действия для публикации "пользователя" ("user"), который указывает, что публикация должна быть удалена, когда пользователь переходит в режим оффлайн. Несмотря на то что для некоторых полей в целях ясности использован текст, также могут использоваться числа. Например, значение поля "экземпляр" ("instance") может содержать уникальный идентификатор, присвоенный устройству, на текст "лэптоп" ("laptop"). Еще одна публикация 240 специфицирует ту же категорию "status" и для другого экземпляра "настольный компьютер" ("desktop") в другом контейнере "2" для того же публикующего пользователя. Протокол также содержит публикацию 250, которая должна быть удалена из хранилища публикаций, как указано в этом примере посредством типа истечения срока действия, который равен нулю. Несмотря на то что в этом примере поле "expireType" ("тип истечения срока действия") перегружено, чтобы указывать, что публикация должна быть отменена, для этой цели также может быть использовано отдельное поле или отдельный XML-раздел внутри протокола. Публикация 250, которая удаляется, идентифицируется посредством наименования категории, идентификатора экземпляра, идентификатора контейнера и адреса публикующего пользователя. Специфицирование адреса публикующего пользователя в публикации позволяет другим объектам публиковать и отменять публикацию информации присутствия от лица пользователя, как например, сервер Exchange, описанный выше.
Фиг.3 представляет собой схему последовательности операций, которая иллюстрирует обработку, выполняемую компонентом обновления публикаций, который входит в состав системы присутствия в одном варианте осуществления. Компонент вызывается компонентом приема обновления публикации, когда принимается запрос публикации, такой как показанный на фиг.2. На этапе 310 компонент принимает запрос обновления публикаций от компонента приема обновления публикации. На этапе 320 компонент выбирает следующую публикацию из запроса. На этапе 330 компонент определяет местоположение коллекции для публикующего пользователя, идентифицируемого посредством выбранной публикации в хранилище публикаций. На этапе 340 принятия решений, если публикация существует, то компонент продолжает процесс на этапе 360, а в противном случае компонент продолжает процесс на этапе 350. На этапе 350 публикация, которая ранее не существовала, добавляется в хранилище публикаций. На этапе 360 существующая публикация в хранилище публикаций обновляется с учетом информации из запроса. На этапе 370 принятия решений, если в запросе присутствуют другие публикации, то компонент переходит на этап 320, чтобы выбрать следующую публикацию, в противном случае компонент завершает процесс.
Фиг.4 представляет собой распечатку протокола, которая иллюстрирует расширения протокола SIP для передачи запросов на подписку в одном варианте осуществления. Протокол начинается с SIP-глагола "Подписаться" ("SUBSCRIBE") 410, который сигнализирует запрос на подписку на опубликованную информацию. Протокол содержит заголовки 420, которые представляют дополнительное описание запроса, такое как тип его содержимого. Протокол также содержит раздел 440 <batchSub> (<пакет подписок>), который содержит раздел 442 <action> (<действие>). Раздел действие содержит раздел "<adhocList>" 445 и раздел "<categoryList>" 450. Раздел 445 <adhoclist> специфицирует идентификаторы публикующих пользователей, на публикации которых подписывающийся пользователь хочет получать уведомления. Раздел 450 <categorylist> специфицирует категории, на которые требуется подписаться для каждого публикующего пользователя. Результатом запроса подписки будет то, что подписывающийся пользователь будет принимать уведомления для каждой специфицированной категории для каждого специфицированного пользователя. Хотя на фиг.4 это не показано, запрос также может содержать список категорий и пользователей, подписку на которые нужно отменить, аналогично разделу 440 subscribe (подписка).
Фиг.5 представляет собой схему последовательности операций, которая иллюстрирует обработку, выполняемую компонентом обновления подписок, который входит в состав системы присутствия в одном варианте осуществления. Компонент вызывается компонентом приема запроса подписки, когда принимается запрос подписки, такой как показанный на фиг.4. На этапе 510 компонент принимает запрос подписки от компонента приема запроса подписки. На этапе 520 принятия решений, если в запросе присутствует другой дополнительный фильтр категории, то компонент продолжает процесс на этапе 530, а в противном случае компонент продолжает процесс на этапе 550. На этапе 530 компонент выбирает следующий фильтр категории из запроса. На этапе 540 компонент обновляет фильтры категории в хранилище подписок. Далее, компонент переходит на этап 520, чтобы определить, присутствуют ли в запросе другие фильтры категории. На этапе 550 принятия решений, если в запросе присутствует другая подписка, то компонент продолжает процесс на этапе 560, а в противном случае компонент продолжает процесс на этапе 580. На этапе 560 компонент выбирает следующую подписку из запроса подписки. На этапе 570 компонент добавляет подписку в хранилище подписок. Подписка может быть в форме списка пользователей и списка категорий, так что в одном разделе подписки для множества пользователей может быть подписано множество категорий. Далее, компонент переходит на этап 550, чтобы определить, присутствует ли в запросе другая подписка. На этапе 580 принятия решений, если в запросе присутствует другая отмена подписки, то компонент продолжает процесс на этапе 590, а в противном случае компонент завершает процесс. На этапе 590 компонент выбирает следующую отмену подписки из запроса. На этапе 595 компонент удаляет специфицированную подписку из хранилища подписок. После обработки всех отмен подписок, компонент завершает процесс.
Фиг.6 представляет собой распечатку протокола, которая иллюстрирует расширения протокола SIP для обновления членств коллекции в одном варианте осуществления. Показанная часть протокола может быть включена в тело SIP-запроса публикации, как показано на фиг.2, или она может быть частью независимого сообщения, специально предназначенного для обновления членств. Протокол начинается с раздела 610 "<setContainerMembers>", который содержит один или более разделов 615 "<container>", которые идентифицируют коллекцию, чьи членства должны быть модифицированы. Каждый раздел <container> содержит одну или более записей 620, 630 и 640 члена. Первая запись 620 члена с фиг.6 специфицирует тип "uri", который указывает, что значение равно SIP URI указанного пользователя. Тип действия "добавить" ("add") указывает, что специфицированный пользователь должен быть добавлен в указанную коллекцию как член с доступом. Вторая запись 630 члена специфицирует тип "sameDomain", который указывает, что модифицируется членство пользователей из того же домена, что и публикующий пользователь, и тип действия "удалить" ("remove") указывает, что доступ к коллекции удаляется. Третья запись 640 члена специфицирует тип "список контактов" ("contactList") и действие "add", которое указывает, что доступ к указанной коллекции должен быть предоставлен любому члену из списка контактов публикующего пользователя.
Фиг.7 представляет собой схему последовательности операций, которая иллюстрирует обработку, выполняемую компонентом обновления членств, который входит в состав системы присутствия в одном варианте осуществления. Компонент вызывается компонентом приема обновления членства, когда принимается запрос обновления членства, такой как показанный на фиг.6. На этапе 710 компонент принимает запрос обновления членств от компонента приема обновления членства. На этапе 720 компонент выбирает следующий раздел контейнера из запроса. На этапе 730 компонент выбирает следующее обновление члена из раздела контейнера. На этапе 740 принятия решений, если обновление члена содержит действие типа "добавить", то компонент продолжает процесс на этапе 750, а в противном случае компонент продолжает процесс на этапе 760. На этапе 750 пользователь или группа, специфицированная в обновлении члена, добавляется в список членов выбранного контейнера в хранилище публикаций. На этапе 760 пользователь или группа, специфицированная в обновлении члена, удаляется из списка членов выбранного контейнера в хранилище публикаций. На этапе 770 принятия решений, если в выбранном разделе контейнера присутствует другое обновление члена, то компонент переходит на этап 730, чтобы выбрать следующее обновление члена, а в противном случае компонент продолжает процесс на этапе 780. На этапе 780 принятия решений, если в запросе обновления членства присутствует другой контейнер, то компонент переходит на этап 720, чтобы выбрать следующий раздел контейнера, в противном случае компонент завершает процесс.
Фиг.8 представляет собой схему последовательности операций, которая иллюстрирует обработку, выполняемую компонентом истечения срока действия публикаций, который входит в состав системы присутствия в одном варианте осуществления. Компонент периодически вызывается системой присутствия, чтобы удалять просроченные публикации из хранилища публикаций. На этапе 810 компонент выбирает следующую публикацию из хранилища публикаций. На этапе 820 принятия решений, если тип истечения срока действия выбранной публикации является "статическим" ("static"), то компонент продолжает процесс на этапе 860, а в противном случае компонент продолжает процесс на этапе 830. На этапе 830 принятия решений, если тип истечения срока действия выбранной публикации является "устройством", то компонент продолжает процесс на этапе 833, а в противном случае компонент продолжает процесс на этапе 840. На этапе 833 принятия решений, если устройство, которое опубликовало выбранную публикацию, находится в режиме оффлайн, то компонент продолжает процесс на этапе 836, а в противном случае компонент продолжает процесс на этапе 860. На этапе 836 компонент удаляет публикацию с истекшим сроком действия из хранилища публикаций. На этапе 840 принятия решений, если тип истечения срока действия выбранной публикации является "пользователем", то компонент продолжает процесс на этапе 843, а в противном случае компонент продолжает процесс на этапе 850. На этапе 843 принятия решений, если пользователь, который опубликовал выбранную публикацию, не вошел в систему какого-либо устройства, то компонент продолжает процесс на этапе 846, а в противном случае компонент продолжает процесс на этапе 860. На этапе 846 компонент удаляет публикацию с истекшим сроком действия из хранилища публикаций. На этапе 850 принятия решений, если тип истечения срока действия выбранной публикации является "длительностью", то компонент продолжает процесс на этапе 853, в противном случае компонент продолжает процесс на этапе 860. На этапе 853 принятия решений, если величина времени, указанная для выбранной спецификации, истекла, то компонент продолжает процесс на этапе 856, а в противном случае компонент продолжает процесс на этапе 860. На этапе 856 компонент удаляет публикацию с истекшим сроком действия из хранилища публикаций. На этапе 860 принятия решений, если в хранилище публикаций присутствует еще одна публикация, то компонент переходит на этап 810, чтобы выбрать следующую публикацию, в противном случае компонент завершает процесс. Несмотря на то, что вышеописанный способ действует по принципу опроса для проверки и удаления публикаций с истекшим сроком действия, специалистам в данной области техники будет очевидно, что могут быть применены другие способы, такие как модель, управляемая событиями, в которой изменение статуса пользователя или устройства с онлайн на оффлайн напрямую приводит к удалению публикаций с истекшим сроком действия.
Несмотря на то что сущность изобретения была описана в привязке к структурным особенностям и/или методологическим действиям, следует понимать, что сущность, определенная в прилагаемой формуле изобретения, не ограничена конкретными особенностями или действиями, описанными выше. Скорее, описанные выше конкретные структурные особенности и действия раскрыты как примеры форм осуществления пунктов формулы изобретения. Например, запросы, обрабатываемые системой присутствия, были описаны в привязке к протоколу SIP, но могут использоваться другие протоколы, такие как специальный протокол на верхнем уровне Протокола Управления Передачей (Transmission Control Protocol, TCP). В некоторых случаях этапы были описаны как выполняемые компонентами сервера присутствия, но они также могут выполняться компонентами в объектах, которые взаимодействуют с сервером присутствия. Система также может быть реализована как сервер присутствия. Система также может быть реализована как одноранговая сеть, в которой нет единого центрального сервера присутствия, а информация присутствия может распределяться и храниться одноранговыми узлами сети. Соответственно, настоящее изобретение ограничивается только прилагаемой формулой изобретения.
Изобретение относится к области предоставления информации присутствия. Техническим результатом является увеличения вычислительной и сетевой эффективности серверов присутствия, имеющих коллекции публикаций. Система присутствия использует несколько методов, которые позволяют серверу присутствия предоставлять богатую информацию присутствия без необходимости дорогостоящей обработки. Во-первых, система присутствия принимает пакеты обновлений публикации в одном запросе обновления присутствия. Аналогично, система присутствия принимает пакеты запросов подписки. Далее, система присутствия поддерживает новые типы истечения срока действия для запросов обновления публикации, которые исключают необходимость для публикующего пользователя непрерывно обновлять информацию присутствия, которая не была изменена. В заключение, система присутствия принимает списки доступа, которые содержат членские группы, а не индивидуальный список пользователей, которые должны иметь доступ к конкретной коллекции присутствия. 2 н. и 12 з.п. ф-лы, 8 ил.
1. Система для осуществления истечения срока действия для опубликованной информации присутствия с сервера присутствия, содержащая:
память с сохраненными исполняемыми компьютером инструкциями для компонента приема запроса, который принимает запрос публикации информации присутствия, содержащей идентификатор пользователя, идентифицирующий публикующего пользователя и тип истечения срока действия, являющийся статическим или нестатическим, причем нестатический тип истечения срока действия указывает на то, что информация присутствия должна оставаться опубликованной до тех пор, пока статус соединения публикующего пользователя не изменится, причем статический тип истечения срока действия указывает на то, что информация присутствия должна оставаться опубликованной до тех пор, пока публикация явным образом не будет отменена, причем компонент приема запроса сохраняет идентификатор пользователя и тип истечения срока действия и причем запрос публикации информации присутствия содержит:
список тегов публикация, задающий информацию присутствия, которая должна быть опубликована, и список тегов отменить публикацию, задающий информацию присутствия, которая не должна быть опубликована;
описание категории устройств, к которым информации присутствия применяется;
описание экземпляров устройства с категорией, к которой информации присутствия применяется, причем каждый экземпляр устройства задает конкретное устройство, и
коллекцию, к которой информации присутствия применяется, причем коллекция задает группу подписчиков, которым информация присутствия публикуется;
компонент публикации, который публикует пакеты сохраненной информации присутствия подписчикам в одной публикации;
компонент приема запроса подписок, который принимает запросы подписок от потенциального подписчика, причем индивидуальные запросы подписки задают множество атрибутов подписывающегося пользователя и передаются индивидуально;
компонент детектирования статуса соединения, который детектирует, что статус соединения изменился;
компонент обновления подписок, который вызывается компонентом приема запроса подписок, передающим один запрос компоненту обновления подписок, причем один запрос включает в себя один или более фильтров подписок и один или более фильтров удаления подписок, причем фильтр подписок задает доступную категорию, экземпляр и коллекции, на которые потенциальный подписчик желает подписаться, и причем фильтр удаления подписок задает существующую категорию, экземпляр и коллекцию подписок, которые потенциальный подписчик желает прекратить использовать, причем компонент обновления подписок применяет фильтры подписок и фильтры удаления подписок; и
компонент удаления публикации, который удаляет публикацию информации присутствия с нестатическим типом истечения срока действия с сервера присутствия, когда компонент детектирования статуса соединения детектирует, что статус соединения изменился посредством удаления сохраненной информации присутствия пользователя с информацией присутствия со статическим типом истечения срока, когда явный запрос удаления публикации принят посредством удаления информации присутствия пользователя со статическим типом истечения срока действия, так что последующая публикация информации присутствия для запроса не будет включать в себя неопубликованную информацию присутствия, причем компонент удаления публикации является независимым компонентом публикации, так что информация присутствия на сервере присутствия является не зависимой от подписчиков, и
процессор для выполнения исполняемых компьютером инструкций, сохраненных в памяти.
2. Система по п.1, в которой статус соединения указывает, соединено ли определенное устройство с сервером присутствия.
3. Система по п.1, в которой статус соединения указывает, активен ли определенный пользователь на сервере присутствия.
4. Система по п.3, в которой пользователь активен, когда пользователь вошел в сервер присутствия через, по меньшей мере, одно устройство.
5. Система по п.1, в которой изменение статуса соединения детектируется путем приема сообщения, указывающего, что статус соединения изменился.
6. Система по п.1, в которой изменение статуса соединения детектируется, когда никакое сообщение не было принято от устройства в течение заданного интервала времени.
7. Система по п.1, в которой изменение статуса соединения детектируется, когда устройство не может ответить на запрос от сервера присутствия.
8. Система по п.1, в которой информация присутствия с нестатическим типом истечения срока дополнительно содержит, по меньшей мере, одно из типа истечения срока пользователя, типа истечения срока устройства, продолжительности типа истечения срока, и причем информация присутствия с типом истечения срока пользователя истекает, когда пользователь в режиме оффлайн, информация присутствия с типом истечения срока устройства истекает, когда устройство в режиме оффлайн, продолжительность типа истечения срока истекает, когда продолжительность заканчивается.
9. Система по п.1, в которой информация присутствия содержит календарную информацию для публикующего пользователя.
10. Машиночитаемый носитель, содержащий инструкции для истечения срока действия опубликованной информации присутствия с сервера присутствия посредством способа для осуществления истечения срока действия для опубликованной информации присутствия с сервера присутствия, содержащего этапы, на которых:
принимают запрос публикации пакетной информации присутствия в одной публикации, содержащей идентификатор пользователя и тип истечения срока действия, причем тип истечения срока действия представляет собой, по меньшей мере, один из типа истечения срока действия пользователя, типа истечения срока действия устройства, типа истечения продолжительности срока действия, и статический тип истечения срока действия, причем статический тип истечения срока действия указывает на то, что информация присутствия должна оставаться опубликованной независимо на основе статуса соединения, причем запрос публикации содержит:
список тегов публикация, задающий информацию присутствия, которая должна быть опубликована, и список тегов отменить публикацию, задающий информацию присутствия, которая не должна быть опубликована;
описание категории устройств, к которым информация присутствия применяется;
описание экземпляров устройства с категорией, к которой информация присутствия применяется; и
коллекцию, к которой информация присутствия применяется, причем коллекция задает группу подписчиков, которым информация присутствия публикуется;
детектируют, что статус соединения для информации присутствия типа истечения срока действия пользователя изменился потому, что пользователь перешел в режим оффлайн или онлайн независимо от аудитории информации присутствия; и
детектируют, что статус соединения для информации присутствия типа истечения срока действия устройства изменился потому, что устройство перешло в режим оффлайн или онлайн независимо от аудитории информации присутствия; и
детектируют, что статус соединения для информации присутствия типа истечения продолжительности срока действия изменился потому, что продолжительность истекла независимо от аудитории информации присутствия;
принимают запрос обновления подписок от подписчика для обновления подписок для подписчика, причем запрос обновления подписок включает в себя фильтр подписок и фильтр удаления подписок, причем фильтр подписок задает доступную категорию, экземпляр и коллекции, на которые потенциальный подписчик желает подписаться, и причем фильтр удаления подписок задает существующую категорию, экземпляр и коллекцию подписок, которые потенциальный подписчик желает прекратить использовать,
обновляют подписки, основываясь на фильтре подписок и фильтре удаления подписок; и
удаляют публикацию информации присутствия с сервера присутствия после детектирования, что статус соединения изменился.
11. Машиночитаемый носитель по п.10, в котором статус соединения указывает, соединено ли определенное устройство с сервером присутствия.
12. Машиночитаемый носитель по п.10, в котором статус соединения указывает, активен ли определенный пользователь на сервере присутствия.
13. Машиночитаемый носитель по п.12, в котором пользователь активен, если пользователь вошел в сервер присутствия через, по меньшей мере, одно устройство.
14. Машиночитаемый носитель по п.11 в котором запрос содержит неопубликованную публикацию для первого статуса соединения и опубликованную публикацию для второго статуса соединения, и причем, по меньшей мере, одного из детектирования того, что статус соединения для информации присутствия типа истечения срока действия пользователя изменился и детектирования того, что статус соединения для информации присутствия типа истечения срока действия устройства изменился содержит детектирование того, что запрос содержит неопубликованную информацию и опубликованную информацию.
Топчак-трактор для канатной вспашки | 1923 |
|
SU2002A1 |
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
RU 2005115975 A, 20.01.2006. |
Авторы
Даты
2012-05-10—Публикация
2007-01-25—Подача