Предшествующий уровень техники
Серверы присутствия все чаще используются для предоставления информации присутствия, такой как статус доступности пользователей. Информация присутствия пользователя идентифицирует текущий "статус присутствия" этого пользователя. Пользователи могут сделать доступной информацию о своем присутствии, чтобы другие пользователи могли определить, как лучше всего связаться с ними. Например, информация присутствия может указывать, что пользователь осуществил логический вход в сервер мгновенных сообщений ("онлайн") или осуществил логический выход из него ("оффлайн"). Информация присутствия также может предоставлять более детальную информацию о доступности пользователя. Например, даже если пользователь находится в режиме онлайн, он может находиться вдали от своего компьютера, например на совещании. В подобных случаях статус присутствия может указывать "онлайн" и "на совещании".
В контексте мгновенных сообщений публикующий пользователь ("издатель") может предоставлять свою информацию присутствия в службу присутствия, которая, в свою очередь, предоставляет информацию присутствия подписывающимся пользователям ("подписчикам"). Соответственно, служба присутствия может использовать модель подписчик/издатель, чтобы предоставлять информацию для публикующих и подписывающихся пользователей службы присутствия. Когда информация присутствия пользователя изменяется, служба присутствия уведомляется об изменении посредством компьютерной системы этого пользователя, и она, в свою очередь, уведомляет подписывающихся пользователей об этом изменении. Тогда подписывающийся пользователь на основании информации присутствия намеченных участников может определить, каким образом лучше всего связаться с публикующим пользователем. Например, если информация присутствия указывает, что публикующий пользователь в текущее время проводит совещание по телефону, то подписывающийся пользователь может решить послать публикующему пользователю мгновенное сообщение, а не звонить ему напрямую. Тем не менее, если подписывающемуся пользователю требуется позвонить и поговорить с публикующим пользователем, то подписывающийся пользователь может наблюдать за изменением информации присутствия публикующего пользователя, чтобы узнать, когда можно выполнить звонок. Когда подписывающийся пользователь замечает, что информация присутствия публикующего пользователя указывает, что телефонное совещание было завершено, тогда подписывающийся пользователь может позвонить по телефону.
Отдельный пользователь также может публиковать информацию присутствия из множества устройств. Например, пользователь может быть одновременно подключен к службе присутствия с переносного компьютера, настольного компьютера и сотового телефона. Информация присутствия может указывать статус пользователя на каждом устройстве. Это особенно полезно если, например, пользователь идет на совещание с сотовым телефоном и уже отошел от своего настольного компьютера. Если подписывающийся пользователь хочет связаться с публикующим пользователем, то информация присутствия может указывать, что с точки зрения связи с пользователем звонок на сотовый телефон будет более эффективен, чем передача мгновенного сообщения на настольный компьютер публикующего пользователя. Каждое устройство пользователя также может подписаться на информацию присутствия других устройств пользователя, что позволяет этим устройствам, например, определять, на каком устройстве публикующего пользователя имеет место наибольшая активность.
Из-за постоянного возрастания популярности систем мгновенных сообщений и других систем связи реального времени службы присутствия должны поддерживать все большее количество пользователей. В добавление, эти системы должны поддерживать постоянно усложняющиеся определения "информации присутствия". Например, информация присутствия может включать в себя календарную информацию, которая определяет доступность издателя в течение следующих нескольких месяцев. В результате сервер присутствия, как правило, разрабатывается так, чтобы предоставлять службы присутствия эффективным образом. К сожалению, типичные модели присутствия требуют выполнения больших объемов вычислений при обновлении информации присутствия. Так, когда добавляются новые издатели и подписчики, возникает необходимость в дополнительных серверах присутствия, чтобы выполнять необходимые вычисления.
Ранее системы присутствия обрабатывали публикацию информации присутствия путем размещения всей информации присутствия в одном XML-документе. В этом случае, когда определенные фрагменты информации присутствия пользователя изменяются, издатель должен указать на строку в документе и заменить ее новой информацией присутствия или указать узел в XML-поддереве и заменить его другим XML-поддеревом. Данный способ обновления требует выполнения дорогого в вычислительном плане XML-разбора. Когда количество пользователей и обновлений присутствия увеличивается, нагрузка по XML-разбору, выполняемому сервером присутствия, может стать чрезмерной. Это модель публикации информации присутствия не позволяет подписчику подписаться только на часть документа присутствия. В добавление, отдельные части документа не имеют версий, и подписчик или сервер присутствия не могут с легкостью определить части документа, которые были недавно изменены. Эта модель также не позволяет раскрывать различные версии документа присутствия различным пользователям или специфицировать различную информацию авторизации для отдельных частей документа.
Более эффективная система присутствия, которая менее требовательна с вычислительной точки зрения, описана в связанной патентной заявке США №11/190,503 (№418268225US по реестру поверенных) «Organizing Presence Information into Collections of Publications» ("Организация информации присутствия в совокупности публикаций"), поданной 26-го июля 2005 г, которая включена в настоящий документ в своей целостности посредством ссылки. В упомянутой связанной заявке описаны способ и система для управления информацией присутствия на основании совокупностей публикаций. Система совокупности присутствия создает совокупности публикаций для издателя. Публикация включает в себя тип и значение, а также сопутствующие атрибуты, такие как срок действия публикации. Например, публикация с типом "статус" и значением "онлайн" может указывать подписывающимся пользователям, что публикующий пользователь в данное время находится в режиме онлайн. Издатель может определить одну совокупность публикаций, которая должна быть доступна определенным подписчикам, и другую совокупность публикаций, которая должна быть доступна другим подписчикам. Например, одна совокупность может быть общедоступна, тогда как другая совокупность может быть видна только коллегам публикующего пользователя. Каждая совокупность содержит список пользователей, которым разрешается подписываться на информацию из этой совокупности. Система совокупности присутствия может позволять издателю обновлять отдельные публикации в совокупности. При получении обновления сервер присутствия может быстро обновить информацию присутствия без необходимости выполнения разбора XML-документов, который требует больших объемов вычислений. Каждая совокупность публикаций может содержать категории информации. Категория представляет собой тип публикации, которых охватывает множество совокупностей. Например, категория "статус" может иметь публикацию со значением "недоступен" в совокупности, которая общедоступна, а также публикацию с величиной "на встрече с Джоном" в совокупности, которая доступна коллегам. Публикация также может специфицировать идентификатор экземпляра. Идентификатор экземпляра дифференцирует схожую информацию в одной и той же совокупности. Например, пользователь может иметь публикацию "статус" с экземпляром "лэптоп", которая указывает статус пользователя на лэптопе, а также публикацию "статус" с экземпляром "сотовый телефон", которая указывает статус пользователя на сотовом телефоне.
Несмотря на то, что данная система совокупности присутствия представляет улучшение по сравнению с существующим уровнем техники, она может увеличить нагрузку с точки зрения сетевых ресурсов и сервера присутствия. Например, публикующий пользователь, который посылает серверу присутствия отдельные обновления множества экземпляров совокупности в рамках множества совокупностей, создает большой объем сетевого потока обмена на сервер присутствия. Аналогично, подписывающийся пользователь, который принимает отдельные уведомления для каждой обновляемой публикации, создает большой объем сетевого потока обмена от сервера присутствия к подключенному устройству или устройствам подписанного пользователя. Как правило, срок действия публикаций присутствия устанавливается равным фиксированному количеству времени, и публикации присутствия должны периодически обновляться публикующим пользователям, чтобы поддерживать публикации в опубликованном состоянии. Необходимость обновления множества публикаций, которые не были изменены, создает излишнюю нагрузку на сервер. В заключение, добавление совокупностей с переменными степенями детализации, доступных различным подписывающимся пользователям, создает возможность раскрытия информации присутствия большим группам подписчиков. Список пользователей, имеющих доступ к публикации, может сильно расшириться, из-за чего увеличивается объем вычислений для проверки того, на какую совокупность должен быть подписан конкретный пользователь, что приводит к дополнительной нагрузке сервера присутствия.
Сущность изобретения
Предоставлены способ и система для увеличения вычислительной и сетевой эффективности серверов присутствия с совокупностями публикаций. Данная система присутствия использует несколько методик, которые позволяют серверу присутствия предоставлять богатую информацию присутствия без необходимости дорогостоящей обработки. Во-первых, система присутствия принимает пакеты обновлений публикации в одном запросе обновления присутствия. Аналогично, система присутствия принимает пакеты запросов подписки. Далее, система присутствия поддерживает новые типы срока действия для запросов обновления публикации, которые исключают необходимость для публикующего пользователя непрерывно обновлять информацию присутствия, которая не была изменена. В заключение, данная система присутствия принимает списки доступа, которые содержат членские группы, а не отдельные списки пользователей, которые должны иметь доступ к отдельной совокупности присутствия.
Раздел "Сущность изобретения" приведен, чтобы представить в упрощенной форме выборку концепций, которые подробно описываются ниже, в разделе "Подробное описание". Раздел "Сущность изобретения" не предназначен ни для определения ключевых или существенных отличительных признаков заявленного изобретения, ни для использования при определении объема заявленного изобретения.
Перечень фигур чертежей
Фиг.1 - структурная схема, которая иллюстрирует компоненты системы присутствия в одном варианте осуществления;
Фиг.2 - распечатка протокола, которая иллюстрирует расширения протокола SIP для передачи обновлений публикаций в одном варианте осуществления настоящего изобретения;
Фиг.3 - схема последовательности операций, которая иллюстрирует обработку, выполняемую компонентом обновления публикации, который входит в состав системы присутствия в одном варианте осуществления настоящего изобретения;
Фиг.4 - распечатка протокола, которая иллюстрирует расширения протокола SIP для передачи запросов на подписку в одном варианте осуществления настоящего изобретения;
Фиг.5 - схема последовательности операций, которая иллюстрирует обработку, выполняемую компонентом обновления подписок, который входит в состав системы присутствия в одном варианте осуществления настоящего изобретения;
Фиг.6 - распечатка протокола, которая иллюстрирует расширения протокола SIP для обновления членств совокупности в одном варианте осуществления настоящего изобретения;
Фиг.7 - схема последовательности операций, которая иллюстрирует обработку, выполняемую компонентом обновления членств, который входит в состав системы присутствия в одном варианте осуществления настоящего изобретения;
Фиг.8 - схема последовательности операций, которая иллюстрирует обработку, выполняемую компонентом срока действия публикации, который входит в состав системы присутствия в одном варианте осуществления настоящего изобретения.
Подробное описание
Предоставлены способ и система для увеличения вычислительной и сетевой эффективности серверов присутствия с совокупностями публикаций. Данная система присутствия использует несколько методик, которые позволяют серверу присутствия предоставлять богатую информацию присутствия без необходимости дорогостоящей обработки. Во-первых, система присутствия принимает пакеты обновлений публикации в одном запросе обновления присутствия. Например, публикующий пользователь может публиковать множество категорий информации во множестве совокупностей путем передачи в сервер присутствия только одного запроса обновления. Аналогично, система присутствия принимает пакеты запросов подписки. Например, подписывающийся пользователь может выполнить запрос подписки на множество категорий информации во множестве совокупностей путем передачи в сервер присутствия только одного запроса подписки. Далее, система присутствия поддерживает новые типы срока действия для запросов обновления публикации, которые исключают для публикующего пользователя необходимость непрерывного обновления информации присутствия, которая не была изменена. Например, домашний телефонный номер публикующего пользователя изменяется крайне редко, так что система присутствия позволяет пользователю публиковать эту информацию только один раз и не обновлять ее, если она не изменяется, а не выполнять повторную публикацию этой информации раз в час. В заключение, данная система присутствия принимает списки доступа, которые содержат членские группы, а не отдельные списки пользователей, которые должны иметь доступ к отдельной совокупности присутствия. Например, публикующий пользователь может предоставить доступ всем своим коллегам путем применения членской группы к совокупности без отдельного перечисления каждого сотрудника.
Пакетная обработка публикации
В одном варианте осуществления система присутствия принимает множество публикаций присутствия в одном запросе. Эти публикации могут охватывать множество категорий, экземпляров и совокупностей. Например, публикующий пользователь, имеющий категории публикации "статус" и "место", может публиковать статус "недоступен" и место "Штаб-квартира Microsoft" в совокупности, которая общедоступна, а также статус "на встрече с Джоном" и место "Конференц-зал 5/Строение 40" в совокупности, которая доступа только его коллегам. Публикующий пользователь также может публиковать множество экземпляров одной и той же информации в каждой совокупности. Например, категория "телефонный номер" может иметь экземпляры "домашний" для домашнего номера, "рабочий" для рабочего номера и "мобильный" для сотового номера. Пользователь может публиковать значения для каждого из этих экземпляров в одном и том же запросе публикации.
В одном варианте осуществления система присутствия принимает отмены публикаций и публикации в одном запросе. Например, публикующий пользователь, который идет на совещание, может осуществить логический выход из своего настольного компьютера, что приводит к отмене публикаций экземпляров, связанных с настольным компьютером, и пользователь может стать активным на своем сотовом телефоне, что приводит к необходимости добавления новых экземпляров для сотового телефона. Система присутствия может принимать отмену публикаций настольного компьютера и публикации сотового телефона в одном запросе обновления. Например, система присутствия предприятия может принимать обновления публикаций с обоих устройств и пересылать эти обновления в глобальную систему присутствия в едином запросе.
В одном варианте осуществления система присутствия передает множество обновлений присутствия, используя расширения Протокола Инициации Сеанса (SIP) и протокола Расширений Применения Мгновенных Сообщений и Присутствия для SIP (SIMPLE). SIP представляет собой протокол управления прикладного уровня, который может использоваться устройствами для обнаружения друг друга и установки, модификации и завершений сессий между устройствами. Протокол SIP является предложенным Интернет стандартом, который описан в документе "RFC 3261." Документ RFC 3261, который доступен в Интернете по адресу www.ietf.org/rfc/rfc3261.txt, включен в настоящий документ в своей целостности посредством ссылки. Стандарт SIP предоставляет возможность конструкторам добавлять расширения, чтобы определять специальные свойства. Система присутствия добавляет тэг <публиковать> (<publish>), который содержит список тэгов <публикация> (<publication>), специфицирующий информацию присутствия, которая должна быть опубликована, а также схожий тэг <отменить публикацию> (<unpublish>), который содержит список тэгов <публикация> (<publication>), специфицирующих информацию присутствия, публикация которых должна быть отменена. Каждая публикация идентифицирует категорию, экземпляр и совокупность, к которой она относится. В некоторых вариантах осуществления система присутствия принимает значение срока действия, равное нулю для публикации в тэге <публиковать>, вместо того, чтобы определять отдельный тэг <отменить публикацию>.
В одном варианте осуществления система присутствия принимает обновления для множества публикующих пользователей в одном запросе. Например, когда используется протокол SIP, каждая публикация может содержать Унифицированный Идентификатор Информационного Ресурса (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 <подписка>.
Фиг.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 принятия решений, если тип срока действия выбранной публикации является "статическим", то компонент продолжает процесс с этапа 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, но могут использоваться другие протоколы, такие как специальный протокол на верхнем уровне Протокола Управления Передачей (TCP). В некоторых случаях этапы были описаны как выполняемые компонентами сервера присутствия, но они также могут выполняться компонентами в объектах, которые взаимодействуют с сервером присутствия. Настоящая система также может быть реализована как одноранговая сеть, в которой нет единого центрального сервера присутствия, а информация присутствия может распределяться и храниться одноранговыми узлами сети. Соответственно, настоящее изобретение ограничивается только прилагаемой формулой изобретения.
Изобретение относится к области серверов присутствия. Техническим результатом является повышение вычислительной и сетевой эффективности серверов присутствия. Компьютерная система для передачи множества обновлений присутствия с использованием единого пакетного запроса содержит процессор; модуль памяти, подключенный к процессору с возможностью обмена данными и содержащий машиночитаемые команды, которыми при их исполнении процессором реализуется способ, содержащий прием множества обновлений присутствия, причем каждое из этого множества обновлений присутствия содержит информацию присутствия, включающую в себя по меньшей мере одно из идентификаторов пользователя, который идентифицирует пользователя, идентификатора совокупности, который идентифицирует совокупность, причем совокупность идентифицирует группу публикаций присутствия, и идентификатора типа, который идентифицирует категорию информации присутствия; отправку упомянутого множества обновлений присутствия в едином пакетном запросе на сервер присутствия, причем единый пакетный запрос включает в себя по меньшей мере два обновления присутствия, причем упомянутое множество обновлений присутствия содержит: обновления публикаций и обновления подписок. 3 н. и 12 з.п. ф-лы, 8 ил.
1. Компьютерная система для передачи множества обновлений присутствия с использованием единого пакетного запроса, содержащая:
по меньшей мере один процессор;
по меньшей мере один модуль памяти, подключенный к этому по меньшей мере одному процессору с возможностью обмена данными и содержащий машиночитаемые команды, которыми при их исполнении этим по меньшей мере одним процессором реализуется способ, содержащий
прием множества обновлений присутствия, причем каждое из этого множества обновлений присутствия содержит информацию присутствия, включающую в себя по меньшей мере одно из
идентификатора пользователя, который идентифицирует пользователя,
идентификатора совокупности, который идентифицирует совокупность, причем совокупность идентифицирует группу публикаций присутствия, и
идентификатора типа, который идентифицирует категорию информации присутствия;
отправку упомянутого множества обновлений присутствия в едином пакетном запросе на сервер присутствия, причем единый пакетный запрос включает в себя по меньшей мере два обновления присутствия, при этом по меньшей мере одно обновление присутствия содержит информацию присутствия, отличающуюся от информации присутствия другого обновления присутствия в едином пакетном запросе, причем упомянутое множество обновлений присутствия содержит:
обновления публикаций, включающие в себя публикацию информации присутствия от множества устройств, публикацию информации присутствия для множества пользователей и отмену публикации информации присутствия, и
обновления подписок, включающие в себя подписки для множества категорий, подписки для множества публикующих пользователей и удаление новых подписок.
2. Компьютерная система по п.1, в которой информация присутствия дополнительно содержит идентификатор экземпляра, который идентифицирует экземпляр публикации.
3. Компьютерная система по п.1, в которой информация присутствия дополнительно содержит значение, которое специфицирует новое значение для информации присутствия, которая должна быть опубликована.
4. Компьютерная система по п.1, дополнительно содержащая промежуточный сервер присутствия, который собирает упомянутое множество обновлений присутствия и пересылает это множество обновлений присутствия в одном или более пакетных запросах в глобальный сервер присутствия.
5. Компьютерная система по п.1, в которой для единого пакетного запроса используется протокол SIP.
6. Компьютерная система по п.1, в которой единый пакетный запрос содержит обновления публикаций, имеющие различные атрибуты.
7. Компьютерная система по п.6, в которой один из атрибутов представляет собой политику истечения срока действия.
8. Компьютерно-реализуемый способ для передачи множества обновлений присутствия с использованием единого пакетного запроса, содержащий этапы, на которых
принимают множество обновлений присутствия, причем каждое из этого множества обновлений присутствия содержит информацию присутствия, включающую в себя по меньшей мере одно из
идентификатора пользователя, который идентифицирует пользователя,
идентификатора совокупности, который идентифицирует совокупность, причем совокупность идентифицирует группу публикаций присутствия, и
идентификатора типа, который идентифицирует категорию информации присутствия;
отправляют упомянутое множество обновлений присутствия в едином пакетном запросе на сервер присутствия, причем единый пакетный запрос включает в себя по меньшей мере два обновления присутствия, при этом по меньшей мере одно обновление присутствия содержит информацию присутствия, отличающуюся от информации присутствия другого обновления присутствия в едином пакетном запросе, причем упомянутое множество обновлений присутствия содержит:
обновления публикаций, включающие в себя публикацию информации присутствия от множества устройств, публикацию информации присутствия для множества пользователей и отмену публикации информации присутствия, и
обновления подписок, включающие в себя подписки для множества категорий, подписки для множества публикующих пользователей и удаление новых подписок.
9. Компьютерно-реализуемый способ по п.8, в котором обновления присутствия содержат более одного идентификатора типа для идентифицированного публикующего пользователя, причем обновления присутствия содержат запрос на более чем один тип информации присутствия для публикующего пользователя в едином пакетном запросе.
10. Компьютерно-реализуемый способ по п.8, в котором обновления присутствия дополнительно содержат для каждого идентифицированного публикующего пользователя идентификатор типа отмены подписки, который идентифицирует тип информации присутствия для публикующего пользователя, подписка на которую должна быть отменена.
11. Компьютерно-реализуемый способ по п.8, в котором обновления присутствия дополнительно содержат идентификатор пользователя, который идентифицирует подписывающегося пользователя, подписки которого должны быть модифицированы.
12. Компьютерно-реализуемый способ по п.11, в котором упомянутое множество обновлений присутствия содержит обновления подписок для более чем одного подписывающегося пользователя.
13. Компьютерно-реализуемый способ по п.8, в котором для единого пакетного запроса используется протокол SIP.
14. Компьютерно-реализуемый способ по п.8, в котором единый пакетный запрос дополнительно содержит список фильтра, который идентифицирует типы информации присутствия, для которой подписывающийся пользователь должен получать уведомления.
15. Считываемый компьютером носитель, содержащий инструкции, которые сконфигурированы для передачи множества обновлений присутствия в едином пакетном запросе способом, содержащим
прием множества обновлений присутствия, причем каждое из этого множества обновлений присутствия содержит информацию присутствия, включающую в себя по меньшей мере одно из
идентификатора пользователя, который идентифицирует пользователя,
идентификатора совокупности, который идентифицирует совокупность, причем совокупность идентифицирует группу публикаций присутствия, и
идентификатора типа, который идентифицирует категорию информации присутствия;
отправку упомянутого множества обновлений присутствия в едином пакетном запросе на сервер присутствия, причем единый пакетный запрос включает в себя по меньшей мере два обновления присутствия, при этом по меньшей мере одно обновление присутствия содержит информацию присутствия, отличающуюся от информации присутствия другого обновления присутствия в едином пакетном запросе, причем упомянутое множество обновлений присутствия содержит:
обновления публикаций, включающие в себя публикацию информации присутствия от множества устройств, публикацию информации присутствия для множества пользователей и отмену публикации информации присутствия, и
обновления подписок, включающие в себя подписки для множества категорий, подписки для множества публикующих пользователей и удаление новых подписок.
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
US 6559863 B1, 06.05.2003 | |||
Способ и приспособление для нагревания хлебопекарных камер | 1923 |
|
SU2003A1 |
RU 2005104119 A, 10.07.2005. |
Авторы
Даты
2011-10-27—Публикация
2007-01-16—Подача