Расширяемая архитектура для вспомогательных дисплеев

Изобретение относится к области вспомогательных вычислительных устройств. Техническим результатом является облегчение подключения вспомогательного устройства отображения к главной компьютерной системе. Описаны система и способ, посредством которых вспомогательное вычислительное устройство, содержащее платформу вспомогательного дисплея, который отображает информацию, соответствующую данным, источником которых является главная компьютерная система, может быть расширено производителем устройства. Расширенные аппаратные средства добавляются к устройству, такому как радиоприемник и/или звуковой декодер. Платформа вспомогательного дисплея является многоуровневой и расширяемой на каждом уровне и включает в себя расширяемый уровень абстракций аппаратных средств, который является расширяемым, чтобы поддерживать расширенные аппаратные средства, если необходимо, и уровень драйверов, который является расширяемым посредством добавления кода драйверов для расширенных аппаратных средств. Уровень среды исполнения также является расширяемым, чтобы поддерживать расширенные аппаратные средства по мере необходимости, которым являются библиотеки, вспомогательная программная оболочка и иной управляемый код. Клиентский API также является расширяемым, чтобы предоставить приложениям в главной компьютерной системе возможность осуществлять связь с расширенными аппаратными средствами через уровень среды исполнения устройства. 3 н. и 15 з.п. ф-лы, 5 ил.

 

Область техники, к которой относится изобретение

Изобретение в целом относится к компьютерным системам, а более точно к вспомогательным вычислительным устройствам, которые присоединяются к главной компьютерной системе.

Предшествующий уровень техники

Заявки на выдачу патентов Соединенных Штатов под порядковыми номерами 10/429,930 и 10/429,932 в целом ориентированы на концепцию компьютерных систем, содержащих вспомогательную обработку и вспомогательные механизмы, которые обеспечивают некоторые вспомогательные вычислительные функциональные возможности. Например, небольшой жидкокристаллический дисплей (LCD) на крышке или боковой поверхности переносного компьютера может снабжать его владельца полезной информацией, такой как время и место встречи, даже когда дисплей (устройство отображения) главного компьютера не является беспрепятственно видимым, например, когда крышка переносного компьютера закрыта и/или питание главного компьютера отключено. Могут быть предусмотрены средства управления, такие как кнопки, чтобы предоставить пользователю возможность взаимодействовать со вспомогательным устройством, чтобы просматривать разные типы данных, к примеру, чтобы осуществлять прокрутку для просмотра по всем условленным встречам из числа календарных данных, прочитывать сообщения электронной почты, читать распоряжения и так далее.

Отчасти подобные вспомогательному LCD-экрану, встроенному в мобильный компьютер, мобильный телефон, устройство проигрывания музыки, малогабаритный персональный компьютер, персональный цифровой секретарь и так далее, могут служить в качестве вспомогательного устройства по отношению к главному компьютеру, когда подключены к нему физически и/или посредством беспроводной (например, Bluetooth или инфракрасной) линии связи, до тех пор, пока устройство запрограммировано, чтобы предоставлять своему дисплею и/или другому функциональному аспекту возможность быть использованными в качестве средства достижения цели главным компьютером. Вообще, любое устройство с возможностями ввода/вывода (I/O), которое может взаимодействовать фактически любым образом с компьютерной системой, потенциально может служить в качестве вспомогательного вычислительного устройства.

Однако есть много разновидностей устройств, которые могут служить в качестве вспомогательного дисплея для компьютерной системы. Как результат, есть много путей, чтобы сконфигурировать такое устройство внутри. Это создает сложность для производителей (иногда называемых независимыми поставщиками аппаратных средств, или IHV-поставщиками) устройств в том, что пользователи будут хотеть, чтобы их устройство служило в качестве вспомогательного дисплея, однако производителю необходимо, чтобы устройство выполняло свои требуемые функциональные возможности. Таким образом, потребуется, чтобы устройство было спроектировано по-другому, независимо от того, является ли оно, главным образом, аудиоплеером, приемником системы глобального позиционирования (GPS), телефоном, конструкцией цифрового изображения и так далее. Прежде единственный путь конфигурировать аппаратные средства в системе по специальным требованиям заказчика и помимо этого еще использовать устройство в качестве полнофункционального вспомогательного дисплея состоял в необходимости для производителя писать очень большие объемы кода, чтобы интегрировать свои аппаратные средства с другим существующим микропрограммным обеспечением, которое заключало в себе функциональные возможности вспомогательного дисплея. Требуется вычислительная архитектура, которая позволяет устройству, когда уместно, работать в качестве полнофункционального вспомогательного дисплея и помимо этого является расширяемой так, что производитель способен добавлять желательные функциональные возможности, а также вводить новшества и отличать свои устройства от устройств другого производителя.

Сущность изобретения

Кратко настоящее изобретение предусматривает вычислительную архитектуру для вспомогательных дисплеев, которая включает в себя разные уровни кода, каждый из которых производители могут независимо расширять, когда желательно, в зависимости от своих конкретных нужд. Наряду с архитектурой, настоящее изобретение предоставляет производителям устройств возможность конфигурировать по специальным требованиям заказчика компоненты аппаратных средств таким образом, который требует лишь значительно уменьшенного (например, минимального, если вообще какого бы то ни было) количества изменений в микропрограммном обеспечении. Примеры конфигурирования по специальным требованиям заказчика включают в себя интегрирование в устройство радиоприемника или приемопередатчика, такого как радиоприемник для мобильных средств связи, SPOT-радио, Bluetooth-радио и/или GPS-приемник; другие аппаратные средства включают в себя датчик температуры, декодеры звукового сигнала (например, для цифровой обработки сигналов), дополнительные запоминающие устройства и/или другие аппаратные средства, такие как индикаторы.

На низком уровне поверх компонентов аппаратных средств HAL (уровень абстракций аппаратных средств) предоставляет возможность написания высокоуровневого кода в независимой от аппаратных средств манере. HAL может быть расширен по мере необходимости, чтобы поддерживать сконфигурированные по специальным требованиям заказчика аппаратные средства. Поскольку HAL абстрагирует различия аппаратных средств, производитель устройства может повторно использовать драйвер, работающий на более высоком уровне, среди многих типов устройств без необходимости в значительной степени конфигурировать драйвер по специальным требованиям заказчика для каждого класса устройства.

Поверх драйверов иное программное обеспечение устройства включает в себя общеязыковую среду исполнения, такую как TinyCLR, которая содержит реализацию относительно меньшего масштаба конфигурации общеязыковой среды исполнения .NET. Управляемый код, который исполняется в общеязыковой среде исполнения, будет исполняться на любой платформе, на которой исполняется общеязыковая среда исполнения, что сделано возможным посредством HAL (уровня абстракций аппаратных средств) для такой платформы, например, HAL для платформы, основанной на микросхеме ARM7. Поскольку большинство микропрограммного обеспечения написано в управляемом коде, оно также является независимым от типа аппаратных средств, на которых оно исполняется. Посредством управления большинством микропрограммного обеспечения устройства и включения в архитектуру HAL и CLR производители устройств могут повторно использовать существующее программное обеспечение без каких-либо изменений, что является важным для обеспечения высокого качества, совместимого восприятия между различными типами устройств, которые служат в качестве вспомогательных дисплеев.

При разделении архитектуры на уровни производителям устройств требуется всего лишь расширять код на соответствующем уровне (или уровнях) в архитектуре. Например, если изменением является новый центральный процессор (ЦП, CPU), то требуется адаптация HAL. Однако если изменение состоит в добавлении части аппаратных средств, не меняя ЦП, для которого существует HAL, то, вероятно, требуется только должный драйвер для аппаратных средств и другое соответствующее программное обеспечение для работы в устройстве и управления этими аппаратными средствами. Определенные приложения, которые не могут быть написаны в управляемом коде, к примеру, по соображениям быстродействия, например, задействующие высокоскоростную буферизацию данных, могут быть написаны на собственном коде, таком как С или С++, и, по существу, расширять CLR.

Производители устройств (производители аппаратных средств), которые заинтересованы в добавлении дополнительных возможностей к платформе вспомогательного дисплея, добавляют аппаратные средства, таким образом, расширяя существующие микропрограммное обеспечение устройства и любой другой код по мере необходимости. Влияние на существующее (например, предусмотренные другим поставщиком) микропрограммное обеспечение вспомогательного дисплея является минимальным.

Дополнительно платформа является расширяемой по мере необходимости, чтобы настраиваться на различные аппаратные средства с точки зрения набора API (интерфейсов прикладного программирования) клиентского вспомогательного устройства, предоставленного в главной компьютерной системе. Для этой цели предусмотрен простой и расширяемый механизм, использующий API клиента для обмена информацией между программным обеспечением устройства, которое предусмотрено производителем устройства, и главной компьютерной системой. Это предоставляет производителю устройства возможность обеспечивать сквозную реализацию характерного признака, требующего специальных аппаратных средств, использующих платформу. Расширяемость API предоставляет производителям устройств и независимым поставщикам программного обеспечения возможность разрабатывать клиентские приложения в главной компьютерной системе, которые могут взаимодействовать с изготовленными по специальным требованиям заказчика аппаратными средствами в устройстве, не требуя специализированных API-интерфейсов.

Более точно модель расширяемости требует задания конечных точек до того, как клиентское приложение, работающее в главной компьютерной системе, сможет отправлять данные устройству. Посредством того, что производитель устройств предусматривает специализированное микропрограммное обеспечение для объявления конечной точки в устройстве, программное обеспечение в главной компьютерной системе может идентифицировать устройства, обладающие возможностью специальных аппаратных средств, и открывать канал связи непосредственно к такой конечной точке. Клиентский API проектируется так, что тип данных, переносимых между клиентским приложением и устройством, не является значимым. Сквозная платформа, таким образом, обеспечивает расширяемость аппаратных средств с меньшими объемами трудозатрат по части производителя устройства.

Другие преимущества станут очевидными из последующего подробного описания при рассмотрении в сочетании с чертежами, на которых:

Перечень чертежей

Фиг.1 - структурная схема, представляющая вычислительное устройство общего назначения в виде традиционной персональной компьютерной системы, в которую может быть включено настоящее изобретение.

Фиг.2А-2Е - примерные иллюстрации, в целом представляющие местоположения для размещения вспомогательного дисплея на различных устройствах;

Фиг.3 - структурная схема, в целом представляющая примерную реализацию, посредством которой прикладные программы в главной компьютерной системе могут обмениваться данными с микропрограммным обеспечением произвольного вспомогательного устройства отображения в соответствии с аспектом настоящего изобретения.

Фиг.4 - структурная схема, в целом представляющая примерную многоуровневую архитектуру, построенную в соответствии с аспектом настоящего изобретения; и

Фиг.5 - примерное представление аппаратного дисплея с экраном отображения, показывающее, каким образом производитель устройства может конфигурировать экран по специальным требованиям заказчика в соответствии с аспектом настоящего изобретения.

Подробное описание

Примерная рабочая среда

Фиг.1 - структурная схема, представляющая вычислительное устройство 120 в виде традиционной персональной компьютерной системы, в которую может быть включено настоящее изобретение. Специалисты в данной области техники будут принимать во внимание, что персональная компьютерная система 120, изображенная на фиг.1, имеет намерением быть всего лишь иллюстративной, и что настоящее изобретение может быть осуществлено на практике с другими конфигурациями компьютерных систем, в том числе карманными устройствами, многопроцессорными системами, основанной на микропроцессорах или программируемой бытовой электронной аппаратурой, сетевыми персональными компьютерами (ПК, PC), миникомпьютерами, универсальными вычислительными машинами, серверами без устройств отображения и т.п. Изобретение также может быть осуществлено на практике в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки данных, которые связаны через сеть передачи данных. В распределенной вычислительной среде программные модули могут быть расположены как в локальных, так и в удаленных запоминающих устройствах.

Персональная компьютерная система 120 включает в себя модуль 121 обработки данных (процессор), системную память 122 и системную шину 123, которая присоединяет различные системные компоненты, в том числе системную память, к модулю 121 обработки данных. Системная шина 123 может относиться к любому из некоторых типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, используя любую из многообразия шинных архитектур. Системная память включает в себя постоянное запоминающее устройство (ПЗУ, ROM) 124 и оперативное запоминающее устройство (ОЗУ, RAM) 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 вспомогательного дисплея.

Вспомогательный дисплей также может подключаться к главному вычислительному устройству 120 через интерфейс последовательного порта или посредством других интерфейсов, таких как параллельный порт, игровой порт, инфракрасное или беспроводное соединение, универсальная последовательная шина (USB) или другое соединение периферийных устройств. Устройство 120 ввода по фиг.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, или их части могут быть сохранены в удаленном запоминающем устройстве. Будет принято во внимание, что показанные сетевые соединения являются примерными, и может быть использовано другое средство установления линии связи между компьютерами.

Должно быть отмечено, что компьютерной системе не нужно быть полностью действующей для функционирования вспомогательного устройства в соответствии с настоящим изобретением. В самом деле, вспомогательное устройство может по-прежнему работать, когда выключено питание компьютера, по меньшей мере, до степени, установленной по умолчанию, или до степени, сконфигурированной пользователем, к примеру, когда компьютерная система находится в состоянии режима ожидания или режиме пониженного энергопотребления, и/или когда пользователь еще не осуществил логический вход или, в ином случае, не допущен в систему с помощью механизмов безопасности.

Вспомогательный дисплей/устройство 200 может дополнять главный дисплей и также может служить в качестве псевдодисплея, чтобы предоставлять пользователю некоторую информацию, когда главный дисплей выключен или находится в нерабочем состоянии по другим причинам (например, отсоединен). Например, могла бы быть полезной информация, такая как относительно того, каким образом следует подавать питание на главный дисплей, какими должны быть номер комнаты и/или распоряжения касательно встречи, на вспомогательном устройстве отображения, связанном с мобильным компьютером, которое пользователь может просматривать, когда главный дисплей выключен и/или не является беспрепятственно видимым (например, крышка переносного компьютера закрыта). Вспомогательное устройство может проигрывать звук и/или видео, показывать изображения, показывать календарную информацию, показывать электронные письма и так далее.

Чтобы запускать в работу и управлять связью в этих режимах пониженного питания, может существовать микропрограммное обеспечение, сохраненное в энергонезависимой памяти, которое при загрузке и исполнении второстепенным процессором активирует вспомогательный дисплей наряду с другими вспомогательными компонентами, которые должны быть использованы, до тех пор пока какая-либо энергия имеется в распоряжении. Заметим, что в качестве используемых в материалах настоящей заявки термины «микропрограммное обеспечение» и «аппаратные средства устройства», по существу, являются эквивалентными и, в целом, могут быть рассмотрены качестве представляющих вспомогательную память, код в ней и/или вспомогательный процессор, на котором он исполняется.

Фиг.2А-2Е иллюстрируют примерные местоположения на вычислительных устройствах или ассоциируемые с вычислительными устройствами для размещения экранов 200a-200e вспомогательного дисплея, соответственно. Как представлено на фиг.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, не относящиеся к сотовым телефонам) и тому подобного.

Расширяемая архитектура для вспомогательных дисплеев

Обращаясь к фиг.3 чертежей, показана примерная реализация, которая предоставляет вспомогательные устройства 300 и/или 301 для взаимодействия клиентам, содержащим прикладные программы 302 и другие программы (например, компоненты операционной системы), посредством набора 304 API вспомогательного дисплея. Набор 304 API предоставляет API-интерфейсы для различных функций, в том числе регистрации клиентского приложения 306 (компонента программы или, возможно, самой программы) системой, отправки контента прикрепленным устройствам, оправки уведомлений прикрепленным устройствам и приема событий от прикрепленных устройств. События могут включать в себя навигационные события, события запроса контента, события изменения контента (информационно значимого содержимого) и так далее.

Уровень 304 API записан в наборе 310 API портативного устройства, который осуществляет связь с процессом драйвера устройства через инфраструктуру 312 драйверов пользовательского режима. Набор 310 API портативного устройства устанавливает соответствие вспомогательного дисплея категории портативных устройств, и он делает возможным перечисление возможностей устройства. Это, однако, инкапсулировано в пределах драйвера пользовательского режима и не открыто для клиентского приложения 306. Другие (необязательные) компоненты, показанные на фиг.3, включают в себя клиент 316 уведомлений, который может предоставлять уведомления на вспомогательном дисплее. Например, даже когда прикладная программа, такая как программа календаря, не работает, может быть желательным предоставлять запланированные уведомления, соответствующие такой программе; клиент 316 уведомлений дает возможность таких сценариев.

Обращаясь к ракурсу производителя аппаратных средств вообще, каждый поставщик вспомогательного устройства предоставляет соответствующий драйвер 324 вспомогательного устройства, хотя драйвер устройства может быть поставлен поставщиком платформы вспомогательного дисплея. Определенные виды вспомогательных устройств считаются усовершенствованными устройствами, потому что они сконфигурированы с определенным микропрограммным обеспечением, которое среди прочего является в целом совместимым с любой информацией, которая может быть принята через набор 304 API. Таким образом, для таких устройств может быть предусмотрен обобщенный драйвер, хотя, как описано ниже, этот драйвер может быть расширен и/или могут быть добавлены другие драйверы.

При любом событии инфраструктура драйверов пользовательского режима предусматривает интерфейс драйверов устройств (DDI) для сопряжения драйверов устройств (например, 324 и 325) с платформой вспомогательного дисплея. Драйверы затем пересылают (и возвращают) данные, соответствующие принятой через API информации, предопределенному интерфейсу (транспортному элементу) аппаратных средств для передачи данных вспомогательному устройству отображения. Например, на фиг.3 драйвер 324 устройства показан как пересылающий данные (посредством заранее определенного протокола) в удаленные стек и драйвер 327 для беспроводной (например, Bluetooth, Wi-Fi, AM/FM (с амплитудной/частотной модуляцией), инфракрасной и т.п.) связи устройству 300, тогда как драйвер 325 устройства показан как пересылающий данные в основанные на USB аппаратные средства 328, хотя пригодны другие типы транспортных протоколов, в том числе сетевые транспортные протоколы, такие как основанные на TCP/IP (протоколе управления передачей/межсетевом протоколе) транспортные протоколы. Заметим, что драйвер пользовательского режима может работать для всех расширенных дисплеев, невзирая на тип соединения, однако, вероятно, является более простым использовать один драйвер для каждого устройство по каждому типу соединения. Дополнительно отметим, что, как представлено на фиг.3, многочисленные устройства могут быть присоединены к компьютеру, чтобы вместе служить в качестве вспомогательного дисплея. Пользователь может задавать конфигурацию (например, посредством панели управления или ей подобного от поставщиков 308 системных данных) того, какие данные клиентского приложения отображаются и на каких устройствах. Поставщик 308 системных данных также поставляет системную информацию, такую как данные о времени, данные об уровне радиосигнала и/или данные об уровне заряда аккумулятора, на вспомогательные дисплеи.

Как также показано на фиг.3, усовершенствованным дисплеем 301 является тот, который исполняет конкретный стек микропрограммного обеспечения, называемый в материалах настоящей заявки платформой вспомогательного дисплея. Например, в одной из представленных реализаций, такой стек микропрограммного обеспечения включает в себя TinyCLR-компонент и поддерживает сериализацию TinyCLR-объектов.

В примерной реализации, представленной на фиг.3, чтобы осуществлять навигацию и отображать кэшированный контент, приложения 369 устройства и программная оболочка 370 дополнительно исполняются поверх инфраструктуры 374 TinyCLR и компонента 376 среды исполнения TinyCLR, которые осуществляют интерпретацию, навигацию и отображение данных. Компонент 376 среды исполнения TinyCLR показан поверх, по меньшей мере, одного драйвера 377 и TinyHAL, как описано ниже со ссылкой на фиг.4.

Вообще, программная оболочка 370 обеспечивает базовую страницу, неклиентскую область, меню и общее впечатление и ощущение от использования вспомогательного устройства отображения. Предоставленные данные могут быть в виде направленного графа экранов или приведены к направленному графу экранов, каждый из которых является наглядным деревом объектов View TinyCLR, укорененных объектом Form TinyCLR. Уровень оболочки принимает события кнопочных элементов с более низких уровней микропрограммного обеспечения, интерпретирует их и осуществляет навигацию по данным надлежащим образом. Программная оболочка 370 также допускает запросы уведомлений от главной компьютерной системы через платформу вспомогательного дисплея, которая описана выше, и выдает запросы в главную компьютерную систему на предоставление нового контента, когда она узнает от менеджера 372 кэширования, что контент необходим (например, находится в недостатке). Программная оболочка 370 также отображает задержанные уведомления, которые могут случаться, когда главная компьютерная система не подсоединена. Заметим, что машина 370 визуализации также может быть расширяемой так, чтобы приложение могло предоставлять заказной код, который выполнен с возможностью визуализации данных таких приложений.

Автономный менеджер 327 кэширования содержит средство, написанное поверх TinyCLR 376, которое управляет кэшем элементов данных, сохраненных в устройстве. Этот компонент, к тому же, выполняет некоторое управление памятью, имея дело с тем фактом, что системные прикладные программы могут поставлять больше данных, чем устройство может сохранить. Если микропрограммное обеспечение модифицирует кэш данных, этот компонент отслеживает такую информацию и сообщает о событии прикладной программе в системе, чтобы дать ей знать либо немедленно, если главная компьютерная система на связи, либо, если не на связи, когда машина снова окажется на связи. Менеджер кэша может быть открыт для взаимодействия драйверу 360 через интерфейс.

В соответствии с аспектом настоящего изобретения различные уровни (как в целом представлено на фиг.4) являются раздельными, и каждый может быть по мере необходимости отдельно расширен производителем устройства, чтобы поддерживать расширенные аппаратные средства. Заметим, что многое на фиг.4 в целом соответствует стеку микропрограммного обеспечения по фиг.3. При разделении архитектуры на уровни, производителям устройств необходимо всего лишь расширять код на соответствующем уровне (или уровнях) в архитектуре как требуется для расширенных аппаратных средств.

Более точно, в дополнение к панели или контроллеру 490 дисплея, вспомогательному процессору 491 и памяти 492 производителем устройства добавляются расширенные аппаратные средства 493, чтобы конфигурировать устройство по специальным требованиям заказчика. Примеры конфигурирования по специальным требованиям заказчика включают в себя интегрирование в устройство одного или более из следующего, к примеру SPOT-радио, Bluetooth-радио, GPS-приемника, датчика температуры, звукового декодера, кодера звука, дополнительного запоминающего устройства, биометрического датчика, такого как считыватель отпечатков пальцев, акселерометра, RFID-ярлыков/считывателя, датчика присутствия, интерфейса к массивам запоминающих устройств/управлению системой (например, доступа к системной шине, такой как SMbus (системная управляющая шина в процессорах Xeon), который может предоставить системную информацию, или доступ к большим массивам запоминающих устройств), аккумулятора (например, собственного источника питания устройства вместо совместно используемого с главной компьютерной системой), инфракрасного приемопередатчика, радиочастотного передатчика (например, пульта дистанционного радиоуправления), микрофона и/или других аппаратных средств, таких как индикаторы. Как будет понятно, производители могут конфигурировать компоненты аппаратных средств по специальным требованиям заказчика таким образом, который требует всего лишь в значительной степени сниженного (например, минимального, если вообще какого бы то ни было) количества изменений по отношению к стеку микропрограммного обеспечения вспомогательного устройства.

Поверх компонентов аппаратных средств HAL (уровень абстракций аппаратных средств) предоставляет возможность написания высокоуровневого кода независимым от аппаратных средств образом. В качестве используемых в материалах настоящей заявки термины "высокоуровневый" и "низкоуровневый", "поверх" и "под" и им подобные при ссылке на кодовый стек являются подобными используемым в других вычислительных сценариях, при этом, вообще, чем ниже компонент программного обеспечения относительно более высокорасположенных компонентов, тем ближе этот более низкорасположенный компонент к аппаратным средствам. Как представлено на фиг.4, базовый HAL может быть расширен кодом 480 расширения HAL, при необходимости поддерживать сконфигурированные по специальным требованиям заказчика аппаратные средства. Заметим, что не всегда является необходимым расширять HAL, так как, например, неиспользуемый порт ввода/вывода общего применения или тому подобное может быть доступным для управления устройством через существующий HAL 479. В ином случае портом можно управлять через расширенный HAL.

Поверх HAL находятся драйверы 4771-4773, включающие в себя заказной драйвер, добавленный для расширенных аппаратных средств 4773. Заметим, что хотя фиг.4 отображает только один драйвер 4773 и один блок 493 расширенных аппаратных средств, может быть добавлено больше драйверов и/или аппаратных средств. Дополнительно должно быть отмечено, что взамен добавления еще одного драйвера является эквивалентным модифицировать код существующего драйвера для выполнения добавленных функциональных возможностей, которые желательны. Как вообще известно, поскольку HAL 479 абстрагирует различия аппаратных средств, производитель устройства может повторно использовать заказной драйвер 4773 (или модифицированный драйвер), работающий среди многих типов физических устройств, без необходимости конфигурировать по специальным требованиям заказчика драйвер 4773 для каждого другого класса устройства.

Поверх драйверов другое программное обеспечение устройства включает в себя общеязыковую среду исполнения (CLR), такую как TinyCLR 376, которая содержит относительно меньшую по масштабу реализацию общеязыковой среды исполнения .NET. Управляемый код, который исполняется в общеязыковой среде исполнения, будет исполняться на той любой платформе, на которой исполняется общеязыковая среда разработки, что делается возможным посредством HAL (уровня абстракций аппаратных средств) для такой платформы, например, HAL для платформы, основанной на микросхеме ARM7. Поскольку большинство микропрограммного обеспечения пишется в управляемом коде, оно также является независимым от типа аппаратных средств, на которых оно исполняется. Посредством управления большинством микропрограммного обеспечения устройства и включения HAL и CLR в архитектуру производители устройств могут повторно использовать существующее программное обеспечение без каких-либо изменений, что является важным для обеспечения высокого качества, совместимого восприятия между различными типами устройств, которые служат в качестве вспомогательных дисплеев.

Прикладная программа 402 может быть заказным приложением, которое работает с расширенными аппаратными средствами 493. Однако также является возможным расширять восприятие пользователя посредством расширения уже написанной прикладной программы, как представлено на фиг.4 расширением восприятия пользователя. В качестве примера представим себе, что расширенные аппаратные средства содержат простой индикатор, который загорается по приему уведомления. Программа 402, которая принимает уведомления, может быть расширена, чтобы засвечивать индикатор, когда принимается уведомление, и гасить его, когда уведомление удалено.

Определенные приложения, которые не могут быть написаны в управляемом коде, к примеру, из соображений производительности могут быть написаны на собственном коде, таком как С или С++, и, по существу, расширить CLR, как представлено на фиг.4 расширением 479 CLR. Несмотря на то, что CLR может предоставлять API-интерфейсы для использования расширением 474 инфраструктуры, к примеру чтения, записи, открытия, закрытия, управления вводом/выводом и так далее, этого может быть недостаточно для определенных приложений. Например, может не быть возможности завершить высокоскоростную буферизацию данных достаточно быстро при копировании из буферов прикладного программного уровня через CLR в низкоуровневые буферы цифровой обработки сигналов. Чтобы избежать таких затрат на копирование, собственный код в расширении 476 CLR может заполнять одиночный набор буферов.

Вспомогательная программная оболочка 370 также может быть расширена посредством использования API-интерфейсов в главной компьютерной системе и загрузки кода в устройство. Типичная причина для того, чтобы поступать таким образом, состоит в том, что следует добавлять ссылки на сконфигурированные по специальным требованиям заказчика функциональные возможности, такие как пиктограммы, текст краткого изложения, чувствительный к контексту текст и пункты меню. Например, вспомогательное устройство отображения, которое, к тому же, сконфигурировано как аудиоплеер, также может предоставлять возможность записи других данных, проигрывания и поддержания календаря условленных встреч. Пиктограммы и пункты меню могут быть добавлены посредством расширения 470 оболочки, чтобы предоставить этим разным прикладным программам возможность исполнения без затруднений. Библиотеки 374 инфраструктуры также могут быть расширены посредством соответствующего расширения 474.

Заметим, что как представлено на фиг.5, в одной реализации, где экран вспомогательного дисплея имеет достаточно места, область 504 экрана 506 вспомогательного устройства отображения резервируется для производителя устройства, чтобы показывать некоторую информацию, такую как логотип компании. Эта область может быть использована для показа информации, соответствующей расширенным аппаратным средствам, например, GPS-приемник может показывать в такой области некоторые GPS-данные или пиктограмму, которая, когда выбирается, может быстро вызывать GPS-данные на главный экран.

Обращаясь вновь к фиг.3, платформа является дополнительно расширяемой по наборам 304 и/или 310 API клиентского вспомогательного дисплея главной компьютерной системы. Для этой цели простой и расширяемый механизм, использующий клиентский API, предусмотрен для осуществления связи между программным обеспечением устройства, которое поставлено производителем устройства, и главной компьютерной системой. Это дает производителю устройства возможность обеспечивать сквозную реализацию характерного признака, требующего специальных аппаратных средств, с использованием платформы. Расширяемость API предоставляет производителям устройств и независимым поставщикам программного обеспечения возможность развивать клиентские приложения 306 и другие программы 302 в главной компьютерной системе, которые могут взаимодействовать с сконфигурированными по специальным требованиям заказчика аппаратными средствами в устройстве, не требуя специализированных API-интерфейсов.

Более точно, модель расширяемости требует, чтобы конечные точки были указаны до того, как клиентское приложение 302 может отправлять данные устройству. Позволяя производителю устройства расширять код в микропрограммном обеспечении вспомогательного устройства для объявления конечной точки на устройстве, программное обеспечение в главной компьютерной системе может идентифицировать устройства, имеющие характеристики специальных аппаратных средств, и открывать канал связи непосредственно к такой конечной точке. Клиентский API спроектирован таковым, что тип данных, переносимых между клиентским приложением и устройством, не является значимым, например, могут быть переданы текст, двоичные данные, аудиовизуальные данные, объекты и так далее. Сквозная платформа, таким образом, обеспечивает расширяемость аппаратных средств с меньшим объемом трудозатрат в части производителя устройства.

Для усовершенствованного устройства, по существу, единственное требование состоит в том, что следует устанавливать конвейер данных между конечными точками и пересылать сериализованные (преобразованные в последовательную форму) объекты и тому подобное. Один из путей достижения этого состоит в том, что следует использовать технологию, упоминаемую как .NET remoting (технология управляемых удаленных вызовов между доменами приложений), которая предоставляет коду в главной компьютерной системе возможность конструировать вызовы методов для классов во вспомогательном устройстве. Таким образом, например, приложение в главной компьютерной системе может осуществлять вызов в дополнительное устройство, укомплектованное GPS-возможностями, чтобы получать GPS-информацию в главной компьютерной системе.

Как описано выше, контент может быть загружен в кэш в усовершенствованном устройстве, а само устройство в таком случае обрабатывать контент так, как желательно. Заметим, что это предусматривает изолированное использование, так же как и позволение многочисленным приложениям, работающим в системе, одновременно поставлять контент, как правило, с помощью одного приложения, являющегося работающим, чтобы осуществлять доступ к кэшированному контенту на вспомогательном дисплее.

Как может быть осознано из предыдущего, настоящее изобретение предусматривает платформу вспомогательного дисплея, обладающую уровнями, которые могут быть расширены по мере необходимости, чтобы поддерживать дополнительное аппаратные средства. В то же самое время платформа вспомогательного дисплея дает возможность производителям аппаратных устройств сделать эти устройства используемыми в качестве полнофункциональных вспомогательных дисплеев, кроме того, является расширяемой с небольшими, если вообще какими-нибудь, изменениями по отношению к микропрограммному обеспечению, так что производитель способен легко добавлять желательную функциональную возможность, а также вводить новшества и отличать свои устройства от устройств другого производителя. Настоящее изобретение, таким образом, обеспечивает многочисленные полезные результаты и преимущества, необходимые в современной вычислительной технике.

Наряду с тем, что изобретение поддается различным модификациям и альтернативным конструкциям, определенного рода проиллюстрированные варианты его осуществления показаны на чертежах и были подробно описаны выше. Должно быть понятно, однако, что нет намерения ограничивать изобретение раскрытым отдельным образцом или образцами, но наоборот, намерение состоит в том, чтобы охватить все модификации, альтернативные конструкции и эквиваленты, попадающие в пределы сущности и объема изобретения.

1. Вспомогательное устройство отображения, выполненное с возможностью подключения к главной компьютерной системе, при этом вспомогательное устройство отображения содержит:
процессор и
память, хранящую вспомогательную платформу для отображения данных, принятых от любой главной компьютерной системы, имеющей конкретную операционную систему, причем вспомогательная платформа является расширяемой, чтобы поддерживать расширенные аппаратные средства, включаемые во вспомогательное устройство отображения, при этом вспомогательная платформа включает в себя
уровень абстракций аппаратных средств, который является специфическим для процессора и абстрагирует функции, обеспечиваемые процессором, от высокоуровневого программного обеспечения на вспомогательном устройстве отображения;
уровень драйверов, который включает в себя обычный код драйверов для управления вспомогательным отображением, выполняемым вспомогательным устройством отображения, причем уровень драйверов также является расширяемым посредством включения дополнительного кода драйверов для управления расширенными аппаратными средствами, которые могут быть включены во вспомогательное устройство отображения;
уровень общеязыковой среды исполнения для исполнения программ, написанных на управляемом коде, причем уровень общеязыковой среды исполнения является расширяемым посредством обеспечения программ, написанных на собственном коде, чтобы поддерживать расширенные аппаратные средства по мере необходимости; и
программный код вспомогательного устройства, который отображает данные, принятые от главной компьютерной системы, или данные, сформированные расширенными аппаратными средствами, включенными во вспомогательное устройство отображения.

2. Вспомогательное устройство отображения по п.1, которое содержит устройство мобильной связи.

3. Вспомогательное устройство отображения по п.1, которое содержит устройство из набора типов устройств, содержащего отдельный компьютер; устройство мобильной связи; экран второстепенного отображения с кнопочными средствами управления; наручные часы; настенный дисплей; конструкцию цифрового изображения; будильник; экран дисплея; телевизор; радиоприемник; карманные часы; проигрыватель мультимедийных данных; устройство, встроенное в или использующее главный дисплей устройства бытовой электронной аппаратуры; автомобильные, транспортные или другие предназначенные для транспортных средств модули; клавиатуры или другие устройства ввода главной компьютерной системы; пейджер; персональный цифровой секретарь.

4. Вспомогательное устройство отображения по п.1, в котором управляемым кодом осуществляется управление расширенными аппаратными средствами, включенными во вспомогательное устройство отображения.

5. Вспомогательное устройство отображения по п.4, при этом главная компьютерная система осуществляет связь с расширенными аппаратными средствами, включенными во вспомогательное устройство отображения, используя интерфейс прикладного программирования в главной компьютерной системе, который является расширяемым, чтобы передавать данные между кодом программного обеспечения, исполняющимся в главной компьютерной системе, и управляемым кодом во вспомогательном устройстве отображения.

6. Вспомогательное устройство отображения по п.1, в котором вспомогательная платформа дополнительно содержит вспомогательную программную оболочку, которая является расширяемой, чтобы поддерживать расширенные аппаратные средства.

7. Вспомогательное устройство отображения по п.1, в котором упомянутое вспомогательное отображение включает в себя область, зарезервированную для отображения сконфигурированных по специальным требованиям заказчика выходных данных, принимаемых от расширенных аппаратных средств, включенных во вспомогательное устройство отображения.

8. Вспомогательное устройство отображения по п.1, в котором расширенные аппаратные средства соответствуют по меньшей мере одному компоненту из набора компонентов, содержащего SPOT-радио; Bluetooth-радио; GPS-приемник; датчик температуры; звуковой декодер; звуковой кодер; дополнительное запоминающее устройство; биометрический датчик; акселерометр; RFID-ярлыки/считыватель; датчик присутствия; интерфейс к массивам запоминающих устройств/управлению системой; аккумулятор; радиопередатчик; микрофон; радиоприемник; компоненты мобильного телефона; компоненты беспроводной связи; компоненты беспроводной сети; индикатор.

9. Способ, реализуемый во вспомогательном устройстве отображения, выполненном с возможностью подключения к главной компьютерной системе, и предназначенный для обеспечения вспомогательной платформы, которая включает в себя обычное микропрограммное обеспечение для отображения данных, принятых от главной компьютерной системы, имеющей конкретную операционную систему, и которая является расширяемой, чтобы поддерживать отображение данных, принятых от расширенных аппаратных средств, которые включены во вспомогательное устройство отображения, при этом способ содержит этапы, на которых
устанавливают во вспомогательном устройстве отображения вспомогательную платформу, включающую в себя стек микропрограммного обеспечения, причем стек микропрограммного обеспечения включает в себя
уровень абстракций аппаратных средств, который является специфическим для процессора и абстрагирует функции, обеспечиваемые процессором, от высокоуровневого программного обеспечения на вспомогательном устройстве отображения,
уровень драйверов, который включает в себя обычный код драйверов для управления вспомогательным отображением, выполняемым вспомогательным устройством отображения, причем уровень драйверов также является расширяемым посредством включения дополнительного кода драйверов для управления расширенными аппаратными средствами, которые могут быть включены во вспомогательное устройство отображения,
уровень общеязыковой среды исполнения для исполнения программ, написанных на управляемом коде, причем уровень общеязыковой среды исполнения является расширяемым посредством обеспечения программ, написанных на собственном коде, чтобы поддерживать расширенные аппаратные средства по мере необходимости, и
программный код вспомогательного устройства, который отображает данные, принятые от главной компьютерной системы, или данные, сформированные расширенными аппаратными средствами, включенными во вспомогательное устройство отображения;
добавляют расширенные аппаратные средства во вспомогательное устройство отображения и
расширяют стек микропрограммного обеспечения, чтобы поддерживать расширенные аппаратные средства.

10. Способ по п.9, в котором при расширении стека микропрограммного обеспечения включают дополнительный код драйверов на уровне драйверов для управления добавленными расширенными аппаратными средствами.

11. Способ по п.9, в котором при расширении стека микропрограммного обеспечения выполняют расширение уровня общеязыковой среды исполнения посредством обеспечения программы, написанной на собственном языке, чтобы поддерживать добавленные расширенные аппаратные средства.

12. Способ по п.9, в котором стек микропрограммного обеспечения включает в себя программную оболочку, при этом при расширении стека микропрограммного обеспечения выполняют расширение программной оболочки.

13. Способ по п.9, в котором стек микропрограммного обеспечения включает в себя библиотеку инфраструктуры, при этом при расширении микропрограммного обеспечения выполняют расширение библиотеки инфраструктуры.

14. Способ по п.9, в котором при добавлении расширенных аппаратных средств к вспомогательному устройству отображения конфигурируют упомянутое компьютерное устройство для мобильной связи.

15. Способ по п.9, в котором при добавлении расширенных аппаратных средств добавляют по меньшей мере один компонент аппаратных средств из набора компонентов, содержащего SPOT-радио; Bluetooth-радио; GPS-приемник; датчик температуры; звуковой декодер; звуковой кодер; дополнительное запоминающее устройство; биометрический датчик; акселерометр; RFID-ярлыки/считыватель; датчик присутствия; интерфейс к массивам запоминающих устройств/управлению системой; аккумулятор; радиопередатчик; микрофон; радиоприемник; компоненты мобильного телефона; компоненты беспроводной связи; компоненты беспроводной сети; индикатор.

16. Способ по п.9, дополнительно содержащий этап, на котором передают данные между программой, исполняющейся в главной компьютерной системе, и кодом заказного программного обеспечения, исполняющимся во вспомогательном устройстве отображения, которое соответствует добавленным расширенным аппаратным средствам.

17. Способ по п.9, дополнительно содержащий этап, на котором отображают заказную информацию в области вспомогательного отображения, которая зарезервирована для отображения сконфигурированных по специальным требованиям заказчика выходных данных.

18. Машиночитаемый носитель, содержащий машиноисполняемые инструкции, которыми при их исполнении процессором реализуется способ обеспечения вспомогательной платформы, которая включает в себя обычное микропрограммное обеспечение для отображения данных, принятых от главной компьютерной системы, имеющей конкретную операционную систему, и которая является расширяемой, чтобы поддерживать отображение данных, принятых от расширенных аппаратных средств, которые включены во вспомогательное устройство отображения, при этом способ содержит этапы, на которых
устанавливают во вспомогательном устройстве отображения вспомогательную платформу, включающую в себя стек микропрограммного обеспечения, причем стек микропрограммного обеспечения включает в себя
уровень абстракций аппаратных средств, который является специфическим для процессора и абстрагирует функции, обеспечиваемые процессором, от высокоуровневого программного обеспечения на вспомогательном устройстве отображения,
уровень драйверов, который включает в себя обычный код драйверов для управления вспомогательным отображением, выполняемым вспомогательным устройством отображения, причем уровень драйверов также является расширяемым посредством включения дополнительного кода драйверов для управления расширенными аппаратными средствами, которые могут быть включены во вспомогательное устройство отображения,
уровень общеязыковой среды исполнения для исполнения программ, написанных на управляемом коде, причем уровень общеязыковой среды исполнения является расширяемым посредством обеспечения программ, написанных на собственном коде, чтобы поддерживать расширенные аппаратные средства по мере необходимости, и
программный код вспомогательного устройства, который отображает данные, принятые от главной компьютерной системы, или данные, сформированные расширенными аппаратными средствами, включенными во вспомогательное устройство отображения;
добавляют расширенные аппаратные средства во вспомогательное устройство отображения и
расширяют стек микропрограммного обеспечения, чтобы поддерживать расширенные аппаратные средства.



 

Похожие патенты:

Изобретение относится к области резервного копирования и восстановления данных. .

Изобретение относится к импульсной технике и может быть использовано в устройствах обработки информации, управления и измерения, в частности в устройствах приема униполярных старт-стоповых последовательных комбинаций импульсов для контроля отклонения длительности импульсов от заданного значения, контроля местоположения импульсов в комбинации и сравнения с эталонными значениями.

Изобретение относится к вычислительной технике, а конкретнее к распределенным моделям прикладного программирования. .

Изобретение относится к системам и способам обработки данных для передачи информации по шине в системе обработки данных. .

Изобретение относится к системам обработки, а именно к устройству и способу для принудительного применения строго упорядоченных запросов в системе слабо упорядоченной обработки.

Изобретение относится к системам обработки, а именно к устройству и способу для принудительного применения строго упорядоченных запросов в системе слабо упорядоченной обработки.

Изобретение относится к области приборостроения и может быть использовано в устройствах ввода/вывода информации в электронных системах автоматизированного контроля, защиты и управления различного назначения, в частности для сбора данных с различных датчиков.

Изобретение относится к сетевой среде и предназначено для синхронизации часов реального времени в узлах сетевой среды. .

Изобретение относится к области связи между устройствами по компьютерной сети

Изобретение относится к области цифровой вычислительной техники, а именно к устройствам сопряжения цифровых вычислительных машин с радиостанциями коротковолнового и ультракоротковолнового диапазона и проводным каналам связи

Изобретение относится к способу экспонирования платформы данных из хранилища данных и к считываемым компьютером носителям, хранящим исполняемые компьютером команды для экспонирования платформы данных

Изобретение относится к способам и системам программного управления, а именно к способам и системам контроля процессов в микроядерной (microkernel) операционной системе, и может быть использовано в роботизированных системах и навигационных системах роботов

Изобретение относится к сетевой системе

Изобретение относится к области мониторинга и управления транспортными, в основном автомобильными, средствами передвижения на проблемных участках дорог, например, таких как перекрестки

Изобретение относится к вычислительной технике и может быть использовано при построении устройств коммутации в синергических вычислительных системах

Изобретение относится к области виртуальных машин

Изобретение относится к графическим системам
Изобретение относится к вычислительной технике, электронике и может быть использовано в аппаратуре, имеющей повышенные требования к надежности
Наверх