модель защиты унифицированного хранилища
Классы МПК: | G06F21/02 с защитой специфических внутренних компонентов компьютеров |
Автор(ы): | ДОДАРО Джеральд Майкл (US), ЭДЭЙ Майкл Альфред (US), ГРИМАЛЬДИ Шон П. (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2006-07-20 публикация патента:
27.05.2011 |
Изобретение относится к защите систем унифицированного хранилища. Техническим результатом является расширение унифицированного хранилища унифицированной схемой для обеспечения однородного образа действий при управлении правами по различным типам систем управления правами. Унифицированный формат является приемлемым и расширяемым так, что другие языки управления могут быть транскодированы в унифицированный формат. Информация управления правами может быть преобразована в метаданные унифицированного хранилища для использования в системе унифицированного хранилища. Построение объекта данных, включающего в себя данные и информацию управления правами, содержит транскодирование как первоначальных данных в формате унифицированного хранилища, так и транскодирования информации управления правами от любого количества платформ в формат управления правами, используемый платформой унифицированного хранилища. Транскодирование может происходить в основывающемся на транзакциях определении так, чтобы данные при отказе завершения не были испорчены или потеряны, а также, чтобы был возможен возврат к исходному состоянию, если процесс завершается неудачно. 3 н. и 14 з.п. ф-лы, 4 ил.
Формула изобретения
1. Способ транскодирования и сохранения информации управления правами, содержащий этапы, на которых:
транскодируют информацию управления правами в промежуточный формат, причем этот промежуточный формат является используемым подсистемой безопасности операционной системы;
транскодируют данные, защищенные информацией управления правами, в транскодированные данные, включающие в себя метаданные унифицированного хранилища;
создают составной файл, включающий в себя транскодированную информацию управления правами и транскодированные данные, защищенные информацией управления правами;
сохраняют составной файл в запоминающем устройстве; и
предоставляют доступ посредством подсистемы безопасности к транскодированным данным составного файла согласно транскодированной информации управления правами.
2. Способ по п.1, в котором промежуточный формат основан на исходном формате и целевом формате.
3. Способ по п.1, в котором при транскодировании информации управления правами идентифицируют схему, которая определяет общие характеристики из исходного формата и целевого формата.
4. Способ по п.3, в котором схема содержит расширяемый язык управления правами.
5. Способ по п.1, в котором запоминающее устройство содержит унифицированное хранилище.
6. Способ по п.1, в котором транскодированная информация управления правами включает в себя унифицированную информацию управления правами.
7. Система управления правами, содержащая:
транскодер, выполненный с возможностью принимать информацию управления правами и данные, защищенные информацией управления правами, и транскодировать информацию управления правами в промежуточный формат и транскодировать данные, защищенные информацией управления правами, в транскодированные данные, включающие в себя метаданные унифицированного хранилища, причем промежуточный формат является используемым подсистемой безопасности операционной системы,
при этом транскодер дополнительно выполнен с возможностью создавать составной файл, включающий в себя транскодированную информацию управления правами и транскодированные данные, защищенные информацией управления правами;
унифицированное хранилище для сохранения составного файла; и
упомянутую подсистему безопасности, выполненную с возможностью предоставлять доступ к транскодированным данным составного файла согласно транскодированной информации управления правами.
8. Система по п.7, в которой принимаемые данные управления правами находятся в исходном формате, а промежуточный формат основан на исходном формате и целевом формате.
9. Система по п.7, в которой транскодер идентифицирует схему, которая определяет общие характеристики из исходного формата и целевого формата.
10. Система по п.9, в которой схема содержит расширяемый язык управления правами.
11. Система по п.7, в которой транскодированная информация управления правами содержит унифицированную информацию управления правами.
12. Считываемый компьютером носитель, включающий в себя исполняемые компьютером команды для транскодирования и сохранения информации управления правами, при этом считываемый компьютером носитель содержит:
команды для транскодирования информации управления правами в промежуточный формат, причем этот промежуточный формат является используемым подсистемой безопасности операционной системы;
команды для транскодирования данных, защищенных информацией управления правами, в транскодированные данные, включающие в себя метаданные унифицированного хранилища;
команды для создания составного файла, включающего в себя транскодированную информацию управления правами и транскодированные данные, защищенные информацией управления правами;
команды для сохранения составного файла в запоминающем устройстве; и
команды для предоставления доступа к транскодированным данным составного файла согласно транскодированной информации управления правами.
13. Считываемый компьютером носитель по п.12, в котором команды для транскодирования приспособлены принимать информацию управления правами в исходном формате.
14. Считываемый компьютером носитель по п.13, в котором промежуточный формат основан на исходном формате и целевом формате.
15. Считываемый компьютером носитель по п.12, в котором команды для транскодирования включают в себя команды, которые идентифицируют схему, определяющую общие характеристики из исходного формата и целевого формата.
16. Считываемый компьютером носитель по п.12, в котором схема содержит расширяемый язык управления правами.
17. Считываемый компьютером носитель по п.12, в котором транскодированная информация управления правами содержит унифицированную информацию управления правами.
Описание изобретения к патенту
Предшествующий уровень техники
Системы хранения/управления данными и системы управления правами могут быть реализованы несколькими различными способами. Таким образом, множество форматов управления правами несовместимы друг с другом. Унифицированное хранилище позволяет обрабатывать различные форматы хранения данных управления данными одинаково как с точки зрения разработчика, при использовании архитектуры API, которая реализует расширенный набор различных основных систем, так и с точки зрения пользовательского интерфейса, позволяя возвратить данные пользователю в предпочтительном интерфейсе независимо от системы, которая фактически действует как главный компьютер для определенных данных. Чтобы ассоциировать информацию управления правами в отношении элементов, на которые имеются ссылки или которые содержатся в системе унифицированного хранилища, желательно преобразовать и/или создать информацию управления правами из первоначального формата к стандартному формату, сохраненному и используемому унифицированным хранилищем.
Microsoft опубликовала модель для комбинирования информации управления правами и данных, которые она защищает, в едином файле, используя вызываемое по протоколу COM структурированное хранилище. Структурированное хранилище определяет совместимые метаданные и схему для свойств и данных в файлах, в которых используется как реализуемый формат структурированного хранилища, варьируется в зависимости от типа данных и программного обеспечения для использования, с которыми оно спроектировано. Совместимая схема всегда обеспечивает возможность идентифицировать аспекты файлов. Структурированное хранилище совместимо с методиками управления правами Microsoft так же, как и с другими протоколами управления правами. Желательно обеспечить однородное и согласованное пользовательское восприятие посредством обстрагирования различных форматов в унифицированную схему и метаданные, которые позволят пользователю осуществить доступ на уровне, соответствующем спецификациям управления правами в отношении данных, к данным, которые хранятся или на которые имеются ссылки в унифицированном хранилище.
Из вышеупомянутого понятно, что есть потребность в системах и способах, которые преодолевают вышеуказанные недостатки и обеспечивают общую модель управления правами, которая функционирует с общей моделью данных.
Сущность изобретения
Это краткое изложение сущности изобретения дает представление, в упрощенной форме, о нескольких идеях, которые далее детально описаны. Это изложение сущности изобретения не предназначено ни для определения ключевых или основных признаков заявленного изобретения, ни для определения объема изобретения.
Известные варианты реализации унифицированного хранилища расширены однородной схемой, чтобы позволить средству управления правами обеспечивать однородный образ действий при управлении правами по различным типам систем управления правами, когда они используются вместе с унифицированным хранилищем.
Данные управления доступом транскодируются или транслируются в унифицированный формат. Этот унифицированный формат является приемлемым и расширяемым. Другие языки управления могут быть транскодированы в унифицированный формат.
Информация управления правами может быть преобразована в данные унифицированного хранилища для использования в системе унифицированного хранилища. Построение объекта данных, который содержит данные и информацию управления правами, включает в себя транскодирование как первоначальных данных (если они еще не в формате унифицированного хранилища) в формат унифицированного хранилища, так и транскодирование и/или создание информации управления правами в формате управления правами, используемой платформой унифицированного хранилища.
Перечень фигур чертежей
Фиг.1 - блок-схема иллюстративной системы для транскодирования и сохранения информации управления правами в соответствии с изобретением.
Фиг.2 - схема, демонстрирующая различные иллюстративные форматы управления правами.
Фиг.3 - блок-схема последовательности операций, показывающая иллюстративный способ транскодирования и сохранения информации управления правами в соответствии с изобретением.
Фиг.4 - блок-схема, демонстрирующая иллюстративное вычислительное окружение, в котором могут быть реализованы аспекты изобретения.
Подробное описание изобретения
Предмет изобретения описан со степенью специфичности, необходимой для достижения установленных требований. Однако описание само по себе не предназначено ограничивать объем этого патента. Напротив, изобретатели предполагают, что заявленное изобретение могло бы также быть воплощено другими путями, включая различные действия или комбинации действий, аналогичные тем, что описаны в этом документе, в сочетании с другими настоящими или будущими технологиями. Кроме того, термин "этап" может использоваться здесь для обозначения различных элементов используемых способов, причем этот термин не следует интерпретировать как подразумевающий какой-либо специфический порядок среди или между различными описанными здесь этапами, кроме тех случаев, когда порядок отдельных этапов явно изложен.
Известная модель унифицированного хранилища требует транскодирования файлов при добавлении или удалении файлов данных из системы унифицированного хранилища. Это транскодирование хранилища данных/данных управления выполняется для того, чтобы сделать файл пригодным для использования системой унифицированного хранилища и сохранить первоначальную структуру так, чтобы в случае необходимости его можно было вернуть в его первоначальное состояние. Изобретение направлено на добавление фазы развертывания/свертывания управления правами, на которой преобразуют информацию управления правами в метаданные унифицированного хранилища для использования в системе унифицированного хранилища.
Унифицированная модель защиты, которая может включать в себя управление правами, должна быть применима к данным в унифицированном хранилище независимо от форматов управления правами, защищающих первоначальные данные. Есть различные типы форматов данных и форматов управления правами. Было разработано расширение к классам, используемым, чтобы содержать данные в системе унифицированного хранилища, для сохранения информации управления правами. В этой модели метаданные безопасности преобразуются из собственной системы в единый формат - процесс, который называют транскодированием. Этот транскодированный формат желательным образом становится частью объекта данных при добавлении его в хранилище.
Фиг.1 - схема, демонстрирующая иллюстративную систему для транскодирования и сохранения информации управления правами в соответствии с изобретением. Данные 10 с информацией управления правами 12 подаются в транскодер 20. Данные 10 транскодируются 22 в данные с метаданными 32 унифицированного хранилища, и информация управления правами 12 также транскодируется 24 в промежуточный формат и в итоге в унифицированную информацию управления правами 34. Транскодирование позволяет сохранять данные с метаданными 32 унифицированного хранилища и унифицированную информацию управления правами 34 в системе 30 унифицированного хранилища. Может быть создан составной файл, который содержит как и метаданные 32 унифицированного хранилища, так и унифицированную информацию управления правами 34. Система 30 унифицированного хранилища использует данные различных форматов, транслированных транскодером в общий целевой формат. Система 30 унифицированного хранилища хранит информацию управления правами, которая была транскодирована транскодером 20. Подробнее - система 30 унифицированного хранилища хранит данные таким образом, что она ассоциирует данные управления правами с данными, защищаемыми этими правами.
Данные управления доступом транскодируются или транслируются в унифицированный формат. Унифицированный формат является приемлемым и расширяемым так, чтобы другие языки управления могли быть транскодированы в унифицированный формат. В этой модели конструкция объекта данных, который содержит данные и информацию управления правами, задействует транскодирование первоначальных данных в формат унифицированного хранилища, а также транскодирование информации управления правами из любой из нескольких платформ в формат управления правами, используемый платформой унифицированного хранилища. Транскодирование может происходить в основывающемся на транзакциях окружении так, чтобы данные при отказе завершения не были испорчены или потеряны, а также чтобы был возможен возврат к исходному состоянию, если процесс завершится неудачно.
По желанию группы объектов данных, подлежащих одновременному изменению, могут быть объединены. Права также можно назначать групповым образом на основе пользователя аппаратных средств типа данных или ассоциаций между элементами.
Таким образом, данные с информацией управления правами развертываются/свертываются из модели унифицированного хранилища. Чтобы реализовать модель унифицированной защиты, как данные, так и информацию управления правами, по желанию, можно преобразовать.
Фиг.2 - схема, демонстрирующая различные иллюстративные форматы управления правами. Оригинал имеет исходный формат 200 для управления правами, а цель имеет целевой формат 220 для управления правами. По желанию создается и сохраняется промежуточный формат 210 для управления правами. Желательно, чтобы промежуточный формат был расширяемым, самоописательным и мог быть приспособлен для учета соглашений локальной защиты. Промежуточный формат 210 - это транскодированный формат, который используется как посредник между исходным и целевым форматами.
После того, как были заданы исходный и целевой форматы, транскодер может обратиться к схеме. Схема определяет общие характеристики или данные оригинала и цели, например. Если ни один из целевых форматов не задан, то усилие по транскодированию можно прекратить на промежуточном формате.
Иллюстративные исходный и целевой форматы включают в себя форматы управления правами Apple, Sony, Windows. Изобретение может использоваться с любым форматом управления правами или форматом управления доступом.
Фиг.3 - блок-схема последовательности операций, показывающая иллюстративный способ транскодирования и хранения информации управления правами. На этапе 300 считывают входящий или исходный формат. На этапе 310 идентифицируют предопределенные данные. Идентификация предопределенных данных может включать в себя идентификацию схемы, которая определяет общие характеристики каждого из различных оригиналов и целей на этапе 315, помечание общих данных на этапе 320 и сохранение их на этапе 325.
Схема может существовать за пределами системы транскодирования, при этом система транскодирования может использовать схему. Предпочтительно схема не изменяется на основе исходного или целевого формата, а вместо этого поддерживается постоянной. Однако предполагается, что схема может быть обновлена и/или расширена, например, используя каталожные объекты, чтобы получить новые или дополнительные свойства.
Иллюстративная схема управления правами соответствует расширяемому языку управления правами (XRML). Эти данные затем сохраняются в новом или промежуточном формате на этапе 330. Эта промежуточная форма может быть подобной элементу 210 на фиг.2.
Таким образом, к данным, включающим в себя данные прав и защищенные данные, осуществляется доступ из оригинала. Данные прав транскодируются в общий формат (то есть в промежуточный формат для управления правами), не понижая качество основных (прикрепленных) данных. Транскодированные данные могут быть сохранены или транскодированы в целевой формат.
Методики соответствия и безопасности могут использоваться при преобразовании в унифицированный формат. Это может быть желательным для удостоверения в том, что никакие дополнительные права не были добавлены кроме тех, что в первоначальном материале.
Отмечается, что XRML заимствует возможности самодокументирования XML. Дескрипторы, которые есть в XRML, в своей основе самоописательные. Аспекты изобретения могут быть реализованы похожим способом, чтобы от средств трансляции не требовалось понимать каждый потенциальный формат, и так, чтобы унифицированный формат мог развиваться. В таком иллюстративном сценарии было бы предоставлено поле, которое описывает версию унифицированного формата, который используется в отношении конкретных файлов. Это позволяет сделать исправление, обновление и расширение схемы, которая используется, чтобы описать формат, не разрушая ранее созданные экземпляры файлов, которые основываются на формате схемы предыдущей версии.
Иллюстративное вычислительное окружение
Фиг.4 иллюстрирует пример подходящего вычислительного окружения 100, в котором изобретение может быть реализовано. Окружение 100 вычислительной системы является всего лишь одним примером подходящего вычислительного окружения и не подразумевает какого-либо ограничения относительно области использования или функциональных возможностей изобретения. Также вычислительное окружение 100 не должно рассматриваться как имеющее какую-либо зависимость или требование, касающееся какого-либо одного или комбинации компонентов, показанных в иллюстративном рабочем окружении 100.
Изобретение способно работать с другими многочисленными окружениями или конфигурациями систем общего или специального назначения. Примеры хорошо известных вычислительных систем, окружений и/или конфигураций, которые могут быть подходящими для использования с изобретением, включают в себя, но не в ограничительном смысле, персональные компьютеры, серверы, карманные устройства или ноутбуки, многопроцессорные системы, системы, основанные на микропроцессорах, программируемую бытовую электронику, сетевые персональные компьютеры, миникомпьютеры, универсальные компьютеры, распределенные вычислительные среды, включающие в себя любые из вышеупомянутых систем или устройств, и т.п.
Изобретение может быть описано в общем контексте машиноисполняемых команд, например программных модулей, исполняемых компьютером. Как правило, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют отдельные абстрактные типы данных. Изобретение может также быть реализовано на практике в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны через коммуникационную сеть или другую среду передачи данных. В распределенных вычислительных средах программные модули и другие данные могут быть расположены как на локальных, так и на удаленных компьютерных носителях данных, включая запоминающие устройства.
Со ссылкой на фиг.4, иллюстративная система для осуществления изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не в ограничительном смысле, процессор 120, системную память 130 и системную шину 121, которая подсоединяет различные системные компоненты, включая системную память, к процессору 120. Системная шина 121 может быть любой из нескольких типов структур шин, включая шину памяти или контроллера памяти, периферийную шину или локальную шину, используя любую из различных архитектур шин. В качестве примера, а не ограничения - такие архитектуры шин включают в себя шину Архитектуры Промышленного Стандарта (ISA), шину Микроканальной Архитектуры (MCA), Улучшенную шину ISA (EISA), локальную шину Ассоциации Видео Стандартов Электроники (VESA) и шину Межсоединения Периферийных Компонентов (PCI).
Компьютер 110 включает в себя множество машиночитаемых носителей. Машиночитаемые носители могут быть любыми доступными носителями, к которым может обратиться компьютер 110, и включают в себя как энергозависимые, так и энергонезависимые носители, как съемные, так и несъемные носители. В качестве примера, а не ограничения машиночитаемые носители могут включать в себя компьютерные носители данных и коммуникационные среды. Компьютерные носители данных включают в себя энергозависимые и энергонезависимые носители, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиноисполняемые команды, структуры данных, программные модули или другие данные. Компьютерные носители данных включают в себя, но не в ограничительном смысле, RAM, ROM, EEPROM, Flash-память или память другой технологии, CD-ROM, DVD-ROM или другой дисковый оптический носитель, магнитные кассеты, магнитную ленту, магнитный дисковой накопитель или другие магнитные запоминающие устройства, либо любой другой носитель, который может использоваться для хранения желаемой информации и доступен компьютеру 110. Коммуникационные среды обычно воплощают машиноисполняемые команды, структуры данных, программные модули или другие данные в модулированном информационном сигнале, таком как несущая волна или другой механизм передачи, и включают в себя любые среды доставки информации. Термин "модулированный информационный сигнал данных" означает сигнал, одна или больше из характеристик которого установлены или изменены так, чтобы кодировать информацию в этом сигнале. В качестве примера, а не ограничения коммуникационные следы включают в себя сетевые среды, такие как проводные сети или прямое проводное подключение, и беспроводные среды, такие как акустические, радиочастотные, инфракрасные и другие беспроводные среды. Комбинации любых из вышеупомянутых сред и носителей также охватываются понятием «машиночитаемый носитель».
Системная память 130 включает в себя компьютерные носители данных в виде энергозависимой и/или энергонезависимой памяти, такие как ROM 131 и RAM 132. Базовая система ввода-вывода 133 (BIOS), содержащая основные процедуры, которые помогают передавать информацию между компонентами внутри компьютера 110, например во время запуска, хранится в ROM 131. RAM 132 обычно содержит данные и/или программные модули, которые непосредственно доступны и/или в данный момент обрабатываются процессором 120. В качестве примера, а не ограничения фиг.4 демонстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и данные 137 программ.
Компьютер 110 может также включать в себя энергозависимые/энергонезависимые, съемные/несъемные компьютерные носители данных. Только в качестве примера фиг.4 демонстрирует накопитель 140 на жестких дисках, который считывает или записывает энергонезависимые, несъемные магнитные носители, магнитный дисковод 151, который считывает или записывает съемный, энергонезависимый магнитный диск 152 и оптический дисковод 155, который считывает или записывает съемный, энергонезависимый оптический диск 156, такой как CD-ROM или другие оптические носители. Другие энергозависимые/энергонезависимые, съемные/несъемные компьютерные носители данных, которые могут использоваться в иллюстративном рабочем окружении, включают в себя, но не в ограничительном смысле, кассеты магнитной ленты, платы флэш-памяти, DVD-диски, цифровую видеоленту, RAM, ROM и т.п. Накопитель 141 на жестких дисках обычно подключается к системной шине 121 через интерфейс несъемной памяти, такой как интерфейс 140. Магнитный дисковод 151 и оптический дисковод 155 обычно подключаются к системной шине 121 через интерфейс съемной памяти, такой как интерфейс 150.
Дисководы и накопители и ассоциированные с ними компьютерные носители данных, обсуждаемые выше и продемонстрированные на фиг.4, обеспечивают хранение машиноисполняемых команд, структур данных, программных модулей и других данных для компьютера 110. На фиг.4 накопитель 141 на жесткий диск продемонстрирован как хранящий операционную систему 144, прикладные программы 145 и другие программные модули 146 и данные 147 программ. Отметьте, что эти компоненты могут быть или такими же или отличными от операционной системы 134, прикладных программ 135, других программных модулей 136 и данных 137 программ. Операционной системе 144, прикладным программам 145, другим программным модулям 146 и данным 147 программ даны другие номера, чтобы продемонстрировать, что они являются, как минимум, другими копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162 и указательное устройство 161, которое обычно подразумевается как мышь, шаровой манипулятор или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую клавиатуру, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода часто подключаются к процессору 120 через интерфейс 160 пользовательского ввода, который подключен к системной шине, но могут быть подсоединены посредством других интерфейсных и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 191 или другой тип устройства отображения также подключается к системной шине 121 через интерфейс, такой как видеоинтерфейс 190. Дополнительно к монитору компьютеры могут также включать в себя другие периферийные устройства вывода, такие как динамики 197 и принтер 196, которые могут быть подключены через интерфейс периферийного вывода 195.
Компьютер 110 может работать в сетевом окружении, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, сервером, коммуникатором, сетевым персональным компьютером, одноранговым устройством или другим общим сетевым узлом и обычно включает в себя множество или все из элементов, описанных выше, относительно компьютера 110, несмотря на то, что только запоминающее устройство 181 продемонстрировано на фиг.4. Изображенные логические соединения включают в себя локальную сеть (LAN) 171 и глобальную сеть (WAN) 173, но также могут включать в себя и другие сети. Такие сетевые среды являются привычными в офисах, в корпоративных компьютерных сетях, в интрасетях и интернете.
При использовании в сетевом окружении LAN компьютер 110 подключен к LAN 171 через сетевой интерфейс или адаптер 170. При использовании в сетевом окружении WAN компьютер 110 обычно включает в себя модем 172 или другие средства для того, чтобы установить связь по WAN 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть подключен к системной шине 121 через интерфейс 160 пользовательского ввода или через другой соответствующий интерфейс. В сетевом окружении программные модули, изображенные относительно компьютера 110, или их части могут быть сохранены на удаленном запоминающем устройстве. В качестве примера, а не ограничения фиг.4 демонстрирует удаленные прикладные программы 185 как находящиеся в запоминающем устройстве 181. Показанные сетевые соединения являются иллюстративными и другие средства установления линии связи между компьютерами также могут использоваться.
Различные системы, методики и способы, описанные здесь, могут быть реализованы с помощью аппаратных средств и программного обеспечения или, если приемлемо, с помощью сочетания их обоих. Таким образом, способы и устройства согласно настоящему изобретению, либо некоторые их аспекты или части могут принимать форму кода программы (то есть команда), воплощенного в материальных носителях, таких как гибкие дискеты, CD-ROM, накопители на жестких дисках или любом другом машиночитаемом носителе данных, при этом при загрузке кода программы и его исполнения машиной, например компьютером, машина становится устройством для практического осуществления изобретения. В случае исполнения программного кода на программируемом компьютере компьютер обычно будет включать в себя процессор, читаемый процессором носитель данных (включая энергозависимую и энергонезависимую память и/или элементы памяти), по меньшей мере одно устройство ввода данных и по меньшей мере одно устройство вывода. Одна или несколько программ предпочтительно реализуются на высокоуровневом процедурном или объектно-ориентированном языке программирования для сообщения с компьютерной системой. Несмотря на это, программа(ы) может быть реализована, по желанию, в ассемблере или машинном языке. В любом случае язык может быть компилируемым или интерпретируемым языком и объединен с аппаратными реализациями.
Способы и устройства согласно данному изобретению также могут быть реализованы в форме кода программы, который передается по какой-либо среде передачи, например, по электрическим телефонным проводам или кабелям, через волоконную оптику или через любую другую форму передачи, при этом при приеме, загрузке и исполнении кода программы машиной, например EPROM, вентильной матрице, программируемым логическим устройством (PLD), клиентским компьютером, видеомагнитофоном или т.п. машина становится устройством для практического осуществления изобретения. При реализации на процессоре общего назначения код программы объединяется с процессором, чтобы обеспечить уникальное устройство, которое работает для выполнения функциональных возможностей данного изобретения.
Хотя данное изобретение было описано в связи с предпочтительными вариантами осуществления по различным чертежам, нужно понимать, что другие подобные варианты осуществления могут использоваться, а также модификации или добавления могут быть сделаны к описанным вариантам осуществления для того, чтобы выполнить те же самые функции данного изобретения, не отклоняясь от него. Поэтому данное изобретение не должно быть ограничено каким-либо единственным вариантом осуществления, но скорее должно истолковываться во всей широте объема, определяемого прилагаемой формулой изобретения.