Защитная инфраструктура и способ для протокола разрешения равноправных имен (pnrp)

Иллюстрации

Показать все

Изобретение относится к протоколам взаимодействия равноправных объектов сетевой структуры и, в частности, касается защитных инфраструктур для протоколов взаимодействия равноправных объектов. Техническим результатом является создание инфраструктуры защиты для системы с одноранговой сетевой структурой. Представлены способы, которые подавляют способность злонамеренного узла нарушать нормальную работу одноранговой сети. Способы изобретения позволяют узлам использовать как защищенные, так и незащищенные данные об идентичности, обеспечивая их самопроверку. Когда это необходимо или удобно, проверяется принадлежность ID путем «вкладывания» процедуры проверки достоверности в существующие сообщения. Вероятность подсоединения к злонамеренному узлу изначально уменьшается благодаря случайному выбору узла, с которым устанавливается соединение. Кроме того, идентифицируется информация от злонамеренных узлов, которая может быть отброшена путем поддержания информации о предыдущих соединениях, которые потребуют ответа в будущем. 4 н. и 15 з.п. ф-лы, 6 ил.

Реферат

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

Настоящее изобретение относится в целом к протоколам взаимодействия равноправных объектов и, в частности, касается защитных инфраструктур для протоколов взаимодействия равноправных объектов.

Уровень техники

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

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

Однако, если нет надежной защитной инфраструктуры, лежащей в основе протокола взаимодействия равноправных систем, то злонамеренные объекты смогут без труда подорвать способность указанных одноранговых систем обеспечивать суженный поиск. Указанные нарушения могут быть вызваны, например, объектом, который занимается кражей данных об идентичности. При такой атаке на одноранговую сеть, имеющей своей целью кражу данных об идентичности, злонамеренный узел сообщает (публикует) информацию об адресах для идентификаторов (ID), с которыми он не имеет санкционированных отношений, то есть не является ни их владельцем, ни групповым членом и т.п. Злонамеренный объект может также перехватить упомянутые данные и/или, представившись таким образом «добропорядочным» узлом, ответить первым до того, как среагирует действительно добропорядочный узел.

Злонамеренный объект может также затруднить разрешение согласно протоколу PNRP, заполнив сеть вредной информацией, в результате чего другие объекты в сети будут пытаться направлять запросы на несуществующие узлы (что негативно скажется на сходимости результатов поисков), либо на узлы, управляемые атакующим узлом. К аналогичному результату может также привести модификация пакета RESOLVE (превращение, разрешение), используемого для обнаружения ресурсов, перед направлением его дальше, либо посылка неправильного пакета RESPONSE (ответ) обратно запрашивающему объекту, который сформировал пакет RESOLVE. Злонамеренный объект может также попробовать нарушить работу одноранговой сети, попытавшись обеспечить, чтобы результаты поисков не сходились, например, таким образом: вместо того чтобы направить поиск к узлу в его кэш-памяти, который ближе к идентификатору ID, что способствует сходимости поиска, направляет поиск к узлу, который находится дальше от запрашиваемого ID. В альтернативном варианте злонамеренный объект может просто вообще не реагировать на запрос поиска. Разрешение согласно протоколу PNRP может быть дополнительно затруднено злонамеренным узлом, посылающим неправильное сообщение BYE (До свидания!) от имени правильного ID. В результате другие узлы в скоплении узлов удалят этот правильный ID из своей кэш-памяти, уменьшив количество хранящихся в ней достоверных узлов.

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

Если по протоколу взаимодействия равноправных систем требуется, чтобы вся информация о новых адресах проверялась с целью предотвращения кражи данных об идентичности, обсужденной выше, у злонамеренных объектов появляется возможность атаки третьего типа. Подобная атака, к которой чувствительны одноранговые сети указанных типов, имеет вид атаки типа «отказ от обслуживания (DoS)». Если все узлы, которые узнают о новых записях, попытаются выполнить проверку принадлежности ID, то возникнет всплеск сетевой активности, направленный на владельца, объявившего ID. Используя эту слабость, атакующий объект может поддерживать атаку типа IP DoS, направленную на конкретную цель, сделав эту цель особенно популярной. Например, если злонамеренный объект объявляет в качестве IP идентификаторов ID IP-адрес Web Microsoft, то все узлы в одноранговой сети, которые получают этот объявленный IP, попытаются соединиться с этим IP (IP Web-сервера Microsoft) для проверки подлинности записи. Конечно, сервер Microsoft не сможет проверить принадлежность ID, поскольку эту информацию создал атакующий узел. Однако ущерб уже нанесен. То есть атакующему узлу просто удалось заставить значительное количество участников одноранговой связи атаковать Microsoft.

Другая атака типа DoS, которая подавляет узел или скопление узлов путем истощения одного или нескольких ресурсов, совершается злонамеренным узлом, который посылает большой объем недействительных/подлинных сертификатов равноправных адресов (PAC) на один узел, например, используя пакеты FLOOD/RESOLVE/SOLICIT (наполнение/превращение/требование). Узел, который принимает эти сертификаты PAC, будет расходовать все ресурсы центрального процессора, пытаясь проверить все сертификаты PAC. Аналогично, посылая недействительные пакеты FLOOD/RESOLVE, злонамеренный узел добьется размножения пакетов в скоплении узлов. Иными словами, злонамеренный узел может расходовать полосу пропускания сети для скопления узлов, действующих по протоколу PNRP, используя небольшое количество указанных пакетов, поскольку узел, на который посылаются эти пакеты, будет выдавать ответы, высылая дополнительные пакеты. Злонамеренный узел может также добиться увеличения загрузки полосы пропускания сети, посылая ложные сообщения REQUEST, на которые добропорядочные узлы будут реагировать, заполняя сеть сертификатами PAC, которые имеют больший размер, чем сообщения REQUEST.

Злонамеренный узел может также совершить атаку в скоплении узлов, действующих согласно протоколу PNRP, затрудняя синхронизацию начального узла. То есть для соединения со скоплением узлов, действующих согласно протоколу PNRP, узел пытается подсоединиться к одному из тех узлов, которые уже находятся в скоплении узлов, действующих согласно протоколу PNRP. Если узел попытается соединиться с злонамеренным узлом, он может оказаться под глобальным контролем этого злонамеренного узла. Кроме того, злонамеренный узел может посылать недействительные пакеты REQUEST, когда два добропорядочных узла находятся в процессе синхронизации. Такая атака относится к типу DoS, при которой затрудняется синхронизация, поскольку недействительные пакеты REQUEST будут инициировать в ответ формирование сообщений FLOOD.

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

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

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

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

Согласно одному варианту настоящего изобретения предлагается способ формирования самопроверяемого незащищенного сертификата равноправного адреса (PAC), который не позволяет злонамеренному узлу сообщать защищенные идентифицирующие данные о другом узле в незащищенном PAC в одноранговой сети. Данный способ содержит этапы формирования незащищенного PAC для ресурса, поддающегося обнаружению в равноправной сети. Этот ресурс имеет идентификатор (ID) для взаимодействия с равноправными объектами. Кроме того, способ содержит этап включения унифицированного идентификатора ресурса (URI) в незащищенный PAC, из которого получают ID для взаимодействия с равноправными объектами. Предпочтительно, чтобы URI был представлен в формате «p2p://URI». Идентификатор для взаимодействия с равноправными объектами также может быть незащищенным.

В другом варианте предлагается способ удобной проверки сертификата равноправного адреса в первом узле в равноправной сети. В первом узле используется многоуровневая кэш-память для хранения сертификатов равноправных адресов, а способ содержит этапы заявленного приема сертификата равноправного адреса (РАС) от второго узла и определение того, на каком уровне многоуровневой кэш-памяти должен быть запомнен РАС. Если РАС необходимо запомнить на одном из двух самых низких уровней кэш-памяти, то согласно данному способу РАС размещают в отдельном списке, формируют сообщение INQUIRE (запрос), содержащее ID сертификата РАС, подлежащего проверке, и передают сообщение INQUIRE на второй узел. Если РАС должен храниться на более высоком уровне кэш-памяти, отличном от одного из двух самых низких уровней кэш-памяти, то согласно данному способу РАС запоминают на более высоком уровне кэш-памяти с пометкой «не проверен на действительность». В этом случае РАС будет проверен на действительность первый раз, когда он используется. Согласно данному способу для РАС можно также запросить последовательность сертификатов.

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

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

Еще в одном варианте настоящего изобретения предлагается способ подавления атаки типа «отказа от обслуживания» на основе процесса синхронизации в равноправной сети. Этот способ содержит этапы приема сообщения SOLICIT, запрашивающего синхронизацию кэш-памяти у первого узла, имеющего сертификат равноправного адреса (PAC); проверку PAC с целью определения его действительности; и сброс пакета SOLICIT, когда на этапе проверки PAC определено, что PAC недействителен. Предпочтительно, чтобы, если на этапе проверки PAC определено, что PAC действителен, способ дополнительно включал: формирование «временных данных» (данных времени, nonce); шифрование «временных данных» с использованием открытого ключа первого узла; формирование сообщения ADVERTISE (извещение), содержащего зашифрованные «временные данные»; и посылку сообщения ADVERTISE на первый узел. Когда от первого узла получено сообщение REQUEST, то согласно способу проверяют сообщение REQUEST с целью определить, мог ли первый узел расшифровать зашифрованные «временные данные», и обрабатывают сообщение REQUEST, если первый узел был способен расшифровать зашифрованные «временные данные».

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

Еще в одном варианте настоящего изобретения способ подавления атаки типа отказа от обслуживания на основе процесса синхронизации в равноправной сети включает этапы: заявленный прием сообщения REQUEST от первого узла; определение того, является ли сообщение REQUEST ответом на предыдущую связь с первым узлом; и отбрасывание (отклонение) сообщения REQUEST, когда сообщение REQUEST не является ответом на предыдущую связь с первым узлом. Предпочтительно, чтобы этап определения того, является ли сообщение REQUEST ответом на предыдущую связь, включал этапы: заявленное выделение «временных данных» и данных об идентичности первого узла из сообщения REQUEST; вычисление битовой позиции в качестве хэш-функции «временных данных» и данных об идентичности; проверку вектора битов, чтобы определить, имеется ли бит, установленный в соответствии с указанной битовой позицией; и указание о том, что сообщение REQUEST не является ответом на предыдущую связь с первым узлом, когда отсутствует бит, установленный в соответствии с указанной битовой позицией. Также предлагается способ подавления атак типа отказа от обслуживания на основе потребления ресурсов в узле в одноранговой сети. Способ включает этапы: прием сообщения от узла в одноранговой сети; проверку текущего использования ресурсов; и отказ от обработки сообщения, когда текущее использование ресурсов превысит заранее установленный предел. При приеме сообщения RESOLVE этап отказа от обработки сообщения включает этап посылки сообщения AUTHORITY на первый узел. Это сообщение AUTHORITY содержит указание о том, что сообщение RESOLVE не будет обработано, поскольку текущее использование ресурсов слишком велико. Когда получено сообщение FLOOD, содержащее сертификат равноправного адреса (PAC), и согласно данному способу определено, что PAC необходимо запомнить на одном и двух самых низких уровней кэш-памяти, то этап отказа от обработки упомянутого сообщения включает этап помещения PAC в отдельнный список для последующей обработки. Если согласно способу определено, что PAC следует запомнить на уровне кэш-памяти, расположенном выше двух самых низких уровней кэш-памяти, то этап отказа от обработки сообщения включает этап отбрасывания сообщения FLOOD.

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

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

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

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

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

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

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

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

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

фиг.3 - упрощенная блок-схема алгоритма обработки связи, иллюстрирующая защитные аспекты фазы обнаружения P2P синхронизации согласно варианту настоящего изобретения;

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

фиг.5 - упрощенная блок-схема алгоритма, иллюстрирующая защитные аспекты обработки пакета FLOOD согласно варианту настоящего изобретения; и

фиг.6 - упрощенная блок-схема алгоритма, иллюстрирующая защитные аспекты обработки пакета RESPONSE согласно варианту настоящего изобретения.

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

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

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

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

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

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

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

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

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

Компьютер 110 также может включать другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители. На фиг.1 только в качестве примера показан накопитель на жестких дисках 141, который считывает или записывает данные на несъемный, энергонезависимый магнитный носитель; накопитель на магнитном диске 151, который выполняет считывание или запись на съемный энергонезависимый магнитный диск 152, и накопитель на оптическом диске 155, который выполняет считывание или запись на съемный, энергонезависимый оптический диск 156, такой как ПЗУ на компакт-диске либо другой оптический носитель. Другие съемные/несъемные, энергозависимые/энергонезависимые запоминающие носители, которые можно использовать в приведенной в качестве примера рабочей среде, включают, но не только, кассеты с магнитной лентой, платы флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и т.п. Накопитель на жестких дисках 141 обычно подсоединен к системной шине 121 через несъемный интерфейс памяти, такой как интерфейс 140, а накопитель на магнитном диске 151 и накопитель на оптическом диске 155 обычно подсоединены к системной шине 121 через съемный интерфейс памяти, такой как интерфейс 150. Накопители и соответствующие компьютерные запоминающие носители, обсужденные выше и показанные на фиг.1, обеспечивают сохранение машинно-считываемых команд, структур данных, программных модулей и других данных для компьютера 110. К примеру, на фиг.1 показано, что накопитель на жестких дисках 141 хранит операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты либо могут совпадать, либо отличаться от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 представлены здесь под другими номерами, указывающими на то, что они являются, как минимум, другими копиями. Пользователь может ввести команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162 и указывающее устройство 161, обычно известное как «мышь», шаровой манипулятор или сенсорная панель. Другие устройства ввода (не показаны) могут включать микрофон, джойстик, игровую панель, спутниковую тарелку, сканер и т.п. Эти и другие устройства ввода часто подсоединяют к блоку обработки 120 через пользовательский интерфейс ввода 160, который связан с системной шиной, но может быть подсоединен через другие интерфейсные и шинные структуры, такие как параллельный порт, игровой порт или универсальную последовательную шину (USB). К системной шине 121 через интерфейс, к примеру видеоинтерфейс 190, также подсоединен монитор 191 либо устройство отображения другого типа. Вдобавок к монитору компьютеры также могут иметь и другие периферийные устройства вывода, такие как динамики 197 и принтер 196, которые могут быть подсоединены через периферийный интерфейс вывода 195.

Компьютер 110 может работать в сетевой среде, используя логические соединения с одним или несколькими удаленными компьютерами, таким как удаленный компьютер 180. Удаленный компьютер 180 может быть другим персональным компьютером, сервером, маршрутизатором, сетевым персональным компьютером, равноправным устройством либо другим общим сетевым узлом, причем этот удаленный компьютер обычно включает многие либо все элементы, описанные выше в связи с персональным компьютером 110, хотя на фиг.1 показано только запоминающее устройство 181. Логические соединения, показанные на фиг.1, включают локальную сеть (LAN) 171 и глобальную сеть (WAN) 173, но могут также включать и другие сети. Указанные сетевые среды - обычное явление для офисов, компьютерных сетей предприятий, интрасетей (сети Intranet) и сети Интернет. При использовании сетевой среды LAN персональный компьютер 110 подсоединяют к LAN 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде WAN компьютер 110 обычно включает модем 172, либо другое средство для установления соединений через WAN 173, такую как Интернет. Модем 172, который может быть встроенным или внешним, можно подсоединить к системной шине 121 через пользовательский интерфейс ввода 160 либо другое соответствующее устройство. В сетевой среде программные модули, относящиеся к персональному компьютеру 110 или их части, могут храниться в удаленном запоминающем устройстве. Как пример, но не как ограничение, на фиг.1 показаны удаленные прикладные программы 185, размещенные в запоминающем устройстве 181. Очевидно, что показанные сетевые соединения являются лишь примерами и что можно использовать другие средства установления линии связи между компьютерами.

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