Способ и система для обмена данными между компьютерными системами и вспомогательными дисплеями
Иллюстрации
Показать всеИзобретение относится к системе и способу для передачи информации между компьютерной системой и вспомогательным устройством. Технический результат - обеспечение связи между компьютерной системой и вспомогательном устройством, чтобы обеспечить отображение контента и уведомлений на дисплее вспомогательного устройства и возможность дистанционного управления. Посредством API-вызовов программы предоставляют информацию в одном и том же формате, независимо от возможностей устройства и/или типа соединения. Платформа вспомогательного дисплея конвертирует информацию в формат, понимаемый драйвером устройства, который затем фильтрует информацию желательным образом для своего конкретного аппаратного устройства перед тем, как информация будет передана. При обратной связи возвращаются данные о состоянии и пользовательском взаимодействии с отображаемой информацией. Поставщики программного обеспечения, таким образом, могут писать код единожды, чтобы выводить информацию на вспомогательные дисплеи, в то время как производители аппаратных средств могут предписать своим устройствам работать в качестве вспомогательных дисплеев с небольшими изменениями или без изменений по отношению к существующим аппаратным средствам. 4 н. и 36 з.п. ф-лы, 10 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение в целом относится к компьютерным системам, а более точно к усовершенствованным системе и способу для передачи информации между компьютерной системой и вспомогательным устройством.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Заявки на выдачу патента Соединенных Штатов под порядковыми номерами 10/429930 и 10/429932 в целом ориентированы на концепцию компьютерных систем, содержащих вспомогательную обработку и вспомогательные механизмы, которые обеспечивают некоторые вспомогательные вычислительные функциональные возможности. Например, небольшой жидкокристаллический дисплей (LCD) на крышке или боковой поверхности переносного компьютера может обеспечивать его владельца полезной информацией, такой как время и место встречи, даже когда дисплей главного компьютера не является беспрепятственно видимым, например, когда крышка переносного компьютера закрыта и/или питание главного компьютера отключено. Могут быть предусмотрены средства управления, такие как кнопки, чтобы предоставить пользователю возможность взаимодействовать со вспомогательным устройством, чтобы просматривать различные типы данных, к примеру, чтобы осуществлять прокрутку для просмотра по всем условленным встречам из числа календарных данных, прочитывать сообщения электронной почты, читать распоряжения и так далее.
Отчасти подобные вспомогательному LCD-экрану, встроенному в мобильный компьютер, мобильный телефон, устройство проигрывания музыки, малогабаритный персональный компьютер, персональный цифровой секретарь и так далее, могут служить в качестве вспомогательного устройства по отношению к главному компьютеру, когда подключены к нему физически и/или посредством беспроводной (например, Bluetooth или инфракрасной) линии связи, до тех пор, пока устройство запрограммировано, чтобы предоставлять своему дисплею и/или другим функциональным аспектам возможность быть использованным в качестве средства достижения цели главным компьютером. Вообще, любое устройство с возможностями ввода/вывода (I/O), которое может взаимодействовать, фактически любым образом, с компьютерной системой, потенциально может служить в качестве вспомогательного вычислительного устройства.
Однако есть многие разновидности устройств, которые могут служить в качестве вспомогательного дисплея для компьютерной системы. Например, некоторые устройства могут подключаться к компьютерной системе через кабельное подключение, такое как универсальная последовательная шина (USB), тогда как другие устройства подключаются посредством беспроводных протоколов, таких как 802.11, 802.16, или Bluetooth. Некоторые устройства, такие как «интеллектуальные» мобильные телефоны и малогабаритные вычислительные устройства, предоставляют довольно хорошую графику, имеющуюся в распоряжении память и уже могут быть выполнены с возможностью подключения некоторым образом к главной компьютерной системе. Другие устройства являются более ограниченными, однако и они, например, могут тем не менее обеспечивать одиночную строку текста, световую сигнализацию и/или звук. В то же время, есть много типов программно реализованных программ, которые работают в главной компьютерной системе и должны приносить пользу, будучи способными выводить информацию на вспомогательный дисплей.
Производителям устройств аппаратных средств, которые могут быть использованы в качестве вспомогательных дисплеев, требуется способ для сопряжения с главной компьютерной системой образом, который требует незначительных, если вообще каких бы то ни было, изменений современных аппаратных устройств. В то же время, такое решение могло бы предоставить возможность прикладным программам быть написанными для использования вспомогательных дисплеев независимо от типа фактически используемого вспомогательного устройства дисплея.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Кратко, настоящее изобретение предусматривает систему и способ, посредством которых прикладные программы, работающие в главной компьютерной системе, поддерживают связь со вспомогательным устройством отображения (дисплеем) (таким как сотовый телефон, малогабаритный персональный компьютер, часы, телевизор, конструкция цифрового изображения и так далее), чтобы предоставлять на устройстве видимую информацию, возможности удаленного управления и уведомления. С этой целью, прикладные программы и им подобное, к примеру, написанные независимыми поставщиками программного обеспечения, осуществляют связь с платформой вспомогательного дисплея через набор интерфейсов прикладного программирования (API), который, в свою очередь, конвертирует информацию по мере необходимости в формат, понимаемый драйвером устройства вспомогательного вычислительного устройства. Драйвер устройства фильтрует информацию желательным образом и форматирует ее для своего конкретного аппаратного устройства, которое может быть присоединено к системе через любое проводное или беспроводное соединение. Драйвер устройства пересылает данные соответствующему аппаратному интерфейсу для передачи вспомогательному устройству. Также предусмотрен обратный канал связи из вспомогательного устройства в главную компьютерную систему.
Посредством абстрагирования от типа вспомогательного устройства и/или от того, каким образом оно подключено, требуются только предопределенный протокол и формат данных, чтобы программа могла осуществлять связь с большим многообразием устройств, которые, вероятно, обладают разными возможностями. Чтобы использовать вспомогательный дисплей, независимый поставщик программного обеспечения просто осуществляет вызов API для платформы вспомогательного дисплея, предоставляя параметр (или параметры), соответствующий данным в согласованном для API формате. После этого данные конвертируются в формат, понятный драйверу устройства, который взаимодействует с платформой вспомогательного дисплея, посредством чего драйвер устройства может корректировать информацию по мере необходимости перед ее пересылкой аппаратным интерфейсам для связи со своим соответствующим вспомогательным устройством.
В одном из альтернативных вариантов поставщик аппаратных средств может избрать реализацию Microsoft®-ориентированного микропрограммного обеспечения, (например, содержащего основанный на TinyCLR (общеязыковой среде исполнения TinyCLR) стек микропрограммного обеспечения) и тем самым гарантировать, что пользователь будет получать впечатление завершенного вспомогательного устройства. Например, при конфигурировании основанным на TinyCLR стеком микропрограммного обеспечения требуется незначительная, если вообще какая бы то ни была, фильтрация, так как известно, что любые программные данные, предоставленные через API, могут обрабатываться вспомогательным устройством. Данные передаются посредством согласованного формата/протокола, и, таким образом, драйверу устройства и/или уровню API требуется всего лишь преобразовать предоставленные прикладной программой данные в соответствующий формат и переслать их, согласно протоколу, на аппаратный уровень транспортировки данных. Поскольку известно, что тип вспомогательного устройства имеет соответствующий стек микропрограммного обеспечения, то формат может быть частным.
В другом альтернативном варианте возможно сокращенное (но все еще полезное) восприятие доступно для тех устройств, которые имеют более простые потребности и возможности относительно обработки программных данных, предоставляемых через тот же самый API. С этой целью драйверы устройств, которые работают в главной компьютерной системе, реализуют определенные аппаратные интерфейсы, чтобы прозрачным образом расширять платформу вспомогательного дисплея до любого типа вспомогательного устройства. Компоненты поверх драйвера устройства могут фильтровать и/или конвертировать поставляемые независимым поставщиком программного обеспечения (ISV) данные, так что данные предоставляются драйверу устройства в предопределенном формате, который драйвер устройства понимает. Драйвер устройства также может фильтровать данные, как назначено, для своего соответствующего вспомогательного устройства, например удалять графику из данных для своего соответствующего вспомогательного устройства, когда такое устройство допускает отображение только текста. Аппаратные устройства, допускающие запуск кода, могут оказаться перед альтернативой разрешить работать на устройстве некоторым или практически всем функциональным возможностям драйвера устройства взамен тех, которые в драйвере устройства на главном компьютере.
Заметим, что значительная часть из интерфейсов/проводных протоколов, используемых драйверами устройств, чтобы предоставлять данные аппаратному интерфейсу передачи, могут быть определены одними и теми же, независимо от используемого механизма подключения. Как результат, драйверы устройств могут совместно использовать некоторый объем кода, даже несмотря на то, что реальный механизм соединения может быть разным. При использовании этого механизма производится впечатление, что устройства работают единообразно, независимо от того, каким образом они присоединены.
В дополнение к работе со вспомогательными устройствами отображения, такими как мобильные телефоны и второстепенные компьютеры, настоящее изобретение может быть использовано для расширения возможности главной компьютерной системы осуществлять связь с ранее специализированными устройствами, такими как телевизоры, радиоприемники, другие устройства воспроизведения мультимедийных данных, основанные на цифровых изображениях конструкции, часы, в том числе наручные часы и будильники, и так далее. С некоторыми программными и небольшими, или отсутствующими, аппаратными дополнениями, такие существующие устройства легко могут расширять свою полезность посредством предоставления им возможности объединяться с главной компьютерной системой. Платформа является наращиваемой в плане аппаратных средств и программного обеспечения, чтобы делать возможными такие сценарии. В то же время задача осуществления связи со вспомогательным устройством, исходя из ракурса независимых поставщиков программного обеспечения, весьма упрощается, так как коду прикладной программы требуется быть написанным всего лишь однажды, чтобы позволить ему работать на большом многообразии устройств, без дополнительных трудозатрат, требуемых, чтобы адаптировать программу для разных вспомогательных устройств.
Другие преимущества станут очевидными из последующего подробного описания при рассмотрении в сочетании с чертежами.
ПЕРЕЧЕНЬ ФИГУР ЧЕРТЕЖЕЙ
Фиг.1 - структурная схема, представляющая вычислительное устройство общего назначения в виде традиционной персональной компьютерной системы, в которую может быть включено настоящее изобретение;
фиг.2А-2Е - примерные иллюстрации, в целом представляющие местоположения для размещения вспомогательного дисплея на различных устройствах;
фиг.3 - структурная схема, в целом представляющая примерную уровневую архитектуру, посредством которой прикладные программы могут обмениваться данными с микропрограммным обеспечением произвольного вспомогательного устройства отображения в соответствии с аспектом настоящего изобретения;
фиг.4 - примерное представление того, как в одной из реализаций информированная о вспомогательных устройствах прикладная программа взаимодействует с платформой вспомогательного дисплея, чтобы обмениваться данными с многочисленными вспомогательными устройствами отображения, в соответствии с аспектом настоящего изобретения; и
фиг.5 - примерное представление того, как в одной из реализаций информированная о вспомогательных устройствах прикладная программа взаимодействует с платформой вспомогательного дисплея, чтобы обмениваться данными с базовым вспомогательным устройством отображения, в соответствии с аспектом настоящего изобретения; и
фиг.6 - примерное представление того, как в одной из реализаций информированная о вспомогательных устройствах прикладная программа взаимодействует с платформой вспомогательного дисплея, чтобы обмениваться данными с усовершенствованным вспомогательным устройством отображения, в соответствии с аспектом настоящегоизобретения.
ПОДРОБНОЕ ОПИСАНИЕ
ПРИМЕРНАЯ РАБОЧАЯ СРЕДА
Фиг.1 - структурная схема, изображающая вычислительное устройство 120 в виде персональной компьютерной системы, в которую может быть включено настоящее изобретение. Специалист в данной области техники будет принимать во внимание, что персональная компьютерная система 120, изображенная на фиг.1, имеет намерением быть только иллюстративной и что настоящее изобретение может быть осуществлено на практике с другими конфигурациями компьютерных систем, в том числе «карманными» устройствами, многопроцессорными системами, основанной на микропроцессорах или программируемой бытовой электронной аппаратурой, сетевыми персональными компьютерами, миникомпьютерами, большими электронными вычислительными машинами, автономными серверами и тому подобным. Изобретение, к тому же, может быть осуществлено на практике в распределенной вычислительной среде, где задачи выполняются удаленными устройствами обработки данных, которые связаны через сеть передачи данных. В распределенной вычислительной среде программные модули могут быть размещены как в локальных, так и в удаленных запоминающих устройствах.
Персональная компьютерная система 120 включает в себя модуль 121 обработки данных, системную память 122 и системную шину 123, которая присоединяет различные системные компоненты, в том числе системную память, к модулю 121 обработки данных. Системная шина 123 может относится к любому из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, используя любую из многообразия шинных архитектур. Системная память включает в себя постоянное запоминающее устройство 124 (ПЗУ) и оперативное запоминающее устройство 125 (ОЗУ). Базовая система 126 ввода-вывода (BIOS), содержащая в себе базовые процедуры, которые помогают передавать информацию между элементами в пределах персонального компьютера 120, к примеру, в ходе загрузки, сохранена в ПЗУ 124. Персональный компьютер 120 дополнительно может включать в себя накопитель 127 на жестких дисках для считывания с или записи на жесткий диск, не показан, магнитный дисковод 128 для считывания с или записи на съемный магнитный диск 129 и оптический дисковод 130 для считывания с или записи на съемный оптический диск 131, такой как CD-ROM (ПЗУ на компакт-диске) или другие оптические носители. Накопитель 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 также может подключаться к вычислительному устройству 120 через последовательный интерфейс или посредством других интерфейсов, таких как параллельный порт, игровой порт, инфракрасное или беспроводное соединение, универсальную последовательную шину (USB) или другое соединение периферийных устройств. Устройство 201 ввода на фиг.1 может предусматривать один или более исполнительных механизмов для взаимодействия с и/или управления вспомогательным дисплеем 200 и, например, может быть частью вспомогательного устройства отображения, но в качестве альтернативы может быть независимым от него и быть подключенным к системной шине 123 через интерфейс 156 устройства ввода, который может быть последовательным интерфейсом, посредством других интерфейсов, таких как параллельный порт, игровой порт, инфракрасное или беспроводное соединение, универсальная последовательная шина (USB) или другое соединение периферийного устройства.
Персональный компьютер 120 может работать в сетевой среде с использованием логических соединений с одним или более удаленными компьютерами, такими как удаленный компьютер 149. Удаленный компьютер 149 может быть еще одним персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим совмещенным узлом сети, и в типичном случае включает в себя многие или все из элементов, описанных выше относительно персонального компьютера 120, хотя только запоминающее устройство 150 проиллюстрировано на фиг.1. Логические соединения, изображенные на фиг.1, включают в себя локальную сеть (LAN) 151 и глобальную сеть (WAN) 152. Такие сетевые среды являются обычными в офисах, корпоративных сетях, сетях Интранет (локальных сетях, основанных на технологиях Интернет) и Интернете.
При использовании в сетевой среде LAN персональный компьютер 120 подключен к локальной сети 151 через сетевой интерфейс или адаптер 153. Когда используется в сетевой среде WAN, персональный компьютер 120 в типичном случае включает в себя модем 154 или другое средство для установления связи через глобальную сеть 152, такую как Интернет. Модем 154, который может быть внутренним или внешним, подключен к системной шине 123 посредством интерфейса 146 последовательного порта. В сетевом окружении программные модули, показанные относительно персональной вычислительной машины 120, или их части могут быть сохранены в удаленном запоминающем устройстве. Будет принято во внимание, что показанные сетевые соединения являются примерными, и может быть использовано другое средство установления линии связи между компьютерами.
Должно быть отмечено, что от компьютерной системы не требуется быть полностью действующей для того, чтобы вспомогательное устройство работало в соответствии с настоящим изобретением. В самом деле, вспомогательное устройство может по-прежнему работать, когда питание компьютера выключено, по меньшей мере, до степени, установленной по умолчанию, или до степени, сконфигурированной пользователем, к примеру, когда компьютерная система находится в состоянии режима ожидания или режиме пониженного энергопотребления и/или когда пользователь еще не осуществил логический вход или, в ином случае, не допущен в систему с помощью механизмов безопасности.
Вспомогательное устройство может дополнять главный дисплей и также может служить в качестве псевдодисплея, чтобы предоставлять пользователю некоторую информацию, когда главный дисплей выключен или находится в нерабочем состоянии по иным причинам (например, отсоединен). Например, могла бы быть полезной информация, такая как каким образом следует подавать питание на главный дисплей, какими должны быть номер комнаты и/или распоряжения для встречи, на вспомогательном устройстве отображения, связанном с мобильным компьютером, которое пользователь может просматривать, когда главный дисплей выключен и/или не является беспрепятственно видимым (например, крышка переносного компьютера закрыта). Вспомогательное устройство может проигрывать звук и/или видео, показывать изображения, показывать календарную информацию, показывать электронные письма и так далее.
Чтобы активировать связь и управлять связью в этих режимах пониженного питания, может существовать микропрограммное обеспечение, сохраненное в энергонезависимой памяти, которое, когда загружено и исполняется второстепенным процессором, активирует вспомогательный дисплей наряду с другими вспомогательными компонентами, которые должны быть использованы до тех пор, пока какая-либо энергия имеется в распоряжении. Заметим, что в качестве используемых в материалах настоящей заявки термины «микропрограммное обеспечение» и «аппаратные средства устройства», по существу, являются эквивалентными и, в целом, могут быть рассмотрены в качестве представляющих вспомогательную память, код в ней и/или второстепенный процессор, на котором он исполняется.
Фиг.2А-2Е иллюстрируют примерные местоположения на вычислительных устройствах, или ассоциируемые с вычислительными устройствами, для размещения экранов 200а-200е вспомогательного дисплея соответственно. Как представлено на фиг.2A и 2B, экран 200a вспомогательного дисплея может быть размещен на передней, задней или на другой поверхности автономного (с наземной линией связи или мобильного) телефона 202, (которому не нужно быть физически подсоединенным, если соединен иным образом, к примеру, посредством технологии Bluetooth), и/или другого экрана 200b вспомогательного дисплея, размещенного на кромке или крышке мобильного компьютера 204 или планшетного вычислительного устройства (не показано). Другое место для экрана 200с вспомогательного дисплея (фиг.2С) может быть на телефоне, смонтированном на компьютере или периферийном устройстве, прикрепленном к компьютеру, например на мониторе 206 или на клавиатуре (не показано). Фиг.2D и 2E иллюстрируют дополнительные размещения экранов 200d и 200e вспомогательного дисплея на передней панели автономной консоли 208, подключенной к компьютеру, или какого-то другого корпуса 210 (такого как корпус для материнской платы) соответственно. Специалисты в данной области техники будут принимать во внимание, что экран вспомогательного дисплея может быть размещен на любой поверхности любого вычислительного устройства или другого устройства, имеющего возможности отображения, например размещен на наручных часах с беспроводным или другим соединением с компьютером, на устройстве дистанционного управления, на удаленном смонтированном на стене блоке и так далее. Действительно, вспомогательному дисплею не нужно быть физически близким к главной компьютерной системе, так как подключение может быть через LAN, или WAN, или даже по Интернету.
Как должно быть очевидно по фиг.2А-2Е, вспомогательный дисплей может быть выполнен в виде любого количества известных типов дисплеев, таких как один или более светоизлучающих диодов (LED), 2-строчный буквенно-цифровой дисплей, монохромный дисплей или цветной дисплей. Специалисты в данной области техники будут принимать во внимание, что настоящее изобретение также может использовать дисплей других вычислительных или коммуникационных устройств в качестве вспомогательного дисплея 200. Эти другие вычислительные или коммуникационных устройства включают в себя компьютеры общего назначения, сотовые телефоны и карманные устройства, такие как пейджер или персональный цифровой секретарь (PDA). Дополнительно, настоящее изобретение может использовать виртуальный вспомогательный дисплей, реализованный в пределах области на экранном изображении вычислительного устройства 120 (например, экранной заставки или компонента графического интерфейса пользователя) в качестве вспомогательного дисплея 200, в том числе до того, как пользователь осуществил логический вход в систему. Вспомогательный дисплей 200 может включать в себя сочетание любых разновидностей, описанных выше, а также быть физически или логически объединенным с индикаторами, такими как один или более LED-диодов, и/или использованным в соединении с виртуальным вспомогательным дисплеем.
Вспомогательное устройство может предоставлять функциональные возможности даже без экрана или когда питание его экрана выключено. Например, вспомогательное устройство может проигрывать звук, собирать данные (например, для более поздней загрузки в главную компьютерную систему), выполнять расчеты и так далее. К тому же дисплей может содержать один или более LED-диодов или тому подобное, а не полный экран. Таким образом, несмотря на то, что возникают многие полезные результаты и преимущества от обладания экраном вспомогательного дисплея и соответственно вспомогательное устройство может быть указано в материалах настоящей заявки как вспомогательный дисплей, дисплей не является необходимым. Вообще, вспомогательный дисплей, который упоминается в материалах настоящей заявки, может быть составлен, по существу, из чего угодно, что может быть воспринято, включая любые воспринимаемые зрением, слышимые и/или тактильные представления.
ОБМЕН ДАННЫМИ СО ВСПОМОГАТЕЛЬНЫМИ ДИСПЛЕЯМИ
Настоящее изобретение в целом направлено на связь со вспомогательными устройствами, к примеру, чтобы обеспечивать уведомления и иной контент (информационно значимое содержимое) для отображения на дисплее вспомогательного устройства и, возможно, чтобы получать обратную информацию от дисплея, например, основанную на взаимодействии пользователя со вспомогательным устройством. Как будет понятно, есть много типов устройств, которые могут служить в качестве вспомогательного устройства отображения, включая те, которые не обязательно имеют дисплеи, но могут обеспечивать какой-нибудь выходной сигнал, например звуковой или световой. Несмотря на то, что в материалах настоящей заявки используется некоторое количество примеров, включающих в себя дисплеи на крышках переносных компьютеров, мобильные телефоны, малогабаритные персональные компьютеры, основанные на цифровых изображениях изобразительные конструкции, кухонные дисплеи, телевизоры, устройства воспроизведения мультимедийных данных, часы, в том числе будильники, наручные часы и так далее, настоящее изобретение не ограничено какими-либо из этих примеров, а, скорее, допускает использование любого устройства, допускающего вывод воспринимаемой информации, даже при упоминании в качестве вспомогательного дисплея. Например, другие виды устройств включают в себя вспомогательные устройства, встроенные в или использующие главный дисплей устройства бытовой электронной аппаратуры (такой как холодильник, ресивер домашнего кинотеатра, DVD-проигрыватель и т.п.), настенных дисплеев, автомобильных, транспортных или других предназначенных для транспортных средств устройств (например, использующих дисплеи, уже находящиеся в автомобиле/поезде/самолете, в качестве вспомогательного дисплея), клавиатур или других устройств ввода главной компьютерной системы, PDA-секретарей (в том числе PDA, не относящихся к сотовым телефонам) и тому подобного.
Подобным образом, настоящее изобретение не ограничено никаким конкретным механизмом для сопряжения вспомогательного дисплея с другой компьютерной системой и, таким образом, не ограничено проводными или беспроводными примерами, использованными в материалах настоящей заявки. Соединение может быть относительно близким или относительно удаленным, по существу, где угодно, к примеру, через LAN, или WAN, или через виртуальное частное соединение через Интернет.
Обращаясь к фиг.3 чертежей, показана примерная архитектура, которая предоставляет вспомогательные устройства 300 и/или 301 для воздействия клиентам, содержащим прикладные программы 302 и другие программы (например, компоненты операционной системы) посредством набора 304 API вспомогательного дисплея. API 304 предоставляет API-интерфейсы для различных функций, в том числе регистрации клиентского приложения 306 (компонента программы или, возможно, самой программы) системой, отправки контента прикрепленным устройствам, отправки уведомлений прикрепленным устройствам и приема событий от прикрепленных устройств. События могут включать в себя навигационные события, события запроса контента, события изменения контента и так далее.
В соответствии с аспектом настоящего изобретения, использование набора 304 API открывает для воздействия клиентам только вспомогательную систему отображения; прямого доступа к отдельным устройствам нет. Как результат, для независимых поставщиков программного обеспечения, после регистрации программного компонента в качестве клиентского приложения (через набор 304 API) контент может быть отправлен любому вспомогательному устройству с использованием другого вызова для того же самого набора 304 API, независимо от фактического типа и возможностей устройства. Несмотря на то что восприятие пользователей может отличаться, программе не требуется адаптироваться к вспомогательному устройству, которое представлено. Заметим, несмотря на то что прикладная программа может получать информацию о возможностях о вспомогательном устройстве и может избирать действовать по-разному на основании этих возможностей, прикладной программе не требуется поступать таким образом, для того чтобы использовать это устройство. Дело в том, что настоящее изобретение предусматривает архитектуру, которая справляется с дополнительной передачей данных, освобождая прикладную программу от сложных задач, включающих в себя приспосабливание данных к любому конкретному устройству.
Уровень 304 API записан в наборе 310 API портативного устройства, который осуществляет связь с процессом драйвера устройства через инфраструктуру 312 драйверов пользовательского режима. Набор 310 API портативного устройства устанавливает соответствие вспомогательного дисплея категории портативных устройств, и он делает возможным перечисление возможностей устройства. Это, однако, инкапсулировано в пределах драйвера пользовательского режима и не открывается для клиентского приложения 306.
Вообще, клиентское приложение 306 отправляет уведомления непосредственно вспомогательному устройству. Устройство выполнено с возможностью отображения уведомлений, а также генерирования своих собственных уведомлений на основе данных, поставляемых из главной компьютерной системы. Другие (необязательные) компоненты, показанные на фиг.3, включают в себя клиент 316 уведомлений, который может предоставлять уведомления на вспомогательном дисплее. Например, даже когда прикладная программа, такая как программа календаря, не работает, может быть желательным предоставлять запланированные уведомления, соответствующие такой программе; клиент 316 уведомлений делает возможными такие сценарии. Заметим, что, как описано ниже со ссылкой на фиг.4-6, компоненты, находящиеся под прикладным уровнем и поверх драйверов 324 и 325 устройств, в целом, могут быть обозначены как платформа вспомогательного дисплея.
Обращаясь к ракурсу поставщиков аппаратных средств, вообще, каждый поставщик вспомогательного дисплея предоставляет соответствующий драйвер 324 вспомогательного устройства, хотя, если устройство встроено некоторым образом, драйвер устройства может быть поставлен провайдером платформы вспомогательного дисплея. Более конкретно, как описано ниже, определенные виды вспомогательных устройств считываются усовершенствованными дисплеями, поскольку они сконфигурированы с определенным микропрограммным обеспечением, которое, среди прочего, является в целом совместимым с любой информацией, которая может быть принята через API-интерфейсы 304. Для таких устройств драйвер 325 устройства может быть обобщенным (и, таким образом, может быть предоставлен поставщиком платформы вспомогательного дисплея), обычно работающим, чтобы выполнять некоторые простые задачи, к примеру, конвертировать информацию, принятую через API, в частный формат, понимаемый микропрограммным обеспечением вспомогательного устройства. Для других вспомогательных устройств, упоминаемых в материалах настоящей заявки как базовые дисплеи, драйверу требуется быть совместимым с возможностями устройства, и, таким образом, поставщику вспомогательного дисплея требуется предоставлять драйвер, выполненный по специальным требованиям к такому устройству или классу устройств.
В любом случае, инфраструктура драйверов пользовательского режима предоставляет интерфейс драйверов устройств (DDI) для сопряжения драйверов (например, 324 и 325) устройств с платформой вспомогательного дисплея. Драйверы затем пересылают данные, соответствующие принятой через API информации, предопределенному интерфейсу (транспортному элементу) аппаратных средств для передачи данных вспомогательному устройству отображения. Например, на фиг.3 драйвер 324 базового устройства показан как пересылающий данные (посредством заранее определенного протокола) в удаленные стек и драйвер 327 для беспроводной (например, Bluetooth, Wi-Fi, AM/FM (с амплитудной/частотной модуляцией), инфракрасной и так далее) связи с устройством 300, тогда как драйвер 325 усовершенствованного устройства показан как пересылающий данные в основанные на USB аппаратные средства 328, хотя пригодны другие типы транспортных механизмов, в том числе сетевые транспортные механизмы, такие как основанные на TCP/IP (протоколе управления передачей/межсетевом протоколе) транспортные механизмы. Как понятно, эти соединения показаны только в целях примера, так как драйвер любого устройства будет пересылать данные для беспроводной или проводной связи подходящим образом.
Заметим, что, как изображено на фиг.4, многочисленные устройства могут быть присоединены к компьютеру, чтобы вместе служить в качестве вспомогательного дисплея. Пользователь может задавать конфигурацию (например, посредством панели управления или ей подобного из компонента 308 поставщиков системных данных) в отношении того, какие данные какого клиентского приложения отображаются и на каких устройствах. Поставщик 308 системных данных также поставляет системную информацию, такую как данные о времени, данные о уровне радиосигнала, громкость и состояние отключения звука компьютера, и/или данные об уровне заряда аккумулятора, на вспомогательные дисплеи. В одной из реализаций платформа 430 вспомогательного дисплея учитывает поддерживаемую системой матрицу 432 всякий раз, когда клиентское приложение 306 отправляет контент, чтобы определить, какое устройство или устройства должны принимать информацию. Некоторое преобразование контента для разных типов устройств может происходить на этом уровне, а также, возможно, на других уровнях, выше уровня драйвера устройства и в драйвере устройства, как описано ниже. API платформы 430 вспомогательного дисплея также будет отправлять события и нечто подобное из вспомогательных устройств в прикладное клиентское приложение, снова с исп