|
(21), (22) Заявка: 2008103500/02, 30.06.2006
(24) Дата начала отсчета срока действия патента:
30.06.2006
(30) Конвенционный приоритет:
06.07.2005 US 60/696,914
(43) Дата публикации заявки: 20.08.2009
(46) Опубликовано: 20.06.2010
(56) Список документов, цитированных в отчете о поиске:
US 2003056093 A1, 20.03.2003. RU 431141 U1, 27.12.2004. RU 2004132720 A, 27.05.2005. RU 2003134811 A, 27.05.2005.
(85) Дата перевода заявки PCT на национальную фазу:
06.02.2008
(86) Заявка PCT:
IB 2006/001891 20060630
(87) Публикация PCT:
WO 2007/004052 20070111
Адрес для переписки:
191036, Санкт-Петербург, а/я 24, “НЕВИНПАТ”, пат.пов. А.В.Поликарпову
|
(72) Автор(ы):
КОККОНЕН Эско (FI), РАНТАПУСКА Олии (FI)
(73) Патентообладатель(и):
Нокиа Корпорейшн (FI)
|
(54) СТРУКТУРА И МЕТОДОЛОГИЯ ОДНОРАНГОВОГО ГРУППОВОГО УПРАВЛЕНИЯ
(57) Реферат:
Изобретение относится к средствам передачи информации. Осуществляют инициирование членом группы, имеющей множество членов, по меньшей мере одной функции группового управления, которая обеспечивает ограничение членства в группе. По меньшей мере одна функция группового управления включает конфигурацию списка группового доступа, передачу по одноранговой связи сообщений группового управления от инициирующего члена группы одному или нескольким другим членам группы, обеспечение безсерверного управления групповой связью между членами группы и поддержание локальной копии списка группового доступа каждым членом группы в ответ на передачу данных о членстве. Передача сообщений группового управления включает передачу данных о членстве, связанных со списком группового доступа, одному или более другим членам группы. При этом локальные копии списка группового доступа, по существу, одинаковы. В результате упрощается управление списками членов группы и обеспечивается безопасность групповой связи без необходимости в услугах серверов-посредников. 6 н. и 21 з.п. ф-лы, 10 ил.
ОБЛАСТЬ ТЕХНИКИ
Данное изобретение относится к передаче информации между устройствами связи и более конкретно к системе, устройству и способу управления симметричными группами посредством одноранговой связи и дублирования групповых данных.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
Общественные или “групповые” службы становятся все более популярными в Интернете. Групповая связь обычно означает передачу информации в упорядоченной или организованной группе пользователей. Блоги, сайты обмена контентом и сайты асинхронных сообщений представляют собой различные типы групповой связи. Групповая связь позволяет пользователям образовывать слабосвязанные сообщества вокруг предметной области, клуба по увлечениям, социальной группы и т.п.
Сетевые пользователи, как использующие для связи мобильное устройства, так и использующие для связи персональный компьютер, не имеют простого способа обмена информацией внутри некоторой группы людей. Групповая связь обычно ограничивается рассылкой групповой электронной почты или групповым чатом, если все находятся в режиме онлайн. Может оказаться довольно трудным использовать файлы совместно определенной группой людей или послать другим пользователям прикладную информацию, такую как календарная запись. Базирующиеся на Интернет-технологиях общественные службы могут предлагать функциональные возможности для использования членами группы, но услугами управляет поставщик услуг, и пользователи не могут добавлять новые, особые функциональные возможности. Они также имеют свои собственные схемы пользовательских имен и паролей, за которыми каждый пользователь должен обратиться.
Некоторые формы электронного обмена информацией неэффективны или неудобны с точки зрения групповой связи. Например, на сегодняшний день самым популярным способом обмена информацией внутри группы является электронная почта. Электронной почтой люди могут посылать группе своих друзей изображения и другой контент, а также календарные записи и другие файлы. Однако с точки зрения групповой связи электронная почта обладает недостатками в некоторых областях. Например, она не подходит для пересылки больших объемов данных, и каждое сообщение необходимо обрабатывать вручную. Электронная почта может быть подделана и, следовательно, она по своему характеру небезопасна. Также существует риск, связанный с открыванием приложений электронной почты.
Также в существующих системах групповые услуги полагаются на серверные реализации, где вся информация членов группы находится в собственности поставщика услуг. Пользователи могут присоединяться к таким группам, если они согласны с условиями обслуживания поставщика услуг или третьей стороны, администрирующей групповые услуги. В любом случае пользователи должны согласиться с условиями. Таким образом, в таких существующих системах эти администрируемые сервисы каким-то образом ограничены, и пользователи должны согласиться с установлениями и условиями поставщика услуг. Далее, поставщик услуг может обладать правами на данные членов группы и может прекратить предоставление услуги в любой момент, при этом групповая информация теряется. Группа почти или совсем не имеет контроля продолжительности предоставления услуги и должна полагаться на поставщика услуг и доверять ему свою информацию. Кроме того, размещение услуг на конкретном устройстве группы, таком как мобильный телефон, может вести к различным проблемам. Например, по своему характеру мобильные телефоны могут время от времени быть недоступными – телефон может оказаться вне зоны покрытия, у него может разрядиться батарея и т.п. В таких ситуациях услуга будет недоступна для всей группы.
Соответственно в отрасли связи существует потребность в лучшем способе управления групповой связью. Настоящее изобретение удовлетворяет эти и другие потребности и предлагает другие преимущества по сравнению с существующими подходами.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Для преодоления ограничений известного уровня техники, описанных выше, и для преодоления других ограничений, которые станут понятны после прочтения настоящего описания, настоящее изобретение предлагает систему, устройство и способ управления симметричными группами, использующими одноранговую (peer-to-peer) связь.
В соответствии с одним вариантом осуществления изобретения предусматривается способ обеспечения безсерверного управления групповой связью между множеством членов группы. По меньшей мере, одна функция группового управления инициируется инициирующим членом группы. По одноранговой связи, по меньшей мере, одно сообщение групповой связи функции групповой связи передается от инициирующего члена одному или нескольким другим членам и/или потенциальным членам группы.
В соответствии с другим вариантом осуществления изобретения предусматривается способ обеспечения управления групповой связью между множеством членов группы. Приглашение передается по одноранговой связи от устройства связи приглашающего члена группы устройству связи потенциального члена группы. После получения приглашения потенциальным членом группы список членов в устройстве связи приглашающего члена группы обновляется для включения потенциального члена группы в качестве нового члена группы. Групповые данные. включающие список членов, передаются по одноранговой связи от приглашающего члена новому члену группы.
В соответствии с еще одним вариантом осуществления изобретения предусматривается способ обеспечения управления групповой связью между множеством членов группы. Передача данных приложения инициируется из устройства связи первого члена группы. Адреса каждого из других членов группы определяются на основе списка членов группы, хранимого локально в каждом устройстве связи членов группы. Данные приложения передаются по одноранговой связи от первого члена другим членам группы.
В соответствии с еще одним вариантом осуществления изобретения предусматривается модуль группового управления в устройстве связи для обеспечения управления одноранговой связью между членами группы. Модуль группового управления включает локальную базу данных для хранения групповых данных, включая список членов каждой из групп, в которые входит групповое устройство. Модуль управления членством соединен с локальной базой данных для управления хранением и извлечением групповых данных, а прикладной программный интерфейс (АРI) сконфигурирован для сопряжения по меньшей мере контента приложения и интерфейса пользователя (UI) с модулем управления членами. Модуль связи соединен с модулем управления членством для осуществления одноранговой связи между указанным устройством связи и устройствами связи других членов группы.
Эти и различные другие преимущества и отличительные признаки, характеризующие настоящее изобретение, указаны в формуле изобретения, составляющей часть настоящего документа. Однако для лучшего понимания изобретения, его преимуществ и целей, достигаемых его использованием, следует обратиться к чертежам, составляющим часть настоящего документа, и текстовому материалу, в которых показаны и описаны примеры систем, устройств и способов в соответствии с настоящим изобретением.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Изобретение описано в связи с вариантами его осуществления, показанными на следующих схемах.
Фиг.1 представляет собой блок-схему, в общем показывающую методологию группового управления в соответствии с настоящим изобретением.
Фиг.2 представляет собой блок-схему, показывающую один вариант осуществления устройства связи, которое реализует структуру группового управления в соответствии с настоящим изобретением.
Фиг.3 показывает представительный вариант осуществления структуры группового управления в соответствии с настоящим изобретением.
Фиг.4 показывает представительный пример использования для приглашения нового пользователя (новых пользователей) в группу.
Фиг.5 представляет собой схему передачи сообщений, показывающую представительный пример создания группы и приглашения членов группы в соответствии с структурой группового управления настоящего изобретения.
Фиг.6 показывает пример обеспечения уровня групповой безопасности в одноранговой структуре.
Фиг.7 показывает пример посылания прикладной информации членам данной группы.
Фиг.8 представляет собой схему передачи сообщений, показывающую представительный пример предоставления данных приложения по структуре группового управления настоящего изобретения.
Фиг.9 показывает пример сохранения файла в соответствии с структурой группового управления.
Фиг.10 показывает пример мобильного устройства, в котором может быть реализовано настоящее изобретение.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В следующем описании различных примеров осуществления делаются ссылки на чертежи, составляющие часть настоящего документа, на которых показаны в виде иллюстрации различные варианты осуществления изобретения. Следует понимать, что могут использоваться и другие варианты осуществления, поскольку структурные и операционные изменения могут быть сделаны, не выходя за пределы сущности настоящего изобретения.
В общем, настоящее изобретение предусматривает, помимо всего прочего, одноранговую сеть для управления симметричными группами. Например, сообщения группового управления могут передаваться напрямую членам группы по одноранговым сетевым соединениям. Структуру можно использовать для, например, управления списками членов группы. предоставления возможностей групповой связи внешним приложениям, обеспечения безопасности групповой связи, и других функций группового управления без потребности в серверном управлении. Настоящее изобретение также позволяет группам развиваться без ограничений поставщиков услуг и делает возможным одноранговое хранение групповых данных на устройствах членов группы. Групповая информация сохраняется каждым членом, что обеспечивает устойчивость к ошибкам без потребности во внешнем администрировании, и предоставляет таким образом надежное решение для группового управления.
Как указано выше, одним признаком настоящего изобретения является одноранговая структура и методология для управления групповой связью. Структура группового управления в соответствии с настоящим изобретением может быть реализована в одноранговой форме, т.е. как безсерверная структура. В серверной связи пользователи устройств связи (например, имеющие одинаковый ранг в одноранговой сетевой конфигурации) очень ограничены в своих возможностях модифицировать, добавлять или как-либо по-другому управлять функциональными возможностями группы, поскольку функциональными возможностями управляет поставщик услуг, который также часто требует от пользователей иметь независимые пользовательские имена, пароли и т.п. Серверная связь, такая как электронная почта, также не подходит для больших объемов данных и имеет другие недостатки, такие как потребность вручную обрабатывать каждое сообщение, подделка электронной почты, риск заражения вирусами при открытии приложенных файлов и тому подобное. Также в серверной связи сообщения могут быть подвергнуты фильтрации или контролю. По этим и другим причинам структура и методология однорангового группового управления имеет особенные преимущества и предоставляет новую парадигму в групповой электронной связи.
Фиг.1 представляет собой блок-схему, в общем показывающую методологию группового управления в соответствии с настоящим изобретением. Группа устройств связи 100-108 представляет собой одноранговую сеть. Как показано устройством связи 100, любое из устройств 100-108 (или другое количество устройств) может включать проводные или беспроводные устройства, такие как мобильный телефон 100А, персональный цифровой помощник (КПК) 100В. компьютер 100С или другое устройство 100D, способное участвовать в связи по одноранговой сети.
Как будет подробнее описано ниже, множество устройств отправляют/получают сообщения группового управления, предоставляющие информацию, требуемую для установления и управления связью и обменом контентом между членами группы. Например, путем обмена сообщениями между членами группы могут осуществляться приглашения в группу новых членов, поддержание “белых” списков известных членов и/или “черных” списков нечленов группы, функции приложений и тому подобное. Таким образом могут быть реализованы многие преимущества по сравнению с известным уровнем техники, включая, в частности, мгновенное сообщение новых данных (например, прямой связью по нажатию кнопки), возможность интеграции с внешними устройствами с групповой связью, автоматическая диспетчеризация/обработка различных типов данных, составление “белых” списков для обеспечения безопасности и т.п. Это, помимо прочего, дает возможность безсерверного определения группы и динамического обновления этого определения, по мере того как члены присоединяются к группе или покидают ее.
Фиг.2 представляет собой блок-схему, показывающую один вариант осуществления устройства связи 200, которое реализует структуру группового управления в соответствии с настоящим изобретением. В варианте осуществления на фиг.2 рассмотрена структура однорангового группового управления, не использующая сервера (серверов) Сообщения группового управления могут передаваться напрямую устройству/устройством 200 члена группы по соединениям одноранговой сети. Интерфейс пользователя (UI) 202 предусмотрен, чтобы позволить пользователю связываться с устройством 200 и управлять связью с другими членами или потенциальными членами группы Приложения 204 могут использоваться для обмена информацией в этой структуре Механизм группового управления 206 выполняет или иным образом обеспечивает выполнение таких функций, как установление соединений между членами группы, передача сообщений и/или данных группового управления, поддержание или помощь в поддержании групповой информации (клубный список, список членов, функциональность управления членами и т.п.)
Более конкретный вариант осуществления структуры группового управления показан на фиг.3. В этом варианте осуществления одноранговое устройство 300 включает интерфейс 302 пользователя (UI), который может включать графический интерфейс пользователя (GUI) или другой интерфейс для представления информации пользователям, принятия команд пользователя, и/или другие функции UI. В показанном варианте осуществления изображения 304-312 экранов пользовательского интерфейса показывают экраны одноранговых устройств при приглашении члена в группу. Например, в бейсбольный клуб 314 его член (например, Джефф 316) может пригласить 318 нового члена Марка, 320. Новый член может быть приглашен вступить в клуб, как показано на изображении 310 экрана. Если новый член принимает приглашение, новый член (Марк) принимается в качестве нового члена, как показано на экране 312.
Чтобы выполнить такое приглашение или другую функцию группового управления, предусмотрена архитектура структуры группового управления 330, которая в показанном варианте осуществления названа “клубный механизм”. В показанном варианте осуществления клубный механизм 330 включает механизм интерфейса прикладного программирования (API) 332, базу данных 334 клуба и логику 336 управления членами для управления информацией, такой как клубный список и список членов, и механизм связи 338. Механизм 338 связи показанного варианта осуществления использует протокол инициирования сеанса (SIP) для установления соединений между членами группы и для передачи необходимых данных. Механизм 338 SIР-связи может находиться наверху SIP-стека, такого как SIР-стек Symbian 340 в случае операционной системы Symbian Механизм 338 SIP-связи (или другой подобный) обеспечивает отправку сообщений, таких как, например, SendPacket (datapacket, user) (послать пакет (пакет данных, пользователь)), ReceivePacket (datapacket, user) (принять пакет (пакет данных, пользователь)) и/или других подобных сообщений.
Механизм АРI 332 сопрягается с интерфейсом пользователя 302 и приложениями, представленными в виде подключаемого модуля контента 350. АРI 332 обеспечивает передачу сообщений, таких как приглашение потенциального члена [например, InviteUser (user, group)], списков членов [например, ListMembers (group)], получение информации о пользователе [например, GetUserInfo (user)]. распределение пакетов [например, SendPacket (data, group)], и т.п. В показанном варианте осуществления приложения реализованы в качестве подключаемых (plug-in) компонентов, таких как подключаемый модуль календаря 352, подключаемый модуль дискуссионного форума 354, подключаемый модуль отправки файлов 356, подключаемый модуль чата 358 и тому подобных.
Один пример применения включает приглашение членов в группу (также называемую “клубом”). В этом примере, когда человек приглашается в группу, он получает приглашение напрямую от одного из членов группы. Принятие приглашения передается обратно приглашающему члену, который затем осуществляет дублирование групповых данных и объявление нового члена группы другим членам группы. Показанный вариант осуществления использует SIP для установления соединений между членами группы и для передачи необходимых данных. Клубный механизм 330 включает реализацию структуры группового управления настоящего изобретения и позволяет пользователям приглашать других пользователей в клубы с помощью компонента UI 302, а также использовать другие приложения 350 для обмена информацией в этой структуре.
Другие функциональные возможности группового управления, такие как выход из групп, могут быть реализованы подобным же образом; например, человек, желающий покинуть клуб, использует для выхода из группы свое приложение управления, которое посылает сообщение о выходе каждому члену группы. Экземпляры структуры членов группы тогда автоматически удаляют выходящего человека их своих списков членов.
Соединения с внешними приложениями в одном варианте осуществления реализованы как подключаемые компоненты. Например, подключаемый модуль календаря 352 может использоваться для отправки календарных записей членам клуба. Таким образом, внешние приложения 350 могут пользоваться существующими клубами путем использования подключаемого модуля (модулей) для связи через клубный механизм 332. В одном варианте осуществления, когда подключаемый модуль посылает данные в клуб, данные помечаются идентификационной меткой этого подключаемого модуля. Используя эту метку, принимающий экземпляр структуры может переслать данные в соответствующий подключаемый модуль, и подключаемый модуль может доставить их приложению, как будет подробнее описано ниже.
Теперь будут описаны примеры применения, показанные на фиг.4-8. Следует понимать, что примеры на фиг.4-8 представлены с целью облегчения понимания основных функций группового управления согласно настоящему изобретению, и изобретение не ограничивается только лишь этими конкретными примерами.
Обратимся сначала к фиг.4, где показан пример приглашения нового пользователя в группу. В показанном варианте осуществления одноранговая сеть обеспечивает управление симметричными группами, где симметричная группа означает группу, в которой список членов коллективно используется внутри группы. Когда функциональность управления симметричными группами отделена от реальных групповых услуг, как в показанном варианте осуществления, функции управления описываются в типовом модуле, применимом для любого типа групп. Используя этот модуль, можно создавать новые группы, приглашать в них новых людей, выходить из групп, заставлять определенного члена (членов) выйти из группы и выполнять другие операции группового управления. Фиг.4 представляет функцию управления симметричной группой для приглашения нового пользователя в группу.
Как показано на фиг.4, множество устройств пользователей может образовывать группу. Например, устройства 400, 402, 404 и 406 представляют собой группу, способную осуществлять одноранговую связь. Любое из устройств 400, 402, 404, 406 представляет собой любое устройство связи, способное осуществлять одноранговую связь, включая мобильный телефон 400А, КПК 400В, компьютер 400С, или другое проводное или беспроводное устройство 400D, способное участвовать в связи по одноранговой сети. Когда новый человек приглашается в симметричную группу, приглашение посылается от члена группы, и если приглашенный принимает его. то приглашенному передается групповая информация, и другие члены группы уведомляются о включении в группу нового члена. Конкретнее, один из членов группы отправляет приглашение “А” со своего устройства связи 400 устройству связи 408 приглашаемого в группу пользователя. Пользователь устройства 408 может ответить принятием приглашения “В”. Приглашающий пользователь затем дублирует клубную информацию “С”; то есть клубная информация распространяется новому члену. Эта клубная информация может включать разнообразную информацию о клубе, включая список членов. Далее новый член объявляется “D” другим членам 402, 404. 406 группы. Таким образом, приглашающее устройство 400 показанного варианта осуществления отвечает за предоставление клубных данных приглашенному устройству 408, а также за уведомление существующих членов. Поскольку новый член 408 теперь имеет клубные данные, он также может приглашать новых членов аналогичным образом.
Фиг.5 представляет собой схему передачи сообщений, показывающую пример создания группы и приглашения членов группы в соответствии со структурой группового управления настоящего изобретения В варианте осуществления на фиг.5 протоколом установления соединений является SIP, хотя аналогично можно использовать и другие протоколы Каждое устройство оснащено групповым приложением/промежуточным программным обеспечением SIP, используемым для создания групп и управления ими. В этом примере SIP используется для адресации и соединения устройств членов группы, однако реальное групповое управление может использовать протокол прикладного уровня поверх SIP-соединений Например, хотя для приглашения других сторон в сеанс связи может быть использован SIP или другие аналогичные протоколы инициации сеансов, один вариант осуществления изобретения включает использование другого протокола для обеспечения таких функций, как переговоры о приеме в группу или выходе из группы, и/или любых других функций группового управления.
В примере на фиг.5 основатель клуба 500 (Элис) создает 502 новый клуб. Она выбирает 503 пользователя для приглашения в новый клуб и отправляет приглашение (например, SIP-сообщение INVITE) 504 приглашаемому пользователю-1 506 (Бобу) через SIР-прокси 508. Устанавливается 510 соединение по протоколу управления передачей (TCP) и уведомление об успехе запроса 512 (например, 200 OK) возвращается Элис 500. Подтверждение 514 (например, АСК) возвращается Бобу 506, и пригласительный пакет 516 передается от Элис 500 Бобу 506 Боб 506 посылает пакет принятия приглашения 518. В ответ Элис 500 преобразует 520 Боба в полного члена клуба, отправляет полную клубную информацию 522, включая список членов, Бобу 506 и отправляет объявление о новом члене – Бобе – всем членам (в число которых пока входит только Боб). Боб 506 теперь является членом группы Элис и тоже может приглашать членов в группу, используя дублированную информацию (клубную информацию), предоставленную Элис.
Затем Элис 500 приглашает 526 в группу второго пользователя 528, Сесил. Это инициируется установлением SIР-соединения и ТСР-канала 530 и отправлением пригласительного пакета 532 Сесил. Сесил 528 посылает пакет принятия приглашения 534, если она принимает членство, и в ответ Элис 500 посылает Сесил 528 полную клубную информацию 536. Затем Элис посылает объявление о новом члене 540 – Сесил 538 – всем членам группы, которая теперь включает Боба 506 и Сесил 528. Открытые SIР-соединения Элис прерываются 542, когда Элис выходит из приложения.
При установлении каждого соединения структура группового управления проверяет, является ли соединяемая сторона членом группы. Если нет, принимаются только пригласительные сообщения. Это пример “белого” списка для ограничения доступа к групповой информации.
Фиг.6 показывает пример обеспечения уровня групповой безопасности в одноранговой структуре. Структура управления симметричными группами может использовать список членов для разрешения или недопущения входящих соединений, пытающихся использовать какие-либо из функциональных возможностей групповой связи. Например, если группа имеет функциональную возможность совместного использования изображений и человек делится своей библиотекой изображений с определенной группой, структура группового управления может ограничивать набор людей, которым разрешается просматривать эти изображения, используя список членов группы. Поскольку каждый член группы указан в списке членов группы, нечлены группы не смогут воспользоваться функциональными возможностями групповой связи без приглашения в группу.
Более конкретно, на фиг.6 показаны три существующих члена группы 600, а именно устройства 602, 604 и 606. По сети 608, являющейся сетью с протоколом Интернет (IP) в показанном варианте осуществления, новый член 610 может быть приглашен в группу 600. С другой стороны, если пользователь устройства 612 попытается использовать функциональную возможность групповой связи (например, возможность совместного использования изображений из предыдущего примера), этому пользователю не будет позволено использовать эту возможность, поскольку пользователь устройства 612 не состоит в списке членов. Структура группового управления, например устройства 602, может определить, состоит ли устройство 612 в списке членов путем сравнения информации об устройстве 612 с информацией в списке членов группы. Если устройство 612 не найдено в списке членов группы, доступ не разрешается. Таким образом, список членов действует в качестве “белого” списка адресов, с которыми разрешена связь.
Фиг.7 показывает пример посылки информации приложения членам данной группы. Поскольку в услугах групповой связи могут нуждаться многие приложения, каждое приложение может посылать свои данные по структуре группового управления особым способом. Примером приложения является приложение календаря, поскольку люди, принадлежащие к группе, могут пожелать поделиться календарными записями с членами группы. Это представляет собой пример услуги, использующей структуру групповой связи настоящего изобретения.
В примере на фиг.7 устройство 700 включает приложение календаря 702. Пользователь устройства 700 может послать календарные данные 701 в группу А. Структура группового управления 704 определяет членов группы А и посылает информацию на соответствующие адреса (например, адреса X, Y пользователя Х 710 и пользователя Y 720) через модуль сетевого доступа 706. Каждое устройство пользователя включает модуль сетевого доступа 712, и полученные групповые данные передаются на модуль структуры группового управления 714, после чего могут быть предоставлены соответствующему приложению 716.
В этом случае приложение календаря 702 посылающего устройства 700 может получить доступ к симметричной группе, используя структуру группового управления. Оно может напрямую дать команду структуре 704 послать свои данные (например, календарную запись) членам определенной группы. Приложение календаря 702 не должно заботиться о способе, которым данные будут посланы в реальности – это сделает структура 704. Данные помечаются таким образом, чтобы соответствовать приложению календаря, например календарной меткой 705, обозначенной TAGCAL. После посылки календарных данных членам группы получающие устройства 710, 720 расшифруют данные 701 и сделают с ними что-нибудь полезное. Используя метку 705 с данными 701, получающий экземпляр структуры группового управления (например, экземпляр структуры группового управления 714) может определить, какое приложение послало эти данные. Используя метку 705, получающий экземпляр структуры группового управления 714 уведомляет локальное приложение календаря 716 о получении новых данных. Приложение календаря 716 получающего устройства затем обрабатывает данные 701; например, добавляет календарную запись в локальный календарь.
Следует понимать, что подобный процесс может быть использован и другими приложениями, а приложение календаря описано с целью облегчения понимания этой особенности изобретения. Другие приложения будут иметь свои метки, что позволит структуре группового управления получающих устройств определить соответствующие локальные приложения для обработки данных.
Фиг.8 представляет схему передачи сообщений, показывающую пример предоставления данных приложения в структуре группового управления настоящего изобретения. В варианте осуществления на фиг.8 приложением является приложение календаря, и календарные данные посылаются через структуру группового управления с использованием подключаемого модуля. Таким образом, внешние приложения 350 могут пользоваться существующими клубами путем использования подключаемого модуля для связи через структуру группового управления, как подробнее описано ниже.
В показанном варианте осуществления функциональность группового управления устройства А 800, показанная как клубный механизм 802, инициализирует 804 подключаемый модуль календаря 806 приложения календаря 808. Пользователь запускает 810 приложение календаря 808 и делится 812 календарем (или его частью). Приложение календаря 808 использует услуги клубного механизма 802 через подключаемый модуль 806 для получения клубных имен 814, 816. Пользователь выбирает 818 клуб и посылает клубную информацию 820, 822 клубному механизму 802 через подключаемый модуль 806, где клубная информация помечается идентификацией подключаемого модуля календаря 806. Клубный механизм 802 определяет членов и посылает информацию каждому члену 824. Одним из таких членов является член группы с устройством В 830, которое также включает клубный механизм 832, приложение календаря 834 и соответствующий подключаемый модуль 836. Клубный механизм 832 инициализирует 838 подключаемый модуль календаря 836, и подключаемый модуль 836 получает клубные имена 840. Из информации входящего соединения 824 и локальной групповой базы данных клубный механизм 832 может определить 842, является ли отправитель (устройство А 800) членом группы. Если это так, метка клубных данных определяется получающим экземпляром структуры (например, клубным механизмом 832 устройства В 830) и направляется 844 соответствующему подключаемому модулю 836. По получении, на устройстве В 830 может быть показан 845 диалог, такой как “Получены календарные записи”. С помощью подключаемого модуля 836 важная информация сохраняется 846 в календаре приложения календаря 834.
Как описано выше, при распространении информации по группе клубная/групповая информация дублируется у каждого из членов группы. В существующих системах групповые услуги полагаются на серверные реализации, где вся информация членов группы находится в собственности поставщика услуг. Пользователи могут присоединяться к таким группам, если они согласны с условиями обслуживания поставщика услуг или третьей стороны, администрирующей групповые услуги В любом случае пользователи должны согласиться с условиями. Таким образом, в таких существующих системах эти администрируемые сервисы каким-то образом ограничены, и пользователи должны согласиться с установлениями и условиями поставщика услуг. Далее, поставщик услуг может обладать правами на данные членов группы и может прекратить предоставление услуги в любой момент, при этом групповая информация теряется. Группа почти или совсем не имеет контроля продолжительности предоставления услуги и должна полагаться на поставщика услуг и доверять ему свою информацию. Кроме того, размещение услуг на конкретном устройстве группы, таком как мобильный телефон, может вести к различным проблемам. Например, по своему характеру мобильные телефоны могут время от времени быть недоступными – телефон может оказаться вне зоны покрытия, у него может сесть батарея и т.п. В таких ситуациях услуга будет недоступна для всей группы.
Эта и другие проблемы решены путем дублирования групповой информации в каждом устройстве группы. Распространение групповой информации и сохранение информации в каждом одноранговом устройстве таким образом облегчает развитие группы без ограничений поставщиков услуг. Изменения в группе распространяются или “дублируются” каждому члену напрямую, так что каждый пользователь имеет локальную копию групповой информации. Поскольку данные сохранены на многих устройствах, потеря одного устройства не имеет большого значения. Эта особенность настоящего изобретения обеспечивает устойчивость к ошибкам и даже позволяет пользователям сменить одно устройство на другое и получить всю существующую групповую информацию. И поскольку внешнего администрирования нет, в группе может храниться конфиденциальная или секретная информация.
Как указано выше. пользователь может создать группу из себя в качестве единственного члена. Впоследствии пользователь может пригласить других пользователей присоединиться к этой группе. Групповая информация хранится в устройстве каждого члена группы, и эта информация доступна до тех пор, пока в группе остается хотя бы один пользователь. Пользователи могут покидать группу по желанию, и информация об этом пользователе удаляется из групповой информации.
Образованные таким образом группы могут использоваться для любых услуг групповой связи, включая, помимо прочего, мгновенный обмен сообщениями, чат, передачу файлов и распространение другого контента, протоколируемый диалог и тому подобное. В зависимости от услуги информацию, такую как совместно используемые файлы или диалоги, можно просматривать на устройстве каждого члена группы в отсутствие связи с сетью. Поскольку групповые данные дублированы на каждом устройстве, члены группы могут быстро получать доступ к ней, и поэтому считывание или другой доступ к информации оказывается очень быстрым.
Согласно одному варианту осуществления изобретения групповая услуга не нуждается в централизованной администрации или хранении и не пользуется этим. Таким образом, в соответствии с изобретением вся информация, которой владеет группа, распределена и синхронизована на устройстве каждого члена группы. Сохранение информации в виртуальной совместно используемой памяти делает ее доступной членам группы путем ее фактического дублирования в устройстве каждого члена группы. Пример сохранения файла в соответствии со структурой группового управления показан на фиг.9. Пользователь создает или другим образом получает контент, файл(ы) или другую информацию для обмена с группой, в показанном варианте осуществления эта информация является файлом. Копия файла сохраняется локально в устройстве 900 пользователя. Затем файл передается или “дублируется” каждому члену группы, как изображено передачей файла устройствам 902, 904. Получающие групповые устройства 902, 904 получают и локально сохраняют этот файл и предоставляют локальному пользователю доступ к нему
Использование неадминистрируемых групповых услуг особенно полезно, когда члены группы желают быть независимыми от поставщиков услуг. Серверов для создания группы не требуется, и существование группы не лимитируется внешними ограничениями. Дублирование групповых данных обеспечивает существование данных до тех пор, пока в группе остается хотя бы один участник. В ситуациях, когда в группе состоит большое количество членов, проблемы синхронизации информации между членами могут быть облегчены, например, позволением члену-инициатору редактировать данные в групповой памяти или удалять данные из групповой памяти. Член-инициатор может быть создателем группы и/или инициатором распространения конкретной информации
Для выполнения функций и операций в соответствии с настоящим изобретением могут быть использованы аппаратное, микропрограммное, программное обеспечение или их комбинации. Мобильные устройства в соответствии с настоящим изобретением включают устройства связи, такие как, например, мобильные телефоны, КПК и другие беспроводные средства связи, а также проводные вычислительные системы и средства связи. Пример мобильного устройства, в котором может быть реализовано настоящее изобретение, показан на фиг.10. Мобильное устройство 1000 использует вычислительные системы для управления и контроля обычной работы устройств, а также функциональности, предоставляемой настоящим изобретением. Мобильное устройство 1000 включает вычислительную систему, способную выполнять операции в соответствии с настоящим изобретением. Например, мобильное устройство 1000 включает процессорный/управляющий блок 1002, такой как микропроцессор, компьютер с сокращенным набором команд (RISC) или другой центральный процессорный модуль. Процессорный блок 1002 не должен обязательно являться единственным устройством и может включать один или несколько процессоров. Например, процессорный блок может включать главный процессор и подчиненные процессоры, связанные с главным процессором.
Процессорный блок 1002 управляет основными функциями мобильного устройства 1000, как указывается программами, находящимися в программном запоминающем устройстве/памяти 1004. Запоминающее устройство/память 1004 может включать операционную систему и различные программные модули и модули данных в соответствии с настоящим изобретением. В одном варианте осуществления изобретения программы хранятся в энергонезависимой электронно-стираемой программируемой постоянной памяти (EEPROM), флэш-RОМ и т.п. таким образом, что программы не теряются при отключении питания мобильного устройства. Запоминающее устройство 1004 может также включать один или несколько других типов постоянной памяти (ROM) и программируемой и/или стираемой ROM, оперативной памяти (RAM), абонентский интерфейсный модуль (SIM), беспроводной интерфейсный модуль (WIM), смарт-карту или другие фиксированные или сменные устройства. Программное обеспечение для выполнения операций мобильным устройством в соответствии с настоящим изобретением может также передаваться мобильному устройству 1000 сигналами данных, например загружаться электронным образом из одной или нескольких сетей, таких как Интернет и промежуточная беспроводная сеть (сети).
Для выполнения других стандартных функций мобильных устройств процессор 1002 также соединен с интерфейсом пользователя (UI) 1006 мобильного устройства 1000. UI 1006 может включать, например, дисплей 1008, такой как жидкокристаллический дисплей, клавиатуру 1010, динамик 1012 и микрофон 1014. Эти и другие компоненты UI соединены с процессором 1002, как это делается в существующих решениях. Клавиатура 1010 может включать буквенно-цифровые клавиши для выполнения различных функций, включая набор номера, навигацию по экранам UI и т.п. Могут применяться и другие механизмы, такие как голосовые команды, переключатели, сенсорная площадка/экран, графический интерфейс пользователя с указывающим устройством, шаровой манипулятор, джойстик или любой другой интерфейсный механизм
Беспроводное устройство 1000 может также включать обычные схемы для осуществления беспроводной связи по мобильной сети. Цифровой процессор сигналов (DSP) 1016 может быть применен для выполнения ряда функций, включая аналого-цифровые преобразования, цифроаналоговые преобразования, кодирование/декодирование речевого сигнала, зашифровывание/расшифровывание, обнаружение и исправление ошибок, трансляцию потока битов, фильтрацию и т.п. Приемопередатчик 1018, обычно соединенный с антенной 1020, передает выходящие радиосигналы 1022 и принимает входящие радиосигналы 1024 мобильного устройства 1000.
В показанном варианте осуществления запоминающее устройство/память 1004 сохраняет различные клиентские программы или агенты пользователя, участвующие в обеспечении функций структуры группового управления в соответствии с настоящим изобретением. Например, запоминающее устройство 1004 может включать различные программные модули, такие как приложение (приложения) 1030 и соответствующий подключаемый модуль (модули) 1032. Запоминающее устройство/память 1004 также включает структуру группового управления, которая включает, например, механизм АРI 1036 структуры, модуль 1038 управления членами и соответствующую групповую базу данных 1040, и механизм 1042 связи. В запоминающее устройство/память 1004 могут быть также включены стандартные данные или программы, такие как операционная система 1044.
Вышеприведенное описание примера осуществления настоящего изобретения было представлено с целью иллюстрации. Оно не является полным и не ограничивает изобретение конкретной описанной формой. В свете вышеприведенной концепции возможно множество модификаций и вариаций. Следует понимать, что рамки изобретения определяются не этим подробным описанием, а формулой изобретения.
Формула изобретения
1. Способ передачи данных между устройствами связи с помощью одноранговой связи, включающий инициирование инициирующим членом группы, имеющей множество членов, по меньшей мере одной функции группового управления, которая обеспечивает ограничение членства в группе, причем по меньшей мере одна функция группового управления включает конфигурацию списка группового доступа; передачу по одноранговой связи сообщений группового управления, связанных с этой функцией групповой связи, от инициирующего члена группы одному или нескольким другим членам группы, причем передача сообщений группового управления включает передачу данных о членстве, связанных со списком группового доступа, одному или более другим членам группы; обеспечение безсерверного управления групповой связью между членами группы на основе сообщения группового управления и поддержание локальной копии списка группового доступа каждым членом группы в ответ на передачу данных о членстве, связанных со списком группового доступа, так, что локальные копии списка группового доступа по существу одинаковы.
2. Способ по п.1, включающий передачу по одноранговой связи по меньшей мере одного сообщения группового управления от инициирующего члена группы потенциальному члену группы.
3. Способ по п.2, в котором передача по меньшей мере одного сообщения группового управления потенциальному члену группы включает передачу приглашения потенциальному члену группы.
4. Способ по п.3, включающий после получения приглашения потенциальным членом группы, обновление списка членов группы в устройстве связи приглашающего члена группы для включения потенциального члена группы в качестве нового члена группы, и передачу групповых данных, включающих список членов группы, по одноранговой связи от приглашающего члена группы новому члену группы.
5. Способ по п.4, включающий передачу объявления о новом члене группы по одноранговой связи от приглашающего члена группы каждому из других членов группы.
6. Способ по п.1, включающий получение запроса от запрашивающего устройства связи на доступ к одной или нескольким функциям группового управления, доступным группе, сравнение идентификационной информации запрашивающего устройства связи со списком членов группы, и недопущение доступа запрашивающего устройства связи к запрашиваемой функции группового управления, если идентификационная информация не соответствует ни одной из записей из списка членов группы.
7. Способ по п.6, включающий разрешение доступа запрашивающего устройства связи к запрашиваемой функции группового управления, если идентификационная информация соответствует записи в списке членов группы.
8. Способ по п.7, включающий передачу идентификационной информации членам группы на основе соответствия идентификационной информации записи в списке членов группы.
9. Машиночитаемый носитель с записанными на нем инструкциями, исполняемыми системой обработки данных для выполнения шагов способа по п.1.
10. Способ передачи данных между устройствами связи с помощью одноранговой связи, включающий инициирование передачи данных приложения из устройства связи первого члена группы, имеющей множество членов, определение адресов каждого из других членов группы на основе списка членов группы, хранимого локально в каждом устройстве связи членов группы, и передачу данных приложения по одноранговой связи от первого члена группы другим членам группы.
11. Способ по п.10, включающий пометку данных идентификатором приложения, предоставляющего данные приложения, и прием данных приложения каждым из других членов группы и определение локального приложения для использования данных приложения на основе идентификатора приложения, предоставленного первым членом группы.
12. Способ по п.10, включающий пометку данных идентификатором подключаемого модуля приложения соответствующего приложению, предоставляющему данные приложения, и прием данных приложения каждым из других членов группы и определение локального подключаемого модуля приложения, соответствующего локальному приложению, для использования данных приложения, на основе идентификатора приложения, предоставленного первым членом группы.
13. Способ по п.10, включающий передачу данных о членстве из устройства связи по меньшей мере одного из членов группы, поддержание локального списка членов группы, хранимого в каждом из устройств связи, в ответ на передачу данных о членстве, так, что списки членов группы по существу одинаковы.
14. Машиночитаемый носитель с записанными на нем инструкциями, исполняемыми системой обработки данных для выполнения шагов способа по п.10.
15. Устройство связи одноранговой сети, содержащее модуль группового управления для обеспечения управления одноранговой связью между устройствами связи членов группы, включающий, локальную базу данных для хранения групповых данных, включающих по меньшей мере список членов для каждой из одной или более групп, в которые входит устройство, модуль управления членством, соединенный с локальной базой данных для управления сохранением и извлечением групповых данных, интерфейс прикладного программирования, сконфигурированный для сопряжения по меньшей мере контента приложения и интерфейса пользователя (UI) с модулем управления членами группы, и модуль связи, соединенный с модулем управления членством для осуществления одноранговой связи между указанным устройством и устройствами связи других членов группы, где одноранговая связь ограничена на основе групповых данных.
16. Устройство по п.15, в котором модуль управления членством передает через модуль связи пригласительное сообщение потенциальному члену группы.
17. Устройство по п.16, в котором модуль управления членством после принятия приглашения потенциальным членом обновляет групповые данные через локальную базу данных для включения потенциального члена в качестве нового члена группы и передает групповые данные через модуль связи новому члену группы.
18. Устройство по п.17, в котором модуль управления членством передает объявление о новом члене группы через модуль связи каждому из других членов группы.
19. Устройство по п.15, в котором модуль связи получает запрос от запрашивающего устройства связи на доступ к контенту приложения, и модуль управления членством в ответ на этот запрос сравнивает идентификационную информацию запрашивающего устройства связи со списком членов группы, при этом модуль управления членством не разрешает доступа запрашивающего устройством к данным приложения, если эта идентификационная информация не совпадает ни с одной из записей списка членов.
20. Устройство по п.19, в котором модуль управления членством разрешает доступ запрашивающего устройства связи к данным приложения, если идентификационная информация соответствует записи в списке членов группы.
21. Сеть связи, включающая одноранговую сеть устройств связи, включающую группу, где каждое устройство связи содержит интерфейс пользователя (UI), модуль приложения, включающий одно или более приложений и соответствующих подключаемых модулей приложений, и модуль группового управления, включающий локальную базу данных для хранения групповых данных, включающих по меньшей мере список членов для каждой из одной или более групп, в которые входит групповое устройство, модуль управления членством, соединенный с локальной базой данных для управления сохранением и извлечением групповых данных, интерфейс прикладного программирования (API), сконфигурированный для сопряжения по меньшей мере модуля приложения и интерфейса пользователя с модулем управления членством, и модуль связи, соединенный с модулем управления членством, для осуществления одноранговой связи между указанным устройством связи и устройствами связи других членов группы.
22. Сеть по п.21, в которой модуль управления членством передает через модуль связи пригласительное сообщение потенциальному члену группы.
23. Сеть по п.22, в которой модуль управления членством после принятия приглашения потенциальным членом обновляет групповые данные через локальную базу данных для включения потенциального члена в качестве нового члена группы и передает групповые данные через модуль связи новому члену.
24. Сеть по п.23, в которой модуль управления членством передает объявление о новом члене группы через модуль связи каждому из других членов группы.
25. Сеть по п.21, в которой модуль связи получает запрос от запрашивающего устройства связи на доступ к контенту приложения, и модуль управления членством в ответ на этот запрос сравнивает идентификационную информацию запрашивающего устройства связи со списком членов, при этом модуль управления членством не допускает доступа запрашивающего устройства к данным приложения, если эта идентификационная информация не совпадает ни с одной из записей списка членов.
26. Сеть по п.25, в которой модуль управления членством разрешает доступ запрашивающего устройства связи к данным приложения, если идентификационная информация соответствует записи в списке членов группы.
27. Сеть по п.25, в которой каждое из устройств связи передает данные, связанные с изменением его списка членства, другим устройствам связи одной или более групп так, что списки членства по существу одинаковы в каждом из устройств связи в этих одной или более группах.
РИСУНКИ
|
|