Гибкая архитектура лицензирования для лицензирования цифрового приложения - RU2402809C2

Код документа: RU2402809C2

Чертежи

Описание

Область техники

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

Предпосылки изобретения

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

Обычно автор и/или издатель приложения желает распространять такое приложение каждому из множества пользователей или получателей в обмен на лицензионный платеж или какую-либо другую оплату. В таком сценарии приложение может представлять собой приложение текстового редактора, приложение электронной таблицы, приложение браузера, игровое приложение, приложение медиаплеера, их комбинацию и т.д. Такой автор/издатель или другое аналогичное лицо (ниже “издатель”) при наличии выбора, скорее всего, пожелает ограничить возможности пользователя в использовании такого опубликованного приложения. Например, издатель, скорее всего, пожелает ограничить возможности пользователя в отношении копирования и повторного распространения такого приложения второму пользователю, по меньшей мере, способом, который не дает возможности издателю получать лицензионный платеж от такого второго пользователя.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Компьютерная среда

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

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

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

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

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

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

Компьютер 110 также может включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители для хранения данных. Исключительно для примера, на фиг.1 показаны накопитель 141 на жестком диске, который считывает с или записывает на несъемный энергонезависимый магнитный носитель, накопитель 151 на магнитном диске, который считывает с или записывает на съемный энергонезависимый магнитный диск 152, и накопитель 155 на оптическом диске, который считывает с или записывает на съемный энергонезависимый оптический диск 156, например CD-ROM или другой оптический носитель. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители для хранения данных, которые можно использовать в иллюстративной рабочей среде, включают в себя, но без ограничения, кассеты с магнитной лентой, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, полупроводниковое ОЗУ, полупроводниковое ПЗУ и т.д. Накопитель 141 на жестком диске обычно подключен к системной шине 121 через интерфейс стационарной памяти, например интерфейс 140, и накопитель 151 на магнитном диске и накопитель 155 на оптическом диске обычно подключены к системной шине 121 посредством интерфейса съемной памяти, например интерфейса 150.

Приводы и соответствующие компьютерные носители для хранения данных, рассмотренные выше и показанные на фиг.1, обеспечивают хранение машиночитаемых носителей, структур данных, программных модулей и других данных для компьютера 110. Например, на фиг.1 показано, что в накопителе 141 на жестком диске хранятся операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты могут совпадать с или отличаться от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 обозначены здесь другими позициями, чтобы подчеркнуть, что они являются как минимум разными копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, например клавиатуру 162 и указательное устройство 161, например мышь, шаровой манипулятор или сенсорную панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода часто подключены к процессору 120 через интерфейс 160 пользовательского ввода, который подключен к системной шине 121, но могут подключаться посредством других интерфейсов и шинных структур, например параллельного порта, игрового порта или универсальной последовательной шины (USB).

Монитор 191 или устройство отображения другого типа также подключен к системной шине 121 через интерфейс, например видеоинтерфейс 190. К системной шине 121 также может быть подключен графический интерфейс 182, например Northbridge. Northbridge - это набор микросхем, который осуществляет связь с ЦП или главным процессором 120 и отвечает за связь с ускоренным графическим портом (AGP). С графическим интерфейсом 182 может осуществлять связь один или несколько графических процессоров (ГП) 184. В этой связи ГП 184 обычно включают в себя запоминающее устройство, встроенное в кристалл, например регистровое запоминающее устройство, и ГП 184 осуществляют связь с видеопамятью 186. Однако ГП 184 являются лишь одним примером сопроцессора, и в состав компьютера 110 могут входить различные вспомогательные устройства обработки. Монитор 191 или устройство отображения другого типа также подключен к системной шине 121 через интерфейс, например видеоинтерфейс 190, который, в свою очередь, может осуществлять связь с видеопамятью 186. Помимо монитора 191, компьютеры также могут включать в себя другие периферийные устройства вывода, например громкоговорители 197 и принтер 196, которые могут подключаться через интерфейс 195 выходной периферии.

Компьютер 110 может работать в сетевой среде с использованием логических соединений с одним или несколькими удаленными компьютерами, например удаленным компьютером 180. Удаленный компьютер 180 может представлять собой персональный компьютер, карманное устройство, сервер, маршрутизатор, сетевой ПК, равноправное устройство или другой общий сетевой узел, и обычно включает в себя многие или все элементы, описанные выше применительно к компьютеру 110, хотя на фиг.1 показано только запоминающее устройство 181. Логические соединения, описанные на фиг.1, включают в себя локальную сеть (ЛС) 171 и глобальную сеть (ГС) 173, но также могут включать в себя другие сети. Такие сетевые среды обычно применяются в учреждениях, компьютерных сетях в масштабе предприятия, интрасетях и Интернете.

При использовании в сетевой среде ЛС компьютер 110 подключен к ЛС 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде ГС компьютер 110 обычно включает в себя модем 172 или другое средство установления связи в ГС 173, например Интернете. Модем 172, который может быть внутренним или внешним, может быть подключен к системной шине 121 через интерфейс 160 пользовательского ввода или другой пригодный механизм. В сетевой среде программные модули, описанные применительно к компьютеру 110, или часть из них могут храниться в удаленном запоминающем устройстве. В порядке примера, но не ограничения, на фиг.1 показано, что удаленные прикладные программы 185 размещены в запоминающем устройстве 181. Очевидно, что показанные сетевые соединения являются иллюстративными, и можно использовать другие средства установления линии связи между компьютерами.

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

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

На фиг.2 приведена схема иллюстративной сетевой или распределенной вычислительной среды. Распределенная вычислительная среда содержит вычислительные объекты 10a, 10b и т.д. и вычислительные объекты или устройства 110a, 110b, 110c и т.д. Эти объекты могут содержать программы, методы, хранилища данных, программируемую логику и т.д. Объекты могут содержать части одинаковых или разных устройств, например КПК, телевизоров, МР3-плееров, телевизоров, персональных компьютеров и т.д. Каждый объект может осуществлять связь с другим объектом посредством сети связи 14. Сама эта сеть может содержать другие вычислительные объекты и вычислительные устройства, которые обеспечивают услуги системе, показанной на фиг.2. Согласно аспекту изобретения, каждый объект 10 или 110 может содержать приложение, которому могут быть необходимы методы аутентификации настоящего изобретения для доверенных графических конвейеров.

Очевидно также, что объект, например 110с, может базироваться на другом вычислительном устройстве 10 или 110. Таким образом, хотя описанная физическая среда может изображать соединенные устройства как компьютеры, такое представление носит исключительно иллюстративный характер, и физическую среду можно альтернативно представлять или описывать как содержащую различные цифровые устройства, например КПК, телевизоры, МР3-плееры и т.д., программные объекты, например интерфейсы, объекты СОМ и т.п.

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

В домашних вычислительных средах имеются, по меньшей мере, четыре различные сетевые транспортные средства, каждое из которых может поддерживать уникальный протокол, например электрическая проводка, передача данных (проводная и беспроводная), передача голоса (например, телефон) и развлекательные средства передачи информации. Большинство домашних устройств управления, например выключатели освещения и осветительные приборы, могут использовать для связи электрическую проводку. Службы передачи данных могут подключаться к дому посредством широкополосной связи (например, DSL или кабельного модема), а в доме к ним можно подключаться посредством беспроводных средств связи (например, HomeRF или 802.11b) или проводных средств связи (например, Home PNA, Cat 5 и даже электропроводки). Голосовой трафик может поступать в дом либо по проводам (например, Cat 3), либо без проводов (например, с помощью сотовых телефонов) и может распределяться в доме с использованием проводки Cat 3. Развлекательные средства передачи информации могут подключаться к дому посредством спутниковой антенны либо кабеля и обычно распределяются по дому с использованием коаксиального кабеля. IEEE 1394 и DVI также играют роль цифровых соединений для групп медиа-устройств. Все эти и другие сетевые среды, которые могут подчиняться стандартным протоколам, могут быть взаимосвязаны с образованием интрасети, которая может быть связана с внешним миром через Интернет. В целом, существует ряд различных источников для хранения и передачи данных, и, следовательно, в дальнейшем вычислительным устройствам потребуются способы защиты контента на всех участках конвейера обработки данных.

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

Таким образом, сетевая инфраструктура допускает различные сетевые топологии, например клиент/сервер, взаимодействие равноправных устройств или смешанные архитектуры. «Клиент» - это член класса или группы, который использует услуги другого класса или группы, к которому он не относится. Таком образом, применительно к вычислению, клиент - это процесс, т.е. грубо говоря, набор команд или заданий, который запрашивает услугу, предоставляемую другой программой. Чтобы использовать запрошенную услугу, клиентскому процессу не нужно «знать» никаких рабочих деталей, касающихся другой программы или самой услуги. В архитектуре клиент/сервер, конкретно в сетевой системе, клиент обычно представляет собой компьютер, который обращается к сетевым ресурсам общего пользования, предоставляемым другим компьютером, например сервером. В примере, показанном на фиг.2, компьютеры 110a, 110b и т.д. можно считать клиентами, а компьютер 10a, 10b и т.д. можно считать сервером, причем сервер 10a, 10b и т.д. поддерживает данные, которые затем дублируются на компьютерах-клиентах 110a, 110b и т.д.

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

Клиент и сервер осуществляют связь друг с другом с использованием функциональных возможностей, обеспечиваемых уровнем протоколов. Например, протокол передачи гипертекста (HTTP) - это протокол, который обычно используется во всемирной паутине (WWW). Обычно для идентификации серверных или клиентских компьютеров друг для друга используются сетевые адреса компьютеров, например универсальный указатель ресурса (URL) или адрес интернет-протокола (IP). Под сетевым адресом можно понимать URL. Например, связь может обеспечиваться по среде передачи. В частности, клиент и сервер могут быть связаны между собой посредством соединений TCP/IP для связи с высокой пропускной способностью.

Таким образом, на фиг.2 показана иллюстративная сетевая или распределенная среда, в которой сервер осуществляет связь с компьютерами-клиентами по сети/шине и в которой может использоваться настоящее изобретение. В частности, ряд серверов 10a, 10b и т.д. соединены посредством сети/шины 14 связи, в качестве которой может выступать ЛС, ГС, интрасеть, Интернет и т.д., с рядом клиентских или удаленных вычислительных устройств 110a, 110b, 110c, 110d, 110e, например портативным компьютером, карманным компьютером, тонким клиентом, сетевым устройством или другим устройством, например ВМ, ТВ, печью, осветительным прибором, нагревателем и т.п., согласно настоящему изобретению. Таким образом, предполагается, что настоящее изобретение применимо к любому вычислительному устройству, в связи с которым желательно обрабатывать, сохранять или представлять защищенный контент из доверенного источника.

В сетевой среде, в которой сеть/шина 14 связи представляет собой Интернет, например, серверы 10 могут представлять собой веб-серверы, с которыми клиенты 110a, 110b, 110c, 110d, 110e и т.д. осуществляют связь посредством любого из ряда известных протоколов, например HTTP. Серверы 10 могут также выступать в качестве клиентов 110, что может быть характерно для распределенной вычислительной среды. Связь может быть по необходимости проводной или беспроводной. Клиентские устройства 110 могут осуществлять или не осуществлять связь по сети/шине 14 связи, и с ними могут быть связаны независимые средства связи. Например, в случае ТВ или ВМ может существовать или не существовать сетевой аспект управления ими. Каждый компьютер-клиент 110 или компьютер-сервер 10 может быть снабжен различными прикладными программными модулями или объектами 135 и соединениями или доступом к различным типам элементов или объектов хранения, в которых могут храниться файлы или в которые часть(и) файлов может загружаться или перемещаться. Таким образом, настоящее изобретение можно использовать в компьютерной сетевой среде, имеющей компьютеры-клиенты 110a, 110b и т.д., которые могут иметь доступ и взаимодействовать с сетью/шиной 14 связи, и компьютеры-серверы 10a, 10b и т.д., которые могут взаимодействовать с компьютерами-клиентами 110a, 110b и т.д. и другими устройствами 111 и базами данных 20.

Обзор управления правами (RM)

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

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

Однако после распространения такой издатель 44 практически не имеет контроля над приложением 32. Тогда система 30 RM позволяет контролировать активацию приложения 32, причем этот контроль является гибким и задается издателем 44 такого приложения 32. Обычно приложение 32 распространяется пользователю в виде пакета 33 по любому пригодному каналу распространения. Распространяемый пакет 33 может включать в себя приложение 32 или его часть, зашифрованную симметричным ключом шифрования/дешифрования (KD), (т.е. (KD(AP))), а также другую информацию, идентифицирующую приложение 32, как получить лицензию для такого приложения 32, и т.д.

Доверительная система 30 RM позволяет издателю 44 приложения 32 задавать правила лицензии, которые должны быть удовлетворены до того, как будет позволено активировать такое приложение 32 на вычислительном устройстве 34 пользователя. Такие правила лицензии могут включать в себя вышеупомянутое временное требование и могут быть воплощены в цифровой лицензии или документе использования (далее 'лицензия') 36, которую пользователь/вычислительное устройство 34 пользователя (эти термины взаимозаменяемы, если обстоятельства не требуют обратного) должен получать от издателя 44 или его агента. Такая лицензия 36 также включает в себя ключ дешифрования (KD) для дешифрования зашифрованной части приложения 32, возможно зашифрованной согласно ключу, дешифруемому вычислительным устройством 34 пользователя. Как следует из фиг.3, такой ключ шифрования может представлять собой открытый ключ вычислительного устройства 34 пользователя (PU-BB), и вычислительное устройство 34 пользователя предположительно имеет соответствующий секретный ключ (PR-BB), посредством которого можно дешифровать ключ (PU-BB(KD)).

Издатель 44 приложения 32 должен быть уверен, что вычислительное устройство 34 пользователя будет соблюдать правила и требования, заданные таким издателем 44 в лицензии 36, т.е. приложение 32 не будет активировано, пока не удовлетворены правила и требования в лицензии 36. Затем, предпочтительно, вычислительное устройство 34 пользователя снабжается доверенным компонентом или механизмом 38, который не будет активировать приложение 32, кроме как согласно правилам лицензии, воплощенным в лицензии 36, связанной с приложением 32 и полученной пользователем.

Доверенный компонент 38 обычно имеет блок 40 оценки лицензии, который определяет, действительна ли лицензия 36, просматривает правила и требования лицензии в такой действительной лицензии 36 и определяет на основании просмотренных правил и требований лицензии, помимо прочего, имеет ли право запрашивающий пользователь активировать соответствующее приложение 32 искомым образом. Следует понимать, что блоку 40 оценки лицензии доверяется в системе 30 RM выполнять желания издателя 44 приложения 32 согласно правилам и требованиям в лицензии 36 и пользователь не должен иметь возможность легко изменять такой доверенный элемент в любых целях, нечестных или иных.

Следует понимать, что правила и требования в лицензии 36 могут указывать, имеет ли пользователь право активировать приложение 32 на основании любого из нескольких факторов, включающих в себя личность пользователя, местожительство пользователя, тип вычислительного устройства 34, используемого пользователем, операционную систему, которая вызывает систему 30 RM, дату, время и т.д. Кроме того, правила и требования лицензии 36 могут ограничивать лицензию 36, например, заранее ограниченным количеством активаций или заранее определенным временем эксплуатации. Таким образом, доверенный компонент 38 может иметь необходимость обращаться к часам 42 на вычислительном устройстве 34.

Правила и требования могут быть заданы в лицензии 36 согласно любому подходящему языку и синтаксису. Например, язык может просто указывать атрибуты и значения, которые должны удовлетворяться (например, ДАТА должна быть позже, чем Х), или может требовать осуществления функций, согласно указанному скрипту (например, ЕСЛИ ДАТА больше Х, ТО ДЕЛАТЬ …).

После того как блок 40 оценки лицензии определит, что лицензия 36 пригодна и что пользователь выполняет содержащиеся в ней правила и требования, приложение 32 может быть активировано. В частности, для активации приложения 32 из лицензии 36 получают ключ дешифрования (KD) и применяют к (KD(AP)) из пакета 33, в результате чего получается действительное приложение 32, и действительное приложение 32 затем фактически активируется способом, указанным в лицензии 36.

Как указано выше, лицензия 36 с (PU-BB(KD)), в сущности, дает право лицу обладать (PR-BB) для доступа к (KD) и, таким образом, для доступа к приложению 32, зашифрованному, согласно такому (KD), предполагая, конечно, что лицо выполняет все условия, указанные в лицензии 36. Очевидно, что в системе 30 RM могут существовать другие типы лицензий 36.

Например, можно предположить, что в одном сценарии издатель 44 приложения 32 может дать право одному или нескольким конкретным лицензиатам 46 выдавать лицензию 36 для приложения 32, предоставляя лицензиату 46 лицензию 36p на публикацию. Очевидно, такая лицензия 36p на публикацию аналогична лицензии 36 в том, что такая лицензия 36p на публикацию, вероятно, включает в себя ключ дешифрования (KD) для дешифрования приложения 32, в данном случае, зашифрованного согласно открытому ключу лицензиата 46 (PU-BB). Аналогично, лицензия 36p на публикацию, вероятно, включает в себя правила и требования для визуализации контента 32. Однако в данном случае такие правила и требования подлежат включению в лицензию 36, выдаваемую лицензиатом 46, и, в частности, неприменимы к такому лицензиату 46.

Заметим, что лицензия 36p на публикацию может, на самом деле, включать в себя доверенный компонент 38 с блоком 40 оценки лицензии аналогично вычислительному устройству 34 пользователя. Существенно, что каждый тип лицензии 36, 36p и т.д. (далее 'лицензия 36'), согласно предложению, обычно включает в себя цифровую подпись в целях аутентификации/проверки, и каждая цифровая подпись удостоверяется доверенным компонентом 38 до вступления в силу лицензии 36. Конечно, если какое-либо удостоверение безуспешно, то процесс заканчивается, и лицензия 36 не вступает в силу.

Гибкая архитектура лицензирования для лицензирования цифрового приложения

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

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

Например, возможен случай, когда приложение 32 имеет часть реализации, которая реализует его на вычислительном устройстве 34 и когда такая часть реализации зашифрована и поддается дешифровке согласно ключу (KD) из лицензии 36. Таким образом, по соответствующей команде от пользователя и т.п. доверенный компонент 38 извлекает такой ключ (KD) из лицензии 36, если такая лицензия 36 позволяет это, после чего применяет извлеченный (KD) для дешифровки части реализации, после чего дешифрованная часть реализации применяется для реализации приложения 32.

Аналогично, возможен случай, когда задано, что приложение 32 имеет несколько частей функции, каждая из которых соответствует функции, и когда каждая часть функции требует в качестве предварительного условия ее использования, чтобы доверенный компонент 38 подтвердил, что лицензия 36 разрешает это. Таким образом, очевидно, что если приложение 36 имеет функции А, В и С, то первая лицензия 32, соответствующая первой редакции приложения 32, может разрешать использовать только функцию А, вторая лицензия 32, соответствующая второй редакции приложения 32, может разрешать использовать только функции В и С, третья лицензия 32, соответствующая третьей редакции приложения 32, может разрешать использовать все функции A, B и C и т.д. Заметим, что издатель 44 может задавать редакции, предлагая только определенные типы соответствующих лицензий 36, или пользователь может сам задавать их в ходе получения конкретной лицензии 36, предполагая, что издатель действительно предлагает такую специализированную лицензию 36. При получении конкретного типа лицензии 36 пользователь может применять доступные функции приложения 32, разрешенные лицензией 36 и не может применять доступные функции приложения 32, не разрешенные лицензией 36. Предположительно, в случае, когда лицензия 36 получена в порядке приобретения за плату, такая плата может варьироваться в зависимости от разрешенных ею доступных функций приложения 32.

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

Примечательно, что для осуществления выдачи такой лицензии 36 для приложения и согласно одному варианту осуществления настоящего изобретения обеспечена архитектура лицензирования 50, например, показанная на фиг.4. Из фиг.4 следует, что архитектура лицензирования 50 включает в себя издателя 44 и лицензиата 46, показанных на фиг.3, а также может включать в себя розничного торговца 52, который продает в розницу приложение 32 пользователю. Конечно, издатель 44 может также являться розничным торговцем 52 без отклонения от сущности и объема настоящего изобретения.

Предположительно, розничный торговец 52 представляет собой место розничной продажи, которое осуществляет транзакцию розничной продажи с пользователем для получения приложения 32 и/или для получения соответствующий лицензии 36. При этом розничный торговец 52 направляет пользователя к дистрибьютору 54 и т.п., использующему сайт распространения и т.п., для получения самого приложения 32 и/или направляет пользователя к лицензиату 46 за самой лицензией 36. Предположительно, хотя и необязательно, розничный торговец 52, лицензиат 46 и дистрибьютор 54 совместно работают в сети, например в Интернете, и пользователь посещает розничного торговца 52 и получает приложение 32 от дистрибьютора 54 и лицензию 36 от лицензиата 46 (далее 'лицензию 36 на использование') посредством такой сети.

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

Сама по себе определительная лицензия 36, опять же, не является лицензией 36 на использование, которую можно получить от лицензиата 46 для применения приложения 32, но является специальной лицензией 36, которая определяет все функции, доступные в приложении 32 посредством соответствующей лицензии 36 на использование. Такая определительная лицензия 36 указывает все функции приложения 32 как доступные права, затем, но не фактически, предоставляет любые из этих прав. Зато полученная лицензия 36 на использование, разрешая конкретную функцию, предоставляет соответствующее право.

Таким образом, в продолжение вышеприведенного примера, если приложение 32 включает в себя три заданные функции A, B и C, то определительная лицензия 36 указывает каждую такую функцию A, B и C совместно с соответствующей информацией, относящейся к ней. Такие соответствующие функции могут, например, включать в себя ссылку на функцию в приложении 32, описание и, возможно, информацию редакции, указывающую, какая редакция приложения 32 включает в себя такую функцию. Таким образом, лицензия 36 на использование, которая разрешает такую функцию, может, например, использовать такую информацию, чтобы разрешать пользователю применять ее. Аналогично, если лицензия 36 на использование не разрешает такую функцию, такую информацию тем не менее можно использовать, чтобы информировать пользователя о наличии такой функции и, возможно, даже направлять пользователя к лицензиату 46 для получения другой лицензии 36 на использование, которая разрешает такую функцию.

В отличие от определительной лицензии 36 начальная лицензия 36 сама по себе аналогична лицензии 36 на использование, которую можно использовать для применения приложения 32. Однако такая лицензия на использование 36 является специальной лицензией 36 в том, что такую лицензию 36 на использование можно использовать только в начале работы, например, чтобы пользователь мог испытать приложение 32, например, в течение заданного промежутка времени. Заметим, что лицензия 36 на использование не связана с пользователем или его вычислительным устройством 34.

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

Аналогично начальной лицензии 36 несетевая лицензия 36 сама по себе сходна с лицензией 36 на использование в том, что ее можно использовать для применения приложения 32. Однако такая несетевая лицензия 36 является специальной лицензией 36 в том случае, когда пользователь не имеет сетевого доступа к лицензиату 46, но все же желает использовать приложение 32. Обычно, в таком случае, несетевую лицензию 36 нельзя применять, пока пользователь не получит код подтверждения, например, по телефону или почте, причем такой код подтверждения можно получить за плату. Таким образом, с таким кодом подтверждения несетевая лицензия 36 разрешает применять приложение 32, как если бы пользователь получил какой-либо вид лицензии на использование 36 от лицензиата 46. Несетевая лицензия 36 также не связана с пользователем или его вычислительным устройством 34, по меньшей мере, напрямую, хотя получение кода подтверждения, по меньшей мере, косвенно связывает несетевую лицензию 36 с пользователем с учетом того, что пользователь идентифицировал себя в ходе получения такого кода подтверждения.

Как и начальная лицензия 36, несетевая лицензия 36 может предоставлять или не предоставлять права на все функции приложения 32, указанные в определительной лицензии 36, в зависимости от того, как издатель 44 сформировал такую несетевую лицензию 36. Заметим, что, хотя несетевая лицензия 36 может предоставлять права на все функции приложения 32, делать это нежелательно, поскольку полученный специальный код пользователь может передавать другим лицам, которые затем смогут осуществлять доступ ко всем таким функциям приложения 32.

Обычно розничный торговец 52 может предоставлять пользователю приложение 32 с вышеупомянутыми специальными лицензиями 36 либо напрямую, либо через вышеупомянутого дистрибьютора 54. Заметим, что пользователь также может получать такое приложение 32 от издателя 44 или из другого источника без отхода от сущности и объема настоящего изобретения. Фактически, и это будет описано ниже более подробно, пользователь может получить приложение 32 от знакомого или третьей стороны, а затем получить лицензию 36 на использование через розничного торговца 52.

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

Согласно вышесказанному, пользователю, располагающему единой базовой копией приложения 32, требуется лицензия 36 на использование того или иного типа для применения конкретной соответствующей редакции приложения 32, если, конечно, пользователь использует вышеупомянутую начальную лицензию 36 или несетевую лицензию 36. Однако очевидно, что такая лицензия 36 на использование содержит ключ дешифрования (KD) для доступа к зашифрованной части приложения 32 и связана с пользователем или его вычислительным устройством 34 и, таким образом, обычно не переносится вместе с приложением 32.

Согласно одному варианту осуществления настоящего изобретения, с учетом того, что приложение 32 включает в себя определительную лицензию 36, как указано выше, пользователь в ходе получения такой лицензии 36 на использование сначала получает от розничного торговца 52 и т.п. лицензию 36 продукта, которая указывает, по меньшей мере, некоторые из функций, указанных в определительной лицензии 36. Согласно такому варианту осуществления, лицензия 36 продукта сама по себе не является лицензией 36 на использование, которую можно использовать для применения приложения 32. Напротив, лицензия 36 продукта, предоставляемая розничным торговцем 52 и т.п., указывает, какую редакцию приложения 32 получил пользователь, иными словами, функции, указанные в определительной лицензии 36, которые запросил пользователь, и, таким образом, является маркером или авторизацией, который/ую пользователь представляет лицензиату 46 в ходе транзакции запроса лицензии на использование для указания такому лицензиату 46, что такой пользователь имеет право на соответствующую лицензию 36 на использование для конкретной редакции приложения 32.

Проще говоря, пользователь взаимодействует с розничным торговцем 52 для получения права на лицензию 36 на использование, но в действительности не получает лицензию 36 на использование от такого розничного торговца 52. Вместо этого пользователь получает лицензию 36 продукта в качестве маркера, который представляет лицензиату 46, и лицензиат 46 в ответ действительно выдает пользователю соответствующую лицензию 36 на использование, которую пользователь может фактически использовать для применения соответствующей редакции приложения 32. Выданная лицензия 36 на использование соответствует лицензии продукта 36 в том, что права, даваемые в лицензии 36 на использование, соответствуют редакции или функциям, указанной/ым в лицензии 36 продукта.

Очевидно, что, хотя лицензию 36 продукта можно выдавать, когда пользователь получил лицензию 36 на использование, в ходе прямой транзакции с лицензиатом 46, лицензиат 46 может предпочитать не иметь дело с розничными аспектами такой прямой транзакции. Кроме того, благодаря применению лицензии 36 продукта вышеуказанным образом множество розничных торговцев 52 могут участвовать в транзакциях розничной торговли с пользователями, имея только одного или нескольких лицензиатов 46, причем каждый лицензиат 46 способен выдавать лицензию 36 на использование в связи с транзакцией с любым розничным торговцем 52. Наконец, благодаря отделению выдачи лицензии 36 на использование лицензиатом 46 от транзакции розничной торговли с розничным торговцем 52 издатель 44 может осуществлять общий контроль над такой выдачей и также может добиваться более высокой степени защиты.

Предположительно, лицензия 36 продукта, предоставляемая розничным торговцем 52 пользователю, включает в себя соответствующую информацию, указывающую, где пользователь может найти лицензиата 46 для выдачи лицензии 36 на использование, соответствующей такой лицензии 36 продукта. Кроме того, согласно одному варианту осуществления настоящего изобретения, лицензия 36 продукта, предоставляемая розничным торговцем 52 пользователю, может быть скомпонована с информацией ссылки, включающей в себя идентификацию дистрибьютора 54, у которого можно получить приложение 32. Таким образом, в случае когда пользователь получает лицензию 36 продукта прежде, чем приложение 32, такая информация ссылки отсылает такого пользователя к такому дистрибьютору 54 для получения базовой копии такого приложения 32. Кроме того, даже после того как пользователь получит приложение 32, такую информацию ссылки можно использовать, если пользователь пожелает вернуться к дистрибьютору 54 за другой копией такой базовой копии такого приложения 32 или даже за новой или обновленной версией такой базовой копии такого приложения 32.

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

Согласно одному типичному сценарию и согласно фиг.5, пользователь, приобретающий или иначе получающий приложение 32 и соответствующую лицензию 36 на использование, посещает для этого розничного торговца 52 и вступает с ним в транзакцию, посредством которой пользователь выбирает конкретные функции, нужные ему в приложении 32, или конкретную редакцию приложения 32 (этап 501). В ходе такой транзакции пользователь может совершить платеж розничному торговцу 52. Обычно, хотя и необязательно, розничный торговец 52 контролирует транзакцию и определяет представление информации и опции, относящиеся к приложению 32, и приемлемые формы платежа, и, после подтверждения пользователя выполняет транзакцию.

Кроме того, в порядке транзакции, розничный торговец 52 собирает информацию от пользователя, необходимую для построения или получения надлежащей лицензии 36 продукта, соответствующей выбору пользователя, и фактически формирует или получает такую лицензию 36 продукта (этап 503). Как отмечено выше, такая лицензия 36 продукта может быть скомпонована с информацией ссылки, включающей в себя конкретного дистрибьютора 54, у которого можно получить базовую копию приложения 32. В любом случае такая лицензия 36 продукта передается от розничного торговца 52 пользователю (этап 505). Кроме того, розничный торговец 52 может направлять пользователю сообщение подтверждения транзакции, подтверждающее транзакцию. При этом сообщение может включать в себя место, где можно получить лицензию 36 продукта, если такая лицензия 36 продукта не направляется пользователю автоматически.

Получив лицензию продукта 36 от розничного торговца 52, пользователь может инсталлировать ее (этап 507) или может сохранить лицензию 36 продукта для последующего извлечения и инсталляции. В общем случае, как более подробно описано ниже, инсталляция включает в себя удостоверение лицензии 36 на публикацию, в том числе ее подписи, и сохранение ее на вычислительном устройстве 34 пользователя. Хотя лицензия 36 на использование, соответствующая лицензии 36 продукта, может быть получена в этот момент, вместо этого желательно сначала убедиться, что было инсталлировано соответствующее приложение 32. Заметим, что, если лицензия 36 продукта сохраняется для дальнейшего извлечения, такую лицензию 36 продукта следует сохранять в зашифрованном виде, особенно, если лицензию 36 продукта может забрать и использовать другой пользователь.

После получения лицензии 36 продукта вычислительное устройство 34 пользователя определяет, инсталлировано ли соответствующее приложение 32 (этап 509). Такая проверка может осуществляться, например, путем проверки реестра на вычислительном устройстве 34 на предмет соответствующего значения. Если приложение уже установлено, то его можно активировать для завершения процесса получения лицензии 36 на использование (этап 511). Если оно не установлено, то приложение 32 получают у дистрибьютора 54, указанного в информации ссылки, включенной в лицензию 36 продукта, или получают из носителя информации, имеющегося на вычислительном устройстве 34, и полученное приложение 32 инсталлируют на таком вычислительном устройстве 34 (этап 513), после чего активируют инсталлированное приложение 32 на этапе 511.

Заметим, что при этом уже может быть получена другая лицензия 36 на использование на вычислительном устройстве 34, и в этом случае получаемая лицензия 36 на использование является дополнительной лицензией 34 на использование. В любом случае, после активации инсталлированного приложения 32, на основании наличия лицензии 36 продукта, вычислительное устройство 34 получает соответствующую лицензию 36 на использование (этап 515). В частности, лицензия 36 продукта и, возможно, определительная лицензия 36 из приложения 32 направляются лицензиату 46 как идентифицированные в лицензии 36 продукта совместно с идентификацией пользователя, и/или его вычислительного устройства 34, и/или его доверенного компонента 38 и т.п. (этап 517).

Лицензиат 46 удостоверяет все лицензии 36 и идентификации, и, в случае успешных удостоверений, лицензиат 46 формирует на их основании соответствующую лицензию 36 на использование (этап 519) и возвращает ее запрашивающему пользователю (этап 521). Заметим, что при формировании лицензии 36 на использование лицензиат 46 получает криптографический ключ из, по меньшей мере, одной из идентификаций, например открытого ключа (PU) пользователя, шифрует вышеупомянутый ключ дешифрования (KD) для приложения 32 таким (PU), чтобы получить (PU(KD)), и включает такой (PU(KD)) в сформированную и возвращаемую лицензию 36 на использование. Заметим также, что идентификации могут включать в себя ИД оборудования (HWID), соответствующий вычислительному устройству 34 пользователя, и такой HWID также можно включать в сформированную и возвращаемую лицензию 36 на использование. Кроме того, заметим, что лицензиат 46 может записывать в соответствующую базу данных, что лицензия 36 продукта была подана и что соответствующая лицензия на использование 36 была выдана, а также может извещать об этом розничного торговца.

На вычислительном устройстве 34 пользователя может храниться возвращенная лицензия 36 на использование в соответствующем месте, например в хранилище лицензий, и такую сохраненную лицензию 36 на использование можно затем использовать для применения определенных функций приложения. В частности, согласно фиг.6, после запроса на использование конкретной функции приложения 32 (этап 601) такая функция приложения 32 может, в результате, запросить, чтобы доверенный компонент 38 определил, разрешает ли лицензия 36 на использование на вычислительном устройстве 34 использовать такую функцию (этап 603). В ответ доверенный компонент 38 может найти полученную лицензию 36 на использование в хранилище лицензий (этап 605), удостоверить ее (этап 607) и определить, позволяет ли такая удостоверенная лицензия 36 на использование использовать эту функцию (этап 609).

Предполагая, что удостоверенная лицензия 36 на использование действительно разрешает использовать функцию, доверенный компонент 38 извлекает (PU(KD)) из такой лицензии 36 на использование и применяет к нему соответствующий секретный ключ (PR) для получения ключа дешифрования (KD) (этап 611), после чего такой ключ дешифрования (KD) можно применять соответствующим образом для дешифрования соответствующей части приложения 32 (этап 613). После этого запрошенную функцию можно использовать (этап 615).

Очевидно, что в некоторый момент пользователь, получив лицензию 36 на использование, может по каким-либо причинам решить вернуть ее. Существенно, что если пользователю разрешено возвращать такую лицензию 36 на использование, то такому пользователю не должно быть разрешено копировать такую лицензию 36 на использование. Соответственно, согласно одному варианту осуществления настоящего изобретения и согласно фиг.7, такой возврат осуществляется посредством запроса розничному торговцу 52, который включает в себя соответствующую лицензию 36 продукта, предоставленную им (этап 701). В ответ розничный торговец 52 возвращает исполняемый файл или команду на вычислительное устройство 34 пользователя (этап 703), причем исполняемый файл/команда, по существу, удаляет лицензию 36 на использование с вычислительного устройства пользователя доверительным образом. В частности, доверенный компонент 38 на таком вычислительном устройстве 34 выполняет исполняемый файл/команду для удаления рассматриваемой лицензии 36 на использование (этап 705), после чего направляет сообщение розничному торговцу 52 о том, что удаление прошло успешно (этап 707). После этого розничный торговец 52 информирует лицензиата 46 о том, что соответствующая лицензия 36 продукта утратила силу (этап 709), и лицензиат 46 отмечает это в своей базе данных, так что никакой будущий запрос лицензии 36 на использование на основании такой лицензии продукта 36 не будет удовлетворен.

Исходя из того, что лицензия 36 на использование связана с конкретным вычислительным устройством 34, в том числе, посредством HWID такого вычислительного устройства 34 в такой лицензии 36 на использование, понятно, что пользователю по некоторым причинам может быть желательным перенести лицензию 36 на использование на другое свое вычислительное устройство 34 с другим HWID. По аналогии с вышеописанным, если пользователю разрешено переносить такую лицензию 36 на использование с первого устройства 34 на второе устройство 34, то такому пользователю не должно быть разрешено сохранять копию такой лицензии 36 на использование, связанной с первым устройством 34. Соответственно, согласно одному варианту осуществления настоящего изобретения и согласно фиг.7, такой перенос осуществляется наподобие возвращения. В частности, такой перенос осуществляется посредством запроса к лицензиату 46, который включает в себя соответствующую лицензию 36 продукта, предоставленную розничным торговцем 52 (этап 701). В ответ лицензиат 46 возвращает исполняемый файл или команду на вычислительное устройство 34 пользователя (этап 703), причем исполняемый файл/команда, в сущности, удаляет лицензию 36 на использование с вычислительного устройства пользователя доверительным образом. Опять же, доверенный компонент 38 на таком вычислительном устройстве 34 выполняет исполняемый файл/команду для удаления рассматриваемой лицензии 36 на использование (этап 705), после чего направляет лицензиату 46 сообщение о том, что удаление прошло успешно (этап 707).

В связи с переносом существенно, чтобы лицензиат 46 мог выдать другую лицензию 36 на использование, соответствующую лицензии 36 продукта, в данном случае другому вычислительному устройству 34 пользователя. Соответственно, в связи с переносом лицензиат 46 отмечает, что соответствующая лицензия 36 продукта снова может использоваться (этап 709), и любой будущий запрос на лицензию 36 на использование на основании такой лицензии 36 продукта действительно будет удовлетворен.

Согласно одному варианту осуществления настоящего изобретения, издатель 44 может задать лицензию 36 посредством файла лицензии и т.п., после чего передать файл лицензии розничному торговцу 52 для продажи. Кроме того, издатель 44 может создать базовую копию приложения 32 и предоставить ее дистрибьютору 54. Затем розничный торговец 52 может продать лицензию 36 пользователю и доставить ее с помощью лицензиата 46, использующего веб-страницу, и т.п. Лицензия 36 может быть скомпонована с информацией, которая указывает пользователю дистрибьютора 54, если пользователю нужно получить от него приложение 32. Приложение 32 может быть скомпоновано с информацией, которая указывает пользователю лицензиата 46, если пользователю нужно получить от него лицензию 36. Таким образом, пользователь, располагающий приложением 32, может найти лицензиата 46 для получения лицензии 36, и пользователь, располагающий лицензией 36, может найти дистрибьютора 54 для получения приложения 32.

Заключение

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

В настоящем изобретении архитектура 30 RM используется для реализации архитектуры лицензирования 50, где нужно выпускать только одну копию цифрового приложения 32 с множеством доступных функций или редакций, так что конкретная лицензия 36 на использование, выданная конкретному пользователю, указывает, какие/ую доступные функции/редакции может использовать пользователь. Таким образом, издателю 44 приложения 32 не нужно выпускать множество редакций одного и того же приложения 32, и пользователь при получении лицензии 36 на использование может выбирать, какие из множества доступных функций/редакций нужно лицензировать.

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

Реферат

Группа изобретений относится к средствам, обеспечивающим архитектуру лицензирования цифрового приложения. Техническим результатом является обеспечение управления правами доступа цифрового приложения. В способе обеспечивают транзакцию с розничным торговцем для получения лицензии продукта, соответствующей приложению. Лицензия продукта задает, по меньшей мере, одну функцию приложения, которую можно применять. Базовую копию приложения получают от дистрибьютора и активируют. Лицензию на использование, соответствующую лицензии продукта, приобретают у лицензиата за счет того, что активированное приложение направляет лицензию продукта лицензиату совместно с идентификацией, по меньшей мере, одного из пользователей вычислительного устройства и доверенного компонента, действующего на вычислительном устройстве, причем лицензия на использование включает в себя стратегию функций, предоставляющую права на применение каждой функции, заданной в лицензии продукта. 3 н. и 22 з.п. ф-лы, 7 ил.

Формула

1. Способ получения лицензии на использование для использования приложения на вычислительном устройстве, причем приложение включает в себя множество функций, вычислительное устройство хранит в запоминающем устройстве лицензию на использование, при этом способ содержит этапы, на которых
вступают в транзакцию с розничным торговцем для получения лицензии продукта, соответствующей приложению, от такого розничного торговца, причем лицензия продукта определяет по меньшей мере одну функцию приложения, которая была запрошена пользователем,
получают базовую копию приложения от дистрибьютора посредством сетевой транзакции, причем базовая копия приложения включает в себя все из множества функций упомянутого приложения,
устанавливают приложение,
активируют приложение после определения, что набор относящихся к издателю лицензионных правил издателя этого приложения удовлетворен,
получают лицензию на использование, соответствующую лицензии продукта, от лицензиара, который авторизован издателем приложения выдавать лицензию на использование, посредством того, что активированное приложение направляет лицензию продукта лицензиару посредством сетевой транзакции, причем лицензию продукта посылают совместно с идентификацией по меньшей мере одного из: пользователя, вычислительного устройства и доверенного компонента, действующего на этом вычислительном устройстве, причем лицензия на использование включает в себя политику функций, предоставляющую права на применение каждой функции, определяемой в лицензии продукта,
после запроса пользователя на использование конкретной функции из упомянутого множества функций удостоверяют лицензию на использование, используя блок оценки лицензии, и
после удостоверения определяют, разрешает ли удостоверенная лицензия на использование использовать запрошенную функцию.
2. Способ по п.1, содержащий вступление в транзакцию с розничным торговцем для получения лицензии продукта, определяющей по меньшей мере одну функцию приложения, предлагаемую розничным торговцем и представляющую доступную редакцию приложения.
3. Способ по п.1, содержащий вступление в транзакцию с розничным торговцем для получения лицензии продукта, определяющей по меньшей мере одну функцию приложения, выбираемую получателем такой лицензии продукта.
4. Способ по п.1, содержащий вступление в транзакцию с розничным торговцем для получения лицензии продукта, скомпонованной с информацией ссылки, включающей в себя конкретного дистрибьютора, от которого получают базовую копию приложения.
5. Способ по п.1, в котором по меньшей мере часть приложения зашифрована и может быть дешифрована согласно ключу (KD), причем способ содержит
получение лицензии на использование, включающей в себя криптографический ключ, из идентификации, в которой зашифрован ключ (KD), благодаря чему доверенный компонент может извлекать такой ключ (KD) и использовать его для дешифрования по меньшей мере части приложения.
6. Способ по п.1, в котором вычислительное устройство включает в себя идентификатор (ИД) оборудования (HWID), соответствующий вычислительному устройству, причем способ содержит получение лицензии на использование, включающей в себя HWID, благодаря чему доверенный компонент может извлекать такой HWID и использовать его для определения того, что лицензия предназначена для использования на вычислительном устройстве, имеющем такой HWID.
7. Способ по п.1, в котором по меньшей мере часть каждой функции приложения зашифрована и может быть дешифрована согласно ключу (KD), причем способ содержит получение лицензии на использование, включающей в себя криптографический ключ, из идентификации, в которой зашифрован ключ (KD), причем способ дополнительно содержит этапы, на которых
принимают запрос на использование конкретной функции приложения, находят полученную лицензию на использование,
определяют, что политика функции в найденной лицензии на использование разрешает запрошенное использование конкретной функции,
извлекают зашифрованный ключ (KD) из найденной лицензии на использование,
дешифруют зашифрованный ключ (KD) и используют его для дешифрования по меньшей мере части конкретной функции приложения и
используют конкретную функцию приложения.
8. Способ по п.7, дополнительно содержащий этап, на котором удостоверяют найденную лицензию на использование.
9. Способ по п.1, дополнительно содержащий этап, на котором после получения лицензии на использование возвращают ее для реверсирования транзакции, посредством которой была получена лицензия продукта, причем возвращение такой лицензии на использование включает в себя этапы, на которых
направляют розничному торговцу запрос возврата, включающий в себя соответствующую лицензию продукта, предоставленную им,
принимают от розничного торговца исполняемый файл или команду для удаления лицензии на использование с вычислительного устройства доверительным образом и
выполняют исполняемый файл/команду для удаления лицензии на использование и направляют розничному торговцу сообщение о том, что удаление лицензии на использование прошло успешно, посредством чего розничный торговец информирует лицензиара о том, что лицензия продукта недействительна, и лицензиар отмечает это в своей базе данных, так что любой будущий запрос на лицензию на использование на основании лицензии продукта не удовлетворяется.
10. Способ по п.1, в котором полученная лицензия на использование связана с вычислительным устройством, причем способ дополнительно содержит этап, на котором после получения лицензии на использование возвращают ее для получения другой лицензии на использование, связанной с другим вычислительным устройством, причем возвращение такой лицензии на использование включает в себя этапы, на которых
направляют лицензиару запрос переноса, включающий в себя соответствующую лицензию продукта, предоставленную розничным торговцем,
принимают от лицензиара исполняемый файл или команду для удаления лицензии на использование с вычислительного устройства доверительным образом и
выполняют исполняемый файл/команду для удаления лицензии на использование и направляют лицензиару сообщение о том, что удаление лицензии на использование прошло успешно, посредством чего лицензия продукта остается действительной, и лицензиар отмечает, что лицензию продукта снова можно использовать для получения другой лицензии на использование, связанной с другим вычислительным устройством.
11. Вычислительное устройство, которое обрабатывает приложение в соответствии с лицензией на использование для использования приложения, причем приложение имеет множество функций, вычислительное устройство хранит в запоминающем устройстве лицензию на использование, при этом упомянутое вычислительное устройство содержит:
процессор, который получает лицензию на использование от лицензиара, который авторизован выдавать лицензию на использование посредством набора относящихся к издателю лицензионных правил издателя этого приложения и который обрабатывает приложение в соответствии с упомянутой лицензией на использование, причем приложение включает в себя часть реализации для реализации этого приложения на вычислительном устройстве, причем часть реализации зашифрована и может быть дешифрована согласно ключу (KD), и приложение дополнительно включает в себя множество частей функций, причем каждая часть функции соответствует функции, при этом лицензия на использование соответствует лицензии продукта, которая определяет по меньшей мере одну функцию упомянутого приложения, а вычислительное устройство получает лицензию на использование от лицензиара посредством приложения, посылающего лицензию продукта лицензиару вместе с идентификационной информацией пользователя, вычислительного устройства и/или доверенного компонента, работающего на этом вычислительном устройстве, причем лицензия на продукт выдается лицензиаром на упомянутое вычислительное устройство на основании лицензии на продукт, включающей в себя политику функции, предоставляющей права на использование каждой функции в лицензии продукта, и
доверенный компонент, который запрограммирован выполнять этапы, на которых:
активируют приложение после определения, что набор относящихся к издателю лицензионных правил удовлетворен,
удостоверяют лицензию на использование, используя блок оценки лицензии, и после удостоверения определяют, разрешает ли удостоверенная лицензия на использование использовать запрошенную функцию.
12. Вычислительное устройство по п.11, в котором вычислительное устройство дополнительно включает в себя идентификатор (ИД) оборудования (HWID), идентифицирующий вычислительное устройство, и лицензия на использование включает в себя HWID, благодаря чему доверенный компонент может извлекать такой HWID из вычислительного устройства и использовать его для определения того, что лицензия на использование предназначена для использования на вычислительном устройстве, имеющем такой HWID.
13. Вычислительное устройство по п.11, в котором лицензия продукта определяет по меньшей мере одну функцию приложения, предлагаемую розничным торговцем, и представляет доступную редакцию приложения.
14. Вычислительное устройство по п.11, в котором лицензия продукта определяет по меньшей мере одну функцию приложения, выбираемую получателем такой лицензии продукта.
15. Вычислительное устройство по п.11, в котором лицензия продукта скомпонована с информацией ссылки, включающей в себя конкретного дистрибьютора, от которого получают базовую копию приложения, включающую в себя все из множества функций приложения.
16. Вычислительное устройство по п.11, в котором по меньшей мере часть каждой функции приложения зашифрована и может быть дешифрована согласно ключу (KD), причем процессор запрограммирован на получение лицензии на использование, включающей в себя криптографический ключ, из идентификационной информации, в которой зашифрован ключ (KD), причем процессор дополнительно запрограммирован для выполнения этапов, на которых
принимают запрос на использование конкретной функции приложения, находят полученную лицензию на использование,
определяют, что политика функции в найденной лицензии на использование разрешает запрошенное использование конкретной функции,
извлекают зашифрованный ключ (KD) из найденной лицензии на использование,
дешифруют зашифрованный ключ (KD) и используют его для дешифрования по меньшей мере части конкретной функции приложения и
используют конкретную функцию приложения.
17. Вычислительное устройство по п.16, в котором процессор дополнительно запрограммирован удостоверять найденную лицензию на использование.
18. Вычислительное устройство по п.13, в котором после получения лицензии на использование процессор дополнительно запрограммирован для возврата лицензии на использование для реверсирования транзакции, посредством которой была получена эта лицензия продукта, причем процессор возвращает такую лицензию на использование посредством выполнения этапов, на которых
направляют розничному торговцу запрос возврата, включающий в себя соответствующую лицензию продукта, предоставленную им,
принимают от розничного торговца исполняемый файл или команду для удаления лицензии на использование с вычислительного устройства доверительным образом и выполняют исполняемый файл/команду для удаления лицензии на использование и направляют розничному торговцу сообщение о том, что удаление лицензии на использование прошло успешно, посредством чего розничный торговец информирует лицензиара о том, что лицензия продукта недействительна, и лицензиар отмечает это в своей базе данных, так что любой будущий запрос на лицензию на использование на основании этой лицензии продукта не удовлетворяется.
19. Вычислительное устройство по п.13, в котором полученная лицензия на использование связана с упомянутым вычислительным устройством и причем после получения лицензии на использование процессор дополнительно запрограммирован для возврата ее для получения другой лицензии на использование, связанной с другим вычислительным устройством, посредством выполнения этапов, на которых направляют лицензиару запрос переноса, включающий в себя соответствующую лицензию продукта, предоставленную розничным торговцем,
принимают от лицензиара исполняемый файл или команду для удаления лицензии на использование с вычислительного устройства доверительным образом и выполняют исполняемый файл/команду для удаления лицензии на использование и направляют лицензиару сообщение о том, что удаление лицензии на использование прошло успешно, посредством чего лицензия продукта может оставаться действительной, и лицензиар может отметить, что лицензию продукта снова можно использовать для получения другой лицензии на использование, связанной с другим вычислительным устройством.
20. Считываемый компьютером носитель, содержащий сохраненные на нем команды, которые при выполнении процессором вычислительного устройства вынуждают процессор обрабатывать приложение в соответствии с лицензией на использование для использования упомянутого приложения, причем вычислительное устройство хранит в запоминающем устройстве лицензию на использование, приложение имеет часть реализации для реализации такого приложения на вычислительном устройстве, при этом эта часть реализации зашифрована и может быть дешифрована согласно ключу (KD), и имеет множество частей функций, где каждая часть функции соответствует функции, при этом вычислительное устройство получает лицензию на использование после того как пользователь вступил в транзакцию с розничным торговцем для получения от такого розничного торговца лицензии продукта, соответствующей приложению, причем лицензия продукта определяет по меньшей мере одну функцию приложения, которая была запрошена пользователем, и после того как пользователь получил базовую копию приложения от дистрибьютора, где базовая копия приложения включает в себя все из множества функций упомянутого приложения, и активировал приложение, причем лицензия на использование получена от лицензиара посредством посылки приложением лицензии продукта лицензиару совместно с идентификационной информацией пользователя, вычислительного устройства и/или доверенного компонента, работающего на этом вычислительном устройстве, и лицензия на использование выдана лицензиаром на упомянутое вычислительное устройство на основании лицензии продукта, включающей в себя политику функции, предоставляющую права на использование каждой функции в лицензии продукта, при этом упомянутые команды вынуждают процессор выполнять этапы, на которых:
получают лицензию на использование от лицензиара, который авторизован выдавать лицензию на использование посредством набора относящихся к издателю лицензионных правил издателя упомянутого приложения;
используют доверенный компонент для того, чтобы активировать приложение после определения, что набор относящихся к издателю лицензионных правил удовлетворен,
после запроса пользователем на использование конкретной функции из множества функций удостоверять лицензию на использование, используя блок оценки лицензии, и после удостоверения определять, разрешает ли удостоверенная лицензия на использование использовать запрошенную функцию.
21. Считываемый компьютером носитель по п.20, в котором вычислительное устройство включает в себя идентификатор (ИД) оборудования (HWID),
идентифицирующий вычислительное устройство, и лицензия на использование включает в себя HWID, дополнительно содержит команды, чтобы вынудить доверенный компонент извлекать такой HWID из вычислительного устройства и использовать его для определения того, что лицензия на использование предназначена для использования на вычислительном устройстве, имеющем такой HWID.
22. Считываемый компьютером носитель по п.20, в котором по меньшей мере часть каждой функции приложения зашифрована и может быть дешифрована согласно ключу (KD), причем команды вынуждают процессор получать лицензию на использование, включающую в себя криптографический ключ, из идентификационной информации, в которой зашифрован ключ (KD), посредством вынуждения процессора выполнять этапы, на которых принимают запрос на использование конкретной функции приложения, находят полученную лицензию на использование, определяют, что политика функции в найденной лицензии на использование разрешает запрошенное использование конкретной функции, извлекают зашифрованный ключ (KD) из найденной лицензии на использование, дешифруют зашифрованный ключ (KD) и используют его для дешифрования по меньшей мере части конкретной функции приложения, и используют конкретную функцию приложения.
23. Считываемый компьютером носитель по п.22, в котором команды дополнительно вынуждают процессор удостоверять найденную лицензию на использование.
24. Считываемый компьютером носитель по п.20, в котором после получения лицензии на использование команды дополнительно вынуждают процессор возвращать лицензию на использование для реверсирования транзакции, посредством которой была получена эта лицензия продукта, причем процессор возвращает такую лицензию на использование посредством выполнения этапов, на которых
направляют розничному торговцу запрос возврата, включающий в себя соответствующую лицензию продукта, предоставленную им,
принимают от розничного торговца исполняемый файл или команду для удаления лицензии на использование с вычислительного устройства доверительным образом, и выполняют исполняемый файл/команду для удаления лицензии на использование и направляют розничному торговцу сообщение о том, что удаление лицензии на использование прошло успешно, посредством чего розничный торговец информирует лицензиара о том, что лицензия продукта недействительна, и лицензиар отмечает это в своей базе данных, так что любой будущий запрос на лицензию на использование на основании лицензии продукта не удовлетворяется.
25. Считываемый компьютером носитель по п.20, в котором полученная лицензия на использование связана с упомянутым вычислительным устройством и причем после получения лицензии на использование команды дополнительно вынуждают процессор возвращать ее для получения другой лицензии на использование, связанной с другим вычислительным устройством, посредством выполнения этапов, на которых
направляют лицензиару запрос переноса, включающий в себя соответствующую лицензию продукта, предоставленную розничным торговцем, принимают от лицензиара исполняемый файл или команду для удаления лицензии на использование с вычислительного устройства доверительным образом и выполняют исполняемый файл/команду для удаления лицензии на использование и направляют лицензиару сообщение о том, что удаление лицензии на использование прошло успешно, посредством чего лицензия продукта может оставаться действительной, и лицензиар может отметить, что лицензию продукта снова можно использовать для получения другой лицензии на использование, связанной с другим вычислительным устройством.

Авторы

Патентообладатели

Заявители

СПК: B66D1/28 B66D1/60 E06C7/12 G06F21/10

Публикация: 2010-10-27

Дата подачи заявки: 2006-01-27

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам