BRPI0613463A2 - aplicação digital que opera de acordo com agregação de pluralidade de licenças - Google Patents

aplicação digital que opera de acordo com agregação de pluralidade de licenças Download PDF

Info

Publication number
BRPI0613463A2
BRPI0613463A2 BRPI0613463-7A BRPI0613463A BRPI0613463A2 BR PI0613463 A2 BRPI0613463 A2 BR PI0613463A2 BR PI0613463 A BRPI0613463 A BR PI0613463A BR PI0613463 A2 BRPI0613463 A2 BR PI0613463A2
Authority
BR
Brazil
Prior art keywords
license
base
rules
attribute
supplemental
Prior art date
Application number
BRPI0613463-7A
Other languages
English (en)
Inventor
Ning Zhang
Richard S Eizenhoefer
Wen-Pin Scott Hsu
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0613463A2 publication Critical patent/BRPI0613463A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1083Partial license transfers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

APLICAçãO DIGITAL QUE OPERA DE ACORDO COM AGREGAçãO DE PLURALIDADE DE LICENçAS. é descrita uma pluralidade de licenças digitais que corresponde a uma parte de conteúdo incluindo uma licença base e pelo menos uma licença complementar. Cada licença complementar inclui uma referência à licença base, e cada licença base e cada licença complementar estabelece regras que especificam como o conteúdo pode ser empregado. Cada licença complementar é identificada por meio da referência à licença base, e as regras na licença base e em cada licença complementar identificada são agregadas em um conjunto agregado de regras que é avaliado para determinar se tal conjunto agregado de regras permite o emprego do conteúdo de uma maneira particular.

Description

"APLICAÇÃO DIGITAL QUE OPERA DE ACORDO COM AGREGA-ÇÃO DE PLURALIDADE DE LICENÇAS"
REFERÊNCIA CRUZADA A PEDIDO RELACIONADO
Este pedido reivindica o beneficio do pedido pro-visório US 60/699.143, depositado em 14 de julho de 2005,intitulado "HIERARCHY AND EVALUATION OF ADD-ON LICENSES",aqui incorporado pela referência na sua integra.
CAMPO TÉCNICO
A presente invenção diz respeito a uma aplicaçãodigital ou semelhante em operação em um dispositivo de com-putação ou semelhante de acordo com os direitos e condiçõesestabelecidos em uma licença digital ou semelhante. Maisparticularmente, a invenção diz respeito a uma pluralidadede tais licenças que foram agregadas na realidade para for-mar um superconj unto de regras e direitos de acordo com osquais a aplicação opera.
ANTECEDENTES DA INVENÇÃO
0 gerenciamento e o cumprimento dos direitos sãoaltamente desejáveis em relação a conteúdo digital, tais co-mo a aplicação digital ou semelhante, em que tal aplicaçãodigital deve ser distribuída para um ou mais usuários. Modostípicos de distribuição incluem dispositivos tangíveis, taiscomo um disco (flexível) magnético, uma fita magnética, umdisco (compacto) ótico (CD), etc., e mídia intangível, taiscomo um quadro de avisos eletrônico, uma rede eletrônica, aInternet, etc. Mediante recebimento pelo usuário em um dis-positivo de computação deste, tal usuário pode ativar a a-plicação com o auxílio de um sistema operacional apropriadoem um dispositivo de computação.
Tipicamente, um autor e/ou publicador de uma apli-cação deseja distribuir tal aplicação para cada um dos mui-tos usuários ou receptores em troca de uma taxa de licençaou alguma outra contraprestação. Então, em tal cenário, aaplicação pode ser uma aplicação de processamento de textos,uma aplicação de planilha eletrônica, uma aplicação de nave-gador, uma aplicação de jogos, uma aplicação de reproduçãode mídia, uma combinação destes ou semelhantes. Tal autor /publicador ou outra entidade similar (doravante "publica-dor"), dada a escolha, provavelmente desejará restringir oque cada usuário pode fazer com cada aplicação publicada.Por exemplo, o publicador desejará impedir que o usuário co-pie e redistribua tal aplicação para um segundo usuário, pe-Io menos de uma maneira que negue ao publicador uma taxa delicença de tal segundo usuário.
Entretanto, depois que ocorre a publicação, talpublicador tem muito pouco controle, se tiver algum controlereal, sobre a aplicação. Isto é essencialmente problemáticoem vista do fato de que praticamente todo computador pessoalinclui o software e hardware necessários para fazer uma có-pia digital exata de tal aplicação, e para transferir talcópia digital exata para um disco ótico ou magnético gravá-vel, ou para transmitir tal cópia digital exata sobre umarede tal como a Internet para qualquer destino.
Certamente, como parte de uma transação em que aaplicação é distribuída, o publicador pode exigir que o usu-ário / receptor da aplicação prometa não redistribuir talaplicação de uma maneira indesejável. Entretanto, uma pro-messa como esta é facilmente feita e facilmente quebrada. Umpublicador pode tentar impedir tal redistribuição por meiode qualquer um de diversos dispositivos de segurança conhe-cidos, usualmente envolvendo encriptação e decriptação. En-tretanto, provavelmente há muito pouca coisa que impede queum usuário moderadamente determinado decripte uma aplicaçãoencriptada, salvando tal aplicação em uma forma não encrip-tada e, então, redistribuindo a mesma.
Arquiteturas e métodos de cumprimento e Gerencia-mento de Direitos (RM) foram previamente providos para per-mitir a operação controlada de formas arbitrárias de aplica-ções digitais, em que tal controle é flexível e definívelpelo publicador de tal aplicação. Tipicamente, uma licençadigital é provida para operar a aplicação, em que a aplica-ção não pode ser atuada de uma maneira significativa sem tallicença. Por exemplo, pode ser o caso em que pelo menos umaparte da aplicação é encriptada e a licença inclui uma chavede decriptação para a decriptação de tal parte encriptada.
Além do mais, pode ser o caso em que a licença está amarradaa um usuário ou a um dispositivo de computação deste, e taldispositivo de computação inclui um recurso de segurança quegarante que os termos da licença serão honrados.
Tipicamente, uma licença digital como esta incluium conjunto de direitos e condições que governam o uso daaplicação correspondente no dispositivo de computação. As-sim, cada licença estabelece políticas que concedem certosdireitos para funcionalidade especificada. Então, com licen-ças digitais, um publicador pode prover um usuário com dife-rentes direitos em relação a uma aplicação, provendo dife-rentes licenças correspondentes a tais diferentes direitos.
Por exemplo, o publicador pode desejar prover uma edição comtodos os recursos de tal aplicação a um preço mais elevado euma edição básica e um preço mais baixo. Igualmente, o pu-blicador pode desejar oferecer uma edição com um certo pri-meiro recurso e uma edição sem, uma edição com um certo se-gundo recurso e uma edição sem, uma edição com um certo ter-ceiro recurso e uma edição sem, etc.
Note que, embora na tecnologia anterior, em virtu-de de cada variação dos direitos em uma aplicação exigir umalicença completamente separada, a oferta de combinações ar-bitrárias de direitos a usuários foi um assunto difícil,visto que o número de combinações arbitrárias de tais direi-tos pode facilmente alcançar dezenas, centenas e milhares, ecada combinação arbitrária de direitos exige um tipo separa-do de licença. Por exemplo, um publicador que deseja ofere-cer uma aplicação com cinco direitos de dois estados (direi-tos que são tanto presentes quanto ausentes, por exemplo)teria que preparar 2 elevado à 5a potência ou 32 tipos dife-rentes de licenças. Igualmente, um publicador que deseja o-ferecer uma aplicação com quatro direitos de dois estados edois direitos de três estados (direitos que são presentes,limitados ou ausentes, por exemplo), teria que preparar 2elevado à 4a potência vezes 3 elevado à 2a potência ou 144tipos diferentes de licenças.
Então, conforme deve-se perceber, maiores comple-xidades de variações de uma aplicação resultariam em maisnúmeros de diferentes tipos de licenças. Entretanto, e sig-nificativamente, é provavelmente difícil, se não impossível,para um publicador de uma aplicação como esta oferecer maisque um número limitado de tipos de tais licenças, talvez naordem de dez a trinta aproximadamente. De forma bastantesimples, oferecer cada tipo de licença exigiria que o publi-cador mantivesse cada tipo, incluindo a atualização e modi-ficação da mesma, se necessário, e tal manutenção pode fa-cilmente tornar-se uma tarefa incontrolável à medida que onúmero de tipos aumenta.
Desta maneira, existe uma necessidade de um métodoe mecanismo pelos quais um publicador ou semelhante de umaaplicação ou semelhante possa oferecer, por meio de um es-quema de licenciamento digital, combinações arbitrarias dedireitos para usuários ou semelhantes, onde o número de di-ferentes tipos de licenças que representam tais direitos éminimizado. Em particular, existe uma necessidade de um mé-todo e mecanismo como estes pelos quais direitos ou gruposde direitos em particular em relação à aplicação são repre-sentados por licenças digitais separadas para aplicação, eum usuário obtém uma ou mais de tais licenças para obter, deforma correspondente, os direitos ou grupos de direitos co-letivamente representados desse modo. Em decorrência disto,o número de diferentes tipos de licenças para a aplicação éminimizado.
SUMÁRIO DA INVENÇÃO
As necessidades supramencionadas são satisfeitaspelo menos em parte pela presente invenção, na qual é provi-do um método para empregar uma parte de um conteúdo digitalem um dispositivo de computação de uma maneira particular.
No método, é obtida uma pluralidade de licenças digitaiscorrespondente ao conteúdo, em que a pluralidade de licençasinclui uma licença base e pelo menos uma licença complemen-tar. Cada licença complementar inclui uma referência à li-cença base e cada uma das licenças bases e cada uma das li-cenças complementares estabelecem regras que especificam co-mo o conteúdo pode ser empregado.
A licença base é identificada, e cada licença com-plementar é identificada por meio da referência nela à li-cença base, e as regras na licença base e em cada licençacomplementar identificada são agregadas em um conjunto agre-gado de regras. Então, o conjunto agregado de regras é ava-liado para determinar se tal conjunto agregado de regraspermite o emprego do conteúdo de maneira particular, e oconteúdo é empregado, se o conjunto agregado de regras assimpermitir.
DESCRIÇÃO RESUMIDA DQS DESENHOS
0 sumário exposto, bem como a descrição seguintedetalhada das modalidades da presente invenção, serão maisbem entendidos quando lidos em conjunto com os desenhos ane-xos. Com o propósito de ilustração da invenção, são mostra-das nos desenhos modalidades que são atualmente preferidas.
Entretanto, entende-se que a invenção não é limitada aosprecisos arranjos e instrumentalidades mostrados. Nos desenhos :A Figura 1 é um diagrama de blocos que representaum ambiente computacional exemplar não limitante no qual apresente invenção pode ser implementada;
A Figura 2 é um diagrama de blocos que representaum ambiente de rede exemplar com uma variedade de dispositi-vos de computação na qual a presente invenção pode ser im-plementada;
A Figura 3 é um diagrama de blocos que mostra umaarquitetura de aplicação de um exemplo de um sistema baseadoem confiança que inclui uma licença digital de acordo comuma modalidade da presente invenção;
A Figura 4 é um diagrama de blocos que mostra umahierarquia de licenças, tal como a licença da Figura 2, emque a hierarquia inclui uma licença base e uma licença com-plementar de acordo com uma modalidade da presente invenção;e
A Figura 5 é um fluxograma que mostra etapas cha-ves realizadas na agregação de regras estabelecida em cadauma das licenças da hierarquia da Figura 4 de acordo com umamodalidade da presente invenção;
DESCRIÇÃO DETALHADA DA INVENÇÃO
Ambiente de Computador
A Figura Iea discussão seguinte são para forne-cer uma descrição resumida geral de um ambiente computacio-nal adequado no qual a invenção pode ser implementada. En-tretanto, entende-se que dispositivos computacionais de mão,portáteis ou ainda outros dispositivos computacionais de to-dos os tipos são contemplados para uso em conjunto com apresente invenção. Embora um computador de uso geral sejadescrito a seguir, este é apenas um exemplo, e a presenteinvenção exige somente um cliente magro com interoperabili-dade e interação com o servidor de rede. Assim, a presenteinvenção pode ser implementada em serviços hospedados em am-biente de rede nos quais muito poucos ou mínimos recursos declientes são implicados, por exemplo, um ambiente de rede noqual o dispositivo de cliente serve meramente como um nave-gador ou interface com a Internet.
Embora não exigido, a invenção pode ser implemen-tada por meio de uma interface de programação de aplicação(API) para uso por um desenvolvedor e/ou incluída no softwa-re de navegação da rede, que será descrito no contexto geraldas instruções executáveis por computador, tais como módulosde programas, que são executadas por um ou mais computado-res, tais como estações de trabalho de clientes, servidoresou outros dispositivos. No geral, módulos de programas in-cluem rotinas, programas, objetos, componentes, estruturasde dados e semelhantes que realizam tarefas em particular ouimplementam tipos de dados abstratos em particular. Tipica-mente, a funcionalidade dos módulos de programa pode sercombinada ou distribuída como desejado em várias modalida-des. Além do mais, versados na técnica percebem que a inven-ção pode ser realizada com outras configurações de sistemade computador. Outros sistemas, ambientes e/ou configuraçõescomputacionais bem conhecidos que podem ser adequados parauso com a invenção incluem, mas sem limitações, computadorespessoais (PCs), caixas eletrônicos automatizados, computado-res servidores, dispositivos de mão ou portáteis, sistemasmuitiprocessadores, sistemas baseados em multiprocessador,produtos eletrônicos programáveis pelo cliente, PCs em rede,minicomputadores, computadores de grande porte e semelhan-tes. A invenção também pode ser praticada em ambientes com-putacionais distribuídos em que tarefas são realizadas pordispositivos de processamento remotos que são ligados pormeio de uma rede de comunicação ou outra mídia de transmis-são de dados. Em um ambiente computacional distribuído, mó-dulos de programa podem ser localizados em mídia de armaze-namento de computador tanto remota quanto local, incluindodispositivos de armazenamento de memória.
Assim, a Figura 1 ilustra um exemplo de um ambien-te de sistema de computação adequado 100 no qual a invençãopode ser implementada, embora, como esclarecido anteriormen-te, o ambiente de sistema de computação 100 seja apenas umexemplo de um ambiente de computação adequado, e não é parasugerir nenhuma limitação ao escopo do uso ou da funcionali-dade da invenção. O ambiente computacional 100 não deve tam-pouco ser interpretado com qualquer dependência ou exigênciarelacionada a qualquer dos componentes ou combinação delesilustrados no ambiente operacional exemplar 100.
Com referência à Figura 1, um sistema exemplar pa-ra a implementação da invenção inclui um dispositivo compu-tacional de uso geral na forma de um computador 110. Compo-nentes do computador 110 podem incluir, mas sem limitações,uma unidade de processamento 120, uma memória do sistema 130e um barramento do sistema 121 que acopla vários componentesdo sistema, incluindo a memória do sistema, na unidade deprocessamento 120. O barramento do sistema 121 pode serqualquer um dos diversos tipos de estruturas de barramento,incluindo um barramento de memória ou controlador de memó-ria, um barramento periférico e um barramento local que usaqualquer uma de uma variedade de arquiteturas de barramento.A titulo de exemplo, e sem limitações, tais arquiteturas in-cluem barramento Arquitetura Padrão da Indústria (ISA), bar-ramento Arquitetura de Micro Canal (MCA), barramento ISA A-primorado (EISA), barramento Associação dos Padrões Eletrô-nicos de Video (VESA) local e barramento Interconector deComponentes Periféricos (PCI) (também conhecido como barra-mento Mezzanine).
Tipicamente, o computador 110 inclui uma variedadede mídias legíveis por computador. A mídia legível por com-putador pode ser qualquer mídia disponível que pode ser a-cessada pelo computador 110, e inclui tanto mídia volátilquanto mídia não volátil, tanto mídia removível quanto mídianão removível. A título de exemplo, e sem limitações, a mí-dia legível por computador pode compreender mídia de armaze-namento em computador e mídia de comunicação. A mídia de ar-mazenamento em computador inclui tanto mídia volátil quantomídia não volátil, e tanto mídia removível quanto mídia nãoremovível implementada em qualquer método ou tecnologia paraarmazenamento da informação, tais como instruções legíveispor computador, estruturas de dados, módulos de programas ououtros dados. Mídia de armazenamento em computador inclui,mas sem limitações, RAM, ROM, EEPROM, memória rápida ou ou-tra tecnologia de memória, CDROM, discos versáteis digitais(DVDs) ou outro armazenamento em disco ótico, cassetes mag-néticos, fita magnética, armazenamento em disco magnético ououtros dispositivos de armazenamento magnéticos ou qualgueroutra mídia que pode ser usada para armazenar a informaçãodesejada e que pode ser acessada pelo computador 110. Tipi-camente, a mídia de comunicação incorpora instruções legí-veis por computador, estruturas de dados, módulos de progra-ma ou outros dados em um sinal de dados modulado, tais comouma onda portadora ou outro mecanismo de transporte, e in-clui qualquer mídia de distribuição de informação. 0 termo"sinal de dados modulado" significa um sinal que tem uma oumais das suas características ajustadas ou modificadas deuma maneira tal para codificar informação no sinal. A títulode exemplo, e sem limitações, mídia de comunicação incluimídia com fio, tais como uma rede com fio ou conexão diretacom fio, e mídia sem fio, tais como acústica, RF, infraver-melho ou outra mídia sem fio. Combinações de qualquer um dosexpostos também devem ser incluídas no escopo da mídia legí-vel por computador.
A memória do sistema 130 inclui mídia de armazena-mento em computador na forma de memória volátil e/ou não vo-látil, tais como memória exclusiva de leitura (ROM) 131 ememória de acesso aleatório (RAM) 132. Tipicamente, um sis-tema básico de entrada / saída 133 (BIOS) que contém as ro-tinas básicas que ajudam a transferir informação entre oselementos do computador 110, tal como durante a inicializa-ção, é armazenado na ROM 131. Tipicamente, a RAM 132 contémdados e/ou módulos de programa que são imediatamente acessí-veis e/ou atualmente em operação na unidade de processamento120. A título de exemplo, e sem limitações, a Figura 1 ilus-tra o sistema operacional 134, programas de aplicação 135,outros módulos de programa 136 e dados de programa 137.
O computador 110 também pode incluir outras mídiasde armazenamento em computador removíveis / não removíveis,voláteis / não voláteis. A título de exemplo somente, a Fi-gura 1 ilustra uma unidade de disco rígido 141 que lê e gra-va mídia magnética não removível e não volátil, uma unidadede disco magnético 151 que lê e grava disco magnético remo-vível e não volátil 152, e um unidade de disco ótico 155 quelê e grava disco ótico removível e não volátil 156, tais co-mo um CD ROM ou outra mídia ótica. Outras mídias de armaze-namento em computador removíveis / não removíveis, voláteis/ não voláteis que podem ser usadas no ambiente operacionalexemplar incluem, mas sem limitações, fitas cassetes magné-ticas, cartões de memória rápida, discos versáteis digitais,fitas de vídeo digital, RAM em estado sólido, ROM em estadosólido e semelhantes. Tipicamente, a unidade de disco rígido141 é conectada no barramento do sistema 121 por meio de umainterface de memória não removível, tal como a interface140, e, tipicamente, a unidade de disco magnético 151 e aunidade de disco ótico 155 são conectadas no barramento dosistema 121 por uma interface de memória removível, tal comoa interface 150.
As unidades e suas mídias de armazenamento em com-putador associadas, discutidas anteriormente e ilustradas naFigura 1, provêm armazenamento de instruções legiveis porcomputador, de estruturas de dados, de módulos de programa eoutros dados para o computador 110. Na Figura 1, por exem-plo, a unidade de disco rigido 141 é ilustrada armazenando osistema operacional 144, os programas de aplicação 145, ou-tros módulos de programa 146 e dados de programa 147. Noteque estes componentes podem tanto ser os mesmos quanto dife-rentes do sistema operacional 134, dos programas de aplica-ção 135, dos outros módulos de programa 136 e dos dados deprograma 137. Aqui, são atribuídos números diferentes aosistema operacional 144, aos programas de aplicação 145, aosoutros módulos de programa 146 e aos dados de programa 147para ilustrar que, no mínimo, eles são cópias diferentes. Umusuário pode inserir comandos e informação no computador 110por meio de dispositivos de entrada, tais como um teclado162 e um dispositivo de apontamento 161, comumente chamadode mouse, dispositivo de apontamento com esfera superior ouplataforma sensível ao toque. Outros dispositivos de entrada(não mostrados) podem incluir um microfone, manete, contro-lador de jogos, antena parabólica, digitalizador ou seme-lhante. Freqüentemente, estes e outros dispositivos de en-trada são conectados à unidade de processamento 120 por meiode uma interface de entrada de usuário 160 que é acoplada nobarramento do sistema 121, mas que podem ser conectados poroutras estruturas de interface e de barramento, tais comouma porta paralela, uma porta de jogos ou um barramento se-rial universal (USB).
Um monitor 191 ou outro tipo de dispositivo de e-xibição também é conectado no barramento do sistema 121 pormeio de uma interface, tal como uma interface de video 190.
Uma interface gráfica 182, tal como uma Ponte Norte, tambémpode ser conectada no barramento do sistema 121. A PonteNorte é um conjunto de circuitos integrados gue comunica coma CPU ou com a unidade de processamento hospedeira 120 e as-sume a responsabilidade das comunicações da porta acelerado-ra gráfica (AGP). Uma ou mais unidades de processamento grá-fico (GPUs) 184 podem comunicar com a interface gráfica 182.
Neste aspecto, as GPS 184 incluem, no geral, armazenamentode memória embutido, tal como um armazenamento de registro,e as GPUs 184 comunicam com uma memória de video 186. Entre-tanto, as GPUs 184 são somente um exemplo de um co-processador e assim uma variedade de dispositivos de co-processamento pode ser incluída no computador 110. Um moni-tor 191 ou outro tipo de dispositivo de exibição também éconectado ao barramento do sistema 121 por meio de uma in-terface, tal como uma interface de vídeo 190, que, por suavez, pode comunicar com a memória de vídeo 18 6. Além do mo-nitor 191, computadores também podem incluir outros disposi-tivos de saída periféricos, tais como alto-falantes 197 eimpressora 196, que podem ser conectados por meio de uma in-terface periférica de saída 195.
O computador 110 pode operar em um ambiente de re-de usando conexões lógicas a um ou mais computadores remo-tos, tal como um computador remoto 18 0. O computador remoto180 pode ser um computador pessoal, um servidor, um rotea-dor, um PC em rede, um dispositivo par ou outro nó de redecomum e, tipicamente, inclui muitos ou todos os elementossupradescritos em relação ao computador 110, embora somenteum dispositivo de armazenamento de memória 181 tenha sidoilustrado na Figura 1. As conexões lógicas representadas naFigura 1 incluem uma rede de área local (LAN) 171 e uma redede área ampla (WAN) 173, mas também podem incluir outras re-des. Tais ambientes de rede são corriqueiros em escritórios,redes de computador empresariais, intranets e na Internet.
Quando usado em um ambiente de rede LAN, o compu-tador 110 é conectado à LAN 171 por meio de uma interface ouadaptador de rede 170. Quando usado em um ambiente de redeWAN, tipicamente, o computador 110 inclui um modem 172 ououtro dispositivo para o estabelecimento de comunicação pelaa WAN 173, tal como a Internet. O modem 172, que pode serinterno ou externo, pode ser conectado no barramento do sis-tema 121 por meio da interface de entrada do usuário 160 oude outro mecanismo apropriado. Em um ambiente de rede, módu-los de programa representados em relação ao computador 110,ou partes dele, podem ser armazenados no dispositivo de ar-mazenamento de memória remoto. A titulo de exemplo, e semlimitações, a Figura 1 ilustra programas de aplicação remo-tos 185 residentes no dispositivo de memória 181. Percebe-seque as conexões de rede mostradas são exemplares e outrosdispositivos para o estabelecimento de ligações de comunica-ção entre os computadores podem ser usados.
Versados na técnica percebem que um computador 110ou outro dispositivo cliente pode ser implementado como par-te de uma rede de computadores. Neste aspecto, a presenteinvenção diz respeito a todo sistema de computador com qual-quer número memória ou de unidades de armazenamento, e qual-quer número de aplicações e processos que ocorrem através dequalquer número de unidades ou volumes de armazenamento. Apresente invenção pode se aplicar a um ambiente com computa-dores servidores e computadores clientes implementados em umambiente de rede, com armazenamento remoto ou local. A pre-sente invenção também pode se aplicar a um dispositivo com-putacional independente com capacidades de interpretação eexecução de funcionalidade de linguagem de programação.
Computação distribuida facilita o compartilhamentode recursos e serviços de computador pela troca direta entredispositivos e sistemas computacionais. Estes recursos eserviços incluem a troca de informação, armazenamento de a-cesso rápido e armazenamento em disco de arquivos. Computa-ção distribuida tem a vantagem da conectividade em rede,permitindo que clientes alavanquem sua potência coletiva pa-ra beneficiar-se do empreendimento como um todo. Neste as-pecto, uma variedade de dispositivos pode ter aplicações,objetos ou recursos que podem interagir para implicar técni-cas de autenticação da presente invenção para canal(s) deprocessamento gráfico confiável(s).
A Figura 2 fornece um diagrama esquemático de umambiente computacional distribuído ou em rede exemplar. 0ambiente computacional distribuído compreende objetos compu-tacionais 10a, 10b, etc. e objetos ou dispositivos computa-cionais 110a, 110b, 110c, etc. Estes objetos podem compreen-der programas, métodos, armazenamentos de dados, lógica pro-gramável, etc. Os objetos podem compreender partes do mesmoou de diferentes dispositivos, tais como PDAs, televisões,tocadores de MP3, televisões, computadores pessoais, etc.
Cada objeto pode se comunicar com um outro objeto por meioda rede de comunicações 14. Esta própria rede pode compreen-der outros objetos computacionais e dispositivos computacio-nais que provêem serviços para o sistema da Figura 2. De a-cordo com um aspecto da invenção, cada objeto 10 ou 110 podeconter uma aplicação que pode solicitar as técnicas de au-tenticação da presente invenção para canal(s) de processa-mento gráfico confiável(s).
Também percebe-se que um objeto, tal como 110c,pode ser hospedado em um outro dispositivo computacional 10ou 110. Assim, embora o ambiente físico representado possamostrar os dispositivos conectados como computadores, talilustração é meramente exemplar e o ambiente físico pode seralternativamente representado ou descrito compreendendo vá-rios dispositivos digitais, tais como PDAs, televisões, to-cadores de MP3, etc., objetos de softwares, tais como inter-faces, objetos COM e semelhantes.
Há uma variedade de sistemas, componentes e confi-gurações de rede que suportam ambientes computacionais dis-tribuídos. Por exemplo, sistemas computacionais podem serconectados por sistemas com fio ou sem fio, por redes locaisou redes distribuídas de forma ampla. Atualmente, muitas dasredes são acopladas na Internet, que provê a infraestruturapara computação amplamente distribuída e abrange muitas re-des diferentes.Em ambientes de rede domésticos, há pelo menosquatro mídias de transporte de rede discrepantes que podem,cada qual, suportar um protocolo exclusivo, tais como linhade energia, dados (tanto sem fio quanto com fio) , voz (porexemplo, telefone) e mídia de entretenimento. A maior partedos dispositivos de controle domésticos, tais como interrup-tores de luz e utensílios, pode usar a linha de energia paraconectividade. Serviços de Dados podem entrar na residênciacomo banda larga (por exemplo, tanto modem DSL quanto modemde cabo) e são acessíveis na residência usando tanto conec-tividade sem fio (por exemplo, radiofreqüência em residênciaou 802.11b) ou com fio (por exemplo, PNA em residência, Cat5, e mesmo linha de energia). Tráfego de voz pode entrar naresidência tanto com fio (por exemplo, Cat 3) quanto sem fio(por exemplo, telefones celulares) e pode ser distribuído naresidência usando fiação Cat 3. Mídia de entretenimento podeentrar na residência tanto por meio de satélite quanto decabo e, tipicamente, é distribuída na residência usando cabocoaxial. IEEE 1394 e DVI também são emergentes como interco-nexões digitais para grupamentos de dispositivos de mídia.Todos estes ambientes de rede e ainda outros que possam e-mergir como padrões de protocolo podem ser interconectadospara formar uma intranet que pode ser conectada ao mundo ex-terior por meio da Internet. Em poucas palavras, existe umavariedade de fontes discrepantes para o armazenamento etransmissão de dados e, conseqüentemente, seguindo adiante,dispositivos computacionais vai exigir maneiras de protegero conteúdo em todas as partes das rotas de processamento dedados.
Comumente, a 'Internet' diz respeito ao conjuntode redes e portas de comunicação que utiliza o conjunto deprotocolos TCP/IP que é bem conhecido na tecnologia das re-des de computador. TCP/IP é um acrônimo para "Protocolo deControle de Transporte / Programa de Interface". A Internetpode ser descrita como um sistema de redes de computadoresremotos geograficamente distribuídas interconectadas porcomputadores que executam protocolos de rede que permitemque usuários interajam e compartilhem informação sobre asredes. Assim, no geral, em virtude de tal ampla cobertura decompartilhamento de informação, redes remotas tal como a In-ternet se desenvolveram amplamente em um sistema aberto parao qual desenvolvedores podem projetar aplicações de softwarepara a realização de operações ou serviços especializados,essencialmente, sem restrição.
Assim, a infraestrutura de rede habilita um hospe-deiro de topologias de rede, tais como arquiteturas cliente/ servidor, ponto-a-ponto ou híbridas. O "cliente" é um ele-mento de uma classe ou grupo que usa os serviços de uma ou-tra classe ou grupo ao qual ele não está relacionado. Assim,na computação, um cliente é um processo, isto é, a grossomodo, um conjunto de instruções ou tarefas que solicita umserviço provido por um outro programa. O processo clienteutiliza o serviço solicitado sem ter que "conhecer" nenhumdetalhe do funcionamento do outro programa ou do próprioserviço. Em uma arquitetura cliente / servidor, particular-mente, em um sistema em rede, usualmente, um cliente é umcomputador que acessa recursos compartilhados em rede provi-dos por um outro computador, por exemplo, um servidor. Noexemplo da Figura 2, computadores 110a, 110b, etc. podem serconcebidos como cliente, e os computadores 10a, 10b, etc.podem ser concebidos como os servidores, onde os servidores10a, 10b, etc. mantêm os dados que são, então, replicadosnos computadores clientes 110a, 110b, etc.
Tipicamente, um servidor é um sistema de computa-dor remoto acessível por uma rede remota, tal como a Inter-net. 0 processo cliente pode ser ativo em um primeiro siste-ma de computador, e o processo servidor pode ser ativo em umsegundo sistema de computador, comunicando-se entre si sobreuma mídia de comunicação provendo assim funcionalidade dis-tribuída e permitindo que múltiplos clientes tirem proveitodas capacidades de acúmulo de informação do servidor.
Cliente e servidor comunicam entre si utilizando afuncionalidade provida por uma camada de protocolo. Por e-xemplo, Protocolo de Transferência de Hipertexto (HTTP) é umprotocolo comum que é usado em conjunto com a Internet(WWW). Tipicamente, um endereço de rede de computador, taiscomo um Localizador Universal de Recursos (URL) ou um ende-reço de Protocolo de Internet (IP), é usado para identificaros computadores servidor ou cliente mutuamente. Os endereçosde rede podem ser chamados de um endereço de Localizador U-niversal de Recursos. Por exemplo, pode ser provida comuni-cação sobre uma mídia de comunicações. Em particular, o cli-ente e o servidor podem ser acoplados entre si por meio deconexões TCP/IP para comunicação de alta capacidade.Assim, a Figura 2 ilustra um ambiente de rede oudistribuído exemplar, com um servidor em comunicação comcomputadores clientes por meio de uma rede / barramento, noqual a presente invenção pode ser implementada. Com mais de-talhes, inúmeros servidores 10a, 10b, etc. são interconecta-dos por meio de uma rede / barramento de comunicações 14,que pode ser uma LAN, WAN, intranet, a Internet, etc., cominúmeros dispositivos computacionais clientes ou remotos110a, 110b, 110c, IlOd, IlOe, etc., tais como um computadorportátil, um computador de mão, pequeno cliente, ferramentade rede ou outro dispositivo, tais como um vídeo cassete,uma televisão, um forno, uma lâmpada, um aquecedor e seme-lhantes de acordo com a presente invenção. Assim, percebe-seque a presente invenção pode se aplicar a qualquer disposi-tivo computacional em conjunto com o qual é desejável pro-cessar, armazenar ou devolver conteúdo seguro proveniente deuma fonte confiável.
Em um ambiente de rede no qual a rede / barramentode comunicações 14 é a Internet, por exemplo, os servidores10 podem ser servidores da Internet com os quais os clientes110a, 110b, 110c, IlOd, IlOe, etc. comunicam por meio dequalquer um de inúmeros protocolos conhecidos, tal comoHTTP. Servidores 10 também podem servir como clientes 110,como pode ser característico de um ambiente computacionaldistribuído. As comunicações podem ser com fio ou sem fio,quando apropriado. Dispositivos clientes 110 podem comunicarou não por meio da rede / barramento de comunicações 14, epodem ter comunicações independentes associadas. Por exem-pio, no caso de uma televisão ou vídeo cassete, pode haverou não um aspecto em rede para o controle destes. Cada com-putador cliente 110 e computador servidor 10 pode ser equi-pado com vários módulos de programa ou objetos de aplicação135 e com conexões ou acesso a vários tipos de elementos ouobjetos de armazenamento, através dos quais arquivos podemser armazenados ou para os quais parte(s) de arquivos po-de (m) ser transferida(s) ou migrada(s). Assim, a presenteinvenção pode ser utilizada em um ambiente de rede de compu-tador com computadores clientes 110a, 110b, etc. que podemacessar e interagir com uma rede / barramento de comunica-ções 14 e computadores servidores 10a, 10b, etc. que podeminteragir com computadores clientes 110a, 110b, etc. e ou-tros dispositivos 111 e bases de dados 20.
Visão Geral do Gerenciamento dos Direitos (RM)
Como se sabe, e com referência agora à Figura 3, ocumprimento e o gerenciamento dos direitos (RM) é altamentedesejável em relação a uma aplicação digital 32 ou outroconteúdo 32 que deve ser distribuído para usuários. Ao serrecebido pelo usuário, tal usuário instancia a aplicação 32com o auxílio de um dispositivo computacional 34 apropriadoou semelhante.
Tipicamente, um autor ou publicador de aplicação(doravante, 'publicador') 44 que distribui tal aplicação di-gital 32 deseja restringir o que o usuário pode fazer comtal aplicação distribuída. 32. Por exemplo, o publicador 44pode querer impedir que o usuário copie e redistribua talaplicação 32 para um segundo usuário, ou pode querer permi-tir que a aplicação distribuída 32 seja atuada somente umlimitado número de vezes, somente por um certo tempo total,somente em um certo tipo de máquina, somente em um certo ti-po de plataforma de processamento, somente por um certo tipode usuário, etc.
Entretanto, depois que ocorre a distribuição, talpublicador 44 tem muito pouco controle, se tiver algum, so-bre a aplicação 32. Então, um sistema RM 32 permite a atua-ção controlada de uma aplicação 32, em que tal controle éflexível e definível pelo publicador 44 de tal aplicação 32.Tipicamente, a aplicação 32 é distribuída para o usuário naforma de um pacote 33 por meio de algum canal de distribui-ção apropriado. 0 pacote 33 distribuído pode incluir a apli-cação 32 ou uma parte desta encriptada com uma chave de en-criptação / decriptação (KD) simétrica, (isto é, (KD(AP))),bem como com outra informação que identifica a aplicação 32,como adquirir uma licença para tal aplicação 32, etc.
O sistema RM baseado em confiança 30 permite que opublicador 44 da aplicação 32 ou um outro especifique regrasque devem ser satisfeitas antes que tal aplicação 32 possaser atuada em um dispositivo computacional 34 do usuário.Tais regras da licença podem, por exemplo, incluir as supra-mencionadas exigência temporal e/ou exigências do número devezes, entre outras coisas, e também podem estabelecer di-reitos que o usuário tem em relação à aplicação 32, tal co-mo, por exemplo, a capacidade de imprimir ou copiar e/ou acapacidade de usar um recurso em particular da aplicação 32,entre outras coisas. Em qualquer grau, tais regras podem serincorporadas em uma licença digital ou documento de uso (do-ravante, 'licença') 36 que o usuário / dispositivo computa-cional do usuário 34 (tais termos sendo intercambiáveis amenos que as circunstâncias exijam de outra forma) deve ob-ter do publicador 44 ou de um agente deste. Tal licença 36também inclui a chave de decriptação (KD) para a decriptaçãoda parte encriptada da aplicação 32, possivelmente encripta-da de acordo com a chave decriptável pelo dispositivo compu-tacional 34 do usuário. Como visto na Figura 3, tal chave deencriptação pode ser uma chave pública do dispositivo compu-tacional 34 do usuário (PU-BB) e, presumivelmente, o dispo-sitivo computacional 34 do usuário tem a chave privada cor-respondente (PR-BB) pela qual (PU-BB(KD)) pode ser decriptada.
O publicador 44 para a aplicação 32 deve confiarque o dispositivo computacional 34 do usuário agirá de acor-do com as regras especificadas por tal publicador 44 na li-cença 36, isto é que a aplicação 32 não será atuada a menosque as regras na licença 36 sejam satisfeitas, e que o usuá-rio pode empregar somente os direitos estabelecidos nas re-gras. Então, preferivelmente, o dispositivo computacional 34do usuário é provido com um componente ou mecanismo confiá-vel 38 que não atuará a aplicação 32, exceto de acordo comas regras da licença incorporadas na licença 36 associadascom a aplicação 32 e obtidas pelo usuário.
O componente confiável 38 tipicamente tem um ava-liador de licença 40 que determina se a licença 36 é válida,analisa as regras da licença em tal licença válida 36 e de-termina, com base nas regras da licença analisadas, se o u-suário solicitante tem o direito de atuar a aplicação 32correspondente da maneira pedida, entre outras coisas. Comoentende-se, o avaliador de licença 40 é confiável no sistemaRM 30 para realizar os desejos do publicador 44 da aplicação32 de acordo com as regras da licença 36, e o usuário nãopode alterar facilmente tal elemento confiável com nenhumpropósito, nefastos ou não.
Como deve-se entender, as regras na licença 36 po-dem especificar se o usuário tem direitos de atuar na apli-cação 32 com base em qualquer um de diversos fatores, inclu-indo quem é o usuário, onde o usuário está localizado, qualtipo de dispositivo computacional 34 o usuário está usando,qual sistema operacional está chamando o sistema RM 30, adata, a hora, etc. Além do mais, as regras da licença 36 po-dem limitar a licença 36 a um número predeterminado de atua-ções, ou a um tempo de operação predeterminado, por exemploassim o componente confiável 38 pode precisar se referir aum relógio 42 no dispositivo computacional 34.
As regras podem ser especificadas na licença 36 deacordo com qualquer linguagem e sintaxe apropriadas. Por e-xemplo, a linguagem pode simplesmente especificar atributose valores que devem ser satisfeitos (DATA deve ser maior queX, por exemplo) ou pode exigir o desempenho de funções deacordo com uma série de instruções especificada (SE DATA formaior que X, ENTÃO FAÇA ..., por exemplo).
Mediante a determinação pelo avaliador de licença40 que a licença 36 é válida e que o usuário satisfaz as su-as regras, então a aplicação 32 ou uma parte relevante destapode ser atuada. Em particular, para atuar a aplicação 32, achave de decriptação (KD) é obtida a partir da licença 36 eé aplicada na (KD(AP)) proveniente do pacote 33 para resul-tar na aplicação 32 real e, então, a aplicação 32 real é a-tuada de fato da maneira estabelecida na licença 36.
Da forma apresentada anteriormente, a licença 36com (PU-BB(KD)) na realidade autoriza uma entidade de posseda (PR-BB) a acessar (KD) e, desse modo, acessar a aplicação32 encriptada de acordo com tal (KD), presumindo certamenteque a entidade age de acordo com todas as condições estabe-lecidas na licença 36. Entretanto, percebe-se que outros ti-pos de licenças 36 podem existir no sistema RM 30.
Por exemplo, pode-se perceber que em um cenário opublicador 44 da aplicação 32 pode autorizar um ou mais Ii-cenciadores 46 a emitir uma licença de publicação 36p. Comopercebe-se, tal licença de publicação 36p é similar à licen-ça 36 em que tal licença de publicação 36p provavelmente in-clui a chave de decriptação (KD) para a decriptação da apli-cação 32, aqui encriptada de acordo com uma chave pública deum licenciador 46 (PU-BB). Igualmente, a licença de publica-ção 36p provavelmente inclui as regras para o processamentodo conteúdo 32. Entretanto, aqui, tais regras devem ser in-seridas na licença 36 como emitidas pelo licenciador 46 enão são especialmente aplicáveis a tal licenciador 46.
Entretanto, note que a licença de publicação 36ppode de fato incluir outras regras que são de fato aplicá-veis ao licenciador 46. Desta maneira, o licenciador 46 deveincluir um componente confiável 38 com um avaliador de li-cença 40 de uma maneira relacionada ao dispositivo computa-cional 34 do usuário. De forma significativa, cada tipo delicença 36, 36p, etc. (doravante, 'licença 36'), da formatipicamente oferecida, inclui uma assinatura digital compropósitos de autenticação / verificação, e cada assinaturadigital é validada pelo componente confiável 38 antes que alicença 36 seja honrada. Certamente, se alguma validação fa-lhar, o processo termina e a licença 36 não é honrada.
Agregação de Direitos em Tipos Separados de Licenças 36
Como foi apresentado anteriormente, um publicador44 pode desejar prover a um usuário a flexibilidade de ad-quirir separadamente diferentes conjuntos de direitos em re-lação a uma aplicação 32 em particular ou semelhante, pormeio da qual o usuário irá acumular e agregar os diferentesconjuntos de direitos necessários para operar a aplicação damaneira procurada. Por exemplo, o publicador 44 pode desejarprover o direito de imprimir em um primeiro tipo de licença36 separadamente do direito de copiar em um segundo tipo delicença 36 e, igualmente, pode desejar prover ambos direitosde reproduzir um som em um alto-falante e um video em um mo-nitor em um terceiro tipo de licença 36 e, ainda igualmente,pode desejar prover um mínimo conjunto de direitos em umquarto tipo de licença 36. Assim, o usuário a operar a apli-cação 36 de uma maneira mínima irá obter o quarto tipo delicença 36 e, se for necessário, obterá e 'complementará'qualquer um ou todos os primeiro, segundo e terceiro tiposde licenças à medida que os direitos correspondentes foremnecessários ou desejados.
Então, como pode-se perceber, e na presente inven-ção, a aplicação 32 é operada de acordo com os direitos es-tabelecidos em uma ou mais licenças 36 em qualquer momento,em que os direitos e outras regras nas licenças 36 estão narealidade agregados para formar um superconjunto de regras edireitos relacionados à aplicação 32. Tal superconjunto a-gregado de regras e direitos deve ser distinguido da tecno-logia anterior, em que a aplicação 32 era operada com baseem uma e somente uma licença 3 6 em todos os momentos.
Como um exemplo mais concreto, considere um casoem que uma aplicação 32 é instalada em um dispositivo compu-tacional 34 para incluir uma licença de inicialização básicaou licença 'base' 36 que prove a um usuário da aplicação 32no dispositivo computacional 34 os direitos básicos, taiscomo, por exemplo, o direito de instanciar a aplicação 32, odireito de operar a as funções básicas da aplicação 32, e odireito de imprimir a partir da aplicação 32, mas não outrosdireitos, tal como, por exemplo, o direito de copiar dadosda aplicação 32 para outro lugar. Além do mais, pode-se pre-tender que a licença base 36 dê ao usuário uma pré-utilização da aplicação 32 sem a aquisição da mesma, mas so-mente por um período de quinze dias. Em um caso como este, alicença 36 pode, pelo menos conceitualmente, aparecer como:
<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>
Note que a licença base 36 exposta estabelece di-reitos de uma maneira positiva somente e assim não estabele-ce direitos que não foram providos, tal como o direito decopiar dados. Entretanto, tais direitos podem, em vez disto,ser estabelecidos tanto de uma maneira positiva quanto deuma maneira negativa sem fugir do espirito e do escopo dapresente invenção.
De forma mais importante, nota-se que além da in-formação dos direitos e da informação da data de expiração,a licença base 36 exposta estabelece informação de hierar-quia, incluindo um atributo de id de família ajustado em'base' e um atributo pai ajustado em nulo. Em uma modalidadeda presente invenção, tais atributos de família e de basesão empregados para definir o local da licença base 36 ex-posta em uma hierarquia das licenças 36 que, na realidade,podem ser combinadas coletivamente para agregar as regras.Em particular, o atributo de id de família 'base' é emprega-do para identificar a licença base 36 exposta como 'base', ea atribulo pai nulo mostra que 'base' não tem pai e que,portanto, é uma licença base 36.
Então, com a licença base 36 exposta e como um e-xemplo, se em algum momento depois da pré-utilização dequinze dias da aplicação 32, o usuário desejar obter o di-reito de usar a aparelho 32 por um ano, tal usuário pode ob-ter uma licença 36 apropriada contendo tal direito como umcomplemento à licença base 36, em que os direitos estabele-cidos em tal licença 'complementar' 36 estão na realidadepara ser adicionados nos direitos estabelecidos na licençabase 36:
<Add-on A license><rights>[null]<rights>
<expiration date>
<days after first use>365</days after first use></expiration date>
<hierarchy>
<family id>Add-on A</family id>
<parent>base</parent>
</hierarchy>
</Add-on A license>
Note que a licença complementar A 36 exposta nãoestabelece nenhum direito adicional, mas, em vez disto, so-mente estabelece que a data de expiração da aplicação 32 a-gora é de 365 dias, ou um ano, depois do primeiro uso de tallicença complementar A 36. Note também que a licença comple-mentar A 36 estabelece informação de hierarquia que incluium atributo de id de família ajustado em 'Complementar A' eum atributo pai ajustado em base. Assim, o atributo de id defamília 'Complementar A' é empregado para identificar a li-cença complementar A 36 como 'Complementar A' , e o atributopai 'base' mostra que a licença base 36 identificada como'base' é o pai da licença complementar A 36.
De uma maneira similar, se em algum momento o usu-ário desejar obter o supramencionado direito de copiar, talusuário pode obter uma outra licença 36 apropriada que con-tendo tal direito como um complemento à licença base 36, emque os direitos apresentados em tal licença 'complementar'36 estão na realidade para ser adicionados nos direitos es-tabelecidos na licença base 36:<Add-on B license>
<rights>
<copy>yes</copy><conditions>
</conditions></rights>
<expiration date>[null]
</expiration date>
<hierarchy>
<family id>Add-on B</family id><parent>base</parent>
</hierarchy>
</Add-on B license>
Note que a licença complementar B 36 exposta esta-belece somente o direito de copiar sem nenhuma mudança nadata de expiração. Note também que a licença complementar B36 apresenta informação de hierarquia que inclui um atributode id de família ajustado em 'Complementar B' e um atributopai ajustado em base. Assim, o atributo de id de famíliaxComplementar B' é empregado para identificar a licença com-plementar B 36 como 'Complementar B' e o atributo pai 'base'mostra que a licença base 36 identificada como 'base' é opai da licença complementar B 36.
Também de uma maneira similar, se em algum momentoo usuário desejar obter o direito de usar a aplicação 32 pordez anos, tal usuário pode obter uma licença apropriada 36contendo tal direito como um complemento à licença comple-mentar A 36, em que os direitos estabelecidos em tal licença'complementar' 36 estão na realidade para ser adicionadosnos direitos estabelecidos na licença base 36 e na licençacomplementar A 36:
<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>
Note que a licença complementar C 36 exposta nãoestabelece nenhum direito adicional, mas, em vez disto, so-mente estabelece que a data de expiração da aplicação 32 a-gora é de dez anos depois do primeiro uso de tal licençacomplementar C 36. Note também que a licença complementar A36 estabelece informação de hierarquia que inclui um atribu-to de id de família nulo e um atributo pai ajustado em com-plementar A. Assim, o atributo de id de família nulo impedeque a licença complementar C 36 seja identificada na hierar-quia resultando em que nenhuma outra licença 36 pode empre-gar o mesmo que um pai, e o atributo pai 'complementar A'mostra que a licença base 36 identificada como xbase' é opai da licença complementar C 36.
Como pode-se perceber, com base na informação dehierarquia em todas as licenças 36 expostas, uma árvore querepresenta a hierarquia geral de tais licenças 36 pode serdesenvolvida, da forma mostrada na Figura 4. Tal árvore e ahierarquia representada desse modo provêem pelo menos doisrecursos. Primeiramente, cada licença 36 na hierarquia sópode ser empregada se tal licença 36 estiver presente e se opercentual de tal licença 36 estiver presente até o fim devolta à licença base 36. Assim, e como um exemplo, se o usu-ário obteve a licença base 36 e a licença complementar C 36,mas não a licença complementar A 36, tal licença complemen-tar C 36 será inoperante já que não está ligada à licençabase 36 por meio da licença complementar A 36.
Em segundo lugar, as posições das licenças 36 nahierarquia podem ser empregadas para negociar conflitos en-tre regras e direitos em tais licenças 36. Por exemplo, podeser o caso em que uma licença 36 na hierarquia provê especi-ficamente um direito em particular, enquanto uma outra Ii-cença 36 na hierarquia nega especificamente um direito emparticular. Em um caso como este, o conflito entre as licen-ças 36 pode ser resolvido de acordo com regras de conflitopredeterminadas que podem, pelo menos em parte, depender dasrespectivas posições das licenças 36 na hierarquia. Por e-xemplo, tais regras podem declarar que uma licença filho 36substitui uma licença irmã 36 mais antiga. Como pode-se per-ceber, tais regras de conflito podem ser quaisquer regras deconflito apropriadas sem fugir do espirito e do escopo dapresente invenção. No geral, tais regras de conflito são co-nhecidas pelo público relevante e, portanto, não precisamser aqui apresentadas com nenhum detalhe.
Como pode-se perceber agora, usando licenças bases36 e licenças complementares 36 da maneira exposta, um pu-blicador 44 ou licenciador 46 ou semelhante pode modificarregras e direitos concedidos por uma licença base 36 especi-fica com regras e direitos adicionais, ou alterados em umaou mais licenças complementares 36. Note aqui que uma modi-ficação como esta pode. incluir a revogação, restrição, remo-ção, deleção, ou pode de outra forma afetar os direitos, a-lém de adicionar e de outra forma modificar os direitos e-xistentes. Então, com uma licença complementar 36 nova fun-cionalidade para a aplicação 32 ou outra parte de conteúdo32 pode ser distribuída / vendida / provida separadamente,em um momento posterior, sem a demora e custos consideráveisde ter que redistribuir a aplicação 32 ou a licença 36.
No geral, uma licença complementar 36 pode modifi-car qualquer regra de qualquer licença 36 da geração anteri-or (pai, avô, etc.), incluindo quaisquer direitos e condi-ções ali estabelecidos sem fugir do espirito e do escopo dapresente invenção. Por exemplo, pode ser o caso em que umalicença base 36 concede os direitos que são relativamentebásicos por somente um custo mínimo e por um período relati-vãmente curto de tempo de uso, e permite que somente umaquantidade limitada de memória do dispositivo computacional34 seja usada. Em um caso como este, uma ou mais licençascomplementares 36 disponíveis para a licença base 36 podeestender os direitos concedidos para um escopo relativamentemais amplo, uma ou mais licenças complementares 36 disponí-veis para a licença base 36 pode estender o período de tempode uso, e uma ou mais licenças complementares 36 disponíveispara a licença base 36 pode estender a quantidade de memóriaa ser usada. Certamente, outras licenças complementares 36podem oferecer combinações de tais direitos.
Note que em qualquer hierarquia de licenças 36,tal como aquela mostrada na Figura 4, mais de uma licençabase 36 pode estar potencialmente disponível. Corresponden-temente, pode ser o caso em que uma licença complementar 36especifica mais de um pai. Em uma situação como esta, podeser o caso em que somente uma licença base 36 da hierarquiae licenças complementares 36 desta são selecionadas para usoem conjunto com uma aplicação 32. Alternativamente, pode sero caso em que mais de uma ou todas as licenças bases 36 dahierarquia e licenças complementares 36 destas são selecio-nadas para uso em conjunto com uma aplicação 32.
Note também que uma licença complementar 36 podeefetuar direitos em uma aplicação 32 que são protegidos poruma chave de decriptação (KD) contida em uma licença 36 dageração anterior de tal licença complementar 36. Especifica-mente, no último caso percebe-se que existe um potencial deque uma entidade nefasta insita uma licença complementar 36'vampira' de sua própria criação em uma hierarquia de licen-ças 36, em que a licença complementar 36 vampira será empre-gada para expandir direitos estabelecidos em uma licença 36da geração anterior como esta.
Desta maneira, em uma modalidade da presente in-venção, cada licença 36 na hierarquia é digitalmente assina-da de acordo com uma chave pública que reconduz a uma auto-ridade raiz em que, normalmente, uma entidade nefasta comoesta não terá acesso. Assim, a entidade nefasta não será ca-paz de obter um certificado digital com uma rede de certifi-cados estendendo-se a partir de tal autoridade raiz e nãopode assinar uma licença complementar 36 vampira com base emum certificado digital como este. Correspondentemente, umaetapa da validação de cada licença 36 em uma hierarquia, talcomo aquela mostrada na Figura 4, será verificar que a assi-natura de tal licença 36 valida com base em uma rede de cer-tificados que estende-se a partir de tal autoridade raiz.
Em uma modalidade da presente invenção, cada li-cença 36 na hierarquia é assinada digitalmente de acordo comuma chave pública que reconduz a uma única autoridade raiz ede fato cada tal licença 36 emitida tem um par chave públi-ca-privada correspondente. Então, em tal modalidade, a chaveprivada de uma licença pai 36 é empregada para assinar digi-talmente cada licença filha 36 desta, e a assinatura digitalde tal licença filha 36 é assim validada de acordo com achave pública da sua licença pai 36. Desta maneira, tal cha-ve pública deve ser incluída em tal licença pai 36. Corres-pondentemente, a validação de cada licença 36 em uma hierar-quia, tal como aquela mostrada na Figura 4, inclui a obten-ção da chave pública da licença pai 36 para tal licença 36 eo emprego da chave pública obtida para validar a assinaturadigital de tal licença 36.
Agora, de volta à Figura 5, é mostrado um métodopossível para o emprego de uma licença base 36 e de licençascomplementares 36 que estendem-se a partir deste ponto, talcomo a partir da hierarquia da Figura 4, de acordo com umamodalidade da presente invenção. Preliminarmente, um métodocomo este é imitado em um dispositivo computacional 34 rece-bendo uma seleção de uma aplicação 32 ou semelhante a serinstanciada ou de outra forma processada ou empregada em taldispositivo computacional 34 (etapa 501). O dispositivo com-putacional 34 notará que a aplicação 32 ou semelhante é pro-tegida por RM e assim empregará o componente confiável 38 daFigura 3 ou semelhante para obter a aprovação e assistênciapara de fato atuar a aplicação 32 selecionada.
Assim, com base na aplicação 32 selecionada, ocomponente confiável 38 identificará a partir de um armaze-namento de licenças associadas ou semelhante (não mostrado),cada licença 36 que corresponde a tal aplicação 32 selecio-nada (etapa 503), em que as licenças identificadas 36 presu-mivelmente incluem pelo menos uma licença base 36 e uma oumais licenças complementares 36. Note que tal identificaçãopode ser realizada de qualquer maneira apropriada sem fugirdo espirito e do escopo da presente invenção. Por exemplo,pode ser que a aplicação 32 seja identificada com uma refe-rência de ID em particular e cada licença 36 correspondentetambém contém tal referência de ID.
Em qualquer grau, com todas as licenças 36 identi-ficadas, então o componente confiável 38 monta uma árvoretal como aquela da Figura 4 para estabelecer relacionamentoshierárquicos entre as licenças 36 identificadas. Em particu-lar, o componente confiável 38 identifica cada licença base36 proveniente entre as licenças 36 identificadas (etapa505), seleciona uma das licenças bases 36 identificadas (e-tapa 507) e, então, valida a licença base selecionada (etapa509). Como percebe-se, a seleção da licença base 36 proveni-ente entre uma pluralidade de tal licença base 36, como naetapa 507, pode ser realizada de qualquer maneira apropriadasem fugir do espirito e do escopo da presente invenção. Porexemplo, a seleção pode ser baseada em alguma ordem das li-cenças bases 36 identificadas, tal como, por exemplo, combase em uma data de emissão incluída, uma ID de licença in-cluída, um valor de prioridade incluído, etc. Similarmente,a validação da licença base 36 selecionada, como na etapa509, também pode ser realizada de qualquer maneira apropria-da sem fugir do espirito e do escopo da presente invenção.Por exemplo, tal validação pode incluir uma verificação quea sua assinatura digital valida, que a licença 36 não expi-rou e que todas as condições para uso da licença 36 são sa-tisfeitas.
Se a licença base 36 selecionada não for validada,como na etapa 509, o controle retorna para a etapa 507, ondeuma outra licença base 36 identificada é selecionada. Entre-tanto, considerando que a licença base 36 selecionada não évalidada de fato, como na etapa 509, as regras e direitosestabelecidos na licença base 36 selecionada são acumuladasem uma representação de uma licença agregada 36 (etapa 511).Como percebe-se, tal representação irá conter as regras edireitos provenientes de todas as licenças 36 encontradas naárvore hierárquica montada.
Em seguida, o método continua pela identificaçãona licença base validada 36 do valor do atributo de família,se houver (etapa 513) . Então, com base no valor do atributode família identificado, o componente confiável 38 identifi-ca cada licença complementar 36 que corresponde à aplicaçãoselecionada 32 e que tem o valor de atributo de família i-dentificado como o valor de atributo pai (etapa 515) . Comopercebe-se cada tal licença complementar identificada é va-lidada como na etapa 509 (etapa 517), e considerando que avalidação tenha sucesso, as regras e direitos estabelecidosna licença complementar 36 são acumulados na representaçãoda licença agregada 36 (etapa 519) . Como exposto, no cursode tal acumulação, os conflitos entre as regras e direitosem múltiplas licenças 36 são negociados de acordo com regrasde conflito predeterminadas que podem, pelo menos em parte,depender das respectivas posições das licenças 36 na hierar-quia.
Como deve-se perceber agora, o método se repete emrelação a cada licença complementar validada, se necessário.Em particular, para cada tal licença complementar validada,o método continua pela identificação na licença complementar36 validada do valor do atributo da família, se houver, comona etapa 513. Então, com base no valor de atributo de famí-lia identificado, e novamente, o componente confiável 38 i-dentifica cada licença complementar 38 que corresponde à a-plicação 32 selecionada e que tem o valor do atributo de fa-mília identificado como o valor de atributo pai, como na e-tapa 515, valida cada tal licença complementar identificada,como nas etapas 509 e 517, e considerando que a validaçãotenha sucesso, as regras e direitos estabelecidos na licençacomplementar 36 são acumulados na representação da licençaagregada 36, como na etapa 519. Assim, e como deve-se perce-ber, o método se repete para cada licença complementar 36validada quantas vezes forem necessárias e para tantos ní-veis da árvore hierárquica que possam ser necessários atéque a árvore hierárquica esteja completamente desenvolvida ea representação da licença agregada 36 esteja completamentedesenvolvida. Então, uma vez que está completamente desen-volvida, a representação da licença agregada 36 é avaliadapelo avaliador da licença 40 para determinar se cada açãoprocurada em conjunto com a aplicação 32 deve ser permitida(etapa 521).
Note que no curso do desenvolvimento de uma árvorehierárquica de licenças 36 de acordo com o método da Figura5, se uma licença pai 36 deixar de validar, como na etapa509 e 517, todas as licenças filhas 36 de uma licença pai 36como esta e de fato todas as gerações futuras de uma licençapai 36 como esta não são igualmente consideradas. Assim, seuma licença A tem uma licença B filha e a licença B filha,por sua vez, tem uma licença C filha, a falha da A em vali-dar, na prática, torna BeC não validadas também. Igualmen-te, se A valida, mas B não valida, então, a falha de B emvalidar, na prática, torna C na validada também, mas A aindaestá validada.
Note também que, em uma modalidade da presente in-venção, uma licença 36 pode especificar mais de uma licençapai 36. Se for assim, pode ser o caso em que um pai validaao mesmo tempo em o outro não, com o resultado sendo que alicença 36 é alcançada por meio do pai validado e não pelopai não validado. Igualmente, pode ser o caso em que todasas licenças pai podem ter que validar para alcançar a licen-ça 36, ou que regras lógicas mais complexas podem ser empre-gadas. No último caso, tais regras lógicas podem ser estabe-lecidas na licença 36 de uma parte apropriada desta. Como umexemplo de uma regra lógica como esta, uma licença pode es-pecificar uma combinação de licenças pai que devem validarcomo:
(Licença A ou Licença B) e (Licença C e (Licença Dou Licença E)),caso este em que licenças candidatas pai apropria-das devem validar de acordo com a expressão lógica para alicença 36 na emissão a ser avaliada.
Conclusão
A programação necessária para efetuar os processosrealizados com relação à presente invenção é relativamentedireta e deve ficar aparente público de programação relevan-te. Desta maneira, tal programação não está anexada. Então,qualquer programação particular pode ser empregada para efe-tuar a presente invenção, sem fugir do seu espirito e do seuescopo.
Na presente invenção,
deve-se perceber que mudanças podem ser feitas nasmodalidades expostas sem fugir dos seus conceitos inventi-vos. Mais notavelmente, embora a presente invenção seja a-presentada nos termos das licenças 36 para uma aplicação di-gital 32, tais licenças 36 também podem ser empregadas comrelação a qualquer outra forma de conteúdo digital 32, in-cluindo, mas sem limitações, conteúdo de áudio, conteúdo devideo, conteúdo de texto, conteúdo de fluxo continuo, conte-údo de multimídia e semelhantes. Portanto, entende-se queesta invenção não é limitada às modalidades particulares di-vulgadas, mas pretende-se cobrir modificações no espírito eno escopo da presente invenção definidos pelas reivindica-ções anexas.

Claims (18)

1. Método para o emprego de uma parte de conteúdodigital em um dispositivo computacional de uma maneira par-ticular, CARACTERIZADO pelo fato de que o método compreende:obter uma pluralidade de licenças digitais corres-pondentes ao conteúdo, a pluralidade de licenças incluindouma licença base e pelo menos uma licença complementar, cadalicença complementar incluindo uma referência à licença ba-se, cada licença base e cada licença complementar estabele-cendo regras que especificam como o conteúdo pode ser empre-gado;identificar a licença base;identificar cada licença complementar por meio dereferência à licença base;agregar as regras na licença base e em cada licen-ça complementar identificada em um conjunto agregado de re-gras;avaliar o conjunto agregado de regras para deter-minar se tal conjunto agregado de regras permite o empregodo conteúdo da maneira particular; eempregar o conteúdo, se o conjunto agregado de re-gras assim permitir.
2. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que a licença base inclui um a-tributo de id de família e cada licença complementar incluium atributo pai, o atributo de id de família da licença baseidentificando a licença base em uma hierarquia de licenças eo atributo pai de cada licença complementar identificando alicença base como o pai hierárquico dela, o método compreen-dendo a identificação de cada licença complementar por meioda determinação de um valor particular do atributo de id defamília da licença base e a localização de cada licença com-plementar com o seu atributo pai ajustado no valor particu-lar do atributo de id de família da licença base.
3. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que cada licença base e cada li-cença complementar incluem um atributo de id de família e umatributo pai, o atributo de id de família identificando alicença e o atributo pai identificando todos os pais hierár-quico da licença para definir o local da licença em uma hie-rarquia das licenças, o método compreendendo a identificaçãoda licença base por meio de tal licença base com o seu atri-buto pai ajustado em um valor nulo e a identificação de cadalicença complementar por meio da determinação de um valorparticular do atributo de id de família da licença base e alocalização de cada licença complementar com o atributo paiajustado no valor particular do atributo de id de família dalicença base.
4. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que a avaliação do conjunto agre-gado de regras para determinar se tal conjunto agregado deregras permite o emprego do conteúdo da maneira particularinclui empregar regras de conflito predeterminadas para ne-gociar todos os conflitos entre as regras provenientes delicenças conflitantes, as regras de conflito resolvendo cadaconflito, com base pelo menos em parte nas respectivas posi-ções das licenças conflitantes em uma hierarquia das licen-ças.
5. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o conteúdo é encriptado e de-criptável de acordo com uma chave de decriptação (KD) conti-da em pelo menos uma das licenças, o método compreendendo oemprego do conteúdo pela recuperação (KD) da licença quecontém a mesma e pela decriptação do conteúdo com (KD).
6. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que cada licença inclui uma assi-natura digital produzida de acordo com uma chave pública quereconduz a uma autoridade raiz comum, o método compreendendoadicionalmente verificar que a assinatura de cada licença évalidada com base em uma rede de certificados que se estendea partir de tal autoridade raiz comum.
7. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que cada licença complementar éuma licença complementar de primeiro nivel, o. método compre-endendo :obter uma pluralidade de licenças digitais corres-pondentes ao conteúdo, a pluralidade de licenças incluindouma licença base, pelo menos uma licença complementar deprimeiro nivel e pelo menos uma licença complementar de se-gundo nivel, cada licença complementar de primeiro nivel in-cluindo uma referência à licença base, cada licença comple-mentar de segundo nivel incluindo uma referência a uma daslicenças complementares de primeiro nivel, cada licença basee cada licença complementar estabelecendo regras que especi-ficam como o conteúdo pode ser empregado;identificar a licença base;identificar cada licença complementar- de primeironivel por meio da referência à licença base;identificar cada licença complementar de segundonivel por meio da referência a uma das licenças complementa-res de primeiro nível;agregar as regras na licença base e em cada licen-ça complementar identificada em um conjunto agregado de regras;avaliar o conjunto agregado de regras para deter-minar se tal conjunto agregado de regras permite o empregodo conteúdo da maneira particular; eempregar o conteúdo, se o conjunto agregado de re-gras assim permitir.
8. Método, de acordo com a reivindicação 7,CARACTERIZADO pelo fato de que cada licença base e cada li-cença complementar inclui um atributo de id de família e umatributo pai, o atributo de id de família identificando alicença e o atributo pai identificando todos os pais hierár-quicos da licença para definir o local da licença em uma hi-erarquia das licenças, o método compreendendo a identifica-ção da licença base por meio de tal licença base. com o seuatributo pai ajustado em um valor nulo, a identificação decada licença complementar de primeiro nível por meio da de-terminação de um valor particular do atributo de id de famí-lia da licença base e a localização de cada licença comple-mentar com o atributo pai ajustado no valor particular doatributo de id de familia da licença base, e a identificaçãode cada licença complementar de segundo nível por meio dadeterminação de um valor particular do atributo de id de fa-mília de cada licença complementar de primeiro nível e a Io-calização de cada licença complementar com o atributo paiajustado no valor particular do atributo de id de família detodas as licenças complementares de primeiro nível.
9. Método, de acordo com a reivindicação 7,CARACTERIZADO pelo fato de que a avaliação do conjunto agre-gado de regras para determinar se tal conjunto agregado deregras permite o emprego do conteúdo da maneira particularinclui o emprego de regras de conflito predeterminadas paranegociar todos os conflitos entre as regras provenientes daslicenças conflitantes, as regras de conflito resolvendo cadaconflito, pelo menos em parte, com base em posições respec-tivas das licenças conflitantes em uma hierarquia das licenças.
10. Mídia legível por. computador, CARACTERIZADApelo fato de que tem nela armazenadas instruções executáveispor computador que implementam um método para o emprego deuma parte de conteúdo digital em um dispositivo computacio-nal de uma maneira particular, o método compreendendo:obter uma pluralidade de licenças digitais corres-pondentes ao conteúdo, a pluralidade de licenças incluindouma licença base e pelo menos uma licença complementar, cadalicença complementar incluindo uma referência à licença ba-se, cada licença base e cada licença complementar estabele-cendo regras que especificam como o conteúdo pode ser empre-gado;identificar a licença base;identificar cada licença complementar por meio dareferência à licença base;agregar as regras na licença base e em cada licen-ça complementar identificada em um conjunto agregado de regras;avaliar o conjunto agregado de regras para deter-minar se tal conjunto agregado de regras permite o empregodo conteúdo da maneira particular; eempregar o conteúdo, se o conjunto agregado de re-gras assim permitir.
11. Midia, de acordo com a reivindicação 10,CARACTERIZADA pelo fato de que a licença base inclui um a-tributo de id de família e cada licença complementar incluium atributo pai, o atributo de id de família da licença baseidentificando a licença base em uma hierarquia das licençase o atributo pai de cada licença complementar identificandoa licença base como o seu pai hierárquico, o método compre-endendo identificar cada licença complementar por meio dadeterminação de um valor particular do atributo de id de fa-mília da licença base e a localização de cada licença com-plementar com o seu atributo pai ajustado no valor particu-lar do atributo de id de família da licença base.
12. Mídia, de acordo com a reivindicação 10,CARACTERIZADA pelo fato de que cada licença base e cada li-cença complementar inclui um atributo de id de família e umatributo pai, o atributo de id de família identificando alicença e o atributo pai identificando todos os pais hierár-quicos da licença para definir o local da licença em uma hi-erarquia das licenças, o método compreendendo identificar alicença base por meio de tal licença base com o seu atributopai ajustado em um valor nulo e identificar cada licençacomplementar por meio da determinação de um valor particulardo atributo de id de família da licença base e localizar ca-da licença complementar com o atributo pai ajustado no valorparticular do atributo de id de família da licença base.
13. Mídia, de acordo com a reivindicação 10,CARACTERIZADA pelo fato de que a avaliação do conjunto agre-gado de regras para determinar se tal conjunto agregado deregras permite o emprego do conteúdo da maneira particularinclui o emprego de regras de conflito predeterminadas paranegociar todos os conflitos entre as regras provenientes daslicenças conflitantes, as regras de conflito resolvendo to-dos os conflitos, pelo menos em parte, com base nas posiçõesrespectivas das licenças conflitantes em uma hierarquia daslicenças.
14. Mídia, de acordo com a reivindicação 10,CARACTERIZADA pelo fato de que o conteúdo é encriptado e de-criptável de acordo com uma chave de decriptação (KD) conti-da em pelo menos uma das licenças, o método compreendendoempregar o conteúdo pela recuperação (KD) da licença quecontém a mesma e pela decriptação do conteúdo com (KD).
15. Mídia, de acordo com a reivindicação 10,CARACTERIZADA pelo fato de que cada licença inclui uma assi-natura digital produzida de acordo com uma chave pública quereconduz a uma autoridade raiz comum, o método compreendendoadicionalmente verificar que a assinatura de cada licença évalidada com base em uma rede de certificados que estende-sea partir de tal autoridade raiz comum.
16. Midia, de acordo com a reivindicação 10,CARACTERIZADA pelo fato de que cada licença complementar éuma licença complementar de primeiro nivel, o método compre-endendo:obter uma pluralidade de licenças digitais corres-pondentes ao conteúdo, a pluralidade de licenças incluindouma licença base, pelo menos uma licença complementar deprimeiro nivel e pelo menos uma licença complementar de se-gundo nivel, cada licença complementar de primeiro nivel in-cluindo uma referência à licença base, cada licença comple-mentar de segundo nivel incluindo uma referência a uma li-cença complementar de primeiro nivel, cada licença base ecada licença complementar estabelecendo regras que especifi-cam como o conteúdo pode ser empregado;identificar a licença base;identificar cada licença complementar de primeironivel por meio da referência à licença base;identificar cada licença complementar de segundonivel por meio da referência a uma das licenças complementa-res de primeiro nivel;agregar as regras na licença base e em cada licen-ça complementar identificada em um conjunto agregado de regras;avaliar o conjunto agregado de regras para deter-minar se tal conjunto agregado de regras permite o empregodo conteúdo da maneira particular; eempregar o conteúdo, se o conjunto agregado de re-gras assim permitir.
17. Midia, de acordo com a reivindicação 16,CARACTERIZADA pelo fato de que cada licença base e cada li-cença complementar inclui um atributo de id de família e umatributo pai, o atributo de id de família identificando alicença e o atributo pai identificando todos os pais hierár-quicos da licença para definir o local da licença em uma hi-erarquia das licenças, o método compreendendo identificar alicença base por meio de tal licença base com o seu atributopai ajustado em um valor nulo, identificar cada licença com-plementar de primeiro nível por meio da determinação de umvalor particular do atributo de id de família da licença ba-se e localizar cada licença complementar com o atributo paiajustado no valor particular do atributo de id de família dalicença base, e identificar cada licença complementar de se-gundo nível por meio da determinação de um valor particulardo atributo de id de família de cada licença complementar deprimeiro nível e localização de cada licença complementarcom o atributo pai ajustado no valor particular do atributode id de família de todas as licenças complementares de pri-meiro nível.
18. Mídia, de acordo com a reivindicação 16,CARACTERIZADA pelo fato de que a avaliação do conjunto agre-gado de regras para determinar se tal conjunto agregado deregras permite o emprego do conteúdo da maneira particularinclui o emprego de regras de conflito predeterminadas paranegociar todos os conflitos entre regras provenientes de li-cenças conflitantes, as regras de conflito resolvendo cadaconflito, pelo menos em parte, com base nas respectivas po-sições de licenças conflitantes em uma hierarquia das licenças.
BRPI0613463-7A 2005-07-14 2006-07-11 aplicação digital que opera de acordo com agregação de pluralidade de licenças BRPI0613463A2 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US69914305P 2005-07-14 2005-07-14
US60/699.143 2005-07-14
US11/259.677 2005-10-26
US11/259,677 US7747533B2 (en) 2005-07-14 2005-10-26 Digital application operating according to aggregation of plurality of licenses
PCT/US2006/026911 WO2007011584A2 (en) 2005-07-14 2006-07-11 Digital application operating according to aggregation of plurality of licenses

Publications (1)

Publication Number Publication Date
BRPI0613463A2 true BRPI0613463A2 (pt) 2011-01-11

Family

ID=37662823

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0613463-7A BRPI0613463A2 (pt) 2005-07-14 2006-07-11 aplicação digital que opera de acordo com agregação de pluralidade de licenças

Country Status (7)

Country Link
US (1) US7747533B2 (pt)
KR (1) KR20080026167A (pt)
BR (1) BRPI0613463A2 (pt)
IL (1) IL188622A (pt)
MX (1) MX2008000576A (pt)
RU (1) RU2421808C2 (pt)
WO (1) WO2007011584A2 (pt)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389273B2 (en) 2003-09-25 2008-06-17 Scott Andrew Irwin System and method for federated rights management
US7690044B2 (en) * 2005-02-18 2010-03-30 Fuji Xerox Co., Ltd. Medium storing program selecting electronic ticket, electronic ticket processing apparatus and electronic ticket selection method
US20090048860A1 (en) * 2006-05-08 2009-02-19 Corbis Corporation Providing a rating for digital media based on reviews and customer behavior
WO2008088163A1 (en) 2007-01-15 2008-07-24 Samsung Electronics Co., Ltd. Rights object acquisition method of mobile terminal in digital right management system
US9172710B2 (en) * 2007-02-05 2015-10-27 Broadcom Corporation Media transport protocol extensions for system integrity and robustness, and applications thereof
US8832467B2 (en) * 2007-05-16 2014-09-09 Broadcom Corporation Digital rights management metafile, management protocol and applications thereof
US8752191B2 (en) * 2007-05-16 2014-06-10 Broadcom Corporation Generic digital rights management framework, and applications thereof
US20080319870A1 (en) * 2007-06-22 2008-12-25 Corbis Corporation Distributed media reviewing for conformance to criteria
US8145572B2 (en) * 2007-10-19 2012-03-27 Kabushiki Kaisha Toshiba Information processing apparatus, content processing method, and computer program product thereof
US20090259591A1 (en) * 2008-04-11 2009-10-15 Microsoft Corporation Information Rights Management
US8353049B2 (en) * 2008-04-17 2013-01-08 Microsoft Corporation Separating keys and policy for consuming content
US8935528B2 (en) * 2008-06-26 2015-01-13 Microsoft Corporation Techniques for ensuring authentication and integrity of communications
JP5206263B2 (ja) * 2008-09-12 2013-06-12 株式会社リコー 情報処理装置、ライセンス判定方法、及びプログラム
CA2727353C (en) * 2008-10-03 2014-11-18 Redknee Inc. System and method for maintaining and updating data objects associated with mobile electronic devices
JP5263070B2 (ja) * 2009-08-13 2013-08-14 株式会社リコー プログラム導入支援装置、プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム
US20140289184A1 (en) * 2009-09-09 2014-09-25 Sanjeev Kumar Biswas License structure representation for license management
US8739298B2 (en) * 2009-11-19 2014-05-27 Adobe Systems Incorporated Method and system for enforcing a license dependency rule for a software application
US20110125599A1 (en) * 2009-11-20 2011-05-26 David Morin Social License for Interactive Applications and Content
US9582392B2 (en) * 2010-09-14 2017-02-28 Microsoft Technology Licensing, Llc Add-on performance advisor
US9449324B2 (en) 2010-11-11 2016-09-20 Sony Corporation Reducing TV licensing costs
US20130031637A1 (en) * 2011-02-24 2013-01-31 Savtira Corporation System and method for automated processing and publication of content
US9135610B2 (en) * 2011-03-29 2015-09-15 Microsoft Technology Licensing, Llc Software application license roaming
US9424401B2 (en) 2012-03-15 2016-08-23 Microsoft Technology Licensing, Llc Automated license management
US9460273B2 (en) * 2014-10-29 2016-10-04 International Business Machines Corporation Automatic generation of license terms for service application marketplaces
CN106934254B (zh) 2017-02-15 2020-05-26 中国银联股份有限公司 一种开源许可证的分析方法及装置
US11244031B2 (en) * 2017-03-09 2022-02-08 Microsoft Technology Licensing, Llc License data structure including license aggregation
TW202349243A (zh) * 2022-02-01 2023-12-16 瑞士商區塊鏈授權股份有限公司 用於權限管理之方法及系統

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287408A (en) * 1992-08-31 1994-02-15 Autodesk, Inc. Apparatus and method for serializing and validating copies of computer software
US7103574B1 (en) * 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US20020019814A1 (en) * 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US6636858B1 (en) * 2000-02-03 2003-10-21 Michael T. Coffey Method for formatting, associating organizing, and retrieving data of and from a database stored in a computer system
US6810389B1 (en) * 2000-11-08 2004-10-26 Synopsys, Inc. System and method for flexible packaging of software application licenses
US8275716B2 (en) * 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US6865555B2 (en) * 2001-11-21 2005-03-08 Digeo, Inc. System and method for providing conditional access to digital content
US7496540B2 (en) * 2002-03-27 2009-02-24 Convergys Cmg Utah System and method for securing digital content
US7366915B2 (en) * 2002-04-30 2008-04-29 Microsoft Corporation Digital license with referral information
AU2003223802A1 (en) * 2002-05-10 2003-11-11 Protexis Inc. System and method for multi-tiered license management and distribution using networked clearinghouses
WO2005033892A2 (en) * 2003-10-03 2005-04-14 Sony Electronics, Inc. Rendering rights delegation system and method

Also Published As

Publication number Publication date
US7747533B2 (en) 2010-06-29
US20070016532A1 (en) 2007-01-18
WO2007011584A3 (en) 2007-05-18
MX2008000576A (es) 2008-03-18
IL188622A0 (en) 2008-11-03
RU2421808C2 (ru) 2011-06-20
KR20080026167A (ko) 2008-03-24
WO2007011584A2 (en) 2007-01-25
IL188622A (en) 2011-11-30
RU2008101441A (ru) 2009-07-20

Similar Documents

Publication Publication Date Title
BRPI0613463A2 (pt) aplicação digital que opera de acordo com agregação de pluralidade de licenças
JP4880331B2 (ja) アクセス管理システム等におけるリソース等にアクセスする権限の委任
JP4769304B2 (ja) オペレーティングシステム非依存型データ管理
RU2331917C2 (ru) Выдача лицензий на использование средства публикации в автономном режиме в системе управления правами на цифровое содержимое drm
JP4418648B2 (ja) デジタルコンテンツとサービスの使用ライセンスを発行するためのシステムおよびその方法
TWI362872B (en) Enrolling/sub-enrolling a digital rights management (drm) server into a drm architecture
JP4489382B2 (ja) デジタル権利管理サービスを提供するシステムおよび方法
KR101219819B1 (ko) 디지털 어플리케이션을 라이센싱하기 위한 유연한 라이센싱 아키텍처
TWI330030B (en) Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (drm) system
JP5356221B2 (ja) 役割ベースのアクセス制御ポリシーの資源許可ポリシーへの変換
JP4425579B2 (ja) 対話式認証なしのデバイス上のコンテンツに関するデジタル権利管理(drm)暗号化およびデータ保護方法
RU2344469C2 (ru) Публикация цифрового содержания в определенном пространстве, таком, как организация, в соответствии с системой цифрового управления правами (цуп)
KR101298293B1 (ko) 제1 플랫폼으로부터 제2 플랫폼으로의 디지털 라이센스이주
JP5480135B2 (ja) 暗号で保護した文書の作成と検証
BRPI0616033A2 (pt) contagem de máquina segura
KR20080059465A (ko) 동적 권리 및 자원 공유 지원 방법 및 시스템
JP2004080751A (ja) デジタル化権管理(drm)システムで使用するための安全なハードウェア識別子(hwid)を提供すること
BRPI0616713B1 (pt) método e sistema para administração de direito digital
BRPI0613299A2 (pt) sistema para permitir acesso a conteúdo eletrÈnico e método para permitir acesso à conteúdo eletrÈnico
KR20040073357A (ko) 디지탈 권한 관리(drm) 시스템에 따른, 조직과 같은규정된 집단 내에서의 디지탈 콘텐트 출판
CA3180144A1 (en) Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
US8656159B1 (en) Versioning of modifiable encrypted documents

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 10A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2385 DE 20-09-2016 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.