СИСТЕМА И СПОСОБ ОБЕСПЕЧЕНИЯ WEB-СЛУЖБ ДЛЯ УСТРОЙСТВ БЕСПРОВОДНОЙ СВЯЗИ
SYSTEM AND METHOD OF PROVIDING WEB SERVICES FOR WIRELESS COMMUNICATION DEVICES

УРОВЕНЬ ТЕХНИКИ
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Данное изобретение в целом относится к области систем обработки данных. Более конкретно изобретение относится к системе и способу для обеспечения web-служб (Web-сервисов) для устройств беспроводной связи.
ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
Многие люди осуществляют доступ к контенту сети Интернет (Internet) и Web-службам с устройства беспроводной связи (например, сотового телефона или персонального цифрового ассистента (ПЦА, PDA)), так что они не ограничиваются персональным компьютером с наличием Интернет-соединения. Большинство устройств беспроводной связи осуществляют поиск и извлечение Интернет-контента и Web-служб одним из двух различающихся способов: с использованием Web-браузера или с использованием приложения по протоколу (WAP) приложений для беспроводной связи.
Высокопроизводительные устройства беспроводной связи зачастую заключают в себе Web-браузер (например, Windows Explorer) с тем, чтобы информация могла быть извлечена из Интернет-сайта на устройство, как если бы пользователь находился за персональным компьютером. Одна проблема использования Web-браузеров на беспроводных устройствах, тем не менее, состоит в том, что устройства требуют значительную вычислительную мощность и полосу пропускания, чтобы обрабатывать и преобразовывать большой объем обмениваемых данных с тем, чтобы были совместимыми с Интернет-сайтом и беспроводным устройством.
Чтобы устранить ограничения обработки и полосы пропускания сети, налагаемые Web-браузером, многие устройства беспроводной связи извлекают Интернет-контент и Web-службы, используя приложение, которое следует протоколу (WAP) приложений для беспроводной связи. WAP-приложения дают возможность устройствам соединяться с Web-сервером, но требуют меньшей вычислительной мощности и используют меньшую полосу пропускания сети связи, чем типичный Web-браузер. Например, в настоящее время сайт MySpace организации социальной сети предусматривает прокси-модуль («посредник») Web-служб, с которым можно соединяться с помощью WAP-приложения, чтобы для пользователя устройства беспроводной связи осуществлять соединение с MySpace.
Прокси-модуль Web-служб может обновляться, чтобы добавлять новые возможности для Web-приложений и/или чтобы устранить проблемы. Одна проблема текущих WAP-приложений, тем не менее, состоит в том, что они становятся бесполезными, если обновляется связанный с ними прокси-модуль Web-служб. То есть WAP-приложение является жестко запрограммированным, чтобы обеспечивать совместимость с предыдущей версией прокси-модуля Web-служб. Следовательно, если обновлен прокси-модуль Web-службы, WAP-приложение может быть неспособным осуществлять соединение с новой версией прокси-модуля Web-служб. В результате обычно WAP-приложение на устройстве должно обновляться, если обновляется прокси-модуль Web-служб.
Обновление каждого WAP-приложения (например, обновление каждого сотового телефона Поставщика услуг сотовой телефонной связи) может быть очень дорогостоящим и потреблять большие порции полосы пропускания сети. Кроме того, приложения для устройств, реализованные посредством WAP-приложений, могут требовать многократных запросов от устройства на прокси-модуль Web-служб, ограничивая полезную полосу пропускания. Кроме того, протокол связи, используемый чтобы давать возможность WAP-приложению и прокси-модулю Web-служб осуществлять связь, является неэффективным ("болтливым") форматом, основанным на обмене данными посредством документов на расширяемом языке разметки (РЯР, XML) (например, с использованием простого протокола (SOAP) доступа к объектам).
Следовательно, является необходимой усовершенствованная система и способ для осуществления связи между устройством беспроводной связи и Web-службой.
Одной иллюстративной Web-службой, с которой усовершенствованная система должна быть способной осуществлять связь, является таковая, предоставляемая сайтом социальной сети. Социальная сеть представляет схему взаимосвязей между отдельными лицами, указывающую направления, в которых они соединяются через различные социально-бытовые общения, начиная от случайного знакомства до тесных семейных связей. Социальная сеть является практикой расширения и/или поддержания таких взаимосвязей в пределах схемы. Например, в торгово-промышленной деятельности предприниматели будут отсылать друзей к другим предпринимателям (например, обмениваясь визитными карточками). В повседневной жизни люди будут посещать вечеринки друга, чтобы завязывать и строить отношения с друзьями друга.
В течение последних десятилетий стала популярной социальная сеть в Интернет. Сайтами социальных сетей предоставляются разнообразные услуги, которые дают возможность пользователям общаться и осуществлять связь, включая, например, мгновенный обмен сообщениями, обмен сообщениями электронной почты, (электронные) доски объявлений, услуги совместного использования фотографий и т.д. Недавно сайты социальных сетей, такие как MySpace, Linkedln и Yahoo! Local, стали популярным выбором для социальной сети. Для улучшения социальной сети MySpace, например, включает в себя персональные Web-страницы для каждого пользователя, включая профили параметров, блоги, изображения, видео, "shoutbox" (перечень последних сообщений), мгновенный обмен сообщениями, перечень "друзей" (других пользователей в сети MySpace, которые позволяют друг другу осуществлять передачи между двумя пользователями), возможности электронной почты, электронные доски объявлений и календари. Чтобы использовать услуги социальной сети, пользователь регистрируется на Web-сайте службы (например, MySpace.com) со своего персонального компьютера. Мобильные устройства в настоящее время обеспечивают доступ к сайтам социальных сетей посредством Web-браузера или WAP-приложения.
Следовательно, дополнительно требуются усовершенствованная система и способ для осуществления связи между устройством беспроводной связи и сайтом социальной сети.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Описываются система и способ, предназначенные для обеспечения взаимодействия беспроводного устройства с множеством web-служб, включая web-службы социальной сети. Например, система согласно одному варианту осуществления изобретения содержит систему для обеспечения взаимодействия беспроводного устройства с множеством web-служб, содержащую прокси-модуль web-службы, имеющий API (интерфейс прикладного программирования) для обеспечения возможности другим модулям взаимодействовать с прокси-модулем интеграции web-служб; множество адаптеров web-служб, взаимодействующих с прокси-модулем web-службы через API, каждый из адаптеров web-служб настроен с возможностью осуществления связи с конкретной web-службой с использованием специальных форматов связи, требуемых этой web-службой; формат беспроводной связи является отличающимся от форматов связи, требуемых каждой из web-служб; при этом адаптеры web-служб и прокси-модули web-службы осуществляют преобразование между форматами связи, используемыми для осуществления связи с каждой из web-служб, и форматами беспроводной связи, таким образом обеспечивая возможность двунаправленной связи между беспроводным устройством и множеством web-служб.
КРАТКОЕ ОПИСАНИЕ ФИГУР ЧЕРТЕЖЕЙ
Лучшее понимание настоящего изобретения может быть получено из рассмотрения нижеследующего подробного описания вместе с нижеследующими фигурами чертежей, на которых:
Фиг.1 - иллюстрация службы, осуществляющей связь с устройством обработки данных, согласно одному варианту осуществления изобретения.
Фиг.2 - иллюстрация одного варианта осуществления службы для соединения беспроводного устройства с Web-службой.
Фиг.3 - иллюстрация одного варианта осуществления прокси-модуля интеграции Web-службы, проиллюстрированного на Фиг.2.
Фиг.4 - иллюстрация снимков экрана для конкретного примера пользовательского интерфейса для осуществления связи с MySpace, сайтом социальной сети, в качестве Web-службы.
Фиг.5a, 5в, 5c - иллюстрации снимков экранов пользовательского интерфейса, показанного на Фиг.4, для устройства беспроводной связи, проиллюстрированного на Фиг.1, пока устройство является постоянно зарегистрированным на сайте социальной сети MySpace.
Фиг.6 - иллюстрация примерного свертывания ряда запросов, требуемых от устройства беспроводной связи, проиллюстрированного на Фиг.1, в ходе извлечения информации с Web-сервера.
Фиг.7 - иллюстрация одного варианта осуществления службы, проиллюстрированной на Фиг.2, включающей в себя сервер определения местоположения для информации присутствия относительно устройств беспроводной связи.
Фиг.8 - иллюстрация примера службы 100 определения местоположения пользователей со сходными интересами для пользователя устройства 110 беспроводной связи.
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
По всему описанию с целью пояснения излагаются многочисленные конкретные подробности, чтобы обеспечить полное понимание настоящего изобретения. Однако специалисту в данной области техники будет очевидно, что настоящее изобретение может быть осуществлено без некоторых из этих конкретных подробностей. В других случаях известные структуры и устройства показываются в форме блок-схем, чтобы избегать затенения основных принципов настоящего изобретения.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ СЛУЖБЫ ОБРАБОТКИ ДАННЫХ
Варианты осуществления изобретения могут быть реализованы на беспроводном устройстве 110, которое осуществляет связь со службой 100 обработки данных, как проиллюстрировано обобщенно на Фиг.1. Варианты осуществления службы 100 обработки данных и беспроводного устройства 110 описаны, например, в рассматриваемой одновременно заявке на патент, озаглавленной «SYSTEM AND METHOD FOR INTEGRATING PERSONAL INFORMATION MANAGEMENT AND MESSAGING APPLICATIONS» (Система и способ для объединения приложений управления персональной информацией и обмена сообщениями), с порядковым номером 10/262298, поданной 30 сентября 2002, и варианты осуществления для динамического управления информацией о присутствии и контактах относительно устройства 110 обработки данных описаны в рассматриваемой одновременно заявке на патент, озаглавленной «SYSTEM AND METHOD FOR DYNAMICALLY MANAGING PRESENCE AND CONTACT INFORMATION» (Система и способ динамического управления информацией о присутствии и контактах), с порядковым номером 10/611019, поданной 30 июня 2003 (ниже в документе "рассматриваемые одновременно заявки на патент"), которые переданы правопреемнику по настоящей заявке и которые включены в настоящий документ путем ссылки.
Теперь будет представлено описание некоторых возможностей службы 100, за которым следует подробное описание системы и способа для осуществления соединения устройства 110 беспроводной связи с Web-службой. Следует отметить, однако, что конкретное устройство обработки данных и архитектура системы, описанные в рассматриваемых одновременно заявках на патент, не являются необходимыми для осуществления основных принципов изобретения.
В одном варианте осуществления служба 100 преобразует обычные приложения и данные в формат, который каждое устройство 110 обработки данных может интерпретировать надлежащим образом. Таким образом, как проиллюстрировано на Фиг.1, один вариант осуществления службы 100 включает в себя логические средства 120 преобразования контента для обработки запросов 140 Интернет-контента от беспроводного устройства 110. Более конкретно служба 100 действует в качестве прокси-модуля для устройства 110 обработки данных, пересылающего запросы 140, 141 Интернет на надлежащий Web-сервер и/или Web-службу 130 (ниже в документе именуемую "Web-служба") от имени устройства 110 обработки данных, принимающего ответы от Web-службы 130 в обычном формате Web-служб (например, данные, использующие специальную схему Web-служб и форматированные в соответствии с протоколом SOAP или протоколом (WAP) приложений для беспроводной связи), и преобразующего ответы 124 в формат, который устройство 110 обработки данных может обрабатывать (например, в байт-коды, как описано в рассматриваемых одновременно заявках на патент).
Например, логические средства 120 преобразования могут включать в себя модуль воспроизведения (не показано), чтобы интерпретировать код (внутреннего представления) Web-служб или код на языке разметки гипертекста (ЯРГ, HTML) и переводить этот код в формат, способный обрабатываться/визуализироваться на устройстве 110 обработки данных. Как описано в предшествующих заявках на патент, в одном варианте осуществления специфический для устройства формат содержит байт-коды/апплеты, которые в одном варианте осуществления представлены в форме байт-кодов/апплетов языка Java. Однако логические средства 120 преобразования могут формировать различные другие типы интерпретируемого и/или неинтерпретируемого кода, в зависимости от конкретного типа используемого устройства 110 обработки данных (например, такового с наличием модуля интерпретатора или такового без интерпретатора).
Поскольку один вариант осуществления службы 100 поддерживает внутреннее знание возможностей/конфигурации каждого устройства 110 обработки данных (например, размер экрана, графические/звуковые возможности, доступную память, вычислительную мощность, предпочтения пользователя... и т.д.), она может повторно создавать запрошенные данные точно, при минимизации в то же время полосы пропускания, требуемой для передачи контента на устройство 110. Например, логические средства 120 преобразования могут выполнять предварительное масштабирование и регулировку глубины цвета по отношению к запрошенному контенту с тем, чтобы оно было визуально воспроизведено надлежащим образом в устройстве отображения, соответствующим устройству 110 обработки данных. При выполнении этих вычислений преобразование может принимать во внимание объем памяти и вычислительной мощности, доступной на устройстве 110 обработки данных. Кроме того, логические средства 120 преобразования могут сжимать запрошенный контент, используя разнообразие способов сжатия, и таким образом сберегать полосу пропускания сети.
ОСУЩЕСТВЛЕНИЕ СВЯЗИ С WEB-СЛУЖБОЙ
На Фиг.2 иллюстрируется один вариант осуществления службы 100, используемой для соединения устройства 110 беспроводной связи с прокси-модулями 201 Web-служб для разнообразных различных Web-служб 130 (например, Yahoo! Web Service 202, разнообразные различные прокси-модули 203-204 Web-служб социальных сетей, и один или несколько прокси-модулей 205 обычных Web-служб). Хотя нижеследующее описание будет сконцентрировано на реализации, предназначенной для соединения устройства 110 беспроводной связи с Web-службой 203-204 организации социальной сети (например, MySpace Web Service или Linkedln Web Service), основные принципы изобретения не ограничиваются реализацией для социальной сети. Например, некоторые варианты осуществления изобретения могут соединять устройство 110 беспроводной связи с другими типами Web-служб (например, Yahoo! Web Services 202, EBay Web Services и т.д.). Кроме того, хотя только два прокси-модуля 203-204 Web-службы социальных сетей проиллюстрированы на фигурах чертежей и описаны ниже, исполнения изобретения, описанного в документе, могут осуществлять соединения фактически с неограниченным числом других Web-служб социальных сетей (или в этом отношении с любым типом Web-служб). Следовательно, объем изобретения не должен ограничиваться примерами, представленными ниже.
Когда пользователь осуществляет попытку соединения или осуществления связи с Web-службой 201 (например, EBay или MySpace) через посредство устройства 110 беспроводной связи, служба 100 осуществляет связь непосредственно с Web-службой 201 от имени пользователя беспроводного устройства 110 через Интернет 205 (например, используя протоколы/схему Web-служб, требуемые для этого конкретного прокси-модуля 202-204 Web-служб). Чтобы содействовать осуществлению связи между Web-службой 201 и устройством 110 беспроводной связи, в одном варианте осуществления служба 100 включает в себя прокси-модуль 207 интеграции Web-служб, прокси-модуль 208 службы уведомлений, диспетчер 209 для осуществления связи с устройством 110 беспроводной связи, прокси-модуль 210 базы данных (БД, DB) и БД 211.
Прокси-модуль 208 службы уведомлений принимает уведомления принудительной доставки от всех Web-служб 130 для каждого зарегистрированного в них пользователя с помощью множества прокси-модулей 201 Web-служб и распространяет эти уведомления на беспроводное устройство 110. Примерные уведомления принудительной доставки от Web-службы 130 включают в себя мгновенное сообщение или уведомление, что была принята электронная почта в рамках пользовательской учетной записи социальной сети, или что имело место некоторое другое обновление Web-службы (например, сообщение электронной почты от друга в MySpace). Таким образом, прокси-модуль 208 службы уведомлений представляет единый пункт управления для всех принудительных передач информации от Web-службы 130 на все устройства 110 беспроводной связи, соединенные со службой 100. Следовательно, даже если устройства беспроводной связи могут быть отключены от службы (например, вследствие потери зоны обслуживания сети), уведомление принудительной доставки еще может быть послано на службу 100, которая сохраняет уведомление от имени пользователя. Диспетчер 209 затем пересылает уведомление принудительной доставки на надлежащее устройство 110 беспроводной связи, как только устройство 110 беспроводной связи повторно соединено со службой 100.
В одном варианте осуществления изобретения прокси-модуль 207 интеграции Web-службы (WSIP) обрабатывает передачи, отличные от принудительно доставляемых уведомлений в/от Web-служб 130. Например, если пользователь на устройстве 110 беспроводной связи запрашивает в Web-службе 130 социальной сети обновление для профиля параметров пользователя, этот процесс обрабатывается посредством WSIP 207. Подобным образом, когда пользователь регистрируется и запрашивает обновление от одной из Web-служб 130, этим процессом управляет WSIP 207.
На Фиг.3 иллюстрируется один вариант осуществления прокси-модуля 207 интеграции Web-службы, используемый в рамках службы 100. В проиллюстрированном варианте осуществления прокси-модуль 207 интеграции Web-службы включает в себя локальный прокси-модуль 301 Web-служб (то есть "локальный" в том смысле, что он исполняется в службе 100), множество адаптеров 302-304 Web-служб соединены с возможностью осуществления связи с прокси-модулем 301 Web-служб и прокси-модулем 305 аутентификации.
В отличие от систем предшествующего уровня техники, в которых WAP-приложение в устройстве 110 беспроводной связи взаимодействует напрямую с различными прокси-модулями Web-служб 201, в этом варианте осуществления изобретения локальный прокси-модуль 301 Web-служб взаимодействует с прокси-модулями Web-служб 201 от имени устройства 110 беспроводной связи, используя адаптеры 302-304 Web-служб.
Как упомянуто выше, некоторые Web-службы осуществляют связь с клиентами и серверами в Интернет, используя различные протоколы и форматы кодирования, например простой протокол (SOAP) доступа к объектам. SOAP является протоколом на основе сообщений, применяющим синтаксис XML, для посылки текстовых команд по Интернет с использованием протокола (HTTP) передачи гипертекстовых файлов. Другие протоколы Web-служб, такие как XML/RPC (удаленный вызов процедур) и REST (передача репрезентативного состояния), также могут использоваться в соответствии с основными принципами изобретения.
Хотя большинство Web-служб используют эти стандартные протоколы, многие Web-службы используют свой собственный специальный формат (например, схему данных и правила для осуществления связи), которому необходимо следовать, чтобы осуществлять связь с этими Web-службами. Кроме того, каждая Web-служба использует свой собственный уникальный API, то есть набор функций и интерфейсов, предоставляемых Web-службой. Таким образом, в одном варианте осуществления изобретения используется отдельный адаптер 302-304 Web-служб, чтобы осуществлять связь с каждым из прокси-модулей 202-204 Web-служб соответственно, используя форматы, требуемые согласно этим прокси-модулям. Кроме того, как иллюстрируется на Фиг.3, один вариант осуществления изобретения включает "глобальный" или "заданный по умолчанию" адаптер 306 Web-служб для осуществления связи с web-службами, использующими стандартизированные (то есть не составляющие собственность) форматы связи Web-служб.
Адаптеры 302-304 Web-служб являются "подключаемыми" к прокси-модулю 301 Web-служб через посредство API, предоставляемого прокси-модулем 301 Web-служб. Каждый из адаптеров 302 Web-служб осуществляет обмен данными и программным кодом с прокси-модулем Web-служб прокси-модулей Web-служб с помощью этого API.
В действии когда от имени беспроводного устройства 110 запрашиваются данные от конкретной Web-службы, например Web-службы 204 социальной сети, адаптер 304, связанный с этой Web-службой 204, осуществляет связь с Web-службой 204, используя требуемые схемы данных и другие стандарты связи, требуемые Web-службой 204. Адаптер 304 поставляет запрошенные данные на прокси-модуль 301 Web-служб посредством API прокси-модуля Web-служб. В одном варианте осуществления адаптер 304 может также преобразовать данные в формат, допускающий интерпретацию прокси-модулем 301 Web-служб. Прокси-модуль 301 Web-служб извлекает базовые данные и инкапсулирует данные в формат связи, требуемый для передачи на беспроводное устройство 110. Если беспроводное устройство в текущий момент подключено к сети, то диспетчер 209, с которым беспроводное устройство 110 в текущий момент соединено, передает данные на беспроводное устройство 110, используя асинхронный протокол, специально приспособленный для передачи по сетям с высокой задержкой (например, беспроводные сети). Для восходящей передачи, когда пользователь беспроводного устройства 110 передает информацию на Web-службу 204 социальной сети (или другую Web-службу), информация передается через диспетчер с использованием такого же протокола. Прокси-модуль 301 Web-служб извлекает информацию и передает информацию на соответствующий адаптер 304 Web-служб с помощью API прокси-модуля Web-службы. Адаптер 304 Web-служб затем передает новую информацию на свою, связанную с ним Web-службу 204, используя требуемую схему данных и другие стандарты связи, требуемые Web-службой 204.
Одно значительное преимущество этой архитектуры состоит в том, что при модификации своих стандартов/протоколов связи конкретным прокси-модулем Web-службы (таким как прокси-модуль 204 Web-службы организации социальной сети) модификации или замене подлежит только конкретно определенный адаптер для этого прокси-модуля Web-службы (например, адаптер 304 Web-службы организации социальной сети). Остальное программное обеспечение, исполняемое в службе 100 (например, прокси-модуль 301 Web-служб) и каждом из беспроводных устройств 110, не нуждается в изменении. Таким образом, сберегаются полоса пропускания сети связи, а также время технического обслуживания, которое обычно потребовалось бы для модернизации каждого индивидуального беспроводного устройства 110.
Как упомянуто выше, устройство 110 беспроводной связи осуществляет связь с диспетчером 209 (который описан подробно в предшествующих заявках на патент) с использованием асинхронного, основанного на сообщениях протокола, специально приспособленного для сети с высокой задержкой (такой как беспроводная сеть). Конкретно в одном варианте осуществления (описанном ниже в отношении Фиг.6) прокси-модуль 301 Web-служб объединяет множественные взаимодействия «запрос/ответ» с каждой из Web-служб 202-204 в одиночную передачу на беспроводное устройство 110, таким образом сберегая полосу пропускания сети. Кроме того, как предварительно описано, поскольку служба 100 «понимает» форматы данных, которые устройство 110 беспроводной связи способно интерпретировать (например, разрешающая способность видеотерминала, быстродействие процессора, возможности запоминающего устройства и т.д.), служба 100 преобразует основные данные в эти конкретно определенные форматы данных, обычно сжимая данные для дополнительного сбережения полосы пропускания. Следовательно, передачи информации, направленные на/от Web-службу(ы) 130 от/на устройства(о) 110 беспроводной связи, если передаются между службой 100 и устройством 110 беспроводной связи, имеют в большей степени сжатый, более эффективный формат, чем типичные форматы, формируемые посредством WAP-приложения.
Хотя описанные выше варианты осуществления используют протокол SOAP, чтобы осуществлять связь с Web-службами, основные принципы изобретения не ограничиваются каким-либо конкретным протоколом. Фактически любой другой протокол может применяться в соответствии с основными принципами изобретения (например, DCOM (распределенная модель компонентных объектов), CORBA (общая архитектура брокера запросов к объектам) или любой интерфейс RMI/RPC (протокол удаленного вызова методов/протокол удаленного вызова процедур), как определено Консорциумом производителей программного обеспечения для сети Интернет (см., например, www.w3.org).
Как предварительно описано, устройство 110 беспроводной связи может передавать запрос конкретной информации, например информации социальной сети, от Web-службы 130 через посредство службы 100. В одном варианте осуществления изобретения служба 100 «сворачивает» (сокращает) количество взаимодействий «запрос/ответ» с Web-службой 130, чтобы выполнить запрос пользователя. Один конкретный пример проиллюстрирован на Фиг.6, где пользователь желает осуществить доступ к пользовательскому профилю параметров социальной сети из сайта социальной сети, и требуется несколько запросов к Web-службе 204 социальной сети относительно различных объектов (например, один запрос, чтобы извлечь изображение пользователя, и другой запрос, чтобы извлечь персональную информацию пользователя). Устройство 110 беспроводной связи посылает один общий запрос 601 на службу 100, чтобы просто получить профиль параметров. Прокси-модуль 301 Web-служб принимает запрос от устройства 110 беспроводной связи и преобразует одиночный запрос в несколько запросов, требуемых для доставки запрошенной информации (например, изображения и персональной информации) от Web-службы 204 социальной сети. Как упомянуто выше, взаимодействия запрос/ответ управляются посредством адаптера 304, связанного с конкретной Web-службой 204. Таким образом, адаптер 304 пересылает запрос 602 персональной информации на Web-службу 204 социальной сети. Web-служба 204 социальной сети представляет ответ с наличием персональной информации на адаптер 204 (603). Адаптер 304 затем пересылает следующий запрос 604 (например, относительно изображения) на Web-службу 204. Web-служба 304 социальной сети представляет на адаптер 204 (605) ответ с наличием изображения. Как только служба 100 принимает всю информацию, чтобы выполнить запрос 601 устройства 110 беспроводной связи, прокси-модуль 301 Web-служб объединяет всю запрошенную информацию для устройства 110 беспроводной связи в один ответ (606). Как проиллюстрировано на Фиг.6, может иметься более двух запросов и ответов на/от Web-службы 201 посредством службы 100 для каждого запроса и ответа на/от службы 100 от устройства 110 беспроводной связи. Следовательно, для различных запросов, передаваемых от устройства 110 беспроводной связи на службу 100, может быть включено любое количество запросов от службы 100 на Web-службы 130 в различные запросы между устройством 110 и службой 100.
Чтобы осуществлять доступ к информации от различных Web-служб 130, пользователь должен быть зарегистрирован в Web-службе 130. Следовательно, служба 100 может регистрировать пользователя устройства 110 беспроводной связи в требуемой Web-службе 130. Что касается Фиг.3, в одном варианте осуществления, прокси-модуль 305 аутентификации прозрачно собирает информацию регистрации относительно пользователя (например, имя пользователя и пароль) для соединения с Web-службой 130. В одном варианте осуществления база данных (БД, DB) 211 (Фиг.2) хранит пользовательскую информацию регистрации для многих Web-служб 130. Когда прокси-модулю 305 аутентификации (Фиг.3) требуется собрать пользовательскую информацию регистрации для конкретной Web-службы 130 (например, MySpace), прокси-модуль 305 аутентификации запрашивает информацию из прокси-модуля 210 БД (Фиг.2). Прокси-модуль 210 БД затем осуществляет доступ к БД 211 относительно информации регистрации и пересылает информацию регистрации на прокси-модуль 305 аутентификации. Прокси-модуль 301 Web-служб затем передает информацию регистрации на какую-либо или все Web-службы 130. В одном варианте осуществления после извлечения из беспроводного устройства мандатов аутентификации служба 100 (через посредство прокси-модуля 305 аутентификации и прокси-модуля 301 Web-служб) автоматически регистрирует пользователя устройства 110 беспроводной связи во многих Web-службах 130, не требуя дополнительных входных данных от пользователя (в предположении, что надлежащая информация аутентификации для каждой Web-службы является доступной из пользовательской базы данных посредством прокси-модуля 210 БД). В результате пользователь может осуществлять доступ к информации от различных Web-служб 130 без ручного ввода требуемой информации регистрации для каждой отдельной Web-службы 130. Кроме того, служба 100 может поддерживать пользователя зарегистрированным в течение продленного промежутка времени, даже если устройство 110 беспроводной связи временно отключено от службы 100.
На Фиг.4 иллюстрируется одно исполнение относительно снимков экранов пользовательского интерфейса для устройства 110 беспроводной связи для регистрации в MySpace и обеспечения взаимодействия с MySpace, являющейся специальным сайтом социальной сети (то есть конкретной Web-службой 201). Моментальный снимок 401 показывает, что в перечне ответов (меню) имеется идентификатор устройства 110 беспроводной связи. Когда пользователь желает осуществить доступ к службе социальной сети, пользователь выделяет подсветкой и выбирает идентификатор службы социальной сети. Наличие подсветки идентификатора может показывать, зарегистрирован ли пользователь в службе социальной сети. После выбора идентификатора пользователь может быть запрошен относительно его информации регистрации. Как предварительно описано, служба 100 может вместо этого автоматически регистрировать пользователя в Web-службе 130 социальной сети. Как только пользователь зарегистрирован в Web-службе социальной сети, служба 100 извлекает информацию для пользователя и передает информацию на устройство 110 беспроводной связи, чтобы визуально отобразить пользователю, как показано в 403. На Фиг.5a иллюстрируется, что информация может включать, что пользователь зарегистрирован 501, число новых сообщений 502, число новых комментариев 503, число новых напоминаний 504 друзей и число новых бюллетеней 505. Моментальные снимки 404 и 405 иллюстрируют примеры снимков экранов для окон или перечней ответов, предназначенных для осуществления доступа к новой информации (например, непрочитанным сообщениям) от службы социальной сети, оповещенной в 403.
Пока пользователь зарегистрирован в службе социальной сети, пользователь способен использовать устройство беспроводной связи для действий, отличных от доступа к службе социальной сети (например, выполнения телефонного вызова, прослушивание аудиоданных в формате MP3). Таким образом, поскольку пользователь зарегистрирован, пользователь все еще принимает уведомления о том, когда новая информация принимается в службе социальной сети. Например, на Фиг.5b иллюстрируется визуальное уведомление 506, когда пользователь принимает новое сообщение от другого пользователя. Кроме того, как иллюстрируется на Фиг.5c, пользовательский интерфейс включает визуальное представление идентификатора 507 (например, в строке перечня ответов) для пользователя, когда он регистрируется в службе социальной сети. Уведомления пользователю могут быть визуальными (506) и/или звуковыми/вибрацией. Уведомления могут приниматься через уведомления принудительной доставки от Web-службы 204 социальной сети или посредством службы 100, периодически проверяющей Web-службу социальной сети на наличие каких-либо обновлений.
Хотя снимки экранов предназначены для конкретного варианта осуществления взаимодействия с конкретной Web-службой 130 (то есть MySpace), пользовательские интерфейсы не ограничиваются интерфейсом с сайтами социальных сетей. Может иметься сходная порция пользовательского интерфейса для каждой Web-службы, с которой служба 100 способна осуществлять контакт и с каковой Web-службой 130 пользователь желает взаимодействовать.
Для каких-либо запросов или передач информации между устройством 110 беспроводной связи и Web-службой 130, которые не могут обрабатывать WSIP 207 или прокси-модуль 208 уведомлений принудительной доставки, устройство 110 беспроводной связи может осуществлять связь с Интернет-сайтом Web-службы 130 посредством службы 100, используя обычный Web-браузер на устройстве 110 беспроводной связи.
Хотя выше были представлены конкретные примеры для данных социальных сетей (например, изображения, сообщения электронной почты и т.д.), основные принципы изобретения не ограничиваются каким-либо конкретным типом данных социальных сетей. Информация социальной сети, обрабатываемая службой 100, может включать в себя, но неограничительно, профили параметров пользователя, блоги, изображения, видео, "последние сообщения", мгновенные сообщения, перечень "друзей", сообщения электронной почты, электронные доски объявлений и календари, если называть несколько.
ОБЪЕДИНЕННЫЕ ДАННЫЕ СОЦИАЛЬНОЙ СЕТИ И УПРАВЛЕНИЯ ПРИСУТСТВИЕМ
Один вариант осуществления изобретения объединяет пользовательские данные из многих сайтов социальной сети, чтобы сформировать объединенное представление данных социальной сети для каждого пользователя. Это является возможным, поскольку (как описано выше), прокси-модуль 305 аутентификации в составе WSIP 207 имеет доступ к данным аутентификации пользователя для многих сайтов социальной сети (через прокси-модуль БД) и, следовательно, способен одновременно соединять пользователя с каждым из сайтов социальной сети. Как проиллюстрировано на Фиг.7, в одном варианте осуществления WSIP 207 извлекает данные социальной сети из различных сайтов и сохраняет объединенные данные социальной сети в стандартизированном формате в рамках объединенной базы данных 703 социальной сети. Хотя на Фиг.7 с целью иллюстрации показывается отдельная база данных 703, отдельная база данных не является необходимой для соответствия основным принципам изобретения. Однажды собранные, объединенные данные затем делаются доступными для других пользователей, связанных через различные социальные сети. Объединенные данные могут также использоваться для ряда других приложений (например, приложений электронной адресной книги, приложений календарных событий, приложений электронной почты и т.д.).
Кроме того, один вариант осуществления службы 100 управляет информацией присутствия относительно пользователей службы 100 и объединяет информацию присутствия с пользовательской информацией социальной сети, собранной из различных сайтов социальных сетей. Как проиллюстрировано на Фиг.7, информация присутствия каждого пользователя накапливается и поддерживается в рамках базы 702 данных присутствия, доступной через посредство прокси-модуля 701 присутствия.
Как используется в документе, "присутствие" пользователя может включать в себя и физическое местоположение пользователя и электронное состояние (например, доступность) пользователя, и различные комбинации таковых. Например, один вариант осуществления изобретения отслеживает физическое/географическое местоположение каждого пользователя, потенциально с различными уровнями детализации (как описано в рассматриваемых одновременно заявках на патент). В качестве примера, а не ограничения, данные присутствия, относящиеся к местоположению пользователя, могут включать страну или город, в котором в текущий момент находится пользователь, относительное расстояние между пользователем и другим пользователем, или точное физическое местоположение пользователя (например, долготу и широту, или используя конкретный адрес улицы или перекрестка). Детализация, предоставляемая другим пользователям службой 100, может быть задана на основе возможностей службы 100 и устройства 110 обработки данных идентифицировать местоположение пользователя и/или на основе предпочтений пользователя относительно детализации, которую нужно предоставлять другим пользователям (например, пользователь может желать, чтобы только некоторые пользователи имели доступ к наиболее точному уровню детализации (например, адрес улицы вместо города)). Это может выполняться посредством различных типов пользовательских интерфейсов (например, окно возможных вариантов, выбираемых пользователем, чтобы предотвратить широковещание службой 100 информации присутствия устройства 110 беспроводной связи на другие устройства 110 беспроводной связи). Электронное "присутствие" пользователя включает в себя информацию, относящуюся к тому, является ли пользователь в текущий момент подключенным к сети (например, зарегистрированным в службе социальной сети или в сеансе передачи мгновенных сообщений).
Данные присутствия и данные социальной сети могут быть объединены различными выгодными способами. Например, согласно одному варианту осуществления, пользователя обеспечивают возможностью осуществлять поиск других пользователей, соответствующих специфическим для пользователя критериям (например, с наличием конкретных интересов), которые географически находятся около этого пользователя и/или которые присутствуют «электронно» (например, зарегистрированы в социальной сети).
Как упомянуто выше, чтобы осуществлять вышеизложенные концепции, служба 100 по Фиг.7 включает доступную для поиска базу данных присутствия, чтобы хранить географическое или электронное присутствие каждого из пользователей.
Местоположение устройства 110 беспроводной связи может быть определено рядом способов. Например, оно может быть определено с помощью встроенной или присоединенной глобальной системы определения местоположения (ГСОМ, GPS), встроенной в устройство 110 беспроводной связи. В качестве альтернативы или в дополнение, местоположение устройства 110 беспроводной связи определяется известным способом триангуляции между несколькими башнями сотовой связи, относительно которых устройство 110 беспроводной связи находится в диапазоне дальности передачи. Кроме того, общее местоположение может быть определено путем идентификации башни сотовой связи, с которой соединено устройство 110 беспроводной связи.
На Фиг.8 иллюстрируется один вариант осуществления способа, реализуемого службой 100, для определения местоположения других пользователей, удовлетворяющих указанным критериям. На начальном этапе 801 служба 100 принимает запрос на поиск пользователей с указанными критериями. Примерные критерии включают «любимые занятия» (например, катание на скейтборде, шахматы, татуировка), «членство» (например, член Phi Sigma Epsilon), «выпускники школ» (например, бывший студент университета Charlotte) и т.д. Критерии могут дополнительно включать причины, по которым пользователь находится в конкретном местоположении (например, пользователь конкретного пола, осуществляющий поиск, чтобы найти другого пользователя конкретного пола, указание, что пользователь находится на вечеринке или на работе, указание, что пользователь является посетителем акции по сбору денег, и т.д.). Фактически может быть указано неограниченное число критериев в соответствии с основными принципами изобретения.
В одном варианте осуществления настоящего изобретения служба 100 осуществляет попытку автоматически определить причину, по которой пользователь находится в определенном местоположении. Например, служба 100 может определить, что пользователь находится на работе, поскольку устройство 110 беспроводной связи пользователя «включено» относительно конкретной башни сотовой связи, с которой устройство 110 соединяется в течение рабочего времени (например, понедельник - пятница с 8:00 до 18:00). Пользователь может также осуществить ранжирование важности критериев, чтобы ранжировать релевантность неполных совпадений.
Возвращаясь на Фиг.8, как только служба 100 принимает пользовательские критерии, на этапе 802 служба 100 принимает требования к местоположению от устройства 110 беспроводной связи. Например, пользователь может выбрать поиск других пользователей в пределах радиуса двух миль от пользователя. Пользователь может также выбрать конкретное местоположение, где пользователь не присутствует (например, Сан-Франциско, Калифорния, когда пользователь находится в Сан-Хосе, Калифорния).
Как только служба 100 принимает требования к местоположению, на этапе 803 служба 100 осуществляет поиск пользователей, удовлетворяющих критериям и требованиям к местоположению. В ходе поиска лиц, удовлетворяющих указанным критериям, WSIP 207 из службы 100 осуществляет связь с Web-службами 130, как описано здесь. Например, WSIP 207 осуществляет связь с Web-службой 204 формирования социальной сети, чтобы для службы 100 осуществить поиск пользователей, удовлетворяющих критериям. Поскольку служба 100 способна прозрачно регистрировать пользователя во многих web-сайтах путем сохранения информации регистрации, служба 100 может осуществлять поиск во многих Web-службах (например, Yahoo! Local, Linkedln, и MySpace) относительно пользователей, удовлетворяющих указанным критериям, и/или может просматривать БД 703 объединенных пользовательских данных, чтобы осуществлять поиск пользователей, удовлетворяющих критериям.
В одном варианте осуществления служба 100 дает возможность пользователю ограничивать пул пользователей, предназначенный для поиска пользователей устройств 110 беспроводной связи, соединенных в текущий момент со службой 100 или иным образом зарегистрированных в службе организации социальной сети или другой службе (например, службе передачи мгновенных сообщений). В качестве альтернативы или в дополнение служба 100 может давать возможность пользователю ограничивать пул пользователей, чтобы осуществлять поиск по отношению к другим пользователям в электронной адресной книге пользователя (например, электронной адресной книге MySpace или объединенной электронной адресной книге, поддерживаемой в службе 100).
Как только WSIP 207 в службе 100 принимает перечень пользователей, которые соответствуют критериям и/или ранжированию того, насколько хорошо пользователи соответствуют критериям (насколько близко к полному соответствию), WSIP 207 осуществляет поиск в базе 702 данных присутствия, чтобы определить местоположения пользователей (и таким образом определить, какие пользователи соответствуют и критериям и указанным требованиям к местоположению). Перечень может представляться в соответствии с приоритетом на основании, например, местоположения или рангов критериев соответствия. Служба 100 затем на этапе 804 возвращает результаты поиска запрашивающему пользователю на устройство 110 беспроводной связи.
После того как устройство 110 беспроводной связи принимает результаты, устройство 110 беспроводной связи отображает результаты пользователю. Результаты могут быть отображены в различных форматах, включая простой перечень, или в виде пиктограмм на географической карте, чтобы показать конкретное местоположение каждого из полученных в результате пользователей. Данные карты могут храниться на устройстве беспроводной связи (например, NavTech) и/или к ним может быть осуществлен доступ из общедоступного узла, такого как Google Maps или Mapquest. Пиктограммы могут включать приоритетное ранжирование для соответствующего пользователя (например, определенного согласно тому, насколько близко пользователи соответствуют критериям и указаниям присутствия).
В одном варианте осуществления настоящего изобретения если устройство 110 беспроводной связи другого пользователя, соответствующего критериям пользователя, входит в непосредственную близость с устройством 110 беспроводной связи запрашивающего пользователя, запрашивающий пользователь оповещается о непосредственной близости пользователя, удовлетворяющего критериям. Другой пользователь, соответствующий критериям, также может быть оповещен о близости пользователя, запрашивающего их. Устройство 110 беспроводной связи затем предоставляет пользователю, выполняющему поиск, необязательную возможность контакта с другим пользователем и/или может автоматически осуществлять попытку соединения этих двух пользователей посредством канала связи (например, телефонного вызова, мгновенного обмена сообщениями (IM), электронной почты, службы коротких сообщений (СКС, SMS) и т.д.). Поскольку служба 100 обеспечивает пользователей возможностью скрыть их информацию местоположения, с помощью способов на основе присутствия, описанных в документе, пользователям также может предоставляться необязательная возможность не подвергаться контактам с пользователями.
Варианты осуществления изобретения могут включать в себя различные этапы, как изложено выше. Этапы могут быть осуществлены в виде машиноисполняемых команд, которые обеспечивают, что либо универсальный процессор либо специализированный процессор выполняют некоторые этапы. В качестве альтернативы эти этапы могут выполняться посредством специальных компонентов аппаратных средств, которые содержат аппаратно-реализованную логику, предназначенную для выполнения этапов, или посредством любой комбинации из программируемых компьютерных компонентов и специализированных аппаратных компонентов.
Элементы настоящего изобретения также могут обеспечиваться в виде машиночитаемого носителя, предназначенного для хранения машиноисполняемых команд. Машиночитаемый носитель может включать в себя, но неограничительно, носители на гибких дисках, оптических дисках, ПЗУ на компакт-дисках (CD-ROM) и магнито-оптических дисках, постоянные запоминающие устройства (ПЗУ, ROM), оперативные запоминающего устройства (ОЗУ, RAM), стираемые программируемые постоянные запоминающие устройства (СППЗУ, EPROM), электрически стираемые программируемые ПЗУ (ЭСППЗУ, EEPROM), магнитные или оптические карты, среду распространения (радиоволн) или другой тип среды/машиночитаемого носителя, подходящего для хранения команд в электронной форме. Например, аспекты по настоящему изобретению могут загружаться в виде компьютерной программы, которая может переноситься от удаленного компьютера (например, сервера) на запрашивающий компьютер (например, клиент) посредством сигналов данных, реализованных в виде несущей или другой среды распространения, с помощью канала связи (например, модемного или сетевого соединения).
По всему предшествующему описанию с целью пояснения были изложены многочисленные конкретные подробности, чтобы обеспечить полное понимание изобретения. Однако специалисту в данной области техники будет очевидно, что изобретение может на практике осуществляться без некоторых из этих конкретных подробностей. Например, многоцелевые устройства телефонии/обработки данных являются особо подходящими для осуществления некоторых аспектов изобретения, поскольку эти устройства могут инициировать процесс передачи по различным каналам связи (например, речевому, IM, электронной почты, SMS, MMS (службы передачи мультимедийных сообщений),... и т.д.). Однако основные принципы не ограничиваются этими типами устройств. Например, основные принципы изобретения могут быть осуществлены в рамках типовых конфигураций персональных компьютеров, типовых радиотелефонов и/или других типов устройств связи (например, устройств связи транспортных средств). Кроме того, хотя изобретение было описано в контексте конкретных типов приложений для обмена сообщениями (например, электронной почты, мгновенного обмена сообщениями... и т.д.), основные принципы изобретения не ограничиваются каким-либо конкретным типом приложения обмена сообщениями.
Фактически, хотя различные прокси-модули были описаны в виде использующих протокол SOAP, XML и/или REST, могут использоваться любые протоколы связи или средства осуществления связи между двумя узлами. Кроме того, хотя служба 100 описана в качестве принимающей критерии и требования к «присутствию», многие требования могут включать значение по умолчанию, чтобы не являться необходимыми. Кроме того, служба 100 может сначала осуществлять поиск пользователей без приема требования к местоположению, чтобы определять, соответствуют ли какие-либо пользователи критериям, или наоборот. Запросы, посылаемые на службу 100 от устройства 110 беспроводной связи, могут также иметь место в одиночной передаче или во многих передачах. Кроме того, ссылки на Web-службу 201 или сервер, или сайт социальной сети не ограничиваются приведенными примерами (например, EBay, Yahoo! Local, Linkedln, MySpace).
Соответственно рамки объема и сущности изобретения следует определять исходя из прилагаемой ниже формулы изобретения.