Способы и системы для аутентификации компонентов в графической системе

Иллюстрации

Показать все

Изобретение относится к способам и системам проверки подлинности компонентов при использовании графической системы, которая обеспечивает криптографическую защиту содержимого, направляемого через графический конвейер. Техническим результатом является обеспечение аутентификации при использовании высоконадежной графической платформы. Указанный результат достигается за счет того, что обеспечиваются методы аутентификации графической платы в связи с системой, которая обеспечивает криптографическую защиту содержимого, направляемого через графический конвейер, таким образом приложение или устройство могут показать высоконадежной графической платформе, что это приложение или устройство является высоконадежным пользователем графической платформы. Графическая платформа может сообщить высоконадежному приложению или устройству, что приложение или устройство может доверять графической платформе. 4 н. и 46 з.п. ф-лы, 9 ил., 3 табл.

Реферат

Уведомление об авторском праве и разрешение

Часть раскрытия этого патентного документа может содержать материал, который является предметом защиты авторским правом. Владелец авторского права не имеет возражений на факсимильное воспроизведение данного патентного документа или раскрытия данного патента, как он представлен в патентных файлах или записях Ведомства по патентам и торговым маркам, но в остальном сохраняет за собой все авторские права. Следующее уведомление должно применяться к данному документу: Copyright © 2001, Microsoft Corp. (Авторское право © 2001, корпорация Майкрософт).

Ссылки на связанные заявки

Данная патентная заявка соотносится с совместно переуступленной совместно поданной патентной заявкой США номер 10/124922 от 18 апреля 2002 на "Способы и системы для криптографической защиты защищаемого содержимого".

Область техники

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

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

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

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

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

Эта проблема обеспечения защищенного конвейера для высоконадежного содержимого может рассматриваться как двойная проблема: (1) нужно гарантировать, что высоконадежное содержимое не может быть скопировано или просмотрено в некотором слабом пункте конвейера (конфиденциальность), и (2) нужно гарантировать, что конвейер предотвращает неправомочное искажение данных в конвейере (защита). В контексте защиты системы сложность является помехой, потому что она делает более трудным обеспечение защиты системы. Как в случае с аэропортом или при другом сценарии обеспечения защиты, чем больше количество точек входа и выхода существует в системе, тем труднее становится гарантировать защиту. В этом отношении в настоящее время не существует никакого средства, с помощью которого можно гарантировать, что множеству функциональных возможностей ГП и драйверов дисплея можно доверять и в терминах конфиденциальности, и в терминах защиты. Совместно переуступленная совместно поданная патентная заявка США номер 10/124922 ('922 заявка) от 18 апреля 2002 на "Способы и системы для криптографической защиты защищаемого содержимого", раскрывает системы и способы, которые обеспечивают такую высоконадежную графическую платформу.

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

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

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

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

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

Другие особенности и варианты осуществления настоящего изобретения описаны ниже.

Краткое описание чертежей

Способы и системы подтверждения подлинности компонента(ов) в связи с использованием высоконадежной графической системы в соответствии с настоящим изобретением далее описаны со ссылками на чертежи, на которых:

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

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

Фиг.2 - структурная схема, иллюстрирующая незащищенные части графического конвейера, которые защищены в соответствии с данным изобретением;

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

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

Фиг.5A-5B иллюстрируют пример переформатирования формата AYUV/ARGB в соответствии с изобретением;

Фиг.6A-6B иллюстрируют пример переформатирования формата YUY2 в соответствии с изобретением;

Фиг.7A-7B иллюстрируют пример переформатирования упакованного планарного формата в соответствии с изобретением;

Фиг.8A и 8B - структурные схемы, иллюстрирующие типичные аспекты третьего уровня защиты в соответствии с изобретением; и

Фиг.9A и 9B - структурные схемы, иллюстрирующие типичные методы шифрования, которые могут применяться к выходным сигналам графического процессора в соответствии с изобретением.

Подробное описание изобретения

Краткий обзор

Настоящее изобретение обеспечивает системы и методы расширения операционной системы, или другого посредника, между содержимым из высоконадежного (доверенного) источника и графической системой для целей аутентификации так, чтобы обработка и/или воспроизведение содержимого могли быть осуществлены 'высоконадежными графическими' приложениями, такими как защищенные от вмешательства конфиденциальные диалоги и воспроизведение высококачественного содержимого, которое является защищенным от неправомочного дублирования. Одним из способов осуществления высоконадежной графической платформы является обеспечение трех 'уровней' защиты: (1) шифрование содержимого оверлейных поверхностей, (2) предоставление возможности ГП или другому устройству совместной обработки оперировать с зашифрованным содержимым, не делая его доступным ненадежным (недоверенным) сторонам, и (3) предоставление возможности шифрования буферов команд. Настоящее изобретение обеспечивает услуги аутентификации для использования в связи с подобной высоконадежной графической платформой.

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

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

Типичные сетевые среды

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

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

Фиг.1A обеспечивает схематическую диаграмму типичной сетевой или распределенной вычислительной среды. Распределенная вычислительная среда содержит объекты 10a, 10b и т.д. вычислительной среды и объекты вычислительной среды или устройства 110a, 110b, 110c и т.д. Эти объекты могут содержать программы, способы, информационные хранилища, программируемую логику и т.д. Объекты могут содержать части тех же самых или других устройств, таких как персональный цифровой секретарь (PDA), телевизионные приемники, проигрыватели файлов формата MP3, персональные компьютеры и т.д. Каждый объект может связаться с другим объектом посредством коммуникационной сети 14. Эта сеть сама может содержать другие объекты вычислительной среды и вычислительные устройства, которые обеспечивают услуги системе, показанной на фиг.1A. В соответствии с одним из аспектов изобретения, каждый объект 10 или 110 может содержать приложение, которое может запрашивать методы аутентификации высоконадежного графического конвейера(ов) в соответствии с настоящим изобретением.

Следует также иметь в виду, что объект, такой как 110c, может располагаться на другом вычислительном устройстве 10 или 110. Таким образом, хотя изображенная физическая среда показывает соединенные между собой устройства, как компьютеры, такая иллюстрация просто является примером, и физическая среда может альтернативно быть изображена или описана, как содержащая различные цифровые устройства, такие как персональный цифровой секретарь (PDA), телевизионный приемник, проигрыватель файлов формата MP3 и т.д., объекты программного обеспечения, такие как интерфейс, COM-объекты и т.п.

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

В домашних сетевых средах существует по меньшей мере четыре несоизмеримые сетевые транспортные среды, каждая из которых может поддерживать уникальный протокол, такие как линия электропитания, данные (передаваемые и беспроводным образом, и проводным), голос (например, телефон) и среда передачи развлечений. Большинство домашних устройств управления, такие как выключатели освещения и приборы, могут использовать линию электропитания для обеспечения связи. Услуги по передаче данных могут вводиться в дом, как широкополосная передача (например, как цифровая абонентская линия или кабельный модем), и доступны в пределах дома с использованием беспроводной (например, спецификация HomeRF или стандарт 802.11b) или проводной связи (например, спецификация HomePNA, кабельная система категории 5, даже линия электропитания). Голосовой трафик может вводиться в дом проводным способом (например, по кабельной системе категории 3) или беспроводным способом (например, с помощью сотовых телефонов) и может распространяться в пределах дома по кабельной системе категории 3. Развлекательные передачи могут вводиться в дом или через спутниковое оборудование, или через кабель, и в типовом случае распространяются по дому с использованием коаксиального кабеля. Стандарты IEEE 1394 и интерактивного цифрового видео также используются для цифрового соединения в группе устройств аудиовизуального отображения. Все эти сетевые среды и другие, которые могут появиться в качестве стандартов протоколов, могут быть объединены для формирования внутренней сети, которая может быть связана с внешним миром посредством Интернет. Короче говоря, существует многообразие несопоставимых источников для хранения и передачи данных, и следовательно, в перспективе, вычислительные устройства потребуют способов защиты содержимого во всех частях конвейера обработки данных.

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

Таким образом, сетевая инфраструктура допускает, чтобы главный компьютер узла сети имел такую топологию, как клиент-сервер, точка-точка (одноранговая сеть), или гибридную архитектуру. "Клиент" является элементом класса или группы, который использует услуги другого класса или группы, к которой он не принадлежит. Таким образом, при вычислениях, клиент является процессом, т.е., грубо говоря, набором команд или задач, которые запрашивают услуги, которые обеспечиваются другой программой. Клиентский процесс использует запрашиваемые услуги, не "зная" каких-либо подробностей о работе другой программы или самой услуги. В архитектуре клиент-сервер, особенно в сетевой системе, клиентом обычно является компьютер, который обращается к общедоступным сетевым ресурсам, которые обеспечиваются другим компьютером, например сервером. В примере, приведенном на фиг.1A, компьютеры 110a, 110b и т.д. могут считаться клиентами, а компьютеры 10a, 10b и т.д. могут считаться серверами, причем серверы 10a, 10b и т.д. поддерживают (обслуживают) данные, которые затем копируются в клиентские компьютеры 110a, 110b и т.д.

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

Клиент и сервер связываются друг с другом, используя функциональные возможности, которые обеспечиваются уровнем протокола. Например, протокол передачи гипертекстовых данных (HTTP) является обычным протоколом, который используется во взаимосвязи с Всемирной паутиной (WWW). Как правило, компьютерный сетевой адрес, такой как унифицированный указатель информационного ресурса (URL) или адрес Интернет протокола (IP), используется для идентификации друг для друга сервера или клиентских компьютеров. Сетевой адрес может упоминаться как унифицированный указатель информационного ресурса. Например, связь может обеспечиваться по среде передачи данных. В частности, клиент и сервер могут соединяться друг с другом через подключения по протоколу TCP/IP для связи с высокой пропускной способностью.

Таким образом, фиг.1A иллюстрирует типичную сетевую или распределенную среду, в которой может использоваться настоящее изобретение, причем сервер соединен с клиентскими компьютерами через сеть/магистраль. Более конкретно, множество серверов 10a, 10b и т.д., связано через коммуникационную сеть/магистраль 14, которая может быть ЛС, ГС, корпоративной сетью (интранет), Интернет и т.д., с множеством клиентских или удаленных вычислительных устройств 110a, 110b, 110c, 110d, 110e и т.д., таких как переносной компьютер, карманный компьютер, клиент-терминал ("тонкий" клиент), сетевое устройство или другое устройство, такое как видеомагнитофон, телевизионный приемник, печь, освещение, нагреватель и т.п., в соответствии с настоящим изобретением. Таким образом, рассматривается, что настоящее изобретение может применяться к любому вычислительному устройству, в связи с которым необходимо обрабатывать, хранить или воспроизводить защищенное содержимое из высоконадежного источника.

В сетевой среде, в которой коммуникационной сетью/магистралью 14 является Интернет, например, серверы 10 могут быть Web-серверами, с которыми клиенты 110a, 110b, 110с, 110d, 110e и т.д. осуществляют связь с помощью любого из множества известных протоколов, такого как протокол передачи гипертекста HTTP. Серверы 10 могут также выступать в качестве клиентов 110, что является характеристикой распределенной вычислительной среды. Связь может быть проводной или беспроводной, в зависимости от того, какая является более целесообразной. Клиентские устройства 110 могут осуществлять связь через коммуникационную сеть/магистраль 14, а могут иметь присущее им независимое соединение. Например, в случае с телевизионным приемником или видеомагнитофоном, сетевой аспект для управления ими может существовать, а может и отсутствовать. Каждый клиентский компьютер 110 и компьютер-сервер 10 может быть оснащен различными модулями прикладных программ или объектами 135 и подключениями или доступом к различным типам запоминающих элементов или объектов, с помощью которых файлы могут сохраняться или на которые часть файлов может быть загружена или перенесена. Таким образом, настоящее изобретение может использоваться в компьютерной сетевой среде, имеющей клиентские компьютеры 110a, 110b и т.д., которые могут обращаться и взаимодействовать с компьютерной сетью/магистралью 14 и компьютерами-серверами 10a, 10b и т.д., которые могут взаимодействовать с клиентскими компьютерами 110a, 110b и т.д. и другими устройствами 111 и базами данных 20.

Типичное вычислительное устройство

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

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

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

Согласно фиг.1B примерная система для осуществления изобретения включает в себя универсальное вычислительное устройство в форме компьютера 110. Компоненты компьютера 110 могут включать в себя процессор 120, системную память 130 и системную шину 121, которая соединяет различные системные компоненты, которые включают в себя системную память процессора 120, но не ограничены ими. Системная шина 121 может быть любым из нескольких видов шинных структур, которые включают в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, используя любую из разнообразия шинных архитектур. Для примера, а не в качестве ограничения, такая архитектура включает в себя шину архитектуры, соответствующей промышленному стандарту (ISA), шину микроканальной архитектуры (MCA), шину расширенной стандартной архитектуры для промышленного применения (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину соединения периферийных устройств (PCI) (также известную, как шина расширения).

Компьютер 110 обычно включает в себя разнообразие считываемых компьютером носителей. Считываемые компьютером носители могут быть любыми доступными носителями, к которым может обращаться компьютер 110, и они включают в себя и энергозависимые, и энергонезависимые носители, съемные и несъемные носители. Для примера, а не в качестве ограничения, считываемые компьютерные носители могут содержать компьютерные носители данных и средства связи. Компьютерные носители данных включают в себя и энергозависимые, и энергонезависимые, съемные и несъемные носители, осуществленные любым способом или технологией для хранения информации, такой как считываемые компьютером команды, структуры данных, модули программ или другие данные. Компьютерные носители данных включают в себя оперативную память (ОП), постоянное запоминающее устройство (ПЗУ), стираемое программируемое постоянное запоминающее устройство (СППЗУ), флэш-память или память другой технологии, компакт-диски (CD ROM), цифровые многофункциональные диски (DVD) или другие запоминающие устройства на оптическом диске, магнитные кассеты, магнитную ленту, запоминающие устройства на магнитном диске или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для хранения требуемой информации и к которому может обращаться компьютер 110, но не ограничены ими. Средства связи типично воплощают считываемые компьютером команды, структуры данных, модули программ или другие данные в модулированном сигнале данных, таком как несущая, или используют другой механизм транспортировки и включают в себя любые средства доставки информации. Термин "модулированный сигнал данных" означает сигнал, одна или более характеристик, которого устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. Для примера, а не в качестве ограничения, средства связи включают в себя проводные каналы связи, такие как проводные сети или прямое проводное подключение, и беспроводные каналы связи, такие как акустический, радиочастотный (РЧ), инфракрасный и другие беспроводные каналы связи. Считываемые компьютером носители должны также включать в себя комбинации любого из вышеупомянутых носителей.

Системная память 130 включает в себя компьютерные носители данных в форме энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативная память (ОП) 132. Базовая система ввода-вывода 133 (BIOS), содержащая основные подпрограммы, которые помогают перемещать информацию между элементами в пределах компьютера 110, например, во время запуска, обычно хранятся в ПЗУ 131. ОП 132 обычно содержит данные и/или модули программ, которые мгновенно доступны для обработки и/или в данный момент обрабатываются процессором 120. Для примера, а не в качестве ограничения, фиг.1B показывает операционную систему 134, прикладные программы 135, другие модули 136 программ и данные 137 программ.

Компьютер 110 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных. Только для примера, фиг.1B иллюстрирует накопитель 141 на жестком диске, который считывают информацию или который записывает информацию на несъемный энергонезависимый магнитный носитель, накопитель 151 на магнитном диске, который считывает информацию или записывает информацию на съемный энергонезависимый магнитный диск 152, и накопитель 155 на оптическом диске, который считывает информацию или записывает информацию на съемный энергонезависимый оптический диск 156, такой как компакт-диск (CD ROM) или другой оптический носитель. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут использоваться в типичной рабочей среде, включают в себя: кассеты с магнитной лентой, платы флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, полупроводниковую ОП, полупроводниковое ПЗУ и т.п., но не ограничены ими. Накопитель 141 на жестком диске обычно подключается к системной шине 121 через интерфейс (средство сопряжения) с несъемным запоминающим устройством, например, через средство 140 сопряжения, и накопитель 151 на магнитном диске и накопитель 155 на оптическом диске обычно подключается к системной шине 121 через средство сопряжения со съемным запоминающим устройством, такое как средство 150 сопряжения.

Устройства и связанные с ними компьютерные носители данных, обсуждаемые выше и показанные на фиг.1B, обеспечивают хранение считываемых компьютером команд, структур данных, модулей программ и других данных для компьютера 110. На фиг.1B, например, накопитель 141 на жестком диске показан в качестве устройства хранения операционной системы 144, прикладных программ 145, других модулей 146 программ и данных 147 программ. Следует обратить внимание, что эти компоненты могут быть теми же самыми или отличаться от операционной системы 134, прикладных программ 135, других модулей 136 программ и данных 137 программ. Операционной системе 144, прикладным программам 145, другим модулям 146 программ и данным 147 программ присвоены другие ссылочные порции для того, чтобы показать, что они, как минимум, являются различными копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода данных, такие как клавиатура 162 и устройство 161 позиционирования, обычно называемое "мышь", шаровой манипулятор ("трекбол") или сенсорная панель. Другие устройства ввода данных (не показаны) могут включать в себя микрофо