MX2008000576A - Aplicacion digital que opera de acuerdo con la agregacion de una pluralidad de licencias. - Google Patents

Aplicacion digital que opera de acuerdo con la agregacion de una pluralidad de licencias.

Info

Publication number
MX2008000576A
MX2008000576A MX2008000576A MX2008000576A MX2008000576A MX 2008000576 A MX2008000576 A MX 2008000576A MX 2008000576 A MX2008000576 A MX 2008000576A MX 2008000576 A MX2008000576 A MX 2008000576A MX 2008000576 A MX2008000576 A MX 2008000576A
Authority
MX
Mexico
Prior art keywords
license
addition
base
attribute
rules
Prior art date
Application number
MX2008000576A
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 MX2008000576A publication Critical patent/MX2008000576A/es

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

Una pluralidad de licencias digitales corresponde a una pieza de contenido, incluyendo una licencia base y por lo menos una Iicencia de adicion. Cada licencia de adicion incluye una referencia a la licencia base, y cada una de la Iicencia base y licencia de adicion establece reglas que especifican como puede ser empleado el contenido. Cada licencia de adicion es identificada por medio de la referencia en la misma a la licencia base, y las reglas en la licencia base y en cada licencia de adicion identificada se agregan a un grupo de reglas agregado que es evaluado para determinar si dicho grupo de reglas agregado permite emplear el contenido en una forma particular.

Description

APLICACIÓN DIGITAL QUE OPERA DE ACUERDO CON LA AGREGACIÓN DE UNA PLURALIDAD DE LICENCIAS REFERENCIA CRUZADA A SOLICITUD RELACIOADA Esta solicitud reclama el beneficio de la Solicitud Provisional de E.U.A. No. 60/699,143, presentada el 14 de julio ,2005 y titulada "JERARQUÍA Y EVOLUCIÓN DE LICENCIAS DE ADICIÓN", incorporada aquí por referencia en su totalidad.
CAMPO TÉCNICO La presente invención se refiere a una aplicación digital o similar que opera en un dispositivo de cómputo o similar de acuerdo con los derechos y condiciones mencionadas en una licencia digital, o similares. Más particularmente, la invención se refiere a una pluralidad de tales licencias que se agregaron en forma de efecto a un súper-grupo de reglas y derechos de acuerdo con lo cual opera la aplicación.
ANTECEDENTES DE LA INVENCIÓN El manejo e imposición de derechos es altamente deseable en conexión con contenido digital tal como una aplicación digital o similar, en donde tal aplicación digital se va a distribuir a uno o más usuarios. Los modos típicos de distribución ¡ncluyen dispositivos tangibles tal como un disco magnético (flexible), una cinta magnética o un disco óptico (compacto) (Cd), etc., y medios intangibles tal como una tabla de boletín electrónico, una red electrónica, Internet, etc. Al recibirse por el usuario en un dispositivo de cómputo del mismo, un usuario puede activar la aplicación con la ayuda de un sistema operativo apropiado en el dispositivo de cómputo. Típicamente, un autor y/o publicador de la aplicación desea distribuir cada aplicación a cada uno de muchos usuarios o receptores en intercambio de una cuota de licencia o alguna otra consideración. En tal escenario, entonces, la aplicación puede ser un aplicación de procesamiento de palabra, una aplicación de hoja de cálculo, una aplicación de navegador, una aplicación de juegos, una aplicación de reproductor de medios, una combinación de los mismos, y similares. Tal autor/publicador u otra entidad similar (denominado aquí, "publicador"), dada la elección, probablemente deseara restringir lo que cada usuario puede hacer con tal aplicación publicada. Por ejemplo, el publicador deseara restringir al usuario de copiar y redistribuir tal aplicación a un segundo usuario, al menos en una forma que niega al publicador de una cuota de licencia de tal segundo usuario. Sin embargo, después que ocurrió la publicación, tal publicador tiene muy poco si no es que ningún control real en la aplicación. Esto es especialmente problemático en vista del hecho que prácticamente todas las computadoras personales incluyen el software y hardware necesario para hacer una copia digital exacta de tal aplicación, y para descargar tal copia digital exacta a un disco magnético u óptico en el que se puede escribir, o enviar tal copia digital exacta en una red tal como Internet a cualquier destino. Por supuesto, como parte de una transacción en donde la aplicación se distribuye, el publicador puede requerir que el usuario/receptor de la aplicación prometa no redistribuir tal aplicación de una forma no conveniente. Sin embargo, tal promesa se hace y se rompe fácilmente. Un publicador por intentar prevenir tal redistribución a través de cualquiera de varios dispositivos de seguridad conocidos, que usualmente involucran la codificación y descodificación críptica. Sin embargo, es muy poco probable que prevenga a un usuario medianamente determinado de la descodificación críptica de una aplicación codificada crípticamente, que guarda tal aplicación en una forma no codificada crípticamente, y entonces redistribuye la misma. El Manejo de Derechos (RM) las arquitecturas y métodos de imposición se proporcionaron previamente para permitir la operación controlada de formas arbitrarias de aplicaciones digitales, en donde tal control es flexible y definible por el publicante de tal aplicación. Típicamente, se proporciona una licencia digital para operar la aplicación, en donde la aplicación no puede accionarse de una forma significativa sin tal licencia. Por ejemplo, puede ser el caso que a menos una porción de la aplicación se codifica crípticamente y la licencia incluye una clave de descodificación críptica para descodificar crípticamente tal porción codificada crípticamente. Además, puede ser el caso que la licencia se una a un usuario o dispositivo de cómputo del mismo, y tal dispositivo de cómputo incluye una característica de seguridad que asegura que los términos de la licencia se honraron. Tal licencia digital típicamente incluye un grupo de derechos y condiciones que rige el uso de la aplicación correspondiente del dispositivo de cómputo. De esa forma, cada licencia expone políticas que otorgan ciertos derechos para funcionalidad especificada. Con licencia digitales, entonces, un publicante puede proporcionar a un usuario diferentes derechos con respecto a una aplicación al proporcionar diferentes licencias que corresponden a tales derechos diferentes. Por ejemplo, el publicador puede desear proporcionar una edición caracterizada por completo de la aplicación a un precio superior y una edición rudimentaria a un precio inferior. De forma similar, el publicante puede desear ofrecer una edición con una cierta primera característica y una edición sin ésta, una edición con una cierta segunda característica y una edición sin ésta, una edición con una cierta tercera característica y una edición sin ésta, etc. Aunque se debe notar, que en la técnica anterior, debido a que cada variación de los derechos en una aplicación requerirá una licencia completamente separada, que ofrece combinaciones arbitrarias de derechos a usuarios fue un asunto difícil en cuanto a que el número de combinaciones arbitrarias de tales derechos puede ser fácilmente el número en décimas, cientos, y miles, y cada combinación arbitraria de derechos requerirá un tipo de licencia separado. Por ejemplo, un publicador que desea ofrecer una aplicación con cinco derechos de dos estados (derechos que están presentes o ausentes, por ejemplo), tiene que preparar dos para los cinco poderes o 32 tipos diferentes de licencias. De forma similar, un publicante que desea ofrecer una aplicación con cuatro derechos de dos estados y dos derechos de tres estados (derechos que están presentes, limitados, o ausentes, por ejemplo), debe de preparar dos de los cuatro veces de poder a el segundo poder o 144 tipos diferentes de licencias. Como se debe apreciar, entonces, mayores complejidades de variaciones de una aplicación resultarán en mayores números de diferentes tipos de licencias. Sin embargo, y significativamente, es poco probable si no es que imposible para un publicador de tal aplicación ofrecer más de un número limitado de tipos de tales licencias, tal vez en el orden de 10 a 30 o similar. Muy simplemente, para ofrecer cada tipo de licencia se requerirá que el publicante mantenga cada tipo, que incluye actualizar y modificar el mismo como sea necesario, y tal mantenimiento puede superarse fácilmente por una tarea abrumadora mientras aumenta el número de tipos. Por consiguiente, existe una necesidad de un método y mecanismo por el cual un publicador o similar de una aplicación o similar puede ofrecer una forma de combinaciones de derechos arbitrarios de esquema de licencia digital a usuarios o similares, en donde el número de diferentes tipos de licencia que representa tales derechos se minimiza. En particular, existe una necesidad de tal método el mecanismo por el cual derechos o grupos particulares de derechos con respecto a la aplicación se representan por licencias digitales separadas para la aplicación, y un usuario obtiene una o más de tales licencias para obtener de forma correspondiente los derechos o grupos de derechos colectivamente representados con esto. Como un resultado, el número de diferentes tipos de licencia para la aplicación se minimiza.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Las necesidades antes mencionadas se satisfacen al menos en parte por la presente invención en la cual se proporciona un método para emplear una pieza de contenido digital en un dispositivo de cómputo en una forma particular. En el método se obtiene una pluralidad de licencias digitales que corresponden al contenido, en donde la pluralidad de licencias incluye una licencia base y al menos una licencia de adición. Cada licencia de adición incluye en ella una referencia a la licencia base, y cada licencia base y cada licencia de adición expone reglas que especifican cómo puede emplearse el contenido. La licencia base se identifica y cada licencia de adición se identifica a manera de referencia en ella a la licencia base, y las reglas en la licencia base y en cada licencia de adición identificadas se agregan en un grupo de reglas de adición. El grupo de reglas agregadas entonces se evalúa para determinar si tal grupo de reglas agregadas permite emplear el contenido en la forma particular, y el contenido se emplea de si el grupo de reglas agregadas lo permite esa forma.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La breve descripción anterior, así como la siguiente descripción detallada de las modalidades de la presente invención, se entenderán mejor cuando se lee en conjunto con los dibujos anexos. Para el propósito de ilustrar la invención, se muestran en los dibujos modalidades que actualmente se prefieren. Sin embargo, se debe entender que la invención no se limita a las disposiciones precisas e instrumentos mostrados. En los dibujos: La Figura 1 de un diagrama de bloques que representa un ambiente de cómputo no limitante ilustrativo en el cual puede implementarse la presente invención; La Figura 2 es un diagrama de bloques que representa un ambiente de red ilustrativo que tiene una variedad de dispositivos de cómputo en el cual puede implementarse la presente invención; La Figura 3 es un diagrama de bloques que muestra una arquitectura de imposición de un ejemplo de un sistema a base de confianza, que incluyen la licencia digital de acuerdo con una modalidad de la presente invención; La Figura 4 es un diagrama de bloques que muestra una jerarquía de licencias tal como la licencia de la Figura 3, en donde la jerarquía incluye una licencia base y una licencia de adición de acuerdo con la modalidad de la presente invención; y La Figura 5 de es un diagrama de flujo que muestra pasos clave realizados al agregar reglas mencionadas en cada una de las licencias de la jerarquía de la Figura 4 de acuerdo con una modalidad de la presente invención; DESCRIPCIÓN DETALLADA DE LA INVENCIÓN AMBIENTE DE COMPUTADORA La Figura 1 en la siguiente discusión pretende proporcionar una breve descripción general del ambiente de cómputo adecuado en el cual puede implementarse la invención. Sin embargo, se debe entender que los móviles, portátiles y otros dispositivos de cómputo para todas las clases se contemplan para uso en conexión con la presente invención. Mientras se describe posteriormente una computadora de propósito general, pero es solo un ejemplo, y la presente invención requiere sólo un cliente delgado que tiene interoperabilidad e interacción de servidor de red. De esa forma, la presente invención puede implementarse en un ambiente de servicios alojados en red en los cuales se implican muy pocos recursos de cliente o mínimos, por ejemplo, un ambiente en red en el cual el dispositivo de cliente sirve solamente como un navegador o interfase a la Gran Red Mundial.
Aunque no se requiere, la invención puede implementarse a través de una interfase de programación de aplicación (API), pero el uso por un desarrollador, y/o incluido dentro del software de navegación de red se describirá en el contexto general de instrucciones ejecutables por computadora, tal como módulos de programa, que se ejecutan por una o más computadoras, tal como estaciones de trabajo de cliente, servidores, u otros dispositivos. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos y similares que realizan tareas particulares o implementan tipos de datos abstractos particulares. Típicamente, la funcionalidad de los módulos de programa puede combinarse o distribuirse como se desea en varias modalidades. Además, aquellos expertos en la técnica apreciarán que la invención puede practicarse con otras configuraciones de sistema de computadora. Otros sistemas de cómputo bien conocidos, ambientes, y/o configuraciones que pueden ser adecuados para uso con la invención incluyen, pero no se limitan a, computadoras personales (PCs), máquinas de contador automáticas, computadoras de servidor, dispositivos móviles o portátiles, sistemas de multiprocesador, sistemas a base de microprocesador, electrónica de consumidor programable, PCs de red, minicomputadoras, macrocomputadoras, y similares. La invención también se de puede de practicar en ambientes de cómputo distribuidos de en donde las tareas se realizan por dispositivos de procesamiento remotos que se enlazan a través de una red de comunicaciones u otro medio de transmisión de datos. En una ambiente de cómputo distribuido, los módulos de programa pueden localizarse tanto en medios de almacenamiento de computadora locales como remotos que incluyen dispositivo de almacenamiento de memoria. La Figura 1 de esa forma ilustra un ejemplo de un ambiente de sistema de cómputo adecuado 100 en el cual puede implementarse la invención, aunque como se aclaró anteriormente, el ambiente de sistema de cómputo 100 sólo es un ejemplo de un ambiente de cómputo adecuado y no pretende sugerir ninguna limitación al alcance de uso o funcionalidad de la invención. El ambiente de cómputo 100 tampoco debe interpretarse como teniendo ninguna dependencia o requerimiento que se relaciona con cualquiera o combinación de componentes ilustrados en el ambiente operativo ilustrativo 100. Con referencia a la Figura 1, un sistema ilustrativo para implementar la invención incluye un dispositivo de cómputo de propósito general en la forma de una computadora 110. Los componentes de la computadora 110 pueden incluir, pero no se limitan a, una unidad de procesamiento 120, una memoria de sistema 130, y un conductor común de sistema 121 que acopla varios componentes de sistema que incluyen la memoria de sistema a la unidad de procesamiento 120. El conductor común de sistema 121 puede ser cualquiera de varios tipos de estructuras de conductor común que incluyen un conductor común de memoria o controlador de memoria, un conductor común periférico, y un conductor común local que utiliza cualquiera de una variedad de arquitecturas de conductor común. A manera de ejemplo, y no de limitación, tales arquitecturas incluyen Conductor Común De Arquitectura Estándar De Industria (ISA), Conductor Común De Arquitectura De Micro Canal (MCA), conductor común de ISA mejorado (EISA), Conductor Común Local De Asociación De Estándares De Electrónicos De Vídeo (VESA), y conductor común de interconexión de componente periférico (PCI) (también conocido como conductor común de Mezzanine). La computadora 110 típicamente incluye una variedad de medios legibles por computadora. Los medios legibles por computadora pueden ser cualquier medio disponible que puede accederse por la computadora 110 e incluye tanto medios volátiles como no volátiles, medios removibles y no removibles. A manera de ejemplo, y no de limitación, el medio legible por computadora puede comprender medios de almacenamiento de computadora y medios de comunicación. Los medios de almacenamiento de computadora incluyen tanto medios volátiles y no volátiles, removibles y no removibles implementados en cualquier método o tecnología para almacenamiento de información tal como instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos. Los medios de almacenamiento de computadora incluyen, pero no se limitan a, RAM, ROM, EEPROM., memoria flash u otra tecnología de memoria, CDROM, discos versátiles digitales (DVD) u otro almacenamiento de disco óptico, cassettes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que puede utilizarse para almacenar la información deseada y que puede accederse por la computadora 110. Los medios de comunicación típicamente representan instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluye cualquier medio de entrega de información. El término "señal de datos modulada" significa una señal que tiene una o más de sus características establecidas o cambiadas de tal forma para codificar información en la señal. A manera de ejemplo, y no de limitación, los medios de comunicación incluyen medios por cable tal como una red por cable o conexión por cable directa, y medios inalámbricos tal como acústicos, RF, infrarrojos, y otros medios inalámbricos. Combinaciones de cualquiera de los anteriores también deben incluirse dentro del alcance de medios legibles por computadora. La memoria de sistema 130 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil tal como memorias solo de lectura (ROM) 131 y memoria de acceso aleatorio (RAM) 132. Un sistema de entrada/salida básico 133 (BIOS), que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora 110, tal como durante el arranque, típicamente se almacena en ROM 131. La RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles y/o actualmente están siendo operados por la unidad de procesamiento 120. A manera de ejemplo, y no de limitación, la Fígura 1 ilustra el sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. La computadora 110 también puede incluir otros medios de almacenamiento de computadora removibles/no removibles, volátiles/no volátiles. A manera de ejemplo solamente, la Figura 1 ilustra una unidad de disco duro 141 que lee de o escribe a medios magnéticos no removibles, no volátiles, una unidad de disco magnético 151 que lee de o escribe a un disco magnético removible, no volátil 152, y una unidad de disco óptico 155 que lee de o escribe a un disco óptico removible, no volátil 156, tal como un CD ROM u otro medio óptico. Otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles que pueden utilizarse en el ambiente operativo ilustrativo incluyen, pero no se limitan a, cassettes de cinta magnética, tarjetas de memoria flash, discos versátiles digitales, cinta de video digital, RAM de estado sólido, en ROM de estado sólido, y similares. La unidad de disco duro 141 típicamente se conecta al conductor común de sistema 121 a través de una interfase de memoria no removible tal como una interfase 140, y una unidad de disco magnético 151 unidad de disco óptico 155 típicamente se conectan al conductor común de sistema 121 a través de una interfase de memoria removible, tal como la interfase 150. Las unidades y sus medios de almacenamiento de computadora asociados discutidos anteriormente e ilustrados en la Figura 1 proporcionan almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora 110. En la Figura 1, por ejemplo, la unidad de disco duro 141 se ilustra como almacenando sistema operativo 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147. Se debe notar que estos componentes pueden ser los mismos que o diferentes al sistema operativo 134, programas de aplicación 135 otros módulos de programa 136, y datos de programa 137. El sistema operativo 144, programas de aplicación 145, otros módulos de programa 146 y datos de programa 147 aquí se les proporcionan números diferentes para ilustrar que, en un mínimo, son copias diferentes. Un usuario puede ingresar comandos e información en la computadora 110 a través de dispositivos de entrada tal como un teclado 162 y dispositivo de señalamiento 161, comúnmente denominado como ratón, seguibola o almohadilla sensible al tacto. Otros dispositivos de entrada (no mostrado) pueden incluir un micrófono, palanca de mandos, almohadilla de juegos, antena parabólica, escáner, o similares. Estos y otros dispositivos de entrada frecuentemente se conectan a la unidad de procesamiento 120 a través de una interfase de entrada de usuario 160 que se acopla al conductor común de sistema 121, pero puede conectarse por otra interfase y estructuras de conductor común, tal como un puerto paralelo, puerto de juego un conductor común en serie universal (USB). Un monitor 191 u otro tipo de dispositivo de presentación también se conecta al conductor común de sistema 121 a través de una interfase, tal como una interfase de video 190. Una interfase de gráficos 182, tal como Northbridge, también puede conectarse al conductor común de sistema 121. Northbridge es un grupo de chips que se comunica con la CPU, una unidad de procesamiento de huésped 120, y asume responsabilidad para las comunicaciones de puerto de gráficos acelerado (AGP). Una o más unidades de procesamiento de gráficos (GPUs) 184 puede comunicarse con la interfase de gráficos 182. Con respecto esto, las GPUs 184 generalmente ¡ncluyen almacenamiento de memoria en chip, tal como almacenamiento de registro y las GPUs 184 se comunican con una memoria de video 186. Sin embargo, las GPUs 184, son solo un ejemplo de un coprocesador y de esa forma puede incluirse dispositivos de co procesamiento de la computadora 110. Un monitor 191 u otro tipo de dispositivo de presentación también se conecta al conductor común de sistema 121 a través de una interfase, tal como una interfase de video 190, que a su vez puede comunicarse con la memoria de video 186. Además del monitor 191, las computadoras también pueden incluir otros dispositivos de salida periféricos tal como bocinas 197 e impresoras 196, que pueden conectarse a través de una interfase periférica de salida 195. La computadora 110 puede operar en un ambiente en red que utiliza conexiones lógicas a una o más computadoras remotas, tal como una computadora remota 180. La computadora remota 180 puede ser una computadora personal, un servidor, un enrutador, una PC de red, un dispositivo par u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente relativos a la computadora 110, aunque solo se ilustra un dispositivo de almacenamiento de memoria 181 en la Figura 1. Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área local (RAM) 171 y una red de área ancha (WAN) 173 pero también pueden incluir otras redes. Tales ambientes en red comúnmente están ubicados en oficinas, redes de computadora extendidas en empresas, intranets e Internet. Cuando se utiliza en un ambiente en red de LAN, la computadora 110 se conecta a la LAN 171 a través de una interfase de red o adaptador 170. Cuando se utiliza en un ambiente en red de WAN, la computadora 110 típicamente incluye un módem 172 u otro medio para establecer comunicaciones en la WAN 173, tal como Internet. El módem 172, que puede ser interno o externo, puede conectarse al conductor común de sistema 121 a través de la interfase de entrada de usuario 160, u otro mecanismo apropiado. En un ambiente en red, los módulos de programa ilustrados relativos a la computadora 110, o porciones de la misma pueden almacenarse de dispositivo de almacenamiento de memoria remota. A manera de ejemplo, y no de limitación, la Figura 1 ilustra programas de aplicación 185 como residentes en el dispositivo de memoria 181. Se apreciará que las conexiones en red mostradas son ilustrativas y pueden utilizarse otros medios para establecer un enlace de comunicaciones entre las computadoras.
Un experto en la técnica puede apreciar que una computadora 110 u otro dispositivo de cliente puede desplegarse como parte de una red de computadora Con respecto esto, la presente invención pertenece a cualquier sistema de computadora que tiene cualquier número de memoria o unidades de almacenamiento, y cualquier número de aplicaciones y procedimientos que ocurren a través de cualquier número de unidades de almacenamiento o volúmenes La presente invención puede aplicar a un ambiente con computadoras de servidor y computadoras de cliente desplegadas en un ambiente de red, que tiene almacenamiento remoto o local La presente invención también puede aplicar a un dispositivo de cómputo aislado, que tiene funcionalidad de len'guaje de programación, interpretación y capacidades de ejecución El cómputo distribuido facilita la compartición de recursos de computadora y servicios por intercambio directo entre dispositivos y sistemas de cómputo Estos recursos y servicios incluyen el intercambio de información, almacenamiento en memoria caché, y almacenamiento de disco para archivos El cómputo distribuido toma ventaja de la conectividad de red, que permite a los clientes elevar su energía colectiva para beneficiar a la empresa completa Con respecto esto, una variedad de dispositivos puede tener aplicaciones, objetos a recursos que pueden interactuar para implicar técnicas de verificación de la presente invención para tubería(s) de gráficos confiable La Figura 2 proporciona un diagrama esquemático de un ambiente de cómputo en red o distribuido ilustrativo. El ambiente de cómputo distribuido comprende objetos de cómputo 10a, 10d, etc. y objetos o dispositivos de cómputo 110a, 110b, 110c, etc. Estos objetos pueden comprender programas, métodos, almacenamientos de datos, lógica programable, etc. Los objetos pueden comprender porciones de los mismos o diferentes dispositivos tal como PDAs, televisiones, reproductores de MP3, televisiones, computadoras personales, etc. Cada objeto puede comunicarse con otro objeto a manera de la red de comunicaciones 14. Esta red por si misma puede comprender otros objetos de cómputo y dispositivos de cómputo que proporcionan servicios al sistema de la Figura 2. De acuerdo con un aspecto de la invención, cada objeto 10 ó 110 puede contener una aplicación que puede solicitar técnicas de autentificación de la presente invención para tubería(s) de gráficos confiable. También se puede apreciar que un objeto, tal como de 110c, puede alojarse en otro dispositivo de cómputo 10 ó 110. De esa forma, aunque el ambiente físico ilustrado puede mostrar los dispositivos conectados como computadoras, tal ilustración simplemente es ilustrativa y el ambiente físico alternativamente puede ilustrarse o describirse al comprender varios dispositivos digitales tal como PDAs, televisiones, reproductores de MP3, etc., objetos de software tal como interfases, objetos COM y similares. Existe una variedad de sistemas, componentes, y configuraciones de red que soportan ambientes de cómputo distribuido. Por ejemplo, los sistemas de cómputo pueden conectarse por sistemas de línea por cable o inalámbricos, por redes locales o redes ampliamente distribuidas. Actualmente, muchas de las redes se acoplan a Internet, que proporciona la infraestructura para cómputo ampliamente distribuido y abarca muchas diferentes redes. En ambientes en red en el hogar, al menos existen cuatro medios de transporte de red separados que cada uno puede transportar un protocolo único tal como línea de Energía, datos (tanto inalámbricos como por cable), dos (por ejemplo, teléfono) y medios de entretenimiento. La mayoría de los dispositivos de control de hogar tal como interruptores de luz y aparatos pueden utilizar la línea de energía para conectividad. Los Servicios de datos pueden ingresar al hogar como una banda ancha (por ejemplo, ya sea DSL o módem por cable) y son accesibles dentro del hogar al utilizar conectividad inalámbrica (por ejemplo, RF de hogar u 802.11b) o por cable (por ejemplo, PNA de hogar, Cat 5, incluso línea de energía). El tráfico de voz puede ingresar al hogar ya sea por cable (por ejemplo, Cat 3) o inalámbrico (por ejemplo, teléfonos celulares) y puede distribuirse dentro del hogar al utilizar cable de Cat 3. Los medios de entretenimiento pueden ingresar al hogar ya sea a través de satélite o por cable y típicamente se distribuye en el hogar al utilizar cable coaxial. IEEE 1394 y DVI también emergen como interconexiones digitales para grupos de dispositivos de medios. Todos estos ambientes de red y otros que pueden surgir como estándares de protocolo pueden interconectarse para formar una intranet que puede conectarse al mundo exterior a manera de Internet. En resumen, existe una variedad de fuentes separadas para el almacenamiento y transmisión de datos, y en consecuencia, los dispositivos de cómputo que avanzan recayeran siempre proteger contenido en todas las porciones de la tubería de procesamiento de datos. El 'Internet' comúnmente se refiere a la conexión de redes y accesos que utilizan el grupo de protocolos de TCP/IP, que son bien conocidos en la técnica de red de computadora. TCP/IP es un acrónimo para "Protocolo de Control de Transporte/Programa de Interfase". El Internet puede describirse como un sistema de redes de computadora remotas geográficamente distribuidas interconectadas por computadoras que ejecutan protocolos en red que permiten a los usuarios interactuar y compartir información en las redes. Debido a tal compartición de información ampliamente extendida, las redes remotas tal como Internet esa forma evolucionaron generalmente en un sistema abierto para el cual los desarrolladores pueden diseñar aplicaciones de software para realizar operaciones o servicios especializados, esencialmente sin restricción. De esa forma, la infraestructura de red permite a un huésped de topología de red tal como cliente/servidor, par a par, o arquitecturas híbridas. El "cliente" es un miembro de una clase o grupo que utiliza los servicios de otra clase o grupo al cual no se relaciona. De esa forma, en cómputo, un cliente es un procedimiento, es decir, aproximadamente un grupo de instrucciones de tareas, que solicitan un servicio proporcionado por otro programa. El procedimiento de cliente utiliza el servicio solicitado sin tener que "conocer" todos los detalles de trabajo sobre el otro programa o el mismo servicio. En una arquitectura de cliente/servidor, particularmente un sistema en red, un cliente usualmente es una computadora que accede a recursos de red compartidos proporcionados por otra computadora por ejemplo un servidor. En el ejemplo de la Figura 2, las computadoras de 110a, 110b, etc. pueden pensarse como clientes y la computadora 10a ,10b, etc. puede pensarse como el servidor en donde el servidor 10a, 10b, etc. mantiene los datos que entonces se contestan en las computadoras de cliente 110a, 110b, etc. Un servidor típicamente es un sistema de computadora remoto accesible en una de red remota tal como Internet. El procedimiento de cliente puede estar activo en un primer sistema de computadora, y el procedimiento de servidor puede estar activo en un segundo sistema de computadora, que se comunica con otro en un medio de comunicaciones, que de esa forma proporciona funcionalidad distribuida y que permite a múltiples clientes tomar ventaja de las capacidades de reunión de información del servidor. El cliente y el servidor se comunican uno con en otro al utiliza la funcionalidad proporcionada por una capa de protocolo. Por ejemplo, el Protocolo de Transferencia de Hipertexto (HTTP) es un protocolo común que se utiliza en conjunto con la Red Amplia Mundial (WWW). Típicamente, una dirección de computadora tal como un Localizador de Recurso Universal (URL) o una dirección de Protocolo de Internet (IP) se utiliza para identificar las computadoras de servidor o de cliente una con otra. La dirección de red puede denominarse como una dirección de Localizador de Recurso Universal. Por ejemplo, la comunicación puede realizarse en un medio de comunicaciones. En particular, el cliente y servidor pueden acoplarse uno con otro a través de conexiones de TCP/IP para comunicación de alta capacidad. De esa forma, la Figura 2 ilustra un ambiente en red o distribuido ilustrativo, con un servidor en comunicación con computadoras de cliente a través de red/conductor común, en el cual puede emplearse la presente invención. En más detalle, un número de servidores 10a, 10b, etc., se interconectan a través de una red/conductor común de comunicaciones 14, que puede ser una LAN, WAN, intranets, Internet, etc., con un número de dispositivos de cómputo de cliente o remotos 110a, 110b, 110e, 110b, 110e, etc., tal como una computadora portátil, computadora móvil, cliente delgado, aparato en red, u otro dispositivo, tal como VCR, TD, horno, luz, calentador y similares de acuerdo con la presente invención. De esa forma se contempla que la presente invención puede aplicar a cualquier dispositivo de cómputo en conexión con el cual es deseable procesar, almacenar o presentar contenido seguro de una fuente confiable. En un ambiente en red en el cual la red/conductor común de comunicaciones 14 es Internet, por ejemplo, los servidores 10 pueden ser servidores de web con la cual los clientes 110a, 110b, 110e, 110d , 110e, etc. se comunican a través de cualquiera del número de protocolos conocidos tal como HTTP. Los servidores 10 también pueden servir como cliente 110, como puede ser característico de un ambiente de cómputo distribuido. Las comunicaciones pueden ser por cable o inalámbricas, en donde sea apropiado. Los dispositivos de cliente 110 pueden o no comunicarse a través de red/conductor común de comunicaciones 14, y pueden tener comunicaciones independientes asociadas con estos. Por ejemplo, en el caso de una tv o de VCR, puede existir o no un aspecto en red al control del mismo. Cada computadora de cliente 110 y computadora de servidor 10 puede equiparse con varios módulos u objetos de programa dé aplicación 135 y con conexiones o acceso a varios tipos de elementos u objetos de almacenamiento, a través de los cuales los archivos pueden almacenarse o a los cuales pueden descargarse o migrar porción(es) de archivos. De esa forma, la presente invención puede utilizarse en un ambiente en red de computadora que tiene computadoras de cliente 110a, 110b, etc. que pueden acceder interactuar con una red/conductor común de computadora 14 y computadoras de servidor 10a, 10b, etc. que pueden interactuar con computadoras- de cliente 110a, 110b, y otros dispositivos 111 y bases de datos 20.
Revisión de Manejo de Derechos (RM) Como se conoce, y se hace referencia ahora a la Figura 3, el manejo de derechos (RM) y la imposición es altamente deseable en conexión con una aplicación digital 32 u otro contenido 32 que se va a distribuir a usuarios. Al recibirse por el usuario, tal usuario inicia la aplicación 32 con la ayuda de un dispositivo de cómputo apropiado 34 o similares. Típicamente, un autor o publicante de aplicación (denominado aquí 'publicador') 44 que distribuye cada aplicación digital 32 desea restringir lo que el usuario hace con tal aplicación distribuida 32. Por ejemplo, el publicador 44 puede desear restringir al usuario de copia y redistribuir tal aplicación 32 a un segundo usuario, o puede desear permitir que la aplicación distribuida 32 se accione solo un número de veces limitado, solo por un cierto tiempo total, sólo en cierto tipo de máquina, sólo en cierto tipo de plataforma de presentación, sólo por un cierto tipo de usuario, etc. Sin embargo, después que ocurrió una distribución, tal publicador 44 tiene muy pocos si no es que ningún control sobre la aplicación 32. Un sistema de RM 30, entonces, permite el accionamiento controlado de una aplicación 32, en donde tal control es flexible y definible por el públicamente 44 de tal aplicación 32. Típicamente, la aplicación 32 se distribuye al usuario en la forma de un paquete 33 a manera de cualquier canal de distribución apropiado. El paquete 33 como se distribuyó puede incluir la aplicación 32 o una porción de la misma codificada crípticamente con una clave de codificación críptica/descodificación críptica simétrica (KD), (es decir, (KD (AP))), así como otra información que identifica la aplicación 32, como adquirir una licencia para tal aplicación 32, etc. El sistema de RM basado en confianza 30 permite al publicador 44 de la aplicación 32 u otro especificar reglas que deben satisfacerse antes que se permita que tal aplicación 32 se accione en un dispositivo de cómputo de usuario 34. Tales reglas de licencia por ejemplo pueden incluir el requerimiento temporal antes mencionado y/o número de veces del requerimiento entre otras cosas, y también puede exponer derechos que el usuario tiene con respecto a la aplicación 32, tal como por ejemplo la capacidad de imprimir o copiar y/o la capacidad de utilizar una característica particular de al aplicación 32, entre otras cosas. A cualquier velocidad, tales reglas pueden representarse dentro de una licencia digital o documento de uso (denominado aquí 'licencia') 36 que el usuario/dispositivo de cómputo del usuario 34 (tales términos que son intercambiables a menos que circunstancias lo requieran de otra forma) deben obtenerse del publicador 44 o un agente del mismo. Tal licencia 36 también incluye la clave de descodificación críptica (KD) para descodificar crípticamente la porción codificada crípticamente de la aplicación 32, tal vez codificada crípticamente de acuerdo con una clave descodificada crípticamente por el dispositivo de cómputo de usuario 34. Como se observa en la Figura 3, tal clave de codificación críptica puede ser una clave pública del dispositivo de cómputo del usuario 34 (PU-BB), y el dispositivo de cómputo del usuario 34 presumiblemente tiene la clave privada correspondiente (PR-BB) a través de la cual (PU-BB (KD)) puede descodificarse crípticamente. El publicador 44 para la aplicación 32 debe confiar que el dispositivo de cómputo del usuario 34 permanecerá por las reglas especificadas por tal publicador 44 en la licencia 36, es decir que la aplicación 32 no se accionará a menos que las reglas dentro de la licencia 36 se satisfagan, y que el usuario sólo se permita que emplee los derechos expuestos en las reglas. Preferiblemente, entonces, el dispositivo de cómputo del usuario 34 se provee con un componente confiable o mecanismo 38 que no accionará la aplicación 32 excepto de conformidad con las reglas de licencia representadas en la licencia 36 asociadas con la aplicación 32 y obtenidas por el usuario. El componente confiado 38 típicamente tiene un evaluador de licencia 40 que determina si la licencia 36 es válida, revisa las reglas de licencia en tal licencia válida 36, y determina basándose en las reglas de licencia revisadas si el usuario solicitante tiene el derecho de accionar la aplicación correspondiente 32 en la forma buscaba, entre otras cosas. Se debe entender, que el evaluador de licencia 40 es confiado con el sistema de RM 30 para llevar a cabo los deseos del publicador 44 de la aplicación 32 de acuerdo con las reglas en la licencia 36, y el usuario no debe ser capaz de alterar fácilmente tal elemento confiado para cualquier propósito, corrupto o de otra forma. Como se debe entender, las reglas en la licencia 36 pueden especificar si el usuario tiene derechos para accionar la aplicación 32 basándose en cualquiera de varios factores, que incluyen quién es el usuario, e? donde se localiza el usuario, qué tipo de dispositivo de cómputo 34 utiliza el usuario, que sistema operativo llama al sistema de RM 30, la fecha, el tiempo, etc. Además, las reglas de la licencia 36 pueden limitar la licencia 36 a un número predeterminado de accionamientos, o tiempo operativo predeterminado, por ejemplo. De esa forma, el componente confiado 38 puede necesitar hacer referencia a un reloj de 42 en el dispositivo de cómputo 34. Las reglas pueden especificarse en la licencia 36 de acuerdo con cualquier lenguaje y sintaxis apropiada. Por ejemplo, en lenguaje simplemente puede especificar atributos y valores que deben satisfacerse (FECHA debe ser después que X., por ejemplo), o puede requerir el desempeño de funciones de acuerdo con un escrito especificado (SI FECHA >X., ENTONCES HACER..., por ejemplo). Con el evaluador de licencia 40 que determina que la licencia 36 es válida y que el usuario satisface las reglas en este, la aplicación 32 o una porción relevante de la misma entonces puede accionarse. En particular, para accionar la aplicación 32, la clave de descodificación críptica (KD) se obtiene de la licencia 36 y se aplica a (KD (AP)) desde el paquete 33 para resultar en la aplicación real 32, y la aplicación real 32 entonces es un hecho accionado en la forma expuesta en la licencia 36. Como se mencionó anteriormente, la licencia 36 con (PU-BB (KD)) en efecto autoriza una entidad en posesión de (PR-BB) para acceder (KD) y con ello acceder al aplicación 32 codificada crípticamente de conformidad con tal (KD), que por supuesto presume que la entidad permanece por todas las condiciones como se expuso en la licencia 36. Como se debe apreciar, a pesar de esto, pueden existir otros tipos de licencias 36 dentro del sistema de RM 30. Por ejemplo, se puede apreciar que en un escenario el publicador 44 de la aplicación 32 puede autorizar a uno o más otorgantes de licencia particulares 46 a emitir una licencia 36 para la aplicación 32 al proporcionar al otorgante de licencia 46 con una licencia de publicación 36p. Como puede apreciarse, tal licencia de publicación 36p es similar a la licencia 36 ya que la licencia de publicación 36p probablemente incluye la clave de descodificación críptica (KD) para descodificar crípticamente la aplicación 32, aquí codificada crípticamente de acuerdo con una clave pública del otorgante de licencia 46 (PU-BB). De forma similar, la licencia de publicación 36p similarmente incluye las reglas para presentar el contenido 32. Aquí, sin embargo, tales reglas se van insertar en la licencia 36 como se emitió por el otorgante de licencia 46, y no especialmente aplicable a tal otorgante de licencia 46. Aunque se debe notar, que la licencia de publicación 36p de hecho puede incluir otras reglas que de hecho son aplicables al otorgante de licencia 46. Por consiguiente, el otorgante de licencia 46 debe incluir un componente confiado 38 con un evaluador de licencia 40 en una forma idónea para el dispositivo de cómputo del usuario 34. Significativamente, cada tipo de licencia 36, 36p, etc. (denominada aquí, 'licencia 36') como se propuso típicamente incluye una firma digital para autentificación/propósitos de verificación, y cada firma digital se valida por el componente confiado 38 antes que se honre la licencia 36. Por supuesto, si cualquier validación falla, el procedimiento termina y la licencia 36 no se honra.
Agregar derechos en tipos separados de licencias 36 Como se mencionó anteriormente, un publicador 44 puede desear proporcionar a un usuario con la flexibilidad para comparar de forma separada diferentes grupos de derechos con respecto a una aplicación particular 32 o similares, con la cual el usuario acumulara y agregará los diferentes grupos de derecho como sea necesario para operar la aplicación en la forma buscada. Por ejemplo, el publicador 44 puede desear proporcionar el derecho de imprimir en un primer tipo de licencia 36 de forma separada del derecho a copiar en un segundo tipo de licencia 36, y de forma similar puede desear proporcionar tanto el derecho de reproducir sonido en una bocina y video en un monitor en un tercer tipo de licencia 36, y además de forma similar puede desear proporcionar un grupo mínimo de derechos en un cuarto tipo de licencia 36. De esa forma, el usuario para operar la aplicación 32 en una forma mínima obtendrá el cuarto tipo de licencia 36, y si es necesario obtendrá y 'agregará' cualquiera o todos de primero, segundo, y tercer tipos de licencia como se necesiten o deseen los derechos correspondientes. Como se debe apreciar, entonces, en la presente invención, la aplicación 32 opera de conformidad con los derechos mencionados en una o más licencias 36 en cualquier momento, en donde los derechos y otras reglas en las licencias 36 están en efecto agregadas para formar un súper-grupo de reglas y derechos con respecto a la aplicación 32. Tal súper-grupo de reglas agregadas y derechos se va a distinguir en la técnica anterior, en donde la aplicación 32 operó basándose en uno y sólo una licencia 36 en un momento. Como un ejemplo más concreto, se considera un caso en donde una aplicación 32 se instala en un dispositivo de cómputo 34 para incluir un arranque básico o licencia 'base' 36 que proporciona a un usuario de la aplicación 32 en el dispositivo de cómputo 34 derechos básicos tal como por ejemplo el derecho de iniciar la aplicación 32, el derecho de operar las funciones básicas de la aplicación 32, y el derecho de imprimir la aplicación 32, pero ningún otro derecho, tal como por ejemplo el derecho de copiar datos de la aplicación 32 en algún otro lugar. Además, la licencia base 36 puede pretenderse para dar al usuario una prevista de la aplicación 32 sin comprar la misma, pero sólo por un periodo de 15 días. En tal caso, la licencia 36 al menos puede aparecer conceptualmente como: <Licencia base> <derechos> <¡niciar>si></iniciar> <condiciones> </condiciones> <funciones básicas>si</funciones básicas> <condiciones> </condiciones> <impresión>si</impresión> <condiciones> </condiciones> <derechos> <fecha de expiración> <días después del primer uso>15</días después del primer uso> </fecha de expiración> <jerarquía> <id de familia>base</id de familia> <padre>[nulo]</padre> </jerarquía> </Licencia base> Se debe notar que la licencia base anterior de 36 menciona los derechos de una forma positiva solamente y de esa forma no menciona derechos que no se proporcionaron, tal como el derecho copiar datos. Sin embargo, tales derechos a su vez pueden mencionarse en una forma positiva y negativa sin apartarse del espíritu y alcance de la presente invención. De forma más importante, se debe notar que además de la información de derechos y la información de fecha de expiración, la licencia base anterior 36 menciona información de jerarquía, que incluye un atributo de id de familia establecido a 'base' y un atributo par de establecido nulo. En una modalidad de la presente invención, tal familia y atributos base se emplean para definir el lugar de la licencia base anterior 36 dentro de una jerarquía de las licencias 36 que colectivamente pueden estar en efecto combinadas para agregar las reglas a estas. En particular, el atributo de ID de familia 'vaso' se emplea para identificar la licencia base anterior 36 como 'base', y el atributo padre no le muestra que 'base' no tiene padre y por lo tanto es una licencia base 36. Con la licencia base anterior 36, entonces, y como en un ejemplo, si en algún punto después de la prevista de 15 días de la aplicación 32 el usuario desea obtener el derecho a utilizar la aplicación 32 por un año, el usuario puede obtener una licencia apropiada 36 que contiene tal derecho como una indicación a la licencia base 36, en donde los derechos mencionados en tal licencia de 'agregado' 36 están en efecto para agregarse en los derechos mencionados en la licencia de base 36: <Licencia de adición A> <derechos> [nulo] <derechos> <fecha de expiración> <días después de primer uso>365</días después de primer uso> </fecha de expiración> <jerarquía> <id de familia>Agregado A</id de familia> <padre>base</padre> </jerarquía> </Licencia de adición> Se debe notar que la licencia de adición A 36 no menciona derechos adicionales, pero a su vez solo expone que la fecha de expiración de la aplicación 32 ahora es de 365 días o un año después del primer uso de tal licencia de adición A 36. También, se debe notar que la licencia de adición A36 menciona información de jerarquía que incluye un atributo de id de familia 'agregado A' y un atributo padre establecido a base. De esa forma, el atributo de id de familia 'agregado A' se emplea para identificar la licencia de adición A 36 como 'agregado A', y el atributo padre 'base' muestra que la licencia base 36 identificada como 'base' es el padre de la licencia de adición A 36. En una forma similar, si en algún punto el usuario desea obtener el derecho de copia antes mencionado, tal usuario puede obtener otra licencia apropiada 36 que contiene tal derecho como una adición a la licencia base 36, en donde los derechos mencionados en tal licencia de 'adición' 36 están en efecto para agregarse a los derechos mencionados en la licencia base 36: <Licencia de adición B> <derechos> <copiar>si></copiar> <condiciones> </condiciones> <derechos> <fecha de expiración> [nulo] </fecha de expiración> <jerarquía> <id de familia>Agregado B</id de familia> <padre>base</padre> </jerarquía> </Licencia de adición B> Se debe notar que la licencia de adición B 36 anterior menciona sólo el derecho de copiar sin ningún cambio a la fecha de expiración. También, se debe notar que la licencia de adición B 36 menciona información de jerarquía que incluye un atributo de id de familia establecido a 'agregado B' y un atributo padre establecido a base. De esa forma, el atributo de id de familia 'agregado B' se emplea para identificar la licencia de adición en B 36 como 'agregado B, y el atributo padre 'base' muestra que la licencia base 36 identificada como 'base' es el padre de la licencia de adición B 36. También de una forma similar, si en algún punto el usuario desea obtener el derecho de utilizar la aplicación 32 por 10 años, tal usuario puede obtener una licencia apropiada 36 que contiene tal derecho como una adición a la licencia de adición A 36, en donde los derechos mencionados en tal licencia de 'agregado' 36 están en efecto para agregarse a los derechos mencionados en la licencia base 36 y la licencia de adición A 36: <Licencia de adición C> <derechos> [nulo] <derechos> <fecha de expiración> <años después del primer uso>10</años después del primer uso> </fecha de expiración> <jerarquía> <id de familia>[nulo]</id de familia> <padre>Agregado A</padre> </jerarquía> </Licencia de adición C> Se debe notar que la licencia de adición en C 36 no menciona derechos adicionales, pero a su vez sólo menciona que la fecha de expiración de la aplicación 32 ahora es de 10 años después del primer uso de tal licencia de adición en C 36. También se debe notar que la licencia de adición A 36 menciona la información de jerarquía que incluye un atributo de id de familia nulo y un atributo padre establecido a agregado A. De esa forma, el atributo de id de familia nulo proviene que la licencia de adición C 36 se identifiquen dentro de la jerarquía, con el resultado que ningún otra licencia 36 puede emplear la misma como un padre, y el atributo padre 'agregado A' muestra que la licencia base 36 identificada como 'base' es el padre de la licencia de adición C 36. Como puede apreciarse, basándose en la información de jerarquía en todas las licencias anteriores 36, un árbol que representa la jerarquía total de tales licencias 36 puede desarrollarse, como se muestra en la Figura 4. Tal árbol y la jerarquía representada por la presente proporcionan al menos dos características. En primer lugar, cada licencia 36 dentro de la jerarquía sólo puede emplearse si tal licencia 36 se presenta y si la paternidad de tal licencia 36 está presente, todos de regreso a la licencia base 36. De esa forma, y como un ejemplo, si un usuario obtuvo la licencia base 36 y la licencia de adición en C 36 pero no la licencia de adición A 36, la licencia de adición C 36 será inoperativa mientras no se de enlace a la licencia base 36 a manera de la licencia de adición A 36. En segundo lugar, las posiciones de las licencias 36 dentro de la jerarquía pueden emplearse para negociar conflictos entre reglas y derechos en tales licencias 36. Por ejemplo, puede ser el caso que una licencia 36 dentro de la jerarquía específicamente proporciona un derecho particular mientras otra licencia 36 dentro de la jerarquía específicamente rechaza el derecho particular. En tal caso, el conflicto entre las licencias 36 puede resolverse de acuerdo con las reglas de conflicto predeterminadas que al menos en parte pueden depender de las posiciones respectivas de las licencias 36 dentro de la jerarquía. Por ejemplo, tales reglas pueden mencionar que una licencia hijo 36 supera a una licencia padre 36, o que una licencia de hijo más joven 36 supera a una licencia de hijo mayor 36. Como se puede apreciar, tales reglas de conflicto puede ser cualquier regla de conflicto apropiada sin apartarse del espíritu y alcance de la presente invención. Tales reglas de conflicto generalmente se conocen para el público relevante por lo tanto no se mencionan aquí en detalle. Como se puede apreciar ahora, al utilizar licencias base 36 y licencias de adición 36 en la forma mencionada anteriormente, un publicador 44 u otorgante de licencia 46 o similares pueden modificar reglas y derechos aquí otorgados por una licencia base específica 36 con reglas adicionales o alteradas y derechos y en una o más licencias de adición 36. Aquí se debe notar que tal modificación puede incluir revocar, restringir, remover, eliminar y de otra forma afectar derechos, además de agregar derechos existentes de otra forma cambiantes. Con una licencia de adición 36, entonces, ganó funcionalidad para una aplicación 32 u otra pieza de contenido 32 puede distribuirse/venderse/proporcionarse de forma separada, en un momento posterior, sin el tiempo considerable y el gasto de tener que redistribuir la aplicación 32 o una licencia 36 de la misma. Generalmente, una licencia de adición 36 puede modificar cualquier regla de cualquier generación previa (padre, abuelo, etc.) licencia 36, que incluye cualquiera de los derechos y condiciones mencionadas aquí, sin apartarse del espíritu y alcance de la presente invención. Por ejemplo, puede ser el caso que una licencia base 36 otorgue derechos que son relativamente básicos para un costo mínimo solamente, y para un periodo de tiempo relativamente corto de uso, y permite sólo una cantidad limitada de memoria en el dispositivo de cómputo 34 para utilizarse. En tal caso, una o más licencias de adición disponibles 36 para la licencia base 36 puede extender los derechos otorgados a un alcance relativamente más amplio, una o más licencias de adición disponible de 36 para la licencia base 36 puede extender el período de tiempo de uso, y una más licencias de adición disponibles 36 para la licencia base 36 pueden extender la cantidad de memoria que se va utilizar. Por supuesto, otras licencias de adición 36 pueden ofrecer combinaciones de tales derechos. Se nota que dentro de cualquiera jerarquía de licencias 36 tal como la mostrada en la Figura 4, pueden estar disponibles más de una licencia base 36 potencialmente. De forma correspondiente, puede ser el caso que una licencia de adición 36 especifique más de un padre. En tal situación, puede ser el caso que sea una licencia base 36 de la jerarquía y las licencias de adición 36 de la misma se seleccionan para uso en conexión con una aplicación 32. Alternativamente, puede ser el caso que más de una o todas las licencias base 36 de la jerarquía y las licencias de adición 36 de la misma se seleccionan para uso en conexión con una aplicación 32. También se debe notar, que una licencia de adición 36 puede efectuar derechos en una aplicación 32 que se asegura ante una clave de descodificación críptica (KD) contenidas dentro de tal licencia de adición 36, o pueden efectuar derechos en una aplicación 32 que se aseguran por una clave de descodificación críptica (KD) contenida dentro de una licencia de generación previa 36 de tal licencia de adición 36. Especialmente, en el último caso, se debe apreciar que existe el potencial para una entidad corrupta para insertar una licencia de adición 'dañinas' 36 de su propio diseño en una jerarquía de licencias 36, en donde la licencia de adición dañina 36 se empleará para expandir derechos mencionados en tal licencia de generación previa 36. Por consiguiente, en una modalidad de la presente invención, cada licencia 36 en la jerarquía se firma digitalmente de acuerdo con una clave pública que lleva de regreso a una autoridad de raíz que tal entidad corrupta normalmente no tendrá acceso. De esa forma, la entidad corrupta no será capaz de obtener un certificado digital con una cadena de certificados que se extiende desde tal autoridad de raíz y no puede firmar una licencia de adición dañina 36 basándose en tal certificado digital. De forma correspondiente, un paso al validar cada licencia 36 en la jerarquía tal como se muestra en la Figura 4 será verificar que la firma de tal licencia 36 se valida basándose en una cadena de certificados que se extienden desde tal autoridad de raíz. En una modalidad de la presente invención, cada licencia 36 en la jerarquía se firma digitalmente de acuerdo con una clave pública que lleva de regreso a una autoridad de raíz individual, y de hecho cada licencia 36 como se emitió tiene un par de clave publica-privada correspondiente. En tal modalidad, entonces, la clave privada de una licencia padre 36 se emplea para firmar digitalmente cada licencia hijo 36 de la misma, y la firma digital de cada una de tal licencia hijo 36 de esa forma se valida de conformidad con la clave pública de la licencia padre 36 de la misma. Por consiguiente, tal clave pública debe incluirse dentro de tal licencia padre 36. De forma correspondiente, validar cada licencia 36 en una jerarquía tal como la que se muestra en la Figura 4 incluye obtener la clave pública de la licencia padre 36 para tal licencia 36, y emplear la clave pública obtenida para validar la firma digital de tal licencia 36.
Cambiando ahora a la Figura 5, un método posible para emplear una licencia base 36 y licencias de adición 36 que se extienden desde las mismas tal como desde la jerarquía de la Figura 4 se muestra de acuerdo con una modalidad de la presente invención. Preliminarmente, tal método se imita en un dispositivo de cómputo 34 al recibir una selección de una aplicación 32 o similar para iniciarse o de otra forma presentarse o emplearse en tal dispositivo de cómputo 34 (paso 501). El dispositivo de cómputo 34 notará que la aplicación 32 o similar se protege por RM, y de esa forma empleará el componente confiado 38 de la Figura 3 o similares para obtener la aprobación y asistencia al hecho de accionar la aplicación seleccionada 32. De esa forma, basándose en la aplicación seleccionada 32, el componente confiado 38 identificara desde un almacenamiento de licencia asociado o similar (mostrado) cada licencia 36 en ella que corresponde a tal aplicación seleccionada 32 (paso 503), en donde las licencias identificadas 36 preferiblemente incluyen al menos una licencia base 36 y una o más licencias de adición 36. Se debe que tal identificación puede realizarse en cualquier forma apropiada sin apartarse del espíritu y alcance de la presente invención. Por ejemplo, puede ser que la aplicación 32 se etiqueta con una ID de referencia particular y cada licencia correspondiente 36 también contiene el ID de referencia. A cualquier velocidad, con todas las licencias identificadas 36, el componente confiado 38 entonces parece un árbol tal como el de la Figura 4 para establecer relaciones gráficas entre las licencias identificadas 36. En particular, el componente confiado 38 identifica cada licencia base 36 de entre las licencias identificadas 36 (paso 505), selecciona una de las licencias bases identificadas 36 (paso 507), y entonces válida la licencia base seleccionada (paso 509). Como se puede apreciar, seleccionar la licencia base 36 dentro de una pluralidad de tal licencia base 36 como en el paso 507 puede realizarse de cualquier forma apropiada sin apartarse del espíritu y alcance de la presente invención. Por ejemplo, la selección puede basarse en algún orden de las licencias de base identificadas 36, tal como por ejemplo basándose en datos de emisión incluidos en esta, y una ID de licencia incluidas en esta, un valor de prioridad incluida en esta, etc. Similarmente, validar la licencia base seleccionada 36 como en el paso 509 también puede realizarse de cualquier forma apropiada sin apartarse del espíritu y alcance de la presente invención. Por ejemplo, tal validación puede incluir una revisión que la firma digital de la misma válida, que la licencia 36 no expiró, y que se satisfacen las condiciones para uso de la licencia 36.
Si la licencia base seleccionada 36 no válida como en el paso 509, el control regresa al paso 507 en donde se selecciona otra licencia base identificada 36. Sin embargo, presumir la licencia base seleccionada 36 de hecho no se valida como en el paso 509, las reglas y derechos en esta mencionadas en la licencia base seleccionada 36 se acumulan en una representación de una licencia de adición 36 (paso 511). Como puede apreciarse, tal representación contendrá las reglas y derechos de todas las licencias 36 encontradas para estar en el árbol jerárquico ensamblado. Después de eso, el método continúa al identificar dentro de la licencia de base validada 36 el valor del atributo de familia, si hay algún (paso 513). Basándose en el valor d.e atributo de familia identificado, entonces, el componente confiado 38 identifica cada licencia de adición 36 que corresponde a la aplicación seleccionada 32 y que tiene el valor de atributo de familia identificado como el valor de atributo padre (paso 515). Como se puede apreciar, cada licencia de adición identificadas se valida como en el paso 509 (paso 517), y presumir la validación tiene éxito, las reglas y derechos mencionados aquí en la licencia de adición 36 se acumulan en la representación de la licencia de adición 36 (paso 519). Como se aludió anteriormente, en el curso de acumular esto, los conflictos entre las reglas y derechos en múltiplos de las licencias 36 se conocían de acuerdo con reglas de conflicto predeterminadas que al menos en parte pueden depender en posiciones respectivas de las licencias 36 dentro de la jerarquía.
Como se debe apreciar ahora, el método se repite con respecto a cada licencia de adición validada como sea necesario. En particular, para cada licencia de adición validada, el método continúa al identificar dentro de la licencia de adición validada 36 el valor del atributo de familia, si hay alguno, como en el paso 513. Basándose en el valor de atributo de familia identificado, entonces, y de nuevo, el componente confiado 38 identifica cada licencia de adición 36 que corresponde a la aplicación seleccionada 32 y que tiene el valor de atributo de familia identificado como el valor de atributo padre como en el paso 515, válida cada licencia de adición identificada, como en los pasos 509 517, y presume que la validación tiene éxito, las reglas y derechos en esta mencionados en la licencia de adición 36 se acumulan en la representación de la licencia de adición 36, como en el paso 519. De esa forma, y como se debe apreciar, el método repite para cada licencia de adición validada 36 tantas veces como pueda ser necesario y por tantos niveles del árbol jerárquico como pueda ser necesario hasta que el árbol jerárquico se desarrolla completamente y la representación de la licencia de adición 36 se desarrolla completamente. Una vez que se desarrolla completamente, entonces, la representación de la licencia de adición 36 se evalúa por el evaluador de licencia 40 para determinar si cada acción buscaba en conexión con la aplicación 32 se va a permitir (paso 521). Se debe notar que en el curso de desarrollar un árbol jerárquico de licencia 36 de acuerdo con el método de la Figura 5, sin la licencia padre 36 falla al validar en el caso 509 y 517, todas las licencias hijo 36 de de tal licencia padre 36 y de hecho todas las operaciones futuras de tal licencia padre 36 incluso no se consideran. De esa forma, si una licencia A tiene una licencia hijo B y una licencia hijo B a su vez tiene una licencia hijo C, la falla de A para validar en efecto presenta B y el C como invalidados también. De forma similar, si A valida pero B no válida, entonces la falla de B para validar el efecto presenta a C como invalidada también, pero A aun se válida. Se debe notar también que en una modalidad de la presente invención una licencia 36 puede especificar más de una licencia padre 36. Si es así, puede ser el caso que un padre valide mientras el otro no lo hace, con el resultado que es que la licencia 36 se alcanza a manera de padre validado y no por el padre invalidado. De forma similar, puede ser el caso que todas las licencias de padre pueden tener que validarse para alcanzar la licencia 36, o que pueden emplearse reglas lógicas más complejas. En el último caso, tales reglas lógicas pueden mencionarse dentro de la licencia 36 en una porción apropiada de la misma. Como un ejemplo de tal regla lógica, una licencia puede especificar una combinación de licencias padre que deben validarse como: (Licencia A o Licencia B) y (Licencia C y (Licencia D o Licencia E)), en cuyo caso las licencias candidatas padre apropiadas deben validarse de acuerdo con la expresión lógica para la licencia 36 en la emisión para evaluarse.
Conclusión La programación necesaria para realizar los procedimientos realizados en conexión con la presente invención es relativamente directa y debe ser evidente para el público de programa son relevantes. Por consiguiente, tal programación no se une a esto. Cualquier programación particular, entonces, puede emplearse para realizar la presente invención sin apartarse del espíritu y alcance de la misma. En la presente invención, se debe apreciar que pueden hacerse cambios a las modalidades antes descritas sin apartarse de los conceptos inventivos de la misma muy notablemente, aunque la presente invención se menciona en términos de licencias 36 para una aplicación digital 32, tales licencias 36 también pueden emplearse en conexión con cualquier otra forma de contenido digital 32, que incluye pero no se limita a contenido de audio, contenido de video, contenido del texto, contenido de flujo, contenido multimedia, y similares. Se debe entender, por lo tanto, que esta invención no se limita a las modalidades particulares descritas, pero pretende cubrir las modificaciones dentro del espíritu y alcance de la presente invención como se define por las reivindicaciones anexas.

Claims (18)

REIVINDICACIONES
1.- Un método para emplear una pieza de contenido digital en un dispositivo de cómputo de una forma particular, el método comprende: obtener una pluralidad de licencias digitales que corresponden al contenido, la pluralidad de licencias incluyen una licencia base y al menos una licencia de adición, cada licencia de adición incluye en ella una referencia a la licencia base, cada una de la licencia base y cada licencia de adición estableciendo reglas que especifican cómo puede emplearse el contenido; identificar la licencia base; identificar cada licencia de adición a manera de referencia a ésta a la licencia base; agregar las reglas en la licencia base y en cada licencia de adición identificada en un grupo de reglas agregadas; evaluar el grupo de reglas agregadas para determinar si tal grupo de reglas agregadas permite emplear el contenido en la forma particular; y emplear el contenido si el grupo de reglas agregada así lo permite.
2.- El método de acuerdo con la reivindicación 1, en donde la licencia base incluye en ella un atributo de ID de familia y cada licencia de adición incluye en ella un atributo padre, el atributo de ID de familia de la licencia base identifica la licencia base dentro de una jerarquía de las licencias y el atributo padre de cada licencia de adición identifica la licencia base como el padre jerárquico de la misma, el método comprende identificar cada licencia de adición a manera de determinar un valor particular del atributo de ID de familia de la licencia base y localizar cada licencia de adición que tiene el atributo padre del mismo establecido al valor particular del atributo de ID de familia de la licencia base.
3.- El método de acuerdo con la reivindicación 1, en donde cada licencia base y cada licencia de adición incluye en ella un atributo de ID de familia y el atributo padre, el atributo de ID de familia identifica la licencia y el atributo padre identifica cualquier padre jerárquico de la licencia para definir el lugar de la licencia dentro de una jerarquía de las licencias, el método comprendiendo identificar la licencia base a manera de tal licencia base que tiene el atributo padre del mismo establecido a un valor nulo y que identifica cada licencia de adición a manera de determinar un valor particular del atributo de ID de familia de la licencia base y localizar cada licencia de adición que tiene el atributo padre establecido al valor particular del atributo de ID de familia de la licencia base.
4.- El método de acuerdo con la reivindicación 1, en donde evaluar el grupo de reglas agregadas para determinar si tal grupo de reglas agregadas permite emplear el contenido de la forma particular incluye emplear reglas de conflicto predeterminadas para negociar cualquier conflicto entre reglas desde licencias en conflicto, las reglas de conflicto resolviendo cada conflicto al menos en parte basándose en posiciones respectivas de las licencias en conflicto dentro de una jerarquía de las licencias.
5.- El método de acuerdo con la reivindicación 1, en donde el contenido se codifica crípticamente y se descodifica crípticamente de acuerdo con una clave de descodificación críptica (KD) contenida dentro de al menos una de las licencias, el método comprende emplear el contenido al recuperar (KD) de la licencia que contiene la misma y descodificar crípticamente el contenido con (KD).
6.- El método de acuerdo con la reivindicación 1, en donde cada licencia incluye una firma digital producida de acuerdo con una clave pública que lleva de regreso a una autoridad de raíz común, el método además comprende verificar que la firma de cada licencia se valide basándose en una cadena de certificados que se extienden desde tal autoridad de raíz común.
7.- El método de acuerdo con la reivindicación 1, en donde cada licencia de adición es una licencia de adición de primer nivel, el método comprende: obtener una pluralidad de licencias digitales que corresponden al contenido, la pluralidad de licencias incluyen una licencia base, al menos una licencia de adición de primer nivel, y al menos una licencia de adición de segundo nivel, cada licencia de adición de primer nivel incluye en ella una referencia a la licencia base, cada licencia de adición de segundo nivel incluye en ella una referencia a una de las licencias de adición de primer nivel, cada una de las licencia base y cada licencia de adición que mencionan reglas que especifican como puede emplearse el contenido; identificar la licencia base; identificar cada licencia de adición de primer nivel a manera de la referencia en ésta a la licencia base; identificar cada licencia de adición de segundo nivel a manera de la referencia en ésta a una de las licencias de adición de primer nivel; agregar las reglas en la licencia base y en cada licencia de adición identificada en un grupo de reglas agregado; evaluar el grupo de reglas agregado para determinar si tal grupo agregado de reglas permite emplear el contenido en la forma particular; y emplear el contenido si el grupo de reglas agregado así lo permite.
8. -El método de acuerdo con la reivindicación 7, en donde cada licencia base y cada licencia de adición incluye en ella un atributo de ID de familia y un atributo padre, el atributo de ID de familia identificando la licencia y el atributo padre identificando cualquier padre jerárquico de la licencia para definir el lugar de la licencia dentro de una jerarquía de las licencias, el método comprende identificar la licencia base a manera que tal licencia base tiene el atributo padre de la misma establecido a un valor nulo, identificar cada licencia de adición de primer nivel a manera de determinar un valor particular del atributo de ID de familia de la licencia base y localizar cada licencia de adición que tiene el atributo padre establecido al valor particular del atributo de ID de familia de la licencia base, e identificar cada licencia de adición de segundo nivel a manera de determinar un valor particular del atributo de ID de familia de cada licencia de adición de primer nivel y localizar cada licencia de adición que tiene el atributo padre establecido al valor particular del atributo de ID de familia de cualquiera de las licencias de adición de primer nivel.
9.- El método de acuerdo con la reivindicación 7, en donde el evaluar el grupo de reglas agregado para determinar si tal grupo de reglas agregado permite emplear el contenido en la forma particular incluye emplear reglas de conflicto predeterminadas para negociar cualquier conflicto entre reglas de licencias en conflicto, las reglas de conflicto resuelven cada conflicto al menos en parte basándose en posiciones respectivas de las licencias en conflicto dentro de la jerarquía de las licencias.
10.- Un medio legible por computadora que tiene almacenadas en él instrucciones ejecutables por computadora que ¡mplementan un método de emplear una pieza de contenido digital en un dispositivo de cómputo en una forma particular, el método comprende: obtener una pluralidad de licencias digitales que corresponden al contenido, la pluralidad de licencias incluyen una licencia base y al menos una licencia de adición, cada licencia de adición incluye en ella una referencia a la licencia base, cada licencia base y cada licencia de adición estableciendo reglas que especifican cómo puede emplearse el contenido; identificar la licencia base; identificar cada licencia de adición a manera de referencia en ésta a la licencia base; agregar las reglas en la licencia base y en cada licencia de adición identificada a un grupo de reglas agregado; evaluar el grupo de reglas agregado para determinar si tal grupo de reglas de agregado permite emplear el contenido en la forma particular; y emplear el contenido si el grupo de reglas agregado así lo permite.
11.- El medio de acuerdo con la reivindicación 10, en donde la licencia base incluye en ella un atributo de ID familia y cada licencia de adición incluye en ella un atributo padre, el atributo de ID de familia de la licencia base identifica la licencia base dentro de una jerarquía de las licencias y el atributo padre de cada licencia de adición identifica la licencia base como el padre jerárquico de la misma, el método comprende identificar cada licencia de adición a manera de determinar un valor particular del atributo de ID de familia de la licencia base y localizar cada licencia de adición que tiene el atributo padre del mismo establecido al valor particular del atributo de ID de familia de la licencia base.
12.- El medio de acuerdo con la reivindicación 10, en donde cada licencia base y cada licencia de adición incluye en ella un atributo de ID de familia y un atributo padre, el atributo de ID de familia identifica la licencia del atributo padre identifica cualquier padre jerárquico de la licencia para definir el lugar de la licencia dentro de la jerarquía de las licencias, el método comprende identificar la licencia base a manera de que dicha licencia base tiene el atributo padre de la misma establecido al valor nulo y que identifica cada licencia de adición a manera de determinar un valor particular del atributo de ID de familia de la licencia base y localizar cada licencia de adición que tiene el atributo padre establecido al valor particular del atributo de ID de familia de la licencia base.
13.- El medio de acuerdo con la reivindicación 10, en donde el evaluar el grupo de reglas agregado para determinar si tal grupo de reglas agregado permite emplear el contenido en la forma particular incluye emplear reglas de conflicto predeterminadas para negociar cualquier conflicto entre reglas de licencias en conflicto, las reglas de conflicto resolviendo cada conflicto al menos en parte basándose en posiciones respectivas de las licencias en conflicto dentro de una jerarquía de las licencias.
14.- El medio de acuerdo con la reivindicación 10, en donde contenido se codifica crípticamente y se descodifica crípticamente de acuerdo con una clave de descodificación críptica (KD) contenida dentro de al menos una de las licencias, el método comprende emplear el contenido al recuperar (KD) de la licencia que contiene la misma y descodificar crípticamente el contenido con (KD).
15.- El medio acuerdo con la reivindicación 10, en donde cada licencia incluye una firma digital producida de acuerdo con una clave pública que lleva de regreso a una autoridad de raíz común, el método además comprende verificar que la firma de cada licencia se valida basándose en una cadena de certificados que se extienden desde tal autoridad de raíz común.
16.- El medio acuerdo con la reivindicación 10, en donde cada licencia de adición es una licencia de adición de primer nivel, el método comprende: obtener una pluralidad de licencias digitales que corresponden al contenido, la pluralidad de licencias incluye una licencia de base, al menos una licencia de adición de la primer nivel, y al menos una licencia de adición de segundo nivel, cada licencia de adición de primer nivel incluye en ella una referencia a la licencia base, cada licencia de adición de segundo nivel incluye en ella una referencia a una de las licencias de adición de primer nivel, cada licencia base y cada licencia de adición estableciendo reglas que especifican cómo puede emplearse el contenido; identificar la licencia base; identificar cada licencia de adición de primer nivel a manera de referencia en ella a la licencia base; identificar cada licencia de adición de segundo nivel a manera de referencia en ella a una de las licencias de adición de primer nivel; agregar las reglas en la licencia base y en cada licencia de adición identificada en un grupo de reglas agregado; evaluar el grupo de reglas agregado para determinar si tal grupo de reglas agregado permite emplear el contenido en la forma particular; y emplear el contenido si el grupo de reglas agregado así lo permite.
17.- El medio de acuerdo con la reivindicación 16, en donde cada licencia base y cada licencia de adición incluye en ella un atributo de ID de familia y un atributo padre, el atributo de ID de familia identifica la licencia y el atributo padre identifica cualquier padre jerárquico de la licencia para definir el lugar de la licencia dentro de la jerarquía de las licencias, el método comprende identificar la licencia base a manera de que tal licencia base tenga el atributo padre de la misma establecido a un valor nulo, identificar cada licencia de adición de primer nivel a manera de determinar un valor particular del atributo de ID de familia de la licencia base y que localizar cada licencia de adición que tiene el atributo padre establecido al valor particular del atributo de ID de familia de la licencia base, e identificar cada licencia de adición de segundo nivel a manera de determinar un valor particular del atributo de ID de familia de cada licencia de adición de primer nivel y localizar cada licencia de adición que tiene el atributo padre establecido al valor particular del atributo de ID de familia de cualquiera de las licencias de adición de primer nivel.
18.- El acuerdo con la reivindicación 16, en donde el -evaluar el grupo de reglas agregado para determinar si cada grupo de reglas agregado permite emplear el contenido en la forma particular incluye emplear reglas de conflicto predeterminadas para negociar cualquier conflicto entre reglas desde licencias en conflicto, las reglas de conflicto resolviendo cada conflicto al menos en parte basándose en posiciones respectivas de las licencias en conflicto dentro de una jerarquía de las licencias.
MX2008000576A 2005-07-14 2006-07-11 Aplicacion digital que opera de acuerdo con la agregacion de una pluralidad de licencias. MX2008000576A (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US69914305P 2005-07-14 2005-07-14
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
MX2008000576A true MX2008000576A (es) 2008-03-18

Family

ID=37662823

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2008000576A MX2008000576A (es) 2005-07-14 2006-07-11 Aplicacion digital que opera de acuerdo con la agregacion de una pluralidad de licencias.

Country Status (7)

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

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
EP1947587A1 (en) 2007-01-15 2008-07-23 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
WO2009002847A1 (en) * 2007-06-22 2008-12-31 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 株式会社リコー 情報処理装置、ライセンス判定方法、及びプログラム
EP2345266B1 (en) * 2008-10-03 2016-05-04 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
US7801819B2 (en) * 2003-10-03 2010-09-21 Sony Corporation Rendering rights delegation system and method

Also Published As

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

Similar Documents

Publication Publication Date Title
MX2008000576A (es) Aplicacion digital que opera de acuerdo con la agregacion de una pluralidad de licencias.
RU2331917C2 (ru) Выдача лицензий на использование средства публикации в автономном режиме в системе управления правами на цифровое содержимое drm
RU2392659C2 (ru) Гибкая архитектура лицензирования в системе управления авторским правом
KR101298293B1 (ko) 제1 플랫폼으로부터 제2 플랫폼으로의 디지털 라이센스이주
JP4880331B2 (ja) アクセス管理システム等におけるリソース等にアクセスする権限の委任
JP4524124B2 (ja) ディジタル権利管理(drm)サーバのdrmアーキテクチャへのエンロール/サブエンロール
JP4418648B2 (ja) デジタルコンテンツとサービスの使用ライセンスを発行するためのシステムおよびその方法
JP4750352B2 (ja) デジタルコンテンツに対応するデジタルライセンスを取得する方法
JP2004062890A (ja) デジタル権利管理サービスを提供するシステムおよび方法
JP2004259283A (ja) クロスフォレストディレクトリ情報に基づくコンテンツのディジタル権利管理(drm)ライセンスの発行
KR20040073356A (ko) 디지탈 권한 관리(drm) 시스템에 따른, 조직과 같은규정된 집단 내에서의 디지탈 콘텐트 출판
US9154508B2 (en) Domain membership rights object
CN101223549A (zh) 根据多个许可证的聚集来操作的数字应用程序

Legal Events

Date Code Title Description
FG Grant or registration