СПОСОБ И СИСТЕМА ДЛЯ ОСУЩЕСТВЛЕНИЯ ПОСРЕДНИЧЕСТВА МЕЖДУ ВЕБ-САЙТОМ КОНТЕНТ-ПРОВАЙДЕРА И МОБИЛЬНЫМ УСТРОЙСТВОМ
METHOD AND SYSTEM FOR PERFORMING MEDIATION BETWEEN CONTENT PROVIDER WEBSITE AND MOBILE DEVICE

ОБЛАСТЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
[0001] Настоящая группа изобретений относится к связи, которая задействует мобильные устройства и, более конкретно, к связи между такими мобильными устройствами и веб-сайтами контент-провайдеров в Интернете.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
[0002] Веб-сайты контент-провайдеров (CPW), такие как веб-сайты социальных сетей (SNW), ленты новостей, музыкальные и фотографические сайты, равно как и другие типы веб-сайтов, такие как сайты бизнес-бизнес (b2b) и бизнес-потребитель (b2c), являются интерактивными веб-сайтами, которые позволяют загружать и/или выгружать (загружать в удаленный компьютер) (например, публиковать) различные формы данных, такие как новости, погода, персональная или бизнес информация, снимки, видео и песни, и тем самым содействуют созданию и поддержке межперсональных соединений между людьми и группами людей. Выгрузка данных на CPW одним пользователем может позволить другим пользователям осуществлять доступ и/или загрузить выгруженные данные. Обычно, SNW предоставляют структуру для бесчисленных пользователей для создания соответствующих персональных и профессиональных пространств, которые соответственно идентифицируют соответствующих пользователей и позволяют связывать выгруженные данные с соответствующими пространствами.
[0003] CPW могут иметь связь с пользователями, которые оперируют любым из множества разных типов устройств, которые контактируют с CPW часто посредством сетей типа Интернет. Все больше и больше пользователей используют мобильные устройства для взаимодействия с CPW. По мере увеличения коммуникационной активности, возникает возросшая потребность в повышении качества и/или дружественности по отношению к пользователю при проведении такой коммуникационной активности. Кроме того, также возникает возросшая потребность в повышении эффективности такой коммуникационной активности для улучшения рабочих характеристик аккумуляторов мобильных устройств и снижения передач данных для всех устройств.
[0004] Следовательно, было бы полезно, если бы можно было предоставить усовершенствования в виде улучшенных мобильных устройств и/или других устройств, и/или улучшенных способов для обеспечения возможности мобильному устройству осуществлять связь с CPW, что помогло бы решить, по меньшей мере частично, одну или более из вышеупомянутых потребностей развития.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] По меньшей мере в одном варианте осуществления, настоящее изобретение относится к способу содействия связи между первым веб-сайтом (Интернет-сайтом) контент-провайдеров (поставщиков содержимого) и мобильным устройством. Способ включает в себя получение первой информации от веб-сайта контент-провайдера посредством первой сети на веб-сервер, причем первая информация не включает в себя какое-либо сообщение электронной почты, причем получение включает в себя вытягивание, посредством внутреннего блока веб-сервера, первой информации из веб-сайта контент-провайдера. Способ также включает в себя обработку по меньшей мере во внутреннем блоке и внешнем блоке веб-сервера первой информации для того, чтобы предоставить обработанную первую информацию, и передачу извещения о новом контенте (содержимом) в первой информации из внешнего блока веб-сервера по каналу проталкивания данных, установленному либо в первой сети, либо во второй сети, для получения мобильным устройством.
[0006] Дополнительно, по меньшей мере в одном дополнительном варианте осуществления, настоящее изобретение относится к способу содействия связи между первым веб-сайтом социальной сети и мобильным устройством. Способ включает в себя получение первой информации на внутренний блок веб-сервера от сайта социальной сети посредством первой сети, обработку первой информации на веб-сервере для того, чтобы предоставить обработанную первую информацию, где обработка включает в себя фильтрацию по меньшей мере части первой информации на основе по меньшей мере одного уровня важности, отвечающего по меньшей мере одной части, и где по меньшей мере одна часть включает в себя по меньшей мере одно из контактной информации, информации о статусе и информации о новостях. Способ дополнительно включает в себя передачу извещения о новом контенте в первой информации из внешнего блока веб-сервера по каналу проталкивания данных, установленному либо в первой сети, либо во второй сети, для получения мобильным устройством. Извещение имеет высокий приоритет, если новый контент, которому принадлежит уведомление, включает в себя информацию о статусе, и в котором извещение имеет низкий приоритет, если новый контент, которому принадлежит извещение, включает в себя по меньшей мере еще один другой тип информации.
[0007] Кроме того, по меньшей мере в одном дополнительном варианте осуществления, настоящее изобретение относится к способу содействия связи между первым веб-сайтом социальной сети и мобильным устройством. Способ включает в себя прием первых данных от мобильного устройства и прием вторых данных от мобильного устройства, где одни из первых или вторых данных являются данными контента, и другие из первых или вторых данных включают в себя по меньшей мере один идентификатор, посредством которого мобильное устройство может осуществить вход на первый сайт социальной сети. Способ также включает в себя передачу по меньшей мере одного идентификатора в первую сеть для приема первым сайтом социальной сети, посредством которого сервер способен осуществить вход на первый сайт социальной сети, в качестве посредника для мобильного устройства.
[0008] В еще одном варианте осуществления, настоящее изобретение относится к способу содействия связи между первым веб-сайтом социальной сети и мобильным устройством. Способ включает в себя получение первой информации от веб-сайта социальной сети посредством первой сети на веб-сервер и обработку первой информации на веб-сервере для того, чтобы предоставить обработанную первую информацию, в котором обработанная первая информация указывает разницу между первой информацией и более ранней предварительно принятой информацией от веб-сайта социальной сети. Способ дополнительно включает в себя передачу извещения от веб-сервера для приема мобильным устройством. Когда обработка включает в себя определение того, что первая часть первой информации имеет высокий уровень важности, то передача извещения включает в себя по существу немедленное предоставление извещения с высоким приоритетом об обработанной первой информации по каналу проталкивания данных, существующему между веб-сервером и мобильным устройством. Способ также включает в себя ожидание запроса на загрузку от мобильного устройства.
[0009] Кроме того, по меньшей мере в одном дополнительном варианте осуществления, настоящее изобретение относится к способу содействия связи между мобильным устройством и множеством веб-сайтов социальных сетей, включающим в себя первый сайт социальной сети и второй сайт социальной сети. Способ включает в себя вытягивание первой информации из первого веб-сайта социальной сети и второй информации из второго веб-сайта социальной сети на веб-сервер посредством по меньшей мере одной первой сети. Способ дополнительно включает в себя обработку первой и второй информации на веб-сервере для того, чтобы сгенерировать обработанную первую и вторую информацию, и передачу извещения о доступности обработанной первой или второй информации от веб-сервера для приема мобильным устройством. Обработанная первая и вторая информация выполнены так, чтобы позволить мобильному устройству запрашивать обработанную первую и вторую информацию и отображать как обработанную первую информацию, так и обработанную вторую информацию, при приеме стандартным образом, то есть по меньшей мере по существу независимо от конкретных характеристик форматирования для первой и второй информации, предоставленных первым и вторым сайтами социальной сети.
[0010].
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0011] На Фиг. 1 показана в схематичном виде примерная система связи, включающая в себя множество мобильных устройств, осуществляющих связь со множеством веб-сайтов контент-провайдеров, в которой некоторые из процессов осуществления связи осуществляются посредством промежуточного веб-сервера;
[0012] На Фиг. 2 показана блок-схема, показывающая примерные компоненты одного из мобильных устройств с Фиг. 1;
[0013] На Фиг. 3 показана блок-схема, показывающая примерные компоненты промежуточного веб-сервера с Фиг. 1; и
[0014] На Фиг. 4-9 показаны функциональные схемы различных примерных этапов работы промежуточного веб-сервера и мобильных устройств с Фиг. 1.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0015] Ссылаясь на Фиг. 1 блок-схема примерной системы 100 связи показана в упрощенной схематичной форме. Как показано, система 100 связи включает в себя в этом варианте осуществления три мобильных устройства 102, одно из который показано имеющим связь с сервером посредством линии 105 связи, который в настоящем варианте осуществления является веб-сервером 104. Мобильные устройства 102 являются соответственно представителями устройств связи, оперируемых людьми (или пользователями) или возможно другими объектами (например, нетбуками или другими компьютерами), желающими или требующими возможности связи. В некоторых вариантах осуществления, например, мобильными устройствами могут быть любые из сотовых телефонов, других беспроводных устройств, таких как карманные персональные компьютеры, и/или устройства, такие как портативные компьютеры или настольные компьютеры, которые имеют возможность соединения и осуществления связи с сетью.
[0016] Система 100 связи дополнительно показана как включающая в себя три веб-сайта (Интернет-сайта) контент-провайдеров (поставщиков содержимого) (CPW) 106, один из которых показан имеющим связь с промежуточным веб-сервером 104 посредством линии 108 связи. Кроме того, также предоставлена линия 110 связи, которая позволяет для этого одного из мобильных устройств 102, которое имеет связь с веб-сервером 104, напрямую осуществлять связь с этим одним из CPW 106, который также имеет связь с веб-сервером, без посредничества веб-сервера 104. Несмотря на то, что только одно из мобильных устройств 102 и один из CPW 106 показаны имеющими связь с веб-сервером, будет понятно, что в зависимости от времени или рабочих условий, любой или все мобильные устройства 102 и CPW 106 могут иметь связь с веб-сервером. Аналогично, в зависимости от времени или рабочих условий, любое из мобильных устройств 102 может вступить в связь с любым из CPW 106 посредством прямых линий связи, таких как линия 110.
[0017] Несмотря на то, что три мобильные устройства 102 показаны на Фиг. 1, в других вариантах осуществления только одно мобильное устройство находится на связи с веб-сервером 104, или иначе, любое произвольное число мобильных устройств может иметь связь с веб-сервером 104. [0017] Аналогично, несмотря на то, что три CPW 106 показаны на Фиг. 1, в других вариантах осуществления только один CPW имеет связь с веб-сервером 104, или иначе, любое произвольное число CPW может иметь связь с веб-сервером 104. Дополнительно, любое произвольное число мобильных устройство может иметь связь с любым произвольным числом CPW посредством прямых линий связи, таких как линия 110 в других вариантах осуществления. То есть Фиг. 1 имеет целью показать любую из множества систем, использующих любое произвольное число мобильных устройств и любое произвольное число CPW, которые имеют связь друг с другом либо непрямо посредством интерфейса веб-сервера, либо прямо друг с другом.
[0018] В зависимости от варианта осуществления, линии 105,108, 110 связи могут быть частью одиночной сети или множества сетей, и каждая линия может включать в себя проводные и/или беспроводные магистрали связи, например, прокладку наземной линии (например, оптоволокно, медь), микроволновую связь, радиоканал, беспроводной канал, интранет, интернет и магистрали связи "Всемирной паутины" (которые сами по себе могут использовать многочисленное промежуточное аппаратные и/или программные устройства, включающие в себя, например, многочисленные маршрутизаторы и т.д.). К тому же, множество протоколов связи и методик может быть использовано для проведения связи посредством линий 105, 108, 110 связи между мобильными устройствами 102, веб-сервером 104 и CPW 106, включающее в себя, например, протокол управления передачей/протокол Интернета (ТСР/IP), расширяемый протокол обмена сообщениями и информацией о присутствии (XMPP), протокол передачи файлов (FTP) и т.д. В других вариантах осуществления, также могут быть использованы другие типы линий связи для содействия передаче сигналов между множеством мобильных устройств 102 и CPW 106. Несмотря на то, что в настоящем варианте осуществления линию/сеть связи и сервер, каждый, рассматривают как веб-версию, в других вариантах осуществления, линию/сеть связи и сервер могут предполагать различные не веб-формы.
[0019] Как будет более подробно рассмотрено ниже относительно Фиг. 4-7, веб-сервер 104 выполнен с возможностью служения в качестве промежуточного между мобильными устройствами 102 и CPW 106. Различные типы связи между мобильными устройствами 102 и CPW 106 пропускаются, обрабатываются и/или отслеживаются веб-сервером 104, включая, например, связь, включающую в себя выгрузку (загрузку в удаленный компьютер) и загрузку файлов (например, фотографий, музыки, видео, текстовых записей и т.д.), публикации в блогах и передачу сообщений (например, Служба коротких сообщений (SMS), Служба мультимедийных сообщений (MMS) и передача Мгновенных сообщений (IM)). CPW в общем включают в себя множество интерактивных веб-сайтов, которые позволяют загружать и выгружать (например, публиковать) различные формы данных, такие как персональная или бизнес информация, снимки, видео и песни, и тем самым содействуют созданию и поддержке межперсональных соединений между людьми и группами людей. Примеры CPW включают в себя, например, Facebook™, MySpace™, hi5™, LinkedIn™, и Twitter™. Для целей настоящего изобретения, CPW могут также понимать как включающие в себя различные другие типы веб-сайтов (например, веб-сайты типа бизнес-бизнес или бизнес-потребитель), которые, несмотря на то, что не сфокусированы полностью или преимущественно на социальных сетях, однако, также включают в себя признаки, типичные для социальных сетей. Другие веб-сайты контент-провайдера включают в себя источники RSS или другие ленты новостей, фотографические услуги, такие как Picasa™ или Photobucket™, и музыкальные услуги, такие как LastFM™.
[0020] Ссылаясь на Фиг. 2, предоставлена блок-схема, иллюстрирующая примерные внутренние компоненты 200 мобильного устройства, такого как мобильное устройство 102 согласно настоящему изобретению. Как показано на Фиг. 2, компоненты 200 включают в себя одни или более беспроводных приемопередатчиков 202, 203, 205, процессор 204 (например, микропроцессор, микрокомпьютер, специализированную интегральную микросхему и т.д.), блок 206 памяти, одно или более устройств 208 вывода и одно или более устройств 210 ввода. По меньшей мере, в некоторых вариантах осуществления, присутствует пользовательский интерфейс, которые содержит одно или более устройств 208 вывода, таких как дисплей, и одно или более устройств 210 ввода, таких как специализированная клавиатура или датчик касания. Внутренние компоненты 200 могут дополнительно содержать интерфейс 212 компонентов для обеспечения прямого соединения со вспомогательными компонентами или комплектующими для дополнительной или расширенной функциональности. Внутренние компоненты 200 предпочтительно также включают в себя источник 214 питания, такой как батарея, для предоставления энергии другим внутренним компонентам, в то же время, обеспечивая возможность мобильным устройствам быть портативными. Все внутренние компоненты 200 могут быть соединены друг с другом и иметь связь друг с другом посредством одной или более внутренних линий 232 связи (например, внутренней шины).
[0021] Каждый из беспроводных приемопередатчиков 202 использует для связи беспроводную технологию, которая может включать в себя (но не ограничиваясь этим), например, технологии на основе сотовой связи, такие как аналоговая связь (использующая AMPS), цифровая связь (использующая CDMA, TDMA, GSM, iDEN, GPRS, EDGE и т.д.), и связь следующего поколения (использующая UMTS, WCDMA, LTE, IEEE 802.16 и т.д.) или их варианты, или технологии одноранговой или узкоспециализированной связи, такие как HomeRF (радиочастотная), Bluetooth и IEEE 802.11 (a, b, g или n), или другие технологии беспроводной связи, такие как инфракрасная технология. В настоящем варианте осуществления, беспроводные приемопередатчики 202 включают в себя сотовый приемопередатчик 203 и приемопередатчик 205 беспроводной локальной сети (WLAN), несмотря на то, что в других вариантах осуществления присутствует только один из этих типов беспроводных приемопередатчиков (и возможно ни один из этих типов беспроводных приемопередатчиков и/или других типов беспроводных приемопередатчиков). Посредством использования беспроводных приемопередатчиков 202, мобильное устройство 102 способно осуществлять связь и с CPW 106 посредством линии 110 связи, и также с веб-сервером 104 (и таким образом непрямую снова с CPW 106) посредством линии 105 связи.
[0022] Примерная работа беспроводных приемопередатчиков 202 совместно с другими из внутренних компонентов 200 мобильного устройства 102 может принять множество форм и может включать в себя, например, операцию, при которой после приема радиосигнала внутренние компоненты обнаруживают сигналы связи, и приемопередатчик 202 демодулирует сигналы связи для восстановления входящей информации, такой как голос и/или данные, переданной посредством радиосигналов. После приема входящей информации от приемопередатчика 202, процессор 204 форматирует входящую информацию для одного или более устройств 208 вывода. Аналогично, для передачи радиосигналов, процессор 204 форматирует исходящую информацию, которая может или не может быть активирована устройствами 210 ввода, и передает исходящую информацию одному или более беспроводным приемопередатчикам 202 для модуляции сигналов связи. Беспроводной приемопередатчик(и) 202 передает модулированные сигналы посредством беспроводных (и возможно также проводных) линий связи другим устройствам, таким как веб-сервер 104 и один или более CPW 106 (также как возможно на другие устройства, такие как сотовая вышка, точка доступа или другой сервер или любое из множества удаленных устройств).
[0023] В зависимости от варианта осуществления, устройства 208, 210 ввода и вывода внутренних компонентов 200 могут включать в себя множество визуальных, аудио и/или механических выводов. Например, устройство(а) 208 вывода может включать в себя одно или более устройств 216 визуального вывода, таких как жидкокристаллический дисплей и светодиодный индикатор, одно или более устройств 218 аудиовывода, таких как динамик, сигнальное устройство и/или зуммер, и/или одно или более устройств 220 механического вывода, таких как механизм вибрации. Устройства 216 визуального вывода среди прочего могут включать в себя видеоэкран. Аналогично, согласно примеру, устройство(а) 210 ввода может включать в себя одно или более устройств 222 визуального ввода, таких как оптический датчик (например, камера), одно или более устройств 224 аудиоввода, таких как микрофон, и одно или более устройств 226 механического ввода, таких как датчик переворота, клавиатура, специализированная клавиатура, сенсорный экран, емкостной датчик, датчик движения и переключатель. Действия, которые могут активировать одно или более устройств 210 ввода, могут включать в себя не только физическое нажатие/активацию кнопок или других устройств активации, но также могут включать в себя, например, открытие мобильного устройства, разблокирование устройства, перемещение устройства для активации движения, перемещение устройства для активации системы определения местоположения и оперирование мобильным устройством.
[0024] Как показано на Фиг. 2, внутренние компоненты 200 мобильного устройства 102 также могут включать в себя один или более из множества типов датчиков 228. Датчики 228 могут включать в себя, например, датчики приближения (датчик обнаружения света, ультразвуковой приемопередатчик или инфракрасный приемопередатчик), датчики касания, датчики высоты, схему определения местоположения, которая может включать в себя, например, приемник Системы Глобального Позиционирования (GPS), триангуляционный приемник, акселерометр, датчик наклона, гироскоп или другое устройство сбора информации, которое может идентифицировать текущее местоположение или интерфейс пользовательского устройства (режим переноски) мобильного устройства 102.
[0025] Блок 206 памяти внутренних компонентов 200 может включать в себя одно или более устройств памяти любого из множества видов (постоянную память, оперативную память, статическую оперативную память, динамическую оперативная память и т.д.), и может быть использован процессором 204 для хранения и осуществления выборки данных. Данные, которые хранят посредством блока 206 памяти, могут включать в себя, но не обязательно ограничены этим, операционные системы, приложения и информационные данные. Каждая операционная система включает в себя исполнительный код, который управляет базовыми функциями устройства связи, такими как взаимодействие между различными компонентами, содержащимися среди внутренних компонентов 200, связь со внешними устройствами посредством беспроводных приемопередатчиков 202 и/или интерфейса 212 компонентов, и сохранение и выборка приложений и данных в и из блока 206 памяти. Каждое приложение включает в себя исполняемый код, который использует операционную систему для предоставления более специфичной функциональности устройствам связи, такой как обслуживание файловой системы или обработка защищенных или незащищенных данных, хранящихся в блоке 206 памяти. Информационные данные являются неисполняемым кодом или информацией, на которую может ссылаться и/или которой может манипулировать операционная система или приложение для выполнения функций устройства связи.
[0026] Ссылаясь на Фиг. 3, более подробно показаны дополнительные примерные компоненты веб-сервера 104 с Фиг. 1. Как показано, веб-сервер 104 включает в себя блок 302 памяти, процессорный блок 304, имеющий связь с этим блоком памяти, и один или более интерфейсов ввода/вывода (I/O) (не показано) для сопряжения линий 105, 108 связи с процессором 304. Процессорный блок 304 дополнительно включает в себя внутренний блок 306 (процессор социальной сети) и внешний блок 308. Внутренний блок 306 осуществляет связь с CPW 106 (показано пунктирными линиями) посредством линии 108 связи, и внешний блок 308 осуществляет связь с мобильным устройством 102 (также показано пунктирными линиями) посредством линии 105 связи.
[0027] Как более подробно рассмотрено ниже, по меньшей мере, в некоторых вариантах осуществления внутренний блок 306 поддерживает связь вытягивающего типа с CPW, такими как CPW 106. Связь вытягивающего типа может, например, быть реализована, используя архитектуру Передачи состояния представления (REST), обычного для сети типа, и в связи с этим внутренний блок выполнен с возможностью генерирования запросов информации, подлежащей предоставлению во внутренний блок 306 от CPW, таких как CPW 106, в моменты/при условиях, определяемых веб-сервером 104, в ответ на которые CPW ищут и предоставляют обратно на веб-сервер требуемые данные. Также как рассмотрено более подробно ниже, по меньшей мере, в некоторых вариантах осуществления внешний блок 308 устанавливает канал проталкивания данных совместно с мобильными устройствами, такими как мобильное устройство 102.
[0028] По меньшей мере, в нескольких таких вариантах осуществления, канал проталкивания данных позволяет внешнему блоку 308 предоставлять уведомления от веб-сервера 104 (сгенерированные внешним блоком) мобильному устройству 102 в моменты/при условиях, определяемых веб-сервером 104. Уведомления могут указывать объем информации, который доступен для предоставления на мобильное устройство. Мобильное устройство 102, в свою очередь, способно отвечать на уведомления образом, считающимся надлежащим мобильным устройством. Такие ответы часто (но необязательно всегда) составляют запросы, чтобы некоторый или весь доступный объем информации был предоставлен из внешнего блока промежуточного веб-сервера 104 на мобильное устройство.
[0029] Ссылаясь на Фиг. 4, предоставлена функциональная схема, показывающая примерные этапы работы веб-сервера 104 с Фиг. 1 и 3, конкретно при взаимодействии с и посредничестве в осуществлении связи между мобильными устройствами и CPW, такими как мобильные устройства 102 и CPW 106, показанные на Фиг. 1. После начала процесса, представленного функциональной схемой с Фиг. 4, на начальном этапе 400, веб-сервер 104 начинает работу на этапе 402 посредством установления линии связи с мобильным устройством, такой как линия 105 связи с мобильным устройством 102 с Фиг. 1. Как более подробно будет рассмотрено ниже, установление линии связи с мобильным устройством, в зависимости от варианта осуществления, может фактически включать в себя установление множества линий связи (которые могут существовать параллельно или в разное время) с этим мобильным устройством.
[0030] В некоторых таких случаях, множество линий связи являются разными типами, например, включая канал проталкивания данных или протоколы связи, отличные от каналов проталкивания данных. Также, в то время как установление линии связи с мобильным устройством 102 обычно предусматривает установление соединения коммутатора каналов с базовой станцией, и таким образом, устройство связи, предоставляющее идентификационную информацию на базовую станцию, посредством которой мобильное устройство идентифицирует себя в телекоммуникационной сети, соединение с веб-сервером 104 может быть также осуществлено посредством соединения по протоколу Интернета (IP) или однорангового (P2P) телекоммуникационного соединения между базовой станцией, с которой мобильное устройство осуществляет связь, и подсистемой балансировки нагрузки/межсетевым экраном, и также может включать в себя предоставление ответного сигнала от веб-сервера обратно на мобильное устройство, посредством которого мобильное устройство распознает, что оно контактирует с веб-сервером.
[0031] После завершения этапа 402, на этапе 404 веб-сервер 104 дополнительно устанавливает линию связи с CPW, такую как линия 108 связи с CPW 106, показанные на Фиг. 1. Установление линии связи на этапе 404 может включать в себя, например, предоставление одного или более вызовов веб-услуг и/или других методов. Вслед за этапом 404, веб-сервер 104 обеспечивает постоянную связь, которая может быть (но необязательно) периодической связью, с CPW 106 и за один или более раз получает (вытягивает) информацию от CPW. Информация, полученная от CPW, может включать в себя любую из множества типов информации, включая, например, информацию, имеющую отношение к контактам или друзьям (включающую в себя список контактов), новым друзьям или обновленным контактам, специальным сообщениям, новостям, событиям и другим типам информации, включающей в себя возможно файлы (такие как файлы изображений или текстовые файлы) или другие виды данных. После получения информации на этапе 406, затем, веб-сервер обрабатывает полученную информацию на этапе 408.
[0032] Ссылаясь дополнительно на Фиг. 5, показаны примерные подэтапы, соответствующие этапам 406 и 408 с Фиг. 4, в соответствии с одним вариантом осуществления. Как показано, этап 406 (этап получения) понимают как включающий в себя различные подэтапы, начинающиеся с начального подэтапа 500, и дополнительно включающий три дополнительных подэтапа 502, 504 и 506. Более конкретно, на подэтапе 502 веб-сервер 104 отправляет сигнал вытягивания данных на CPW 106, и на подэтапе 504 информацию принимают обратно от CPW на внутренний блок 306 веб-сервера. После приема информации на внутренний блок 306, затем, на этапе 506 эту информацию проталкивают из внутреннего блока во внешний блок 308 веб-сервера 104.
[0033] Кроме того, как показано на Фиг. 5, этап 408 (этап обработки) может включать в себя в одном варианте осуществления несколько подэтапов, начинающихся на подэтапе 508 до завершающихся на подэтапе 518 (на Фиг. 5 показаны подэтапы, соответствующие этапу 408, будучи продолжением подэтапов, соответствующих этапу 406). Более конкретно, на подэтапе 508, после приема внешним блоком 308 веб-сервера 104 информации, которую протолкнули из внутреннего блока 306 на подэтапе 506, эту информацию затем помещают в общую очередь передачи. Далее, опционально на подэтапе 510 информация может быть сжата. Кроме того, на этапе 512, опционально информация может быть преобразована в другой формат, например двоичный формат. Как дополнительно представлено блоком 509 (показано пунктирными линиями), преобразование формата, происходящее на подэтапе 512, может включать в себя удаление информации о специфичном форматировании, которая была предоставлена посредством CPW 106, для того, чтобы стандартизировать форматирование информации и удалить характерную для сайта информацию о форматировании, или иным образом модифицировать форматирование информации, чтобы быть унифицированной или универсальной, формат, предоставленный мобильному устройству независимо от форматирования CPW, который был источником информации.
[0034] Далее, на подэтапе 514, информацию фильтруют на основе того, является ли она информацией высокой важности или низкой важности. Как дополнительно представлено подэтапами 511, 513,515 и 517 (показаны пунктирными линиями), эта операция фильтрации может включать в себя дополнительные определения. А именно, как показано на подэтапе 511, веб-сервер 104 может определять, имеет ли информация отношение к друзьям, новым друзьям, специальным сообщениям, новостям или событиям. Если так, то на подэтапе 513 этой информации присваивают статус низкого уровня. Однако, если информация не попадает в одну из этих групп, то процесс фильтрации приступает к подэтапу 515, на котором веб-сервер определяет, имеет ли информация отношение к обновлениям статуса. Если имеет, то информации присваивают статус высокого уровня на подэтапе 517. В настоящем примерном варианте осуществления, если на подэтапе 515 определяют, что информация не имеет отношения к обновлениям статуса, то процесс снова возвращается к этапу 513. Следует признать, что веб-сервер 104 может определять, является ли информация обновлением статуса для пользователя, и если это так, интерпретировать информацию как высокого уровня, или высокого приоритета, а если нет, интерпретировать информацию как низкого уровня, или низкого приоритета. Другие типы информации могут быть также интерпретированы как высокого приоритета, несмотря на то, что желательно ограничивать число сообщений, которые приводят к повышенной активности для устройства связи.
[0035] После завершения подэтапа 514 фильтрации, затем, процесс переходит к подэтапу 516, на котором веб-сервер 104 (конкретно внешний блок 308 веб-сервера) определяет одно или более различий, которые могут существовать между информацией, которая была получена на этапе 406 от CPW 106, и предыдущей информацией, которая была принята ранее от того же CPW. В настоящем варианте осуществления, существует только такое различие информации, которое в конечном итоге передают обратно на мобильное устройство 102. Как уже отмечено, представленные на Фиг. 5 подэтапы, соответствующие этапу 408 с Фиг. 4, завершаются на подэтапе 518. Следует признать, что этап 516 может преимущественно происходить во внутреннем блоке 306 между этапами 504 и 506, в случае чего, информация будет только дополнительно обработана веб-сервером 104, если существует изменение в информации CPW по сравнению с предыдущим моментом времени, когда контент был вытянут для конкретного абонента. Это освободит ресурсы сервера для продолжения вытягивания информации из CPW для пользователя устройства 102 или других пользователей, которые используют промежуточный веб-сервер и CPW.
[0036] Возвращаясь к Фиг. 4, после завершения этапа 408, веб-сервер 104 решает, является ли одна или более частей обработанной информации высокой важности или не высокой важности (например, низкой важности, или возможно средней важности или некоторого другого уровня важности). Если определено, что обработанная информация является высокой важности, то на этапе 412 внешний блок 308 веб-сервера 104 отправляет обработанную информацию высокой важности на мобильное устройство 102 посредством канала проталкивания данных, установленного через линию 105 связи. Это происходит немедленно, во время, определенное веб-сервером, как сделано возможным посредством использования канала проталкивания данных. Если на этапе 410 определено, что обработанная информация не высокой важности, то отправка обработанной информации может быть задержана до еще одного надлежащего времени, чтобы тем самым снизить коммуникационную активность между устройством и сервером и таким образом снизить разряжение аккумулятора на устройстве. Таким образом, на этапе 414, веб-сервер 104 ожидает надлежащего времени для отправки обработанной информации на мобильное устройство 102. Затем, как только пришло надлежащее время, на этапе 416 информацию затем отправляют на мобильное устройство 102 посредством веб-сервера 104.
[0037] Надлежащее время, в которое обработанную информацию отправляют посредством веб-сервера 104 на мобильное устройство 102, может быть основано на различных соображениях. Например, в некоторых вариантах осуществления, такое надлежащее время является только периодически возникающим временем, в которое мобильное устройство 102 опрашивает веб-сервер 104 на предмет информации. Такой опрос обычно включает в себя повторяющуюся отправку сигналов запросов из мобильного устройства 102 на веб-сервер 104. В других случаях, надлежащее время наступает, когда возникают конкретные условия. Например, надлежащее время для отправки обработанной информации низкой важности может наступить, когда мобильное устройство 102 делает запрос, является ли это тем случаем, в котором к тому же времени веб-сервер 104 определил, что было сохранено определенное количество обработанной информации низкой важности на мобильное устройство. Хотя в вышеприведенном описании получение информации веб-сервером 104 описывают как включающее в себя вытягивание, в то время как получение мобильным устройством информации низкой важности от веб-сервера описывают как включающее в себя опрос, следует понимать, что операции либо вытягивания, либо опроса (и либо периодическая, либо асинхронная связь) могут быть использованы и веб-сервером, и мобильным устройством, соответственно, чтобы получать информацию от CPW и веб-сервера, соответственно, в зависимости от варианта осуществления. Дополнительно, предусмотрено, что сервер 104 может вытягивать информацию из CPW 106, когда мобильное устройство 102 не подсоединено к серверу, вследствие чего сервер будет удерживать информацию, пока мобильное устройство не переподключится, или пока не пройдет достаточно времени, чтобы сервер удалил информацию.
[0038] Независимо от того, отправляют ли на мобильное устройство информацию высокой важности или низкой важности на этапах 412 и 416, соответственно, после завершения этих этапов, выполняют ряд дополнительных этапов посредством веб-сервера 104 во взаимодействии с мобильным устройством, CPW или дополнительными мобильными устройствами/CPW. Более конкретно в этом отношении, после завершения этапов 412 и 416, на этапах 418-428, информация из мобильного устройства 102 может быть выгружена на веб-сервер 104 и дополнительно предоставлена на CPW 106. Как показано на Фиг. 4, на этапе 418, такое взаимодействие может начать, посредством веб-сервера 104, прием идентификационной информации от мобильного устройства 102. Прием такой идентификационной информации не должен происходить всегда, например, если такая идентификационная информация уже была принята на этапе 402. Затем, на этапе 420, веб-сервер 104 дополнительно принимает информацию контента от мобильного устройства 102. Информация контента может включать в себя, например, файлы, такие как файлы изображений или текстовые файлы, или другие данные, которые пользователь мобильного устройства желает выгрузить в профиль пользователя (например, "стену"), существующий на CPW.
[0039] Далее, на этапе 422, веб-сервер 104 принимает команду от мобильного устройства 102, дающую указание веб-серверу выгрузить информацию контента на CPW 106. В альтернативных вариантах осуществления, эта команда не нуждается в предоставлении в явной форме мобильным устройством 102 веб-серверу 104, так как, в таких вариантах осуществления, веб-сервером предполагается, что всю информацию контента, предоставленную мобильным устройством, следует дополнительно выгрузить на любой CPW, с которым связано мобильное устройство. Кроме того, затем на этапе 424, веб-сервер 104 отправляет идентификационную информацию, принятую от мобильного устройства 102, на CPW 106, для того, чтобы аутентифицировать взаимоотношение между веб-сервером и CPW. В ответ на отправку этой идентификационной информации, обычно обратно принимают метку от CPW о том, что является ли аутентификация удовлетворительной, как указано этапом 426. Как и в отношении этапа 418, этапы 424 и 426 на данный момент не нужно выполнять в явной форме во всех вариантах осуществления, особенно, где такие действия были выполнены как часть установления линий связи на этапе 402, 404. Независимо от того, когда происходит аутентификация, процесс аутентификации позволяет веб-серверу 104 взаимодействовать с CPW 106 от имени, и в качестве посредника, мобильного устройства 102. Предполагая, что произошла правильная аутентификация, затем на этапе 428 отправляют информацию контента посредством веб-сервера 104 на CPW 106.
[0040] Предусмотрено, что ID пользователя и пароль, требуемые для веб-сервера 104, чтобы выкачивать (загружать на удаленный компьютер) и загружать контент на и с CPW 106, для учетной записи конкретного пользователя на CPW могут быть загружены на веб-сервер 104 пользователем, когда мобильное устройство 102 впервые соединяется с сервером и настраивает CPW на веб-сервере. Веб-сервер будет хранить ID пользователя и пароль в памяти и осуществлять доступ к CPW используя ID пользователя и пароль до тех пор, пока пользователь их не изменит, для поддержания устойчивой связи с CPW, независимо от того, подключено ли мобильное устройство 102. Дополнительно предусмотрено, что вытягивание информации веб-сервером 104 из CPW 106 может быть снижено по частоте или полностью приостановлено (или прекращено), если мобильное устройство не запрашивает информацию от сервера в течении заранее заданного периода времени, или если очередь веб-сервера, содержащая контент, подлежащий дополнительной загрузке на устройство, превышает временной порог и/или порог емкости хранилища.
[0041] В дополнение к ранее описанному процессу выгрузки, при некоторых условиях пользователь, оперирующий мобильным устройством 102, может пожелать, чтобы контент был выгружен на более чем один CPW 106. Такому процессу может быть оказано содействие посредством веб-сервера 104, как указано этапами 430-438 с Фиг. 4, особенно, где информация контента уже предоставлена веб-серверу мобильным устройством 102. Более конкретно, как показано, на этапе 430 веб-сервером определено, была ли принята дополнительная команда веб-сервером от мобильного устройства 102, дающая указание веб-серверу предоставить информацию контента другому CPW. Если такая команда принята, то на следующем этапе 432 веб-сервер 104 определяет, была ли уже установлена линия связи с другим CPW. Если такая линия связи не была еще установлена, то процесс переходит к этапу 434, на котором дополнительную идентификационную информацию принимают от мобильного устройства 102 и впоследствии на этапе 436 эту линию связи устанавливают между веб-сервером 104 и другим CPW 106. То есть, если линия связи еще не была установлена с другим CPW, как определено на этапе 432, то для того, чтобы установить такую линию связи, веб-сервер 104 снова должен быть обеспечен идентификационной информацией от мобильного устройства 102, позволяя этому веб-серверу быть аутентифицированным по отношению к этому другому CPW для того, чтобы работать как посредник для мобильного устройства по отношению к этому другому CPW (например, по существу те же самые операции, как описано выше, по отношению к этапам 424-426).
[0042] После установления линии связи на этапе 436, или если определено на этапе 432, что линия связи уже была установлена с другим CPW, то процесс переходит к этапу 438, на котором информацию контента выгружают на другой CPW. Таким образом, посредством этапов 430-438 информацию контента, уже предоставленную первому CPW на этапе 428, дополнительно предоставляют другому CPW. Будет понятно, что хотя Фиг. 4 не показывает непосредственного цикла при повторении выполнения этапов 418-438, этапы могут быть повторены неоднократно по отношению к многочисленным частям информации и более чем одному дополнительному CPW. Предусмотрено, что контент будут предоставлять из мобильного устройства 102 в унифицированном формате, и что внутренний блок сервера будет форматировать данные отдельно и надлежащим образом для каждого из целевых CPW, на которые выгружают контент.
[0043] Кроме того, в отношении фиг. 4, после завершения этапа 438, или в случае, когда определено веб-сервером 104 на этапе 430, что команда не была принята, то веб-сервер дополнительно приступает к определению того, отсоединилось ли мобильное устройство 102 от веб-сервера, на этапе 440. Даже если мобильное устройство 102 отсоединилось от веб-сервера 104, в качестве основного правила веб-сервер все еще будет поддерживать его линию связи с CPW 106, в которым он ранее вступил в связь и по отношению к которому веб-сервер способен действовать как посредник от имени мобильного устройства, которое отсоединилось, как представлено этапом 442. Таким образом, веб-сервер 104 может продолжать работать по отношению к CPW 106 на постоянной основе, даже если мобильное устройство 102, от чьего имени действует веб-сервер, временно не имеет связи. Следовательно, веб-сервер 104 может продолжать работать для вытягивания информации из различных CPW 106 и может осуществлять доступ и осуществлять мониторинг такой информации во времени, так чтобы когда ранее отсоединенное мобильное устройство присоединяется повторно к веб-серверу, веб-сервер способен немедленно (если целесообразно) предоставлять самую последнюю, обновленную доступную информацию CPW.
[0044] Несмотря на вышеуказанное описание, и хотя не показано на Фиг. 4, в определенных вариантах осуществления для мобильного устройства 102 также возможно передавать инструкцию веб-серверу 104, чтобы веб-сервер перестал действовать от его имени по отношению к одному или более CPW 106, в случае чего веб-сервер так и сделает. И наконец, как показано на Фиг. 4, в обоих случаях, когда этап 442 завершен, или в случае, когда на этапе 440 определено, что мобильное устройство 102 все еще присоединено, веб-сервер 104 приступает к определению того, существует ли необходимость или желание установить дополнительные линии связи с другими мобильными устройствами 102 и/или CPW 106. В соответствии с настоящей функциональной схемой, если такой необходимости или желания нет, то процесс заканчивается на этапе 446, в то время как если такая необходимость или желание существует, то процесс возвращается на начальный этап 400.
[0045] Следует понимать, что несмотря на конкретные этапы, как показано на Фиг. 4, множество дополнительных или других этапов может быть выполнено веб-сервером 104 в зависимости от варианта осуществления, и один или более из конкретных этапов, показанных на фиг. 4, могут быть переставлены, повторены или полностью устранены в зависимости от варианта осуществления. Также, некоторые из этапов, выполненных согласно функциональной схеме с Фиг. 4, могут быть повторены на постоянной или непрерывной основе одновременно, в то время как выполняют другие из этапов. Например, этапы 406-412, относящиеся к получению и обработке информации, принятой от CPW 106, и непосредственной (или по существу непосредственной) отправке информации высокой важности на мобильное устройство 102, могут быть повторены на постоянной или непрерывной основе, даже в то время, когда осуществляют также другие взаимодействия, такие как те, что представлены этапами 418-438, относящимися к выгрузке информации контента из мобильного устройства на веб-сервер и затем на один или более CPW. Кроме того, тогда как Фиг. 4 описывает в некоторых подробностях возможность веб-сервера 104, имеющего связь со множеством CPW 106 последовательно или одновременно, и иллюстрирует примерные взаимодействия, которым оказывается содействие посредством веб-сервера, между данным мобильным устройством и таким одним или более CPW, следует понимать, что тот же процесс может быть выполнен в то же или по существу то же время веб-сервером в том, что касается обеспечения возможности совершения подобных взаимодействий между любым числом других мобильных устройств и таким одним или более CPW.
[0046] Предусмотрено, что внутренний блок 306 может включать в себя отдельный подключаемый модуль для каждого CPW 106, включающий в себя API, подходящие для его соответствующего CPW. Каждый из подключаемых модулей включает в себя API для его соответствующего CPW, посредством которых подключаемый модуль вытягивает информацию из веб-сайта и переформатирует информацию в универсальный формат клиента мобильного устройства 102. Дополнительно, контент из мобильного устройства будет переформатирован из унифицированного формата клиентской программы мобильного устройства 102 в надлежащий формат, указанный CPW, связанным с этим подключаемым модулем, при выгрузке внутренним блоком 306. Таким образом, контент из мобильного устройства 102 может быть отправлен в одиночном сообщении, имеющим унифицированный формат, и будет маршрутизирован как выбрано пользователем и форматирован каждым из подключаемых модулей внутреннего блока для каждого из соответствующих CPW, на которые он нацелен.
[0047] Обращаясь к Фиг. 6, предоставлена дополнительная функциональная схема, показывающая примерные этапы работы мобильного устройства 102, как оно взаимодействует с веб-сервером и, посредством этого взаимодействия, способно взаимодействовать с одним или более CPW. То есть Фиг. 6 предназначена для иллюстрации примерных этапов работы мобильного устройства 102, которые являются комплементарными (или большей частью комплементарными) по отношению к некоторому количеству этапов, выполняемых веб-сервером 104, как проиллюстрировано на Фиг. 4 или 5 выше. Кроме того, как будет описано дополнительно ниже, Фиг. 6 также включает в себя этапы, посредством которых мобильное устройство 102 способно взаимодействовать напрямую с одним или более CPW 106 без посредничества посредством веб-сервера 104, или одновременно наряду (но независимо от) с посредничеством посредством веб-сервера. Как показано на Фиг. 6, после начала работы на начальном этапе 600, мобильное устройство 102 начинает свое взаимодействие с веб-сервером 104 посредством установления линии связи с веб-сервером и, посредством веб-сервера, таким образом, установления линии связи с CPW на этапе 602.
[0048] Ссылаясь дополнительно на Фиг. 7, этап 602 можно понимать как включающий в себя несколько подэтапов, как показано на этой Фигуре. Как показано, после начала на подэтапе 700, мобильное устройство 102 активирует приложение канала проталкивания данных, поддерживаемое на мобильном устройстве, как указано на этапе 702. Затем, на этапе 704, мобильное устройство 102 предоставляет идентификационную информацию веб-серверу 104. Такая идентификационная информация может включать в себя, например, идентификационные коды, указывающие конкретное мобильное устройство (например, серийный номер, номер модели или учетный номер продукта), информацию, относящуюся к идентификационной информации пользователя, использующего мобильное устройство, или другую кодовую информацию, такую как идентификационное имя или пароль. Далее, на этапе 706, определено на мобильном устройстве 102, существует ли желание установить линию связи с конкретным одним из CPW 106 посредством веб-сервера. Если на данный момент такого желания нет, то процесс, представленный посредством Фиг. 7, завершается на подэтапе 708. В ином случае, если существует желание установить линию связи с CPW 106 посредством веб-сервера 104, как может быть указано пользователем, предоставляющим команду мобильному устройству 102, указывающую такое желание, то на подэтапе 710 мобильное устройство 102 дополнительно отправляет команду на веб-сервер, дающую указание веб-серверу установить такую линию связи.
[0049] Кроме того, на этапе 712, мобильное устройство 102 дополнительно отправляет на веб-сервер 104 сетевую идентификационную информацию, позволяющую веб-серверу устанавливать линию связи с CPW 106 и действовать как посредник для мобильного устройства при его связи с этим CPW. Идентификационная информация, отправленная на подэтапе 712, в некоторых вариантах осуществления может быть такой же как и на подэтапе 704, в случае чего подэтап 712 выполнять не нужно. Как только идентификационная информация была предоставлена на подэтапе 712, линию канала проталкивания данных устанавливают между мобильным устройством и веб-сервером на подэтапе 714. После завершения подэтапа 714, оставшиеся этапы процесса, представленные на Фиг. 6 вслед за этапом 602, могут быть выполнены (как указано блоком "Возврат к A").
[0050] Возвращаясь к Фиг. 6, после установления линии связи с веб-сервером 104 на этапе 602, на этапе 604 мобильное устройство 102 принимает информация высокой важности от веб-сервера посредством канала проталкивания данных (например, канала проталкивания данных, установленного на подэтапе 714). Эту информацию, как уже описано со ссылкой на Фиг. 4-5, в настоящем варианте осуществления предоставляют из веб-сервера 104 на мобильное устройство 102 асинхронным образом, то есть в моменты, не определяемые мобильным устройством. К тому же для приема такой информации высокой важности на асинхронной основе, как дополнительно представлено последующим этапом 606, мобильное устройство 102 может дополнительно отправлять один или более запросов на веб-сервер 104 касательно другой информации, подлежащей загрузке веб-сервером на мобильное устройство. Как рассмотрено выше со ссылкой на Фиг. 5, тогда как информация высокой важности может включать в себя информацию, такую как информация об обновлении статуса, другая информация (например, низкой важности) может включать в себя информацию, такую как информация о контакте/друге, информация о новом друге, списки контактов, фотографии и видео, специальные сообщения, новости или информация о событиях.
[0051] Запросы, предоставляемые мобильным устройством 102 на этапе 606, могут быть предоставлены на периодической основе или в другие моменты, как определено мобильным устройством. Несмотря на то, что в настоящем варианте осуществления предусмотрено, что мобильное устройство 102 будет определять, когда делают запросы к веб-серверу 104, которые, в свою очередь, определяют, передают ли информацию, отличную от информации высокой важности, в других вариантах осуществления такие запросы и/или загрузка информации могут происходить в моменты, определяемые взаимным соглашением между веб-сервером и мобильным устройством, в моменты, определяемые только одним веб-сервером (например, когда веб-сервер определил, что собрано достаточное количество информации низкой важности), или в моменты, определяемые другим объектом или стороной, такой как производитель, который запрограммировал оба устройства. Независимо от того, запросы ли это от мобильного устройства 102, которые запрашивают отправку информации веб-сервером 104 обратно на мобильное устройство, или другие ли это пусковые сигналы, которые запрашивают отправку такой информации, как указано на этапе 608, в конечном счете, такую другую информацию также принимают посредством мобильного устройства от веб-сервера. В то время как этап 602 может считаться комплементарным к этапу 402 с Фиг. 4, этапы 604-608 могут считаться комплементарными к операциям веб-сервера, представленным этапами 406-412 (и конкретно этапами 414-412) с Фиг. 4.
[0052] Все еще ссылаясь на Фиг. 6, на последующем этапе 609 информацию, принятую мобильным устройством 102 от веб-сервера 104, отображают или иным образом выводят посредством мобильного устройства. Область, для которой происходит такое отображение/вывод информации, будет зависеть от варианта осуществления. По меньшей мере в некоторых вариантах осуществления, информацию отображают/выводят посредством мобильного устройства 102 стандартным образом, так что информацию или признаки характерного для CPW форматирования не предоставляют в виде части отображаемой/выводимой информации. Более конкретно, в некоторых вариантах осуществления, информацию и признаки характерного для CPW форматирования редактируют посредством веб-сервера 104 или, в некоторых альтернативных вариантах осуществления, посредством мобильного устройства или комбинации обоих, веб-сервера и мобильного устройства.
[0053] При выполнении таких редакций, похожие типы информации, найденные на разных CPW, даже если названы по-разному разными CPW (например, как информация, найденная на сайте для публикаций или, в качестве альтернативы, как как информация, найденная на стене), признают концептуально одинакового типа и, на основе такого признания, такая информация может быть отображена (или выведена) простым образом на мобильном устройстве, независимо от происхождения информации. То есть, при условии редактирования такой информации или признаков характерного для CPW форматирования, информацию одинакового концептуального типа от разных CPW, даже если отформатирована по-разному на разных CPW, несмотря на это отображают одинаковым или схожим, согласованным образом на мобильном устройстве, независимо от происхождения этой информации, таким образом способствуя просмотру пользователем такой информации. Следует дополнительно отметить, что такая информация может включать в себя не только текстовые данные и данные изображений, но также и большое разнообразие других данных, включая данные, обеспечивающие возможность отображения интерактивных окон и полей ввода данных на мобильном устройстве, в которые пользователь может вводить дополнительную информацию или команды, которые затем могут быть отправлены обратно на веб-сервер.
[0054] Далее, на этапе 610 мобильное устройство 102 определяет, существует ли необходимость или желание выгрузить доступную на данный момент информацию контента на мобильном устройстве на веб-сервер и/или в конечном счете на CPW 106. Необходимость или желание могут быть определены автоматически мобильным устройством 102, например, на основе того, был ли принят конкретный тип информации мобильным устройством от пользователя или другого источника, или произошло ли конкретное событие или прошло время, запуская такое событие выгрузки. Часто, такая необходимость/желание возникает в ответ на команду пользователя, предоставленную мобильному устройству 102. Если на этапе 610 определено, что такой необходимости/желания нет, то как показано, процесс переходит к этапу 622, рассматриваемому ниже. Однако, если на этапе 610 определено, что такая необходимость/желание существует, то на этапе 612 мобильное устройство 102 отправляет информацию контента на веб-сервер 104, и на этапе 614 мобильное устройство дополнительно отправляет команду на веб-сервер для выгрузки информации контента на CPW 106. Этапы 610-614 можно понимать как являющиеся в общем комплементарными к этапам 418-428 с Фиг. 4, кроме тех случаев, когда идентификационную информацию, которая предоставлена из мобильного устройства 102 для целей аутентификации, как рассмотрено относительно этапа 418, могут понимать как уже предоставленную на этапе 602, показанном на Фиг. 6 (в качестве альтернативы, дополнительную идентификационную информацию, пригодную для этой цели, могут предоставлять непосредственно перед этапом 612).
[0055] После завершения этапа 614, мобильное устройство 102, кроме того, определяет, существует ли необходимость/желание выгрузить информацию контента на один или более дополнительных CPW в дополнение к первому CPW, на который эта информация уже была выгружена, на этапе 616. Снова, эта необходимость или желание могут быть определены на основе множества факторов, включающих в себя, среди прочего, одну или более инструкций, предоставленных пользователем мобильного устройства мобильному устройству. Если на этапе 616 определено, что такой необходимости или желания нет, то процесс переходит снова к этапу 622, рассматриваемому ниже. Однако, если на этапе 616 определено, что такая необходимость или желание существует, то процесс переходит к этапу 618, на котором устанавливают дополнительную линию связи между мобильным устройством и таким дополнительным CPW посредством веб-сервера. Этап 618 может считаться комплементарным к этапам 432-436 с Фиг. 4 и может, в зависимости от варианта осуществления, включать в себя подэтапы, где мобильное устройство сначала определяет, существует ли уже линия связи с таким дополнительным CPW и затем, если определено, что такой линии связи еще не существует, отправляет дополнительную идентификационную информацию на веб-сервер для установления такой линии связи с таким дополнительным CPW и для позволения веб-серверу действовать как посредник для мобильного устройства при такой связи.
[0056] После установления дополнительной линии связи с дополнительным CPW 106 на этапе 618, затем мобильное устройство дополнительно отправляет команду на веб-сервер 104 для выгрузки информации контента на этот дополнительный CPW 106 на этапе 620. Функционирование этапа 620 можно понимать как соответствующую этапу 430 с Фиг. 4, кроме того, следует понимать, что порядок функционирования этапов 618 и 620 является обратимым, так чтобы те этапы более близко соответствовали порядку этапов 430-436 с Фиг. 4. Дополнительно в отношении Фиг. 6, после завершения этапа 620, предполагают, что веб-сервер 104 фактически выгружает информацию контента на дополнительный CPW. Несмотря на то, что не показано, в некоторых вариантах осуществления, после завершения такой выгрузки, веб-сервер 104 отправляет указательный сигнал обратно на мобильное устройство 102, подтверждающий, что произошла такая выгрузка.
[0057] Несмотря на то, что вышеописанные этапы с Фиг. 6, равно как и этапы с Фиг. 4, предусматривают использование веб-сервера 104 в качестве промежуточного между мобильным устройством 102 и CPW 106, веб-серверу не всегда требуется быть посредником такой связи, но предпочтительнее при некоторых условиях, чтобы мобильное устройство взаимодействовало напрямую (то есть, напрямую посредством одной или более сетей, которые не включают в себя какой-либо веб-сервер, или по меньшей мере не веб-сервер, как описано выше) по отношению к одному или более CPW. Так как мобильное устройство 102, после завершения этапа 620 (или, в некоторых случаях, этапов 610 и 616, как рассмотрено выше), дополнительно определяет, существует ли необходимость или желание для мобильного устройства осуществлять связь напрямую с одним или более CPW 106 на этапе 622.
[0058] Если мобильное устройство 102 определяет на этапе 622, что это не тот случай, то мобильное устройство может вернуться в своей работе к узлу A, в ответ на что процесс начинается снова на этапе 604 и продолжается дальше. Предполагая, что так происходит, мобильное устройство 102 поэтому продолжает как принимать информацию от веб-сервера 104, так и продолжает также работать для выгрузки информации контента на веб-сервер на повторяемой, постоянной основе. Однако, если на этапе 622 мобильное устройство 102 определяет, что существует необходимость или желание осуществлять связь напрямую с CPW 106, то мобильное устройство приступает к этапу 624, на котором мобильное устройство устанавливает такую прямую линию связи.
[0059] Существует ли необходимость или желание осуществлять связь напрямую с CPW 106, может быть определено на основе множества соображений. При некоторых условиях, мобильное устройство 102 определяет это автоматически и в результате автоматически приступает к установлению прямой линии связи с CPW 106. Например, если пользователь запрашивает больше информации касательно конкретной темы, и загрузку этой информации с данного CPW лучше всего выполнять (например, в том, что касается эффективности передачи данных или тому подобного) посредством прямой связи с CPW, то мобильное устройство может попытаться присоединиться напрямую к CPW. Также возможно при некоторых условиях, что пользователь может захотеть просмотреть доступную информацию на конкретном CPW в конкретном формате, связанном с этим CPW, и не захотеть просматривать редактированный вид такой информации, который может быть обеспечен, если информация была обработана веб-сервером 104 на маршруте к мобильному устройству. Также определение того, существует ли необходимость или желание осуществлять связь напрямую с CPW 106, может быть определено на основе приема команды пользователя, которая в явной форме запрашивает такую связь.
[0060] Установление прямой линии связи на этапе 624 может включать в себя множество конкретных команд или операций, выполняемых мобильным устройством, что при некоторых условиях может включать в себя прием ввода данных от пользователя. Например, в одном случае, пользователь инициирует установление такой прямой линии связи посредством вызова приложения/программы-браузера (программы просмотра), подлежащей открытию и выполнению на мобильном устройстве, и посредством ввода URL (унифицированного указателя ресурсов) для CPW в поле ввода, предоставляемое браузером, в результате чего браузер вступает в связь с CPW, и CPW, в свою очередь, возвращает веб-страницы или другую информацию обратно браузеру, посредством которого мобильное устройство (и пользователь) способно участвовать в дальнейшей связи с CPW. В других вариантах осуществления, установление прямой линии связи является автоматическим процессом, который не предусматривает какие-либо конкретные действия пользователя.
[0061] Независимо от того, как установлена прямая линия связи, после установления этой линии, затем на дополнительном этапе 626 мобильное устройство 102 отправляет и/или принимает информацию на и/или от CPW 106 напрямую (снова, без посредничества веб-сервера, описанного выше). В дальнейшем, на этапе 628, мобильное устройство дополнительно определяет, существует ли необходимость или желание прервать существующую линию связи с веб-сервером 104. Если такой необходимости/желания нет, то процесс возвращается к узлу A, и снова повторяют этап 604 и последующие этапы. То есть и прямая связь (без посредничества веб-сервера), и непрямая связь (посредством веб-сервера) между мобильным устройством и CPW могут продолжаться одновременно. Однако, если на этапе 628 определено, что существует необходимость или желание прервать связь на основе сервера, то процесс переходит к этапу 630, на котором связь мобильного устройства с веб-сервером разрывают (что соответствует этапу 440, рассмотренному выше по отношению к Фиг. 4).
[0062] В настоящем варианте осуществления, как рассмотрено выше, веб-сервер 104, выполненный с возможностью поддерживания себя на связи с CPW или сайтами, с которыми он ранее имел связь от имени мобильного устройства, даже после прекращения связи с мобильным устройством, причем веб-сервер продолжает действовать как посредник для мобильного устройства. Однако, в других вариантах осуществления, связь веб-сервера с CPW разъединяют, когда мобильное устройство прекращает его связь с веб-сервером. При любом событии, вслед за этапом 630, на этапе 632 может быть новая необходимость или желание со стороны мобильного устройства повторно установить связь с веб-сервером. Как и в случае определений того, вступать ли в прямую связь с CPW 106 на этапе 622 или прервать связь с веб-сервером 104 на этапе 628, существует ли необходимость или желание со стороны мобильного устройства 102 повторно установить связь с веб-сервером 104, на этапе 632 может быть определено на основе любого из множества соображений, включающих в себя, например, команды пользователя, которые запускают такую активность, соображения заряда аккумулятора и т.д. Если на этапе 632 определено, что связь на основе сервера следует повторно установить, то процесс возвращается к начальному этапу 600. Если нет, процесс, представленный посредством Фиг. 6, завершают на конечном этапе 634.
[0063] Обращаясь к Фиг. 8 и 9, соответственно, в дальнейших вариантах осуществления, операции, выполняемые веб-сервером 104 и мобильным устройством 102, могут отчасти отличаться от тех, что на Фиг. 4-7. Более конкретно, в некоторых других вариантах осуществления, вместо того, чтобы выполнять этапы 408-416 между узлом B и узлом C, показанными на Фиг. 4, веб-сервер 104 взамен работает другим образом, предусматривающим этапы 800-814, показанные на Фиг. 8. Как показано, после перехода из узла B, вместо того, чтобы выполнять этап 408 обработки (и соответствующие этапы, показанные на Фиг. 5), веб-сервер 104 взамен выполняет этапы 800, 802 и 804. В частности, на этапе 800, веб-сервер 104 определяет, произошло ли изменение между информацией, только что полученной/вытянутой из CPW 106 на этапе 406, и информацией, предварительно принятой ранее от этого CPW. Если изменение(я) обнаружено на этапе 802, то на этапе 804 внешний блок 308 веб-сервера 104 помещает эту информацию об изменениях в список изменений. В тех случаях, когда эти этапы выполняют многократно по отношению ко множеству CPW, с которыми контактирует веб-сервер 104, информация об изменениях, обнаруженная относительно каждого из CPW, может быть вся помещена в список изменений, который в этом случае можно называть общим списком изменений.
[0064] Далее, на этапе 806, внешний блок 308 веб-сервера 104 определяет, является ли обработанная информация высокой важности или не высокой важности (например, низкой важности). При выполнении этого определения, могут быть учтены те же соображения, что были рассмотрены выше относительно этапа 410 с Фиг. 4, и по этой причине этап 806 также отмечен как этап 410 на Фиг. 8. В зависимости от того, определена ли обработанная информация как высокой важности или низкой важности, процесс затем переходит либо к этапу 808, либо этапу 810, соответственно. На этапе 808, после определения, что обработанная информация является высокой важности (например, информация имеет отношение к обновлению статуса), внешний блок 308 веб-сервера 104 отправляет уведомление на мобильное устройство 102 посредством канала проталкивания данных, указывающее, что произошло изменение высокой важности. Аналогично, на этапе 810, после определения, что обработанная информация является низкой важности, внешний блок 308 веб-сервера 104 отправляет уведомление на мобильное устройство 102 также посредством канала проталкивания данных, указывающее, что произошло изменение низкой важности.
[0065] Как только уведомления были отправлены либо на этапе 808, либо 810, то на этапе 812 внешний блок 308 веб-сервера 104 позднее может принять запрос от мобильного устройства 102, чтобы отправить саму информацию об изменениях. Запрос может быть принят в любое время, как определено мобильным устройством 102. Часто, если информация об изменениях является высокой важности, мобильное устройство 102 немедленно или очень скоро после приема уведомления на этапе 808 отправит запрос информации. В отличие от этого, если информация об изменениях является низкой важности, мобильное устройство будет зачастую ожидать, пока будет достигнуто заранее заданное время (например, периодическое или непериодическое время опроса) для такого запроса. Например, устройство может ожидать не более 5 минут, чтобы запросить информацию высокой важности, и ожидать 15-30 минут между запросами, чтобы загрузить информацию низкой важности. При любом событии, после приема запроса передачи информации об изменениях от мобильного устройства 102 на этапе 812, затем запрошенную информацию об изменениях впоследствии передают посредством внешнего блока 308 веб-сервера 104 на мобильное устройство 102. В настоящем примере, предпочтительно, чтобы эту информацию об изменениях не отправляли по каналу проталкивания данных, или в качестве альтернативы, чтобы только информацию об изменениях высокой важности передавали по каналу проталкивания данных, чтобы снизить количество времени, в которое повышают расход энергии мобильного устройства для приема, измененного контента, даже если признано, что в других вариантах осуществления вся информация об изменениях может быть отправлена посредством канала проталкивания данных.
[0066] После отправки этой информации на этапе 814, или если на этапе 812 не приняли (или по меньшей мере не приняли в течение заранее заданного периода времени) запрос информации, или если на этапе 802 в принятой от CPW 106 информации не было обнаружено изменений, то процесс возвращается к узлу C (и таким образом, к этапу 418) с Фиг. 4. Следует понимать, что, если никакой контент не требуется выгружать на CPW, веб-сервер 104 обычно будет многократно возвращаться на этап 406, по мере того как будет продолжать вытягивать контент из CPW, независимо от того, выгружается ли контент на клиента мобильного устройства 102.
[0067] Несмотря на то, что в настоящем примере уведомления информации об изменениях предоставляют одинаковым образом посредством канала проталкивания данных на этапах 808 и 812, независимо от того, является ли информация об изменениях высокой важности или низкой важности, это не всегда должно быть так. В других вариантах осуществления, например, уведомление, касательно изменения высокой важности, может быть отправлено более оперативно, или некоторым другим образом, чем уведомление касательно изменения низкой важности. Кроме того, тогда как в настоящем примере с Фиг. 8 отправка информации об изменениях на этапе 814 происходит в иное время, чем отправка уведомлений на этапа 808, 810, это не всегда должно быть так. Например, в одном другом варианте осуществления, в случае, если контент информации об изменениях высокой важности небольшой (например, текстовое сообщение из менее чем 100 символов), этот контент может быть предоставлен вместе с (или даже служить) уведомлением об изменении высокой важности. Из вышеуказанного описания должно быть очевидно, что по меньшей мере в некоторых вариантах осуществления работа внутреннего блока может быть в большой степени или полностью независимой от работы внешнего блока в том, что касается соответствующей связи разных блоков с CPW 106 и мобильным устройством 102. Множество разных типов связи, например, те, что включают в себя вытягивание или опрос, или периодическая или асинхронная связь, могут быть использованы любым из блоков безотносительно операций другого блока в зависимости от варианта осуществления. Таким образом, внутренний блок 306 может непрерывно вытягивать контент из CPW 106 и отправлять изменения на внешний блок 308 независимо от того, что делает внешний блок. Внешний блок 308 может аналогично проталкивать данные на мобильное устройство 102 и ожидать запросы на загрузку измененного контента, или синхронизировать веб-сервер 104 и мобильное устройство, без заботы о том, что делает внутренний блок 306 в любой конкретный момент.
[0068] Как показано на Фиг. 9, предоставленная тут функциональная схема показывает как в некоторых других вариантах осуществления, вместо того, чтобы выполнять этапы 604-609 между узлом A и узлом D, показанными на Фиг. 6, мобильное устройство 102 взамен работает другим образом, предусматривающим этапы 900-914. Этапы 900-914, выполняемые мобильным устройством 102, показанные на Фиг. 9, являются, в частности, комплементарными по отношению к этапам 800-814, выполняемым веб-сервером 104, показанным на Фиг. 8. Как показано на Фиг. 9, после перехода из узла A, вместо того, чтобы выполнять этап 604 приема с Фиг. 6, мобильное устройство 102 взамен может принимать уведомление от веб-сервера 104 (отправленное на одном или обоих этапах 808, 810) о том, что обнаружено одно или более изменений в информации, предоставленной совсем недавно и в более ранее время от CPW 106. Если на этапе 900 принимают уведомление, то на этапе 902 мобильное устройство 102 определяет, указывает ли уведомление, что изменение является высокой или низкой важности.
[0069] Если на этапе 902 определено, что изменение является высокой важности, то мобильное устройство 102 на этапе 904 определяет, следует ли немедленно получить информацию об изменениях высокой важности от веб-сервера 104. Несмотря на то, что в некоторых вариантах осуществления, всегда так, что информацию об изменениях высокой важности следует получать как можно быстрее, в других вариантах осуществления мобильное устройство все еще может по разным причинам определять, что предпочтительно задерживать попытки получить эту информацию от веб-сервера (например, потому, что мобильное устройство имеет низкий заряд). Предполагая, что на этапе 904 мобильное устройство 102 определяет, что информацию об изменениях следует получить немедленно, тогда процесс переходит к этапу 906, на котором мобильное устройство немедленно отправляет сигнал запроса на веб-сервер, запрашивающий, чтобы информация об изменениях высокой важности была предоставлена на мобильное устройство сейчас же. В ответ, на этапе 908, мобильное устройство 102 в конечном счете принимает запрошенную информацию об изменениях (или по меньшей мере некоторую из этой информации, как определено веб-сервером 104) от веб-сервера. В этом отношении, выполнение этапа 908 дополняет выполнение этапа 814 с Фиг. 8.
[0070] Если в качестве альтернативы на этапе 902 определено мобильным устройством, что уведомление указывает, что информация об изменениях является низкой важности, или если на этапе 904 мобильное устройство определяет, что информацию об изменениях следует получить немедленно, то процесс взамен переходит к этапу 910. На этапе 910, мобильное устройство 102 дополнительно определяет, наступило ли надлежащее время для опроса веб-сервера 104 на предмет информации об изменениях. Такое надлежащее время может быть периодически наступающим временем или, в других вариантах осуществления, может быть определено мобильным устройством 102 на основе множества других соображений (например, прошедшего с момента последнего события заранее заданного количества времени, или команды пользователя, как принятой, дающей указание мобильному устройству получать информацию контента от веб-сервера 104).
[0071] Если на этапе 910 надлежащее время для опроса веб-сервера еще не наступило, то процесс может повторять этот этап, пока такое время не наступит (или может перейти к другому этапу процесса и/или возможно вернуться к этапу 910 в другое время). Однако, если на этапе 910 наступило надлежащее время, то процесс переходит к этапу 912, на котором сигнал опроса/запроса отправляют посредством мобильного устройства на веб-сервер 104. После отправки этого сигнала, процесс возвращается к этапу 908, на котором мобильное устройство 102 принимает запрошенную информацию об изменениях. Кроме того, как показано на Фиг. 9, после завершения этапа 908, мобильное устройство 102 приступает к выполнению этапа 913, на котором принятую информацию отображают или иным образом выводят посредством мобильного устройства 102, чтобы обеспечить возможность для просмотра информации пользователем мобильного устройства. Этап 913, как показано, может быть идентичным или подобным этапу 609 с Фиг. 6.
[0072] Тогда как информация об изменениях, отправленная веб-сервером 104 на этапе 908, часто представляет собой огромнейший интерес для пользователя мобильного устройства 102, эта информация об изменениях часто исключает множество информации контента (также и о форматировании), которая была первоначально доступна на CPW 106 до обработки этой информации веб-сервером. То есть, тогда как информация, предоставленная веб-сервером 104, может включать в себя различный контент, такой как события, информация о последнем статусе, комментарии от других и т.д., и тогда как мобильное устройство 102 может также, как само собой разумеющееся, отображать определенную стандартную информацию как часть его пользовательского интерфейса (например, имя пользователя, CPW, с которым контактирует пользователь, и т.д.), значительное количество контента и/или другой информации может быть исключено в результате посредничества веб-сервера 104. По этой причине, после отображения информации об изменениях на этапе 913, пользователь может решить, что было бы желательно не только получать информацию об изменениях, но также получать другую информацию контента (или даже о форматировании). С учетом того, что пользователь может захотеть получать такую другую информацию, мобильное устройство на последующем этапе 914 дополнительно определяет, была ли принята команда пользователя на получение другой информации, не принятой от веб-сервера 104 на этапе 908. Такая команда может быть принята, например, когда пользователь выбирает иконку, отображаемую мобильным устройством, которая может быть отображена как часть информации об изменениях на этапе 913.
[0073] Если на этапе 914 определено, что такая команда была принята, то мобильное устройство 102 на этапе 916 устанавливает прямую линию связи с CPW 106. Эта операция установления прямой линии связи может быть идентичной или подобной операции, связанной с этапом 624, рассмотренным выше, и может включать в себя стандартную веб-версию связи клиент-сервер (например, предусматривающую ввод/передачу унифицированного указателя ресурсов (URL)) и/или сопряженную с веб-страницами CPW 106), которая спроектирована с возможностью как устанавливать линии связи, так и выявлять другую информацию, которую пожелал пользователь. Таким образом, после установления прямой линии связи на этапе 916, затем на этапе 918 принимают от CPW 106 другую информацию, желаемую пользователем. После завершения этапа 918, равно как и в случае, если не был определен прием команды пользователя на этапе 914, или в случае, если уведомление от веб-сервера 104 было принято на этапе 900, затем процесс возвращается к узлу D и продолжается с этапа 610 с Фиг. 6.
В другом альтернативном варианте осуществления изобретения, внутренний блок 306 включает в себя множество подключаемых модулей или процессоров, каждый из которых связан с соответствующим CPW 106. Каждый подключаемый модуль включает в себя прикладные программные интерфейсы (API) для связанных с ним CPW 106. Каждый подключаемый модуль использует протокол передачи гипертекста (HTTP) постоянного вытягивания информации из соответствующих ему CPW 106. Когда обнаружены изменения посредством подключаемых модулей внутреннего блока 306, изменения загружают в очередь и внешний блок 308 проталкивает уведомление на мобильное устройство 102. Все подключаемые модули во внутреннем блоке 306 будут продолжать загружать очередь информацией, отформатированной согласно общему формату, который включает в себя, например, ID источника информации (идентификатор исходного CPW), ID учетной записи мобильного устройства (пользовательское устройство), тип контента, приоритет и информацию. Для статуса, например, формат может быть: тип (STATUS, MOOD, STATUS_AND_MOOD), действие (очистить статус или обновить статус), провайдер, id учетной записи службы агрегации, внешний id, id друга, если обновление для друга, текст статуса, дата и время публикации. Веб-сервер 104 выстраивает унифицированную ленту для каждого пользовательского устройства (учетной записи пользователя) посредством комбинирования контента, вытянутого посредством всех подключаемых модулей, в общий список изменений для каждого соответствующего устройства (учетной записи пользователя). Контент выстраивают со временем, и каждая запись может иметь метку времени.
[0074] Следующий алгоритм может быть использован для обнаружения изменения во время серверной синхронизации, причем следует понимать, что синхронизация сервера включает в себя синхронизацию веб-сервера 104 с CPW 106 (при сравнении, следует понимать, что синхронизация клиента включает в себя синхронизацию клиента, такого как мобильное устройство 102, с веб-сервером). Программа веб-сервера 104 поддерживает три числа для каждой учетной записи: cla, w1, и w2. cla является привязкой списка изменений, w1 является начальным временем (сэмплом) окна списка изменений, и w2 является конечным временем (сэмплом) списка изменений. Веб-сервер 104 хранит часть списка изменений, которая попадает в пределы окна [w1, w2]. Все изменения, найденные во время синхронизации сервера (т.е., внутренний блок, вытягивающий из CPW), маркируют с помощью привязки синхронизации, равной текущей w2 (т.е. до того, как w2 увеличат на 1). Программа приостанавливает синхронизацию сервера (синхронизацию размера CPW), как только размер окна достигает или превышает максимальный размер окна mw. Как только приостановлена, сервер возобновит синхронизацию сервера, когда будет принят новый опрос клиента. Другими переменными являются: ca является привязкой клиента, OFF является флагом, указывающим отсутствие активности синхронизации. Значения cla, w1, и w2 обновляют согласно следующим правилам смены состояний.
<b>Событие</b>
<b>Смены состояний</b>
инициализация
cla=0, wl=0, w2=0, off=0
синхронизация сервера
w2=w2+l, off=1 если w2-wl>=mw
синхронизация клиента, wl<=ca<=w2
wl=ca, off=0
синхронизация клиента, cla<wl и (ca<wl или ca>w2)
cla=w2+l, wl=cla, w2=cla, off=0(так называемый "сброс списка изменений")
Когда клиент опрашивает на предмет изменений, если привязка клиента ca попадает в пределы [w1, w2], то будет работать частичная синхронизация, и сервер 104 отправит обратно изменения, которые попадают в пределы [ca, w2] (и стирает изменения, более старшие чем ca). В заключении синхронизации, ca будет обновлена. Если затем клиент опрашивает на предмет изменений, привязка клиента выпадает из [w1, w2], произойдет новая полная синхронизация между веб-сервером 104 и клиентской программой в мобильном устройстве 102.
[0075] Предусмотрено, что синхронизация сервера (подключаемые модули внутреннего блока вытягивают контент для конкретного устройства 102) может быть приостановлена для учетной записи конкретного мобильного устройства 102, когда размер окна достигнет mw, в случае чего небольшое количество пропущенных сигналов проталкивания данных (уведомлений на устройство) может вызвать перерыв в обслуживании при отсутствии клиентского опроса. Предусмотрено, что может быть выгодно отправлять сигналы проталкивания данных, если существуют отложенные изменения с момента последнего w2, где сигналы проталкивания данных могут передавать до тех пор, пока существуют отложенные изменения с момента wl.
[0076] Дополнительно предусмотрено, что промежуточный веб-сервер 104, описанный в настоящем документе, можно выгодно использовать с менеджером опроса устройств, описанным в предварительной заявке США № 61/180301, озаглавленной "A MOBILE COMPUTING DEVICE AND METHOD WITH ENHANCED POLING MANAGEMENT", поданной 21 мая 2009 года, которая настоящим включена в настоящий документ посредством ссылки.
[0077] В качестве примера выгрузки контента сейчас будет рассмотрена выгрузка фотографий. Промежуточный веб-сервер 104 может быть использован для оптимизации процесса выгрузки фотографий из мобильного устройства 102 на множество CPW 106, которыми в этом примере являются системы социальных сетей, посредством кэширования фотографий в памяти 302 промежуточного веб-сервера 104. Примерный процесс может быть таким, как следует:
1. Внешний блок веб-сервера указывает внутреннему блоку, что пользовательское устройство выгрузило фотографию;
2. Внешний блок или внутренний блок веб-сервера даст новой фотографии URL фотографии и общесистемный уникальный ID фотографии;
3. ID фотографии загружают на устройство, в ответ на что клиентская программа устройства связывает ID фотографии с именем фотографии;
4. Внутренний блок загружает файл через HTTP в размещение, такое как /tmp/uniquephotoid.tmp;
5. Соответствующие подключаемые модули внутреннего блока, связанные с каждым из целевых CPW, представляют work.uploadPhoto для каждого CPW, чтобы выгрузить этот файл фотографии;
6. Внутренний блок предоставляет отчет, обратно внешнему блоку, об успехе или неудаче в выкладывании (предоставлении в совместное пользование) фотографии;
7. Внешний блок может опционально уведомить пользовательское устройство об успехе или неудаче;
8. После прошествия заранее заданного периода времени, фотографию удаляют.
[0078] В процессе работы, фотографии из мобильного устройства 102 выгружаются из устройства во внешний блок 308. Внешний блок 308 или внутренний блок 306 кэширует фотографии в памяти 302 промежуточного веб-сервера на заранее заданный период времени, чтобы обеспечить возможность представления той же фотографии веб-сайтам или разным системам без требования повторной выгрузки фотографии посредством мобильного устройства. После заранее заданного периода времени, фотографию стирают. Заранее заданным периодом может быть любой период времени, и его выбирают согласно ограничениям памяти и частоте использования. Период времени может составлять, например, 24 часа, этот период времени может начинаться в момент выгрузки фотографии в память, в результате чего период времени устанавливают, как только снимок выгружен, или этот период времени может начинаться после выгрузки фотографии на CPW, в результате чего период времени будет расширяться каждый раз, когда снимок выгружают на новый CPW.
[0079] Для одного примерного варианта осуществления, в качестве принципа действия, фотографию выгружают из мобильного устройства, наряду с идентификацией указанного CPW 106, на внешний блок 308 сервера и сохраняют во временном хранилище сетевого сервера. Внешний блок 308 пересылает фотографию подключаемому модулю во внутреннем блоке 306 сервера 104, который может быть, например, выделенным для CPW 106, указанного мобильным устройством 102. Внешний блок 308 сетевого сервера также отправляет сообщение, включающее в себя идентификатор (ID) фотографии, связанный с сохраненной фотографией, обратно на мобильное устройство 102. ID фотографии идентифицирует размещение или указатель на размещение, где сохранена фотография в памяти 302 веб-сервера. Мобильное устройство 102 связывает (устанавливает соответствие) ID фотографии с именем фотографии. В дальнейшем, если мобильное устройство 102 делает выбор посредством пользовательского интерфейса отправить ту же фотографию на другой CPW (например, систему другой социальной сети), мобильное устройство отправит ID фотографии, вместо фактической фотографии, на веб-сервер 104. В ответ, веб-сервер 104 извлечет фотографию и перешлет ее другому подключаемому модулю, выделенному для другого CPW. Предусмотрено, что как только фотографию удалят из памяти 302, обновление будет отправлено на мобильное устройство 102, чтобы удалить связь имени фотографии с ID фотографии, чтобы мобильное устройство выгрузило фотографию. С другой стороны, если фотографию больше не хранят, то веб-сервер 104 принимает запрос на выгрузку фотографии, связанной с ID фотографии, внешний блок 308 отправит сообщение об ошибке на мобильное абонентское устройство, в ответ на которое абонентскому устройству будет предложено выгрузить фотографию снова.
[0080] Для других вариантов осуществления, внутренний блок 306 определит находится ли фотография, выгруженная из мобильного устройства 102, в пределах требуемых ограничений (например, размерность и размер) целевого CPW (например, система социальной сети). Предусмотрено, что это может быть обработано подключаемым модулем, связанным с каждым CPW, когда снимок удаляют из памяти 302, так как каждый подключаемый модуль может хранить ограничения CPW для фотографий. Если такие ограничения удовлетворены, внутренний блок может пропустить фотографию на целевой CPW. В ином случае, размер фотографии будет изменен согласно требованиям CPW. Для того чтобы изменить размер фотографии, и/или масштабировать фотографию до целевого размера, определяют коэффициент изменения размера. В частности, выгодным алгоритмом, который может быть использован для определения коэффициента X изменения размера, является следующий:
x/100=((t-f)/(kc))^(0,5),
где
x является процентом изменения размера;
t является целевым размером в байтах, и может, например, составлять приблизительно 1 мегабайт или меньше, и предпочтительно может составлять 200000 байт, и в одной реализации был 100000 байт;
f является небольшим поправочным коэффициентом для размера файла;
k является постоянным коэффициентом, и может быть меньше 1, и предпочтительно может быть меньше чем 0,5, и в одной реализации был выбран, чтобы составлять 0,23. с является первоначальным размером файла в байтах.
[0081] Посредством хранения фотографии на веб-сервере 104, сервер помогает снизить потребление энергии в устройстве и нагрузку на полосу пропускания в сети связи посредством разрешения мобильному устройству отправлять медиаданные на разные CPW в разные моменты, при этом выгружая медиаданные только раз через локальную сеть или глобальную сеть, через которую мобильное устройство 102 осуществляет связь. Дополнительно, веб-сервер 104 может адаптировать медиаданные к формату, требуемому каждым CPW, и мобильному устройству 102 необязательно знать или приспосабливаться к этим требованиям для успешной выгрузки медиаданных.
[0082] Также предусмотрено, что фотографии могут быть загружены на мобильные устройства посредством промежуточного веб-сервера. Например, для RSS-лент новостей, фотографии из источника RSS-контента вытягивают посредством внутреннего блока из ленты новостей, вместе со сводкой ленты новостей. Когда внутренний блок 306 обнаруживает, что такая новостная информация является новой, или, другими словами, что с момента вытягивания предыдущей RSS-ленты новостей из этого CPW внутренним блоком произошло изменение, внутренний блок сервера 104 будет передавать на внешний блок 308 ленту, правильно отформатированную для клиентского мобильного устройства 102. Внешний блок 308 будет генерировать уведомление проталкивания данных низкого приоритета для клиентского устройства 102, и в очередь для устройства 102 будет загружена сводка и фотография. Когда клиентское устройство 102 в дальнейшем отправляет опрашивающий запрос контента на внешний блок 308, внешний блок будет передавать содержимое очереди, включающей в себя ленту новостей, которая содержит отформатированные снимки и сводку. Клиентская программа на мобильном устройстве 102 будет отображать сводку и связанные снимки на дисплее 216 мобильного устройства 102. Таким образом, внутренняя часть 306 обнаруживает и форматирует новый снимок и сводку для устройства, а внешний блок 308 уведомляет устройство о том, что контент доступен и отвечает на опрашивающий запрос от устройства для загрузки ленты новостей на мобильное устройство 102. В дополнение к вышеописанной операции, по меньшей мере, в одном дополнительном варианте осуществления, если устройство ввода 210 включает в себя датчик касания на дисплее (обычно называемый как сенсорный экран), пользователь может коснуться экрана в области сводки и снимка, и пользовательский интерфейс соединится, напрямую через линию 110, с CPW, связанным со сводкой/снимком ленты новостей и загрузит дополнительную информацию, касающуюся ленты новостей, на дисплей 216 для просмотра пользователем.
[0083] Кроме того, предусмотрено, что клиентская программа в мобильном устройстве 102 будет хранить некоторые описания, касающиеся типов контента и характеристик для каждого CPW, в отношении которых пользователь имеет учетную запись сервера. Пользовательский интерфейс мобильного устройства будет изменяться в зависимости от того, какую учетную запись пользователь настраивает на сервере. Например, предположим, что пользователь заходит на Facebook™ и Twitter™ в учетную запись их веб-сервера 104. Когда пользователь взаимодействует с пользовательским интерфейсом для построения сообщения, подлежащего выгрузке на CPW, отображение пользовательского интерфейса представляет выбор из "Facebook", "Twitter" или "все" для целевого CPW, куда будет отправлено сообщение. В зависимости от того, какой сделан выбор, параметры для сообщения могут быть различными (например, число символов). Если пользователь выбирает все, длиной будет наиболее короткая из ограничений двух CPW. Кроме того, предусмотрено, что могут быть предоставлены счетчик длины и предупреждение. В то время как пользователь вводит текст, отображают оставшееся количество символов, допустимое до достижения предела. При некотором пороге, таком как 30 символов, будет отображено предупреждение. Когда предел превышен, оставшееся количество символов будет иметь отрицательный счет, или пользователю не позволят вводить дополнительные символы. В случае если пользователь изменит конечный CPW, предел будет изменен соответственно. Например, если веб-сайт Twitter™ добавлен как конечный после создания сообщения, то предел будет уменьшен. Если веб-сайт Twitter™ удален как конечный, то предел будет увеличен.
[0084] Мобильное устройство 102 генерирует отображение пользовательского интерфейса, имеющее рабочие параметры, зависимые от одного или более CPW, на которые настроено пользовательское устройство на промежуточном веб-сервере 104. Для сообщений, поле ввода базового сообщения представляют на дисплее для пользователя для ввода текста, верхний предел размера, основанный на наименьшем максимальном размере сообщения, разрешенном одним или более CPW, выбранными в качестве конечных для текста сообщения. Предел может быть запомнен на клиентском мобильном устройстве. Клиентская программа мобильного устройства может генерировать предупреждение, когда размер сообщения подойдет к заранее заданной величине предела. Предел изменяют, если один или более CPW изменяют. Контент вследствие ввода с помощью пользовательского интерфейса наполняет область ввода сообщения и может генерировать предупреждение, когда достигнут предел. Клиентская программа передает сообщение внешнему блоку сервера с идентификационной информацией одного или более CPW. Внутренний блок форматирует сообщение для одного или более конечных CPW и выгружает сообщение в формате, требуемом CPW. Из вышеприведенного описания, должно быть, очевидно, что множество способов, использующих многочисленные разные рабочие этапы, такие как рассмотрены выше, осуществляют посредством настоящего изобретения. Дополнительно, множество альтернативных вариантов осуществления также предназначено для осуществления настоящим изобретением в дополнение к конкретным вариантам осуществления, рассмотренным выше, включая варианты осуществления, использующие способы, имеющие другие рабочие этапы дополнительно или взамен этапам, рассмотренным выше, равно как и варианты осуществления, использующие способы с этапами в разнообразных порядках и комбинациях дополнительно или взамен конкретных порядков или комбинаций этапов, рассмотренных выше. Кроме того, должно быть очевидно, что системы в соответствии с одним или более вариантами осуществления, описанными выше, способны предоставлять расширенные функциональные возможности в отношении содействия взаимодействию между мобильными устройствами, которыми оперируют пользователи, и веб-сайтами социальных сетей. В зависимости от варианта осуществления, может быть улучшено любое одно или более из качества связи между пользователями и веб-сайтами социальных сетей, дружественности по отношению к пользователю веб-сайтов социальных сетей и связанных транзакций, которые испытывают пользователи мобильных устройств, и/или эффективности связи между мобильными устройствами и такими веб-сайтами.
[0085] В частности, предполагается, что настоящее изобретение не ограничено вариантами осуществления и чертежами, содержащимися в настоящем документе, но включает в себя модифицированные формы этих вариантов осуществления, включающих в себя части вариантов осуществления и комбинации элементов разных вариантов осуществления, в соответствии с объемом пунктов формулы изобретения.