Область техники, к которой относится изобретение
Настоящее изобретение относится к системам и способам для обеспечения идентификационной информации для компьютерной системы и оценивания, согласуется ли компьютерная система с сохраненной версией идентификационной информации. В частности, настоящее изобретение относится к системам и способам для обеспечения идентификатора (ИД, ID) оборудования для компьютерной системы, обладающего гибкостью и допускающего нормальные изменения, происходящие при использовании компьютерной системы.
Предшествующий уровень техники
Использование программного обеспечения часто регламентируется лицензией на программное обеспечение. Поскольку программное обеспечение можно легко копировать после продажи, трудно препятствовать использованию программного обеспечения без соответствующей лицензии. Такое использование включает в себя пиратство, т.е. умышленное тиражирование программного обеспечения и установку пиратских копий для использования в нелицензированных компьютерных системах. Приобретатель непиратской копии также может ненадлежащим образом использовать программное обеспечение вне объема соответствующей лицензии. Например, пользователь может установить программное обеспечение на большее количество компьютерных систем, чем допускает лицензия.
Хотя лицензии обеспечивают легальный путь для защиты от такой деятельности, на практике их требования трудно заставить исполнять. Соответственно, необходимы другие средства уменьшения объема использования программного обеспечения, противоречащего положениям лицензии. Один такой способ основан на создании идентификатора для компьютерной системы пользователя, имеющего лицензию на использование программного обеспечения. Этот способ подробно описан в патенте США № 6243468, озаглавленном “Software Anti-Piracy System That Adapts to Hardware Upgrates” («Программная антипиратская система, адаптируемая к обновлениям оборудования»), и в опубликованной патентной заявке США № 20010044782.
Компьютерные системы обычно содержат различные элементы оборудования, в том числе накопители на жестких дисках, приводы CDROM и процессоры. Каждый из этих аппаратных компонентов имеет идентификаторы (серийные номера или имена), доступ к которым система может выполнить, например, при выполнении вызова “plug-and-play” (PnP). Эти идентификаторы компонентов можно комбинировать определенным образом для создания идентификатора оборудования (ИДОБ, HWID), который можно использовать для идентификации конкретной компьютерной системы.
Существенно, что ИДОБ можно применять частично или в сочетании с лицензией на программное обеспечение, чтобы гарантировать, что программное обеспечение, лицензированное для использования в конкретной компьютерной системе, используется только в этой компьютерной системе. В частности, программное обеспечение с лицензией, задающей ИДОБ, будет работать только в компьютерной системе, если, во время запуска, ИДОБ, вычисленный для компьютерной системы, совпадает с ИДОБ, указанным в лицензии на программное обеспечение.
Однако, когда пользователь компьютерной системы добавляет, удаляет или меняет компоненты системы, например, в целях ремонта или обновления, ИДОБ изменяется. Каждый новый или замененный компонент будет иметь новый идентификатор компонента. Таким образом, при вычислении ИДОБ для системы наличие нового идентификатора компонента приведет к изменению ИДОБ. Это создает проблемы, если пользователь получил лицензию на программное обеспечение, в которой указан ИДОБ для предыдущей версии его компьютерной системы.
Соответственно, применяют известный способ принятия сохраненного ИДОБ как по существу совпадающего со вновь вычисленным ИДОБ при сравнении с последним, чтобы пользователь мог запускать программное обеспечение. Например, в вышеупомянутом патенте США № 6,243,468 описан пример, когда в ИДОБ входит пять идентификаторов компонента, и если для четырех из них обнаружено совпадение, то программный продукт получает возможность работать в компьютерной системе.
Уровень техники не учитывает тот факт, что определенные компоненты могут меняться чаще других. Не рассматривается также возможность снижения требований к совпадению в соответствии с лицензией для компьютерной системы по прошествии времени в связи с тем, что ценность программного обеспечения может снижаться со временем. Система лицензирования на основе ИДОБ, которая учитывает эти факты, обеспечила бы повышенную защиту и допускала бы динамическую защиту, зависящую от времени.
Ввиду вышеописанного, требуется система, которая позволяет использовать ИДОБ для идентификации и привязки лицензированного экземпляра программного обеспечения к одной компьютерной системе и в то же время допускает изменения в компьютерной системе законного пользователя с гибкостью, необходимой для учета изменений компьютерной системы и адаптации к ходу времени.
Сущность изобретения
Ввиду вышеизложенного, настоящее изобретение обеспечивает системы и способы для обеспечения ИДОБ, который остается пригодным даже при изменении конфигурации системы.
Согласно одному варианту осуществления при активации программного обеспечения вычисляется ИДОБ системы. Код активации продукта в программном обеспечении или где-то еще в системе опрашивает имеющиеся компоненты оборудования для получения информации, касающейся этих компонентов. Например, можно проводить опрос сетевой карты для определения адреса МАС (уровня управления доступом к среде). Информация, касающаяся компонентов оборудования для каждого типа компонента оборудования, хэшируется. Хэшированные значения объединяются в ИДОБ.
ИДОБ, вычисленный при активации, включается в файл данных лицензии. Помимо ИДОБ активации, туда входят также вектор времени и веса, содержащий значения времени и веса для каждого компонента оборудования. В файл данных лицензии входит также пороговое значение оценки совпадения. Этот файл данных лицензии нужно оценивать каждый раз при использовании программного обеспечения. Когда лицензия требует верификации компьютерной системы, производится повторная оценка ИДОБ системы и сравнение вновь вычисленного ИДОБ с ИДОБ активации.
При сравнении вновь вычисленного ИДОБ с ИДОБ активации для определения того, совпадают ли два ИДОБ, используются временной вектор и весовой вектор. Значения временного вектора для компонента определяют, нужно ли учитывать компонент при определении того, совпадает ли по существу вновь вычисленный ИДОБ с ИДОБ активации. Значение весового вектора для компонента определяет, с каким весом нужно учитывать компонент при определении того, совпадает ли по существу вновь вычисленный ИДОБ с ИДОБ активации.
Другие признаки и варианты осуществления настоящего изобретения описаны ниже.
Перечень фигур чертежей
Система и способы для обеспечения прямого отображения с усреднением и видимостью согласно настоящему изобретению дополнительно описаны со ссылкой на прилагаемые чертежи, в которых:
фиг.1 - блок-схема иллюстративной неограничительной вычислительной системы, в которой можно реализовать настоящее изобретение;
фиг.2 - блок-схема данных лицензии в одном варианте осуществления изобретения;
фиг.3 - блок-схема способа сравнения каждого сохраненного идентификатора компонента с текущим идентификатором компонента с использованием весового вектора;
и фиг.4 - блок-схема способа сравнения каждого сохраненного идентификатора компонента с текущим идентификатором компонента с использованием временного вектора.
Подробное описание изобретения
Обзор
В одном варианте осуществления вычисляется текущий ИД оборудования (ИДОБ). Для каждого типа компонента из совокупности учитываемых типов компонентов, опрашиваются компоненты этого типа. В одном варианте осуществления каждый результат хэшируется. Полученные значения образуют текущий ИДОБ.
В одном варианте осуществления в файле лицензии, ассоциированном с программным обеспечением, хранятся ИДОБ активации, временной вектор, весовой вектор и пороговое значение оценки совпадения. Чтобы пользователь мог использовать программное обеспечение, текущий ИДОБ компьютерной системы должен по существу совпадать с ИДОБ активации. Временной вектор, весовой вектор и пороговое значение оценки совпадения используются при определении наличия совпадения по существу.
Для определения того, совпадает ли по существу текущий ИДОБ с ИДОБ активации для каждого типа компонента, каждое сохраненное хэшированное значение для компонентов этого типа сравнивается с хэшированным значением для каждого текущего компонента этого типа. В одном варианте осуществления вычисляется оценка совпадения для общего сравнения. Любое совпадение указывает, что компонент, существовавший в системе на момент вычисления сохраненного ИДОБ, все еще присутствует в системе. При обнаружении такого совпадения происходит увеличение значения оценки совпадения для сравнения. Если оценка совпадения больше или равна пороговому значению оценки совпадения, значит текущий ИДОБ по существу совпадает с ИДОБ активации.
Для каждого типа компонента весовой вектор указывает вес, с которым следует учитывать этот тип компонента. При увеличении оценки совпадения в случае наличия совпадения для типа компонента оценка совпадения увеличивается на значение веса для этого типа компонента.
Временной вектор также ассоциирован с сохраненным ИДОБ. Для каждого типа компонента временной вектор может указывать срок применения. По истечении срока применения, даже в отсутствие совпадения для компонента, оценка совпадения увеличивается на значение веса. Таким образом, обеспечивается система ИДОБ, которая может присваивать разные веса разным компонентам и которая обладает повышенной гибкостью допусков на изменения оборудования в компьютерной системе. В другом варианте осуществления используется только временной вектор. В еще одном варианте осуществления используется только весовой вектор.
Иллюстративное вычислительное устройство
Фиг.1 и нижеследующее рассмотрение призваны обеспечить краткое общее описание вычислительной среды, пригодной для реализации изобретения. Однако следует понимать, что для использования в связи с настоящим изобретением, которое описано выше, можно рассматривать карманные, портативные и другие вычислительные устройства и вычислительные объекты всех видов. Таким образом, нижеследующее описание компьютера общего назначения приведено только для примера, и настоящее изобретение можно реализовать на других вычислительных устройствах, например на тонком клиенте, имеющем возможность взаимодействия через сеть/шину. Таким образом, настоящее изобретение можно реализовать в среде сетевых услуг на основе хостов, в которых задействуются очень малые или минимальные ресурсы клиентов, например, в сетевой среде, в которой клиентское устройство выступает лишь в качестве интерфейса с сетью/шиной, в том числе в виде объекта, помещенного в бытовой прибор, или в виде других вычислительных устройств или объектов. В сущности, желательная или подходящая операционная среда, отвечающая изобретению, - это среда, где можно хранить данные или откуда можно извлекать данные.
Хотя это и не требуется, изобретение можно реализовать посредством операционной системы, для использования разработчиком услуг для устройства или объекта, и/или в составе прикладного программного обеспечения, которое действует согласно изобретению. Программное обеспечение можно описать в общем контексте машиноисполняемых команд, например, программных модулей, выполняемых на одном или нескольких компьютерах, например клиентских рабочих станций, серверов или других устройств. В целом, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют определенные задания или реализуют те или иные абстрактные типы данных. Обычно функциональные возможности программных модулей можно объединять или распределять, по желанию, в различных вариантах осуществления. Кроме того, специалистам в данной области техники очевидно, что изобретение можно осуществлять на практике в других конфигурациях компьютеров. Примеры общеизвестных вычислительных систем, сред и/или конфигураций, которые могут быть пригодны для использования в соответствии с изобретением, включают в себя, но не только, персональные компьютеры (ПК), банкоматы, компьютеры-серверы, карманные или портативные устройства, многопроцессорные системы, системы на основе микропроцессора, программируемую бытовую электронику, сетевые ПК, бытовые приборы, осветительные приборы, элементы контроля окружающей среды, миникомпьютеры, универсальные компьютеры и т.д. Изобретение также можно применять в распределенных вычислительных средах, где задания выполняются удаленными обрабатывающими устройствами, связанными посредством сети связи/шины или другой среды передачи данных. В распределенной вычислительной среде программные модули могут размещаться как на локальных, так и на удаленных компьютерных носителях информации, включая запоминающие устройства, и узлы-клиенты могут, в свою очередь, вести себя как узлы-серверы.
На фиг.1 показан пример среды 100 вычислительной системы, пригодной для реализации изобретения, хотя, как было отмечено выше, среда 100 вычислительной системы является лишь одним примером подходящей вычислительной среды и не должна рассматриваться в плане какого-либо ограничения объема применения или функциональных возможностей изобретения. Вычислительную среду 100 также не следует рассматривать как имеющую какую-либо зависимость или ограничение в связи с каким-либо компонентом или какой-либо комбинацией компонентов, показанных в иллюстративной рабочей среде 100.
Согласно фиг.1 иллюстративная система для реализации изобретения содержит вычислительное устройство общего назначения в виде компьютерной системы 110. Компоненты компьютерной системы 110 могут включать в себя, но не только, процессор 120, системную память 130 и системную шину 121, посредством которой различные компоненты системы, включая системную память, подключены к процессору 120. Системная шина 121 может относиться к любому из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующих любую из разнообразных шинных архитектур. В порядке примера, но не ограничения, такие архитектуры включают в себя шину, соответствующую промышленному стандарту архитектуры (ISA), шину, соответствующую стандарту микроканальной архитектуры (МСА), шину, соответствующую расширенному ISA (EISA), локальную шину, соответствующую стандарту Ассоциации по стандартам в области видеоэлектроники (VESA), и шину, соответствующую стандарту подключения периферийных компонентов (PCI) (именуемую также шиной расширения).
Компьютер 110 обычно включает в себя разнообразные машиночитаемые носители. Машиночитаемые носители могут представлять собой любые имеющиеся носители, к которым может обращаться компьютер 110, в том числе, энергозависимые и энергонезависимые носители, сменные и стационарные носители. В порядке примера, но не ограничения, машиночитаемые носители могут включать в себя компьютерные носители для хранения данных и среды передачи данных. Компьютерные носители для хранения данных включают в себя энергозависимые и энергонезависимые, сменные и стационарные носители, предусматривающие любой метод или технологию хранения информации, например, машиночитаемых команд, структур данных, программных модулей или иных данных. Компьютерные носители для хранения данных включают в себя, помимо прочего, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое ПЗУ (ЭСППЗУ, EEPROM), флэш-память или другие запоминающие устройства, ПЗУ на компакт-диске (CD-ROM), цифровые универсальные диски (DVD) или иной оптический дисковый носитель данных, магнитные кассеты, магнитную ленту, магнитный дисковый носитель данных или иные магнитные запоминающие устройства или любой иной носитель, который можно использовать для хранения полезной информации и к которому может обращаться компьютерная система 110. Среды передачи данных обычно реализуют машиночитаемые команды, структуры данных, программные модули или иные данные в виде сигнала, модулируемого данными, например несущей волны или иного транспортного механизма, и включают в себя любые среды доставки информации. Термин «сигнал, модулируемый данными» означает сигнал, одну или несколько характеристик которого задают или изменяют определенным образом, кодируя в нем информацию. Среды передачи данных могут, например, помимо прочего, включать в себя проводные среды, например проводную сеть или прямое проводное соединение, и беспроводные среды, например акустические, РЧ (радиочастотные), инфракрасные и другие беспроводные среды. Понятие машино-читаемого носителя охватывает также любые комбинации вышеперечисленных носителей. Системная память 130 включает в себя компьютерные носители для хранения данных в виде энергозависимой и энергонезависимой памяти, например постоянного запоминающего устройства (ПЗУ) 131 и оперативного запоминающего устройства (ОЗУ) 132. Базовая система ввода/вывода (BIOS) 133, содержащая базовые процедуры, обеспечивающие перенос информации между элементами компьютерной системы 110, например при запуске, обычно хранится в ПЗУ 131. В ОЗУ 132 обычно хранятся данные и программные модули, подлежащие быстрому доступу со стороны процессора 120, или обрабатываемые им в данный момент. В порядке примера, но не ограничения, на фиг.1 показаны операционная система 134, прикладные программы 135, другие программные модули 136 и данные 137 программ.
Компьютерная система 110 может также содержать другие сменные/стационарные, энергозависимые/энергонезависимые компьютерные носители для хранения данных. Исключительно в порядке примера, на фиг.1 показан накопитель 141 на жестких дисках, который позволяет считывать информацию со стационарного энергонезависимого магнитного носителя и записывать информацию на него, дисковод 151 для магнитных дисков, который считывает информацию со сменного энергонезависимого магнитного диска 152 или записывает информацию на него, и дисковод 155 для оптических дисков, который считывает информацию со сменного энергонезависимого оптического диска 156, например CD-ROM или иного оптического носителя, или записывает информацию на него. В иллюстративной операционной среде можно также использовать другие сменные/стационарные, энергозависимые/энергонезависимые компьютерные носители для хранения данных, например, но не только кассеты с магнитной лентой, карты флэш-памяти, цифровые универсальные диски, ленту для цифровой видеозаписи, полупроводниковое ОЗУ, полупроводниковое ПЗУ и т.д. Накопитель 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 пользовательского ввода, подключенный к системной шине 121, но возможно их подключение посредством других интерфейсов и шинных структур, например параллельного порта, игрового порта или универсальной последовательной шины (USB). К системной шине 121 также может быть подключен графический интерфейс 182, например «северный мост». Северный мост - это набор микросхем, осуществляющий связь с центральным процессором (ЦП, CPU) 120 и, как предполагается, отвечающий за связь через ускоренный графический порт (AGP). Через графический интерфейс 182 могут осуществлять связь один или несколько графических процессоров (ГП, GPU) 184. При этом ГП 184 обычно содержат внутрикристальную память, например регистровую память, и ГП 184 осуществляют связь с видеопамятью 186. Однако ГП 184 является не единственным примером сопроцессора и, таким образом, в состав компьютерной системы 110 могут входить разнообразные устройства параллельной обработки. Монитор 191 или устройство визуализации другого типа также подключено к системной шине 121 посредством интерфейса, например видеоинтерфейса 190, который может, в свою очередь, осуществлять связь с видеопамятью 186. Помимо монитора 191, компьютерные системы могут также содержать другие периферийные устройства вывода, например громкоговорители 197 и принтер 196, для подключения которых можно использовать интерфейс 195 периферийных устройств вывода.Компьютерная система 110 может работать в сетевой или распределенной среде, используя логические соединения с одним или несколькими удаленными компьютерами, например удаленным компьютером 180. Удаленный компьютер 180 может представлять собой персональный компьютер, сервер, маршрутизатор, сетевой ПК, одноранговое устройство или другой общий узел сети и обычно содержит многие или все элементы, описанные выше применительно к компьютерной системе 110, хотя на фиг.1 изображено только запоминающее устройство 181. Логические соединения, указанные на фиг.1, включают в себя локальную сеть (ЛС, LAN) 171 и глобальную сеть (ГС, WAN) 173, но также могут включать в себя другие сети/шины. Такие сетевые среды широко распространены в домах, учреждениях, компьютерных сетях масштаба предприятия, интранетах и в Интернете.
Компьютерная система 110, используемая в сетевой среде ЛС, подключена к ЛС 171 посредством сетевого интерфейса или адаптера 170. Компьютерная система 110, используемая в сетевой среде ГС, обычно содержит модем 172 или другое средство установления связи через ГС 173, например Интернет. Модем 172, который может быть внутренним или внешним, можно подключать к системной шине 121 посредством интерфейса 160 пользовательского ввода или другого подходящего механизма. В сетевой среде программные модули, указанные применительно к компьютерной системе 110, или их фрагменты могут храниться в удаленном запоминающем устройстве. В порядке примера, но не в целях ограничения, на фиг.1 показано, что удаленные прикладные программы 185 хранятся в запоминающем устройстве 181. Очевидно, что помимо сетевых линий связи, показанных в качестве примера, для установления линии связи между компьютерами можно использовать другие средства.
В свете сближения персональных вычислений и Интернета разработаны и разрабатываются разнообразные структуры распределенного вычисления. Частным лицам и корпоративным пользователям предоставляется интерфейс с возможностью прозрачного взаимодействия и Web-функциями для приложений и вычислительных устройств, в результате чего вычислительная деятельность все более ориентируется на Web-браузер или сеть.
Например, платформа NET фирмы MICROSOFT® содержит серверы, службы блочной компоновки, например хранилище данных на Web-основе и загружаемое программное обеспечение устройств. Хотя иллюстративные варианты осуществления описаны здесь применительно к программному обеспечению, размещенному в вычислительном устройстве, одну или несколько частей изобретения можно также реализовать посредством операционной системы, интерфейса прикладного программирования (API) или объекта-посредника между любыми из сопроцессора, устройства отображения и запрашивающего объекта, что позволяет выполнять, поддерживать и осуществлять доступ к операции, отвечающей изобретению, посредством всех языков и служб.NET, а также в других структурах распределенного вычисления.
Транзакция лицензирования
Транзакция лицензирования происходит во время или после того, как пользователь приобретает программный продукт для запуска на компьютерной системе 110. Программный продукт, например, может представлять собой архивированный продукт, имеющий программу, хранящуюся на переносном машиночитаемом носителе, например, DVD, CDROM или дискете. Программный продукт может также доставляться электронными средствами по сети. Пользователь загружает программный продукт в компьютерную систему 110. Однако программное обеспечение может не работать без данных лицензии. Чтобы получить данные лицензии, пользователь должен «активировать» программное обеспечение, связавшись с организацией, уполномоченной лицензиаром программного обеспечения, например центром обмена информацией. Этот центр обмена информацией, например, является производителем продукта или уполномоченной третьей стороной. Процесс активации позволяет потребителю активировать программный продукт для установки и использования на конкретной компьютерной системе благодаря предоставлению потребителю необходимых данных лицензии.
Контакт с центром обмена информацией можно осуществлять с компьютерной системы 110 по сети, например, Интернет или посредством коммутируемого соединения с компьютером центра обмена информацией, который в случае успешной активации посылает данные лицензии на компьютерную систему 110. Альтернативно, программный продукт поддерживает активацию с помощью диалогового окна графического интерфейса пользователя (ГИП, GUI), в котором пользователя просят связаться с представителем обслуживания в центре обмена информацией. В окне ГИП перечислена информация, которую пользователь сообщает представителю обслуживания, а также имеется окно ввода для ввода информации лицензии, полученной от представителя обслуживания, которая используется для создания данных лицензии, позволяющих использовать программное обеспечение.
Обеспечение ИД оборудования с гибкими границами допусков в зависимости от времени и веса
В одном варианте осуществления файл лицензии, ассоциированный с программным обеспечением, содержит ИДОБ активации, временной вектор, весовой вектор и пороговое значение оценки. При необходимости проверить лицензию вычисляется текущий ИД оборудования (ИДОБ). Для каждого типа компонента из совокупности учитываемых типов компонентов опрашиваются компоненты этого типа. Каждый результат хэшируется. Полученные значения образуют текущий ИДОБ. Чтобы пользователь мог использовать программное обеспечение, текущий ИДОБ компьютерной системы должен по существу совпадать с ИДОБ активации. Временной вектор, весовой вектор и пороговое значение оценки используются при определении наличия совпадения по существу.
Согласно одному варианту осуществления данные 200 лицензии содержат ИДОБ 210 активации, весовой вектор 220, временной вектор 230 и пороговое значение оценки 240, как показано на фиг.2. Эта информация используется для определения во время запуска того, указывает ли текущий ИДОБ системы, что она приемлема, чтобы позволить пользователю использовать программное обеспечение в данной компьютерной системе.
В одном варианте осуществления согласно фиг.1 для расчета ИДОБ используются следующие типы компонентов: звуковая карта (расположенная в интерфейсе 195 периферийных устройств вывода); сетевая карта (расположенная в сетевом интерфейсе 170), BIOS 133; привод 155 CDROM, адаптер дисплея (содержащий ГП 184); дисковое устройство 151, адаптер SCSI, дисковый адаптер, процессор 120 и ОЗУ 132. Конечно, не выходя за рамки сущности и объема настоящего изобретения, можно использовать другие компоненты, и можно использовать любую комбинацию из одного или нескольких из этих компонентов.
При вычислении ИДОБ для определения идентификаторов этих компонентов выполняются опросы «plug-and-play» (PnP) или другие опросы. Некоторые компоненты, например процессор 120, можно идентифицировать по серийному номеру. Другие, например, BIOS 133, можно идентифицировать по части BIOS 133, например первым двум килобайтам BIOS, хранящегося в ПЗУ 131. ОЗУ 132, например, можно идентифицировать по ее полной емкости.
В качестве дополнительного примера, сетевую карту можно идентифицировать по МАС-адресу. Адрес МАС (управление доступом к среде) - это уникальный адрес, который идентифицирует сетевую карту. В локальной сети (ЛС) или другой сети, МАС-адрес используется в качестве уникального номера оборудования компьютерной системы. Когда компьютерная система подключается к Интернету, этот номер используется для индексирования правильного IP-адреса для компьютерной системы. МАС-адрес сетевой карты - это уникальный номер, зашитый в сетевую карту ее производителем. Блоки адресов присваиваются каждому производителю сетевых карт, и они зашиваются в микросхемы на их сетевых картах.
Как показано, ИДОБ 210 активации содержит, для каждого типа компонента, число компонентов этого типа на момент активации. ИДОБ 210 активации также содержит значение для каждого компонента. В одном варианте осуществления идентификаторы оборудования хэшируются для получения хэшированного значения, которое включается в ИДОБ. Например, как показано на фиг.2, на момент активации было установлено четыре привода CDROM. Согласно одному варианту осуществления в ИДОБ хранится хэшированное значение для каждого компонента. Например, в иллюстративном ИДОБ 210 активации хэшированными идентификаторами для четырех приводов CDROM являются cdrom1, cdrom2, cdrom3 и cdrom4.
В одном варианте осуществления, хэш-функция, используемая для хэширования идентификаторов компонентов, представляет собой функцию модуля. Например, хэшированное значение BIOS1, представляющее компонент BIOS в ИДОБ 210, может представлять собой первые два килобайта BIOS по модулю 8. Конечно, не выходя за рамки сущности и объема настоящего изобретения, можно использовать любую другую хэш-функцию.
В одном варианте осуществления в данные 200 лицензии также входят весовой вектор 220 и пороговое значение 240 оценки. При сравнении вновь вычисленного ИДОБ с ИДОБ 210 активации, что позволяет определить, можно ли на компьютерной системе запускать программное обеспечение, соответствующее данным 200 лицензии, опрашивается каждый компонент конкретного типа компонента, присутствующего в системе. Для каждого присутствующего компонента конкретного типа компонента, результат опроса хэшируется для создания хэшированного идентификатора компонента. Эти хэшированные идентификаторы компонента включаются во вновь вычисленный ИДОБ.Производится сравнение ИДОБ активации и вновь вычисленного ИДОБ. Поддерживается текущее суммарное значение оценки совпадения. Для каждого типа компонента в случае совпадения любого из этих хэшированных значений для компонента этого типа во вновь вычисленном ИДОБ с каким-либо из хэшированных значений этого типа компонента в ИДОБ 210 активации происходит увеличение значения оценки совпадения. Если после вычисления оценки совпадения она оказывается больше или равна пороговому значению оценки, значит текущий ИДОБ по существу совпадает с ИДОБ активации. В другом варианте осуществления для увеличения значения оценки совпадения нужно, чтобы ИДОБ совпадали точно. В еще одном варианте осуществления для увеличения значения оценки совпадения для данного типа компонента каждый компонент данного типа, присутствующий в ИДОБ активации, должен присутствовать во вновь вычисленном ИДОБ. Не выходя за рамки сущности и объема изобретения можно использовать и другие методы определения совпадения между ИДОБ для типа компонента.
Весовой вектор 220 определяет величину приращения. Например, при совпадении идентификатора BIOS значение оценки совпадения увеличится на три, тогда как при совпадении идентификатора CDROM значение оценки совпадения увеличится только на единицу.
Кроме того, согласно еще одному варианту осуществления при вычислении оценки совпадения можно использовать временной вектор 230. Для любого компонента, если временной вектор 230 содержит значение для этого компонента, это значение выражает срок применения для использования этого компонента при сравнении двух ИДОБ. Например, в иллюстративных данных 200 лицензии, представленных на фиг.2, для некоторых компонентов хранится период времени. В иллюстративных данных 200 лицензии сохраненный период времени для компонентов CDROM равен двум годам. Таким образом, по прошествии двух лет после лицензирования, несовпадение значений, соответствующих приводам CDROM, присутствующим в настоящее время в компьютерной системе, не окажет негативного влияния на оценку совпадения. Поэтому значение оценки совпадения увеличится на единицу (значение в весовом векторе 220) независимо от присутствия или отсутствия в компьютерной системе CDROM, идентификатор которого совпадает со значениями, сохраненными в ИДОБ 210 активации (а именно, cdrom1, cdrom2, cdrom3 и cdrom4). В другом варианте осуществления значение оценки совпадения увеличивается на определенное значение (независимо от значения весового вектора 220), когда значение оценки совпадения увеличивается в силу истечения срока применения, а не совпадения.
Чтобы можно было учесть истечение срока применения, можно включить в данные 200 лицензии дату выдачи лицензии. Альтернативно, каждое значение временного вектора 230 может выражать дату установки. Дополнительно, можно реализовать средства защиты, гарантирующие, что переустановка системных часов не помешает сравнению по дате. В случае отсутствия во временном векторе 230 допустимой даты для типа компонента (в одном варианте осуществления, когда значение равно нулю), компонент всегда используется для определения оценки совпадения. Например, временной вектор 230 указывает, что срок применения установлен только для компонентов MAC, CDROM и Дисплей. Для других компонентов - нет.
В одном варианте осуществления в данные лицензии входит только весовой вектор, но не временной вектор. В этом варианте осуществления для сравнения двух ИДОБ учитывается каждый компонент, и значение оценки совпадения увеличивается только при наличии совпадения. Согласно фиг.3 на этапе 310 получают текущую идентификационную информацию для каждого из рассматриваемых компонентов системы. На этапе 320 текущую идентификационную информацию сравнивают с сохраненной идентификационной информацией компонента из ИДОБ активации. В случае использования хэш-функции, идентификационную информацию хэшируют и сравнивают с сохраненной, также хэшированной, идентификационной информацией компонента. На этапе 330 при наличии совпадения для данного типа компонента значение оценки совпадения увеличивается на значение весового вектора, ассоциированное с этим типом компонента. Наконец, на этапе 340 после учета всех компонентов оценку совпадения сравнивают с пороговым значением оценки совпадения, чтобы определить наличие совпадения. Этот тест можно использовать по-разному. Например, если сравнение производится для того, чтобы определить, имеет ли система лицензию на запуск программного обеспечения, то при наличии совпадения компьютерной системе разрешается запускать это программное обеспечение.
В другом варианте осуществления в данные 200 лицензии входит только временной вектор, но не весовой вектор. В этом варианте осуществления при наличии совпадения для компонента к значению оценки совпадения прибавляется одно и то же значение независимо от типа сравниваемого компонента. Однако, если время, указанное для типа компонента, истекло, то даже в отсутствие совпадения значение оценки совпадения все равно увеличивается. Согласно фиг.4 на этапе 410 получают компоненты ИДОБ, т.е. текущую идентификационную информацию для каждого из рассматриваемых компонентов системы. На этапе 420 текущую идентификационную информацию сравнивают с сохраненной идентификационной информацией компонента из ИДОБ 210 активации. На этапе 430 при наличии совпадения для данного типа компонента или по истечении срока применения этого типа компонента, увеличивают значение оценки. Как и раньше, на этапе 440 оценку совпадения сравнивают с пороговым значением оценки совпадения, чтобы определить наличие совпадения.
В одном варианте осуществления оценка совпадения входит в данные 200 лицензии. В другом варианте осуществления оценка совпадения жестко запрограммирована в вычислении наличия совпадения по существу. Таким образом, данные 200 лицензии содержат только временной вектор, только весовой вектор или временной и весовой векторы совместно, и при любой из этих комбинаций могут содержать оценку совпадения или, альтернативно, могут использовать оценку совпадения, жестко запрограммированную в вычислении наличия совпадения по существу.
Благодаря использованию временного вектора, весового вектора или их обоих, лицензия уже не является пассивными данными, но играет роль в данных сравнения лицензии. Лицензиар или центр обмена информацией может в большей степени контролировать действия пользователя. Например, лицензиар может исследовать пользователей и обнаружить, что значительная их часть меняет видеокарты каждые два года. С учетом этого, лицензиар может установить в новых лицензиях значение времени для видеокарт, равное двум годам. Позднее, может оказаться, что новые видеокарты появятся в продаже через шесть месяцев и тогда большинство пользователей сменят свои видеокарты. В этом случае лицензиар может установить в новых лицензиях значение времени, равное шести месяцам. При описании поведения пользователей может выясниться, что периодичность, с которой пользователи меняют CDROM, колеблется в широких пределах, но другие значения времени определены очень точно. С учетом этого, лицензиар может установить значение веса для приводов CDROM ниже, чем значения веса для других компонентов.
В одном варианте осуществления весовой вектор используется, чтобы реагировать на изменения информации, касающейся пользователя. Пользователь получает первую лицензию на программное обеспечение. Затем, например, по истечении периода оценки, пользователь получает вторую лицензию на программное обеспечение. ИДОБ первой активации сравнивают с ИДОБ второй активации и соответственно регулируют значения веса для компонентов. В одном варианте осуществления компоненты, которые были заменены, получают повышенный вес по сравнению с компонентами, оставшимися без изменений. Это отражает предположение о том, что недавно замененные компоненты не будут заменены в ближайшее время. В другом таком варианте осуществления компонентам, которые были заменены, присваивают пониженный вес по сравнению с компонентами, оставшимися без изменений. Это отражает предположение о том, что пользователь, скорее всего, испытывает или меняет компоненты, которые уже были заменены пользователем.
Заключение
Как было отмечено выше, хотя иллюстративные варианты осуществления настоящего изобретения были описаны применительно к различным вычислительным устройствам и сетевым архитектурам, его основные идеи применимы к любому вычислительному устройству или системе, в которой желательно реализовать ИД оборудования. Таким образом, способы и системы, отвечающие настоящему изобретению, можно применять к разнообразным приложениям и устройствам. Например, алгоритм(ы) изобретения можно применять к операционной системе вычислительного устройства, обеспеченной как отдельный объект устройства, как часть другого объекта, как объект, загружаемый с сервера, как посредник между устройством или объектом и сетью, как распределенный объект и т.д. Хотя иллюстративные языки программирования, имена и примеры выбраны здесь как представители различных вариантов выбора, эти языки, имена и примеры не предназначены для ограничения. Специалисту в данной области техники очевидно, что можно по-разному обеспечивать объектный код, позволяющий реализовать идентичные, аналогичные или эквивалентные системы и способы, отвечающие изобретению.
Различные описанные здесь методики можно реализовать в аппаратных средствах, программных средствах или, при необходимости, в их комбинации. Таким образом, способы и устройства, отвечающие настоящему изобретению, или определенные его аспекты или части могут быть реализованы в виде программного кода (т.е. команд), воплощенного на материальных носителях, например дискетах, компакт-дисках, накопителях на жестких дисках или ином машиночитаемом носителе информации, причем когда программный код загружается в машину, например компьютер, и выполняется ею, машина становится устройством для практического осуществления изобретения. В случае выполнения программного кода на программируемых компьютерах, вычислительное устройство обычно содержит процессор, носитель информации, считываемый процессором (включая энергозависимую и энергонезависимую память и/или запоминающие элементы), по меньшей мере, одно устройство ввода и, по меньшей мере, одно устройство вывода. Одна или несколько программ, которые могут использовать службы обработки сигналов, отвечающие настоящему изобретению, например, путем использования API обработки данных и т.п., предпочтительно, реализованы на процедурно- или объектно-ориентированном языке программирования высокого уровня для связи с компьютером. Однако, при желании, программу(ы) можно реализовать на ассемблере или машинном языке. В любом случае язык может представлять собой компилируемый или интерпретируемый язык и может сочетаться с аппаратными реализациями.
Способы и устройства, отвечающие настоящему изобретению, можно также осуществлять на практике посредством связи, т.е. передачи программного кода по некоторой среде передачи, например по электрическим проводам или кабелям, посредством волоконной оптики или любого другого вида связи, причем при приеме, загрузке и выполнении программного кода на машине, такой как стираемое программируемое ПЗУ (СППЗУ, EPROM), вентильная матрица, программируемое логическое устройство (ПЛУ, PLD), компьютер-клиент, видеомагнитофон и т.п., или принимающая машина, имеющая возможности обработки сигнала, описанные выше в иллюстративных вариантах осуществления, становится устройством для практического осуществления изобретения. В случае реализации на процессоре общего назначения, программный код в сочетании с процессором обеспечивает уникальное устройство, в работе которого реализуются функциональные возможности настоящего изобретения. Дополнительно, любые методики хранения, используемые в связи с настоящим изобретением, могут неизменно представлять собой сочетание оборудования и программного обеспечения.
Хотя настоящее изобретение было описано применительно к предпочтительным вариантам осуществления, показанным на различных фигурах, следует понимать, что можно использовать другие подобные варианты осуществления или можно делать добавления и модификации описанного варианта осуществления для осуществления той же функции настоящего изобретения, не отклоняясь от него. Кроме того, следует обратить внимание на то, что подлежат рассмотрению различные компьютерные платформы, включая операционные системы карманных устройств и другие операционные системы, ориентированные на применение, в особенности, в связи с постоянным распространением беспроводных сетевых устройств. Кроме того, настоящее изобретение можно реализовать на совокупности микросхем или устройств обработки и хранение можно аналогично осуществлять на совокупности устройств. Поэтому настоящее изобретение не следует ограничивать каким-либо одним вариантом осуществления, но рассматривать во всей ширине объема, определяемого прилагаемой формулой изобретения.
Изобретение относится к системам и способам для обеспечения идентификационной информации для компьютерной системы и оценивания, согласуется ли компьютерная система с сохраненной версией идентификационной информации, в частности. Техническим результатом является обеспечение идентификатора оборудования (ИДОБ), который остается пригодным даже при изменении конфигурации системы. При запуске программного обеспечения генерируется текущий ИДОБ. При сравнении текущего ИДОБ с сохраненным ИДОБ для определения того, совпадают ли эти два ИДОБ, используют временной вектор и весовой вектор. Поддерживают текущую оценку совпадения. Для каждого компонента оборудования весовой вектор указывает вес, присвоенный для обеспечения правильного совпадения хэшированного значения для компонента оборудования. Для каждого компонента оборудования временной вектор может указывать срок применения, после которого может быть разрешено изменение компонента. 6 н. и 36 з.п. ф-лы, 4 ил.
1. Способ обеспечения принудительного соблюдения положений лицензии на программный продукт для использования в компьютерной системе, содержащей один или несколько компонентов, при этом способ содержит этапы, на которых
для каждого типа компонента из совокупности типов компонентов получают от компьютерной системы соответствующий текущий идентификатор компонента,
для каждого типа компонента из совокупности типов компонентов сравнивают соответствующий текущий идентификатор компонента с соответствующим сохраненным идентификатором компонента,
вычисляют оценку совпадения путем, для каждого типа компонента из совокупности типов компонентов, в случае положительного результата сравнения, суммирования нарастающим итогом соответствующего сохраненного веса типа компонента,
сравнивают оценку совпадения с пороговым значением оценки совпадения и
реализуют право, предоставляемое положениями лицензии в отношении программного продукта, если оценка совпадения превышает пороговое значение оценки совпадения.
2. Способ по п.1, в котором на этапе получения, для каждого типа компонента из совокупности типов компонентов, соответствующего текущего идентификатора компонента
получают соответствующий индивидуальный текущий идентификатор компонента для каждого компонента этого типа компонента.
3. Способ по п.2, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и на этапе сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента
возвращают положительный результат, если любой из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
4. Способ по п.2, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и на этапе сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента
возвращают положительный результат, если каждый из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
5. Способ по п.1, в котором на этапе получения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента
опрашивают компонент оборудования типа компонента оборудования на предмет результата опроса и хэшируют результат опроса.
6. Способ по п.1, в котором на этапе вычисления оценки совпадения путем, для каждого типа компонента из совокупности типов компонентов, в случае положительного результата сравнения, суммирования нарастающим итогом сохраненного соответствующего веса типа компонента
для каждого типа компонента определяют, истек ли соответствующий срок применения, и
для каждого типа компонента, если срок применения истек, то суммируют нарастающим итогом сохраненный соответствующий вес типа компонента.
7. Способ по п.1, в котором на этапе вычисления оценки совпадения путем, для каждого типа компонента из совокупности типов компонентов, суммирования нарастающим итогом соответствующего веса типа компонента
для каждого типа компонента определяют, истек ли соответствующий срок применения, и
для каждого типа компонента, если срок применения истек, то суммируют нарастающим итогом заранее заданное приращение, соответствующее истечению срока.
8. Способ по п.1, в котором совокупность типов компонентов содержит один или несколько из тех, каковыми являются
звуковая карта, сетевая карта, BIOS, привод CDROM, адаптер дисплея, дисковое устройство, адаптер SCSI, дисковый адаптер, процессор и ОЗУ.
9. Способ обеспечения принудительного соблюдения положений лицензии на программный продукт для использования в компьютерной системе, содержащей один или несколько компонентов, при этом способ содержит этапы, на которых
для каждого типа компонента из совокупности типов компонентов получают от компьютерной системы соответствующий текущий идентификатор компонента,
для каждого типа компонента из совокупности типов компонентов сравнивают соответствующий текущий идентификатор компонента с соответствующим сохраненным идентификатором компонента,
вычисляют оценку совпадения путем, для каждого типа компонента из совокупности типов компонентов, в случае положительного результата сравнения или в случае истечения соответствующего срока применения, суммирования нарастающим итогом некоторого значения,
сравнивают оценку совпадения с пороговым значением оценки совпадения и
реализуют право, предоставляемое положениями лицензии в отношении программного продукта, если оценка совпадения превышает пороговое значение оценки совпадения.
10. Способ по п.9, в котором на этапе получения, для каждого типа компонента из совокупности типов компонентов, соответствующего текущего идентификатора компонента
получают соответствующий индивидуальный текущий идентификатор компонента для каждого компонента этого типа компонента.
11. Способ по п.10, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и на этапе сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента
возвращают положительный результат, если любой из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
12. Способ по п.10, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и на этапе сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента
возвращают положительный результат, если каждый из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
13. Способ по п.9, в котором на этапе получения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента
опрашивают компонент оборудования типа компонента оборудования на предмет результата опроса и
хэшируют результат опроса.
14. Способ по п.9, в котором совокупность типов компонентов содержит один или несколько из тех, каковыми являются
звуковая карта, сетевая карта, BIOS, привод CDROM, адаптер дисплея, дисковое устройство, адаптер SCSI, дисковый адаптер, процессор и ОЗУ.
15. Машиночитаемый носитель для обеспечения принудительного соблюдения положений лицензии на программный продукт для использования в компьютерной системе, содержащей один или несколько компонентов, на котором хранится, по меньшей мере, один машиноисполняемый модуль, содержащий машиноисполняемые команды для осуществления способа, содержащего этапы, на которых
для каждого типа компонента из совокупности типов компонентов получают от компьютерной системы соответствующий текущий идентификатор компонента,
для каждого типа компонента из совокупности типов компонентов сравнивают соответствующий текущий идентификатор компонента с соответствующим сохраненным идентификатором компонента,
вычисляют оценку совпадения путем, для каждого типа компонента из совокупности типов компонентов, в случае положительного результата сравнения, суммирования нарастающим итогом сохраненного соответствующего веса типа компонента,
сравнивают оценку совпадения с пороговым значением оценки совпадения и
реализуют право, предоставляемое положениями лицензии в отношении программного продукта, если оценка совпадения превышает пороговое значение оценки совпадения.
16. Машиночитаемый носитель по п.15, в котором на этапе получения, для каждого типа компонента из совокупности типов компонентов, соответствующего текущего идентификатора компонента
получают соответствующий индивидуальный текущий идентификатор компонента для каждого компонента этого типа компонента.
17. Машиночитаемый носитель по п.16, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и на этапе сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента
возвращают положительный результат, если любой из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
18. Машиночитаемый носитель по п.16, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и на этапе сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента
возвращают положительный результат, если каждый из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
19. Машиночитаемый носитель по п.15, в котором на этапе получения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента
опрашивают компонент оборудования типа компонента оборудования на предмет результата опроса и
хэшируют результат опроса.
20. Машиночитаемый носитель по п.15, в котором на этапе вычисления оценки совпадения путем, для каждого типа компонента из совокупности типов компонентов, в случае положительного результата сравнения, суммирования нарастающим итогом сохраненного соответствующего веса типа компонента
для каждого типа компонента, определяют, истек ли соответствующий срок применения, и
для каждого типа компонента, если срок применения истек, то суммируют нарастающим итогом сохраненный соответствующий вес типа компонента.
21. Машиночитаемый носитель по п.15, в котором на этапе вычисления оценки совпадения путем, для каждого типа компонента из совокупности типов компонентов, в случае положительного результата сравнения, суммирования нарастающим итогом сохраненного соответствующего веса типа компонента
для каждого типа компонента, определяют, истек ли соответствующий срок применения, и
для каждого типа компонента, если срок применения истек, то суммируют нарастающим итогом заранее заданное приращение, соответствующее истечению срока.
22. Машиночитаемый носитель по п.15, в котором совокупность типов компонентов содержит один или несколько из тех, каковыми являются
звуковая карта, сетевая карта, BIOS, привод CDROM, адаптер дисплея, дисковое устройство, адаптер SCSI, дисковый адаптер, процессор и ОЗУ.
23. Машиночитаемый носитель для обеспечения принудительного соблюдения положений лицензии на программный продукт для использования в компьютерной системе, содержащей один или несколько компонентов, на котором хранится, по меньшей мере, один машиноисполняемый модуль, содержащий машиноисполняемые команды для осуществления способа, содержащего этапы, на которых
для каждого типа компонента из совокупности типов компонентов получают от компьютерной системы соответствующий текущий идентификатор компонента,
для каждого типа компонента из совокупности типов компонентов сравнивают соответствующий текущий идентификатор компонента с соответствующим сохраненным идентификатором компонента,
вычисляют оценку совпадения путем, для каждого типа компонента из совокупности типов компонентов, в случае положительного результата сравнения или в случае истечения соответствующего срока применения, суммирования нарастающим итогом некоторого значения, и
сравнивают оценку совпадения с пороговым значением оценки совпадения и
реализуют право, предоставляемое положениями лицензии в отношении программного продукта, если оценка совпадения превышает пороговое значение оценки совпадения.
24. Машиночитаемый носитель по п.23, в котором на этапе получения, для каждого типа компонента из совокупности типов компонентов, соответствующего текущего идентификатора компонента
получают соответствующий индивидуальный текущий идентификатор компонента для каждого компонента этого типа компонента.
25. Машиночитаемый носитель по п.24, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и на этапе сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента
возвращают положительный результат, если любой из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
26. Машиночитаемый носитель по п.24, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и на этапе сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента
возвращают положительный результат, если каждый из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
27. Машиночитаемый носитель по п.23, в котором на этапе получения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента
опрашивают компонент оборудования типа компонента оборудования на предмет результата опроса и
хэшируют результат опроса.
28. Машиночитаемый носитель по п.23, в котором совокупность типов компонентов содержит один или несколько из тех, каковыми являются
звуковая карта, сетевая карта, BIOS, привод CDROM, адаптер дисплея, дисковое устройство, адаптер SCSI, дисковый адаптер, процессор и ОЗУ.
29. Компьютерное устройство для обеспечения принудительного соблюдения положений лицензии на программный продукт для использования в компьютерной системе, содержащей один или несколько компонентов, содержащее
средство для получения от компьютерной системы, для каждого типа компонента из совокупности типов компонентов, соответствующего текущего идентификатора компонента,
средство для сравнения, для каждого типа компонента из совокупности типов компонентов, соответствующего текущего идентификатора компонента с соответствующим сохраненным идентификатором компонента,
средство для вычисления оценки совпадения путем, для каждого типа компонента из совокупности типов компонентов, в случае положительного результата сравнения, суммирования нарастающим итогом сохраненного соответствующего веса типа компонента,
средство для сравнения оценки совпадения с пороговым значением оценки совпадения и
средство для реализации права, предоставляемого положениями лицензии в отношении программного продукта, если оценка совпадения превышает пороговое значение оценки совпадения.
30. Компьютерное устройство по п.29, в котором средство для получения, для каждого типа компонента из совокупности типов компонентов, соответствующего текущего идентификатора компонента содержит
средство для получения соответствующего индивидуального текущего идентификатора компонента для каждого компонента этого типа компонента.
31. Компьютерное устройство по п.30, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и средство для сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента содержит
средство для возвращения положительного результата, если любой из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
32. Компьютерное устройство по п.30, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и средство для сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента содержит
средство для возвращения положительного результата, если каждый из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
33. Компьютерное устройство по п.29, в котором средство для получения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента содержит
средство для опрашивания компонента оборудования типа компонента оборудования на предмет результата опроса и
средство для хэширования результата опроса.
34. Компьютерное устройство по п.29, в котором средство вычисления оценки совпадения путем, для каждого типа компонента из совокупности типов компонентов, в случае положительного результата сравнения, суммирования нарастающим итогом сохраненного соответствующего веса типа компонента содержит
средство для определения, для каждого типа компонента, истек ли соответствующий срок применения, и
средство для, для каждого типа компонента, если срок применения истек, суммирования нарастающим итогом сохраненного соответствующего веса типа компонента.
35. Компьютерное устройство по п.29, в котором средство для вычисления оценки совпадения путем, для каждого типа компонента из совокупности типов компонентов, при наличии положительного результата сравнения, суммирования нарастающим итогом сохраненного соответствующего веса типа компонента содержит
средство для определения, для каждого типа компонента, истек ли соответствующий срок применения, и
средство для, для каждого типа компонента, если срок применения истек, суммирования нарастающим итогом заранее заданного приращения, соответствующего истечению срока.
36. Компьютерное устройство по п.29, в котором совокупность типов компонентов содержит один или несколько из тех, каковыми являются
звуковая карта, сетевая карта, BIOS, привод CDROM, адаптер дисплея, дисковое устройство, адаптер SCSI, дисковый адаптер, процессор и ОЗУ.
37. Компьютерное устройство для обеспечения принудительного соблюдения положений лицензии на программный продукт для использования в компьютерной системе, содержащей один или несколько компонентов, содержащее
средство для получения от компьютерной системы, для каждого типа компонента из совокупности типов компонентов, соответствующего текущего идентификатора компонента,
средство для сравнения, для каждого типа компонента из совокупности типов компонентов, соответствующего текущего идентификатора компонента с соответствующим сохраненным идентификатором компонента,
средство для вычисления оценки совпадения путем, для каждого типа компонента из совокупности типов компонентов, в случае положительного результата сравнения или в случае истечения соответствующего срока применения, суммирования нарастающим итогом некоторого значения,
средство для сравнения оценки совпадения с пороговым значением оценки совпадения и
средство для реализации права, предоставляемого положениями лицензии в отношении программного продукта, если оценка совпадения превышает пороговое значение оценки совпадения.
38. Компьютерное устройство по п.37, в котором средство для получения, для каждого типа компонента из совокупности типов компонентов, соответствующего текущего идентификатора компонента содержит
средство для получения соответствующего индивидуального текущего идентификатора компонента для каждого компонента этого типа компонента.
39. Компьютерное устройство по п.38, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и средство для сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента содержит
средство для возвращения положительного результата, если любой из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
40. Компьютерное устройство по п.38, в котором для, по меньшей мере, одного типа компонента из совокупности типов компонентов оборудования соответствующий сохраненный идентификатор компонента содержит один или несколько соответствующих индивидуальных сохраненных идентификаторов компонента, и средство для сравнения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента с соответствующим сохраненным идентификатором компонента содержит
средство для возвращения положительного результата, если каждый из соответствующих индивидуальных сохраненных идентификаторов компонента совпадает с каким-либо из соответствующих индивидуальных текущих идентификаторов компонента.
41. Компьютерное устройство по п.37, в котором средство получения, для каждого типа компонента оборудования из совокупности типов компонентов оборудования, соответствующего идентификатора существующего компонента содержит
средство для опрашивания компонента оборудования типа компонента оборудования на предмет результата опроса и
средство для хэширования результата опроса.
42. Компьютерное устройство по п.37, в котором совокупность типов компонентов содержит один или несколько из тех, каковыми являются
звуковая карта, сетевая карта, BIOS, привод CDROM, адаптер дисплея, дисковое устройство, адаптер SCSI, дисковый адаптер, процессор и ОЗУ.
US 6327652 B1, 04.12.2001 | |||
УСТРОЙСТВО ДЛЯ РАДИОСВЯЗИ | 1993 |
|
RU2146850C1 |
US 6148407 A, 14.11.2000 | |||
US 6330670 B1, 11.12.2001 | |||
WO 00/72119 A2, 30.11.2000 | |||
Перекатываемый затвор для водоемов | 1922 |
|
SU2001A1 |
Авторы
Даты
2009-11-10—Публикация
2004-01-05—Подача