Уровень техники
В современных компьютерных системах (например, на базе Windows® VistaTM) пользователи могут просматривать и, как правило, взаимодействовать с выбранным содержимым на маленьком вспомогательном устройстве дисплея, которое соединено с главной компьютерной системой или интегрировано в нее. Для этой цели экран вспомогательного дисплея вместе с предоставляемой операционной системой платформой (на которую ссылаются как на платформу вспомогательного дисплея, или платформу Windows® SideShowTM) предоставляют возможность разработчикам и авторам представлять содержимое пользователям. Это позволяет пользователю просматривать содержимое даже тогда, когда главная компьютерная система находится в режиме пониженного энергопотребления (например, в спящем режиме ACPI S3) или даже когда она выключена.
Для предоставления данных для отображения платформа вспомогательного дисплея использует мини-приложения, содержащие небольшие компьютерные программы подключаемого типа (plug-in), которые исполняются на главной компьютерной системе и которые получают и обрабатывают содержимое из других прикладных программ или источника данных. В большинстве сценариев эти мини-приложения являются предустановленными собственными программами, которые ограничивают предоставляемое мини-приложением содержимое только тем, что доступно на персональном компьютере пользователя.
Сущность изобретения
Раздел "Сущность изобретения" приведен, чтобы представить в упрощенной форме выборку иллюстративных концепций, которые подробно описываются ниже в разделе "Подробное описание". Раздел "Сущность изобретения" не предназначен ни для определения ключевых или существенных отличительных признаков сущности формулы изобретения, ни для использования каким-либо образом, определяющим объем сущности формулы изобретения.
Вкратце, различные аспекты описанной здесь сущности изобретения посвящены главной компьютерной системе, которая соединена с одним или более вспомогательными устройствами дисплея и которая включает в себя компонент, обрабатывающий данные, которые принимают из источника, такого как RSS-канал. Упомянутые данные включают в себя метаданные, которые соответствуют информации для обработки содержимого, связанного с источником данных. Метаданные используются, чтобы предоставить возможность мини-приложению обработать содержимое, что включает в себя предоставление по меньшей мере части содержимого (например, в подходящем для вспомогательного устройства формате) в платформу вспомогательного дисплея. Активация мини-приложения включает в себя инсталляцию мини-приложения (при необходимости), например, путем записи информации, соответствующей метаданным, в системный регистр, а также загрузку и выполнение мини-приложения.
Когда мини-приложение получает принятые данные и обрабатывает соответствующие метаданные, при необходимости может быть инсталлировано другое мини-приложение, способное обрабатывать содержимое, связанное с принятыми данными, причем последнее выполняется так, чтобы принимать содержимое из источника данных, соответствующего другому мини-приложению. Затем другое мини-приложение выводит данные, которые представляют по меньшей мере часть содержимого для потребления устройством вспомогательного дисплея, что может включать в себя преобразование содержимого из одного формата в другой формат, подходящий для потребления. Мини-приложение RSS также может создавать виртуальные мини-приложения, так что мини-приложение RSS принимает содержимое из источника, но отображает его в форме отдельного, "виртуального", мини-приложения, то есть второе мини-приложение не обрабатывает свою собственную подписку данных.
Аспекты объекта настоящего изобретения могут быть реализованы в системе, такой как система с платформой (например, RSS-платформой), которая принимает распространяемые данные из источников распространения данных. Мини-приложение распределения (например, RSS), соединенное с платформой, обрабатывает распределяемые данные, и, при необходимости, механизм инсталлятора, связанный с мини-приложением распределения, может инсталлировать специальное мини-приложение, исходя из конкретных требований для конкретного источника данных, который предоставил связанную с мини-приложением информацию. Новое инсталлированное особое мини-приложение предоставляет содержимое, принятое из особого источника данных, в платформу вспомогательного дисплея.
Другие преимущества будут очевидны из следующего подробного описания и прилагаемых чертежей.
Краткое описание чертежей
Настоящее изобретение проиллюстрировано в качестве примера на прилагаемых чертежах, на которых одинаковые ссылочные номера обозначают схожие элементы и в которых:
фиг.1 - иллюстративный пример вычислительного окружения общего назначения, в котором могут быть внедрены различные аспекты настоящего изобретения;
фиг.2 - структурная схема, иллюстрирующая примеры компонентов для обработки RSS-канала посредством мини-приложения, созданного из метаданных канала;
фиг.3 - структурная схема, в общем виде иллюстрирующая пример реализации, посредством которого RSS-данные подаются в устройство вспомогательного дисплея;
фиг.4 - иллюстрация мини-приложения, созданного или загруженного, которое выполняется, чтобы обрабатывать содержимое из RSS-канала;
фиг.5 - схема последовательности операций, иллюстрирующая примеры этапов для обработки RSS-данных, чтобы предоставить возможность мини-приложению обрабатывать RSS-содержимое из RSS-источника;
фиг.6 - схема последовательности операций, иллюстрирующая примеры этапов, выполняемых мини-приложением, после того как оно активируется для обработки RSS-содержимого из RSS-источника.
Подробное описание
Пример рабочего окружения
Фиг.1 иллюстрирует пример подходящего вычислительного окружения 100 системы, в которой может быть осуществлено настоящее изобретение. Вычислительное окружение 100 системы является лишь одним примером подходящего вычислительного окружения, и оно не предназначено для определения ограничений объема использования и или функциональных возможностей настоящего изобретения. Кроме того, вычислительное окружение 100 не должно быть интерпретировано как имеющее зависимость или требования, относящиеся к какому-либо компоненту или комбинациям компонентов, проиллюстрированных в примере рабочего окружения 100.
Изобретение может быть реализовано со множеством других окружений или конфигураций вычислительной системы общего назначения или специального назначения. Примеры известных вычислительных систем, окружений и/или конфигураций, которые могут быть подходящими для использования с настоящим изобретением, включают в себя, но не ограничиваются перечисленным: персональные компьютеры, серверные компьютеры, карманные или портативные устройства, планшетные устройства, многопроцессорные системы, системы на микропроцессорах, телевизионные приставки, программируемая потребительская электроника, сетевые персональные компьютеры, мини-компьютеры, мэйнфреймы, распределенные вычислительные окружения, которые включают в себя любые из упомянутых систем или устройств, и т.п.
Настоящее изобретение может быть описано в общем контексте выполняемых компьютером команд, таких как программные модули, которые выполняются компьютером. В общем, программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Настоящее изобретение может быть применено в распределенных вычислительных окружениях, где задачи выполняются посредством удаленных устройств обработки, которые объединены через сеть связи. В распределенном вычислительном окружении программные модули могут быть расположены как в среде хранения локального компьютера, так и в среде хранения удаленного компьютера, включая устройства памяти.
Ссылаясь на фиг.1, пример системы для осуществления настоящего изобретения включает в себя вычислительное устройство общего назначения в форме компьютера 110. Компоненты компьютера 110 могут включать в себя, но не ограничены перечисленным, процессорный блок 120, системную память 130 и системную шину 121, которая соединяет различные компоненты системы (в том числе соединяет системную память) с процессорным блоком 120. Системная шина 121 может быть любого типа из ряда типов структур шин, включающих в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, используя любую архитектуру из разнообразия архитектур шин. В качестве примера и не ограничиваясь перечисленным, подобные архитектуры включают в себя шину стандарта Industry Standard Architecture (ISA), шину стандарта Micro Channel Architecture (MCA), шину стандарта Enhanced ISA (EISA), локальную шину стандарта Video Electronics Standards Association (VESA) и шину стандарта Peripheral Component Interconnect (PCI), также известную как шина расширения.
Компьютер 110, как правило, включает в себя ряд машиночитаемых носителей. Машиночитаемые носители могут представлять собой любые доступные средства, к которым компьютер 110 может выполнить доступ, и они включают в себя как энергозависимые, так и энергонезависимые носители, съемные и несъемные носители. В качестве примера, но не ограничиваясь перечисленным, машиночитаемые носители могут содержать компьютерные средства хранения и средства связи. Компьютерное средство хранения включает в себя энергозависимую, энергонезависимую, съемное и несъемное средство, реализованное посредством какого-либо способа или технологии для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули и другие данные. Компьютерное средство хранения включает в себя, но не ограничено перечисленным, ОЗУ, ПЗУ, ЭСППЗУ, флеш-память или другую технологию памяти, диски CD-ROM, цифровые универсальные диски (DVD) или иные оптические дисковые носители, магнитные кассеты, магнитные ленты, магнитные дисковые носители или другие магнитные запоминающие устройства или любое другое средство, которое может быть использовано, чтобы хранить желаемую информацию, и к которому может быть выполнен доступ компьютером 110. Средство связи, как правило, включает в себя машиночитаемые инструкции, структуры данных, программные модули или другие данные в виде модулированного сигнала данных, такого как несущая волна или другой механизм передачи, и включает в себя любое средство доставки информации. Термин "модулированный сигнал данных" обозначает сигнал, у которого одна или более характеристики установлены или изменены таким образом, чтобы кодировать в сигнале информацию. В качестве примера, но не ограничиваясь перечисленным, средство связи включает в себя проводное средство, такое как проводная сеть или непосредственное проводное соединение, и беспроводное средство, такое как акустическое, радиочастотное, инфракрасное и другие беспроводные средства. Комбинации из каких-либо вышеперечисленных типов также входят в объем понятия машиночитаемый носитель.
Системная память 130 включает в себя компьютерное средство хранения в форме энергозависимой и/или энергонезависимой памяти, такой как ПЗУ 131 и ОЗУ 132. Базовая система 133 ввода/вывода (BIOS), содержащая базовые подпрограммы, которые помогают передавать информацию между элементами в компьютере 110, как например во время загрузки, как правило, хранится в ПЗУ 131. ОЗУ 132, как правило, содержит данные и/или программные модули, которые непосредственно доступны и/или задействованы процессорным блоком 120. В качестве примера, но не ограничиваясь этим, фиг.1 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
Компьютер 110 может также включать в себя другое съемное/несъемное энергозависимое/энергонезависимое компьютерное средство хранения. Исключительно в качестве примера, фиг.1 иллюстрирует накопитель 141 на жестком диске, который считывает с или записывает на несъемный, энергонезависимый магнитный носитель, накопитель 151 на магнитном диске, который считывает с или записывает на съемный, энергонезависимый магнитный диск 152, и накопитель 155 на оптическом диске, который считывает с или записывает на съемный, энергонезависимый оптический диск 156, такой как CD-ROM или другой оптический носитель информации. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители информации, которые могут быть использованы в примере рабочего окружения, включают в себя, но не ограничиваются перечисленным, кассеты с магнитной лентой, карты флеш-памяти, цифровые универсальные диски, цифровые видеоленты, твердотельные ОЗУ, твердотельные ПЗУ и т.п. Накопитель 141 на жестком диске, как правило, соединен с системной шиной 121 через интерфейс несъемной памяти, такой как интерфейс 140, а накопитель 151 на магнитном диске и накопитель 155 на оптическом диске, как правило, соединены с системой шиной 121 посредством интерфейса съемной памяти, такого как интерфейс 150.
Накопители и связанные с ними компьютерные запоминающие носители, описанные выше и проиллюстрированные на фиг.1, обеспечивают хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 110. На фиг.1, например, накопитель 141 на жестком диске проиллюстрирован как хранящий операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Следует отметить, что эти компоненты могут быть такими же, как операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137, или же отличаться от них. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 обозначены различными номерами, чтобы проиллюстрировать, что по меньшей мере они представляют собой различные копии. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, такие как планшет или дигитайзер 164, микрофон 163, клавиатура 162 и указательное устройство 161, такое как мышь, трекбол или сенсорная панель. Другие устройства ввода, которые не показаны на фиг.1, могут включать в себя джойстик, игровой планшет, спутниковую антенну, сканер или т.п. Эти и другие устройства ввода часто соединяются с процессорным блоком 120 через интерфейс 160 устройств ввода пользователя, который соединен с системной шиной, но они могут также быть соединены посредством другого интерфейса и структур шины, такой как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 191 или другой тип устройства отображения также соединен с системной шиной 121 посредством интерфейса, такого как видеоинтерфейс 190. Монитор 191 также может быть интегрирован с сенсорной панелью и т.п. Следует отметить, что монитор и/или сенсорная панель могут быть физически соединены с корпусом, в котором размещается вычислительное устройство 110, такое как персональный компьютер планшетного типа. В добавление, компьютеры, такие как вычислительное устройство 110, могут также включать в себя другие периферийные устройства вывода, такие как громкоговорители 195 и принтер 196, которые могут быть соединены через интерфейс 194 периферийных устройств вывода и т.п.
Компьютер 110 может работать в сетевом окружении, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым персональным компьютером, устройством однорангового узла или другим обычным сетевым узлом, и он, как правило, включает в себя многие или все элементы, описанные выше относительно компьютера 110, хотя на фиг.1 проиллюстрировано только устройство 181 памяти. Логические соединения, изображенные на фиг.1, включают в себя локальную сеть (Local Area Network, LAN) 171 и глобальную сеть (Wide Area Network, WAN) 173, но могут также включать в себя другие сети. Подобные сетевые окружения типичны для контор, компьютерных сетей масштаба предприятия, интранета и Интернета.
При использовании в сетевом окружении локальной сети компьютер 110 соединен с локальной сетью 171 через сетевой интерфейс или адаптер 170. При использовании в сетевом окружении глобальной сети компьютер 110, как правило, включает в себя модем 172 или иное средство для установления связи через глобальную сеть 173, такую как Интернет. Модем 172, который может быть внутренним или внешним, может быть соединен с системной шиной 121 посредством интерфейса 160 ввода пользователя или иного подходящего механизма. В сетевом окружении программные модули, изображенные относительно компьютера 110, или их части могут храниться в удаленном устройстве памяти. В качестве примера, но не ограничиваясь этим, фиг.1 иллюстрирует удаленные прикладные программы 185 как находящиеся в устройстве 181 памяти. Очевидно, что показанные сетевые соединения представляют собой лишь примеры и могут быть использованы другие средства для установления линии связи между компьютерами.
Подсистема 199 вспомогательного дисплея может быть соединена через интерфейс 160 пользователя, чтобы обеспечить возможность предоставления пользователю содержимого программы, системного статуса и уведомлений о событиях, даже если основные части компьютерной системы находятся в режиме пониженного энергопотребления. Подсистема 199 вспомогательного дисплея может быть подсоединена к модему 172 и/или сетевому интерфейсу 170, чтобы обеспечить возможность связи этих систем, когда главный процессорный блок 120 находится в режиме пониженного энергопотребления.
Мини-приложение вспомогательного дисплея для распределяемого содержимого
Различные аспекты описанной здесь технологии направлены на получение и обработку содержимого, которое должно быть отображено на устройстве вспомогательного дисплея, соединенном с главной компьютерной системой. В общем, большая часть описания относится к конкретному примеру осуществления, в котором содержимое принимается из удаленного источника данных путем использования технологии действительной простой синдикации (Really Simple Syndication, RSS), которая относится к веб-синдикации/распределению содержимого с использованием одного или более форматов на основе XML. RSS, как правило, используется новостными сайтами и сетевыми журналами (блогами) для распространения их содержимого, однако данная технология также может использоваться в других целях, включая маркетинг, отчеты об ошибках или любую другую деятельность, включающую в себя периодические обновления или публикации.
Технология RSS позволяет пользователям подписываться (часто бесплатно) на RSS-каналы веб-сайтов, в которых, как правило, часто меняется содержимое. В общем, каждый сайт предоставляет данные для распространения по запросу, причем данные включают в себя содержимое вместе с некоторыми метаданными, которые часто включают в себя ссылки на другое содержимое. Эти данные доставляются подписчикам в форме XML-файла, на который в данном документе ссылаются как на RSS-данные или RSS-канал, но в другом контексте альтернативно может использоваться термин веб-канал, RSS-поток или RSS-фид (feed). RSS-данные могут включать в себя прикрепленные мультимедиафайлы.
Однако очевидно, что описанная технология не ограничена каким-либо конкретным источником данных и/или форматом данных или даже технологией RSS и она может использоваться как с локальными, так и с удаленными данными. Более того, описанная здесь технология не ограничена какими-либо конкретными типами вспомогательных устройств, а вместо этого она включает в себя устройства, которые обычно не рассматриваются как связанные с "компьютерной системой" устройства, такие как телевизоры, аудиоресиверы, аудио/видеозаписывающие устройства, телефоны, отдельные компьютеры, устройства мобильной связи, экран вторичного отображения с исполнительными механизмами, наручные часы, настенные дисплеи (например, кухонные), цифровые экраны, цифровые фоторамки, настенные или настольные часы, радиоприемник, медиапроигрыватель, устройства, внедренные в или использующие главный дисплей устройства потребительской электроники, автомобильные, транспортные или другие средства передвижения, клавиатуры или другие устройства ввода главной компьютерной системы, пейджер, персональные цифровые секретари и т.п. По существу, настоящее изобретение не ограничено описанными здесь примерами, структурами или функциями. Скорее, все описанные здесь примеры, структуры и функции являются неограничивающими, и настоящее изобретение может быть использовано различными способами, чтобы обеспечить пользу и преимущества при вычислениях и обработке содержимого в целом.
На фиг.2 показан пример структурной схемы, включающей в себя различные компоненты, посредством которых главная компьютерная система 210 (такая как система, основанная на компьютере 110 с фиг.1) принимает данные из RSS-источника 212, например, через Интернет 214. Следует отметить, что данные альтернативно могут быть получены через некоторые другие средства, такие как локальная сеть или глобальная сеть или даже локальный источник данных, как например, при загрузке в файл/кэш-память/буфер.
Как описано ниже, данные из RSS-источника 212 принимаются в мини-приложении (гаджете) 216 RSS. В общем, мини-приложение 216 содержит программный код, выполняемый на главной компьютерной системе, который регистрируется в платформе вспомогательного дисплея, чтобы передавать данные в одно или более вспомогательные устройства дисплея. Причем мини-приложение активируется или деактивируется с панели управления.
Мини-приложение 216 обрабатывает принятые данные для потребления содержимого (контента) (как правило, путем отображения на экране) вспомогательным устройством 220. Как описано ниже, это обработка включает в себя обработку метаданных 222, сопутствующих RSS-каналу. Для этой цели мини-приложение 216 RSS включает в себя механизм 230 обработчика метаданных или каким-либо другим образом связано с последним. Обработка также может включать в себя преобразование (что представлено преобразователем 232 RSS/вспомогательное устройство) RSS-содержимого 224 в формат, который может быть обработан устройством 220 вспомогательного дисплея (например, частью подсистемы 199 вспомогательного дисплея с фиг.1). Одним из подобных форматов является простой формат содержимого (Simple Content Format), содержащий базовый формат данных, который должен быть в состоянии отобразить устройства вспомогательного дисплея и который включает в себя разметку для передачи данных меню, изображения и уведомления.
Для облегчения приема содержимого источник 212 RSS-данных предоставляет в метаданных 222 информацию о содержимом 224. В частности, вместо выделенного мини-приложения на главной компьютерной системе, предназначенного для обработки его содержимого, обработчик 230 метаданных в мини-приложении 216 RSS будет обрабатывать данные для различных источников и дифференцировать эти данные на основании метаданных. В результате эта технология позволяет поставщикам содержимого эффективно синдицировать содержимое, предназначенное для вспомогательного дисплея, широкому, потенциально неограниченному кругу пользователей через сеть, причем без необходимости специального собственного программного обеспечения на каждом устройстве получателя.
В частности, в особом случае распространения/управления данных вместо только доставки содержимого, поставщики содержимого могут использовать RSS для распространения особых данных вспомогательного дисплея и для создания новых мини-приложений. Например, когда пользователь подписывается на RSS-канал с упомянутыми особыми данными вспомогательного дисплея, мини-приложение 216 RSS может использовать эти данные, чтобы создавать новое отдельное мини-приложение вспомогательного дисплея, такое как "мини-приложение A" 240 с фиг.2. После создания нового мини-приложения 240 мини-приложение RSS действует как "ведущее" мини-приложение, чтобы управлять новым, "виртуальным", мини-приложением, а также чтобы управлять данными для устройства, исходящими из подписанного RSS-канала (в частности, мини-приложение RSS выполняет управление данными, между тем выглядит это как отдельное мини-приложение). Следует отметить, что, хотя на фиг.2 это явно не показано, мини-приложение А может, альтернативно, принимать и/или преобразовывать принятое RSS-содержимое в формат, совместимый с вспомогательным устройством, такой как простой формат содержимого. Таким образом, мини-приложение 216 управляет, преобразует и распространяемое RSS-содержимое из источника в (или через) главную компьютерную систему пользователя, а также в устройство или устройства вспомогательного дисплея.
В одном примере осуществления, когда RSS-данные первый раз загружаются с сайта, такого как источник 212, соответствующая метаданным 212 информация записывается в системный регистр 222 главной компьютерной системы (предполагается, что пользователь и/или действующая политика позволяют это сделать). Следует отметить, что метаданные, соответствующая информация которых уже записана в регистр 234, не требуется перезаписывать в дальнейшем. Вместо этого существующая в регистре 234 информация может быть использована для определения того, как обработать связанное RSS-содержимое 224 относительно отображения этого содержимого вспомогательным устройством. Затем некоторая форма содержимого 224 может быть предоставлена (например, посредством созданного мини-приложения 240) в устройство 220 вспомогательного дисплея. В результате с точки зрения пользователя выполнить обнаружение и инсталляцию нового мини-приложения так же просто, как подписаться на RSS-канал.
Для полноты на фиг.2 также показаны другие мини-приложения, например «мини-приложение B» 241, которые могут быть использованы платформой вспомогательного дисплея. Следует отметить, что мини-приложение B 241 работает с программой 242 боковой панели (Sidebar) или связанными API 243 соответственно. Мини-приложение B 241 использует API 243 боковой панели, чтобы осуществлять связь через API 246 с драйвером 248 для вспомогательного устройства.
Для полноты на фиг.2 также показано, что в заданной системе 210 могут присутствовать один или более другие драйверы 249 и вспомогательные устройства 250. Несмотря на то что другие драйверы 250 показаны в пунктирном блоке, чтобы отразить возможность их наличия, следует отметить, что наличие вспомогательного устройства 220 также не обязательно, поскольку у пользователя может быть только одно другое вспомогательное устройство 250 с, например, драйвером от третьей стороны. Примеры одного подобного устройства, проиллюстрированного в виде вспомогательного устройства 220 и/или пунктирного блока 250, включают в себя дисплей с расширенными возможностями, который, как правило, содержит устройство вспомогательного дисплея, на котором выполняется программно-аппаратное обеспечение SPOT (Smart Personal Object Technology) и код усовершенствованного отображения, обычный дисплей, который, по существу, представляет собой устройство вспомогательного отображения, на котором выполняется специализированное программно-аппаратное обеспечение и которое способно действовать как вспомогательный дисплей, например мобильный телефон, дисплей с одной (двумя, тремя и т.д.) строками, содержащий вспомогательный дисплей, который способен отображать только ограниченное количество (например, одну или две) строк текста и в котором отсутствует поддержка графических изображений. Другие типы дисплеев включают в себя прикрепляемые дисплеи/боковые дисплеи/дисплеи на крышке, которые обычно относятся к устройству вспомогательного дисплея, которое физически расположено на корпусе ноутбука или т.п., например на крышке; удаленные дисплеи, содержащие вспомогательный дисплей, который физически расположен вне главного компьютера и осуществляет с ним связь через проводной или беспроводной сетевой протокол; и «виртуальный» вспомогательный дисплей, который обычно представляет вспомогательное содержимое в некоторой области главного дисплея компьютерной системы. Соответственно, хотя вспомогательные устройства 220 и 259 показаны на фиг.2 как внешние устройства, которые соединены с главной компьютерной системой 210 (возможно, соединены селективно), следует понимать, что подобные устройства могут быть физически не прикреплены к главной компьютерной системе 210 или иметь какую-либо другую возможность отсоединения от нее.
Следует отметить, что большая часть RSS-содержимого представляет собой HTML-текст. Однако стандарт RSS 2.0 предоставляет возможность внедрения других данных, таких как мультимедиасодержимое, посредством меток <вложения>, причем <вложение> содержит опциональный подэлемент <элемента>. Типы RSS-вложений определяются стандартными типами MIME. Например, один вариант осуществления платформы вспомогательного дисплея поддерживает изображения, используя простой формат содержимого на дисплеях с расширенными возможностями, например, в форматах jpg, gif и bmp. Для сценариев с расширенными медиаданными может быть предоставлена возможность применения, например, форматов mpeg/wma для аудио и wmv/avi/mpeg для видео.
Для связанной с RSS разметки <вложение> имеет ряд атрибутов, таких как URL-адрес, который указывает, где расположено вложение, длина, который указывает его размер (например, в байтах), и тип, который указывает его тип, например стандартный тип MIME. URL-адрес может представлять собой http-адрес, например: <enclosure url="http://www.scripting.com/mp3s/weatherReportSuite.mp3" length="12216320" type="audio/mpeg"/>.
Мини-приложение RSS может запросить RSS-платформу загрузить вложение, если оно имеет распознаваемый тип. После загрузки вложения мини-приложение напрямую получает вложенный файл из RSS-платформы. Альтернативно, мини-приложение RSS может загрузить само вложение путем использования атрибута URL-адреса в разметке вложения.
Поскольку на типы информационного наполнения RSS нет каких-либо ограничений, поставщики содержимого и продавцы программного обеспечения получают возможность распространять в устройства вспомогательного дисплея пользователей практически любой тип данных, например котировки акций и музыку, через сеть. Также могут быть доставлены «обогащенные» мультимедийные данные, что обеспечивает возможность применения таких сценариев, как беспроводная цифровая фоторамка, которая автоматически загружает картинки из блогов, на которые подписан пользователь, или медиапроигрыватель, который автоматически загружает избранные подкасты пользователя и новые элементы, или другие сценарии.
Другие примеры сценариев направлены на потребление (чтение) блога/RSS, создание (ведение журнала) блога/RSS, цифровые фоторамки, подкасты, инсталляцию новых мини-приложений, используя RSS и интеграцию боковой панели (sidebar), но не ограничиваются перечисленным. Например, можно рассмотреть одного пользователя, который прослушивает аудиопроигрыватель, между тем выполняя вычисления. В добавление к прослушиванию музыки пользователь может использовать свой аудиопроигрыватель или другие медиаустройства, чтобы загружать подкасты, фотографии и RSS-каналы, когда аудиопроигрыватель подключен к главной системе. Затем он может использовать загруженные данные, продолжая выполнять вычисления. С помощью списка RSS-каналов устройство автоматически выбирает правильные RSS-каналы, на которые подписан данный пользователь, например он может подписаться на фотографии из подгруппы друзей и/или, возможно, на короткие видеоклипы, снятые мобильными телефонами, и мини-приложение RSS автоматически выполнит синхронизацию содержимого, когда устройство подключено к док-станции.
Что касается ведения журналов, то мобильные устройства (например, смартфоны) могут иметь небольшую панель для чтения, а также для ввода пальцем. Вышеизложенные примеры потребления применимы, однако в добавление пользователь может дополнительно создавать содержимое, например, путем снятия фотографий, выполнения записей в блоге и/или ведение журнала содержимого посредством блог-механизма пользователя. Используя RSS-вложение, пользователь может создать фотоканал, напрямую распространяемый в определенной группе вместе с сопутствующим/объяснительным текстом. Для устройств, не обладающих беспроводными возможностями, содержимое блога может быть записано в кэш для синхронизации с RSS-механизмом при подключении к док-станции.
Цифровая фоторамка также может принимать содержимое, на которое она подписана. Например, цифровая фоторамка для вспомогательного дисплея может быть соединена с персональным компьютером беспроводным образом, и в нее может быть загружено автоматически инсталлируемое мини-приложение RSS, которое захватывает фотографии через RSS-каналы, и компьютер передает фотографии в фоторамку. Фоторамка может автоматически отображать новейшие фотографии и циклически сменять их.
Подкасты являются еще одним сценарием, реализация которого может быть облегчена с помощью RSS-канала подкастов. Для этого пользователь может конфигурировать подкасты, которые должны быть синхронизированы с устройством, например, используя страницу свойств вспомогательного мини-приложения из приложения панели управления вспомогательного дисплея. Когда пользователь подписывается на этот канал, вспомогательное мини-приложение получает внедренные подкасты из RSS-канала. При каждом подключении устройства мини-приложение синхронизирует на него подкасты для дальнейшего прослушивания.
Как упоминалось выше, используя RSS могут быть инсталлированы новые мини-приложения. Например, как описано ниже со ссылкой на фиг.4, сайт, такой как zzzmovies.com, может предлагать RSS-канал информации о фильмах. Когда пользователь подписывается на RSS-канал, вспомогательное мини-приложение 216 RSS обнаруживает, что сайт zzzmovies.com распространяет специальное мини-приложение с информацией о фильмах, которое предоставляет возможность вспомогательным дисплеям показывать информацию о фильмах из RSS-канала, включая расписания, доступность билетов и рецензии. Пользователям не требуется отдельно загружать и инсталлировать подобное мини-приложение, и мини-приложение 216 RSS (или другой объект, такой как апплет панели управления) автоматически инсталлирует новое мини-приложение информации о фильмах, что происходит, как правило, после запроса и/или другой проверки политики. Мини-приложение 216 RSS конфигурирует мини-приложение фильма так, чтобы оно функционировало только на поддерживаемых устройствах, например мини-приложение фильма не будет показано на однострочном вспомогательном дисплее, расположенном на клавиатуре, но оно будет выведено на экран мобильного телефона.
Таким образом, мини-приложение 216 RSS предоставляет возможность пользователям потреблять (и создавать) содержимое на портативных устройствах в различных медиаформатах, включая аудио (например, подкасты), фотографии, текст (например, блоги) и т.п., используя платформу вспомогательного дисплея. В результате пользователи получают возможность просматривать RSS-каналы, на которые они подписаны, просматривать фото/видеоматериалы и выполнять схожие задачи посредством своих устройств вспомогательного дисплея. Следует отметить, что это может быть реализовано для автономных RSS-устройств, которые потребляют/создают содержимое, или путем использования существующих портативных устройств, таких как аудиопроигрыватели, чтобы потреблять мультимедиасодержимое.
На фиг.3 показан более конкретный пример осуществления, где RSS-платформа 350 предоставляет RSS-данные в мини-приложение 216 RSS (для вспомогательных дисплеев). В одном конкретном примере осуществления средство распространения (например, браузер, такой как браузер, основанный на Internet Explorer) выполняет операцию установки, которая регистрирует платформу RSS-канала так, чтобы приложению или пользователю было не нужно делать это. Платформа RSS-канала может быть реализована как один или более Win32 COM API, которые расположены в динамически подключаемой библиотеке, например, msfeeds.dll.
RSS-каналы могут быть устроены как набор папок и веб-каналов внутри папок, например, в виде, в котором сохранены избранные ссылки браузера. Следует отметить, что порядок папок и веб-каналов, как правило, не поддерживается в системном списке веб-каналов, вместо этого, в одном примере осуществления (таком как избранные папки и сайты браузера) операционная система/компонент браузера и программа RSS-обозревателя совместно используют набор ключей регистра, чтобы хранить порядок папок и веб-каналов внутри папок. Мини-приложение 216 RSS считывает эти ключи регистра для порядка папок и веб-каналов. Пример ключа регистра для хранения порядка подписок в системном списке веб-каналов имеет следующий вид: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Feeds.
Следует отметить, что пользователь может иметь множество вспомогательных устройств, и, соответственно, может потребоваться, чтобы конкретный веб-канал был сопоставлен конкретному устройству. Например, в силу определенных ограничений устройства, веб-каналы, которые могут поддерживаться этим устройством, могут представлять собой только подгруппу общего количестве подписанных пользователем веб-каналов, например, некоторые устройства, способные поддерживать простой формат содержимого, могут иметь форм-факторы, ухудшающие восприятие пользователя при попытке отображения RSS-каналов, и пользователи должны иметь возможность отключения веб-каналов для таких устройств. Сверх того, исходя из соображений удобства пользования, пользователи могут не захотеть использовать все веб-каналы на одном устройстве, поскольку пользователи могут иметь количество веб-каналов, которое исчисляется сотнями. Кроме того, для конкретных типов медиаданных, таких как фото, пользователи могут только выбрать возможность потребления веб-каналов из конкретных источников.
Чтобы предоставить возможность пользователям ассоциировать конкретные веб-каналы с конкретными вспомогательными устройствами, как показано на фиг.3, может быть создана таблица 352 соответствия веб-каналов/устройств (веб-каналы:устройства) или схожая структура. Чтобы создать структуру 352 соответствия веб-канал/устройство, как например, посредством страницы свойств апплета 354 панели управления вспомогательного устройства, в одном варианте осуществления платформа включает в себя новое свойство, например AUX_CAPABILITY_DEVICE_NAME, для определения способностей каждого устройства. При добавлении префикса DEVICE_NAME могут быть специфицированы следующие возможности устройства:
Мини-приложение 216 RSS может использовать интерфейс ISideShowCapabilitiesCollection для перечисления поднабора подсоединенных в текущее время вспомогательных устройств на системе пользователя. Когда мини-приложение опрашивает свойства каждого устройства, мини-приложение может получить дружественное имя для этого устройства (из вышеупомянутого идентификатора DEVICE_NAME) и отобразить таблицу или подобное, что позволяет пользователю ассоциировать конкретные веб-каналы с конкретным устройством (или устройствами), например, в интерфейсе пользователя приложения 354 панели управления.
Например:
interface ISideShowCapabilitiesCollection: IUnknown
{
HRESULT GetCount(
[out] DWORD * out_pdwCount
);
HRESULT GetAt(
[in] DWORD in_pdwIndex,
[out] ISideShowCapabilities ** out_ppDevice
);
};
interface ISideShowCapabilities: IUnknown
{
HRESULT GetCapability(
[in] REFPROPERTYKEY in_keyCapability,
[in, out] PROFVARIANT * out_pValue
);
};
В общем, мини-приложение выполняет следующее:
1. Устанавливает логическое *out_pfDifferentiateContent из IAuxiliaryDisplayContent::DifferentiateContent в значение TRUE;
2. Когда вызывается ISxdeShowContentManager::Add(), чтобы добавить новое содержимое, платформа в ответ передает отдельное GetContent() из интерфейса ISideShowContent для каждого устройства;
3. Далее, при каждом вызове GetContent() мини-приложение использует указатель IAuxiliaryDisplayCapabilities, чтобы опросить дружественное имя каждого устройства. В результате комбинирования имен устройств с сохраненным сопоставлением веб-каналов/устройств возвращают только конкретные веб-каналы, выбранные на основе устройств.
Мини-приложение 216 RSS может отказать в выполнении ответа на запрос ISideShowContent::GetContent(), чтобы возвратить только конкретные веб-каналы на основе устройства. Следует отметить, что это обратный вызов, поскольку мини-приложение вызывает iSideShowContentManager::Add, и администратор содержимого вызывает обратно мини-приложение на его интерфейсе ISideShowContent.
После формирования ассоциаций некоторым образом, например, по умолчанию они модифицируются посредством интерфейса пользователя приложения панели управления, мини-приложение 216 RSS сохраняет эту структуру веб-канал/устройство (например, граф) 352, так что мини-приложение позже сможет выполнить доступ к хранилищу 352, чтобы определить, какие веб-каналы требуется передать на какие устройства. Например, один пользователь может пожелать просмотреть/прослушать все музыкальные веб-каналы на устройстве музыкального проигрывателя, но просматривать срочные связанные с работой веб-каналы на сотовом телефоне. Следует отметить, что мини-приложение 216 RSS (или созданное им виртуальное мини-приложение) может настраивать содержимое в простом формате содержимого для каждого устройства, чтобы учесть различия между веб-каналами. Поскольку пользователь в любой момент может обновить каждую ассоциацию из приложения 354 панели управления вспомогательного дисплея, мини-приложение 216 RSS также обновляет свою сохраненную структуру 352 соответствующим образом.
Мини-приложение 216 RSS по умолчанию может быть инсталлировано как часть манифеста вспомогательного дисплея. Когда к главной компьютерной системе не присоединены какие-либо вспомогательные устройства дисплея, мини-приложение может быть деактивировано, и нет необходимости в его отображении в приложении 354 панели управления вспомогательного дисплея. В этом примере осуществления мини-приложению 216 RSS не требуется добавлять какого-либо интерфейса пользователя в RSS-платформу, поскольку конфигурациями можно управлять через пользовательский интерфейс апплета 354 панели управления вспомогательного дисплея.
В одном примере осуществления для записи в реестр необходимой информации для мини-приложения вспомогательного дисплея может использоваться следующая базовая структура.
a. RSS
i. FriendlyName = "Windows® Веб-каналы" (что соответствует "RSS" в системах на базе Windows®)
ii. OnlineOnly = DWORD: 0×0
iii. CacheAlgorithm = DWORD: 0×0
iv. Icon = Иконка, представляющая мини-приложение RSS
v. Конечные точки: например, конечная точка формата простого содержимого или опциональная конечная точка RSS.
Как описано выше, мини-приложение 216 RSS регистрируется также во вспомогательной платформе (например, для осуществления связи с API/компонентами 246, 356 и 358), хотя следует отметить, что мини-приложение 216 не требуется инсталлировать на главных компьютерных системах, которые не имеют вспомогательных дисплеев, или на главных компьютерных системах с операционными системами, которые не поддерживают вспомогательные дисплеи. Мини-приложение 216 RSS может быть инсталлировано по умолчанию и может иметь возможность настройки и изменения производителем устройства или третьей стороной.
Следует отметить, что при первом обнаружении RSS-совместимого устройства, мини-приложение 216 RSS может отобразить диалоговое окно или т.п., чтобы проинструктировать пользователя о порядке использования RSS на вспомогательных устройствах, например, посредством приложения 354 (апплета) панели управления вспомогательного дисплея. Также в отношении поведения мини-приложения следует отметить, что мини-приложение может быть сконфигурировано так, чтобы запускаться при входе пользователя в систему, при условии, что удовлетворяются определенные критерии, например что RSS-платформа настроена и работает, что действует только на подходящей единице учета запасов операционной системы, и что в текущее время на главном компьютере инсталлировано одно или более вспомогательное устройство дисплея с поддержкой RSS. В одном примере осуществления мини-приложение 216 RSS не будет разрешено, когда не удовлетворяются все вышеперечисленные условия.
После разрешения, как правило, мини-приложение 216 RSS по умолчанию будет работать в фоновом режиме, поскольку RSS-платформа непрерывно действует, если по какой-либо причине RSS/вспомогательная платформа отсутствует, мини-приложение 216 RSS самозапрещается. Мини-приложение 216 RSS может быть оповещено о сетевых соединениях, и, соответственно, мини-приложение может прекратить передачу данных в случае отсутствия соединения вспомогательного устройства.
Относительно базового взаимодействия платформы, мини-приложения и устройства может быть применена следующая общая структура (однако следует понимать, что применение нижеизложенного порядка операций не обязательно).
1. Использовать RSS-платформу операционной системы
a. Загрузить RSS-платформу (например, DLL)
2. Распространить подписанные пользователем RSS-каналы на вспомогательные устройства
a. Получить список каналов системы (подписанных каналов) из API RSS-каналов.
b. Зарегистрировать следующие уведомления (RSS-уведомления являются рекурсивными, соответственно, подписка на корневую папку обеспечит охват всего диапазона)
i. iFeedFolder.SubscriptionNotifications (новые каналы, добавление/удаление/изменение и т.п.)
ii. IFeedFolder.FeedNotifications (добавление новых элементов)
c. Мониторинг изменений списка каналов
i. Кэшировать состояние списка каналов, синхронизированных с устройствами, так, чтобы оно знало, как обновить состояние канала на устройствах, когда они вернутся в состояние онлайн
ii. Обновить страницу свойств приложения панели управления вспомогательного дисплея с учетом изменений состояния канала
d. По умолчанию мини-приложение может распространять веб-каналы на все RSS-устройства
i. Тем не менее пользователи имеют возможность конфигурирования, чтобы конкретные RSS-каналы распространялись на конкретные вспомогательные устройства, то есть чтобы иметь возможность принимать решение, на которое устройство или устройства должен быть направлен заданный веб-канал.
ii. Сохранить и обновлять сопоставление каналы/устройства на основании вносимых пользователем изменений в свойства апплета панели управления вспомогательного дисплея.
iii. Упомянутое сопоставление поддерживается для каждого отдельного пользователя, так что пользователь ассоциируется с набором устройств.
e. Настроить механизм синхронизации RSS так, чтобы последний загружал вложения автоматически
(IFeed.DownloadEnclosuresAutomatically)
3. Разрешить вспомогательные устройства, чтобы RSS-каналы, на которые подписаны пользователи, отображались посредством RSS-платформы
a. Транскодировать RSS-содержимое в простой формат содержимого
i. Ввод: RSS-данные
ii. Вывод: данные в простом формате содержимого
b. Игнорировать формат и содержимое, которое не может быть отображено конкретным вспомогательным устройством, например, в силу определенных ограничений данного устройства. Например, это может возникнуть тогда, когда RSS-канал содержит специальный формат HTML (таблицы и т.п.), который не может быть отображен.
c. Медиавложения
i. Получить особые RSS-вложения (например, фото) из RSS-платформы и повторно инкапсулировать бинарные данные в формат, который может быть обработан вспомогательным устройством
ii. Пометить тэгом конкретные медиавложения (фото, видео и т.п.) в простом формате содержимого, которые требуют специальной обработки на устройстве
iii. Передать данные (например, бинарные данные) в устройство
d. Исходя из возможностей вспомогательного устройства мини-приложение определяет, должен ли быть направлен конкретный веб-канал на устройство. Например, если устройством является цифровая фоторамка и существует подписка на конкретный блог, мини-приложение отобразит только внедренные фотографии, и связанный текст или другие медиаданные будут игнорированы.
4. Множество пользователей
a. Веб-каналы для текущего активного пользователя синхронизируются только с устройствами, связанными с этим пользователем. Это предотвращает сценарии, когда первый пользователь передает веб-каналы на устройство второго пользователя (например, аудиопроигрыватель), тем самым стирая сохраненные веб-каналы второго пользователя, так как первый пользователь зарегистрировался в системе.
b. Быстрое переключение пользователей
i. Применяется только в том случае, если устройство связано со всеми зарегистрированными пользователями, например ноутбук.
ii. Данные от старого пользователя удаляются из устройства и данные активного пользователя синхронизируются с устройством.
iii. В вышеупомянутом сценарии аудиопроигрывателя, аудиопроигрыватель должен быть связан только со вторым пользователем, так что когда первый пользователь входит в систему (регистрируется), мини-приложение распознает, что устройство не является устройством первого пользователя, и не стирает данные аудиопроигрывателя.
iv. Взаимодействие вспомогательного устройства
c. Навигация предоставляет возможность пользователям просматривать веб-каналы.
i. Сохранить порядок папок и веб-каналов, показанный в компоненте браузера, чтобы поддерживать единообразный порядок работы пользователя
ii. Отобразить папки веб-каналов
1. Пользователи могут входить и выходить из папок
iii. Отобразить заглавия веб-каналов в папке
1. Если возможно, использовать иконки из веб-канала
2. Отметить веб-канал флагом новых обновлений
3. Отобразить количество непрочитанных элементов веб-канала в скобках в конце
iv. Отобразить элементы в веб-канале
d. После выбора веб-канала
i. Текст
1. Вид поиска
a. Показать элементы со связанным <заглавием> и первой строкой <описания>
b. Предоставить опции контекстного меню для отображения всех элементов или только непрочитанных элементов
c. По умолчанию: отобразить только непрочитанные элементы
d. При выполнении выбора конкретного элемента, открыть элемент
2. Подробный вид
a. Полностью отобразить содержимое элемента
b. Предоставить элементы управления для навигации по тексту.
ii. Если элемент имеет вложения:
1. Определить тип медиа, используя метку MIME
2. Вид при поиске
a. Присвоить элементам с медиавложениями подходящие иконки
3. Подробный вид - определить подходящий формат для отображения вложения
a. Изображения
i. Отобразить соответствующие метаданные - заголовки и т.п.
ii. Масштабировать изображение согласно спецификациям устройства - размерам, разрешению, глубине цвета
iii. Предоставить навигационный элемент управления для перехода к следующему/предыдущему изображениям
b. Аудио
i. Отобразить элемент с иконкой аудио
ii. Отобразить соответствующие метаданные - исполнитель, длительность и т.п.
iii. Предоставить элементы управления для воспроизведения аудио (которые необходимо интегрировать с программно-аппаратным обеспечением) - Перемотка вперед/Перемотка назад/Пауза/Воспроизведение
iv. Предоставить навигационный элемент управления для перехода к следующему/предыдущему элементу
c. Видео
i. Отобразить элемент с иконкой видео
ii. Отобразить соответствующие метаданные - продюсер и т.п.
iii. Предоставить элементы управления для воспроизведения видео (которые необходимо интегрировать с программно-аппаратным обеспечением) - Перемотка вперед/Перемотка назад/Пауза/Воспроизведение
iv. Предоставить навигационный элемент управления для перехода к следующему/предыдущему элементу
e. После открытия элемента обновить статус прочитан/не прочитан в интерфейсе пользователя.
5. Обработка событий из устройства
a. ContentMissing (отсутствие контента)
i. Мини-приложение опрашивает платформу на предмет отсутствия содержимого
ii. Если из платформы был удален веб-канал или элемент, то мини-приложение стирает удаленное содержимое на устройстве соответственно.
b. DeviceAdded (устройство добавлено)
i. Определить, было ли связано это устройство с текущим пользователем.
1. Если нет, то запросить пользователя, нужно ли активировать RSS на этом устройстве
ii. Обновить устройство с учетом измененных данных, в случае их наличия
c. DeviceRemoved (устройство удалено)
i. Ничего не делать
Для предоставления возможности применения сценариев, где проигрываются подкасты, музыка и видео, инфраструктура 358 драйвера вспомогательного устройства может иметь интерфейс напрямую с внедренным устройством, чтобы использовать его аппаратное и программно-аппаратное обеспечение. Для интеграции вспомогательного устройства с собственным устройством (например, сценарий подкаста) драйвер вспомогательного устройства может записывать содержимое (контент) напрямую в память устройства и выполнять доступ к функции программно-аппаратного обеспечения, которая предоставляет возможность управления воспроизведением.
С точки зрения поставщика источника, платформа вспомогательного дисплея и мини-приложение RSS предоставляют возможность продавцам программного обеспечения или издателям содержимого использовать RSS для распространения и инсталляции новых мини-приложений. Сверх того, также увеличивается использование сценариев мини-приложений SideShow, поскольку поставщики содержимого и продавцы программного обеспечения могут предоставлять содержимое в устройства SideShow из сети, в добавление к содержимому с локального персонального компьютера. Это может включать в себя специфицирование и регистрацию новых типов MIME, в том числе типа MIME для простого формата содержимого (например, Тип-содержимого: text/x-simple_content_format) и типа MIME для вспомогательных данных инсталляции (например, Тип-содержимого: приложение/мини-приложение).
Для облегчения способа, которым RSS-объекты могут распространять новые мини-приложения, то есть посредством RSS-каналов, объектам требуется только опубликовать RSS-каналы вместе с внедренными метаданными инсталляции мини-приложения. Например, вложение мини-приложения может содержать заглавие, иконку, поддерживаемые конечные точки и т.п. для нового мини-приложения. Затем подсистема синхронизации RSS (например, часть RSS-платформы 350) автоматически загружает простой формат содержимого и/или вложения мини-приложения.
С точки зрения построения и распространения новых вспомогательных мини-приложений, используя RSS, будет рассмотрен разработчик программного обеспечения, работающий для компании, такой как компания, владеющая сайтом zzzmovies.com. Для разработки мини-приложения «фильма», которое позволяет пользователям видеть информацию фильма в масштабе реального времени на основании местоположения каждого пользователя, разработчик может внедрить специальные данные (например, метаданные о мини-приложении фильма и информацию в реальном масштабе времени в простом формате контекста) в RSS-канал zzzmovies.com's, используя вложения. При приеме мини-приложение RSS проводит синтаксический разбор этих данных в простом формате контента и инсталлирует мини-приложение фильма, когда пользователь в первый раз подписывается на данный веб-канал.
На фиг.4 проиллюстрирован один такой пример, в котором вспомогательное устройство, такое как вспомогательное устройство 460 дисплея на основе сотового телефона, представляет перечни фильмов с сайта zzzmovies.com, то есть полученные через его веб-сервер 462. В данном примере рассматривается случай, когда пользователь уже имеет возможность чтения различных RSS-каналов (X, Y, Z) с различных веб-сайтов (серверов) 464 на сотовом телефоне 460 через мини-приложение 216 RSS. Это состояние, в котором уже имеется подписка на веб-каналы X, Y и Z, в общем представлено на фиг.4 стрелкой (1).
В данном примере по истечении некоторого времени, как например после просмотра веб-сайта zzzmovies.com's, пользователь подписывается на новый веб-канал W, который содержит вложение 470 мини-приложения zzzmovies с сервера 462 zzzmovies.com 462. После подобного запроса на подписку мини-приложение 216 RSS уведомляется (например, посредством RSS-платформы 350), и оно видит вложение <мини-приложения>. Это показано на фиг.4 посредством стрелки, обозначенной цифрой (2). В ответ мини-приложение RSS проинсталлирует мини-приложение 470 zzzmovies (стрелка (3)). Следует отметить, что для инсталляции может потребоваться обеспечение некоторой политики и/или подтверждение пользователя.
После инсталляции мини-приложение 470 zzzmovies может быть загружено и запущено, и оно подпишется на свой собственный веб-канал W, используя RSS-платформу 350. С этого момента мини-приложение 470 zzzmovies может функционировать независимо от мини-приложения 216 RSS, как показано на фиг.4 посредством стрелки (4). Посредством веб-канала W мини-приложение 470 zzzmovies может принимать необработанное содержимое в простом формате содержимого через вложения, однако, как описано выше, оно может альтернативно включать в себя код преобразования, чтобы преобразовывать содержимое RSS-канала в формат, который понятен устройству, как например содержимое, которое обеспечивает наилучшее соответствие между содержимым веб-канала и способностями устройства.
В альтернативном варианте мини-приложение 216 RSS может подписаться на веб-канал W и управлять данными для мини-приложения zzzmovie. В этом варианте осуществления мини-приложение 216 RSS эффективно управляет мини-приложением zzzmovie.
Следует отметить, что после инсталляции мини-приложение 470 zzzmovie не требуется инсталлировать каждый раз, а его данные инсталляции, включенные в состав метаданных, с соответствующей информацией, уже включенной в регистр, могут использоваться для загрузки и выполнения (то есть инициализации значением) экземпляра мини-приложения каждый раз, когда в RSS-канале детектируются такие же метаданные. Например, если мини-приложение 216 распознает, что метаданные ранее были обработаны в данные инсталляции в регистре, то данные инсталляции могут быть считаны из регистра (или текущие метаданные могут быть преобразованы в эквивалентные данные инсталляции), чтобы разрешить (то есть загрузить и выполнить) экземпляр соответствующего мини-приложения для обработки содержимого.
Очевидно, что хотя мини-приложение RSS может обработать RSS-содержимое вместо того, чтобы разрешать другое мини-приложение для этих целей, приведенная на фиг.4 модель предпочтительна по ряду причин, одна из которых заключается в том, что управление новым мини-приложением 470 отделяется от мини-приложения 216 RSS, даже несмотря на то, что оба используют RSS в качестве механизма доставки данных. Среди других преимуществ, эта модель предотвращает дублирование веб-канала W в двух местах, например в RSS-меню сотового телефона и в его собственном меню фильма. Новое мини-приложение 460 может также обрабатывать свои собственные взаимодействия данных с главным сервером, благодаря чему мини-приложению 216 RSS не требуется иметь логики, кода преобразования и т.п. для обработки дополнительных (не относящихся к мини-приложению) вложений, принятых с веб-канала W. Следует отметить, что если по какой-то причине мини-приложение 216 RSS останавливается, то также останавливается мини-приложение 470 фильма.
На фиг.5 показан пример логики, которая может быть принята мини-приложением 216 RSS и согласно которой когда пользователь в первый раз подписывается на веб-канал и принимает веб-канал (этап 502), содержащий соответствующие метаданные, например вложение <мини-приложение>, что определяется посредством этапов 504 и 506, пользователю предоставляется возможность инсталлировать мини-приложения для содержимого этого веб-канала. Например, на этапе 508 выполняется оценка политики и/или пользовательского содержимого, например, посредством пользовательского интерфейса мини-приложения 216 RSS пользователю может быть выведен запрос, который указывает, что данный веб-канал имеет некоторое [X] мини-приложение, которое может работать с этим устройством, и что пользователь может разрешить его. Если пользователь отказывает, то процесс завершается. Следует отметить, что на этапе 506, если мини-приложение уже инсталлировано, например если это не первый раз, когда пользователь подписывается на этот RSS-канал, или если пользователь уже инсталлировал мини-приложение некоторым другим способом, процесс переходит к этапу 512, чтобы применить уже инсталлированное мини-приложение.
Если пользователь/политика позволяют разрешать выполнение мини-приложения, например, если пользователь соглашается на этапе 508, то мини-приложение RSS переходит к инсталляции нового мини-приложения на этапе 510. В одном варианте осуществления это может включать в себя запись необходимой информации регистра, основанной на метаданных во вложении <мини-приложение>, открытие приложения панели управления вспомогательного дисплея и вывод пользователю запроса на назначение мини-приложения соответствующим устройствам, а также связывание этого конкретного канала с новым инсталлированным мини-приложением. Это обеспечивает то, что последующие включения подходящего формата (например, включения в простом формате содержимого) будут доставлены в это мини-приложение. Новое мини-приложение может быть зарегистрировано во вспомогательной платформе. После завершения инсталляции процесс продолжается с этапа 512.
На этапе 512 мини-приложение 216 RSS загружает и выполняет инсталлированное мини-приложение. Следует отметить, что наряду с тем, что мини-приложение 216 может само обрабатывать содержимое веб-канала, в одном варианте осуществления мини-приложение 216 RSS не подписывается на этот веб-канал и не управляет этим веб-каналом, а вместо этого позволяет новому загруженному и запущенному мини-приложению принимать содержимое веб-канала. Среди прочего, это помогает избежать замешательства пользователя, например, когда веб-канал появляется в RSS-меню устройства пользователя, а также представляет отдельное мини-приложение на устройстве. Кроме того, загруженное мини-приложение будет обрабатывать свои собственные взаимодействия, запросы данных и т.п. со своим главным веб-сервером, что полезно, поскольку оно не зависит от мини-приложения 216 RSS, которое обрабатывает RSS-каналы из множества источников данных.
Как в общем показано на схеме последовательности операций на фиг.6, мини-приложение (ранее инсталлированное или новое), которое было загружено и запущено по алгоритму с фиг.5, отвечает за получение своего конкретного веб-канала с RSS-платформы (этап 618) и обработку взаимодействий данных с главным веб-сервером (этапы 624 и 628). Связь со вспомогательной платформой обычно заключается в передаче содержимого, извлеченного из RSS-данных (например, во включениях в формате простого содержимого), в RSS-платформу (этап 622), после выполнения преобразования формата содержимого на этапе 620 (при необходимости).
Нижеприведенная информация нацелена на некий пример концепций взаимодействия пользователя, где используются страницы для представления пользователю информации и где примеры RSS-каналов показаны путем заключения их в <скобки>:
Эта страница интерфейса пользователя отображает доступные RSS-папки, кэшированные в вспомогательном устройстве
• Папки с веб-каналами с непрочитанными элементами могут быть выведены в жирном шрифте
• Папки могут показывать количество непрочитанных веб-каналов в скобках в конце строки
• Папки без непрочитанных веб-каналов могут быть выведены в неформатированной форме
• Выбранная папка может быть выделена
Эта страница отображает подписанные пользователем веб-каналы для этого вспомогательного устройства
• Веб-каналы с непрочитанными элементами могут быть выведены в жирном шрифте, и в конце строки в скобках может быть выведено количество непрочитанных элементов
• Веб-каналы без непрочитанных элементов могут быть выведены в неформатированной форме
• Веб-каналы с распознанными медиавключениями могут иметь особые иконки, отображаемые в конце, по одной для каждого типа
- Распознаваемые типы медиа: например, фото, музыка, аудио, видео
Эта страница отображает вид верхней линии кэшированных элементов для этого веб-канала
• Показывать <заголовок> элемента в жирном шрифте
• Слишком длинный заголовок может быть отображен частично
• Несуществующий заголовок может быть заменен первой линией <описания> элемента
• Показывать первую линию <описания> элемента
• Линия может быть показана частично либо усечена
• Несуществующее поле описания может быть оставлено пустым
• Элементы могут быть отображены сверху вниз, в порядке обновления
Эта страница отображает кэшированные элементы на устройстве
Тип медиа: текст
• Выделить заголовок элемента жирным шрифтом
• Слишком длинный заголовок может быть отображен частично
• Отображать временной штамп последнего обновления
• Временной штамп может быть показан частично
• Показывать содержимое веб-канала в форме, в которой устройство способно отображать
• Содержимое может быть прокручено вверх/вниз, если оно не вмещается на экране
• Текст
Медиастраницы отображают только вложения конкретных типов, задаваемых пользователем. Текст или другой тип медиа, связанный с данным веб-каналом, не отображаются
Тип медиа: изображения
• Выделить заголовок элемента жирным шрифтом
• Слишком длинный заголовок может быть отображен частично
• Отображать временной штамп последнего обновления
• Временной штамп может быть показан частично
• Отобразить заголовок включения (если он доступен)
• Заголовок вложения может быть отображен частично
• Показывать содержимое изображения в форме, в которой устройство способно отображать
• Отображать изображение с настройками, которые поддерживаются устройством (разрешение, глубина цвета и т.п.)
• Масштабировать изображение при необходимости
Тип медиа: смешенное аудио и текст
• Выделить <заголовок> элемента жирным шрифтом
• Перед заголовком может быть выведена иконка аудио, которая указывает, что данный элемент заключает в себе аудиосодержимое, например музыку или подкаст
• Слишком длинный заголовок может быть отображен частично
• Несуществующий заголовок может быть заменен первой линией <описания> элемента
• Показывать первую линию <описания> элемента
• Линия может отображена частично (или усечена, в зависимости от того, что дешевле)
• Несуществующее поле описания может быть оставлено пустым
• Элементы могут быть отображены сверху вниз, в порядке обновления
• Первая линия
• Показать имя веб-канала - временной штамп элемента
• Отобразить частично, если линия не вмещается; Обеспечить возможность прокрутки вправо/влево
• Вторая линия
• Показать имя элемента - описание элемента
• Отобразить частично, если линия не вмещается; Обеспечить возможность прокрутки вправо/влево
• Игнорировать форматирования и другие типы медиа, за исключением текста
• Навигация по веб-каналам
• Информация папки не отображается, поскольку она некритична
• Мини-приложение делает дерево папок/веб-каналов плоским и последовательно отображает элементы на простом дисплее
• По нажатию клавиш вверх/вниз выполняется перемещение к следующему элементу в веб-канале. Когда элементы в веб-канале исчерпываются, может быть отображен следующий веб-канал. Когда исчерпываются веб-каналы в папке, может быть отображен первый элемент первого веб-канала следующей папки и т.д.
Несмотря на то что настоящее изобретение может быть подвержено различным модификациям и возможны альтернативные конструкции, выше на чертежах показаны и подробно описаны его конкретные варианты осуществления. Тем не менее следует понимать, что нет какого-либо намерения ограничить изобретение раскрытыми конкретными формами, и напротив, изобретение должно охватывать все модификации, альтернативные конструкции и эквиваленты, входящие в рамки сущности и объема настоящего изобретения.
Изобретение относится к области приема распределяемого содержимого. Техническим результатом является расширение функциональных возможностей за счет обеспечения возможности загрузки в вычислительную платформу и инсталляции мини-приложений. Описана технология, посредством которой конкретная программа мини-приложения инсталлируется (например, создается) в главной компьютерной системе, которая принимает данные (например, RSS-канал) из источника распространения, причем данные канала содержат информацию, необходимую для инсталляции мини-приложения. После инсталляции мини-приложение используется для приема содержимого из своего соответствующего источника данных и предоставления содержимого для отображения на вспомогательном устройстве отображения. Данные канала могут включать в себя метаданные, такие как связанное с мини-приложением вложение, из которых инсталлятор может записать информацию, соответствующую метаданным, в регистр или т.п., и связать мини-приложение с одним или более конкретными вспомогательными дисплеями. Путем обработки этих метаданных другое приложение инсталлируется и затем запускается по мере необходимости, чтобы обрабатывать данные содержимого из соответствующего источника данных для отображения содержимого на вспомогательном дисплее. 3 н. и 17 з.п. ф-лы, 6 ил.
1. Машиночитаемый носитель, содержащий выполняемые компьютером инструкции, которые при их выполнении реализуют способ отображения предоставляемого распределенного содержимого на устройстве вспомогательного дисплея с использованием мини-приложения, при этом способ содержит этапы, на которых:
принимают данные от источника в подключаемом мини-приложении, причем упомянутое подключаемое мини-приложение содержит компьютерную программу подключаемого типа, установленную на главной компьютерной системе, при этом главная компьютерная система содержит основной дисплей,
причем упомянутые данные содержат метаданные, ассоциированные с данными, соответствующими информации для отображения содержимого на устройстве вспомогательного дисплея, причем это устройство вспомогательного дисплея является дополнительным устройством в дополнение к основному дисплею главной компьютерной системы и которому разрешено отображать содержимое, когда основные части главной компьютерной системы находятся в состоянии низкого потребления энергии,
обрабатывают, посредством подключаемого мини-приложения, метаданные, ассоциированные с упомянутыми данными, определяют, что упомянутое содержимое должно быть отображено на устройстве вспомогательного дисплея, и определяют, что мини-приложению вспомогательного дисплея должно быть разрешено отображать упомянутое содержимое на упомянутом устройстве вспомогательного дисплея;
используют посредством подключаемого мини-приложения информацию метаданных, чтобы разрешить мини-приложению вспомогательного дисплея обрабатывать упомянутое содержимое,
предоставляют по меньшей мере часть упомянутого содержимого в мини-приложение вспомогательного дисплея, и
предоставляют посредством мини-приложения вспомогательного дисплея по меньшей мере часть упомянутого контента на устройство вспомогательного дисплея для отображения.
2. Машиночитаемый носитель по п.1, в котором на этапе обработки метаданных определяют, присутствует ли в регистре информация, соответствующая метаданным.
3. Машиночитаемый носитель по п.2, в котором обработка метаданных указывает, что информация, соответствующая метаданным, присутствует в регистре, причем на этапе использования метаданных для предоставления разрешения мини-приложению вспомогательного дисплея загружают и запускают мини-приложение на основании информации из регистра.
4. Машиночитаемый носитель по п.2, в котором обработка метаданных указывает, что информация, соответствующая метаданным, отсутствует в регистре, причем на этапе использования метаданных для предоставления разрешения мини-приложению вспомогательного дисплея записывают соответствующую метаданным информацию в регистр, чтобы инсталлировать мини-приложение вспомогательного дисплея, и загружают и запускают мини-приложение вспомогательного дисплея.
5. Машиночитаемый носитель по п.1, дополнительно содержащий выполняемые компьютером инструкции для преобразования содержимого из одного формата в другой формат для выдачи по меньшей мере части содержимого на устройство вспомогательного дисплея.
6. Машиночитаемый носитель по п.1, в котором источник данных соответствует RSS-каналу, и дополнительно содержит выполняемые компьютером инструкции для приема из RSS-канала дополнительного содержимого, включающего в себя одно или более из аудио, видео, изображений, текста, одного или более типов MIME или другое содержимое.
7. Машиночитаемый носитель по п.1, в котором на этапе использования информации метаданных для разрешения мини-приложения вспомогательного дисплея запускают одно мини-приложение, чтобы создать по меньшей мере одно виртуальное мини-приложение путем записи в регистр.
8. Машиночитаемый носитель по п.1, в котором на этапе использования информации метаданных для разрешения мини-приложению вспомогательного дисплея используют одно мини-приложение для распространения и инсталляции выполняемого программного кода для другого мини-приложения.
9. Способ установки мини-приложения, которому разрешено отображать принятые данные на устройстве вспомогательного дисплея, причем способ предназначен для использования в вычислительном окружении, содержащем источник данных и компьютерную систему, которая осуществляет связь с устройством вспомогательного дисплея, причем способ содержит этапы, на которых:
принимают данные в мини-приложении, причем мини-приложение содержит компьютерную программу подключаемого типа, установленную на главной компьютерной системе, при этом главная компьютерная система содержит основной дисплей;
обрабатывают, посредством мини-приложения, включенные в принятые данные метаданные, причем метаданные соответствуют другому мини-приложению, которое способно обрабатывать содержимое, ассоциированное с принятыми данными, для отображения на устройстве вспомогательного дисплея, причем это устройство вспомогательного дисплея является дополнительным устройством в дополнение к основному дисплею главной компьютерной системы и которому разрешено отображать содержимое, когда основные части главной компьютерной системы находятся в состоянии низкого потребления энергии;
на основании метаданных определяют, требуется ли инсталлировать другое мини-приложение,
когда требуется инсталлировать другое мини-приложение, то инсталлируют другое мини-приложение;
запускают другое мини-приложение;
принимают содержимое в мини-приложении,
передают посредством мини-приложения содержимое к другому мини-приложению,
выводят посредством упомянутого другого мини-приложения по меньшей мере часть переданного содержимого для отображения устройством вспомогательного дисплея.
10. Способ по п.9, в котором этап определения из метаданных необходимости инсталляции другого мини-приложения содержит доступ к данным в регистре.
11. Способ по п.9, в котором требуется инсталлировать другое мини-приложение, и этап инсталляции другого мини-приложения содержит запись в регистр информации, соответствующей метаданным.
12. Способ по п.9, в котором этап вывода по меньшей мере части содержимого для отображения устройством вспомогательного дисплея содержит преобразование содержимого из одного формата в другой формат.
13. Способ по п.9, в котором этап приема данных содержит обмен информацией для подписки на RSS-канал.
14. Система отображения распределенного содержимого на устройстве вспомогательного дисплея с использованием мини-приложения в вычислительном окружении, содержащем главный компьютер, имеющий основной дисплей, и вспомогательное устройство, соединенное с главным компьютером, причем система содержит:
платформу, которая принимает распространяемые данные от источников распространения данных;
мини-приложение распространения, соединенное с платформой так, что мини-приложение распространения обрабатывает распространяемые данные, принятые на платформе подписки;
механизм инсталляции, связанный с мини-приложением распространения, причем механизм инсталляции сконфигурирован так, чтобы инсталлировать конкретное мини-приложение, необходимое для конкретного источника данных, на основании информации в наборе распространяемых данных, принятых из конкретного источника данных; и
платформу вспомогательного дисплея, которая принимает и отображает содержимое из конкретного мини-приложения, причем содержимое соответствует распространяемым данным, принятым из конкретного источника данных, причем упомянутое содержимое не отображается на основном дисплее.
15. Система по п.14, в которой вычислительное окружение содержит множество устройств вспомогательного дисплея и дополнительно содержит механизм отображения, который соотносит конкретный веб-канал с поднабором устройств вспомогательного дисплея.
16. Система по п.14, в которой источниками распространения данных являются источники RSS-данных, которые соответствуют по меньшей мере одному из: потребления блога/RSS, создания блога/RSS, цифровой фоторамки, подкаста и мини-приложения боковой панели.
17. Система по п.14, в которой вспомогательное устройство понимает первый формат данных, и дополнительно содержит средство для преобразования данных из другого формата данных в первый формат данных.
18. Система по п.17, в которой конкретное мини-приложение связано со средством для преобразования данных из другого формата данных в первый формат данных.
19. Система по п.14, в которой механизм инсталлятора инсталлирует конкретное мини-приложение путем записи в регистр информации, которая соответствует информации, принятой из конкретного источника данных.
20. Система по п.19, в которой информация, принятая из конкретного источника данных, содержится во вложении, связанном с мини-приложением.
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
RU 2004108142 A, 20.08.2005. |
Авторы
Даты
2011-11-10—Публикация
2007-01-23—Подача