цифровое приложение, работающее согласно агрегации множества лицензий
Классы МПК: | G06F21/22 путем ограничения доступа к программам или процессам G06F21/06 путем обнаружения несанкционированных операций или вторжений в помещение, например жилище или комнату |
Автор(ы): | ЧЖАН Нин (US), АЙЗЕНХОФЕР Ричард С. (US), ХСУ Уэн-Пин Скотт (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2006-07-11 публикация патента:
20.06.2011 |
Изобретение относится к области использования цифрового контента на основе цифровых лицензий. Техническим результатом является минимизация количества разных типов лицензий на приложение. Множество цифровых лицензий соответствуют части контента, включая в себя основную лицензию и по меньшей мере одну добавочную лицензию. Каждая добавочная лицензия включает в себя ссылку на основную лицензию, а каждая основная лицензия и каждая добавочная лицензия излагает правила, предписывающие, как контент может использоваться. Каждая добавочная лицензия идентифицируется посредством ссылки в ней на основную лицензию, а правила в основной лицензии и в каждой идентифицированной добавочной лицензии агрегируются в агрегированный набор правил, который оценивается, чтобы определять, позволяет ли такой агрегированный набор правил возможность использования контента конкретным образом. 2 н. и 14 з.п. ф-лы, 5 ил.
![цифровое приложение, работающее согласно агрегации множества лицензий, патент № 2421808](/images/patents/39/2421808/2421808.jpg)
![цифровое приложение, работающее согласно агрегации множества лицензий, патент № 2421808](/images/patents/39/2421808/2421808-2.jpg)
![цифровое приложение, работающее согласно агрегации множества лицензий, патент № 2421808](/images/patents/39/2421808/2421808-3.jpg)
![цифровое приложение, работающее согласно агрегации множества лицензий, патент № 2421808](/images/patents/39/2421808/2421808-4.jpg)
![цифровое приложение, работающее согласно агрегации множества лицензий, патент № 2421808](/images/patents/39/2421808/2421808-5.jpg)
Формула изобретения
1. Способ использования части цифрового контента на пользовательском компьютере конкретным образом, состоящий в том, что
пользовательский компьютер получает основную лицензию, соответствующую контенту, основная лицензия включает в себя первый атрибут идентификатора семейства, первый родительский атрибут и первый набор правил, предписывающих, как контент может использоваться;
пользовательский компьютер определяет, что первый набор правил позволяет использовать контент; пользовательский компьютер использует контент на основании первого набора правил;
пользовательский компьютер получает первую добавочную лицензию, первая добавочная лицензия включает в себя второй атрибут идентификатора семейства, второй родительский атрибут и второй набор правил, предписывающих, как контент может использоваться;
пользовательский компьютер определяет, что первый атрибут идентификатора семейства и второй родительский атрибут имеют одинаковое значение;
пользовательский компьютер агрегирует первый набор правил и второй набор правил в первый агрегированный набор правил;
пользовательский компьютер определяет, что первый агрегированный набор правил позволяет использовать контент;
пользовательский компьютер использует контент на основании первого агрегированного набора правил;
пользовательский компьютер получает вторую дополнительную лицензию, включающую в себя третий атрибут идентификатора семейства, третий родительский атрибут и третий набор правил, предписывающих, как контент может использоваться;
пользовательский компьютер определяет, что второй родительский атрибут и третий родительский атрибут имеют одинаковые значения;
пользовательский компьютер агрегирует третий набор правил и первый агрегированный набор правил во второй агрегированный набор правил;
пользовательский компьютер определяет, что второй агрегированный набор правил позволяет использовать контент; и
пользовательский компьютер использует контент на основании второго агрегированного набора правил.
2. Способ по п.1, в котором первый атрибут идентификатора семейства определяет основную лицензию внутри иерархии лицензий и второй родительский атрибут первой добавочной лицензии идентифицирует основную лицензию в качестве ее иерархического родителя, способ содержит идентификацию дополнительной добавочной лицензии посредством определения значения первого атрибута идентификатора семейства и локализацию каждой дополнительной добавочной лицензии, имеющей ее родительский атрибут, установленный в значение первого атрибута идентификатора семейства основной лицензии.
3. Способ по п.1, дополнительно содержащий этап, на котором пользовательский компьютер идентифицирует основную лицензию посредством определения, что первый родительский атрибут установлен в нулевое значение.
4. Способ по п.1, в котором пользовательский компьютер определяет, что первый агрегированный набор правил, позволяющий использование контента, включает в себя использование предопределенных правил конфликтов для разрешения любых конфликтов между правилами из конфликтующих лицензий, правила конфликтов разрешают каждый конфликт по меньшей мере частично на основании соответствующих положений конфликтующих лицензий в пределах иерархии лицензий.
5. Способ по п.1, в котором контент шифруется и дешифруется согласно ключу дешифрования (KD), содержащемуся в пределах по меньшей мере одной из основной лицензий и первой добавочной лицензии, способ состоит в том, что пользовательский компьютер использует контент посредством извлечения (KD) из лицензии, содержащей таковой, и дешифруют контент с помощью (KD).
6. Способ по п.1, в котором каждая основная лицензия и первая добавочная лицензия включают в себя цифровую подпись, выработанную согласно открытому ключу, который ведет назад к общему корневому центру сертификации, способ дополнительно состоит в том, что пользовательский компьютер верифицирует, что подпись каждой основной лицензии и первой добавочной лицензии подтверждает достоверность на основании цепочки сертификатов, тянущейся от такого общего корневого центра сертификации.
7. Способ по п.1, в котором третий атрибут идентификатора семейства имеет нулевое значение, указывающее, что никакая другая добавочная лицензия не может быть добавлена ко второй дополнительной лицензии.
8. Способ по п.1, в котором оценивание пользовательским компьютером второго агрегированного набора правил для определения, что второй агрегированный набор правил позволяет использование контента, включает в себя использование предопределенных правил конфликтов для согласования любых конфликтов между правилами из конфликтующих лицензий, правила конфликтов разрешают каждый конфликт по меньшей мере частично на основании соответствующих положений конфликтующих лицензий в пределах иерархии лицензий.
9. Машиночитаемый носитель, содержащий сохраненные на нем машиноисполнимые команды, которые при выполнении компьютером реализуют способ использования части цифрового контента на устройстве пользовательского компьютера конкретным образом, способ состоит в том, что
получают базовую лицензию на устройство пользовательского компьютера, содержащую первый родительский атрибут и первый набор правил, указывающий, как первый контент может быть использован;
определяют, что первый набор правил позволяет использовать контент;
используют контент на основании первого набора правил;
получают первую добавочную лицензию на устройство пользовательского компьютера, содержащую второй атрибут идентификатора семейства, второй родительский атрибут и второй набор правил, указывающий, как контент может быть использован;
определяют, что первый атрибут идентификатора семейства и второй родительский атрибут имеют одинаковые значения;
агрегируют первый набор правил и второй набор правил в первый агрегированный набор правил;
определяют, что первый агрегированный набор правил позволяет использование контента;
используют контент на пользовательском компьютерном устройстве на основании первого агрегированного набора правил;
получают вторую дополнительную лицензию, на пользовательском компьютерном устройстве, включающую в себя третий атрибут идентификатора семейства, третий родительский атрибут и третий набор правил, предписывающих, как контент может использоваться;
определяют, что второй родительский атрибут и третий родительский атрибут имеют одинаковые значения;
агрегируют третий набор правил и первый агрегированный набор правил во второй агрегированный набор правил;
определяют, что второй агрегированный набор правил позволяет использовать контент; и
используют контент на пользовательском компьютерном устройстве на основании второго агрегированного набора правил.
10. Носитель по п.9, в котором первый атрибут семейства идентифицирует основную лицензию внутри иерархии лицензий и второй родительский атрибут первой добавочной лицензии идентифицирует основную лицензию в качестве ее иерархического родителя, способ содержит идентификацию дополнительной добавочной лицензии посредством определения значения первого атрибута идентификатора семейства и локализацию каждой добавочной лицензии, имеющей ее родительский атрибут, установленный в значение первого атрибута идентификатора семейства основной лицензии.
11. Носитель по п.9, дополнительно содержащий идентификацию основной лицензии посредством определения, что первый родительский атрибут установлен в нулевое значение.
12. Носитель по п.9, в котором использование первого агрегированного набора правил включает в себя определение, что первый агрегированный набор правил позволяет использование предопределенных правил конфликтов для разрешения любых конфликтов между правилами из конфликтующих лицензий, правила конфликтов разрешают каждый конфликт, по меньшей мере, частично на основании соответствующих положений конфликтующих лицензий в пределах иерархии лицензий.
13. Носитель по п.9, в котором контент шифруется и дешифруется согласно ключу дешифрования (KD), содержащемуся в пределах, по меньшей мере, одной из основной лицензий и первой добавочной лицензии, способ состоит в том, что используют контент посредством извлечения (KD) из лицензии, содержащей таковой, и дешифруют контент с помощью (KD).
14. Носитель по п.9, в котором каждая основная лицензия и первая добавочная лицензия включают в себя цифровую подпись, выработанную согласно открытому ключу, который ведет назад к общему корневому центру сертификации, способ дополнительно состоит в том, что пользовательский компьютер верифицирует, что подпись каждой основной лицензии и первой добавочной лицензии подтверждает достоверность на основании цепочки сертификатов, тянущейся от такого общего корневого центра сертификации.
15. Носитель по п.9, в котором третий атрибут идентификатора семейства имеет нулевое значение, указывающее, что никакая другая добавочная лицензия не может быть добавлена ко второй дополнительной лицензии.
16. Носитель по п.9, в котором оценивание второго агрегированного набора правил для определения, что второй агрегированный набор правил позволяет использование контента, включает в себя использование предопределенных правил конфликтов для согласования любых конфликтов между правилами из конфликтующих лицензий, правила конфликтов разрешают каждый конфликт по меньшей мере частично на основании соответствующих положений конфликтующих лицензий в пределах иерархии лицензий.
Описание изобретения к патенту
ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННУЮ ЗАЯВКУ
Эта заявка испрашивает приоритет по предварительной заявке на выдачу патента США под № 60/698140, зарегистрированной 14 июля 2005 года и озаглавленной «HIERARCHY AND EVALUATION OF ADD-ON LICENSES», тем самым включенной в материалы настоящей заявки посредством ссылки во всей своей полноте.
ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к цифровому приложению или тому подобному, работающему на вычислительном устройстве или тому подобном согласно правам и условиям, изложенным в цифровой лицензии или тому подобном. Более конкретно, изобретение относится к множеству таких лицензий, которые были агрегированы, чтобы, в сущности, сформировать расширенный набор правил и прав, согласно которым работает приложение.
УРОВЕНЬ ТЕХНИКИ
Администрирование прав и принудительное применение крайне желательно в связи с цифровым контентом, таким как цифровое приложение или т.п., где такое приложение должно распространяться по одному или более пользователей. Типичные способы распространения включают в себя осязаемые устройства, такие как магнитный (гибкий) диск, магнитная лента, оптический (компакт) диск (CD), и т.п., и неосязаемые носители, такие как форум, электронная сеть, сеть Интернет и т.п. При приеме пользователем на его вычислительном устройстве такой пользователь может активировать приложение с помощью надлежащей операционной системы на вычислительном устройстве.
Типично, автор и/или издатель приложения желает распространять такое приложение в отношении каждого из многочисленных пользователей или получателей в обмен на плату за лицензию или некоторое другое возмещение. При таком сценарии, к тому же, приложение может быть приложением обработки текстов, приложением электронных таблиц, приложением браузера, игровым приложением, приложением медиаплеера, их сочетанием и тому подобным. Такой автор/издатель или другая подобная сущность (в дальнейшем, «издатель»), предрасположенные к выбору, вероятно, могли бы пожелать ограничить то, что каждый пользователь может делать с таким изданным приложением. Например, издатель хотел бы ограничить пользователя в копировании и повторном распространении такого приложения второму пользователю, по меньшей мере, способом, который лишает издателя платы за лицензию от такого второго пользователя.
Однако после того как произошло издание, такой издатель имеет весьма незначительный, если вообще имеет, реальный контроль над приложением. Это особенно проблематично ввиду того обстоятельства, что практически каждый персональный компьютер включает в себя программное обеспечение и аппаратные средства, необходимые для изготовления точной цифровой копии такого приложения и для загрузки такой точной цифровой копии на перезаписываемый магнитный или оптический диск, или для отправки такой точной цифровой копии через сеть, такую как сеть Интернет, в любой пункт назначения.
Конечно, в качестве части транзакции, в которой распространяется приложение, издатель может требовать от пользователя/получателя приложения давать обязательство не распространять повторно такое приложение нежелательным образом. Однако такое обязательство легко дается и легко нарушается. Издатель может пытаться предотвращать такое повторное распространение посредством любого из нескольких известных устройств защиты, обычно привлекающих шифрование и дешифрование. Однако, вероятно, есть очень немного того, что воспрепятствует умеренно решительному пользователю дешифровать шифрованное приложение, сохранить такое приложение в нешифрованном виде, а затем повторно распространять таковое.
Ранее были предусмотрены архитектуры и способы администрирования прав (RM) и принудительного применения для предоставления возможности контролируемой эксплуатации произвольных видов цифровых приложений, где такой контроль является гибким и определяемым издателем такого приложения. Типично, предусмотрена цифровая лицензия для эксплуатации приложения, где приложение не может приводиться в действие поддающимся интерпретации образом без такой лицензии. Например, может иметь место, что по меньшей мере часть приложения зашифрована, а лицензия включает в себя ключ дешифрования для дешифрации такой зашифрованной части. В дополнение, может иметь место, что лицензия привязана к пользователю или его вычислительному устройству, а такое вычислительное устройство включает в себя признак защиты, который гарантирует, что условия лицензии выполняются.
Такая цифровая лицензия типично включает в себя набор прав и условий, которые обусловливают использование соответствующего приложения на вычислительном устройстве. Таким образом, каждая лицензия излагает политики, которые предоставляют определенные права на заданные функциональные возможности. С этими цифровыми лицензиями, в таком случае, издатель может снабжать пользователя разными правами в отношении приложения предоставлением разных лицензий, соответствующих таким разным правам. Например, издатель может пожелать поставлять полнофункциональную версию приложения по более высокой цене и рудиментарную версию по более низкой цене. Подобным образом, издатель может пожелать предложить версию с определенным первым признаком и версию без такового, версию с определенным вторым признаком и версию без такового, версию с определенным третьим признаком и версию без такового, и так далее.
Можно отметить, тем не менее, что в предшествующем уровне техники, так как каждое изменение прав в приложении потребовало бы полностью отдельной лицензии, предложение произвольных сочетаний прав пользователям было трудным делом ввиду того, что количество произвольных сочетаний таких прав могло бы легко исчисляться в десятках, сотнях и тысячах, а каждое произвольное сочетание прав потребовало бы отдельного типа лицензии. Например, издатель, желающий предлагать приложение с пятью двухпозиционными правами (например, правами, которые либо присутствуют, либо отсутствуют), был бы вынужден приготовить 2 в 5-й степени, или 32 разных типа лицензий. Подобным образом, издатель, желающий предлагать приложение с четырьмя двухпозиционными правами и двумя трехпозиционными правами (например, правами, которые присутствуют, ограничены, либо отсутствуют), был бы вынужден подготовить 2 в 4-й степени раз по 3 во 2-й степени, или 144 разных типа лицензий.
Как должно быть принято во внимание, к тому же, большие сложности вариантов приложения могли бы иметь результатом большие количества разных типов лицензий. Однако, и значимо, вероятно трудно, если не невозможно, для издателя такого приложения предлагать более чем ограниченное количество типов таких лицензий, быть может, в порядке от десяти до тридцати или около этого. Довольно просто, предложение каждого типа лицензии потребовало бы от издателя осуществлять техническое обслуживание каждого типа, в т.ч., обновление и модификацию такового по необходимости, а такое техническое обслуживание может легко стать непомерной задачей по мере того, как количество типов возрастает.
Соответственно, существует потребность в способе и механизме, посредством которого издатель или тому подобное приложения или тому подобного может предлагать, в качестве схемы цифрового лицензирования, произвольные сочетания прав пользователей или т.п., где количество разных типов лицензий, представляющих такие права, минимизировано. В частности, существует потребность в таком способе и механизме, посредством которого конкретные права или группы прав в отношении приложения представляются отдельными цифровыми лицензиями на приложение, а пользователь получает одну или более таких лицензий для соответствующего получения прав или групп прав, совместно представленных таким образом. Как результат, минимизируется количество разных типов лицензий на приложение.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Вышеупомянутые потребности удовлетворяются, по меньшей мере частично, настоящим изобретением, в котором предусмотрен способ для использования части цифрового контента на вычислительном устройстве конкретным образом. В способе получается множество цифровых лицензий, соответствующих контенту, где множество лицензий включает в себя основную лицензию и по меньшей мере одну добавочную лицензию. Каждая добавочная лицензия включает в себя ссылку на основную лицензию, а каждая основная лицензия и каждая добавочная лицензия излагает правила, задающие, каким образом контент может использоваться.
Основная лицензия идентифицируется, и каждая добавочная лицензия идентифицируется посредством ссылки в ней на основную лицензию, а правила в основной лицензии и в каждой идентифицированной добавочной лицензии агрегируются в агрегированный набор правил. Агрегированный набор правил затем оценивается, чтобы определять, предоставляет ли такой агрегированный набор правил возможность использования контента конкретным образом, и контент используется, если агрегированный набор правил предоставляет такую возможность.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Вышеизложенное краткое описание, а также последующее подробное описание вариантов осуществления настоящего изобретения будут лучше поняты, когда читаются в соединении с прилагаемыми чертежами. С целью иллюстрации изобретения на чертежах показаны варианты осуществления, которые предпочтительны сегодня. Однако, как должно быть понятно, изобретение не ограничено показанными точными компоновками и инструментальными средствами. На чертежах:
Фиг.1 - структурная схема, представляющая примерную неограничивающую вычислительную среду, в которой может быть реализовано настоящее изобретение;
Фиг.2 - структурная схема, представляющая примерную сетевую среду, содержащую многообразие вычислительных устройств, в которой может быть реализовано настоящее изобретение;
Фиг.3 - структурная схема, показывающая архитектуру принудительного применения примера основанной на доверии системы, включающей в себя цифровую лицензию в соответствии с одним из вариантов осуществления настоящего изобретения;
Фиг.4 - структурная схема, показывающая иерархию лицензий, таких как лицензия по Фиг.3, где иерархия включает в себя основную лицензию и добавочные лицензии, в соответствии с одним из вариантов осуществления настоящего изобретения; и
Фиг.5 - блок-схема последовательности операций способа, показывающая ключевые этапы, выполняемые при агрегировании правил, изложенных в каждой из лицензий иерархии по фиг.4, в соответствии с одним из вариантов осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Компьютерная среда
Фиг.1 и последующее обсуждение предназначены для предоставления краткого общего описания подходящей вычислительной среды, в которой изобретение может быть реализовано. Однако должно быть понятно, что карманные, портативные и другие вычислительные устройства всех разновидностей предполагаются для использования в связи с настоящим изобретением. Несмотря на то что ниже описан компьютер общего применения, это только один из примеров, и настоящее изобретение требует всего лишь тонкого клиента, обладающего функциональной совместимостью и взаимодействием с сетевым сервером. Таким образом, настоящее изобретение может быть реализовано в среде сетевых размещаемых служб, в которые вовлекаются очень незначительные или минимальные ресурсы клиента, например сетевой среде, в которой клиентское устройство служит просто в качестве браузера или интерфейса во всемирную паутину.
Хотя и не требуется, изобретение может быть реализовано посредством интерфейса прикладного программирования (API) для использования разработчиком и/или включено в обыскивающее сеть программное обеспечение, которое будет описано в общем контексте исполняемых компьютером инструкций, таких как программные модули, являющиеся исполняемыми одним или более компьютерами, такими как клиентские рабочие станции, серверы и другие устройства. Обычно, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Типично, функциональные возможности программных модулей могут комбинироваться или распространяться по необходимости в различных вариантах осуществления. Более того, специалисты в данной области техники будут принимать во внимание, что изобретение может быть осуществлено на практике с другими конфигурациями компьютерных систем. Другие общеизвестные вычислительные системы, среды и/или конфигурации, которые могут быть подходящими для использования с изобретением, включают в себя, но не в качестве ограничения, персональные компьютеры (ПК, PC), автоматические кассиры, серверные компьютеры, карманные или портативные устройства, многопроцессорные системы, основанные на микропроцессорах системы, программируемую бытовую электронику, сетевые ПК, мини-компьютеры, универсальные вычислительные машины, и т.п. Изобретение также может быть осуществлено на практике в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки данных, которые связаны через сеть связи или другую среду передачи данных. В распределенной вычислительной среде программные модули могут быть расположены на запоминающих носителях как локального, так и удаленного компьютера, в т.ч. запоминающих устройствах памяти.
Фиг.1, таким образом, иллюстрирует пример подходящей вычислительной среды 100 системы, в которой может быть реализовано изобретение, хотя, как пояснено выше, вычислительная среда 100 системы является только одним из примеров пригодной вычислительной среды и не предназначена для внушения какого бы то ни было ограничения в отношении объема использования или функциональных возможностей изобретения. Вычислительная среда 100 также не должна интерпретироваться в качестве обладающей какой бы то ни было зависимостью или требованием, относящимися к любому одному или сочетанию компонентов, проиллюстрированных в примерной рабочей среде 100.
Со ссылкой на фиг.1, примерная система для реализации изобретения включает в себя вычислительное устройство общего применения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не в качестве ограничения, процессор 120 (устройство обработки данных), системную память 130 и системную шину 121, которая присоединяет различные системные компоненты, в т.ч. системную память, к процессору 120. Системная шина 121 может быть любым из некоторых типов шинных структур, в т.ч. шиной памяти или контроллером памяти, периферийной шиной и локальной шиной, использующим любую из многообразия шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), расширенную шину ISA (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину соединения периферийных компонентов (PCI) (также известную как мезонинная шина).
Компьютер 110 типично включает в себя многообразие машиночитаемых носителей. Машиночитаемые носители могут быть любыми имеющимися в распоряжении носителями, к которым может осуществляться доступ компьютером 110, и включают в себя как энергозависимые и энергонезависимые носители, так и съемные и несъемные носители. В качестве примера, а не ограничения, машиночитаемые носители могут содержать компьютерные запоминающие носители и среду связи. Компьютерные запоминающие носители включают в себя как энергозависимые и энергонезависимые, так и съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные запоминающие носители включают в себя, но не в качестве ограничения, ОЗУ (оперативное запоминающее устройство, RAM), ПЗУ (постоянное запоминающее устройство, ROM), ЭСППЗУ (электрически стираемое и программируемое ПЗУ, EEPROM), флэш-память или другую технологию памяти, CD-ROM (ПЗУ на компакт-диске), цифровые многофункциональные диски (DVD) или другие оптические дисковые запоминающие устройства, магнитные кассеты, магнитную ленту, магнитные дисковые запоминающие устройства или другие магнитные запоминающие устройства, либо любой другой носитель, который может использоваться для хранения требуемой информации и к которому может быть осуществлен доступ компьютером 110. Среда связи типично воплощает машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как сигнал несущей или другой транспортный механизм, и включает в себя любую среду доставки информации. Термин «модулированный сигнал данных» означает сигнал, который обладает одной или более его характеристик, установленных или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи включают в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая, РЧ (радиочастотная, RF), инфракрасная и другая беспроводная среда. Сочетания любых из вышеприведенных также должны быть включены в пределы объема машиночитаемых носителей.
Системная память 130 включает в себя компьютерные запоминающие носители в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативное запоминающее устройство (ОЗУ) 132. Базовая система 133 ввода/вывода (BIOS), содержащая базовые процедуры, которые помогают передавать информацию между элементами в пределах компьютера 110, к примеру, во время запуска, типично хранится в ПЗУ 131. ОЗУ 132 типично содержит модули данных и/или программ, которые доступны непосредственно и/или, собственно, являются приводимыми в действие процессором 120. В качестве примера, а не ограничения, фиг.1 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и данные 137 программ.
Компьютер 110 также может включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители. Только в качестве примера, фиг.1 иллюстрирует накопитель 141 на жестком диске, который считывает с или записывает на несъемные энергонезависимые магнитные носители, магнитный дисковод 151, который считывает с или записывает на съемный энергонезависимый магнитный диск 152, и оптический дисковод 155, который считывает с или записывает на съемный энергонезависимый оптический диск 156, такой как CD-ROM, или другие оптические носители. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители, которые могут использоваться в примерной рабочей среде, включают в себя, но не в качестве ограничения, кассеты магнитной ленты, карты флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и т.п. Накопитель 141 на жестком диске типично присоединен к системной шине 121 через интерфейс несъемной памяти, такой как интерфейс 140, а магнитный дисковод 151 и оптический дисковод 155 типично присоединены к системной шине 121 посредством интерфейса съемной памяти, такого как интерфейс 150.
Дисководы и их ассоциативно связанные компьютерные запоминающие носители, обсужденные выше и проиллюстрированные на фиг.1, обеспечивают хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 110. На фиг.1, например, накопитель 141 на жестком диске проиллюстрирован в качестве хранящего операционную систему 144, прикладные программы 145, другие программные модули 146 и данные 147 программ. Можно отметить, что эти компоненты могут быть либо такими же как, либо отличными от операционной системы 134, прикладных программ 135, других программных модулей 136 и данных 137 программ. Операционная система 144, прикладные программы 145, другие программные модули 146 и данные 147 программ здесь снабжены другими номерами, чтобы проиллюстрировать, что они, как минимум, являются другими копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162 и координатно-указательное устройство 161, обычно указываемые ссылкой как мышь, шаровой манипулятор или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер или т.п. Эти и другие устройства ввода данных часто присоединяются к процессору 120 через интерфейс 160 пользовательского ввода, который присоединен к системной шине 121, но могут присоединяться другими интерфейсами и шинными структурами, такими как параллельный порт, игровой порт или универсальная последовательная шина (USB).
Монитор 191, или другой вид устройства отображения, также присоединен к системной шине 121 через интерфейс, такой как видеоинтерфейс 190. Графический интерфейс 182, такой как Северный мост, также может быть присоединен к системной шине 121. Северный мост является набором микросхем, которые поддерживают связь с ЦП (центральным процессором, CPU) или главным процессором 120, и берет на себя ответственность за связь ускоренного графического порта (AGP). Один или более графических процессоров (GPU) 184 могут поддерживать связь с графическим интерфейсом 182. В этом отношении, GPU 184 обычно включает в себя запоминающее устройство внутрикристальной памяти, такое как регистровое запоминающее устройство, и GPU 184 поддерживают связь с видеопамятью 186. GPU 184, однако, являются только одним из примеров сопроцессора, и, соответственно, многообразие устройств совместной обработки данных может быть включено в компьютер 110. Монитор 190, или другой тип устройства отображения, также присоединен к системной шине 121 через интерфейс, такой как видеоинтерфейс 190, который, в свою очередь, может поддерживать связь с видеопамятью 186. В дополнение к монитору 191, компьютеры также могут включать в себя другие периферийные устройства вывода, такие как динамики 197 и принтер 196, которые могут быть присоединены через периферийный интерфейс 195 вывода.
Компьютер 110 может работать в сетевой среде с использованием логических соединений с одним или более удаленных компьютеров, таких как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым ПК (персональным компьютером, PC), одноранговым устройством или другим общим узлом сети, и типично включает в себя многие или все из элементов, описанных выше относительно компьютера 110, хотя только запоминающее устройство 181 памяти было проиллюстрировано на фиг.1. Логические соединения, изображенные на фиг.1, включают в себя локальную сеть 171 (LAN) и глобальную сеть 173 (WAN), но также могут включать в себя другие сети. Такие сетевые среды являются обычными в офисах, корпоративных компьютерных сетях, сетях интранет (локальных сетях, основанных на технологиях Интернет) и сети Интернет.
Когда используется в сетевой среде LAN, компьютер 110 присоединен к LAN 171 через сетевой интерфейс или адаптер 170. Когда используется в сетевой среде WAN, компьютер 110 типично включает в себя модем 172 или другое средство для установления связи через WAN 173, такую как сеть Интернет. Модем 172, который может быть внутренним и внешним, может быть присоединен к системной шине 121 через интерфейс 160 пользовательского ввода или другой подходящий механизм. В сетевой среде программные модули, изображенные относительно компьютера 110, или их части, могут храниться в удаленном запоминающем устройстве памяти. В качестве примера, а не ограничения, фиг.1 иллюстрирует удаленные прикладные программы 185 как находящиеся в устройстве 181 памяти. Будет приниматься во внимание, что показанные сетевые соединения являются примерными, и может использоваться другое средство установления линии связи между компьютерами.
Рядовой специалист в данной области техники может принимать во внимание, что компьютер 110 или другое клиентское устройство могут применяться в качестве части компьютерной сети. В этом отношении, настоящее изобретение относится к любой компьютерной системе, содержащей любое количество памяти или запоминающих устройств и любое количество приложений и процессов, встречающихся по любому количеству запоминающих устройств или томов. Настоящее изобретение может применяться к среде с серверными компьютерами и клиентскими компьютерами, развернутыми в сетевой среде, содержащей удаленное или локальное запоминающее устройство. Настоящее изобретение также может применяться к автономному вычислительному устройству, содержащему функциональную возможность языка программирования, возможности интерпретации и выполнения.
Распределенные вычисления содействуют совместному использованию компьютерных ресурсов и служб посредством прямого обмена между вычислительными устройствами и системами. Эти ресурсы и службы включают в себя обмен информацией, запоминающее устройство кэш-памяти и дисковое запоминающее устройство для файлов. Распределенные вычисления используют в своих интересах возможность сетевого соединения, предоставляющего клиентам возможность усиливать свою совместную мощь, чтобы приносить пользу предприятию, взятому в целом. В этом отношении, многообразие устройств может содержать приложения, объекты или ресурсы, которые могут взаимодействовать, чтобы привлекать технологии аутентификации по настоящему изобретению для доверенного графического конвейера(ов).
Фиг.2 дает схематическое представление примерной сетевой или распределенной вычислительной среды. Распределенная вычислительная среда содержит вычислительные объекты 10a, 10b и т.д., и вычислительные объекты или устройства 110a, 110b, 110c и так далее. Эти объекты могут содержать программы, методы, хранилища данных, программируемую логику и т.п. Объекты могут содержать части одного и того же или разных устройств, таких как PDA (персональные цифровые секретари), телевизоры, MP3-проигрыватели, персональные компьютеры и т.п. Каждый объект может осуществлять связь с другим объектом посредством сети 14 связи. Эта сеть сама может содержать другие вычислительные объекты и вычислительные устройства, которые предоставляют услуги системе по фиг.2. В соответствии с аспектом изобретения каждый объект 10 или 110 может содержать приложение, которое может требовать технологий аутентификации по настоящему изобретению для доверенного графического конвейера(ов).
Также может быть принято во внимание, что объект, такой как 110c, может размещаться на другом вычислительном устройстве 10 или 110. Таким образом, изображенная физическая среда может показывать соединенные устройства в качестве компьютеров, такая иллюстрация является только примерной, и, в качестве альтернативы, может быть изображена или описана физическая среда, содержащая различные цифровые устройства, такие как PDA, телевизоры, MP3-проигрыватели и т.п., программные объекты, такие как интерфейсы, COM-объекты и т.п.
Есть многообразие систем, компонентов и сетевых конфигураций, которые поддерживают распределенные вычислительные среды. Например, вычислительные системы могут связываться вместе проводными или беспроводными системами, локальными сетями или широко распространенными сетями. В настоящее время многие из сетей присоединены к сети Интернет, которая обеспечивает инфраструктуру для широко распределенных вычислений и охватывает много разных сетей.
В домашних сетевых средах есть по меньшей мере четыре разнородных сетевых транспортных канала передачи, каждый из которых может поддерживать уникальный протокол, таких как линия электропередачи, информационный (как беспроводный, так и проводной), речевой (например, телефон) и развлекательный канал передачи. Большинство домашних устройств управления, таких как выключатели и приборы освещения, могут использовать линию электропередачи для возможности соединения. Информационные услуги могут проникать в дом в виде широкополосной связи (например, DSL (кабельных абонентских линий) или кабельного модема) и доступны в пределах дома с использованием возможности либо беспроводного (например, технологии HomeRF или 802.11b) или проводного (например, технологий PNA, кабельной системы категории 5, и даже линии электропитания) соединения. Речевой поток обмена может проникать в дом в качестве либо проводного (например, кабельной системы категории 3), либо беспроводного (например, сотового телефона) и может распространяться в пределах дома с использованием проводки кабельной системы категории 3. Развлекательные каналы передачи могут проникать в дом либо через спутниковую антенну, либо кабель и, типично, распространяются в доме с использованием коаксиального кабеля. IEEE 1394 и DVI (стандарт интерактивного цифрового видео) также появляются в качестве цифровых межсоединений для кластеров медиаустройств. Все из этих сетевых сред и другие, которые могут появляться в качестве технических условий протокола, могут взаимно соединяться, чтобы формировать интранет, которая может быть связана с наружным миром посредством сети Интернет. Вкратце, многообразие разнородных источников существует для хранения и передачи данных, а следовательно, двигаясь вперед, вычислительные устройства будут требовать способов защиты контента на всех участках конвейера обработки данных.
'Сеть Интернет' обычно указывает ссылкой на совокупность сетей и шлюзов, которые используют набор протоколов TCP/IP, которые широко известны в данной области техники организации сетей компьютеров. TCP/IP является акронимом для «Transport Control Protocol/Interface Program» («Протокол управления передачей/Программа интерфейса»). Сеть Интернет может быть описана как система географически распределенных удаленных компьютерных сетей, взаимосвязанных компьютерами, выполняющими сетевые протоколы, которые предоставляют пользователям возможность взаимодействовать и совместно использовать информацию по сетям. Вследствие такого совместного использования широко распространенной информации удаленные сети, такие как сеть Интернет, до сих пор развились в открытые системы, для которых разработчики могут разрабатывать программные приложения для выполнения специализированных операций или служб, по существу, без ограничения.
Таким образом, сетевая инфраструктура дает возможность хост-системы сетевых топологий, таких как клиент/серверные, одноранговые или гибридные архитектуры. «Клиент» является членом класса или группы, который использует службы другого класса или группы, к которым он не относится. Таким образом, при вычислениях клиент является процессом, т.е. грубо, набором инструкций или задач, которые запрашивают службу, предусмотренную другой программой. Клиентский процесс использует запрошенную службу без вынуждения «знать» какие бы то ни было рабочие детали о другой программе или самой службе. В клиент/серверной архитектуре, в частности сетевой системе, клиент обычно является компьютером, который осуществляет доступ к совместно используемым ресурсам, предоставляемым другим компьютером, например сервером. В примере по фиг.2, компьютеры 110a, 110b, и так далее, могут считаться в качестве клиентов, а компьютеры 10a, 10b, и так далее, могут считаться в качестве сервера, где сервер 10a, 10b, и так далее, удерживает данные, которые затем тиражируются на клиентских компьютерах 110a, 110b, и так далее.
Сервер типично является удаленной компьютерной системой, доступной через сеть, такую как сеть Интернет. Клиентский процесс может быть активным в первой компьютерной системе, а серверный процесс может быть активным во второй компьютерной системе, поддерживающими связь одна с другой через канал связи, таким образом, обеспечивая функциональные возможности и предоставляя многочисленным клиентам возможность использовать в своих интересах возможности сбора информации сервера.
Клиент и сервер поддерживают связь друг с другом с использованием функциональных возможностей, предусмотренных уровнем протокола. Например, протокол передачи гипертекста (HTTP) является общим протоколом, который используется в связи со Всемирной паутиной (WWW). Типично, сетевой адрес компьютера, такой как унифицированный указатель ресурса (URL) адрес протокола сети Интернет (IP) используется для идентификации серверного или клиентского компьютеров в отношении друг друга. Сетевой адрес может указываться ссылкой как адрес унифицированного указателя ресурса. Например, связь может обеспечиваться через канал связи. В частности, клиент и сервер могут быть присоединены один к другому через TCP/IP-соединения для высокопроизводительной связи.
Таким образом, фиг.2 иллюстрирует примерную сетевую или распределенную среду, с сервером на связи с клиентскими компьютерами через сеть/шину, в которой может использоваться настоящее изобретение. Более подробно, некоторое количество серверов 10a, 10b, и так далее, взаимосвязаны через сеть/шину 14 связи, которой может быть LAN, WAN, интранет, сеть Интернет и т.п., с некоторым количеством клиентов или удаленных вычислительных устройств 110a, 110b, 110c, 110d, 110e, и так далее, таких как VCR (видеомагнитофон), TV (телевизор), духовка, лампа, нагреватель и т.п., в соответствии с настоящим изобретением. Предполагается, что настоящее изобретение может применяться к любому вычислительному устройству, в соединении с которым желательно обрабатывать, сохранять или воспроизводить защищенный контент из доверенного источника.
В сетевой среде, в которой сеть/шина 14 связи является сетью Интернет, например, серверы 10 могут быть веб-серверами, с которыми клиенты 110a, 110b, 110c, 110d, 110e, и так далее, поддерживают связь посредством любого из некоторого количества известных протоколов, таких как HTTP. Серверы 10 также могут служить в качестве клиентов 110, что может быть характеристикой распределительной вычислительной среды. Связь может быть проводной или беспроводной, где уместно. Клиентские устройства 110 могут поддерживать или могут не поддерживать связь через сеть/шину 14 связи и могут иметь независимую связь, ассоциативно связанную с ними. Например, в случае TV или VCR может быть или может не быть сетевой аспект в отношении их управления. Каждый клиентский компьютер 110 и серверный компьютер 10 могут быть оснащены различными прикладными программными модулями или объектами 135 и соединениями или доступом к различным типам элементов или объектов запоминающего устройства, по которым могут храниться файлы, или в которые часть(и) файлов может загружаться или перемещаться. Таким образом, настоящее изобретение может использоваться в компьютерной сетевой среде, содержащей клиентские компьютеры 110a, 110b, и так далее, которые могут осуществлять доступ и взаимодействовать с компьютерной сетью/шиной 14, и серверные компьютеры 10a, 10b, и так далее, которые могут взаимодействовать с клиентскими компьютерами 110a, 110b, и так далее, а также другие устройства 111 и базы 20 данных.
Обзор администрирования прав (RM)
Как известно и далее со ссылкой на фиг.3, администрирование прав (RM) и принудительное применение крайне желательны в связи с цифровым приложением 32 или другим контентом 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 пользователя. Такие лицензионные правила, например, могут включать в себя вышеупомянутые временные требования и/или требования количества раз, среди прочего, и, также, могут излагать права, которые пользователь имеет в отношении приложения 32, например, такие как возможность печатать или копировать и/или возможность использовать конкретный признак приложения 32, среди прочего. Во всяком случае, такие правила могут воплощаться в пределах цифровой лицензии или использовать документ 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 согласно любому подходящему языку и синтаксису. Например, язык может просто задавать атрибуты и значения, которые должны удовлетворяться (например, ДАТА должна быть меньшей, чем X), или может требовать выполнения функций согласно заданному сценарию (например, ЕСЛИ ДАТА больше, чем X, ТО ВЫПОЛНЯТЬ ).
После определения анализатором 40 лицензии, что лицензия 36 достоверна и что пользователь удовлетворяет правилам в ней, приложение 32 или надлежащая его часть, в таком случае, может приводиться в действие. В частности, для приведения в действие приложения 32 ключ дешифрования (KD) получается из лицензии 36 и применяется к (KD(AP)) из пакета 33, чтобы получать в результате фактическое приложение 32, а фактическое приложение 32, затем, приводится в действие образом, изложенным в лицензии 36.
Как изложено выше, лицензия 36с (PU-BB(KD)), в действительности, авторизует сущность во владении (PR-BB) осуществлять доступ к (KD) и, в силу этого, осуществлять доступ к приложению 32, зашифрованному согласно такому (KD), конечно, надеясь, что сущность придерживается всех условий, которые изложены в лицензии 36. Как должно приниматься во внимание, однако, другие типы лицензий 36 могут существовать в пределах системы 30 RM.
Например, может приниматься во внимание, что в одном из сценариев издатель 44 приложения 32 может авторизовать одного или более конкретных лицензиаров 46 выдавать лицензию 36 на приложение 32 посредством снабжения лицензиара 46 издательской лицензией 36p. Как может приниматься во внимание, такая издательская лицензия 36p подобна лицензии 36 тем, что такая издательская лицензия 36p, вероятно, включает в себя ключ дешифрования (KD) для дешифрации приложения 32, здесь зашифрованного согласно открытому ключу лицензиара 46 (PU-BB). Подобным образом, издательская лицензия 36p, вероятно, включает в себя правила для воспроизведения контента 32. Здесь, однако, такие правила должны быть вставлены в лицензию 36, которая выдана лицензиаром 46, и не применимы к такому лицензиару 46 особо.
Можно отметить, однако, что издательская лицензия 36p, в самом деле, может включать в себя другие правила, которые действительно применимы к лицензиару 46. Соответственно, лицензиар 46 должен включать в себя доверенный компонент 38 с анализатором 40 лицензий, до некоторой степени похожим на вычислительное устройство 34 пользователя. Значительно, что каждый тип лицензии 36, 36p и т.п. (в дальнейшем, 'лицензии 36'), который предложен, типично включает в себя цифровую подпись для целей верификации/аутентификации, и каждая цифровая подпись проверяется на достоверность доверенным компонентом 38 до того, как лицензия 36 принимается на обработку. Конечно, если любая сверка претерпевает неудачу, процесс завершается, а лицензия 36 не принимается на обработку.
Агрегирование правил в отдельных типах лицензий 36
Как было изложено выше, издатель 44 может пожелать снабдить пользователя гибкостью раздельно покупать разные наборы прав в отношении конкретного приложения 32 или т.п., в силу чего, пользователь мог бы накапливать и агрегировать разные наборы правил, которые требуются для эксплуатации приложения искомым образом. Например, издатель 44 может пожелать предоставлять право печатать в первом типе лицензии 36 отдельно от права копировать во втором типе лицензии 36 и, подобным образом, может пожелать предоставлять оба права, воспроизводить звук на динамике или видео на мониторе, в третьем типе лицензии 36, и, кроме того, подобным образом, может пожелать предоставлять минимальный набор прав в четвертом типе лицензии 36. Таким образом, пользователь, для эксплуатации приложения 32 минимальным образом, мог бы получать четвертый тип лицензии 36 и, если потребуется, мог бы получать и 'добавлять' любой из первого, второго и третьего типов лицензий по мере того, как соответствующие права необходимы или желательны.
Как должно приниматься во внимание, в таком случае, и в настоящем изобретении, приложение 32 эксплуатируется согласно правам, изложенным в одной или более лицензиях 36 в любое определенное время, где права и другие правила в лицензиях 36, в сущности, агрегируются, чтобы сформировать расширенный набор правил и прав в отношении приложения 32. Такой агрегированный расширенный набор правил и прав должен отличаться от предшествующего уровня техники, где приложение 32 эксплуатировалось на основании одной и только одной лицензии 36 в любое определенное время.
В качестве более конкретного примера рассмотрим случай, где приложение 32 установлено на вычислительном устройстве 34, чтобы включать в себя основной ввод в эксплуатацию или 'основную' лицензию 36, которая снабжает пользователя приложения 32 на вычислительном устройстве 34 основными правами, например, такими как право подвергать обработке приложение 32, право эксплуатировать основные функции приложения 32 и право печатать из приложения 32, но не другие права, например, такие как право копировать данные из приложения 32 куда-то в другое место. В дополнение, основная лицензия 36 может быть предназначена для предоставления пользователю предварительного просмотра приложения 32 без покупки такового, но только в течение периода в пятнадцать дней. В таком случае, лицензия 36 может, по меньшей мере концептуально, выглядеть как:
<Base license>
<rights>
<instantiate>yes</instantiate>
<conditions>
</conditions>
<basic functions>yes</basic functions>
<conditions>
</conditions>
<print>yes</print>
<conditions>
</conditions>
<rights>
<expiration date>
<days after first use>15</days after first use>
</expiration date>
<hierarchy>
<family id>base</family id>
<parent>[null]</parent>
</hierarchy>
</Base license>
Можно отметить, что вышеприведенная основная лицензия 36 излагает права только положительным образом и, таким образом, не излагает права, которые не должны предоставляться, такие как право копировать данные. Однако такие права, в замен, могли бы излагаться как положительным, так и отрицательным образом, не выходя из сущности и объема настоящего изобретения.
Более важно, должно быть отмечено, что, в дополнение к информации о правах и информации о сроке истечения действия, вышеприведенная основная лицензия 36 излагает информацию о иерархии, включающую в себя атрибут идентификатора семейства, установленный в 'base' ('основной'), и родительский атрибут, установленный в нуль (null). В одном из вариантов осуществления настоящего изобретения такой атрибут семейства и основные атрибуты применяются, чтобы определять место вышеприведенной основной лицензии 36 в пределах иерархии лицензий 36, которые вместе, фактически, могут комбинироваться, с тем, чтобы агрегировать правила в них. В частности, атрибут 'base' идентификатора семейства применяется для идентификации вышеприведенной основной лицензии 36 в качестве 'base', а нулевой родительский атрибут указывает, что 'base' не имеет родителя, а потому является основной лицензией 36.
С вышеприведенной основной лицензией 36, в таком случае, и в качестве примера, если в некоторый момент после пятнадцатидневного предварительного просмотра приложения 32 пользователь желает получить право использовать приложение 32 в течение года, такой пользователь может получить надлежащую лицензию 36, содержащую такое право, в качестве добавления к основной лицензии 36, где права, изложенные в такой 'add-on' (добавочной) лицензии 36, фактически, должны добавляться к правам, изложенным в основной лицензии 36:
<Add-on A license>
<rights>
[null]
<rights>
<expiration date>
<days after first use>365</days after first use>
</expiration date>
<hierarchy>
<amily id>Add-on A</family id>
<parent>base</parent>
</hierarchy>
</Add-on A license>
Можно отметить, что вышеприведенная добавочная лицензия 36 A не излагает никаких дополнительных прав, но, взамен, только формулирует, что срок истечения действия приложения 32 теперь составляет 365 дней или один год после первого использования такой добавочной лицензии 36 A. Можно отметить также, что добавочная лицензия 36 A излагает информацию об иерархии, включающую в себя атрибут идентификатора семейства, установленный в 'Add-on A' ('добавочная A'), и родительский атрибут, установленный в основной. Таким образом, атрибут 'Add-on A' идентификатора семейства применяется для идентификации добавочной лицензии 36 A в качестве 'Add-on A', а родительский атрибут 'base' показывает, что основная лицензия 36, идентифицированная как 'base', является родителем добавочной лицензии 36 A.
Подобным образом, если в некоторый момент пользователь желает получить вышеупомянутое право копировать, такой пользователь может получить другую надлежащую лицензию 36, содержащую такое право, в качестве добавления к основной лицензии 36, где права, изложенные в такой 'add-on' лицензии 36, фактически, должны добавляться к правам, изложенным в основной лицензии 36:
<Add-on B license>
<rights>
<copy>yes</copy>
<conditions>
</conditions>
<rights>
<expiration date>
[nul]
</expiration date>
<hierarchy>
<family id>Add-on B</family id>
<parent>base</parent>
</hierarchy>
</Add-on B license>
Можно отметить, что вышеприведенная добавочная лицензия 36 B формулирует только право копировать без какого бы то ни было изменения в отношении срока истечения действия. Можно отметить также, что добавочная лицензия 36 B излагает информацию об иерархии, включающую в себя атрибут идентификатора семейства, установленный в 'Add-on B' ('добавочная B'), и родительский атрибут, установленный в основной. Таким образом, атрибут 'Add-on B' идентификатора семейства применяется для идентификации добавочной лицензии 36 B в качестве 'Add-on B', а родительский атрибут 'base' показывает, что основная лицензия 36, идентифицированная как 'base', является родителем добавочной лицензии 36 B.
К тому же, подобным образом, если в некоторый момент пользователь желает получить вышеупомянутое право использовать приложение 32 в течение десяти лет, такой пользователь может получить надлежащую лицензию 36, содержащую такое право, в качестве добавления к добавочной лицензии 36 A, где права, изложенные в такой 'add-on' лицензии 36, фактически, должны добавляться к правам, изложенным в основной лицензии 36 и добавочной лицензии 36 A:
<Add-on C license>
<rights>
[null]
<rights>
<expiration date>
<years after first use>10</years after first use>
</expiration date>
<hierarchy>
<family id>[null]</family id>
<parent>Add-on A</parent>
</hierarchy>
</Add-on C license>
Можно отметить, что вышеприведенная добавочная лицензия 36 C не излагает никаких дополнительных прав, но, взамен, только формулирует, что срок истечения действия приложения 32 теперь составляет десять лет после первого использования такой добавочной лицензии 36 C. Можно отметить также, что добавочная лицензия 36 A излагает информацию об иерархии, которая включает в себя нулевой атрибут идентификатора семейства, и родительский атрибут, установленный в добавочную A. Таким образом, нулевой атрибут идентификатора семейства предотвращает добавочную лицензию 36 C от идентификации в пределах иерархии с результатом, заключающимся в том, что никакая другая лицензия 36 не может использовать таковую в качестве родительской, а родительский атрибут 'Add-on A' показывает, что основная лицензия 36, идентифицированная как 'base', является родительской у добавочной лицензии 36 C.
Как может приниматься во внимание, на основании информации об иерархии во всех вышеприведенных лицензиях 36, может быть создано дерево, представляющее полную иерархию таких лицензий 36, как показано на фиг.4. Такое дерево и иерархия, представленная посредством него, обеспечивают по меньшей мере два признака. Во-первых, каждая лицензия 36 в пределах иерархии может использоваться, только если такая лицензия 36 присутствует, и если родители такой лицензии 36 присутствуют, по всему пути назад, до основной лицензии 36. Таким образом, и в качестве примера, если пользователь получал основную лицензию 36 и добавочную лицензию 36 C, но не добавочную лицензию 36 A, такая добавочная лицензия 36 C была бы неработоспособной, так как не привязывается к основной лицензии 36 посредством добавочной лицензии 36 A.
Во-вторых, положения лицензий 36 в пределах иерархии могут применяться для согласования конфликтов между правилами и правами в таких лицензиях 36. Например, могло бы иметь место, что одна лицензия 36 в пределах иерархии определенно предоставляет конкретное право, тогда как другая лицензия 36 в пределах иерархии определенно отвергает конкретное право. В таком случае конфликт между лицензиями 36 может разрешаться согласно предопределенным правилам конфликтов, которые могли бы, по меньшей мере частично, зависеть от соответствующих положений лицензий 36 в пределах иерархии. Например, такие правила могут устанавливать, что дочерняя лицензия 36 вытесняет собой родительскую лицензию 36, или что более младшая имеющая общего родителя лицензия 36 вытесняет собой более старшую имеющую общего родителя лицензию 36. Как может приниматься во внимание, такие правила конфликтов могут быть любыми подходящими правилами конфликтов, не выходя из сущности и объема настоящего изобретения. Такие правила конфликтов в целом известны соответствующему кругу людей, а потому не нуждаются в изложении в материалах настоящей заявки сколько-нибудь подробно.
Как далее может быть принято во внимание, посредством использования основных лицензий 36 и добавочных лицензий 36 способом, изложенным выше, издатель 44 или лицензиар 46, или тому подобные, могут модифицировать правила и права в них, дарованные определенной основной лицензией 36, добавочными или измененными правилами и правами в них, в одной или более добавочных лицензий 36. Здесь, можно отметить, что такая модификация может включать в себя отзыв, ограничение, перемещение, удаление и иное воздействие на права, в дополнение к добавлению и иному изменению существующих прав. С добавочной лицензией 36, в таком случае, новые функциональные возможности для приложения 32 или другой части контента 32 могут распространяться/продаваться/предоставляться раздельно, в более позднее время, поэтому, без значительного времени и расходов от вынуждения повторно распространять приложение 32 или лицензию 36.
Вообще, добавочная лицензия 36 может модифицировать любое правило любой лицензии 36 предыдущего поколения (родителя, прародителя и так далее), в т.ч. любые права и условия, изложенные в ней, не выходя из сущности и объема настоящего изобретения. Например, может иметь место, что основная лицензия 36 дает права, которые являются сравнительно основными, ввиду лишь минимальных затрат и ввиду относительно короткого периода времени использования, и предоставляет возможность только ограниченному объему памяти использоваться на вычислительном устройстве 34. В таком случае, одна или более имеющихся в распоряжении добавочных лицензий 36 для основной лицензии 36 могут расширять выданные права до относительно более широкого объема, одна или более имеющихся в распоряжении добавочных лицензий 36 для основной лицензии могут расширять период времени использования, и одна или более имеющихся в распоряжении добавочных лицензий 36 для основной лицензии 36 могут расширять объем памяти, которая должна использоваться. Конечно, другие добавочные лицензии 36 могли бы предлагать комбинации таких прав.
Можно отметить, что в пределах иерархии лицензий 36, такой как показанная на фиг.4, потенциально, могут иметься в распоряжении более чем одна основная лицензия 36. Соответственно, может иметь место, что добавочная лицензия 36 задает более чем одного родителя. В такой ситуации может иметь место, что только одна основная лицензия 36 иерархии и ее добавочные лицензии 36 выбираются для использования в связи с приложением 32. В качестве альтернативы может иметь место, что более чем одна или все из основных лицензий 36 иерархии и из добавочных лицензий 36 выбираются для использования в связи с приложением 32.
Можно отметить также, что добавочная лицензия 36 может приводить в исполнение права в приложении 32, которые защищены ключом дешифрования (KD), содержащимся в пределах такой добавочной лицензии 36, или может приводить в исполнение права в приложении 32, которые защищены ключом дешифрования (KD), содержащимся в пределах лицензии 36 предыдущего поколения такой добавочной лицензии 36. Особенно в последнем случае, должно приниматься во внимание, что существует потенциальная возможность для бесчестной сущности вставлять 'мошенническую' добавочную лицензию 36 своей собственной разработки в иерархию лицензий 36, где мошенническая добавочная лицензия 36 могла бы использоваться для расширения прав, изложенных в такой лицензии 36 предыдущего поколения.
Соответственно, в одном из вариантов осуществления настоящего изобретения каждая лицензия 36 в иерархии подписывается цифровым образом согласно открытому ключу, который ведет назад к корневому центру сертификации, к которому такая бесчестная сущность, нормально, не могла бы иметь доступ. Таким образом, бесчестная сущность не должна быть способна получать цифровой сертификат с цепочкой сертификатов, тянущейся от такого корневого центра сертификации, и не могла бы подписывать мошенническую добавочную лицензию 36 на основании такого цифрового сертификата. Соответственно, один этап при проверке достоверности такой лицензии 36, такой как показанная на фиг.4, мог бы состоять в том, чтобы верифицировать, что подпись такой лицензии 36 подтверждает достоверность, на основании цепочки сертификатов, тянущейся от такого корневого центра сертификации.
В одном из вариантов осуществления настоящего изобретения каждая лицензия 36 в иерархии подписывается цифровым образом согласно открытому ключу, который ведет назад к одиночному корневому центру сертификации, и фактически каждая такая лицензия 36, которая выдается, имеет соответствующую пару открытого-частного ключей. В таком варианте осуществления, к тому же, частный ключ родительской лицензии 36 используется, чтобы цифровым образом подписывать каждую ее дочернюю лицензию 36, а цифровая подпись такой каждой дочерней лицензии 36, таким образом, проверяется на достоверность согласно открытому ключу ее родительской лицензии 36. Соответственно, такой открытый ключ должен включаться в такую родительскую лицензию 36. Соответственно, проверка достоверности такой лицензии 36 в иерархии, такой как показанная на фиг.4, включает в себя получение открытого ключа родительской лицензии 36 для такой лицензии 36 и применение полученного открытого ключа для проверки достоверности цифровой подписи такой лицензии 36.
Обращаясь далее к фиг.5, один из возможных способов для применения основной лицензии 36 и дополнительных лицензий 36, расширяющихся от нее, таких как из иерархии по фиг.4, показанной в соответствии с одним из вариантов осуществления настоящего изобретения. Предварительно такой способ имитируется на вычислительном устройстве 34 посредством приема выбора приложения 32 или тому подобного, которые должны приводиться в исполнение или воспроизводиться иным образом, или использоваться на таком вычислительном устройстве 34 (этап 501). Вычислительное устройство 34 могло бы отмечать, что приложение 32 или т.п. является RM-защищенным и, таким образом, могло бы применять доверенный компонент 38 по фиг.3 или т.п. для получения подтверждения или содействия, чтобы фактически приводить в действие выбранное приложение 32.
Таким образом, на основании выбранного приложения 32 доверенный компонент 38 мог бы идентифицировать из ассоциативно связанного хранилища лицензий или тому подобного (не показано) каждую лицензию 36 в нем, которая соответствует такому выбранному приложению 32 (этап 503), где идентифицированные лицензии 36 предположительно включают в себя по меньшей мере одну основную лицензию 36 и одну или более добавочных лицензий 36. Можно отметить, что такая идентификация может выполняться любым надлежащим образом не выходя из сущности и объема настоящего изобретения. Например, может быть, что приложение 32 помечено конкретным ссылочным ID (идентификатором), и каждая соответствующая лицензия 36 также содержит такой ссылочный ID.
Во всяком случае, со всеми из идентифицированных лицензий 36, доверенный компонент 38, затем, собирает дерево, такое как по фиг.4, чтобы устанавливать иерархические взаимосвязи между идентифицированными лицензиями 36. В частности, доверенный компонент 38 идентифицирует каждую основную лицензию 36 из числа идентифицированных лицензий 36 (этап 505), выбирает одну из идентифицированных основных лицензий 36 (этап 507), а затем проверяет достоверность выбранной основной лицензии (этап 509). Как может быть принято во внимание, выбор основной лицензии 36 из числа множества таких основных лицензий 36, как на этапе 507, может выполняться любым подходящим образом, не выходя из сущности и объема настоящего изобретения. Например, выбор может быть основан на некоторой очередности идентифицированных основных лицензий 36, например, такой как на основании данных выпуска в обращение, включенных в них, ID лицензии, включенного в них, значения приоритета, включенного в них, и т.п. Подобным образом, проверка достоверности выбранной основной лицензии 36, как на этапе 509, также может выполняться любым надлежащим образом, не выходя из сущности и объема настоящего изобретения. Например, такая проверка достоверности может включать в себя проверку, что ее цифровая подпись подтверждает, что лицензия 36 не истекла, и что удовлетворены любые условия для использования лицензии 36.
Если выбранная основная лицензия 36 не подтверждает достоверность на этапе 509, управление возвращается на этап 507, где выбирается другая идентифицированная основная лицензия 36. Однако предполагая, что выбранная основная лицензия 36 в самом деле подтверждает достоверность, как на этапе 509, правила и права в ней, изложенные в основной лицензии 36, накапливаются в представление составной лицензии 36 (этап 511). Как может быть принято во внимание, такое представление будет содержать правила и права из всех лицензий 36, найденных находящимися в собранном иерархическом дереве.
После этого способ продолжается идентификацией, в пределах признанной достоверной основной лицензии 36, значения атрибута семейства, если таковой имеет место (этап 513). На основании идентифицированного значения атрибута семейства, затем, доверенный компонент 38 идентифицирует каждую добавочную лицензию 36, которая соответствует выбранному приложению 32 и которая содержит идентифицированное значение атрибута семейства в качестве значения родительского атрибута (этап 515). Как может приниматься во внимание, каждая такая идентифицированная добавочная лицензия проверяется на достоверность, как на этапе 509 (этап 517), и предполагая, что проверка достоверности преуспевает, правила и права в ней, изложенные в добавочной лицензии 36, накапливаются в представление составной лицензии 36 (этап 519). Как указывалось ссылкой выше, в ходе такого накопления конфликты между правилами и правами в многочисленных из лицензий 36 согласовываются по предопределенным правилам конфликтов, которые могут по меньшей мере частично зависеть от соответствующих положений лицензий 36 в пределах иерархии.
Как должно приниматься во внимание далее, способ повторяется в отношении каждой признанной достоверной добавочной лицензии, по необходимости. В частности, для каждой такой признанной достоверной добавочной лицензии способ продолжается идентификацией, в пределах признанных достоверной добавочной лицензии 36, значения атрибута семейства, если таковой имеет место, как на этапе 513. На основании идентифицированного значения атрибута семейства, затем и снова, доверенный компонент 38 идентифицирует каждую добавочную лицензию 36, которая соответствует выбранному приложению 32 и которая содержит идентифицированное значение атрибута семейства в качестве значения родительского атрибута, как на этапе 515, проверяет достоверность каждой такой идентифицированной добавочной лицензии, как на этапах 509 и 517, и, предполагая, что проверка достоверности преуспевает, правила и права в ней, изложенные в добавочной лицензии 36, накапливаются в представление составной лицензии 36, как на этапе 519. Таким образом, и как должно приниматься во внимание, способ производит итерацию для каждой признанной достоверной добавочной лицензии 36 столько раз, сколько может быть необходимо и для стольких уровней иерархического дерева, сколько может быть необходимо, до тех пор, пока полностью не обработано иерархическое дерево и полностью не создана составная лицензия 36. Как только полностью создано, затем, представление составной лицензии 36 оценивается анализатором 40 лицензий, чтобы определять, должно ли разрешаться каждое действие, искомое в связи с приложением 32 (этап 521).
Можно отметить, что, в ходе создания иерархического дерева лицензий 36 согласно способу по фиг.5, если родительская лицензия 36 терпит неудачу в проверке достоверности, как на этапе 509 и 517, все дочерние лицензии 36 такой родительской лицензии 36 и, конечно, все будущие поколения такой родительской лицензии 36 даже не рассматриваются. Таким образом, если лицензия A имеет дочернюю лицензию B, а дочерняя лицензия B, в свою очередь, имеет дочернюю лицензию C, несостоятельность A в проверке достоверности, в сущности, интерпретирует B и C в качестве также признанных недостоверными. Подобным образом, если A подтверждает достоверность, а B не подтверждает достоверность, то несостоятельность B в проверке достоверности, в сущности, интерпретирует C в качестве признанной также недостоверной, но A по-прежнему признается достоверной.
Можно отметить также, что в одном из вариантов осуществления настоящего изобретения лицензия 36 может задавать более чем одну родительскую лицензию 36. Если так, может иметь место, что один родитель подтверждает достоверность, тогда как другой нет, с результатом, заключающимся в том, что лицензия 36 достигается в порядке признанного достоверным родителя, а не посредством признанного недостоверным родителя. Подобным образом, может иметь место, что все из родительских лицензий могут вынуждаться подтверждать достоверность, чтобы достигать лицензии 36, или что могут применяться более сложные логические правила. В последнем случае, такие логические правила могут быть изложены в пределах лицензии 36, в надлежащей ее части. В качестве примера такого логического правила лицензия может задавать комбинацию родительских лицензий, которые должны подтверждать достоверность, в виде: (Лицензия A или лицензия B) и (лицензия C и (лицензия D или лицензия E)), в каковом случае, соответствующие родительские лицензии-кандидаты должны подтверждать достоверность согласно логическому выражению для рассматриваемой лицензии 36, которая должна анализироваться.
Вывод
Программирование, необходимое для приведения в исполнение процессов, выполняемых в связи с настоящим изобретением, является относительно несложным и должно быть очевидно имеющему отношение к программированию кругу людей. Соответственно, такое программирование не приложено к данному документу. Любое конкретное программирование, в таком случае, может применяться, чтобы приводить в исполнение настоящее изобретение не выходя из его сущности и объема.
В настоящем изобретении должно приниматься во внимание, что изменения могут быть произведены в отношении вариантов осуществления, описанных выше, не выходя из его сущности и объема. Наиболее примечательно, что, хотя настоящее изобретение изложено исходя из лицензий 36 для цифрового приложения 32, такие лицензии 36 также могут применяться в связи с любой другой формой цифрового контента 32, в т.ч., но не в качестве ограничения, аудиоконтента, видеоконтента, текстового контента, потокового контента, мультимедийного контента и тому подобного. Поэтому должно быть понятно, что это изобретение не ограничено конкретными раскрытыми вариантами осуществления, а подразумевается покрывающим модификации в пределах сущности и объема настоящего изобретения, которые определены прилагаемой формулой изобретения.
Класс G06F21/22 путем ограничения доступа к программам или процессам
Класс G06F21/06 путем обнаружения несанкционированных операций или вторжений в помещение, например жилище или комнату