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

Изобретение относится к области управления лицензиями на использование программного продукта. Техническим результатом является улучшение защиты от компьютерного пиратства. Способ управления лицензиями, реализуемый одним или более вычислительными устройствами, причем способ содержит идентификацию из цифровой лицензии, привязанной к пользовательскому 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 продукта находится идентификатор программного продукта, связанного с цифровой лицензией 300. В одном или нескольких вариантах осуществления данные, идентифицирующие программный продукт, связанный с лицензией 300, могут представлять собой GUID. Поле 326 ID продукта устанавливается службой 212 активации программного обеспечения при создании лицензии 300 или, в качестве альтернативы, устанавливается другим компонентом или модулем, создающим лицензию 300.

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

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

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

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

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

В поле 338 сообщения об обновлении хранятся данные, указывающие на успешность или безуспешность попытки службы 204 управления лицензиями добавить лицензию 300 в хранилище 224 лицензии. Если лицензия 300 успешно добавлена в хранилище 224 лицензий, то в поле 338 сообщения об обновлении службой 204 сохраняется сообщение, указывающее на успешность попытки. Если добавление лицензии 300 в хранилище 224 лицензий оказалось безуспешным, то тогда в поле 338 сообщения об обновлении службой 204 сохраняется сообщение, указывающее на ошибку (и, необязательно, описание этой ошибки).

Поле 340 дополнительной полезной информации является дополнительным участком, который может, необязательно, быть включен в лицензию 300 и использован для хранения дополнительных свойств лицензии 300, которые не хранятся в полях 302-338, описанных выше. Эти дополнительные свойства могут быть идентифицированы лицензией 300 и храниться в ней посредством одной или нескольких различных служб или модулей, например, службой 212 активации программного обеспечения при создании лицензии 300, другим компонентом или модулем, который создает лицензию 300, службой 204 управления лицензиями, клиентским модулем 232 лицензии и т.д.

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

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

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

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

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

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

Когда пользователь устройства 202 или, в качестве альтернативы, другой компонент или модуль запрашивает запуск программного продукта, клиентский модуль 234 защиты программного обеспечения проверяет, имеется ли цифровая лицензия для этого программного продукта. Модуль 234 выполняет эту проверку, посредством связи с локальным хранилищем 236 и/или клиентским модулем 232 лицензии.

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

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

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

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

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

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

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

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

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

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

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

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

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

Например, конкретный изготовитель программного продукта может создать конкретный ключ продукта, который может быть выдан изготовителю оригинального оборудования (OEM), который, в свою очередь, распространяет устройство вместе с программным продуктом реселлеру. Связь этого ключа продукта с этим изготовителем, этим OEM, и этим реселлером может поддерживаться службой 218 соотношений. Служба 218 соотношений может быть проинформирована об этой связи многообразием различных способов, например, изготовителем, OEM и/или реселлером. Когда служба 204 управления лицензиями получает цифровую лицензию с этим ключом продукта, то служба 204 может получать идентичность изготовителя, OEM и реселлера, от службы 218 соотношений, и поддерживать в хранилище 224 лицензий данные об идентичности с привязкой к полученной цифровой лицензии.

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

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

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

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

На фиг. 4 показано примерное окно 400 активации продукта, которое может отображаться пользователю, согласно одному или нескольким вариантам осуществления, и которое позволяет пользователю выбрать, должен ли пользовательский ID быть привязан к цифровой лицензии. Примерное окно 400 отображается тогда, когда пользователь активирует свой программный продукт. Следует иметь в виду, что могут в качестве альтернативы отображаться другие пользовательские интерфейсы, причем эти пользовательские интерфейсы могут в качестве альтернативы отображаться в разные моменты времени. Например, пользовательский интерфейс, позволяющий пользователю согласиться или не согласиться с привязкой своего пользовательского ID к цифровой лицензии, может отображаться в ответ на запрос пользователя на изменение привязки к другому пользовательскому ID, в ответ на запрос пользователя на добавление цифровой лицензии в службу 204 управления лицензиями по фиг. 2 и т.д. Дополнительно, в примере по фиг. 4 ключ продукта имеет конкретный формат (пять 5-последовательностей знаков, также называемых ключом 5×5). Следует иметь в виду, что данный конкретный формат для ключа продукта является лишь примером, и что ключ продукта может принимать другие формы, как обсуждалось выше.

Окно 400 активации продукта включает в себя описание 402, поясняющее как активировать программный продукт и зарегистрировать ключ продукта для программного продукта. Описание 402 также включает в себя пример того, как выглядит ключ продукта. Также отображается ссылка 404 на более подробное описание того, как найти ключ продукта. К тому же отображается описание 406, объясняющее пользователю, почему пользовательский ID связан с (например, привязан к) лицензии для этого программного продукта. Также отображается ссылка 408 на более подробное описание того, в чем заключается активация, и ссылка 410 на положение о защите частной информации. Если пользователь выбирает ссылку 410, то отображается положение о защите частной информации, объясняющее пользователю, как обеспечить конфиденциальность его информации.

В окне 400 также отображается поле 412 ввода текста, в которое пользователь может ввести ключ продукта для программного продукта. Дополнительно, пользователь имеет возможность выбрать флажок в окошке 414, для того, чтобы согласиться со связью или привязкой пользовательского ID пользователя к лицензии. Пользователь также может не оставить флажок в окошке 414 невыбранным, для того, чтобы не соглашаться со связью или привязкой пользовательского ID пользователя к лицензии. Как только введен ключ продукта и выбран флажок в окошке 414, если это необходимо, пользователь может выбрать кнопку 416 «OK» для активации продукта. Пользователь может также выбрать кнопку 418 «Отмена» для завершения процесса активации продукта. Если пользователь выбирает флажок в окошке 414, то тогда цифровая лицензия, полученная в результате активации программного продукта, связывается с пользовательским ID пользователя. Если пользователь не выбирает флажок в окошке 414, то цифровая лицензия, полученная в результате активации программного продукта, сохраняется в устройстве, но не является связанной с пользовательским ID пользователя.

Следует иметь в виду, что окошки флажков и кнопки «OK» и «Отмена» являются лишь примерами пользовательских интерфейсов, которые могут быть предложены пользователю для согласия или несогласия с привязкой, и что в качестве альтернативы может быть использовано многообразие других известных методов взаимодействия с пользователем. Также следует иметь в виду, что различные части окна 400 активации продукта могут быть исключены из окна 400, такие как ссылка 408, ссылка 410, ссылка 404, описание 402 и т.д.

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

Дополнительно, служба 204 управления лицензиями также может предоставить пользователям устройства 202 возможность пересылки цифровой лицензии от одного пользователя к другому. Это дает возможность пользователю, например, подарить или продать свою цифровую лицензию другому пользователю. Для передачи цифровой лицензии пользователь подает запрос в службу 204 управления лицензиями (например, через клиентский модуль 232 лицензии) для передачи цифровой лицензии. Затем служба 204 получает пользовательский ID адресата передаваемой цифровой лицензии и запоминает цифровую лицензию с привязкой к пользовательскому ID адресата переданной цифровой лицензии. Служба 204 может получить пользовательский ID разными путями. В одном или нескольких вариантах осуществления пользователь, запрашивающий передачу цифровой лицензии, также представляет пользовательский ID адресата передаваемой цифровой лицензии. В других вариантах осуществления в ответ на запрос передачи цифровой лицензии служба 204 уведомляет службу 212 активации программного обеспечения о том, что программный продукт, связанный с ключом продукта в цифровой лицензии, был деактивирован. Также в службе 220 подтверждения соответствия продукта может храниться запись о деактивации. Соответственно, получатель переданной цифровой лицензии может ввести в свое устройство ключ продукта и получить программный продукт, активированный с использованием ключа продукта, как обсуждалось выше.

В одном или нескольких вариантах осуществления служба 204 управления лицензиями также предоставляет пользователю возможность управления цифровыми лицензиями, связанными с его пользовательским ID. Пользователю может быть предоставлена различная информация, касающаяся цифровых лицензий, такая как: история активации; информация о регистрации, которую обеспечил пользователь; дата истечения срока и т.д. Дополнительно, пользователь может модифицировать различную информацию, касающуюся цифровых лицензий, например, пользователю предоставляется возможность запроса службы 240 на автоматическое продление цифровой лицензии; пользователю предоставляется возможность ввода понятного для него имени, описывающего лицензию, и т.д.

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

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

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

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

На фиг. 5 показана примерная система 502 управления лицензиями согласно одному или нескольким вариантам осуществления. В одном или нескольких вариантах системой 502 управления лицензиями является система 204 управления лицензиями по фиг. 2 или служба 104 лицензий по фиг. 1. В других вариантах осуществления система 502 управления лицензиями по меньшей мере частично реализована в других компонентах, модулях или службах. Например, по меньшей мере часть системы 502 управления лицензиями может быть реализована в устройстве 202, например, как часть клиентского модуля 232 лицензии. В таких вариантах осуществления система 502 может обеспечить пользовательский интерфейс и принимать запросы от пользователя устройства 202, а также поддерживать связь со службой 204 управления лицензиями для обработки этих запросов. Этот пользовательский интерфейс может отображаться или иным образом представляться пользователю многообразием различных способов, например, через опцию панели управления операционной системой, через вкладку или окно свойств системы или продукта, и т.д.

Служба 502 управления лицензиями включает в себя модуль 504 добавления лицензии, модуль 506 восстановления лицензии, модуль 508 отображения лицензии и модуль 510 управления лицензией на основе времени. Несмотря на то, что модули 504, 506, 508 и 510 показаны как отдельные, следует иметь в виду, что функциональные возможности одного или нескольких модулей 504-510 могут быть объединены вместе. Дополнительно, следует иметь в виду, что функциональные возможности каждого из одного или нескольких модулей 504-510 могут быть разделены по разным модулям.

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

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

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

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

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

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

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

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

Пользовательский интерфейс, предоставленный системой 502 управления лицензиями, позволяет пользователю ввести запрос на восстановление или получение обратно своих цифровых лицензий. В ответ на такой запрос модуль 506 восстановления лицензии идентифицирует те лицензии из хранилища лицензий (например, хранилище 224 по фиг. 2), которые привязаны к пользовательскому ID пользователя. Пользователю отображается или иным образом представляется список этих цифровых лицензий. Список цифровых лицензий может быть представлен разными способами, например, в виде списка имен или понятных имен (если таковые имеются) продуктов, предложенных пользователем, и/или в виде другой списочной информации из цифровой лицензии.

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

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

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

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

Модуль 508 отображения лицензии также позволяет пользователю вводить запросы на удаление привязки лицензии к его пользовательскому ID. Пользователь идентифицирует (например, выбирает из отображенного списка) ту лицензию, привязку которой он хочет удалить, а модуль 508 удаляет цифровую лицензию из хранилища лицензий (например, хранилище 224 по фиг. 2). Модуль 508 в качестве части процесса удаления может также отправлять цифровую лицензию в клиентский модуль лицензии (например, модуль 232 по фиг. 2) устройства для локального хранения в устройстве, и тогда цифровая лицензия больше не будет храниться, и выйдет из-под управления службой 502 управления лицензией.

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

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

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

На фиг. 6 представлена блок-схема, иллюстрирующая примерный процесс 600 получения и сохранения цифровой лицензии согласно одному или нескольким вариантам осуществления. Процесс 600 может быть реализован программным обеспечением, программно-аппаратным обеспечением, или аппаратным обеспечением, либо их комбинациями. Действия в процессе 600, показанные в левой части фиг. 6, выполняются устройством, например, устройством 202 по фиг. 2. Действия процесса 600, показанные на правой стороне фиг. 6, выполняются службой управления лицензиями, например, службой 204 управления лицензиями по фиг. 2 или системой 502 управления лицензиями по фиг. 5. Процесс 600 представляет примерный процесс для получения и сохранения цифровой лицензии; дополнительные соображения, касающиеся получения и сохранения цифровой лицензии включены в это описание со ссылками на другие фигуры.

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

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

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

Обеспечивается запоминание в службе управления лицензиями указания о цифровой лицензии и пользовательском ID, к которому привязана цифровая лицензия (действие 608). Этой удаленной службой является, например, служба 204 управления лицензиями по фиг. 2 или система 502 управления лицензиями по фиг. 5. Далее служба управления лицензиями получает указание о цифровой лицензии и пользовательский ID (шаг 610), и цифровая лицензия запоминается в хранилище лицензий, привязанная к пользовательскому ID (действие 612). Пользовательский ID может быть привязан к цифровой лицензии перед отправкой цифровой лицензии в службу управления лицензиями, например, путем добавления пользовательского ID в цифровую лицензию до отправки цифровой лицензии в службу управления лицензиями. В качестве альтернативы, пользовательский ID может быть привязан к цифровой лицензии службой управления лицензиями, которая запоминает пользовательский ID в цифровой лицензии или поддерживает отдельную запись, связывающую пользовательский ID с цифровой лицензией.

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

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

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

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

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

Обратимся к действию 704, если недоступна локальная цифровая лицензия, разрешающая доступ к программному продукту, в службу управления лицензиями, такую как служба 204 по фиг. 2 или система 502 управления лицензиями по фиг. 5, отправляется запрос на цифровую лицензию (действие 708). Этот запрос представляет собой запрос на цифровую лицензию для программного продукта, который привязан к пользовательскому ID текущего пользователя устройства, реализующего процесс 700. Этот пользовательский ID верифицируется онлайновой службой (такой как сеть услуг интернет Microsoft Windows LiveTM), как обсуждалось выше.

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

На фиг. 8 представлена блок-схема последовательности операций, иллюстрирующая примерный процесс 800 выдачи запрошенной цифровой лицензии согласно одному или нескольким вариантам осуществления. Процесс 800 выполняется одной или несколькими службами, такими как служба 204 управления лицензиями по фиг. 2 или система 502 управления лицензиями по фиг. 5, причем он может быть реализован программным обеспечением, программно-аппаратным обеспечением, аппаратным обеспечением или их комбинацией. Процесс 800 является примерным процессом для выдачи запрошенной цифровой лицензии, причем дополнительные соображения по поводу выдачи запрошенной цифровой лицензии приведены в этом описании со ссылками на другие фигуры.

В процессе 800 сначала принимается запрос на цифровую лицензию, привязанную к пользовательскому ID и связанную с программным продуктом (действие 802). Этот запрос получают от устройства, такого как устройство 202 по фиг. 2.

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

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

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

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

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

В качестве конкретного примера предположим, что пользователь приобретает программный продукт у предприятия розничной торговли XYZ Corp. Когда пользователь обращается со своими лицензиями, ему может быть сделано предложение приобрести дополнительные устройства со скидкой. Например, пользователю может быть сделано такое предложение: «На прошлой неделе Вы приобрели новый программный продукт от XYX Corp. На этой неделе Вам будет предоставлена скидка в 100$ на приобретение цифровых камер и принтеров для использования с Вашим новым программным обеспечением».

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

В качестве конкретного примера предположим, что пользователь приобретает новый компьютер с установленным программным продуктом от предприятия розничной торговли ABC Corp. Когда пользователь распоряжается своими лицензиями, ему может быть сделано предложение приобрести дополнительные устройства со скидкой. Например, пользователю может быть сделано следующее предложение: «Вы приобрели новый компьютер от ABC Corp. На этой неделе Вы получаете 50% скидку на принтеры от XYZ Corp для использования со своим новым компьютером». Если пользователь принимает это предложение и приобретает принтер от XYZ Corp, то тогда ABC Corp (идентифицированная как OEM в цифровой лицензии) может быть распознана по меньшей мере частично как ответственная за продажу этого принтера. Затем ABC Corp может получить дополнительный доход и/или другое признание от XYZ Corp, касающееся этой продажи принтера.

На фиг. 9 представлена блок-схема последовательности операций, иллюстрирующая примерный процесс 900 для использования цифровых лицензий согласно одному или нескольким вариантам осуществления. Процесс 900 выполняется одной или несколькими службами, такими как служба 204 управления лицензиями по фиг. 2 или система 502 управления лицензиями по фиг. 5, и может быть реализован программным обеспечением, программно-аппаратным обеспечением, аппаратным обеспечением или их комбинацией. Процесс 900 является примерным процессом использования цифровых лицензий. Дополнительные соображения об использовании цифровых лицензий включены в данный документ со ссылками на другие фигуры.

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

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

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

Далее формируется указание о том, что сторона распознана в связи с дополнительной продажей (действие 908). Это указание может, необязательно, быть передано в удаленную службу (действие 910). Способ использования этого указания может изменяться. Например, это указание можно использовать для кредитования стороны, связанной с дополнительной продажей, и для пересылки этой стороне по меньшей мере части вырученных средств от дополнительной продажи.

Обратимся к фиг. 2, где служба 204 управления лицензиями (или система 502 управления лицензиями по фиг. 5) также может выполнять многообразие различных функций на основе цифровых лицензий в хранилище 224 лицензий. В одном или нескольких вариантах осуществления служба 204 управления лицензиями контролирует лицензии на основе времени, которые хранятся в хранилище 224 лицензий. Служба 204 может быть сконфигурирована для автоматического обновления лицензий на основе времени истечения срока их действия. Такое автоматическое обновление может выполняться, например, в соответствии с пользовательским запросом на автоматическое обновление лицензии. Служба 204 может быть сконфигурирована с информацией о платежах (например, номер кредитной карты) или в качестве альтернативы может поддерживать связь с другой службой для получения оплаты за обновление лицензии. По получении оплаты за обновление лицензии служба 204 может обновить дату и/или время истечения срока лицензии для отражения новой (более поздней) даты и/или времени истечения срока.

Например, пользователь устройства 202 может сделать запрос и внести взнос за использование программного продукта в течение одного месяца. Дата истечения срока в цифровой лицензии, связанной с программным продуктом, указывает истечение срока за один месяц. Пользователь может также запросить автоматическое обновление у службы 204 лицензии. В ответ на такие запросы, когда достигнута дата истечения срока цифровой лицензии, служба 204 автоматически взимает с пользователя плату за один дополнительный месяц использования продукта. Служба 204 также обновляет дату истечения срока в цифровой лицензии для отражения того обстоятельства, что дата истечения срока сдвинулась на один месяц вперед.

На фиг. 10 представлена блок-схема последовательности операций, иллюстрирующая примерный процесс 1000 для автоматического обновления лицензий на основе времени согласно одному или нескольким вариантам осуществления. Процесс 1000 выполняется одним или несколькими службами, такими как служба 204 управления лицензиями по фиг. 2 или система 502 управления лицензиями по фиг. 5, и может быть реализован программным обеспечением, программно-аппаратным обеспечением, аппаратным обеспечением или их комбинацией. Процесс 1000 является примерным процессом для автоматического обновления лицензий на основе времени, причем дополнительные соображения об автоматическом обновлении лицензий на основе времени включены сюда со ссылками на другие фигуры.

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

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

Независимо от того, предварительно активирована ли лицензия в ходе действия 1004, цифровая лицензия автоматически продляется (действие 1006). Это автоматическое продление не зависит от того, вошел ли в данный момент в онлайновую службу (например, через службу 214 аутентификации пользовательского ID по фиг. 2) пользовательский ID, к которому привязана данная цифровая лицензия. Иными словами, продление выполняется автоматически от имени пользователя.

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

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

Затем процесс 1000 возвращается к действию 1002 для продолжения проверки того, необходимо ли продление лицензии.

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

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

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

Служба 212 активации программного обеспечения цифровым образом подписывает цифровую лицензию при создании цифровой лицензии, как обсуждалось выше. Дополнительно, с цифровой лицензией клиентским модулем 232 лицензии или службой 204 (или системой 502 управления лицензиями по фиг. 5) могут быть совершены различные изменения, такие как добавление пользовательского ID в цифровую лицензию, для изменения даты истечения срока лицензии и т.д. При совершении указанных изменений с цифровой лицензией, измененная цифровая лицензия цифровым образом подписывается с использованием секретного ключа из пары ключей открытый/секретный подписывающей стороны. Подписывающей стороной может быть служба или модуль, производящий изменение (например, служба 204 системы 502 или модуль 232), либо, в качестве альтернативы, служба или модуль, производящий изменение, может связаться со службой 212 активации программного обеспечения, чтобы служба 212 подписала измененную цифровую лицензию.

На фиг. 11 показано примерное вычислительное устройство 1100, которое может быть сконфигурировано для реализации модели взаимодействия для переноса состояний и данных согласно одному или нескольким вариантам осуществления. Вычислительным устройством 1100 может быть, например, устройство 102 по фиг. 1 или устройство 202 по фиг. 2, либо вычислительное устройство 1100 может реализовать по меньшей мере часть одной или нескольких служб 104 или 108 по фиг. 1, служб 204 или 212-222 по фиг. 2, либо системы 502 по фиг. 5.

Вычислительное устройство 1100 включает в себя один или несколько процессоров или обрабатывающих блоков 1102, один или несколько считываемых компьютером носителей 1104, которые могут включать в себя один или несколько компонентов 1106 памяти, одно или несколько устройств 1108 ввода/вывода (I/O) и шину 1110, которая дает возможность различным компонентам и устройствам поддерживать связь друг с другом. Считываемый компьютером носитель 1104 и/или одно или несколько устройств 1108 I/O могут быть включены в вычислительное устройство 1100 как его часть, либо, в качестве альтернативы, могут быть с ним соединены. Шина 1110 представляет собой один или несколько типов шинных структур, включающих в себя шинную память или контроллер памяти, периферийную шину, ускоренный графический порт, процессор или локальную шину и т.д. с использованием многообразием различных шинных архитектур. Шина 1110 может включать в себя проводные и/или беспроводные шины.

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

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

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

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

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

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

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

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

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

1. Способ управления лицензиями, реализуемый одним или более вычислительными устройствами, причем способ содержит:
идентификацию (904) из цифровой лицензии, привязанной к пользовательскому ID пользователя, стороны, связанной с цифровой лицензией, причем цифровая лицензия идентифицирует набор прав для программного продукта;
определение (906) того, когда произведена дополнительная продажа, связанная с цифровой лицензией; и
создание (908) указания о том, что сторона признана связанной с дополнительной продажей;
отличающийся тем, что учетные данные пользователя идентифицируют текущего пользователя устройства, причем учетные данные представляют собой выписку пользовательского ID текущего пользователя устройства, цифровым образом подписанную службой (214) аутентификации пользовательского ID.

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

3. Способ по п. 1, в котором сторона, связанная с цифровой лицензией, содержит перепродавца программного продукта.

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

5. Способ по п. 1, в котором сторона, связанная с цифровой лицензией, представляет собой изготовителя оригинального оборудования, который распространяет устройство вместе с программным продуктом.

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

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

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

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

10. Система управления лицензиями, реализованная одним или более устройствами, причем система управления лицензиями содержит:
модуль (504) добавления лицензии, сконфигурированный для приема первого пользовательского запроса от первого устройства для добавления в хранилище лицензий, поддерживаемое по меньшей мере одним из упомянутого одного или более устройств, цифровой лицензии, привязанной к пользовательскому ID пользователя;
модуль (506) восстановления лицензии, сконфигурированный для приема второго пользовательского запроса от первого устройства для восстановления из хранилища лицензий одной или более цифровых лицензий, привязанных к пользовательскому ID пользователя; и
модуль (508) отображения лицензии, сконфигурированный для отображения подробной информации о лицензии, относительно каждой из одной или более цифровых лицензий, привязанных к пользовательскому ID пользователя;
отличающаяся тем, что учетные данные пользователя идентифицируют текущего пользователя устройства, причем учетные данные представляют собой выписку пользовательского ID текущего пользователя устройства, цифровым образом подписанную службой (214) аутентификации пользовательского ID.

11. Система управления лицензиями по п. 10, в которой модуль отображения лицензии дополнительно сконфигурирован для:
приема пользовательского запроса на аннулирование привязки по меньшей мере одной из упомянутой одной или более цифровых лицензий, привязанных к пользовательскому ID пользователя; и
удаления из хранилища лицензий упомянутой по меньшей мере одной цифровой лицензии.

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

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

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

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



 

Похожие патенты:

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

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

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

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

Изобретение относится к средствам разблокирования и обеспечения доступа к устройству. Технический результат заключается в повышении безопасности устройства.

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

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

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

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

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

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

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

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

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

Изобретение относится к области систем аутентификации объектов, предназначено для управления доступом к защищаемым ресурсам или объектам и может быть использовано при построении систем связи с аутентификацией респондентов. Технический результат - высокий уровень защиты от несанкционированного доступа к охраняемому объекту. Способ санкционированного доступа к охраняемому объекту, заключающийся в том, что запоминают на ключе доступа (КД), находящемся у пользователя, и на базе доступа (БД), находящейся на охраняемом объекте, идентичные последовательности значений сигналов, передают от КД к БД инициализирующий сигнал, где его обрабатывают, затем на БД формируют сигнал запроса и передают его на КД, где его обрабатывают, затем на КД формируют сигнал ответа и передают его на БД, где его идентифицируют и по результатам идентификации принимают решение о предоставлении доступа пользователю к охраняемому объекту. Способ отличается тем, что запомненные последовательности значений сигналов представляют в виде N≥1 блоков, каждый из которых содержит значения инициализирующего сигнала, сигнала запроса и сигнала ответа, причем при n-й процедуре доступа (где n=1, 2…, N) на БД и на КД используют последовательности значений сигналов m-го актуального блока, где m∈[1, N] и номер m-го актуального блока определяют с помощью заданной функции f(n). 3 з.п. ф-лы, 5 ил.

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

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

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении надежной модели безопасности элементов данных за счет повышения производительности и обеспечения стабильности системы. Способ обеспечения безопасности элемента данных, в котором определяют по меньшей мере одну политику безопасности для иерархической структуры данных; определяют по меньшей мере одну область безопасности для иерархической структуры данных; устанавливают, является ли структура иерархических данных структурой дерева или направленным ациклическим графом (DAG); устанавливают, как по меньшей мере одна политика безопасности должна быть применена к элементу в области безопасности, когда элемент наследует более чем один список управления доступом (ACL). 2 н. и 6 з.п. ф-лы, 9 ил., 3 табл.
Наверх