Модель взаимодействия для переноса состояний и данных

Иллюстрации

Показать все

Изобретение относится к области управления лицензиями на использование программного продукта. Техническим результатом является улучшение защиты от компьютерного пиратства. Способ управления лицензиями, реализуемый одним или более вычислительными устройствами, причем способ содержит идентификацию из цифровой лицензии, привязанной к пользовательскому ID пользователя, стороны, связанной с цифровой лицензией, причем цифровая лицензия идентифицирует набор прав для программного продукта; определение того, когда произведена дополнительная продажа, связанная с цифровой лицензией; и создание указания о том, что сторона признана связанной с дополнительной продажей; причем учетные данные пользователя идентифицируют текущего пользователя устройства, причем учетные данные представляют собой выписку пользовательского ID текущего пользователя устройства, цифровым образом подписанную службой аутентификации пользовательского ID. 2 н. и 13 з.п. ф-лы, 11 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

Программные продукты, которые приобретают потребители для использования с помощью своих компьютеров, часто имеют связанный ключ продукта или аналогичную программную или аппаратную лицензию. Эти ключи продукта, как правило, напечатаны на диске или коробке, которая продается потребителю, либо передаются потребителю электронным образом для некоторых онлайновых покупок. Для активации и использования продукта потребитель вводит ключ продукта в свой компьютер, и компьютер получает доступ к серверу активации, чтобы аутентифицировать ключ продукта и активировать программный продукт. Затем ключ продукта связывают с уникальной компьютерной аппаратной «подписью» компьютера потребителя, от которого был принят запрос активации. Несмотря на то, что такое использование ключей продуктов помогает избежать незаконного использования программного обеспечения, оно не без своих проблем. Пользователи часто имеют дело с множественными дисками или коробками, за которыми они должны продолжать следить, чтобы содержать ключи продуктов, и могут испытывать затруднение при переносе программного продукта на другой компьютер, поскольку ключ продукта связан с конкретным компьютером, от которого был принят запрос на активацию. Такие проблемы могут снизить удобство использования таких программных продуктов и могут увеличить разочарование пользователя.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

Согласно одному или нескольким аспектам, сторона, связанная с цифровой лицензией, идентифицируется из цифровой лицензии, привязанной к пользовательскому ID (идентификатору) пользователя. Эта цифровая лицензия идентифицирует набор правил для программного продукта. Производится определение в отношении того, когда произведена дополнительная продажа, связанная с цифровой лицензией, и создается указание о том, что сторона признана связанной с дополнительной продажей.

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Здесь для ссылок на подобные признаки используются одинаковые ссылочные позиции на всех чертежах.

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

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

фиг. 3 - иллюстрирует примерную цифровую лицензию согласно одному или нескольким вариантам осуществления;

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

фиг. 5 - иллюстрирует примерную систему управления лицензиями согласно одному или нескольким вариантам осуществления;

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

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

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

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

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

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

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

На фиг. 1 показана примерная система 100, реализующая модель взаимодействия для переноса состояний и данных, согласно одному или нескольким вариантам осуществления. Система 100 включает в себя множественные (n) устройства 102, которые могут осуществлять связь со службой 104 лицензий через сеть 106. Сеть 106 может представлять собой многообразие различных сетей, включающее в себя Интернет, локальную сеть (LAN), телефонную сеть общего пользования, Интранет, другие сети общего пользования и/или корпоративные сети, их комбинации и т.д. Служба 104 лицензий поддерживает лицензии, связанные с или привязанные к пользовательским идентификаторам (ID) одного или нескольких пользователей устройств 102. Устройства 102 и/или служба 104 лицензий может также осуществлять связь с одной или несколькими (m) онлайновыми службами 108 через сеть 106.

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

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

Каждое устройство 102 включает в себя клиентский модуль 112 лицензии. Устройство 102 осуществляет связь с одной или несколькими онлайновым службами 108 для активации программного продукта на устройстве 102 с использованием ключа продукта и получения цифровой лицензии для программного продукта. Используемый здесь термин «программный продукт» относится к программному продукту, который может запускаться или исполняться на устройстве 102. Программный продукт может представлять собой автономную программу или, в качестве альтернативы, модуль или компонент, предназначенный для работы вместе с другим программным продуктом. Программный продукт может представлять собой многообразие программных продуктов различных типов, таких как игровые программы, программы-утилиты, программы для обработки текстов, программы баз данных, операционные системы, графические программы и т.д. Дополнительно, несмотря на то, что, как правило, речь идет о программном продукте, программный продукт может также представлять собой или включать в себя программно-аппаратные модули или компоненты, либо иные программно-аппаратные инструкции.

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

Здесь имеются ссылки на шифрование и криптографию, которые могут включать в себя шифрование и криптографию с симметричным ключом и шифрование и криптографию с открытым ключом с помощью пар ключей: открытого/секретного. Несмотря на то, что такая криптография с использованием ключей хорошо известна специалистам в данной области техники, здесь приведен краткий обзор такой криптографии в помощь читателю. В криптографии с открытым ключом объект (такой как пользователь, аппаратный или программный компонент, устройство, домен и т.д.) связан с парой ключей открытый/секретный. Открытый ключ может быть общедоступным, но секретный ключ держится объектом в секрете. Без секретного ключа дешифровка данных, зашифрованных с использованием открытого ключа, представляет собой очень трудную вычислительную задачу. Таким образом, данные могут быть зашифрованы каким-либо объектом с помощью открытого ключа, а дешифрованы объектом только с помощью соответствующего секретно ключа. Дополнительно, может быть создана цифровая подпись для данных путем использования данных и секретного ключа. Создание подписи без открытого ключа, которая может быть верифицирована с использованием открытого ключа, представляет собой очень трудную вычислительную задачу. Любой объект с открытым ключом может использовать открытый ключ для верификации цифровой подписи путем сравнения верификационного значения, полученного с использованием открытого ключа, с исходными данными, и, если они совпадают, то это гарантирует что, никто не подделал или изменил данные, которые подписаны цифровым образом.

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

На фиг. 2 показана примерная система 200, реализующая модель взаимодействия для переноса состояний и данных, согласно одному или нескольким вариантам изобретения. Система 200 более подробно иллюстрирует примеры различных компонентов системы 100 по фиг. 1 согласно одному или нескольким вариантам осуществления. Система 200 включает в себя устройство 202, которым может быть, например, устройство 102 по фиг. 1. Система 200 также включает в себя службу 204 управления лицензиями, которой может быть, например, служба 104 лицензий по фиг. 1. Система 200 также включает в себя дополнительные службы, которыми могут быть, например, онлайновыми службами 108 по фиг. 1. Эти дополнительные службы включают в себя: службу 212 активации программного обеспечения, службу 214 аутентификации пользовательского ID, службу 216 приобретения программного обеспечения, службу 218 соотношений, службу 220 подтверждения соответствия продукта и службу 222 регистрации продукта. Система 200 также включает в себя хранилище 224 лицензий, в котором служба 204 управления лицензиями может хранить цифровые лицензии. Службы 204 и 212-222 также могут называться удаленными службами, так как они, как правило, находятся в различных физических местоположениях, отличных от местоположения устройства 202 (например, в разных комнатах, разных зданиях, разных штатах или странах и т.д.).

Устройство 202 включает в себя клиентский модуль 222 лицензий, клиентский модуль 234 защиты программного обеспечения и локальное хранилище 236. Локальное хранилище 236 реализовано на локальном запоминающем устройстве устройства 202, таком как магнитный диск, оптический диск, твердотельная память (например, флэш-память, ОЗУ (RAM), и т.д.) и т.д. Это локальное запоминающее устройство устройства 202 может представлять собой фиксированный или съемный носитель или запоминающую среду.

Служба 214 аутентификации пользовательского ID представляет собой службу аутентификации для онлайновой службы. Онлайновая служба может обеспечить многообразие различных особенностей и функциональных возможностей для пользователя устройства 202. В одном или нескольких вариантах осуществления эта онлайновая служба представляет собой сеть интернет услуг Microsoft Windows LiveTM. Дополнительная информация, касающаяся сети интернет услуг Microsoft Windows LiveTM, доступна от корпорации Microsoft из Redmond, WA. Однако следует иметь в виду, что в качестве альтернативы можно использовать другие онлайновые службы.

Независимо от конкретной используемой онлайновой службы пользователь устройства 202 имеет пользовательский ID для этой онлайновой службы. Пользовательский ID для этой онлайновой службы идентифицирует конкретного пользователя и дает возможность отличить его от других пользователей этой онлайновой службы. Пользователь может входить или регистрироваться в онлайновой службе, предоставив свою идентифицирующую информацию в клиентский модуль 232 лицензии, который, в свою очередь, передает идентифицирующую информацию в службу 214 аутентификации пользовательского ID. Эта передача идентифицирующей информации, как правило, выполняется защищенным образом, например, путем шифрования идентифицирующей информации. Эта идентифицирующая информация может принимать многообразие различных форм, таких как комбинация пользовательского ID и пароля, отпечаток пальца, конкретная фраза-пароль, цифровой сертификат и т.д. Служба 214 получает эту идентифицирующую информацию и сравнивает полученную информацию с информацией, ранее запомненной службой 214. Если полученная и ранее запомненная информация соответствуют друг другу (то есть, являются одним и тем же), то тогда пользователь аутентифицируется, и в модуль 232 выдают пользовательские учетные данные. Если полученная и ранее запомненная информация не соответствуют друг другу (например, не являются одним и тем же), то тогда пользователь не аутентифицируется, и в модуль 232 пользовательские учетные данные не выдаются.

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

Служба 212 активации программного обеспечения доступна устройству 202 для активации программного продукта. Программный продукт может быть приобретен или иным образом получен пользователем устройства 202 многообразием различных способов. В одном или нескольких вариантах осуществления программный продукт может быть получен в режиме онлайн или электронным образом от службы 216 приобретения программного обеспечения. Службой 216 приобретения программного обеспечения может быть, например, онлайновое или электронное хранилище, которое обеспечивает продажу программных продуктов. Дополнительно, программный продукт можно получить из других источников, таких как локальное хранилище программных продуктов (например, организация, обслуживающая своих клиентов в офисе, а не через Интернет), реселлер или дистрибьютор устройств, другой пользователь и т.д.

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

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

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

На основе анализа ключа продукта служба 212 активации программного обеспечения определяет, должен ли быть активирован программный продукт. Если служба 212 определяет, что программный продукт не должен быть активирован, то тогда в клиентский модуль 234 защиты программного обеспечения выдается указание об указанном отклонении или отказе в активации программного продукта. Однако, если служба 212 определяет, что программный продукт должен быть активирован, то тогда служба 212 пытается создать цифровую лицензию. Если служба 212 может создать цифровую лицензию, то тогда сервер 212 выдает в модуль 234 цифровую лицензию для программного продукта. Если служба 212 не может создать лицензию по какой-либо причине (например, ключ продукта уже был использован для активации продукта), то тогда в модуль 234 цифровая лицензия не выдается. Служба 212 может создать эту цифровую лицензию или в качестве альтернативы, другой компонент либо модуль может создать цифровую лицензию от имени службы 212. Служба 212 активации программного обеспечения также, необязательно, передает в службу 204 управления лицензиями и/или службу 220 подтверждения соответствия продукта указание об определении того, активирован ли программный продукт. Это указание позволяет поддерживать историю активации на основе ключа продукта, как более подробно обсуждается ниже.

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

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

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

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

На фиг. 3 показана примерная цифровая лицензия 300 согласно одному или нескольким вариантам осуществления. Цифровая лицензия 300 включает в себя множественные поля или участки 302-340, которые включают в себя различную информацию для лицензии 300. Следует иметь в виду, что эти поля, показанные в примерной цифровой лицензии 300, являются просто примерами, и что одно или несколько полей, показанных в примерной лицензии 300, можно из нее удалить, либо в цифровую лицензию можно добавить одно или несколько других полей, можно объединять одно или несколько полей, можно разделить одно поле на множественные поля, и т.д. Дополнительно, следует заметить, что цифровую лицензию 300 можно зашифровать, и/или можно зашифровать отдельные поля из числа полей 302-340 (например, с использованием шифрования с симметричным ключом и/или открытым ключом, обсужденного выше). Обсуждение фиг. 3 осуществляется с дополнительными ссылками на компоненты по фиг. 2.

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

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

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

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

В поле 310 даты истечения срока хранятся данные, идентифицирующие дату истечения срока (и, необязательно, время) для цифровой лицензии 300. Дату истечения срока используют для лицензий основанных на времени, в которых права пользователя на программный продукт (подробно идентифицированные в цифровой лицензии 300) имеют ограниченное время действия. Время действия прав, которые имеет пользователь на программный продукт, идентифицировано в поле 310 даты истечения срока. Поле 310 даты истечения срока устанавливается службой 212 активации программного обеспечения или в качестве альтернативы устанавливается другим компонентом или модулем, создающим лицензию 300, и может, необязательно, впоследствии обновляться службой 204 управления лицензиями и/или клиентским модулем 234 защиты программного обеспечения.

В поле 312 файлов хранятся данные, описывающие цифровую лицензию. Эти данные включают в себя, например, набор прав, обсужденных выше, которые предоставляются пользователю с помощью цифровой лицензии, например, указания о количестве копий программного продукта, которые можно одновременно запускать на разных устройствах; указание о конкретных доступных особенностях программного продукта которые разблокированы и т.д. Эти данные также могут включать в себя другую информацию, такую как: идентификатор изготовителя оригинального оборудования (OEM), который распространяет устройство вместе с программным продуктом, связанным с ключом продукта (а значит, с цифровой лицензией); идентификатор реселлера программного продукта, связанного с ключом продукта (а значит, с цифровой лицензией) и т.д. Поле 312 файлов устанавливается службой 212 активации программного обеспечения или в качестве альтернативы другим компонентом или модулем, создающим лицензию 300, и необязательно, поле может впоследствии обновляться службой 204 управления лицензиями и/или клиентским модулем 234 защиты программного обеспечения.

То, что присутствует в поле 314 флага базы данных, является флагом, который указывает, хранится ли в хранилище 224 лицензий лицензия 300. То, что присутствует в поле 314 флага базы данных устанавливается равным первому значению (например, «1») службой 204 управления лицензиями для указания о том, что в хранилище 224 лицензий хранится лицензия 300, и это поле очищается или устанавливается равным второму значению (например, «0») службой 204 для указания о том, что в хранилище 224 лицензий не хранится лицензия 300.

В поле 316 описания лицензии хранятся данные, описывающие лицензию 300. Эти данные могут, например, представлять собой общее описание прав, идентифицированных в поле 312 файлов, имя или другой идентификатор человека или объекта, которому принадлежит лицензия 300, и т.д. Поле 316 описания лицензии устанавливается службой 212 активации программного обеспечения при создании лицензии 300 или в качестве альтернативы другим компонентом или модулем, который создает лицензию 300, и может, необязательно, впоследствии обновляться службой 204 управления лицензиями и/или клиентским модулем 234 защиты программного обеспечения.

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

Поле 320 пользовательского ID представляет идентификатор текущего пользователя устройства 202 при создании цифровой лицензии 300. Пользовательский ID, поддерживаемый в поле 320, позволяет привязать цифровую лицензию 300 к конкретному пользователю, как более подробно обсуждается ниже. Поле 320 пользовательского ID может включать в себя, например, учетные данные, полученные от службы 214 аутентификации пользовательского ID, как обсуждалось выше, либо просто пользовательский ID из этих учетных данных. Поле 320 пользовательского ID устанавливается службой 204 управления лицензиями или клиентским модулем 232 лицензий при привязывании цифровой лицензии 300 к конкретному пользователю.

Пользовательский ID, к которому привязана цифровая лицензия 300, также может быть впоследствии изменен службой 204 и/или клиентским модулем 232, как более подробно обсуждается ниже.

В поле 322 модифицированной даты хранят данные, идентифицирующие дату (и, необязательно, время) самой последней модификации цифровой лицензии 300. Поле 322 модифицированной даты устанавливается службой 212 управления лицензиями и/или клиентским модулем 232 лицензии при модификации лицензии 300.

В поле 324 понятного имени продукта хранятся данные, идентифицирующие понятное для пользователя имя программного продукта, связанного с цифровой лицензией 300. Поле 324 понятного имени продукта устанавливается службой 212 активации программного обеспечения при создании лицензии 300, или в качестве альтернативы устанавливается другой компонентой или модулем, который создает лицензию 300. Поле 324 понятного имени продукта также, необязательно, может впоследствии изменяться службой 204 управления лицензиями и/или клиентским модулем 232 лицензий, например, в ответ на запрос пользователя на изменение понятного имени продукта.

В поле 326 ID продукта находится идентификато