Код документа: RU2377635C2
Перекрестная ссылка на родственные заявки
Настоящее изобретение относится к следующим совместно рассматриваемым заявкам на патент Соединенных Штатов, поданным одновременно с данной заявкой, правопреемником которых является правопреемник настоящего изобретения, и настоящим включаются посредством ссылки во всей своей полноте:
“Context-Aware Auxiliary Display Platform and Applications”, реестр поверенного №4460;
“Auxiliary Display System Architecture”, реестр поверенного №4470 и
“Caching Data for Offline Display and Navigation of Auxiliary Information”, реестр поверенного №4480.
Область техники, к которой относится изобретение
Изобретение относится, в основном, к компьютерным системам и, в частности, к улучшенному способу и системе для отображения информации для вычислительного устройства.
Предшествующий уровень техники
Компактные компьютеры и другие мобильные устройства позволяют пользователю работать в различных местах, обеспечивая большое удобство для пользователей. Однако часто происходит выключение питания мобильных устройств при перемещении между местами, особенно с компактными компьютерами, в которых крышка обычно закрывается во время переноски. В результате доступ к соответствующим данным на устройстве требует открытия крышки компактного компьютера, ожидания включения питания и навигации к требуемой информации. Это представляет собой трудоемкий и совершенно нежелательный опыт пользователя, особенно тогда, когда требуемые данные представляют собой что-нибудь максимально простое, как, например, номер комнаты, где проводится совещание.
Заявки на патент Соединенных Штатов с порядковыми номерами №№10/429 930 и 10/429 932, в основном, относятся к концепции компьютерных систем, имеющих дополнительную обработку и дополнительные механизмы, особенно механизмы, относящиеся к отображению, которые обеспечивают некоторые вычислительные функциональные возможности. Например, небольшой ЖК-дисплей на крышке или боковой стороне компактного компьютера может предоставлять своему владельцу полезную информацию, такую как место и время совещания.
Однако такие дополнительные дисплеи до этого были ограничены минимальными, ограниченными операциями, в которых специальная программа дополнительного дисплея настраивается в отношении информации, которая может отображаться. Например, если требуется информация о совещании, пользователь только увидит информацию, если программа дополнительного дисплея была запрограммирована на отображение конкретного типа данных, а также соответствующих данных для текущего совещания. Кроме того, любые отображаемые данные были статическими; любое изменение в данных требовало возврата компьютера в состояние включения питания и получение изменений.
Тем, что требуется, является способ для программ приложения, которые выполняются под основной операционной системой компьютерной системы, предоставления соответствующих данных для отображения на дополнительном дисплее этой компьютерной системы, включая те моменты времени, когда новые данные становятся доступными и основной дисплей не является легко доступным или доступным вообще, как, например, когда, по существу, выключено питание компьютерной системы.
Сущность изобретения
Вкратце, настоящее изобретение обеспечивает механизм для приема новых данных дополнительным устройством, связанным с основной компьютерной системой, и обработки этих новых данных в программно-аппаратных средствах дополнительного устройства с целью выполнения некоторого действия. Прием и обработка данных не зависит от того, находится ли основная компьютерная система в состоянии включенного питания (неавтономный режим) или в состоянии выключенного питания (автономный режим). Например, дополнительное устройство дисплея может представлять данные из кэша пользователю, и новые данные могут использоваться для обновления или пополнения данных в кэше. Это может выполняться, когда основная компьютерная система находится в неавтономном режиме и предоставляет другие данные, которые могут отображаться на дополнительном устройстве, или когда основная компьютерная система находится в автономном режиме и только кэш доступен в качестве поднабора источника прикладных данных основной компьютерной системы. В сущности, дополнительное устройство принимает данные от многочисленных источников и рассматривает основную компьютерную систему в качестве одного из таких источников.
При работе в автономном режиме кэш сохраняет прикладные данные пользователя совместно со структурированной навигационной информацией, посредством чего пользователь может выполнять навигацию среди данных, например смотреть страницы данных. Когда основной центральный процессор (ЦП), операционная система и программы приложений находятся в неавтономном режиме, они строят кэш данных и переносят его на носитель, к которому может обращаться дополнительное устройство, такое как дополнительное запоминающее устройство в программно-аппаратных средствах.
Кэш может обновляться новыми данными, которые принимаются дополнительным устройством, без участия основного ЦП, операционной системы и программ приложений. Так как данные обрабатываются в дополнительном процессе, новые данные доступны для дополнительного устройства независимо от того, работают ли основной ЦП, операционная система и программы приложений. Таким образом, новые данные могут дополнять программные данные приложения в состоянии неавтономного режима, добавлять к дереву кэшированных программных данных приложения в состоянии автономного режима и/или заменять или удалять что-то в дереве. В одной реализации кэш организован в виде древовидной структуры, посредством чего новая информация может добавлять новую ветвь, если не связана с программой, которая кэширует свои данные, или обновлять кэшированные данные, если относящиеся данные уже находятся в кэше.
Источники новых данных включают в себя удаленные данные, принимаемые по беспроводному или проводному соединению программно-аппаратными средствами. Другие примеры источников данных включают в себя любое из аппаратных средств основного компьютера, такое как контроллер аккумуляторной батареи или сетевая карта, которые продолжают работать, тогда как компоненты основной компьютерной системы (ЦП, операционная система и т.п.) находятся в автономном режиме. Принимаемые данные могут обрабатываться для обновления дополнительного дисплея или для выполнения других действий, таких как включение после состояния ожидания основной компьютерной системы.
Перечень фигур
Другие преимущества станут очевидными из последующего подробного описания, рассматриваемого совместно с чертежами, на которых:
фиг.1 - блок-схема, представляющая вычислительное устройство общего назначения в виде обычной персональной компьютерной системы, в которую может быть встроено настоящее изобретение;
фиг.2А-2Е - примерные иллюстрации, представляющие, в основном, места для размещения дополнительного дисплея на различных устройствах;
фиг.3 - блок-схема, представляющая, в основном, многоуровневую архитектуру, посредством которой программы приложений могут обмениваться данными с программно-аппаратными средствами произвольного дополнительного устройства дисплея, согласно аспекту настоящего изобретения;
фиг.4 - представление того, как в одной реализации программа приложения обращения к дополнительному устройству взаимодействует со службой дополнительного дисплея для обмена данными с дополнительным устройством дисплея согласно аспекту настоящего изобретения;
фиг.5 - блок-схема, представляющая, в основном, компоненты, которые обеспечивают навигацию в автономном режиме, согласно аспекту настоящего изобретения;
фиг.6 - представление одной примерной навигационной структуры в виде дерева для кэширования пользовательских данных для обеспечения навигации в автономном режиме согласно аспекту настоящего изобретения;
фиг.7 - представление того, как в одной реализации служба дополнительного дисплея может регулироваться для работы с различными типами устройств дисплея согласно аспекту настоящего изобретения;
фиг.8 - представление того, как данные пересылаются на дополнительное устройство, когда основная компьютерная система находится в состоянии неавтономного режима, согласно аспекту настоящего изобретения;
фиг.9 - представление того, как данные пересылаются на дополнительное устройство, когда основная компьютерная система находится в состоянии автономного режима, согласно аспекту настоящего изобретения;
фиг.10 - представление данных структурированного кэша в виде дерева, которые могут обновляться дополнительными данными, согласно аспекту настоящего изобретения; и
фиг.11А-11С - представления данных структурированного кэша в виде дерева, которые обновляются дополнительными данными, получаемыми тогда, когда основная компьютерная система находится в состоянии автономного режима, согласно аспекту настоящего изобретения.
Подробное описание
Примерная операционная среда
На фиг.1 изображена блок-схема, представляющая вычислительное устройство 120 в виде персональной компьютерной системы, в которую может быть встроено настоящее изобретение. Для специалиста в данной области техники понятно, что персональная компьютерная система 120, изображенная на фиг.1, как предполагается, является просто иллюстративной и что настоящее изобретение может быть осуществлено с другими конфигурациями компьютерных систем, включая карманные устройства, мультипроцессорные системы, микропроцессорную или программируемую бытовую электронику, сетевые персональные компьютеры (ПК), мини-компьютеры, мэйнфреймы, автономные серверы и т.п. Изобретение также может быть осуществлено в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки данных, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут располагаться как на локальных, так и на удаленных запоминающих устройствах.
Персональная компьютерная система 120 включает в себя блок 121 обработки данных, системную память 122 и системную шину 123, которая соединяет различные системные компоненты, включая системную память, с блоком 121 обработки данных. Системная шина 123 может быть любого из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, используя любые из множества шинных архитектур. Системная память включает в себя постоянное запоминающее устройство (ПЗУ) 124 и оперативное запоминающее устройство (ОЗУ) 125. Базовая система 126 ввода-вывода (ВIOS), содержащая базовые процедуры, которые содействуют переносу информации между элементами внутри персонального компьютера 120, например, во время запуска, хранится в ПЗУ 124. Персональный компьютер 120 дополнительно может включать в себя накопитель 127 на жестких дисках для считывания и записи на жесткий диск (не показан), магнитный дисковод 128 для считывания или записи на съемный магнитный диск 129 и оптический дисковод 130 для считывания или записи на съемный оптический диск 131, такой как компакт-диск или другой оптический носитель. Накопитель 127 на жестких дисках, магнитный дисковод 128 и оптический дисковод 130 соединены с системной шиной 123 посредством интерфейса 132 накопителя на жестких дисках, интерфейса 133 магнитного дисковода и интерфейса 134 оптического дисковода соответственно. Накопители и дисководы и связанные с ними машиночитаемые носители обеспечивают энергонезависимое хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для персонального компьютера 120. Хотя описанная в данной заявке примерная компьютерная система использует жесткий диск, съемный магнитный диск 129 и съемный оптический диск 131, для специалиста в данной области техники должно быть понятно, что другие типы машиночитаемых носителей, которые могут хранить данные, к которым может обращаться компьютер, такие как магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п., также могут использоваться в примерной компьютерной системе.
Ряд программных модулей может храниться на жестком диске, магнитном диске 129, оптическом диске 131, в ПЗУ 124 или ОЗУ 125, включая операционную систему 135 (такую как Windows® XP), одну или несколько программ 136 приложений (таких как Microsoft® Outlook), другие программные модули 137 и программные данные 138. Пользователь может вводить команды и информацию в персональный компьютер 120 при помощи устройств ввода, таких как клавиатура 140 и указательное устройство 142. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровой планшет, антенну спутниковой связи, сканер или т.п. Эти и другие устройства ввода часто подключаются к блоку 121 обработки данных через интерфейс 146 последовательного порта, который соединен с системной шиной, но могут подключаться при помощи других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 147 или устройство отображения другого типа также подключается к системной шине 123 через интерфейс, такой как видеоадаптер 148. Дополнительно к монитору 147 персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показаны), такие как громкоговорители и принтеры. Дополнительный дисплей 200 представляет собой добавочное устройство вывода и может, например, подключаться к системной шине 123 через интерфейс 155 дополнительного дисплея. Дополнительный дисплей 101 также может подключаться к вычислительному устройству 20 через последовательный интерфейс или при помощи других интерфейсов, таких как параллельный порт, игровой порт, инфракрасное или беспроводное соединение, универсальная последовательная шина (USB) или другое подключение периферийного устройства. Устройство 201 ввода на фиг.1 может обеспечивать один или несколько исполнительных механизмов для сопряжения с дополнительным дисплеем 200 и/или для управления им и, например, может подключаться к системной шине 123 через интерфейс 156 устройства ввода, которым может быть последовательный интерфейс, или посредством других интерфейсов, таких как параллельный порт, игровой порт, инфракрасное или беспроводное соединение, универсальная последовательная шина (USB) или другое подключение периферийного устройства.
Персональный компьютер 120 может работать в сетевой среде с использованием логических соединений с одним или несколькими удаленными компьютерами, такими как удаленный компьютер 149. Удаленным компьютером 149 может быть другой персональный компьютер, сервер, маршрутизатор, сетевой ПК, одноранговое устройство или другой общий узел сети и обычно включает в себя многие или все из элементов, описанных выше в отношении персонального компьютера 120, хотя только запоминающее устройство 150 было изображено на фиг.1. Логические соединения, описанные на фиг.1, включают в себя локальную сеть (ЛС, LAN) 151 и глобальную сеть (ГС, WAN) 152. Такие сетевые среды являются общепринятыми в офисах, компьютерных сетях масштаба предприятия, интрасетях и Интернет.
При использовании в сетевой среде ЛС персональный компьютер 120 подключается к локальной сети 151 через сетевой интерфейс или адаптер 153. При использовании в сетевой среде ГС персональный компьютер 120 обычно включает в себя модем 154 или другое средство для установления связи по глобальной сети 152, такой как Интернет. Модем 154, который может быть внутренним или внешним, подключается к системной шине 123 через интерфейс 146 последовательного порта. В сетевой среде программные модули, описанные в отношении персонального компьютера 120, или их части могут храниться на удаленном запоминающем устройстве. Понятно, что показанные сетевые соединения являются примерными и могут использоваться другие средства для установления линии связи между компьютерами.
Необходимо отметить, что нет необходимости, чтобы компьютерная система была полностью действующей для того, чтобы дополнительный дисплей работал согласно настоящему изобретению. В действительности, как описано ниже с ссылкой на фиг.6, дополнительный дисплей может все же работать, когда выключено питание компьютера, по меньшей мере до той степени, которая определяется по умолчанию, или до степени, конфигурируемой пользователем, как, например, когда компьютерная система находится в состоянии ожидания или режиме «спячки» и/или когда пользователь еще не зарегистрировался или иным образом блокировал систему при помощи механизмов безопасности. Например, пользователь может захотеть, чтобы телефонная гарнитура и устройство громкоговорящей связи, которые интегрированы в персональный компьютер, работали в качестве обычных аппаратов, когда выключается питание компьютерной системы, и использовать дополнительный дисплей в качестве устройства идентификации вызывающего абонента. Это устройство также может хранить данные для последующей передачи на компьютерную систему, когда снова включается питание компьютерной системы, например, для регистрации принятых вызовов, включая когда не полностью подавалось питание на компьютерную систему.
Дополнительный дисплей может дополнять основной дисплей и также может служить в качестве заменителя дисплея, когда основной дисплей выключен или не работает по иной причине (например, отсоединен), предоставляя пользователю некоторую информацию. Например, может быть полезной информация, как включить питание основного дисплея, номер комнаты и/или распоряжения насчет совещания на дополнительном устройстве дисплея, подключенном к мобильному компьютеру, которые пользователь может наблюдать, когда основной дисплей выключен и/или не является легко видимым (например, крышка компактного компьютера закрыта). Следует отметить, что даже на планшетном ПК с постоянно видимым экраном основной дисплей может отключаться для экономии питания, посредством чего дополнительный дисплей может предоставлять существенные преимущества. Следует отметить, что пользователь может ограничить степень работы дисплея, основываясь на состоянии компьютерной системы, например, когда пользователь не зарегистрирован, может отображаться только некоторая невосприимчивая или очень специфически управляемая информация, и т.п.
Чтобы осуществлять передачу данных и управлять ей в этих режимах с отключенным питанием, могут существовать программно-аппаратные средства, хранимые в энергонезависимой памяти, которые, когда загружаются и работают на вторичном процессоре, дают возможность использовать дополнительный дисплей вместе с другими дополнительными компонентами, до тех пор пока доступно некоторое питание. Следует отметить, что, как используется в данной заявке, термин «программно-аппаратные средства» может, в основном, рассматриваться как представляющий дополнительную память, код в ней и/или вторичный процессор, на котором он выполняется.
На фиг.2А-2Е изображены примерные места на вычислительных устройствах или связанные с ними для размещения экранов 200а-200е дополнительных дисплеев соответственно. Как представлено на фиг.2А и 2В, экран 200а дополнительного дисплея может быть размещен на передней, задней иди другой поверхности отдельного (наземной линии связи или мобильного) телефона 202 (который необязательно должен быть физически подсоединен, если он подключен иным образом, например при помощи технологии Bluetooth), и/или другой экран 200b дополнительного дисплея может быть размещен на кромке или крышке мобильного компьютера 204 или планшетного вычислительного устройства (не показано). Другим местом для экрана 200с дополнительного дисплея (фиг.2С) может быть место на телефоне, установленном на компьютере или периферийном устройстве, прикрепленном к компьютеру, например на мониторе 206 или на клавиатуре (не показана). На фиг.2D и 2Е изображены дополнительные размещения экранов 200d и 200е дополнительного дисплея на передней панели отдельной консоли 208, соединенной с компьютером, или на некотором другом корпусе 210 (таком как корпус для системной платы) соответственно. Для специалиста в данной области техники понятно, что экран дополнительного дисплея может быть размещен на любой поверхности любого вычислительного устройства или другого устройства, имеющего возможности отображения, например, размещен на часах с беспроводным или другим соединением с компьютером, на удаленном устройстве управления, на удаленном настенном блоке и т.д.
Как должно быть очевидно из фиг.2А-2Е, дополнительный дисплей может быть в виде любого из многочисленных известных типов дисплея, такого как один или несколько светоизлучающих диодов (СИД), 2-строчный буквенно-цифровой дисплей, монохромный дисплей или цветной дисплей. Для специалиста в данной области техники понятно, что в настоящем изобретении также может использоваться дисплей другого вычислительного устройства или устройства передачи данных в качестве дополнительного дисплея 200. Эти другие вычислительные устройства или устройства передачи данных включают в себя компьютеры общего назначения, сотовые телефоны и карманные устройства, такие как пейджер или персональное цифровое информационное устройство (PDA). Кроме того, в настоящем изобретении может использоваться виртуальный дополнительный дисплей, реализованный в области экранного отображения вычислительного устройства 120 (например, экранная заставка или компонент графического пользовательского интерфейса) в качестве дополнительного дисплея 200, включая до того, как пользователь зарегистрируется. Дополнительный дисплей 200 может включать в себя комбинацию любых форм, описанных выше, и также физически или логически объединяться с индикаторами, такими как один или несколько СИД (LED), и/или использоваться совместно с виртуальным дополнительным дисплеем.
Даже при отсутствии экрана один или несколько СИД могут выгодно использоваться в качестве дополнительного дисплея 200 для уведомления о наличии активности. Такой дополнительный дисплей может быть реализован с малыми затратами и малым потреблением мощности и может обеспечивать уведомление малозаметным образом. Он может эффективно использоваться для систем с очень плотным форм-фактором или для систем, где передача данных для пользователей управляется другим человеком. Помимо этого, дополнительный дисплей 200 может быть эффективным тогда, когда уведомления должны быть видны с расстояния. Дополнительный дисплей также может использоваться совместно с экранным виртуальным дополнительным дисплеем, когда существует информационное содержимое, связанное с активностью, как, например, уведомление о новом сообщении электронной почты. В данном случае содержимое из сообщения электронной почты также может отображаться на виртуальном дополнительном дисплее 200. Кроме того, дополнительный дисплей 200 может эффективно использоваться для общедоступных систем (библиотек или киосков) или совместно используемых компьютеров, когда отображение содержимого нежелательно.
Альтернативно, 2-строчный буквенно-цифровой дисплей может выгодно использоваться в качестве дополнительного дисплея 200, где стоимость или пространство являются критичными, но требуются уведомления и базовое содержимое. Он может эффективно использоваться для планшетных ПК, компактных компьютеров, бюджетных ПК, телефонных установочных станций, фальш-панелей мониторов и небольших или дешевых аппаратов или периферийных устройств для ПК, таких как гарнитура, клавиатура или дистанционное управление. Он также может эффективно использоваться в качестве замены (и улучшения) для блока идентификации вызывающего абонента.
Кроме того, монохромный или цветной многострочный дисплей может выгодно использоваться в качестве дополнительного дисплея 200 для мультимедийных приложений, высококлассных бытовых систем или систем медиацентров. Он может эффективно использоваться для высококлассных компактных компьютеров с более свободными форм-факторами или где акцент делается на передачу данных, полнофункциональных ПК с сильным акцентом на деловую активность и передачу информации, медиацентров или высококачественных медиаустройств (включая устройства с дистанционным управлением, консольные системы с функциональными возможностями портативных медиаустройств) и мобильных дополнительных дисплеев. Кроме того, дисплей или другое вычислительное устройство или устройство передачи данных может выгодно использоваться в качестве дополнительного дисплея 200, где пользователи могут расширять роль этих добавочных устройств при использовании своих ПК. Эти другие вычислительные устройства или устройства передачи данных включают в себя компьютеры общего назначения, сотовые телефоны и карманные устройства, такие как пейджер или персональное цифровое информационное устройство (PDA). Далее, следует отметить, что дополнительный дисплей необязательно должен быть фактическим дисплеем, но может представлять собой проекцию (например, на стену) информации. Дополнительный дисплей, упоминаемый в данной заявке, может состоять из, по существу, чего-то, что может восприниматься, включая любые визуальные, звуковые и/или тактильные представления.
Как упомянуто выше, виртуальный дополнительный дисплей может использоваться в качестве дополнительного дисплея 200 для общедоступных систем (библиотек или киосков) или совместно используемых компьютеров, когда отображение содержимого нежелательно. Он также может эффективно использоваться для дешевых систем или для устройств с очень малыми форм-факторами, которые делают непрактичными даже СИД. Виртуальный дополнительный дисплей может быть реализован в виде экранной заставки или в виде компонента графического пользовательского интерфейса.
Устройство 201 ввода, упоминаемое ниже в данной заявке как исполнительные механизмы (во множественном числе, даже в случае только одного механизма, такого как кнопка или указательное устройство), предоставляет пользователю механизм для переключения между различными категориями прикладных данных или уведомлений, таких как уведомления электронной почты, уведомления голосовой почты, уведомления календаря, уведомления о состоянии системы, списки идентификаторов вызывающих абонентов и другие типы сообщений с уведомлениями. Такой кнопочный выключатель также может сопровождаться кнопкой вверх и кнопкой вниз, предоставляющими пользователю возможность прокручивать вперед и назад сообщения с уведомлениями в конкретной категории. Для специалиста в данной области техники понятно, что могут использоваться любые другие типы исполнительных механизмов, такие как клавиатура, микрофон, джойстик, игровой планшет или другое устройство, включая устройство, которое содержит биометрический датчик, датчик состояния окружающей среды, датчик положения или датчик другого типа. Любое из устройств ввода вычислительного устройства 120, которое представлено на фиг.1, может использоваться в качестве устройства 201 ввода (исполнительных механизмов) и может использоваться вместе с независимыми исполнительными механизмами.
Кэширование работы дополнительного дисплея в автономном режиме
Как понятно, настоящее изобретение предусматривает дополнительный дисплей 200 для простого и быстрого просмотра пользователем дополнительной информации. Применяя настоящее изобретение, пользователь может выбирать, до некоторой степени, какая информация появляется на дополнительном дисплее, посредством использования исполнительных механизмов 201 для выбора из программных данных приложений, которые могут быть представлены на дополнительном устройстве. Хотя программные данные и уведомления о событиях будут использоваться для иллюстрации дополнительного дисплея информации, необходимо понять, что настоящее изобретение может обеспечивать дополнительный дисплей для других типов информации, таких как данные связанных с Интернет услуг, включая услуги транзакций, услуги аукциона, рекламные услуги, развлекательные услуги и услуги по определению местоположения. Такие услуги могут предоставлять большое разнообразие информации, включая информацию о финансовых операциях, новости в заголовках и другие новости, биржевые сводки, результаты спортивных соревнований, состояние аукциона или других торгов, сведения о погоде и другую информацию, включая информацию, специально запрашиваемую пользователем, а также незапрашиваемую информацию. Также понятно, что дополнительный дисплей 201 может работать с использованием любого количества известных типов дисплеев, таких как набор лампочек уведомления, 2-строчный буквенно-цифровой дисплей, монохромный дисплей или цветной дисплей. Следует отметить, что, как используется в данной заявке, для простоты «дополнительное устройство дисплея» ссылается, в основном, на экран дополнительного дисплея и/или исполнительные механизмы, связанные с этим экраном, а также на любые другие аппаратные, программно-аппаратные или программные средства в устройстве, однако необходимо понять, что экран и исполнительные механизмы могут быть независимыми механизмами и/или что может не быть исполнительных механизмов, требующих физического контакта для ввода данных. Далее, следует отметить, что дополнительное устройство дисплея может рассматриваться как возможно содержащее индикаторы (например, индивидуальные СИД) вместо или в дополнение к экрану дисплея пиксельного типа.
Согласно аспекту настоящего изобретения настоящее изобретение облегчает использование дополнительного дисплея в те моменты времени, когда основной ЦП/операционная система и программы приложений не работают, т.е. когда система находится в автономном режиме, но дополнительное устройство остается работающим. Следует отметить, что компоненты дополнительной системы в автономном режиме реализуются программно-аппаратными средствами, включая дополнительный процессор и дополнительную память, содержащую исполняемый код и данные. Для осуществления работы в автономном режиме, находясь в неавтономном режиме, основной ЦП/операционная система и программы приложений готовят кэш данных и другую информацию, которая затем переносится на дополнительное запоминающее устройство в программно-аппаратных средствах для использования в автономном режиме.
Переносом может быть полный перенос кэша при выключении питания (например, при отключении/во время ожидания/«спячки»), или перенос может выполняться частично посредством фонового процесса или т.п., так что во время выключения питания необходима только синхронизация (вместо полного переноса данных). Кроме того, компьютерное устройство, такое как настольный компьютер, может не переходить в состояние с выключенным питанием, чтобы сделать такой кэш доступным. Например, при помощи фонового процесса или вручную запускаемой операции может быть построен кэш. Если кэш является удаленно доступным, пользователь имеет удаленный доступ к кэшированной дополнительной информации и перенос может происходить на удаленное устройство без необходимости выключения питания компьютерного устройства. Таким образом, рассмотрим пользователя, который идет на совещание без компьютера, но имеет другое устройство, такое как SmartPhone, сконфигурированное для удаленного доступа к данным кэша основного компьютера. Благодаря кэшу, такой удаленный пользователь может удаленно просматривать и выполнять навигацию по кэшу при помощи удаленного устройства, которым, благодаря кэшу, является дополнительный дисплей системы.
Как, в основном, представлено на фиг.3, создана многоуровневая архитектура, посредством которой одна или несколько программ 302 приложений могут обеспечивать сопряжение фактически с любым типом дополнительного устройства дисплея для вывода данных на его дисплей 200 и/или взаимодействовать с пользователем при помощи исполнительных механизмов 201. С этой целью создана архитектура, имеющая независимые архитектурные уровни программного обеспечения, как, в основном, описано в вышеупомянутой родственной заявке на патент США, озаглавленной “Auxiliary Display System Architecture”. Следует отметить, что в данной родственной заявке на патент США уровни показаны, в основном, в том же порядке, что и на фиг.3, хотя группирование компонентов, которое в некоторой степени является произвольным, может слегка отличаться от фиг.3 настоящей заявки. В любом случае на фиг.3 служба может рассматриваться как независимый уровень 304 с прикладным уровнем 302 над уровнем 304 службы и с уровнем 306 протокола под уровнем 304 службы.
В реализации, представленной на фиг.3, присутствуют четыре уровня, каждый отделен интерфейсами. Более конкретно, в дополнение к прикладному уровню 302, уровню 304 службы и уровню 306 протокола предусмотрен уровень 308 программно-аппаратных средств, показанный на фиг.3. Как описано ниже, эти уровни обеспечивают непосредственный механизм, посредством которого программа приложения может предоставлять дополнительные данные для кэширования в структурированном виде, который обеспечивает пользователю легкий доступ к релевантной кэшированной информации без необходимости подачи питания на компьютер (и/или его открытия, чтобы посмотреть экран основного дисплея, в случае компактного компьютера или закрытого планшета).
На фиг.4 показаны более подробно некоторые уровни и различные интерфейсы. Вообще, прикладной уровень 302 обеспечивает управляемые и собственные интерфейсы в качестве интерфейсов прикладного программирования (ИПП, API), которые, как описано ниже, способствуют созданию структурированного кэша, например, в формате дерева или другой подходящей структуры. Одной целью прикладного уровня 302 является создание абстракции для подробностей структурированного кэша, так что программам приложений необходимо только предоставлять данные, а не выполнять подгонку к конкретной структуре.
Прикладной уровень 302 обеспечивает интерфейсы для разработчиков, чтобы конструировать решения, тогда как уровень службы рассматривает некоторые аспекты представления дополнительной информации, а именно арбитраж, прерывание и создание кэша. Поддержка арбитража (описанного, в основном, в вышеупомянутой родственной заявке на патент США, озаглавленной “Auxiliary Display System Architecture”) и прерывания обеспечивает инфраструктуру, которая позволяет выполнять совместное использование дополнительных ресурсов.
Согласно аспекту настоящего изобретения создание кэша представляет собой механизм, который структурирует прикладные данные для случая автономного режима. Как описано ниже с ссылкой на фиг.5, уровень службы строит кэш таким образом, который сохраняет контекст и информацию о структуре, так что программно-аппаратные средства могут выполнять навигацию данных, когда полностью изолированы от рабочего состояния в неавтономном режиме. Как дополнительно описано ниже, в одной реализации уровень службы также является ответственным за отсечение структуры данных в случае, когда размер ее содержимого превышает распределенную емкость запоминающего устройства программно-аппаратных средств дополнительного устройства.
Как представлено на фиг.4, прикладной уровень 302 и уровень 304 службы дополнительного дисплея предоставляют различные структуры и функциональные возможности, включая дополнительную регистрацию, посредством которых программа 402 приложения (или ассоциированный подключаемый программный модуль приложения) регистрирует себя посредством компонента 404 регистрации службы уровня 304 дополнительного дисплея. В примерной реализации по фиг.4 компонент 404 регистрации службы обеспечивает для этой цели интерфейс IAuxAppReg. Другие программы приложений аналогичным образом могут регистрировать себя при помощи этого интерфейса.
Если зарегистрировано, дополнительное приложение 402 имеет возможность принимать события от ассоциированного дополнительного устройства дисплея и/или относящихся ресурсов. Например, событие может посылаться на компонент 402 дополнительного приложения, после того как дополнительное устройство становится доступным, тогда как другое событие может соответствовать взаимодействию пользователя с исполнительными механизмами дополнительного устройства. В примерной реализации по фиг.4 программа приложения выполняет и выставляет интерфейс IAuxAppSink для приема таких событий.
Программа 402 приложения также имеет возможность перечислять доступное дополнительное аппаратное устройство или устройства, которые являются доступными. В примерной реализации по фиг.4 компонент-посредник 406 в службе 306 дополнительного устройства обеспечивает перечисление при помощи интерфейса IAuxMediator. Таким образом, устройство или некоторые данные, относящиеся к устройству (например, соответствующий файл расширяемого языка разметки (ХML)), могут сообщать возможности экрана дисплея устройства или т.п. и/или его исполнительных механизмов программе 402 приложения. Программа 402 приложения затем может корректировать вывод и ввод согласно дисплею, например, схема цветов, разрешение, команды навигации и т.д. могут модифицироваться в отношении характеристик устройства.
Арбитраж также обеспечивается в компоненте-посреднике 406 уровня службы при помощи интерфейса IAuxMediator для обеспечения механизма, который определяет, данные какой программы 402 приложения должны в настоящее время отображаться и какая программа 402 приложения должна принимать команды навигации. Следует отметить, что многочисленные программы приложений по очереди совместно используют дисплей по необходимости; другими словами, арбитражная функция посредника управляет приоритетом (z-порядком) дополнительных программ приложений и/или подключаемых программных модулей.
Уровень 306 протокола создает абстракцию, посредством которой уровень 304 службы посылает и принимает данные от дополнительного устройства. Уровень 306 протокола, таким образом, способствует поддержанию степени независимости аппаратных средств. Уровень службы может записывать в устройство или устанавливать состояние индикаторов при помощи интерфейса IAuxDevice для передачи данных на устройство.
Если программе разрешено записывать в дисплей и принимать команды при помощи его исполнительных механизмов, обращение к дополнительной системе представляет собой один механизм, который обеспечивает возможность блитировать/визуализировать в абстрагированный буфер памяти, который позволяет выбранному в настоящее время компоненту 402 дополнительного приложения (например, подключаемого программного модуля) использовать ресурсы дисплея. В реализациях, которые не допускают кэширование в автономном режиме, посредник может передавать указатель ссылки на интерфейс дополнительного устройства на дополнительное приложение, и после этого программа приложения вызывает интерфейс непосредственно для предоставления данных дисплея на дисплей и/или индикатор. Это было бы возможно также в модели, способной работать в автономном режиме, однако приложение тогда было бы ответственно за структурирование данных, что не представляет собой совершенно этот же уровень абстракции, в основном требуемый в данной заявке. Таким образом, в примерной реализации по фиг.4 программа приложения пропускает свои данные через уровень службы (интерфейс посредника), так что уровень службы может структурировать код для кэширования в автономном режиме. Следует отметить, что такая же структура, что и структура кэша может использоваться при работе в неавтономном режиме, хотя вместо посылки кэша в неавтономном режиме указатель на кэш может посылаться на уровни протокола/программно-аппаратных средств, так чтобы дополнительное устройство могло получать только те данные, которые необходимы для отображения в текущий момент, а не принимать полный набор кэшированных данных или регулярно синхронизировать кэшированную копию.
Как можно легко понять, различные уровни обеспечивают дополнительные функциональные возможности в архитектуре, которая является всеобъемлющей и расширяемой. Архитектура с подключаемыми программными модулями способствует написанию приложений, которые могут использовать дополнительные ресурсы без необходимости истолкования или рассматривания низкоуровневых требований.
Согласно аспекту настоящего изобретения релевантные прикладные данные и другая информация кэшируются для использования дополнительным устройством дисплея. Основная цель заключается в кэшировании информации в запоминающее устройство с быстрым доступом вместе с обеспечением непосредственной методологии для представления приложениями информации для кэширования. С этой целью в одной реализации данные структурируются в формате дерева (упоминаемом как дерево структурированного кэша) и предусмотрены простые примитивы для построения дерева структурированного кэша. В данной реализации коллекция деревьев (или поднаборов деревьев) структурированного кэша, перенос дерева программно-аппаратным средствам и взаимодействие программно-аппаратных средств с данными дерева, когда выключено питание основного компьютера, обеспечивают механизм, который способствует автономному использованию дополнительного дисплея.
На фиг.5 представлено разделение между компонентами и данными только неавтономного режима и компонентами (программно-аппаратными средствами) и данными автономного режима, которые могут работать с компонентами и данными неавтономного режима, когда основная система находится в неавтономном режиме, и также приводят в действие дополнительный дисплей, когда основная система находится в автономном режиме. Следует отметить, что в неавтономном режиме компоненты и данные автономного режима, показанные на фиг.5, необязательно присутствуют или являются активными. Например, в неавтономном режиме менеджер (средство управления) взаимодействий неавтономного режима (не показан) обрабатывает взаимодействие пользователя с исполнительными механизмами посредством посылки большей части ввода пользователя (например, команд навигации) выполняющимся программам приложений, посредством чего необязательно, чтобы менеджер 508 взаимодействий автономного режима был активным. Также кэш и другие пересылаемые данные, показанные на фиг.5, могут не пересылаться на дополнительное запоминающее устройство 510 до перехода из неавтономного режима в автономный режим, хотя для быстродействия, а не переноса всех данных, как упомянуто выше, некоторые данные могут случайно скопироваться на дополнительное запоминающее устройство и синхронизироваться в момент времени перехода из неавтономного в автономный режим.
Как представлено на фиг.5, прикладные данные 502 неавтономного режима собираются средством 504 кэширования, например, посредством опроса каждой программы приложения, которая использует дополнительный дисплей, в отношении ее данных (приложение, которое не выполняется, но для которого пользователь указал необходимость взаимодействия в автономном режиме с его данными, может быть запущено для получения данных). Следует отметить, что каждое приложение, которое использует дополнительное устройство дисплея в неавтономном режиме, может не конфигурироваться для использования его в автономном режиме или может использовать дополнительное устройство иным образом в автономном режиме, например установкой пределов автономного режима при конфигурировании приложения для просмотра данных в автономном режиме. Например, дополнительный дисплей может прокручивать любое количество сообщений в неавтономном режиме, но приложение может сделать доступными не более некоторого количества сообщений, заданного по умолчанию или конфигурируемого пользователем (например, двадцать) для прокручивания в автономном режиме.
Пользователь может конфигурировать систему для управления в отношении того, какие программы приложений могут предоставлять данные для кэша для просмотра в автономном режиме. Например, пользователь может захотеть кэшировать телефонные номера, сообщения электронной почты, задачи и данные календаря для просмотра в автономном режиме на дополнительном дисплее, но не данные других программ. Например, даже если приложение в неавтономном режиме может использовать дополнительный дисплей для отображения биржевых сводок, пользователь может не захотеть кэшировать биржевые сводки для дополнительного просмотра, так как кэширование таких данных будет бесполезно расходовать пространство запоминающего устройства для данных, которые быстро станут устаревшими.
Пользователь также может конфигурировать объем запоминающего устройства, который получает каждое приложение для своих данных, и может конфигурировать приложения по правилам для запоминающего устройства автономного режима. Альтернативно, алгоритм (описанный ниже) отсекает данные от дерева, если программы приложений предоставляют для кэширования слишком много данных, причем любой избыток из распределения одного приложения используется для данных других приложений, когда данные этого другого приложения используют большее пространство, чем оно имеет доступным. Перераспределение избыточных данных переходит к приложениям, основываясь на задаваемом пользователем упорядочении по приоритетам, например первому приложению, перечисленному на главной странице (порядок перечисления конфигурируется пользователем), затем, если не все требуется, следующему перечисленному приложению и т.д.
Как упомянуто ранее, операция сбора может происходить при выключении питания или может продолжаться до некоторой степени при синхронизации, выполняемой в момент перехода в автономный режим. Отсечение выполняется по необходимости при помощи средства 506 отсечения данных для разделения доступного хранилища между приложениями и подгонки данных по необходимости для каждого, чтобы соответствовать объему пространства, которое является доступным. В любом случае в примерной реализации по фиг.5 результатом является структурированный кэш 508 данных автономного режима, навигация по которым может выполняться при помощи древовидной структуры.
Приложения могут захотеть предоставить пользователям более, чем просто данные, по которым может выполняться навигация. Например, программе календаря может потребоваться предоставление данных, таких как напоминание о совещании, которое автоматически появляется при определенной дате и времени. Так как было бы неэффективным проходить дерево кэша автономного режима на регулярной основе для поиска таких событий, информация, например, для запуска, основанного на времени прерывания, может передаваться программно-аппаратным средствам в виде списка моментов времени и действий для выполнения (возможно, при помощи дерева, которое тогда должно быть пройдено один раз для нахождения его, но предпочтительно в виде отдельных данных). Как представлено на фиг.5, программно-аппаратные средства могут устанавливать такие основанные на времени прерывания 514 и также сохранять в таблице 516 идентификатор таймера - действие или подобное действие(я), подлежащее выполнению, когда происходит каждое идентифицированное прерывание таймера. Таким образом, например, конкретные напоминания могут отображаться в корректный момент, может загораться или вспыхивать один или несколько индикаторов и т.п.
После установки и передачи и выключения питания основного компьютера микроконтроллер 520 и дополнительное запоминающее устройство захватывают исключительное управление дополнительным дисплеем 200 и исполнительными механизмами 201. Программа 520 оболочки автономного режима может предоставить главную страницу, на основе которой выполняется навигация, вместе с логическими средствами для обработки основанных на таймере событий и т.п. Программа 520 оболочки автономного режима вместе с менеджером 508 взаимодействий автономного режима обрабатывает навигацию по кэшу автономного режима, а также, возможно, изменяет состояние дисплея в качестве реакции на исполнительные механизмы с неручным управлением, например, чтобы показать конкретное сообщение, когда разряжена аккумуляторная батарея.
На фиг.6 показана простая древовидная структура с узлами, представляющими три программы 601-603 приложений под (главным) узлом 604 оболочки. Хотя показаны три программы приложений, допустимо любое практическое количество (относительно доступного пространства для хранения данных. Как можно видеть, благодаря структуре (даже если сама структура не является обычно чем-то, что бы отображалось) ручная навигация по узлам является относительно интуитивной и непосредственной. Например, в древовидной структуре необходима навигация только вверх и вниз, посредством чего, например, был бы необходим только двухкнопочный контроллер (хотя одна или обе кнопки могут иметь другие функции, такие как закрытие экрана дисплея, приводимого в действие событиями таймера).
Вкратце, главная страница может просто предоставлять меню программ приложений (прокручиваемое, если это необходимо), хотя в зависимости от устройства исполнительных механизмов допустимо более сложное меню, отражающее иерархию, например, кнопки навигации по четырем направлениям могут использовать кнопки вверх и вниз для прокрутки и кнопки вправо и влево для расширения и сворачивания выделенной в данный момент позиции меню, чтобы показать данные, представляющие любые поддеревья. Когда пользователь выбирает страницу в меню главной страницы, например, посредством нажатия кнопки выбора исполнительного механизма на странице, узел оболочки, по существу, переходит на этот узел, где получается информация об этой странице, и визуализируется эта страница. Информационная страница может содержать любое от растрового изображения до языка разметки (например, языка разметки гипертекста (HTML) или расширяемого языка разметки приложений (HAML) согласно тому, что подходит для визуализации на данном устройстве, что зависит от кода, который установлен на устройстве. Следует отметить также, что код для интерпретации кэшированных данных может передаваться или иным образом загружаться в программно-аппаратные средства.
Как представлено на фиг.6, может быть множество подуровней в древовидной структуре. Например, узел 620 менеджера персональной информации, который показан, может иметь узлы контактов, назначенных встреч и задач (620-622 соответственно) под собой, причем каждый имеет свой собственный соответствующий экран дисплея и соответствующие подузлы С1-Сi, A1-Aj и T1-Tk. Узел программы приложения может иметь только один уровень под собой, что представлено узлами M1-Mn сообщений. В основном, каждый узел соответствует прокручиваемой странице, которая отображает свои данные и любые подузлы, к которым возможна навигация.
Следует отметить, что на фиг.6 приложение 603 медиаплеера показано для полноты, чтобы указать, что в некоторых реализациях может использоваться то же дерево навигации в неавтономном режиме или автономном режиме для определения следующего экрана для визуализации, даже если медиаприложение может не работать в состоянии автономного режима. В неавтономном режиме в такой реализации приложение медиаплеера только неавтономного режима будет иметь узел экрана дисплея на дереве, к которому пользователь может выполнить навигацию, например, для просмотра текущей дорожки и данных таймера на дополнительном дисплее. В автономном режиме узел (упоминаемый как конечный узел или узел без обработки), представляющий такой экран дисплея, может быть отсечен от дерева для экономии пространства хранения данных. Альтернативно, когда медиаплеер, такой как МР3-плеер, служит в качестве дополнительного дисплея, такой узел разрешает МР3-плееру использовать экран по необходимости, тем не менее выполняя это в навигационной инфраструктуре с другими прикладными данными.
На фиг.7, в основном, представлена зависимость между приложениями 302А и
302В (в данном примере имеющими соответствующие дополнительные подключаемые программные модули 402А и 402В) и менеджерами взаимодействий по любому одному из этих двух сценариев, а именно с возможностью работы только в неавтономном режиме или с возможностью работы в неавтономном/автономном режиме. При работе только в неавтономном режиме менеджер 5011 взаимодействий неавтономного режима (выполняющийся в операционной системе основного ЦП) принимает ввод пользователя и при помощи службы 306 дополнительного дисплея может передать соответствующие данные на выбранную в настоящее время программу приложения и/или контроллер 7301 дисплея для обработки. Следует отметить, что это, по существу, так же, как описано выше в отношении фиг.5. Далее, следует отметить, что даже если устройство может быть с возможностью работы в автономном режиме, эти компоненты неавтономного режима могут выполняться всякий раз, когда основная система находится в неавтономном режиме, так как вычислительная мощность и память обычно больше в состоянии неавтономного режима и так как приложения выполняются с фактическими данными вместо кэшированных данных.
В автономном режиме используется другой менеджер 5012 взаимодействий автономного режима. Как понятно, менеджер 5012 взаимодействий автономного режима выполняется дополнительным микроконтроллером и хранилищем автономного режима (например, флэш-память или с альтернативным питанием).
Обработка данных, принимаемых дополнительным вычислительным устройством
Согласно аспекту настоящего изобретения программно-аппаратные средства могут принимать и обрабатывать дополнительные данные независимо от состояния неавтономного или автономного режима основной компьютерной системы. С точки зрения дополнительного устройства основная компьютерная система представляет собой только один источник информации, которая может визуализироваться устройством, и, действительно, может даже быть не подключена к дополнительному устройству за исключением сохранения кэша на независимом носителе информации. Посредством использования других доступных источников данных, включая данные, принимаемые в то время, когда основная компьютерная система находится в автономном режиме, программно-аппаратные средства, выполняющиеся на дополнительном дисплее, могут выполнять действия независимо от того, доступна ли основная компьютерная система. Такие действия включают в себя обновление кэшированной информации приложения, дополнение кэша новыми данными или иным образом обеспечение механизма для предоставления информации пользователю, генерирование события, изменение уже зарегистрированного события, регистрацию новых событий для более поздней активизации, загрузку кода (включая код, который интерпретирует другие вновь принимаемые данные) и т.д. Это позволяет дополнительному дисплею иметь более новую информацию и, следовательно, отображать более ценную информацию пользователю.
Рассмотрим дополнительное устройство дисплея, которое имеет аппаратные средства, которые могут принимать беспроводные или проводные передачи данных от некоторых других источников данных, независимо от того, находится ли основная компьютерная система в неавтономном режиме или в автономном режиме. Примеры видов информации, которая может приниматься, включают в себя электронную почту, ведение календаря, задачи, погоду, новости, время работы от батарей и состояние сети. Любой вид информации, которая изменяется и доступна для аппаратных средств дополнительного устройства, является кандидатом на дополнительную обработку, независимо от того, находится ли основная компьютерная система в неавтономном режиме или в автономном режиме.
Фиг.8 и 9 помогают объяснить, как дополнительное устройство может принимать информацию, которую оно представляет, включая информацию, принимаемую вне основной компьютерной системы. Вкратце, как представлено на фиг.8, в неавтономном режиме компоненты 802 основной компьютерной системы (например, содержащие ЦП и память) представляют собой первичный источник информации, представляемой на дополнительном дисплее 800, обычно при помощи уровней службы и протокола, как описано выше, представленный на фиг.8 посредством блока 804. Следует отметить, что на фиг.8 заштрихованные стрелки указывают первичный поток данных на программно-аппаратные средства 810 дополнительного устройства дисплея, используя контроллер 806 аккумуляторной батареи в качестве конкретного примера того, как данные проходят через ЦП и память 802 основной компьютерной системы и достигают дополнительного дисплея 800, например, проходя по древовидной структуре или по требованию в ответ на запрос от программно-аппаратных средств 810 дополнительного устройства. Следует отметить, что, как описано ниже с ссылкой на фиг.9, так как этот путь данных проходит через ЦП и память 802 основной компьютерной системы и уровни 804 службы и протокола, этот путь данных недоступен, когда основная компьютерная система (т.е. эти компоненты 802) находится в автономном режиме. Тем не менее, как понятно, программно-аппаратные средства 810 дополнительного устройства все же могут представлять данные, когда основная компьютерная система 802 находится в состоянии автономного режима.
Другой источник новых данных может содержать существующие аппаратные средства, связанные с основной компьютерной системой 802, такие как аппаратные средства, соответствующие контроллеру 806 аккумуляторной батареи. Вообще, вероятно, что любая часть аппаратных средств, доступная для компонентов 802 основной компьютерной системы, может быть источником данных, как представлено на фиг.8 посредством блоков 818 и 820.
Источник новых данных может быть не подсоединенным к основной компьютерной системе и, вместо этого, может быть конкретно связан с аппаратными средствами/программно-аппаратными средствами 810 дополнительного дисплея и не использоваться основной компьютерной системой. Например, биржевые сводки, принимаемые беспроводной антенной/сетевым интерфейсом и представляемые программно-аппаратным средствам, не надо направлять на основную компьютерную систему, когда она в неавтономном режиме (и, конечно, не могут направляться, когда она находится в автономном режиме). Например, одним таким источником данных является антенна технологии интеллектуальных персональных объектов (SPOT), подсоединенная к микросхеме радиостанции технологии интеллектуальных персональных объектов (SPOT), которая может предоставлять информацию дополнительным программно-аппаратным средствам; если программно-аппаратные средства знают, как обрабатывать данные, некоторый контекст может быть извлечен из них, чтобы инициировать основанное на контексте действие.
Примеры других источников, которые могут использоваться для предоставления данных для обработки дополнительным устройством, включают в себя компоненты, которые могут получать данные по другим беспроводным средствам, например беспроводной ЛС и технологии Bluetooth, другой поднесущей частотной модуляции (ЧМ) или другому приемнику радиоданных, аппаратным средствам сотовых данных и/или аппаратным средствам буквенно-цифрового пейджинга. Такие другие источники данных представлены на фиг.8 посредством блока 814.
Еще другие примеры источников данных включают в себя компоненты, которые могут получать данные при помощи самой машины, такие как радиостанции беспроводной ЛС (например, для получения информации об уровне сигнала), контроллеры аккумуляторной батареи и/или приемопередатчики технологии Bluetooth. Более общие источники данных содержат, фактически, любой тип основанного на датчике ввода, такой как термометры, светочувствительные элементы, акселерометры, микрофоны, приемники системы глобального позиционирования (GPS) и т.д.
Следует отметить, что одна реализация дополнительных аппаратных средств предусматривает микроконтроллер 810 с доступом к системной управляющей шине (SMBus) 816 компьютерной системы, посредством чего любые присоединенные аппаратные средства могут многократно использоваться микроконтроллером и программно-аппаратными средствами 810 дополнительного дисплея. На фиг.9 показано, как аппаратные средства обеспечивают микроконтроллеру 810 доступ к SMBus 816 компьютерной системы, посредством чего вероятно, что любая часть аппаратных средств, доступная по SMBus 816, может быть источником данных. Следует отметить, что на фиг.9 компоненты 802 основной компьютерной системы находятся в автономном режиме, и, таким образом, поток данных проходит по SMBus 816, а не через блоки 802 и 804, как на фиг.8. Так как дополнительные программно-аппаратные средства могут обращаться к источнику данных непосредственно, компоненты 802 основного компьютера могут быть выключены и данные все же могут передаваться программно-аппаратным средствам, например, для кэширования.
В одной реализации, как описано выше, информация, хранимая в кэше автономного режима в памяти программно-аппаратных средств, сохраняется, по существу, как дерево, которое соответствует отображаемым данным, таким как растровое изображение, или документам (например, HTML или XAML), которые структурируются для визуализации. К данному кэшу осуществляют доступ для определения местонахождения содержимого для отображения, основываясь на навигационных командах или событиях.
Согласно аспекту настоящего изобретения создан механизм, посредством которого кэш (например, дерево) может модифицироваться дополнительными программно-аппаратными средствами, а не является постоянным кэшем. С этой целью если, как на фиг.8 и 9, аппаратные средства дополнительного устройства могут принимать данные от одного или нескольких новых источников и предоставлять их программно-аппаратным средствам 810 дополнительного дисплея, тогда программно-аппаратные средства могут обрабатывать новые данные для обновления кэша, таким образом изменяя то, что будет активироваться для отображения навигацией пользователя (или событием), а также выполнение других действий, основанных на контексте данных. Следует отметить, что новые данные могут удалять информацию в кэше, но если они увеличивают объем данных в кэше, необходимо достаточное хранилище, доступное для добавления таких новых данных, или некоторый механизм (например, отсечение в автономном режиме), чтобы сделать доступным дополнительное хранилище.
Далее, как описано выше, информация, которая изменяет кэш, может приниматься от других источников данных и добавляться к прикладным данным основной компьютерной системы. Следует отметить, что посредством использования древовидной структуры или ей подобной такие данные могут объединяться независимо от того, находится ли основная компьютерная система в автономном режиме (в этом случае кэш хранит любые прикладные данные) или в неавтономном режиме (в этом случае кэш может хранить любые прикладные данные или может содержать указатели ссылок на данные в основном хранилище приложения).
В качестве примера рассмотрим дерево 1000, представленное на фиг.10. В данном примере ветвь «Спортивные новости» содержит данные, которые получены (например, при помощи антенны SPOT, подсоединенной к программно-аппаратным средствам) без какого бы то ни было прохождения через основной процессор и память, даже когда основная компьютерная система находится в неавтономном режиме. Когда принимаются такие данные, они добавляются в виде узла 1020 к дереву 1000 (вместе с любыми дочерними узлами), и позиция 1050 «Спортивные новости» добавляется к списку главной страницы посредством программно-аппаратных средств. Таким образом, если эта позиция 1050 выбирается пользователем из главной страницы, могут отображаться данные, собранные компонентами дополнительного устройства, как если бы они поступили от выполняющейся программы приложения основной компьютерной системы.
На фиг.11А-11С показано, как строится дерево 1110 в другом иллюстративном примере. На фиг.11А показан кэш данных дополнительного дисплея в формате дерева перед приемом новой информации. На фиг.11В программно-аппаратные средства обмениваются данными (например, осуществляют вызов в ответ на событие или навигационную команду) с контроллером аккумуляторной батареи и получают данные, указывающие, что машина подключена и заряжена на 95%. Программно-аппаратные средства строят ветвь, основываясь на этой информации, и на фиг.11С записывают новое поддерево в корректную позицию на дереве кэша. Информация теперь может быть представлена пользователю, хотя необходимо отметить, что дерево может быть построено до любого запроса пользователя или запроса, инициированного событием, на просмотр новых данных.
Таким образом, любые принимаемые данные, такие как сообщение электронной почты или изменение в установках календаря, могут использоваться для модифицирования дерева (или другой структуры) в кэше. Это может изменять существующие данные или, как в вышеприведенном примере, добавлять новые данные к дереву, которое затем может регулярно обновляться, когда принимаются новые данные. Это делает информацию, доступную для пользователя при помощи дополнительного дисплея, более новой и, таким образом, более ценной и помогает пользователю экономить время и продолжительность работы от аккумуляторной батареи посредством того, что не требуется загрузка основного компьютера с целью получения новых данных, а также просмотр на основном дисплее или просто реконфигурация дерева и посылка нового дерева на дополнительный дисплей.
Необходимо отметить, что принимаемые данные могут обрабатываться для выполнения действий, отличающихся от обновления относящихся к навигации данных кэша автономного режима. Например, SMBus или другая интеграция могут активизировать другие аппаратные компоненты ПК (и соответствующее программное обеспечение, такое как операционная система) совместно с приемом внешних данных. Например, аппаратное уведомление в отношении того, что интенсивность сигнала беспроводной связи по некоторому идентификатору комплекта услуг (SSID) является большой, может быть обработано и распознано для включения машины после состояния ожидания (например, переход из состояния ожидания S3 в S0 усовершенствованного интерфейса управления конфигурированием и энергопотреблением (ACPI)), чтобы запросить у машины обновление данных устройства из беспроводной сети. Следует отметить, что в отличие от других механизмов включения после состояния ожидания дополнительный процессор обрабатывает данные с целью определения некоторого действия, основанного на контексте данных, вместо простого автоматического включения машины после состояния ожидания в любое время, когда обнаруживаются новые данные.
В качестве другого примера «сигнал уничтожения» SPOT может быть обработан при помощи программно-аппаратных средств для запроса в отношении того, чтобы операционная система ограничила доступ к основной компьютерной системе при предполагаемой угрозе хищения данных.
Следует отметить, что, когда принимаются данные, в то время как основная компьютерная система находится в автономном режиме, допустимо, чтобы дополнительное устройство предоставляло доступ к новым данным, например, для того, чтобы основная компьютерная система имела возможность обновления своих данных, когда она возвращается в неавтономный режим, при помощи механизма синхронизации неавтономного режима. Например, так как новые данные обрабатываются, а не просто принимаются, допустимо выполнять такие вещи, как сообщать тип данных (например, данные электронной почты) основной компьютерной системе, когда она возвращается в неавтономный режим, так что может активизироваться соответствующий механизм синхронизации.
Далее, снова, так как данные обрабатываются, когда основная компьютерная система находится в состоянии ожидания, можно включать после состояния ожидания определенные аппаратные средства, а не другие. Например, дополнительный процессор может запускать накопитель на жестких дисках и записывать новые данные (или некоторую информацию, основанную на новых данных) на накопитель на жестких дисках для считывания посредством основной операционной системы, когда она будет повторно запущена.
Как можно видеть из вышеописанного, настоящее изобретение обеспечивает механизм, который обновляет данные, которые могут отображаться на дополнительном дисплее, включая те моменты времени, когда новые данные становятся доступными, и основная компьютерная система находится в состоянии выключенного питания (автономный режим). Настоящее изобретение, таким образом, обеспечивает многочисленные достоинства и преимущества, необходимые в современных вычислениях.
Хотя изобретение допускает различные модификации и альтернативные конструкции, его определенные иллюстрируемые варианты выполнения показаны на чертежах и были подробно описаны выше. Необходимо понять, однако, что нет намерения ограничивать изобретение конкретной описанной формой или формами, но, наоборот, изобретение должно охватывать все модификации, альтернативные конструкции и эквиваленты, подпадающие под сущность и объем изобретения.
Изобретение относится к компьютерным системам, в частности к улучшенному способу и системе для отображения информации для вычислительного устройства. Техническим результатом является обеспечение механизма для приема новых данных дополнительным устройством, связанным с основной компьютерной системой, и обработки этих новых данных программно-аппаратными средствами дополнительного устройства с целью выполнения некоторого действия. Прием и обработка данных являются независимыми от того, находится ли основная компьютерная система в состоянии с включенным питанием (неавтономный режим) или в состоянии с выключенным питанием (автономный режим). Кэш, который сохраняет прикладные данные пользователя для навигации в автономном режиме, может обновляться новыми данными или для изменения существующих данных в кэше, или для добавления нового пути навигации. Принимаемые данные могут обрабатываться для выполнения некоторых действий в зависимости от контекста этих данных, что определяется дополнительной обработкой. 4 н. и 23 з.п. ф-лы, 17 ил.