ES2260769T3 - Metodo y sistema para gestionar un objeto de datos que cumpla condiciones de uso predeterminadas. - Google Patents

Metodo y sistema para gestionar un objeto de datos que cumpla condiciones de uso predeterminadas.

Info

Publication number
ES2260769T3
ES2260769T3 ES96902548T ES96902548T ES2260769T3 ES 2260769 T3 ES2260769 T3 ES 2260769T3 ES 96902548 T ES96902548 T ES 96902548T ES 96902548 T ES96902548 T ES 96902548T ES 2260769 T3 ES2260769 T3 ES 2260769T3
Authority
ES
Spain
Prior art keywords
data
control
user
data object
security
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
ES96902548T
Other languages
English (en)
Inventor
Greg Benson
Gregory H. Urich
Christopher Knauft
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rovi Corp
Original Assignee
Macrovision 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=20397045&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2260769(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Macrovision Corp filed Critical Macrovision Corp
Application granted granted Critical
Publication of ES2260769T3 publication Critical patent/ES2260769T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6236Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • 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/2103Challenge-response
    • 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/2111Location-sensitive, e.g. geographical location, GPS
    • 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/2137Time limited access, e.g. to a computer or data
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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/2151Time stamp
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

LA INVENCION SE REFIERE A UN METODO PARA SUMINISTRAR UN OBJETO DE DATOS DE MANERA QUE CUMPLA CON CONDICIONES PREDETERMINADAS PARA EL USO DEL OBJETO DE DATOS. PARA CONTROLAR EL USO DEL OBJETO DE DATOS SE CREA UN CONJUNTO DE DATOS DE CONTROL, QUE DEFINEN LOS USOS DEL OBJETO DE DATOS QUE CUMPLE CON LAS CONDICIONES PREDETERMINADAS. EL OBJETO DE DATOS SE CONCATENA CON EL CONJUNTO DE USUARIO DE DATOS DE CONTROL, SE ENCRIPTA Y SE TRANSFIERE AL USUARIO. CUANDO EL USUARIO QUIERE UTILIZAR EL OBJETO DE DATOS, UN PROGRAMA DE USUARIO ESPECIAL COMPRUEBA CUANDO EL USO OBEDECE A LOS DATOS DE CONTROL. SI ES ASI SE PERMITE EL USO, DE OTRA FORMA SE DESHABILITA.

Description

Método y sistema para gestionar un objeto de datos para que cumpla condiciones de uso predeterminadas.
Campo técnico
La presente invención se refiere al tratamiento de datos y, más concretamente, a un método y un sistema para gestionar objetos de datos para que cumplan condiciones predeterminadas para el uso.
Antecedentes
Recientemente se ha escrito mucho en relación con el rompecabezas de la conectividad universal. Una visión típica de las autopistas de datos tiene soportes de datos de alta velocidad y a larga distancia que interconectan redes regionales que proporcionan servicios de telecomunicaciones y un amplio abanico de servicios en línea interactivos a los consumidores. Muchas de las piezas ya están en su lugar, otras están desarrollándose o en periodo de prueba. De hecho, incluso aunque la autopista de datos está construyéndose, actualmente está abierta a un tráfico limitado. Los servicios en línea aumentan diariamente y los servicios de vídeo a petición están actualmente a prueba.
El potencial de beneficio para la sociedad es inmenso. El alcance de la información disponible para los consumidores será realmente global cuando se reduzcan drásticamente las tradicionales barreras de entrada para la distribución de y acceso a información. Esto significa que se facilitará información más diversa y especializada de forma tan conveniente como suelan ser las fuentes genéricas de los principales proveedores. El resultado final es que se otorgará poderes a las organizaciones e individuos de formas sólo imaginadas hasta este momento.
Sin embargo, una autopista de datos totalmente operativa sólo será tan valiosa como los servicios reales que proporcione. Los servicios previstos para la autopista de datos que implican la entrega de objetos de datos (por ejemplo, libros, películas, vídeo, noticias, música, software, juegos, etc.) estarán y están limitados actualmente por la disponibilidad de tales objetos. Los servicios educativos y de bibliotecas se ven afectados de forma similar. Antes de que los propietarios permitan que sus objetos de datos sean ofrecidos deben asegurarse los pagos de regalías y la protección frente a la piratería.
El cifrado es un componente clave de cualquier solución para proporcionar protección frente a las copias. Sin embargo, únicamente el cifrado no es suficiente. Durante la transmisión y el almacenamiento los objetos de datos se protegerán mediante cifrado, pero en cuanto se le proporcione a alguien la clave para descifrar el contenido, tendrá un control ilimitado sobre éste. Dado que el dominio digital permite que los objetos de datos se reproduzcan en cantidades ilimitadas sin pérdida de calidad, cada uno de los objetos necesitará protección frente al uso ilimitado y la reproducción y redistribución no autorizadas.
El problema de protección no debe ser resuelto por medio de una solución independiente para cada formato de datos particular dado que, en tal caso, el progreso será lento. Es importante considerar el efecto de la estandarización en una industria. Considerar cómo el formato VHS, el CD, el formato DAT y los estándares de compatibilidad de PC IBM han fomentado el crecimiento en sus correspondientes sectores industriales. Sin embargo, si ha de haber cualquier tipo de estandarización, el estándar debe proporcionar una posibilidad de adaptación universal a las necesidades tanto de los proveedores de datos, como de los usuarios de los datos.
El propietario del objeto de datos puede desear tener un control permanente y seguro sobre la forma, el momento, el lugar y la persona que hace uso de su propiedad. Además, puede desear definir diferentes reglas de compromiso para diferentes tipos de usuarios y diferentes tipos de seguridad en función del valor de los objetos particulares. Las reglas definidas por éste regularán las operaciones automatizadas permitidas por los servicios de datos e interconexión. El propietario también puede desear comercializar objetos compuestos con diferentes reglas que regulan cada uno de los objetos constitutivos. De esta manera, es necesario ser capaz de implementar un control variable y
ampliable.
A su vez, el usuario desea poder buscar y adquirir objetos de datos de una forma conveniente. Si así se desea, el usuario debería poder combinar o editar los objetos adquiridos (es decir, para crear una presentación).
Asimismo, el usuario puede desear proteger a sus hijos de material inapropiado. Una solución completa debe permitir también estas necesidades.
Se requiere un sistema y un método que puedan adaptarse de forma universal para gestionar el intercambio y el uso de objetos de datos a la vez que se protegen los intereses de los propietarios y los usuarios de objetos de datos.
Técnica anterior
Un método para imponer al pago de regalías al realizar copias de libros no impresos se describe en la solicitud de patente europea EP 0 567 800. Este método protege una corriente de texto formateado de un documento estructurado que incluye un elemento de pago de regalía con una etiqueta especial. Cuando se introduce la corriente de texto formateado en el procesador de datos del usuario, se busca la corriente de texto para identificar el elemento de pago de regalía y se almacena un indicador en la memoria del procesador de datos. Cuando el usuario, por ejemplo, solicita imprimir el documento, el procesador de datos solicita una autorización para esta operación de un segundo procesador de datos. El segundo procesador de datos le carga al usuario la cantidad indicada en el elemento de pago de regalías y entonces transmite la autorización al primer procesador de datos.
Una importante limitación de este método es que sólo puede aplicarse a documentos estructurados. La descripción de la solicitud de patente europea anteriormente mencionada define un documento estructurado como un documento preparado de acuerdo con un tipo de definición compatible con SGML. Expresado de otra manera, no puede aplicarse a documentos que no sean compatibles con SGML y no puede aplicarse a otro tipo de objeto de datos.
Además, este método no proporciona un control variable y ampliable. Cualquiera puede adquirir un libro no impreso en un CD, un disco flexible o similar, y en el elemento de pago de regalías de todos los libros no impresos del mismo título se indica la misma cantidad de regalía.
De esta manera, el método descrito en el documento EP 0 567 800 no satisface los requisitos anteriormente mencionados acerca de la protección adaptable de forma universal de objetos de datos.
El documento EP-A-0 715 246, referencia en virtud del art. 54(3) del CPE y con designación únicamente para DE, FR, GB, describe un sistema para controlar la distribución y uso de trabajos compuestos. También se refiere a un método para controlar el acceso a y la distribución de un trabajo digital compuesto en el que dicho trabajo digital compuesto comprende una pluralidad de partes, y dicho método comprende las siguientes etapas: a) crear un trabajo digital compuesto; b) crear una estructura de descripción para dicho trabajo digital compuesto en el que dicha estructura comprende una pluralidad de bloques de descripción y cada uno de dichos bloques de descripción almacena información de acceso para al menos una de dicha pluralidad de partes de dicho trabajo digital compuesto; c) almacenar dicha estructura de descripción y dicho trabajo digital compuesto en un repositorio; d) recibir dicho repositorio una petición de acceso a dicho trabajo digital compuesto, teniendo dicha petición uno o más atributos de petición; y e) determinar dicho repositorio si puede concederse dicha petición mediante el examen de la información de acceso para cada bloque de descripción de dicha estructura de descripción de dicho trabajo digital compuesto en relación con dichos uno o varios atributos de petición de dicha petición.
El documento EP-A-0 715 244, también una referencia en virtud del art. 54(3) del CPE y con designación únicamente para DE, FR y GB, contiene una descripción prácticamente idéntica a la del documento EP-A-0 715 246.
También resulta de interés el documento "Knowbots, Permissions Headers & Contract Law" de Perrit y publicado como XP-002233403.
Por consiguiente, un primer objeto de la invención es proporcionar un método y un sistema de tratamiento de datos para gestionar un objeto de datos de una forma tal que sea independiente del formato y de la estructura del mismo para cumplir con condiciones predeterminadas para el control del uso y el pago de regalías.
Otro objeto de la invención es proporcionar un método y un sistema que puedan adaptarse de forma universal a las necesidades tanto del propietario, como también del usuario del objeto de datos.
Otro objeto de la invención es proporcionar un método y un sistema tales que le permitan a un proveedor de objetos distribuir su objeto de datos a la vez que mantiene el control del uso del mismo.
Aún otro objeto de la invención es proporcionar un método y un sistema que le permitan a un proveedor de objetos de datos seleccionar el nivel de seguridad para este objeto de datos de una forma flexible.
Otro objeto de la invención es proporcionar un método y un sistema tales que posibiliten establecer un seguimiento de auditoría para el objeto de datos.
Otro objeto es proporcionar un método y un sistema tales que posibiliten vender y comprar objetos de datos de forma segura.
Los objetos anteriormente mencionados se consiguen mediante un método y un sistema con las características de las reivindicaciones 1, 14, 19 y 22.
Las realizaciones particulares de las invenciones se exponen en las reivindicaciones dependientes.
Más concretamente, un proveedor de objetos de datos, por ejemplo, el propietario de un objeto de datos o su agente (broker), almacena el objeto de datos en un dispositivo de memoria, por ejemplo, un dispositivo de almacenamiento masivo, al que puede accederse por medio del procesador de datos del proveedor de datos. El objeto de datos puede consistir en datos digitales, datos analógicos o una combinación o híbrido de datos analógicos y digitales.
Un conjunto general de datos de control que se basa en las condiciones predeterminadas para el uso del objeto de datos se crea y almacena en el mismo dispositivo de memoria que el objeto de datos u otro dispositivo de memoria al que puede accederse por medio del procesador de datos del proveedor de datos. Las condiciones predeterminadas para el uso puede definirlas el propietario del objeto de datos, el agente o cualquier otra persona. Pueden diferir entre diferentes objetos de datos.
El conjunto general de datos de control comprende al menos uno o varios elementos de control del uso que definen los usos del objeto de datos que cumplen con las condiciones predeterminadas. Estos usos pueden comprender, por ejemplo, el tipo de usuario, un tiempo límite de uso, un área geográfica para el uso, las operaciones permitidas tales como el realizar una copia impresa del objeto de datos o visualizarlo, y / o solicitar el pago de regalías. El conjunto general de datos de control puede comprender otros tipos de elementos de control además del elemento de control del uso. En una realización preferida, el conjunto general de datos de control comprende un elemento de control de seguridad que define un procedimiento de seguridad que ha de llevarse a cabo antes del uso del objeto de datos. También comprende un identificador que define de forma única el conjunto general de datos de control.
El conjunto general de datos de control está concatenado con una copia del objeto de datos. De esta manera, los datos de control no residen en el objeto de datos, sino fuera de éste, lo que hace que los datos de control sean independientes del formato y del tipo del objeto de datos y que permite el control del uso de forma independiente del formato del objeto de datos.
Al menos el (los) elemento(s) de control del uso y el objeto de datos están cifrados de modo que el usuario no puede utilizar el objeto de datos sin un programa de usuario que lleva a cabo el control del uso y descifra el objeto de datos. De forma alternativa, el conjunto completo de datos de control y la copia del objeto de datos pueden cifrar-
se.
Un usuario puede solicitar autorización para el uso de un objeto de datos que reside en un procesador del proveedor de datos a través de una red de datos o de cualquier otra forma adecuada. La autorización puede requerir pago o no. Cuando se recibe una solicitud para una autorización para el uso, el procesador del proveedor de datos crea un conjunto de de usuario de datos de control. El conjunto de usuario de datos de control comprende el conjunto general de datos de control o un subconjunto del mismo que incluye al menos uno de dichos elementos de control del uso que es relevante para el usuario real. Normalmente también incluye un nuevo identificador que únicamente identifica este conjunto de datos de control. Si resulta relevante, el conjunto de datos de control del usuario también comprende una indicación del número de usos autorizados. Si se autoriza más de un tipo de uso, puede especificarse el número de cada tipo de uso. Finalmente, el conjunto de usuario de datos de control está concatenado con una copia del objeto de datos, y al menos los elementos de control del uso y la copia del objeto de datos se cifran para crear un paquete de datos seguro listo para la transferencia al usuario.
Antes de transferir el paquete de datos al usuario, debería confirmarse que se ha concedido la petición de autorización para el uso. Preferiblemente, la comprobación se lleva a cabo antes de que se cree el conjunto de datos de control del usuario. Sin embargo, también puede llevarse a cabo en paralelo a la creación de los datos de control del usuario o tras ésta. En el último caso, el número de usos solicitado por el usuario se autoriza temporalmente y se incluye en el conjunto del usuario, pero si se deniega la petición, el conjunto del usuario se cancela o modifica.
El paquete de datos puede transferirse al usuario por medios electrónicos o puede almacenarse en un medio de almacenamiento masivo y transferirse al usuario por correo o por cualquier medio de transporte adecuado.
Una vez que se ha empaquetado el objeto de datos de la manera descrita anteriormente, sólo puede accederse a éste mediante un programa de usuario que tiene control de uso incorporado y medios para descifrar el paquete de datos. El programa de usuario sólo permitirá usos definidos como aceptables en los datos de control. Además, si los datos de control comprenden un elemento de control de la seguridad, el procedimiento de seguridad prescrito en éste ha de cumplirse. En una realización, el control del uso puede realizarse de la siguiente manera. Si el usuario decide utilizar un objeto de datos, el programa del usuario comprueba los datos de control para ver si esta acción está autorizada. Más concretamente, comprueba que el número de usos autorizados de este tipo es uno o más. Si es así, se permite la acción y se reduce en uno el número de usos autorizados. De lo contrario, se interrumpe la acción por parte del programa del usuario y puede concedérsele o no al usuario la oportunidad de adquirir el derecho para completar la
acción.
Tras el uso, el programa del usuario vuelve a empaquetar el objeto de datos de la misma manera que estaba empaquetado anteriormente.
Cuando un usuario o un agente redistribuyen un objeto de datos, se añaden nuevos elementos de control en los datos de control para reflejar la relación entre el antiguo usuario / agente y el nuevo usuario / agente. De esta manera, puede crearse un seguimiento de auditoría para el objeto de datos.
Según otro aspecto de la invención, al menos dos paquetes de datos se almacenan en un procesador de datos del usuario que examina los elementos de control del uso de los paquetes de datos para encontrar una correspondencia. Si se encuentra una correspondencia, el procesador de datos del usuario lleva a cabo una acción que está especificada en el conjunto de usuario de datos de control. Este método puede utilizarse para vender y comprar objetos de datos.
Breve descripción de los dibujos
La figura 1 es un diagrama de flujo que muestra el flujo de datos general según la invención.
La figura 2 es un diagrama de bloques del sistema de un procesador de datos del proveedor de objetos de datos.
La figura 3 es un diagrama de bloques que muestra los diferentes módulos de un programa de empaquetamiento de datos según la invención.
La figura 4 es un diagrama del flujo de datos de un proceso de empaquetamiento de datos.
La figura 5 es un ejemplo de un archivo de encabezamiento.
La figura 6 es un ejemplo de un archivo de datos de uso.
La figura 7 es un diagrama de flujo de datos de la carga de un objeto en el procesador de datos del proveedor de objetos de datos.
La figuras 8a y 8b son ejemplos de datos de control para un objeto de datos en el procesador de datos del proveedor de objetos de datos y de un objeto listo para transferirse a un usuario, respectivamente.
La figura 9 es un diagrama de flujo de datos del empaquetamiento de datos en el procesador de datos del proveedor de objetos de datos.
La figura 10 es un diagrama de flujos de un procedimiento de empaquetamiento de datos.
La figura 11 es una imagen de la memoria de un objeto de datos y sus datos de control.
La figura 12a es una imagen de la memoria de los datos de control concatenados y el objeto de datos.
La figura 12b es una imagen de la memoria de los datos de control concatenados y cifrados y del objeto de datos.
La figura 13 es un diagrama de bloques del sistema de un procesador de datos del usuario.
La figura 14 es un diagrama de bloques que muestra los diferentes módulos de un programa de usuario según la invención.
La figura 15 es un diagrama de flujo del uso de un objeto de datos en el procesador de datos del usuario.
La figura 16 es un diagrama de flujo de la forma en que el programa de usuario opera en un ejemplo de aplicación específico.
La figura 17 es un ejemplo de varias estructuras de paquetes de datos para objetos compuestos.
Descripción del mejor modo de implementar la invención Perspectiva general
La figura 1 es un diagrama de flujo que muestra el flujo de datos general según la invención. El diagrama de flujo se divide en una parte 1 del proveedor de objetos de datos y una parte 2 del usuario.
En la parte 1 del proveedor de objetos de datos, se crea un objeto 24 de datos por un autor. El objeto de datos puede consistir en datos digitales, datos analógicos o una combinación o híbrido de datos analógicos y digitales. La diferencia primaria entre los objetos de datos analógicos y los objetos de datos digitales son los medios para el almacenamiento, la transferencia y el uso.
El autor también determina las condiciones 42 para el uso del objeto 24 de datos por parte de un usuario. El objeto 24 de datos y las condiciones 42 de uso se introducen en un programa 19 de empaquetamiento de datos que crea un paquete 40 de datos seguro del objeto de datos y de datos de control que se basan en las condiciones 42 de uso introducidas. Una vez empaquetado de esta manera, sólo puede accederse al objeto de datos mediante un programa 35 de usuario.
El objeto de datos puede empaquetarse junto con un conjunto general de datos de control que es el mismo para todos los usuarios del objeto de datos. Éste puede ser el caso cuando el objeto de datos se envía a un minorista o a un tablón de anuncios desde el cual puede obtenerlo el usuario. El objeto de datos también puede empaquetarse como consecuencia de una petición por parte de un usuario del uso del objeto de datos. En ese caso, el paquete puede incluir datos de control que estén adaptados específicamente a ese usuario. Estos datos de control se denominan un conjunto de usuario de datos de control. Éste puede comprender, por ejemplo, el número de usos adquiridos por el usuario. Normalmente, el conjunto de usuario de datos de control se incrementará basándose en el conjunto general de datos de control e incluye al menos un subconjunto del mismo. Un conjunto de usuario de datos de control no siempre necesita adaptarse para un usuario específico. Todos los conjuntos de datos de control que se crean basándose en un conjunto general de datos de control se denominarán “un conjunto de usuario de datos de control”. De esta manera, un conjunto de datos de control puede ser un conjunto general en una fase y, un conjunto de usuario en otra fase.
El empaquetamiento de datos anteriormente mencionado puede llevarse a cabo por el propio autor por medio del programa 19 de empaquetamiento de datos. Como alternativa, el autor puede enviar su objeto de datos a un agente que introduce el objeto de datos y las condiciones de uso determinadas por el autor al programa 19 de empaquetamiento de datos para crear un paquete 3 seguro. El autor también puede vender su objeto de datos al agente. En ese caso, el agente probablemente desee aplicar sus propias condiciones de uso al programa de empaquetamiento de datos. El autor también puede proporcionar el objeto de datos al agente en un paquete seguro, quien vuelve a empaquetar el objeto de datos y añade datos de control adicionales que son relevantes para sus actividades mercantiles. También pueden concebirse varias combinaciones de las alternativas anteriores.
En la parte 2 de usuario del diagrama de flujo, el paquete 40 seguro es recibido por un usuario que debe utilizar el programa 35 de usuario para desempaquetar el paquete 40 seguro y obtener el objeto de datos en una forma 80 final para el uso. Tras el uso, el objeto de datos se vuelve a empaquetar en el paquete 40 seguro.
Ahora se describirán con mayor detalle las diferentes partes del sistema y las diferentes etapas del método según la invención.
El procesador de datos del proveedor de datos:
La figura 2 es un diagrama de bloques del sistema de un procesador de datos del proveedor de objetos de datos. Tal como se ha mencionado anteriormente, el proveedor de objetos de datos puede ser un autor de un objeto de datos, un propietario de un objeto de datos, un agente de un objeto de datos o cualquier otra persona que desee distribuir un objeto de datos al tiempo que mantiene el control sobre su uso. El procesador de datos es un procesador de propósito general o especial, preferiblemente con capacidades para la conexión a la red. Comprende una CPU 10, una memoria 11 y un adaptador 12 de red, los cuales están interconectados por medio de un bus 13. Tal como se muestra en la figura 2, también pueden conectarse al bus 13 otros medios convencionales, tales como una pantalla 14 de visualización, un teclado 15, una impresora 16, un medio 17 de almacenamiento masivo y una memoria 18 ROM. La memoria 11 almacena programas 21 de red y de telecomunicaciones y un sistema operativo 23 (OS). Todos los elementos mencionados anteriormente son muy conocidos para el experto y están disponibles en el mercado. Para el objetivo de la presente invención, la memoria 11 también almacena un programa 19 de empaquetamiento de datos y, preferiblemente, una base 20 de datos concebida para los datos de control. En función de la operación actual, puede almacenarse en la memoria 11 uno o varios objetos 24 de datos, tal como se muestra en el almacenamiento 17 masivo. El procesador de datos del proveedor de datos se considera seguro.
El programa de empaquetamiento de datos:
El programa 19 de empaquetamiento de datos se utiliza para crear datos de control para controlar el uso de un objeto de datos y para empaquetar el objeto de datos y los datos de control en un paquete seguro.
Tal como se muestra en la figura 3, comprende un módulo 301 de control del programa, un módulo 302 de interfaz de usuario, un módulo 303 de empaquetamiento, un módulo 304 de creación de datos de control, un módulo 305 de cifrado, uno o varios módulos 306 de formato, y uno o varios módulos 307 de seguridad.
El módulo 301 de control controla la ejecución de los otros módulos. El módulo 302 de interfaz de usuario trata la interacción con el proveedor de objetos de datos. El módulo 303 de empaquetamiento empaqueta los datos de control y el objeto de datos. Utiliza el módulo 304 de creación de datos de control, los módulos 306 de formato, los módulos 307 de seguridad y el módulo 305 de cifrado tal como se describirá de forma más detallada a continuación.
Los módulos 306 de formato comprenden código del programa que se requiere para tratar los objetos de datos en su formato origen. Pueden desempeñar funciones tales como la compresión de datos y la conversión de datos. Pueden ser implementados por cualquier programa adecuado disponible en el mercado, tal como por medio de una rutina de PKWARE Inc Data Compression Library para Windows y el paquete Image Alchemy de Handmade Software Incorporated, respectivamente. También pueden ser implementados mediante programas diseñados de forma personalizada.
Los módulos 307 de seguridad comprenden código de programa necesario para implementar la seguridad, tal como el cifrado más sofisticado del que se proporciona mediante el módulo 305 de cifrado, algoritmos de autorización, control de acceso y control de uso, más allá de la seguridad básica inherente al paquete de datos.
El programa 19 de empaquetamiento de datos puede contener muchos tipos diferentes de módulos de formato y seguridad. El módulo 301 de control del programa aplica los módulos de formato y seguridad solicitados por el proveedor de datos.
El módulo 305 de cifrado puede ser cualquier módulo adecuado disponible en el mercado tal como el subprograma de Visual Basic "FileCrypt", que se encuentra en QuickPack Professional para Windows de Crescent Software - FILECRPT.BAS, o un programa de cifrado diseñado de forma personalizada.
El módulo 304 de creación de datos de control crea los datos de control para controlar el uso del objeto de datos. A continuación, se describirá con mayor detalle un ejemplo de una estructura de datos de control.
Los datos de control:
Los datos de control pueden almacenarse en un archivo de encabezamiento y un archivo de datos de uso. En una realización preferida, el archivo de encabezamiento comprende campos para almacenar un identificador de objeto que únicamente identifica los datos de control y / o su objeto de datos asociado, un título, un código de formato y un código de seguridad. El código de formato puede representar el formato o la posición de los campos en el archivo de datos de uso. De forma alternativa, el código de formato puede designar uno o varios módulos de formato que va a utilizarlos el programa de empaquetamiento de datos o el programa de usuario. El código de seguridad puede representar el método de cifrado utilizado por el módulo 305 de cifrado o cualquier módulo de seguridad que va a ser utilizado por el programa de empaquetamiento de datos y el programa de usuario. Los campos del archivo de encabezamiento se designarán como elementos de encabezamiento.
El archivo de datos de uso comprende al menos un campo para almacenar datos que controlan el uso del objeto de datos. Uno o varios campos de datos de uso que representan una condición para el uso del objeto de datos se designarán como un elemento de uso. En una realización preferida, cada elemento de uso es definido por un campo identificador, por ejemplo, un número de serie, un campo de tamaño que especifica el tamaño del elemento de uso en bytes o de cualquier otra forma adecuada, y un campo de datos.
Los elementos de encabezamiento y los elementos de uso son elementos de control que controlan todas las operaciones relacionadas con el uso del objeto. El número de elementos de control es ilimitado. El proveedor de datos puede definir cualquier número de elementos de control para representar sus condiciones de uso predeterminadas del objeto de datos. La única restricción es que el programa 19 de empaquetamiento de datos y el programa 35 de usuario deben tener código de programa compatible para tratar todos los elementos de control. Este código de programa reside en el módulo de empaquetamiento y el módulo gestor del uso, que se describirá a continuación.
Los elementos de control pueden contener datos, código de programa o instrucciones que son ejecutados por el programa 35 de usuario para controlar el uso del objeto de datos relacionado. El código de programa e instrucciones puede contener sentencias condicionales y similares que se procesan con los parámetros relevantes de objeto y sistema en el procesador de datos del usuario. También sería posible utilizar un elemento de control para especificar un programa de usuario propietario específico que sólo puede obtenerse de un agente concreto.
Resulta evidente que la estructura de datos de control descrita anteriormente es a título ilustrativo. La estructura de datos de control puede definirse de muchas formas diferentes con diferentes elementos de control. Por ejemplo, la división de los datos de control en datos de encabezamiento y datos de uso no es obligatoria. Además, los elementos de control mencionados anteriormente son ilustrativos. El formato de los datos de control puede ser único, por ejemplo, diferente para distintos proveedores de datos, o definido de acuerdo con un estándar.
El funcionamiento del programa de empaquetamiento de datos
Ahora se describirá el funcionamiento de una primera realización del programa de empaquetamiento de datos en relación con el diagrama de bloques de la figura 3 y el diagrama de flujo de la figura 4.
En primer lugar, un proveedor de datos crea un objeto de datos y lo guarda en un archivo, etapa 401. Cuando se inicia el programa de empaquetamiento de datos, etapa 402, el módulo 302 de interfaz de usuario le solicita al proveedor del objeto de datos que introduzca, etapa 403, la información de encabezamiento que consiste, por ejemplo, en un identificador de objeto, un título del objeto de datos, un código de formato que especifica cualquier módulo de formato que va a utilizarse para convertir el formato del objeto de datos, y un código de seguridad que especifica cualquier módulo de seguridad que va a utilizarse para añadir seguridad adicional al objeto de datos. Además, el módulo 302 de interfaz de usuario le solicita al proveedor del objeto de datos que introduzca información del uso, por ejemplo, sus condiciones para el uso del objeto de datos. La información del uso puede comprender el tipo de usuario que está autorizado a utilizar el objeto de datos, el precio para diferentes usos del objeto, etc. La información de encabezamiento y la información de uso que puede introducirse en forma de códigos predeterminados se transmiten a continuación al módulo 301 de control que llama al módulo 303 de empaquetamiento y le transmite la información a éste.
El módulo 303 de empaquetamiento llama al módulo 304 de creación de datos de control que primero crea un archivo de encabezamiento, después crea datos de encabezamiento basándose en la información de encabezamiento introducida por el proveedor de objetos de datos y finalmente almacena los datos de encabezamiento, etapas 404-405. Entonces, se crea un archivo de datos de uso, datos de uso creados basándose en la información de uso introducida por el proveedor de datos, y finalmente los datos de uso se almacenan en el archivo de datos de uso, etapa 406-407.
El módulo 303 de empaquetamiento aplica entonces cualquier módulo 306, 307 de formato y seguridad especificado en el archivo de encabezamiento, etapas 408-413, al objeto de datos.
A continuación, el módulo 303 de empaquetamiento concatena el archivo de datos de uso y el objeto de datos y almacena el resultado como un archivo temporal, etapa 414. El módulo 303 de empaquetamiento llama al módulo 305 de cifrado, que cifra el archivo temporal, etapa 415. El nivel de seguridad dependerá en cierta medida de la calidad de los métodos de cifrado y claves empleados.
Finalmente, el módulo 303 de empaquetamiento concatena el archivo de encabezamiento y el archivo temporal cifrado y guarda el resultado como un único archivo, etapa 416. Este archivo final es el paquete de datos que puede distribuirse ahora mediante transferencia de archivos por una red, o en medios de almacenamiento tales como CD-ROM o disquete, o mediante algún otro medio.
Ejemplo 1
Ahora se describirá en relación con las figuras 5 y 6 un ejemplo de la manera en que puede utilizarse el programa 19 de empaquetamiento de datos. En este ejemplo, el proveedor del objeto de datos es un artista de representaciones gráficas por ordenador que desea distribuir una imagen que puede utilizarse como clipart (imagen que puede usarse directamente), pero sólo en un documento o archivo que esté empaquetado de acuerdo con el método de la invención, y que tiene condiciones de uso que no permiten cortar o pegar de forma adicional. El artista desea proporcionar una vista preliminar gratuita de la imagen, pero también desea que se le pague en función del uso, a menos que el usuario desee abonar una tarifa bastante considerable para el uso ilimitado. El artista gestionará el pago y la autorización de uso en una línea de marcación con su procesador de datos.
El artista usa alguna aplicación de creación de imágenes tal como Photoshop de Adobe, para crear su imagen. Entonces, el artista guarda la imagen en el archivo en un formato adecuado para la distribución tal como el formato de intercambio de gráficos (GIF, Graphical Interchange Format). Después el artista inicia su programa de empaquetamiento de datos e introduce un identificador de objeto, un título, un código de formato y un código de seguridad que en este ejemplo son "123456789", "image", "a", y "b", respectivamente. En este ejemplo, el código de formato "a" indica que no se requiere aplicar código de formato, y se selecciona este código de formato ya que el formato GIF es adecuado y ya está comprimido. Además, el código de seguridad "b" indica que no se requiere aplicar ningún módulo de seguridad y se selecciona este código ya que el artista considera adecuada la seguridad lograda mediante el cifrado llevado a cabo por medio del módulo 305 de cifrado.
Entonces, el artista introduce su número de teléfono de marcación, su precio por un único uso de la imagen y para el uso ilimitado del objeto de datos, un código para el tipo de usos aprobados y para números de usos aprobados. Para esto, el módulo 302 de interfaz de usuario puede mostrar un formulario de entrada de datos.
El programa 19 de empaquetamiento de datos crea datos de control basándose en la información introducida por el artista y almacena los datos en el archivo de encabezamiento y en el archivo de datos de uso tal como se muestra en las figuras 5 y 6, respectivamente. Estos datos constituyen un conjunto general de datos que no están adaptados específicamente a un único usuario, pero que indican las condiciones de uso determinadas por el artista para todos los futuros usuarios.
Entonces, el programa 19 de empaquetamiento concatena el objeto de datos y los datos de control de acuerdo con las etapas 414-416 de la figura 4 para lograr el paquete seguro. No se aplica ningún módulo de formato o módulo de seguridad al objeto de datos ya que no se requieren de acuerdo con los datos en el archivo de encabezamien-
to.
Cuando se ha obtenido el paquete seguro, el artista lo envía a un tablón de anuncios desde el que un usuario puede recuperarlo.
Ejemplo 2
A continuación se describirá otra realización del programa 19 de empaquetamiento de datos en relación con las figuras 7 - 12b. En este ejemplo, el objeto de datos consiste en una película de vídeo elaborada por una empresa de producción de películas y enviada a un agente junto con las condiciones 42 predeterminadas para el uso del vídeo. El agente carga el vídeo 24 en el almacenamiento 17 masivo de su procesador de datos. Entonces, utiliza su programa 19 de empaquetamiento de datos para crear un conjunto general de datos 50 de control basado en las condiciones 42 predeterminadas para el uso indicadas por la empresa de producción de películas. Además, la dirección para el vídeo en el almacenamiento 17 masivo se almacena en una tabla de direcciones en la base de datos 20 de control o en algún otro lugar de la memoria 11. También podría almacenarse en el conjunto general de datos 50 de control. Finalmente, el conjunto general de datos 50 de control se almacena en la base de datos 20 de control. También podría almacenarse en cualquier otro lugar de la memoria 11.
Tras estas operaciones, que corresponden a las etapas 401-407 de la figura 4, se sale del programa de empaquetamiento de datos.
La figura 8a muestra el conjunto general de datos de control para el vídeo según este ejemplo. Aquí, los datos de control incluyen un identificador, un código de formato, un código de seguridad, el número de elementos de uso, el tamaño del objeto de datos, el tamaño de los elementos de uso y dos elementos de uso, comprendiendo cada uno un campo de identificador, un campo de tamaño y un campo de datos. El identificador puede ser un número único en una serie registrada para el agente concreto. En este ejemplo, el identificador es "123456789", el código de formato "0010", que en este ejemplo indica el formato de un vídeo AVI, y el código de seguridad es "0010". Además, el primer elemento de uso define los usuarios aceptables para el vídeo y el dato del segundo elemento de uso define el número de visualizaciones del vídeo compradas por un usuario. El dato del primer elemento de uso es 1 que, para el objetivo de este ejemplo, significará que la empresa de producción de películas sólo acepta usuarios relacionados con la educación. El campo de datos del dato del segundo elemento de uso está vacío dado que en esta fase no se han comprado visualizaciones del vídeo.
Transferencia de objetos de gestión:
El agente desea transferir objetos de datos a usuarios y permitir el uso controlado a cambio del pago de tasas de uso o regalías. La gestión de la relación comercial agente-usuario y la negociación de la transacción entre el agente y el usuario pueden automatizarse, y la estructura de datos de control puede proporcionar soporte ilimitado a estas operaciones. El pago puede gestionarse mediante la transmisión de información de la tarjeta de crédito, o el usuario puede tener una cuenta de crédito o débito con el agente que se activa mediante contraseña. Preferiblemente, el pago debería confirmarse antes de que se transfiera el objeto de datos al usuario.
Empaquetamiento de datos:
Si un usuario desea utilizar un objeto de datos, contacta con el agente y solicita autorización para el uso del objeto de datos. Cuando el procesador de datos del agente recibe la solicitud de autorización, un programa de datos compara el uso para el que se ha solicitado información con los elementos de control del uso de los datos de control del objeto de datos para ver si cumplen las condiciones predeterminadas para el uso indicadas en éstos. La comparación puede incluir comparar el tipo de usuario, el tipo de uso, el número de usos, el precio, etc. Si el uso solicitado cumple las condiciones predeterminadas, se concede la autorización, en caso contrario, se deniega.
La figura 9 es un diagrama de flujo de datos del empaquetamiento de datos en el procesador de datos del agente que tiene lugar como respuesta a una solicitud de un usuario concedida para autorizar el uso del vídeo, por ejemplo, una solicitud concedida para la compra de dos visualizaciones.
Como respuesta a una solicitud concedida, el agente aplica nuevamente el programa 19 de empaquetamiento de datos. El conjunto general de datos 50 de control y el objeto 24 de datos se introducen en el programa desde la base de datos 20 de control y el almacenamiento 17 masivo, respectivamente. El programa crea un conjunto de usuarios de datos 60 de control basándose en el conjunto general de datos 50 de control y concatena el conjunto 60 de usuarios y el objeto 24 de datos para crear un paquete 40 de datos seguro que puede transferirse entonces al usuario mediante cualquier medio adecuado. Preferiblemente, en la base de datos de control del agente se almacena una copia del conjunto de usuario de datos de control. Esto le proporciona al agente un registro con el que comparar el uso subsiguiente, por ejemplo, cuando se requiere una marcación para el uso.
La figura 10 es un diagrama de flujo de un procedimiento a título de ejemplo utilizado para crear un conjunto de usuario de datos de control para el empaquetamiento del conjunto de usuario de datos de control y el vídeo en un paquete seguro. Aquí, se describirá el procedimiento en relación con el conjunto general de datos de control mostrados en la figura 8a.
El conjunto de usuario de datos 60 de control, es decir, un conjunto de datos de control que está adaptado al usuario específico de este ejemplo, se crea en las etapas 1001-1003 de la figura 11. En primer lugar, se copia el conjunto general de datos 50 de control almacenado en la base de datos de control para crear nuevos datos de control, etapa 1001. En segundo lugar, un nuevo identificador, aquí "13456790", que identifica de forma unívoca el conjunto de usuario de datos de control, se almacena en el campo de identificador del nuevo dato 60 de control, etapa 1002. En tercer lugar, el campo de datos del segundo elemento de uso se actualiza con el uso comprado, es decir, en este ejemplo, con dos, dado que se compraron dos visualizaciones del vídeo, etapa 1003.
En la figura 8b se muestra el conjunto de usuario de datos de control creado de esta manera, que corresponde al conjunto general de datos de control de la figura 8a.
El conjunto de usuario de datos de control se almacena en la base de datos 20 de control, etapa 1004. Entonces, se copia el vídeo, que se almacena en el almacenamiento 17 masivo, etapa 1005. La copia del vídeo se concatena con el conjunto de usuario de datos de control, etapa 1006. El código 0010 de seguridad especifica que ha de cifrarse todo el paquete 40 de datos y que el programa 35 de usuario debe contener una clave que pueda aplicarse. De forma correspondiente, se cifra todo el paquete de datos, etapa 1007. Finalmente, el paquete de datos cifrado se almacena en un medio de almacenamiento o se transmite a un programa de red, etapa 1008, para la transferencia posterior al usuario.
\newpage
La figura 11 es una imagen de la memoria del vídeo 24 y el dato 60 de control de usuario. Los datos de control del usuario y una copia 24 del vídeo se concatenan como se muestra en la figura 12a. El paquete 40 de datos cifrado se muestra en la figura 12b.
El procedimiento de la figura 10 puede implementarse mediante el programa de empaquetamiento de datos de la figura 3. Como alternativa al procedimiento de la figura 10, el conjunto de usuario de los datos de control puede crearse del mismo modo que en las etapas 1001-1003 y guardarse en un archivo de encabezamiento y en un archivo de datos de uso, tras lo cual pueden llevarse a cabo las etapas 408-416 del programa de empaquetamiento de datos de la figura 4 para crear el paquete seguro.
El proceso descrito anteriormente para crear un conjunto de datos de control adaptado al usuario también puede utilizarlo un usuario que desee redistribuir un objeto de datos o un agente que desee distribuir el objeto de datos a otros agentes.
Obviamente, la redistribución del objeto de datos requiere que la redistribución sea un uso aprobado en los datos de control del objeto de datos. Si es así, el usuario o el agente crea un conjunto de usuario de datos de control mediante la adición de nuevos elementos de control y posiblemente el cambio de los campos de datos del elemento de control antiguo para reflejar la relación entre el autor y el usuario / agente actual y entre el usuario / agente actual y el futuro agente / usuario. De esta manera, se crea un seguimiento de auditoría.
El procesador de datos de usuario:
El procesador de datos de usuario, que se muestra en la figura 13, es un procesador de propósito general o especial, preferiblemente con capacidades de conexión en red. Comprende una CPU 25, una memoria 26 y un adaptador 27 de red que están interconectados por medio de un bus 28. Tal como se muestra en la figura 13, también pueden conectarse al bus 28 otros medios convencionales, tales como una pantalla 29 de visualización, un teclado 30, una impresora 31, un sistema 32 de sonido, una memoria 33 ROM y un dispositivo 34 de almacenamiento masivo. La memoria 26 almacena programas 37 de red y de telecomunicaciones y un sistema 39 operativo (OS). Todos los elementos mencionados anteriormente son suficientemente conocidos por el experto y están disponibles en el mercado. Para el objetivo de la presente invención, la memoria 26 también almacena un programa 35 de usuario y, preferiblemente, una base 36 de datos concebida para los datos de control. En función de la operación actual, puede almacenarse un paquete 40 de datos en la memoria 26, tal como se muestra, o en el almacenamiento 34 masivo.
El programa de usuario:
El programa 35 de usuario controla el uso de un objeto de datos de acuerdo con los datos de control que se incluyen en el paquete de datos junto con el objeto de datos.
Tal como se muestra en la figura 14, el programa 35 de usuario comprende un módulo 1401 de control de programa, un módulo 1402 de interfaz de usuario, un módulo 1403 gestor del uso, un módulo 1404 de análisis sintáctico de los datos de control, un módulo 1405 de descifrado, uno o varios módulos 1406 de formato, uno o varios módulos 1407 de seguridad, y un programa 1409 de transferencia de archivos.
El módulo 1401 de control controla la ejecución de los otros módulos. El módulo 1402 de interfaz de usuario trata las interacciones con el usuario. El módulo 1403 gestor del uso desempaqueta el paquete 40 seguro. Utiliza el módulo 1404 de análisis sintáctico de datos de control, el módulo 1405 de descifrado, el módulo 1406 de formato y los módulos 1407 de seguridad.
Los módulos 1406 de formato comprenden código de programa que es necesario para tratar los objetos de datos en su formato original, tales como los procesos de descompresión y formateo de datos. Los módulos 1407 de seguridad comprenden código de programa necesario para implementar la seguridad por encima del nivel más bajo, tal como el control de acceso, el control de uso y el descifrado más sofisticado que el que proporciona el módulo 1405 de descifrado básico.
El programa 35 de usuario puede contener muchos tipos diferentes de los módulos de formateo y seguridad. Sin embargo, deberían ser complementarios a los módulos de formateo y seguridad empleados en el programa de empaquetamiento de datos correspondiente. El módulo 1401 gestor del uso aplica los módulos de formateo y seguridad que son necesarios para utilizar un objeto de datos y que se especifican en sus datos de control. Si los módulos de formateo y seguridad adecuados no están disponibles para un objeto de datos particular, el módulo 1401 gestor del uso no permitirá ningún uso.
El módulo 1405 de descifrado puede ser el subprograma FileCrypt de Visual Basic anteriormente descrito o cualquier otro programa de descifrado disponible en el mercado. También puede ser un módulo de descifrado diseñado de forma personalizada. La única limitación es que el módulo de descifrado utilizado en el programa de usuario sea complementario con el módulo de descifrado del programa de empaquetamiento de datos.
El módulo 1403 de análisis sintáctico de los datos de control lleva a cabo el proceso inverso al del módulo 304 de creación de datos de control de la figura 3.
El programa 35 de usuario puede tener código que controla el uso del programa mediante contraseña o mediante cualquier otro método adecuado. Puede añadirse una contraseña en un elemento de control de contraseñas durante el empaquetamiento del objeto de datos. La contraseña se transfiere al usuario mediante correo registrado o de cualquier otra forma adecuada. Como respuesta a la presencia del elemento de control de contraseña en la estructura de datos de control, el programa de usuario le solicita al usuario que introduzca la contraseña. La contraseña introducida se compara con la contraseña en los datos de control y, si coinciden, el programa de usuario continúa, en caso contrario, se desactiva.
El programa 35 de usuario también puede tener procesos que alteran el comportamiento del programa (por ejemplo, proporcionar filtros para niños) de acuerdo con los datos de control del objeto 41 de usuario. Es importante mencionar que el programa 35 de usuario nunca almacena el objeto en el formato original en el almacenamiento accesible por el usuario y que durante la visualización del objeto de datos se retiene la clave de la pantalla de impresión.
El programa 1409 de transferencia de archivos puede transferir y recibir archivos a través de la red hacia y desde otro procesador de datos.
Dado que el objeto de datos se empaqueta nuevamente en el paquete seguro tras el uso, el programa de usuario también incluiría código de programa para volver a empaquetar el objeto de datos. El código de programa podría ser el mismo que el usado en el programa 19 de empaquetamiento de datos correspondiente. También podría ser un programa independiente que es solicitado del programa de usuario.
Funcionamiento del programa de usuario:
Ahora se describirá el funcionamiento de una realización del programa 35 de usuario haciendo referencia al diagrama de bloques de la figura 14 y al diagrama de flujo de la figura 15.
En primer lugar, el usuario recibe un paquete 40 de datos a través de la transferencia de archivos por una red, o en un medio de almacenamiento tal como CD-ROM o disquete, o mediante cualquier otro medio adecuado, etapa 1501. Después, almacena el paquete de datos como un archivo en su procesador de datos, etapa 1502.
Si el usuario desea utilizar el objeto de datos, inicia el programa 35 de usuario, etapa 1503. Después, solicita el uso del objeto de datos, etapa 1504. Se recibe la solicitud en el módulo 1402 de interfaz de usuario, que le notifica al módulo 1401 de control la petición de uso. El módulo 1401 de control llama al módulo 1403 gestor de uso y transmite la petición de uso.
El módulo 1403 gestor del uso lee el código de formato procedente del paquete de datos para determinar el formato de los datos de control. Entonces, llama al módulo 1405 de descifrado para descifrar y extraer los datos de control del paquete de datos. El módulo 1403 gestor del uso aplica el módulo 1405 de descifrado de forma incremental para descifrar únicamente los datos de control. Finalmente, almacena los datos de control en la memoria, etapa 1505.
El módulo 1403 gestor del uso llama entonces al módulo 1404 de análisis sintáctico de los datos de control para extraer campos de datos de los elementos de uso.
El módulo 1403 gestor del uso compara entonces la petición de uso del usuario con los datos de control correspondientes, etapas 1506-1507. Si no se permite el uso solicitado en los datos de control, el uso solicitado se deshabilita, etapa 1508. Sin embargo, si se aprueba el uso solicitado en los datos de control, el módulo 1403 gestor del uso aplica cualquier módulo 1406, 1407 de formateo y seguridad especificado en los datos del encabezamiento o los datos de uso, etapas 1509-1514, al paquete de datos.
Entonces, el módulo 1403 gestor del uso llama al módulo 1405 de descifrado que descifra los datos de objeto, etapa 1515, tras lo cual se habilita el uso solicitado, etapa 1516. En conexión con la habilitación del uso, puede ser necesario actualizar los datos de control, etapa 1517. Los datos de control pueden comprender, por ejemplo, un campo de datos que indica un número limitado de usos. Si es así, este campo de datos se reduce una unidad como respuesta a la habilitación del uso. Cuando el usuario ha finalizado el uso del objeto de datos, el programa 35 de usuario restaura el paquete de datos a la forma segura mediante un nuevo empaquetamiento, etapa 1518. Más concretamente, el objeto de datos y los elementos de uso se vuelven a concatenar y a cifrar. Entonces, se añaden los elementos de encabezamiento y el paquete creado de esta manera se almacena en el procesador de datos del usuario.
Continuación del ejemplo 1:
Ahora se describirá en relación con las figuras 6 y 15 un ejemplo específico de la forma en que opera el programa de usuario. El ejemplo es una continuación del ejemplo 1 anterior en el que un artista creó una imagen y la envió a un panel de anuncios.
Suponiendo que un usuario haya encontrado la imagen en un panel de anuncios electrónico y esté interesado en utilizarla. Entonces, éste carga el paquete 40 de datos que contienen la imagen en su procesador de datos y la almacena como un archivo en el almacenamiento masivo. A continuación, el usuario ejecuta el programa 35 de usuario y solicita la vista previa de la imagen. El programa de usuario lleva a cabo entonces las etapas 1505-1507 del diagrama de flujo de la figura 15. La petición de una vista previa de la imagen se compara con el campo de datos del elemento de uso "código para tipo de uso aprobado". En este ejemplo, el código "9" indica que se permiten las vistas previas. De esta manera, la vista previa solicitada es adecuada (OK). Entonces, el programa 35 de usuario implementa las etapas 1509-1515 de la figura 15. Dado que el código de formato "a" y el código de seguridad "b" del dato de encabezamiento indican que no se requiere, ni la conversión, ni la descompresión, ni el tratamiento de seguridad, el programa de usuario sólo descifra el dato de objeto. El módulo 1403 gestor del uso visualiza entonces la vista previa en el procesador de datos del usuario y transmite nuevamente el control a la interfaz 1402 del usuario.
Cuando el usuario ha acabado de previsualizar la imagen, el módulo 1402 de interfaz de usuario visualiza los costes del uso de la imagen de acuerdo con los datos de precio del uso de los datos de control ("precio para el uso individual" y "precio para uso ilimitado" en la figura 6) y le solicita al usuario introducir una petición de adquisición. El usuario decide comprar el uso ilimitado de la imagen, y el módulo 1402 de interfaz de usuario introduce información de compra, tal como una identificación, facturación y dirección para esa petición y transmite la petición al módulo 1401 de control. El módulo de control llama al programa 1409 de transferencia de archivos que marca el número de marcación del artista tal como viene indicado en el dato de uso ("elemento de control para el número de teléfono del artista" en la figura 6) y transfiere la solicitud y la información de adquisición a un programa del agente ubicado en el programa de datos del artista. Al aprobar la adquisición, el programa del agente devuelve un archivo que contiene una actualización para elementos de control de "tipo de uso aprobado". La actualización es "10" para el tipo de uso aprobado, que en este ejemplo indica que se permite el uso ilimitado por ese usuario. El programa 1409 de transferencia de archivos transmite esta actualización al módulo 1403 gestor del uso que actualiza los datos de control con el código de "tipo de uso aprobado". El módulo 1402 de interfaz de usuario le muestra entonces un mensaje de confirmación al usuario.
A continuación, el módulo de interfaz de usuario introduce una petición para copiar la imagen a un archivo empaquetado según esta invención, en la máquina del usuario. Entonces, el módulo gestor del uso compara los datos de control de la petición del usuario. El módulo gestor del uso examina los datos archivados para el "tipo de uso aprobado", que ahora es "10". El módulo gestor del uso copia la imagen al archivo.
Cuando el usuario ha acabado con la imagen, el módulo 1403 gestor del uso vuelve a empaquetar la imagen tal como antes excepto por los datos de control actualizados. Este proceso de nuevo empaquetamiento es exactamente igual que el mostrado en la figura 4 excepto que aún existe los datos de encabezamiento y uso de modo que el proceso comienza tras la etapa 406 en la que se crean los datos de control.
Seguridad mejorada
Si el proveedor de objetos de datos desea mejorar la seguridad de un paquete de datos que contiene un objeto de datos, podría utilizarse un módulo 307 de seguridad que contiene un algoritmo de cifrado sofisticado, tal como RSA. En ese caso, el módulo 303 de empaquetamiento llama al módulo 307 de seguridad en la etapa 412 del diagrama de flujo de la figura 4. El módulo de seguridad cifra la imagen y transfiere un código de algoritmo de seguridad al módulo 302 de creación de datos de control, que añade un elemento de control para el código del módulo de seguridad que será detectado por el programa 35 de usuario. Entonces, el empaquetamiento de datos continúa en la etapa 414. Cuando el paquete de datos se envía al usuario, la clave pública se envía por correo al usuario a través del correo registrado. Cuando el programa de usuario se ejecuta como respuesta a una petición de uso de este objeto de datos, el módulo gestor del uso detectará el código del módulo de seguridad en los datos de control y llamará al módulo de seguridad. Este módulo transfiere el control al módulo 1402 de interfaz de usuario, que le solicita al usuario que introduzca la clave pública. Si la clave es correcta, el módulo de seguridad del usuario aplica descifrado complementario empleando la clave y transmite un mensaje de uso aprobado al módulo gestor del uso, el cual permite el uso.
Como ejemplo adicional de seguridad mejorada, un módulo de seguridad puede implementar un proceso de autorización, según el cual cada uso del objeto de datos requiere una marcación al procesador de datos del proveedor del objeto de datos. Cuando el programa 35 de usuario detecta el código del módulo de seguridad correspondiente, se llama al módulo de seguridad relevante. Este módulo transmite una petición de autorización al módulo 1401 de control, que llama al programa 1409 de transferencia de archivos, el cual marca el número de marcación del proveedor del objeto de datos que viene indicado en un elemento de uso y transfiere la petición de autorización de uso. Al concederse una autorización, el procesador de datos del proveedor de datos devuelve un mensaje de uso aprobado al módulo de seguridad del usuario, que envía la aprobación al módulo de control del uso, que permite un uso. Si el usuario solicita usos adicionales del objeto de datos, se repite el proceso de autorización. Este proceso da como resultado una seguridad permanente del objeto de datos.
Continuación del ejemplo 2
Ahora se describirá en relación con la figura 16 un ejemplo específico adicional del modo de funcionamiento del programa 35 de usuario. El ejemplo es una continuación del ejemplo 2 anterior en el que un usuario adquiría dos visualizaciones de una película de vídeo de un agente.
El usuario desea visualizar el vídeo que adquirió y que le transfirió el agente- El usuario aplica el programa 35 de usuario, etapa 1601, y solicita reproducir el vídeo, etapa 1602. El programa 35 de usuario examina primero el conjunto de usuario de datos 60 de control, etapa 1603. En este ejemplo, el programa 35 de usuario contiene únicamente los módulos de formateo y seguridad para objetos con código de formato de 0010 y con un código de seguridad de 0010. En consecuencia, sólo pueden utilizare esos tipos de objetos de datos. Si el programa encuentra otros códigos, no habilitará la acción de uso, etapas 1604-1605.
A continuación, el programa 35 de usuario compara el primer dato de elemento de control que es 1, únicamente para usuarios educativos, con información de usuario introducida por el usuario a petición del programa de usuario. Dado que el tipo de usuario introducido por el usuario es el mismo que el que se indicó en el primer elemento de uso, el proceso continúa, etapas 1606-1607. Entonces, el programa de usuario comprueba el segundo dato del elemento de control que especifica que el número de reproducciones adquiridas es 2. En consecuencia, se permite el uso, etapa 1609. El programa de usuario aplica el módulo de descifrado con la clave universal y el vídeo de formato AVI se visualiza en la unidad 19 de visualización. Entonces, el segundo dato de elemento de control se reduce una unidad, etapa 1610. Finalmente, el vídeo se empaqueta nuevamente, etapa 1611.
Implementación del control de objetos variable y extensible:
El control de los objetos se consigue mediante la interacción del programa 19 de empaquetamiento de datos y el programa 15 de uso con los datos de control. Puede aplicarse la variación del control de objetos a un objeto particular mediante la creación de un formato de datos de control con elementos de control que definen la variación del control y las circunstancias en las que se aplica la variación. Entonces deberían añadirse procesos de programa a los módulos de programa para procesar los elementos de control. Por ejemplo, suponiendo que un agente desea permitir a estudiantes la impresión de un artículo concreto de forma gratuita pero le solicita a los usuarios comerciales que paguen por éste. El agente define elementos de control para representar los tipos de usuario estudiante y de negocio y los costes asociados para cada uno. A continuación, añade lógica de programación para examinar el tipo de usuario y calcular los costes en correspondencia. El control de objetos puede ampliarse en el sentido de que el formato de datos de control puede tener tantos elementos como parámetros que definan las reglas para el control de objetos.
Implementación de Seguridad de Objetos Variable y Extensible:
La seguridad de los objetos también se consigue a través de la interacción del programa 19 de empaquetamiento de datos y el programa 35 de usuario con los datos de control. El proceso de seguridad y los algoritmos de cifrado / descifrado pueden añadirse como módulos de programa. La variación de la seguridad de los objetos puede aplicarse a un objeto particular creando un formato de datos de control con elementos de control que definen la variación de la seguridad y las circunstancias en las que se aplica la variación. Los procedimientos de programa se añadirían a módulos de programas para procesar elementos de control. Por ejemplo, suponiendo que un agente desee aplicar una seguridad mínima a su colección de artículos de noticias actuales, pero desee aplicar una estricta seguridad a su enciclopedia y libros de texto. Éste define un elemento de control para el tipo de seguridad. Entonces, añade lógica de programación para aplicar los algoritmos de seguridad de forma correspondiente. La seguridad de los objetos puede ampliarse en el sentido de que pueden aplicarse múltiples niveles de seguridad. Naturalmente, el nivel de seguridad dependerá del método de cifrado / claves que se implemente en los módulos de seguridad. Un nivel de seguridad puede ser el solicitar una confirmación en línea cuando se carga un objeto de datos en el procesador de datos del usuario. Esto puede implementarse en el código del programa en un módulo de seguridad. Esto le permite al agente comprobar que el objeto aún no ha sido cargado, así como comprueba doblemente todos los parámetros restantes.
También es importante tener control de la versión con sello temporal entre el programa de uso y la base de datos de control del usuario. De lo contrario, la base de datos puede duplicarse y volverse a aplicar al programa de usuario. El programa de usuario puede disponer un sello temporal en la base de datos de control y en un archivo de sistema oculto cada vez que se accede a la base de datos de control. Si los sellos temporales no son idénticos, se ha alterado la base de datos de control y se deshabilita cualquier uso. El código de programa para tratar los sellos temporales puede residir en un módulo de seguridad.
Manejo de objetos compuestos:
Un objeto compuesto puede manejarse definiendo un formato de datos de control con elementos de control que definen relaciones entre los objetos constitutivos y definiendo un elemento madre / hijo y un elemento de identificación de objeto relacionado. Por ejemplo, suponiendo que un agente desea incluir un vídeo y un libro de texto en un paquete educativo. Éste crea un objeto madre con elementos que hacen referencia a los objetos de vídeo y de libro de texto. También incluye elementos de control en los datos de control para el objeto de vídeo y el objeto de libro de texto que hacen referencia al objeto madre. Finalmente, añade procesos de programa a módulos de programa para procesar los elementos de control.
Expresado de otra manera, cuando el objeto de datos es un objeto de datos compuesto que incluye al menos dos objetos de datos constitutivos, se crea un conjunto general de datos de control correspondientes para cada uno de los objetos de datos constitutivos y el objeto de datos compuesto. Como respuesta a una petición de un usuario, se crea un conjunto de usuario de datos de control correspondiente para cada uno de los objetos de datos constitutivos, así como para el objeto de datos compuesto.
En la figura 17 se proporcionan ejemplos de varias estructuras de paquetes de datos para objetos compuestos.
Otro aspecto de los objetos compuestos es cuando el usuario desea combinar objetos de datos para algún uso particular. La combinación es una acción de uso que debe permitirse para cada objeto de datos constitutivo. Se crea un nuevo objeto de datos con datos de control que vinculan los objetos de datos constitutivos. Cada objeto de datos constitutivo mantiene sus datos de control originales que continúan controlando su uso posterior.
Cuando un usuario solicita autorización para el uso de un objeto de datos constitutivo en un objeto de datos compuesto, se crea un conjunto de usuario de datos de control únicamente para ese objeto de datos constitutivo y se concatena únicamente con una copia de ese objeto de datos constitutivo.
Implementación ampliable:
La estructura flexible de datos de control y la estructura modular de programas permiten una capacidad de expansión casi sin límites en relación con la implementación de los requisitos del propietario para el control del uso y el pago de regalías. La estructura de datos de control puede incluir elementos de control para tipos de usuario complejos, tipos de uso, esquemas de facturación múltiple, requisitos artísticos o requisitos de crédito de titularidad y otros. Pueden incluirse módulos de seguridad que interactúan con cualquier variación de la estructura de datos de control y los datos de control. Los módulos de seguridad pueden requerir una marcación al procesador de datos del agente para aprobar las acciones de carga o uso y para implementar mecanismos de autenticación de la aprobación.
Usuario que actúa como un agente:
Puede implementarse una implementación limitada o completa del programa de empaquetamiento de datos del agente en la máquina del usuario para permitir la distribución o reventa adicional. Sin embargo, de esta manera sólo se habilitan los objetos de datos con datos de control que permiten la distribución o reventa adicional.
Representación adicional (rebrokering)
Un autor de un objeto de datos puede desear permitirle a su agente original distribuir su objeto de datos a otros agentes a quienes también les distribuirá su imagen. Entonces, éste incluye un elemento de control que permite la representación adicional en los datos de control antes de distribuir el objeto de datos con sus datos de control asociados al agente original. Cuando se solicita una representación adicional, el agente original copia el conjunto general de datos de control y actualiza la copia para crear un conjunto de usuario de datos de control que funcionará como el conjunto general de datos de control en el procesador de datos del agente subsiguiente. El agente original empaqueta el objeto de datos con el conjunto de usuario de datos de control y transfiere el paquete al agente subsiguiente. Entonces, el agente subsiguiente continúa como si fuera un agente original.
Negociación de transacciones automatizadas
Este es un ejemplo de la forma en que pueden utilizarse las condiciones de uso predeterminadas incluidas en los datos de control para conseguir una negociación automatizada de las transacciones.
Supongamos que alguna empresa desea proporcionar un comercio de las existencias automatizado por ordenador. Los pedidos de compra y venta pueden implementarse en forma de paquetes de datos y un programa de usuario podría procesar los paquetes de datos y ejecutar transacciones. Los paquetes de datos podrían portar dinero en efectivo digital y gestionar el pago basándose en las condiciones definidas en los datos de control.
En este ejemplo, el pedido de compra se crea empleando un programa de empaquetamiento de datos según la invención en el procesador de datos del comprador. El pedido de venta se crea empleando el programa de empaquetamiento de datos en el procesador de datos del vendedor. Los dos pedidos los utiliza el programa del usuario en el procesador de datos del comerciante de las existencias. Los usos tendrán la forma de utilizar un paquete de datos de pedido de venta para vender existencias y un paquete de datos de pedido de compra para comprar existencias. Las reglas o condiciones para comprar y vender existencias podrían indicarse en los datos de control de los paquetes. El objeto de datos consiste en dinero digital. En este contexto es importante recordar que el dinero digital simplemente son datos que hacen referencia a dinero real o dinero virtual que se emite y mantiene para las transacciones digitales.
En este ejemplo, el comprador comienza con un archivo de datos de dinero digital. Éste utiliza el programa de empaquetamiento de datos para crear datos de control, por ejemplo, tipo de existencias, precio, cantidad para la adquisición, y después empaqueta el archivo de datos de dinero digital y los datos de control en un paquete seguro, tal como se ha descrito anteriormente.
El vendedor comienza con un archivo de datos vacío. Este archivo vacío es análogo al archivo de datos de dinero digital excepto por el hecho de que está vacío. El vendedor crea datos de control, por ejemplo, tipo de existencias, precio, cantidad, y empaqueta el archivo vacío y los datos de control en un paquete seguro.
Tanto el paquete de pedido de venta, como también el paquete de pedido de compra se transfieren al procesador de datos de la empresa que comercializa las existencias, en la que se reciben y se almacenan en la memoria. El programa de usuario de la empresa que comercializa las existencias examina los datos de control de los paquetes de pedidos de compra y venta de la misma manera que se ha descrito anteriormente y busca una coincidencia. Al identificar pedidos de compra y venta coincidentes, el programa de usuario ejecuta una transacción, con lo que se extrae el dinero digital del paquete de datos de pedido de compra y se transfiere al paquete del pedido de venta. Entonces, los datos de control de los paquetes de datos se actualizan para proporcionar un seguimiento de auditoría. Los dos paquetes se empaquetan nuevamente de la misma manera en que fueron empaquetados previamente y después se transfieren nuevamente a sus autores.
La técnica descrita anteriormente puede utilizarse para vender y comprar cualquier objeto, así como para negociaciones automatizadas. El pago puede llevarse a cabo de otras maneras diferentes al dinero digital.
En el caso general, el procesador de datos del usuario descifra los elementos de control del uso de los conjuntos de usuario de datos de control y examina los elementos de control del uso para hallar una correspondencia. Como respuesta al hallazgo de una correspondencia, le procesador de datos del usuario lleva a cabo una acción que se especifica en el conjunto de usuario de datos de control.

Claims (25)

1. Método para gestionar un objeto de datos para que se cumpla condiciones de control para el uso del objeto (24) de datos, que comprende las siguientes etapas:
almacenar el objeto (24) de datos en un dispositivo (11) de memoria al que puede accederse por medio de un procesador (10) de datos del proveedor del objeto de datos;
proporcionar un número variable de condiciones de control para el uso del objeto de datos;
proporcionar, por medio de dicho procesador (10) de datos, un conjunto general de datos (50) de control para el objeto (24) de datos basándose en dicho número variable de condiciones de control para el uso, comprendiendo dicho conjunto general de datos de control al menos uno o más elementos de control del uso que definen usos del objeto (24) de datos que cumplen dicho número variable de condiciones de control, y un identificador que identifica únicamente el conjunto general de datos (5) de control, comprendiendo también dicho conjunto general de datos de control un elemento de control de seguridad que define un procedimiento de seguridad;
almacenar dicho conjunto general de datos (50) de control en un dispositivo (11) de memoria al que puede accederse mediante dicho procesador (10) de datos;
concatenar (1006) el conjunto general de datos (50) de control con una copia del objeto (24) de datos; y
cifrar (1008) al menos la copia del objeto (24) de datos y dicho uno o más elementos de control del uso empleando el procedimiento (1007) de seguridad definido por el elemento de control de seguridad para crear un paquete de datos seguro que esté preparado para la transferencia a un usuario.
2. Método según la reivindicación 1, en el que la etapa de cifrado comprende cifrar el objeto (24) de datos y el conjunto general de datos (50) de control.
3. Método según cualquiera de las reivindicaciones anteriores, en el que la etapa de proporcionar un conjunto general de datos (50) de control comprende proporcionar un elemento de control del formato que identifica el formato de los datos (50) de control.
4. Método según cualquiera de las reivindicaciones anteriores, que comprende las siguientes etapas adicionales:
-
proporcionar, como respuesta a una solicitud de autorización de uso del objeto (24) de datos por parte de un usuario, un conjunto de usuario de datos (60) de control que comprende al menos un subconjunto del conjunto general de datos (50) de control, que incluye al menos uno de dichos elementos de control del uso;
-
utilizar el conjunto de usuario de datos (60) de control en lugar del conjunto general de datos (50) de control en dicha etapa (1006) de concatenación;
-
utilizar el al menos un elemento de control del uso del conjunto de usuario de datos (60) de control en lugar del uno o varios elementos de control del uso del conjunto general de datos (50) de control en la etapa (1008) de cifrado; y
-
comprobar, antes de permitir la transferencia del paquete de datos al usuario, que dicha solicitud de autorización de uso del objeto de datos se ha concedido.
5. Método según cualquiera de las reivindicaciones anteriores, que comprende adicionalmente las etapas de recibir en dicho procesador de datos una solicitud de autorización de uso por parte de un usuario; comparar el uso para el que se solicita autorización con dichos uno o varios elementos de control del uso del conjunto general de datos (50) de control y conceder la autorización si el uso para el que se solicita la autorización cumple con los usos definidos por dichos uno o varios elementos de control del uso.
6. Método según la reivindicación 5, que comprende además la etapa de asegurar el pago de la autorización de uso solicitada antes de conceder la autorización.
7. Método según una de las reivindicaciones 4 a 6, en el que el objeto de datos está compuesto por al menos dos objetos de datos constitutivos, y en el que el conjunto de usuario de datos de control, como respuesta a una solicitud de autorización de uso de uno de dichos objetos de datos constitutivos por parte de un usuario, se crea únicamente para ese objeto de datos constitutivo y sólo se concatena con una copia segura de ese objeto de datos constitutivo.
8. Método según cualquiera de las reivindicaciones 4 a 7, en el que el procesador (10) de datos del proveedor de datos está conectado a una red de datos y la solicitud de autorización se recibe desde un procesador de datos del usuario que también está conectado a la red de datos, y comprende además la etapa de transferir el paquete de datos, a través de la red de datos, al procesador de datos del usuario.
9. Método según cualquiera de las reivindicaciones 4 a 6 u 8, en el que el objeto de datos es un objeto de datos compuesto que incluye al menos dos objetos de datos constitutivos, y en el que la etapa de proporcionar un conjunto general de datos (50) de control comprende la etapa de proporcionar un conjunto general de datos (50) de control respectivo para cada uno de los objetos de datos constitutivos y el objeto de datos compuesto, y en el que la etapa de proporcionar un conjunto de usuario de datos de control comprende la etapa de proporcionar un conjunto de usuario de datos (60) de control respectivo para cada uno de los objetos de datos constitutivos y el objeto de datos compuesto.
10. Método según cualquiera de las reivindicaciones 4 a 9, que comprende la etapa adicional de almacenar una copia del conjunto de usuario de datos (60) de control en el procesador del proveedor del objeto de datos.
11. Método según cualquiera de las reivindicaciones anteriores, que comprende las siguientes etapas adicionales:
-
recibir el paquete de datos en un procesador de datos del usuario;
-
almacenar el paquete de datos en un dispositivo (11) de memoria al que puede accederse mediante el procesador de datos del usuario;
-
descifrar dicho uno o varios elementos de control del uso;
-
comprobar, como respuesta a una solicitud del usuario para el uso del objeto (24) de datos, si el uso solicitado cumple con el uso definido por el al menos un elemento de control del uso del conjunto general de datos (50) de control; y
-
como respuesta a que el uso solicitado cumple con el uso definido por el al menos un elemento de control del uso del conjunto general de datos de control, descifrar el objeto de datos llevando a cabo un procedimiento definido por el elemento de control de seguridad, y permitir el uso solicitado, o en caso contrario, deshabilitarlo.
12. Método según cualquiera de las reivindicaciones 4 a 10, que comprende las siguientes etapas adicionales:
-
recibir el paquete de datos en un procesador de datos del usuario;
-
almacenar el paquete de datos en un dispositivo de memoria al que puede accederse por medio del procesador de datos del usuario;
-
descifrar el al menos un elemento de control del uso del conjunto de usuario de datos (60) de control;
-
comprobar, como respuesta a una solicitud del usuario para el uso del objeto de datos, si el uso solicitado cumple con el uso definido por el al menos un elemento de control del uso del conjunto de usuario de datos (60) de control; y
-
como respuesta a que el uso solicitado cumple con el uso definido por el al menos un elemento de control del uso del conjunto de usuario de datos de control, descifrar el objeto de datos llevando a cabo un procedimiento definido por el elemento de control de seguridad, y habilitar el uso solicitado, o en caso contrario, deshabilitarlo.
13. Método según la reivindicación 11 ó 12, que comprende las etapas adicionales de concatenar nuevamente, tras el uso del objeto de datos, el objeto de datos y el uno o varios elementos de control del uso, volver a cifrar al menos el objeto de datos y el uno o varios elementos de control del uso, y almacenar el paquete de datos empaquetado nuevamente de esta manera en la memoria (11) del procesador de datos del usuario.
14. Método para controlar el uso por parte de un usuario de un objeto de datos para que cumpla con condiciones de control del uso del objeto de datos, que comprende las siguientes etapas:
-
proporcionar un número variable de condiciones de control para el uso del objeto de datos;
-
almacenar el paquete de datos en un dispositivo (11) de memoria al que puede accederse por medio de un procesador de datos del usuario, dicho paquete de datos comprende datos de control y una copia del objeto de datos, y los datos de control comprenden al menos un elemento de control del uso que define un uso del objeto de datos que cumple el número variable de condiciones de control y un identificador que sólo identifica los datos de control, comprendiendo también los datos de control un elemento de control de seguridad que define un procedimiento de seguridad; y habiéndose cifrado (1008) la copia del objeto de datos y dicho al menos un elemento de control del uso empleando el procedimiento de seguridad;
-
recibir una solicitud por parte del usuario para el uso del objeto de datos;
-
descifrar (1505) los datos de control;
-
comprobar, como respuesta a la solicitud del usuario para el uso del objeto de datos, si el uso solicitado cumple con el uso definido por el al menos un elemento de control del uso de los datos de control; y
-
como respuesta a que el uso solicitado cumple con el uso definido por el al menos un elemento de control del uso de los datos de control, descifrar (1514, 1515) el objeto de datos llevando a cabo un procedimiento definido por el elemento de control de seguridad, y permitir el uso solicitado, o en caso contrario, deshabilitarlo.
15. Método según la reivindicación 14, en el que el elemento de control del uso se actualiza tras el uso del objeto de datos.
16. Método según la reivindicación 14 ó 15, en el que dichos datos de control comprenden una indicación del número de veces que el usuario está autorizado a usar el objeto de datos de acuerdo con dicho al menos un elemento de control del uso; en el que el uso solicitado del objeto de datos sólo se permite cuando dicho número de veces es uno o más; y en el que dicho número de veces se reduce una unidad cuando se permite el uso solicitado.
17. Método según una cualquiera de las reivindicaciones 14 a 16, en el que la etapa de comprobar si el uso solicitado cumple con el uso definido por el al menos un elemento de control del uso comprende la etapa de comprobar que el procesador de datos del usuario es capaz de llevar a cabo el procedimiento de seguridad especificado en el elemento de control de seguridad de los datos de control y, si no es así, deshabilitar el uso.
18. Método según una cualquiera de las reivindicaciones 14 a 17, que comprende las etapas adicionales de concatenar nuevamente, tras el uso del objeto (24) de datos, el objeto (24) de datos y el uno o varios elementos de control del uso, volver a cifrar al menos el objeto de datos y el uno o varios elementos de control del uso, y almacenar el paquete de datos empaquetado nuevamente de esta manera en la memoria del procesador de datos del usuario.
19. Sistema para gestionar un objeto (24) de datos para que cumpla condiciones de control del uso del objeto de datos, que comprende:
-
medios para proporcionar un número variable de condiciones de control;
-
un primer medio (304) en el procesador de datos del proveedor de objetos de datos para proporcionar un conjunto general de datos de control basado en el número variable de condiciones de control del uso, comprendiendo dicho conjunto general de datos de control al menos uno o varios elementos de control del uso que definen usos del objeto (24) de datos que cumplen el número variable de condiciones de control y un identificador que identifica únicamente el conjunto general de datos (50) de control, comprendiendo también dicho conjunto general de datos de control un elemento de control de seguridad que define un procedimiento de seguridad;
-
medios (11) de almacenamiento al que puede accederse mediante dicho procesador de datos para almacenar el conjunto general de datos de control;
-
módulos (307) de seguridad para llevar a cabo el procedimiento de seguridad definido por el elemento de control de seguridad en el objeto (24) de datos;
-
un medio de concatenación para concatenar el conjunto general de datos de control con una copia del objeto de datos; y
-
medios (305) de cifrado para cifrar la copia del objeto de datos y al menos dichos uno o varios elementos de control del uso empleando el procedimiento de seguridad de los módulos (307) de seguridad para crear un paquete de datos seguro que esté preparado para la transferencia a un usuario.
20. Sistema según la reivindicación 19, que comprende adicionalmente:
-
segundos medios en dicho procesador de datos para proporcionar, como respuesta a una solicitud de autorización de uso del objeto de datos por parte de un usuario, un conjunto de usuario de datos de control que comprende al menos un subconjunto del conjunto general de datos de control, comprendiendo dicho subconjunto al menos uno de dichos elementos de control del uso; y
-
medios de comprobación en dicho procesador de datos para comprobar que se ha concedido dicha solicitud de autorización para el uso del objeto de datos antes de permitir la transferencia del paquete de datos al usuario.
21. Sistema según la reivindicación 19 ó 20, en el que el conjunto general de datos de control comprende un elemento (50) de datos de control que define el derecho a la distribución adicional del objeto de datos por parte del usuario.
22. Sistema para controlar el uso por parte de un usuario de un objeto de datos para que cumpla las condiciones de control para el uso del objeto (24) de datos, que comprende:
-
medios para proporcionar un número variable de condiciones de control,
-
medios (11) de almacenamiento para almacenar un paquete (40) de datos que comprende datos de control y un objeto de datos, comprendiendo los datos de control al menos un elemento de control del uso que define un uso del objeto de datos que cumple el número variable de condiciones de control y un identificador que identifica únicamente los datos de control, comprendiendo también los datos de control un elemento de control que define un procedimiento de seguridad que se ha aplicado al objeto de datos para cifrar el objeto de datos;
-
medios para descifrar el al menos un elemento de control del uso;
-
medios de comprobación para comprobar si un uso solicitado por el usuario cumple con el uso definido por dicho al menos un elemento de control del uso;
-
medios de habilitación para descifrar el objeto de datos y permitir el uso solicitado por el usuario cuando el uso cumple con el uso definido por dicho al menos un elemento de control del uso; y
-
medios de deshabilitación para deshabilitar el uso solicitado por el usuario cuando el uso no cumple con el uso definido por dicho al menos un elemento de control del uso.
23. Sistema según la reivindicación 22, que comprende adicionalmente medios para empaquetar nuevamente el objeto de datos tras el uso del mismo.
24. Método según la reivindicación 14, que comprende adicionalmente:
-
almacenar al menos dos paquetes de datos en un dispositivo (11) de memoria al que puede accederse por medio de un procesador de datos del usuario, comprendiendo cada uno de dichos paquetes de datos un objeto de datos y un conjunto de usuario de datos de control que comprende al menos un elemento de control del uso que define un uso del objeto de datos que cumple el número variable de condiciones de control, y habiéndose cifrado el objeto de datos y dicho al menos un elemento de control del uso mediante la aplicación del procedimiento de seguridad;
-
descifrar (1505) los elementos de control del uso de los conjuntos de usuario de datos de control;
-
examinar los elementos de control del uso de dichos al menos dos paquetes de datos para hallar una coincidencia; y
-
utilizar, como respuesta a que se ha hallado una coincidencia, el procesador de datos para llevar a cabo una acción que está especificada en los conjuntos de usuario de datos de control.
25. Método según la reivindicación 24, que comprende las etapas adicionales de actualizar el al menos un elemento de control del uso de cada uno de los paquetes de datos, concatenar, tras el uso de los objetos de datos, cada uno de los objetos de datos y su al menos un elemento de control del uso, volver a cifrar cada uno de los objetos de datos concatenados y su al menos un elemento de control del uso y transferir los objetos de datos empaquetados nuevamente a sus proveedores.
ES96902548T 1995-02-01 1996-02-01 Metodo y sistema para gestionar un objeto de datos que cumpla condiciones de uso predeterminadas. Expired - Lifetime ES2260769T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE9500355A SE504085C2 (sv) 1995-02-01 1995-02-01 Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare
SE9500355 1995-02-01

Publications (1)

Publication Number Publication Date
ES2260769T3 true ES2260769T3 (es) 2006-11-01

Family

ID=20397045

Family Applications (2)

Application Number Title Priority Date Filing Date
ES05020699.4T Expired - Lifetime ES2447440T3 (es) 1995-02-01 1996-02-01 Un procedimiento y un sistema para gestionar un objeto de datos para cumplir con condiciones de uso predeterminadas
ES96902548T Expired - Lifetime ES2260769T3 (es) 1995-02-01 1996-02-01 Metodo y sistema para gestionar un objeto de datos que cumpla condiciones de uso predeterminadas.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES05020699.4T Expired - Lifetime ES2447440T3 (es) 1995-02-01 1996-02-01 Un procedimiento y un sistema para gestionar un objeto de datos para cumplir con condiciones de uso predeterminadas

Country Status (8)

Country Link
US (5) US5845281A (es)
EP (5) EP1643338B1 (es)
JP (2) JPH10513289A (es)
AU (1) AU4681496A (es)
DE (1) DE69636050T2 (es)
ES (2) ES2447440T3 (es)
SE (1) SE504085C2 (es)
WO (1) WO1996024092A2 (es)

Families Citing this family (364)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831516B2 (en) 1992-12-15 2010-11-09 Sl Patent Holdings Llc System and method for redistributing and licensing access to protected information among a plurality of devices
US7089212B2 (en) 1992-12-15 2006-08-08 Sl Patent Holdings Llc System and method for controlling access to protected information
US6266654B1 (en) * 1992-12-15 2001-07-24 Softlock.Com, Inc. Method for tracking software lineage
US6611607B1 (en) 1993-11-18 2003-08-26 Digimarc Corporation Integrating digital watermarks in multimedia content
US6408082B1 (en) 1996-04-25 2002-06-18 Digimarc Corporation Watermark detection using a fourier mellin transform
US6122403A (en) 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects
US6681028B2 (en) 1995-07-27 2004-01-20 Digimarc Corporation Paper-based control of computer systems
US5841978A (en) 1993-11-18 1998-11-24 Digimarc Corporation Network linking method using steganographically embedded data objects
US6983051B1 (en) * 1993-11-18 2006-01-03 Digimarc Corporation Methods for audio watermarking and decoding
US6424725B1 (en) 1996-05-16 2002-07-23 Digimarc Corporation Determining transformations of media signals with embedded code signals
US7676059B2 (en) * 1994-10-21 2010-03-09 Digimarc Corporation Video steganography or encoding
US6681029B1 (en) 1993-11-18 2004-01-20 Digimarc Corporation Decoding steganographic messages embedded in media signals
US6522770B1 (en) 1999-05-19 2003-02-18 Digimarc Corporation Management of documents and other objects using optical devices
US6560349B1 (en) 1994-10-21 2003-05-06 Digimarc Corporation Audio monitoring using steganographic information
US8094949B1 (en) 1994-10-21 2012-01-10 Digimarc Corporation Music methods and systems
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US6963859B2 (en) 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
US6988025B2 (en) * 2000-11-28 2006-01-17 Power Measurement Ltd. System and method for implementing XML on an energy management device
SE504085C2 (sv) * 1995-02-01 1996-11-04 Greg Benson Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
CN100452071C (zh) 1995-02-13 2009-01-14 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7095854B1 (en) * 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US6948070B1 (en) * 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US8639625B1 (en) 1995-02-13 2014-01-28 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US6760463B2 (en) * 1995-05-08 2004-07-06 Digimarc Corporation Watermarking methods and media
US6738495B2 (en) * 1995-05-08 2004-05-18 Digimarc Corporation Watermarking enhanced to withstand anticipated corruptions
US6549942B1 (en) 1995-05-25 2003-04-15 Audiohighway.Com Enhanced delivery of audio data for portable playback
US7095871B2 (en) * 1995-07-27 2006-08-22 Digimarc Corporation Digital asset management and linking media signals with related data using watermarks
US7171018B2 (en) 1995-07-27 2007-01-30 Digimarc Corporation Portable devices and methods employing digital watermarking
US6505160B1 (en) 1995-07-27 2003-01-07 Digimarc Corporation Connected audio and other media objects
US6408331B1 (en) 1995-07-27 2002-06-18 Digimarc Corporation Computer linking methods using encoded graphics
US6411725B1 (en) 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
US6829368B2 (en) 2000-01-26 2004-12-07 Digimarc Corporation Establishing and interacting with on-line media collections using identifiers in media signals
US7006661B2 (en) 1995-07-27 2006-02-28 Digimarc Corp Digital watermarking systems and methods
US7051086B2 (en) 1995-07-27 2006-05-23 Digimarc Corporation Method of linking on-line data to printed documents
US7047241B1 (en) 1995-10-13 2006-05-16 Digimarc Corporation System and methods for managing digital creative works
US6807534B1 (en) 1995-10-13 2004-10-19 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
JP2991099B2 (ja) * 1996-01-26 1999-12-20 富士ゼロックス株式会社 署名装置および方法
US6530019B1 (en) * 1996-06-12 2003-03-04 Dell U.S.A., L.P. Disk boot sector for software contract enforcement
US7146327B1 (en) * 1996-07-01 2006-12-05 Electronic Data Systems Corporation Electronic publication distribution method and system
NO304049B1 (no) * 1996-07-18 1998-10-12 Rnsen Sigurd Sigbj FremgangsmÕte og anordning for Õ hindre utvalgte opplysninger i en database fra Õ bli utnyttet uten tillatelse, samt fremgangsmÕte og anordning for Õ gj°re det mulig Õ utnytte innhold i en database bare sammen med en tilh°rende tillatelse
DE69735486T2 (de) * 1996-07-22 2006-12-14 Cyva Research Corp., San Diego Werkzeug zur sicherheit und zum austauch von persönlichen daten
US7366908B2 (en) 1996-08-30 2008-04-29 Digimarc Corporation Digital watermarking with content dependent keys and autocorrelation properties for synchronization
AU7106296A (en) 1996-09-04 1998-03-26 Intertrust Technologies Corp. Trusted infrastructure support systems, methods and techniques for secure electronic commerce, electronic transactions, commerce process control and automation, distributed computing, and rights management
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
SE513104C2 (sv) * 1997-01-09 2000-07-10 Buyonet International Inc System och metod för säker dataöverföring över elektronisk länk
US6141698A (en) * 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US5920861A (en) * 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6233684B1 (en) 1997-02-28 2001-05-15 Contenaguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermaking
JP3994466B2 (ja) * 1997-03-26 2007-10-17 ソニー株式会社 ユーザ端末及び携帯再生装置
CA2285027C (en) * 1997-03-27 2009-01-06 British Telecommunications Public Limited Company Copy protection of data
US6112181A (en) 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
JPH11224288A (ja) 1998-02-06 1999-08-17 Hitachi Ltd 利用条件販売型デジタルコンテンツ販売電子モールシステム
US6324650B1 (en) * 1998-03-16 2001-11-27 John W.L. Ogilvie Message content protection and conditional disclosure
CN1292960A (zh) * 1998-03-27 2001-04-25 Ipdn公司 信息发行系统
US6374268B1 (en) * 1998-04-14 2002-04-16 Hewlett-Packard Company Methods and systems for an incremental file system
US7689532B1 (en) 2000-07-20 2010-03-30 Digimarc Corporation Using embedded data with file sharing
US7756892B2 (en) * 2000-05-02 2010-07-13 Digimarc Corporation Using embedded data with file sharing
US7602940B2 (en) 1998-04-16 2009-10-13 Digimarc Corporation Steganographic data hiding using a device clock
JPH11328033A (ja) * 1998-05-20 1999-11-30 Fujitsu Ltd ライセンス委譲装置
US6535919B1 (en) * 1998-06-29 2003-03-18 Canon Kabushiki Kaisha Verification of image data
JP3216607B2 (ja) * 1998-07-29 2001-10-09 日本電気株式会社 デジタル著作物流通システム及び方法、デジタル著作物再生装置及び方法、並びに記録媒体
SG85661A1 (en) * 1998-08-12 2002-01-15 Nippon Telegraph & Telephone Recording medium with a signed hypertext recorded thereon, signed hypertext generating method and apparatus, and signed hypertext verifying method and apparatus
US6959288B1 (en) * 1998-08-13 2005-10-25 International Business Machines Corporation Digital content preparation system
US6324646B1 (en) * 1998-09-11 2001-11-27 International Business Machines Corporation Method and system for securing confidential data in a computer network
US8332478B2 (en) * 1998-10-01 2012-12-11 Digimarc Corporation Context sensitive connected content
US6751670B1 (en) 1998-11-24 2004-06-15 Drm Technologies, L.L.C. Tracking electronic component
US6813640B1 (en) * 1998-12-08 2004-11-02 Macrovision Corporation System and method for controlling the editing by user action of digital objects created in a document server application
US6324526B1 (en) * 1999-01-15 2001-11-27 D'agostino John System and method for performing secure credit card purchases
US7127515B2 (en) 1999-01-15 2006-10-24 Drm Technologies, Llc Delivering electronic content
US7130831B2 (en) 1999-02-08 2006-10-31 Copyright Clearance Center, Inc. Limited-use browser and security system
AU2627400A (en) * 1999-02-16 2000-09-04 Cyberstar, L.P. Content provider management system and method
US6615349B1 (en) 1999-02-23 2003-09-02 Parsec Sight/Sound, Inc. System and method for manipulating a computer file and/or program
US6868497B1 (en) * 1999-03-10 2005-03-15 Digimarc Corporation Method and apparatus for automatic ID management
US6973444B1 (en) 1999-03-27 2005-12-06 Microsoft Corporation Method for interdependently validating a digital content package and a corresponding digital license
US6829708B1 (en) 1999-03-27 2004-12-07 Microsoft Corporation Specifying security for an element by assigning a scaled value representative of the relative security thereof
US7073063B2 (en) * 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
US7319759B1 (en) 1999-03-27 2008-01-15 Microsoft Corporation Producing a new black box for a digital rights management (DRM) system
US7024393B1 (en) 1999-03-27 2006-04-04 Microsoft Corporation Structural of digital rights management (DRM) system
US7051005B1 (en) 1999-03-27 2006-05-23 Microsoft Corporation Method for obtaining a black box for performing decryption and encryption functions in a digital rights management (DRM) system
US20020012432A1 (en) * 1999-03-27 2002-01-31 Microsoft Corporation Secure video card in computing device having digital rights management (DRM) system
US6816596B1 (en) 2000-01-14 2004-11-09 Microsoft Corporation Encrypting a digital object based on a key ID selected therefor
US7383205B1 (en) 1999-03-27 2008-06-03 Microsoft Corporation Structure of a digital content package
US7136838B1 (en) 1999-03-27 2006-11-14 Microsoft Corporation Digital license and method for obtaining/providing a digital license
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
US6944776B1 (en) 1999-04-12 2005-09-13 Microsoft Corporation System and method for data rights management
US6966002B1 (en) 1999-04-30 2005-11-15 Trymedia Systems, Inc. Methods and apparatus for secure distribution of software
US7360252B1 (en) 1999-04-30 2008-04-15 Macrovision Corporation Method and apparatus for secure distribution of software
US20020032734A1 (en) 2000-07-26 2002-03-14 Rhoads Geoffrey B. Collateral data combined with user characteristics to select web site
US20050251686A1 (en) * 1999-06-09 2005-11-10 Andres Torrubia-Saez Methods and apparatus for secure distribution of software
US8103542B1 (en) 1999-06-29 2012-01-24 Digimarc Corporation Digitally marked objects and promotional methods
JP4599657B2 (ja) * 1999-07-07 2010-12-15 ソニー株式会社 データ提供システム、コンテンツ提供装置、およびコンテンツ処理装置
CN1967559A (zh) * 1999-07-06 2007-05-23 索尼株式会社 数据提供系统、装置及其方法
AU779120B2 (en) 1999-08-02 2005-01-06 Harris Interactive, Inc. System for protecting information over the internet
US7406603B1 (en) 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
AU1115001A (en) * 1999-10-22 2001-05-08 Activesky, Inc. An object oriented video system
AU776920B2 (en) * 1999-10-25 2004-09-23 Sony Corporation Method for managing content data
GB9925227D0 (en) * 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
US6401066B1 (en) 1999-11-09 2002-06-04 West Teleservices Holding Company Automated third party verification system
JP3677001B2 (ja) * 1999-12-03 2005-07-27 三洋電機株式会社 データ配信システムおよびそれに用いられる記録装置
US7472353B1 (en) * 1999-12-16 2008-12-30 Ricoh Co., Ltd. Remote console for network application servers
US6970849B1 (en) 1999-12-17 2005-11-29 Microsoft Corporation Inter-server communication using request with encrypted parameter
US7047411B1 (en) 1999-12-17 2006-05-16 Microsoft Corporation Server for an electronic distribution system and method of operating same
EP1515213B1 (en) * 1999-12-17 2016-06-29 Microsoft Technology Licensing, LLC System and method for accessing protected content in a rights-management architecture
US7343327B2 (en) 1999-12-17 2008-03-11 Sony Corporation Method and apparatus for information processing, and medium for storing program
US6996720B1 (en) * 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
EP1830552A1 (en) * 1999-12-28 2007-09-05 Sony Corporation Image commercial transactions system and method
EP1133157A3 (en) 1999-12-28 2004-10-27 Sony Corporation Image commercial transactions system and method, image transfer system and method, image distribution system and method, display device and method
CA2395719A1 (en) * 1999-12-29 2001-07-05 Pitney Bowes Inc. Method and system for selling a digital content product in an online commercial transaction
US7647278B1 (en) * 1999-12-29 2010-01-12 Pitney Bowes Inc. Method for facilitating a transaction between a merchant and a buyer
US7353209B1 (en) 2000-01-14 2008-04-01 Microsoft Corporation Releasing decrypted digital content to an authenticated path
US6772340B1 (en) 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
WO2001052018A1 (en) * 2000-01-14 2001-07-19 Microsoft Corporation Specifying security for an element by assigning a scaled value representative of the relative security thereof
US6912528B2 (en) 2000-01-18 2005-06-28 Gregg S. Homer Rechargeable media distribution and play system
CN1215718C (zh) * 2000-01-31 2005-08-17 佳能株式会社 数据处理装置、数据处理系统、数据处理方法以及存储媒体
US7136528B2 (en) 2000-02-11 2006-11-14 Sony Corporation System and method for editing digital images
US8407595B1 (en) 2000-02-11 2013-03-26 Sony Corporation Imaging service for automating the display of images
US7810037B1 (en) 2000-02-11 2010-10-05 Sony Corporation Online story collaboration
US7262778B1 (en) 2000-02-11 2007-08-28 Sony Corporation Automatic color adjustment of a template design
EP1132796A1 (en) * 2000-03-08 2001-09-12 Universite Catholique De Louvain Mobile code and method for resource management for mobile code
US20070271191A1 (en) * 2000-03-09 2007-11-22 Andres Torrubia-Saez Method and apparatus for secure distribution of software
US7127744B2 (en) 2000-03-10 2006-10-24 Digimarc Corporation Method and apparatus to protect media existing in an insecure format
US6954895B1 (en) * 2000-03-22 2005-10-11 Autodesk, Inc. Method and apparatus for using and storing objects
CA2341979A1 (en) * 2000-03-24 2001-09-24 Contentguard Holdings, Inc. System and method for protection of digital works
US7200230B2 (en) * 2000-04-06 2007-04-03 Macrovision Corporation System and method for controlling and enforcing access rights to encrypted media
JP4708591B2 (ja) * 2000-04-14 2011-06-22 キヤノン株式会社 情報処理システム、情報処理装置、情報処理方法及びプログラム
US8234203B1 (en) 2000-05-12 2012-07-31 Adventive, Inc. E-commerce system including online automatable inventory monitor and control system
GB2372354B (en) * 2000-06-05 2004-07-07 Sealedmedia Ltd Digital rights management
US7171692B1 (en) 2000-06-27 2007-01-30 Microsoft Corporation Asynchronous communication within a server arrangement
US7158953B1 (en) * 2000-06-27 2007-01-02 Microsoft Corporation Method and system for limiting the use of user-specific software features
US6891953B1 (en) 2000-06-27 2005-05-10 Microsoft Corporation Method and system for binding enhanced software features to a persona
US7051200B1 (en) 2000-06-27 2006-05-23 Microsoft Corporation System and method for interfacing a software process to secure repositories
US6981262B1 (en) 2000-06-27 2005-12-27 Microsoft Corporation System and method for client interaction in a multi-level rights-management architecture
US7017189B1 (en) * 2000-06-27 2006-03-21 Microsoft Corporation System and method for activating a rendering device in a multi-level rights-management architecture
US7539875B1 (en) 2000-06-27 2009-05-26 Microsoft Corporation Secure repository with layers of tamper resistance and system and method for providing same
US7225159B2 (en) * 2000-06-30 2007-05-29 Microsoft Corporation Method for authenticating and securing integrated bookstore entries
US20020046045A1 (en) * 2000-06-30 2002-04-18 Attila Narin Architecture for an electronic shopping service integratable with a software application
EP1182874A1 (en) * 2000-08-24 2002-02-27 Canal+ Technologies Société Anonyme Digital content protection system
US7010808B1 (en) 2000-08-25 2006-03-07 Microsoft Corporation Binding digital content to a portable storage device or the like in a digital rights management (DRM) system
US7603319B2 (en) * 2000-08-28 2009-10-13 Contentguard Holdings, Inc. Method and apparatus for preserving customer identity in on-line transactions
US7743259B2 (en) 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US6768942B1 (en) * 2000-09-18 2004-07-27 Navigation Technologies Corp. Navigation system with decryption functions and secure geographic database
US7613917B1 (en) * 2000-09-18 2009-11-03 Navteq North America, Llc Method and system for mass distribution of geographic data for navigation systems
US7149722B1 (en) 2000-09-28 2006-12-12 Microsoft Corporation Retail transactions involving distributed and super-distributed digital content in a digital rights management (DRM) system
US7039615B1 (en) 2000-09-28 2006-05-02 Microsoft Corporation Retail transactions involving digital content in a digital rights management (DRM) system
JP4067757B2 (ja) * 2000-10-31 2008-03-26 株式会社東芝 プログラム配布システム
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
WO2002059713A2 (en) * 2000-11-07 2002-08-01 Aspsecure Corporation Methods for trusted messaging
FI113898B (fi) * 2000-11-21 2004-06-30 Nokia Corp Menetelmä sisällön tuottamiseksi langattomaan viestintälaitteeseen
US7266704B2 (en) 2000-12-18 2007-09-04 Digimarc Corporation User-friendly rights management systems and methods
US8055899B2 (en) 2000-12-18 2011-11-08 Digimarc Corporation Systems and methods using digital watermarking and identifier extraction to provide promotional opportunities
GB2371636A (en) * 2000-12-21 2002-07-31 Nokia Oyj Content Distribution System
US6912294B2 (en) 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US7028009B2 (en) 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US8069116B2 (en) 2001-01-17 2011-11-29 Contentguard Holdings, Inc. System and method for supplying and managing usage rights associated with an item repository
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
GB2388452A (en) * 2001-01-25 2003-11-12 Sony Electronics Inc A computerized method and server for brokering digital content between a buyer and a seller
US8121871B2 (en) 2001-01-26 2012-02-21 Genworth Financial, Inc. System, method and software application for accessing and processing information
US7953636B2 (en) * 2001-02-21 2011-05-31 Genworth Financial, Inc. System and method for providing customized sales-related data over a network
GB0107215D0 (en) * 2001-03-22 2001-05-16 Wraptech Ltd Distribution system amd method of operation thereof
US20020152158A1 (en) * 2001-04-12 2002-10-17 International Business Machines Corporation Digital money with usage-control
US7188342B2 (en) * 2001-04-20 2007-03-06 Microsoft Corporation Server controlled branding of client software deployed over computer networks
US7046819B2 (en) 2001-04-25 2006-05-16 Digimarc Corporation Encoded reference signal for digital watermarks
KR20040007621A (ko) * 2001-05-29 2004-01-24 마쯔시다덴기산교 가부시키가이샤 이용권 관리 장치
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US6895503B2 (en) 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US7725401B2 (en) 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US7774280B2 (en) 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
JP2004530222A (ja) 2001-06-07 2004-09-30 コンテントガード ホールディングズ インコーポレイテッド ディジタルライツ・マネジメント・システムで多数の信頼ゾーンをサポートする方法および装置
US6948073B2 (en) * 2001-06-27 2005-09-20 Microsoft Corporation Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US7239708B2 (en) * 2001-06-27 2007-07-03 Microsoft Corporation Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US7421411B2 (en) 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US7904454B2 (en) 2001-07-16 2011-03-08 International Business Machines Corporation Database access security
US6549980B2 (en) 2001-07-19 2003-04-15 Dell Pruducts L.P. Manufacturing process for software raid disk sets in a computer system
US7249107B2 (en) * 2001-07-20 2007-07-24 Microsoft Corporation Redistribution of rights-managed content
US7063264B2 (en) 2001-12-24 2006-06-20 Digimarc Corporation Covert variable information on identification documents and methods of making same
US20030051172A1 (en) * 2001-09-13 2003-03-13 Lordemann David A. Method and system for protecting digital objects distributed over a network
US20030055848A1 (en) * 2001-09-17 2003-03-20 Dickinson Katherine V. G. Method and apparatus for automatically archiving and clearing intellectual property
US20030055786A1 (en) * 2001-09-20 2003-03-20 International Business Machines Corporation Credit card transaction authority by content rating
WO2003038704A1 (fr) * 2001-10-31 2003-05-08 Matsushita Electric Industrial Co., Ltd. Dispositif de transfert et recepteur d'informations de contenu
EP1451814A4 (en) * 2001-11-15 2009-05-06 Sony Music Entertainment Inc SYSTEM AND METHOD FOR CONTROLLING THE USE AND DUPLICATION OF DIGITAL CONTENT DISTRIBUTED ON INTERCHANGEABLE MEDIA
US7840488B2 (en) 2001-11-20 2010-11-23 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions
US7974923B2 (en) 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
EP1485833A4 (en) 2001-11-20 2005-10-12 Contentguard Holdings Inc EXTENSIBLE RIGHTS EXPRESSION PROCESSING SYSTEM
US8001052B2 (en) * 2001-12-10 2011-08-16 Dunkeld Bryan C System and method for unique digital asset identification and transaction management
ATE509326T1 (de) 2001-12-18 2011-05-15 L 1 Secure Credentialing Inc Mehrfachbildsicherheitsmerkmale zur identifikation von dokumenten und verfahren zu ihrer herstellung
US7694887B2 (en) 2001-12-24 2010-04-13 L-1 Secure Credentialing, Inc. Optically variable personalized indicia for identification documents
US7728048B2 (en) 2002-12-20 2010-06-01 L-1 Secure Credentialing, Inc. Increasing thermal conductivity of host polymer used with laser engraving methods and compositions
CA2470600C (en) 2001-12-24 2009-12-22 Digimarc Id Systems, Llc Systems, compositions, and methods for full color laser engraving of id documents
AU2002219608A1 (en) * 2002-01-11 2003-07-30 Fujitsu Limited Security system using optical information recording medium
GB2384331A (en) * 2002-01-19 2003-07-23 Hewlett Packard Co Access control using credentials
US7254716B1 (en) * 2002-02-13 2007-08-07 Lsi Corporation Security supervisor governing allowed transactions on a system bus
US7213269B2 (en) 2002-02-21 2007-05-01 Adobe Systems Incorporated Application rights enabling
CN100399303C (zh) * 2002-02-27 2008-07-02 松下电器产业株式会社 主机装置、再现装置、著作权管理的方法和系统及所用程序和记录媒体
US20040205508A1 (en) * 2002-03-05 2004-10-14 Microsoft Corporation Content replacement in electronically-provided archived material
EP1483717A4 (en) 2002-03-14 2006-05-24 Contentguard Holdings Inc RIGHT EXPRESSION PROFILE SYSTEM AND PROCESS WITH TEMPLATES AND PROFILES
US7805371B2 (en) 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
KR100755631B1 (ko) 2002-04-29 2007-09-04 콘텐트가드 홀딩즈 인코포레이티드 적법성 표현을 특정하고 처리하기 위한 시스템 및 방법
WO2003094513A1 (en) * 2002-04-30 2003-11-13 General Dynamics Advanced Information Systems, Inc. Method and apparatus for in-line serial data encryption
US7824029B2 (en) 2002-05-10 2010-11-02 L-1 Secure Credentialing, Inc. Identification card printer-assembler for over the counter card issuing
US7680743B2 (en) * 2002-05-15 2010-03-16 Microsoft Corporation Software application protection by way of a digital rights management (DRM) system
KR20050006159A (ko) * 2002-06-04 2005-01-15 마쯔시다덴기산교 가부시키가이샤 데이터 분배 시스템
AU2003245574A1 (en) * 2002-06-21 2004-01-06 Probix, Inc. Method and system for protecting digital objects distributed over a network using an electronic mail interface
US8909777B2 (en) * 2002-06-26 2014-12-09 Intel Corporation Systems and methods for dynamic access to program features
US20040091111A1 (en) * 2002-07-16 2004-05-13 Levy Kenneth L. Digital watermarking and fingerprinting applications
US9349411B2 (en) * 2002-07-16 2016-05-24 Digimarc Corporation Digital watermarking and fingerprinting applications for copy protection
US6925357B2 (en) * 2002-07-25 2005-08-02 Intouch Health, Inc. Medical tele-robotic system
US6996251B2 (en) * 2002-09-30 2006-02-07 Myport Technologies, Inc. Forensic communication apparatus and method
US10721066B2 (en) 2002-09-30 2020-07-21 Myport Ip, Inc. Method for voice assistant, location tagging, multi-media capture, transmission, speech to text conversion, photo/video image/object recognition, creation of searchable metatags/contextual tags, storage and search retrieval
US7778438B2 (en) 2002-09-30 2010-08-17 Myport Technologies, Inc. Method for multi-media recognition, data conversion, creation of metatags, storage and search retrieval
US7278168B1 (en) 2002-11-27 2007-10-02 Adobe Systems Incorporated Dynamic enabling of functionality in electronic document readers
US7974416B2 (en) * 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
US8660960B2 (en) 2002-11-27 2014-02-25 Adobe Systems Incorporated Document digest allowing selective changes to a document
US8195714B2 (en) 2002-12-11 2012-06-05 Leaper Technologies, Inc. Context instantiated application protocol
US7925246B2 (en) 2002-12-11 2011-04-12 Leader Technologies, Inc. Radio/telephony interoperability system
US7712673B2 (en) 2002-12-18 2010-05-11 L-L Secure Credentialing, Inc. Identification document with three dimensional image of bearer
US7793346B1 (en) * 2003-01-17 2010-09-07 Mcafee, Inc. System, method, and computer program product for preventing trojan communication
US7526347B2 (en) * 2003-02-18 2009-04-28 Fisher-Rosemount Systems, Inc. Security for objects in a process plant configuration system
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
DE10308932B4 (de) * 2003-02-28 2013-08-01 Siemens Aktiengesellschaft Verfahren zum Signalisieren von Steueranweisungen an ein Telekommunikationsgerät
GB2399724B (en) * 2003-03-15 2005-04-27 Hewlett Packard Development Co Method and system for regulating access to a service
US7225991B2 (en) 2003-04-16 2007-06-05 Digimarc Corporation Three dimensional data storage
US7395334B2 (en) * 2003-04-25 2008-07-01 International Business Machines Corporation System for determining unreturned standby resource usage
US7685642B2 (en) 2003-06-26 2010-03-23 Contentguard Holdings, Inc. System and method for controlling rights expressions by stakeholders of an item
CN100499451C (zh) * 2003-08-26 2009-06-10 中兴通讯股份有限公司 网络通信安全处理器及其数据处理方法
US7591021B2 (en) * 2003-09-05 2009-09-15 Microsoft Corporation Object model document for obfuscating object model therein
US7681035B1 (en) 2003-09-10 2010-03-16 Realnetworks, Inc. Digital rights management handler and related methods
US20050078822A1 (en) * 2003-10-08 2005-04-14 Eyal Shavit Secure access and copy protection management system
US8103592B2 (en) * 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
US7788496B2 (en) 2003-10-08 2010-08-31 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf thereof
EP1883070A3 (en) 2003-10-08 2008-02-13 Macrovision Corporation Secure access and copy protection management system
US7979911B2 (en) 2003-10-08 2011-07-12 Microsoft Corporation First computer process and second computer process proxy-executing code from third computer process on behalf of first process
US7281274B2 (en) 2003-10-16 2007-10-09 Lmp Media Llc Electronic media distribution system
US7421741B2 (en) 2003-10-20 2008-09-02 Phillips Ii Eugene B Securing digital content system and method
FR2864398A1 (fr) * 2003-12-23 2005-06-24 France Telecom Terminal de telecommunication a deux espaces d'execution
US7570761B2 (en) * 2004-02-03 2009-08-04 Trimble Navigation Limited Method and system for preventing unauthorized recording of media content in the iTunes™ environment
US7744002B2 (en) 2004-03-11 2010-06-29 L-1 Secure Credentialing, Inc. Tamper evident adhesive and identification document including same
US9003548B2 (en) 2004-04-13 2015-04-07 Nl Systems, Llc Method and system for digital rights management of documents
EP1591915A1 (en) * 2004-04-26 2005-11-02 Sap Ag Method, computer program product and computer device for processing data
EP1591914A1 (en) * 2004-04-26 2005-11-02 Sap Ag Method, computer program product and device for importing a plurality of data sets into a system
EP1591916B1 (en) * 2004-04-26 2013-11-06 Sap Ag Method, computer program and device for deleting data sets contained in a table system
EP1591861A1 (en) * 2004-04-26 2005-11-02 Sap Ag Method, computer program and device for executing actions using data sets
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US20050262568A1 (en) 2004-05-18 2005-11-24 Hansen Mark D System and method for managing access to protected content by untrusted applications
EP1621956B1 (en) * 2004-07-30 2017-05-31 Irdeto B.V. Method of providing rights data objects
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8660961B2 (en) 2004-11-18 2014-02-25 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
CN101057447B (zh) * 2004-12-03 2010-12-08 诺基亚公司 用于从服务器向移动终端设备重新分发特定编码访问对象的方法和设备
US20060143684A1 (en) * 2004-12-29 2006-06-29 Morris Robert P Method and system for allowing a user to specify actions that are to be automatically performed on data objects uploaded to a server
US20060143607A1 (en) * 2004-12-29 2006-06-29 Morris Robert P Method and system for allowing a user to create actions to be taken by a server
US7890428B2 (en) * 2005-02-04 2011-02-15 Microsoft Corporation Flexible licensing architecture for licensing digital application
US7549051B2 (en) * 2005-03-10 2009-06-16 Microsoft Corporation Long-life digital certification for publishing long-life digital content or the like in content rights management system or the like
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8738536B2 (en) * 2005-04-14 2014-05-27 Microsoft Corporation Licensing content for use on portable device
US7856404B2 (en) * 2005-04-14 2010-12-21 Microsoft Corporation Playlist burning in rights-management context
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US7693280B2 (en) 2005-04-22 2010-04-06 Microsoft Corporation Rights management system for streamed multimedia content
US8290874B2 (en) 2005-04-22 2012-10-16 Microsoft Corporation Rights management system for streamed multimedia content
US9507919B2 (en) 2005-04-22 2016-11-29 Microsoft Technology Licensing, Llc Rights management system for streamed multimedia content
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US8091142B2 (en) 2005-04-26 2012-01-03 Microsoft Corporation Supplementary trust model for software licensing/commercial digital distribution policy
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US7684566B2 (en) 2005-05-27 2010-03-23 Microsoft Corporation Encryption scheme for streamed multimedia content protected by rights management system
WO2007005843A2 (en) * 2005-06-30 2007-01-11 Verimatrix, Inc. System and method for aggregating, editing, and distributing content
US7970788B2 (en) 2005-08-02 2011-06-28 International Business Machines Corporation Selective local database access restriction
US8321690B2 (en) 2005-08-11 2012-11-27 Microsoft Corporation Protecting digital media of various content types
US7865423B2 (en) * 2005-08-16 2011-01-04 Bridgetech Capital, Inc. Systems and methods for providing investment opportunities
US20070078775A1 (en) * 2005-09-14 2007-04-05 Huapaya Luis M System and method for preventing unauthorized use of digital works
US8239682B2 (en) 2005-09-28 2012-08-07 Nl Systems, Llc Method and system for digital rights management of documents
US8229593B2 (en) * 2005-10-03 2012-07-24 International Business Machines Corporation Document destruction management
JP4481914B2 (ja) * 2005-10-11 2010-06-16 キヤノン株式会社 情報処理方法およびその装置
US7720767B2 (en) 2005-10-24 2010-05-18 Contentguard Holdings, Inc. Method and system to support dynamic rights and resources sharing
US8239226B2 (en) * 2005-11-02 2012-08-07 Sourcecode Technologies Holdings, Inc. Methods and apparatus for combining properties and methods from a plurality of different data sources
US8224853B2 (en) * 2005-11-02 2012-07-17 Sourcecode Technologies Holdings, Inc. Methods and apparatus for updating a plurality of data fields in an electronic form
US20070143305A1 (en) * 2005-11-02 2007-06-21 Sourcecode Technology Holding, Inc. Methods and apparatus for storing functions associated with an electronic form
DE202006021112U1 (de) * 2005-11-02 2012-09-24 Sourcecode Technology Holding, Inc. Vorrichtung zum Bearbeiten von Geschäftsgegenständen, elektronischen Formaten und Arbeitsabläufen
US7933923B2 (en) 2005-11-04 2011-04-26 International Business Machines Corporation Tracking and reconciling database commands
US8560456B2 (en) * 2005-12-02 2013-10-15 Credigy Technologies, Inc. System and method for an anonymous exchange of private data
KR100774172B1 (ko) * 2005-12-02 2007-11-08 엘지전자 주식회사 영상기기 및 그의 제어 방법
US7991895B2 (en) * 2005-12-09 2011-08-02 Nokia Corporation Limiting access to network functions based on personal characteristics of the user
US7725530B2 (en) 2005-12-12 2010-05-25 Google Inc. Proxy server collection of data for module incorporation into a container document
US7730082B2 (en) * 2005-12-12 2010-06-01 Google Inc. Remote module incorporation into a container document
US8185819B2 (en) 2005-12-12 2012-05-22 Google Inc. Module specification for a module to be incorporated into a container document
US7730109B2 (en) * 2005-12-12 2010-06-01 Google, Inc. Message catalogs for remote modules
JP4745822B2 (ja) * 2005-12-27 2011-08-10 キヤノン株式会社 情報処理方法およびその装置
JP2007287268A (ja) * 2006-04-19 2007-11-01 Hitachi Ltd 記録装置
US8056082B2 (en) * 2006-05-31 2011-11-08 Bluetie, Inc. Capacity management and predictive planning systems based on trended rate change of monitored factors and methods thereof
US7543236B1 (en) * 2006-06-01 2009-06-02 Adobe Systems Incorporated System and method for replacing application publisher interface branding with identity plates
US8954861B1 (en) 2006-08-07 2015-02-10 Google Inc. Administrator configurable gadget directory for personalized start pages
US8407250B2 (en) 2006-08-07 2013-03-26 Google Inc. Distribution of content document to varying users with security customization and scalability
US8185830B2 (en) 2006-08-07 2012-05-22 Google Inc. Configuring a content document for users and user groups
US9767460B2 (en) * 2006-09-18 2017-09-19 Adventive, Inc. Methods for integrating revenue generating features within a software application and systems thereof
WO2008051736A2 (en) * 2006-10-12 2008-05-02 Honeywell International Inc. Architecture for unified threat management
US20080091726A1 (en) * 2006-10-16 2008-04-17 Bluetie, Inc. Methods for scheduling and completing reservations within an application and systems thereof
US10430845B2 (en) * 2006-10-23 2019-10-01 Adventive, Inc. Systems and methods for automated purchase requests
US20080098000A1 (en) * 2006-10-23 2008-04-24 Blue Tie, Inc. System and method for storing user data in a centralized database and intelligently reducing data entry
US8091137B2 (en) * 2006-10-31 2012-01-03 Hewlett-Packard Development Company, L.P. Transferring a data object between devices
US8141100B2 (en) 2006-12-20 2012-03-20 International Business Machines Corporation Identifying attribute propagation for multi-tier processing
US8495367B2 (en) 2007-02-22 2013-07-23 International Business Machines Corporation Nondestructive interception of secure data in transit
US8161014B1 (en) * 2007-03-21 2012-04-17 ByStorm Software, LLC System and method for user file access and tracking
AU2008101325A4 (en) * 2007-05-08 2014-01-30 Sourcecode Technology Holding, Inc. Methods and apparatus for exposing workflow process definitions as business objects
US9060245B2 (en) 2007-10-30 2015-06-16 Google Technology Holdings LLC Methods and apparatus for collecting and using information regarding location object-based actions
US8489576B2 (en) * 2007-10-30 2013-07-16 Motorola Mobility Llc Methods and apparatus for using information regarding actions performed using traceable objects
US9489177B2 (en) * 2008-02-25 2016-11-08 Adventive, Inc. Methods for integrating and managing one or more features in an application and systems thereof
WO2010076582A2 (en) * 2008-03-12 2010-07-08 Lionel Poizner Theft protection method and promotion system for audio media
US8261326B2 (en) 2008-04-25 2012-09-04 International Business Machines Corporation Network intrusion blocking security overlay
US20100250955A1 (en) * 2008-10-22 2010-09-30 Paul Trevithick Brokered information sharing system
US9237310B2 (en) * 2008-11-26 2016-01-12 Thomson Licensing Method and system digital for processing digital content according to a workflow
US8429193B2 (en) * 2009-01-09 2013-04-23 International Business Machines Corporation Security control of analysis results
US8516098B2 (en) * 2009-01-13 2013-08-20 International Business Machines Corporation Improving scale between consumer systems and producer systems of resource monitoring data
US8819446B2 (en) 2009-06-26 2014-08-26 International Business Machines Corporation Support for secure objects in a computer system
US9298894B2 (en) 2009-06-26 2016-03-29 International Business Machines Corporation Cache structure for a computer system providing support for secure objects
US8578175B2 (en) 2011-02-23 2013-11-05 International Business Machines Corporation Secure object having protected region, integrity tree, and unprotected region
US8954752B2 (en) 2011-02-23 2015-02-10 International Business Machines Corporation Building and distributing secure object software
US9954875B2 (en) 2009-06-26 2018-04-24 International Business Machines Corporation Protecting from unintentional malware download
US9846789B2 (en) 2011-09-06 2017-12-19 International Business Machines Corporation Protecting application programs from malicious software or malware
JP2011151770A (ja) * 2009-12-25 2011-08-04 Npo E-Jikei Network Promotion Institute 暗号化された画像を閲覧権者に応じた強度の不鮮明化処理を施した画像を出力することを特徴とする画像暗号化システム
US9237294B2 (en) 2010-03-05 2016-01-12 Sony Corporation Apparatus and method for replacing a broadcasted advertisement based on both heuristic information and attempts in altering the playback of the advertisement
US20130232086A1 (en) * 2010-08-18 2013-09-05 Isaac S. Daniel System and method for managing content distribution and brokering royalties
US9832528B2 (en) 2010-10-21 2017-11-28 Sony Corporation System and method for merging network-based content with broadcasted programming content
US9864853B2 (en) 2011-02-23 2018-01-09 International Business Machines Corporation Enhanced security mechanism for authentication of users of a system
US9455961B2 (en) * 2011-06-16 2016-09-27 Pasafeshare Lcc System, method and apparatus for securely distributing content
US10095848B2 (en) 2011-06-16 2018-10-09 Pasafeshare Llc System, method and apparatus for securely distributing content
US9098680B2 (en) * 2011-12-22 2015-08-04 Abbvie Inc. Application security framework
US9396514B2 (en) * 2012-08-23 2016-07-19 Pixia Corp. Method and system for storing and retrieving wide-area motion imagery frames as objects on an object storage device
US8904539B2 (en) 2013-03-07 2014-12-02 Ricoh Co., Ltd. Location constraints for template access and form activities
US9258356B2 (en) * 2013-03-12 2016-02-09 International Business Machines Corporation Flow-directed collaborative communication
CN104052648A (zh) * 2013-03-12 2014-09-17 国际商业机器公司 流引导的协作通信
US9799042B2 (en) 2013-03-15 2017-10-24 Commerce Signals, Inc. Method and systems for distributed signals for use with advertising
US10771247B2 (en) 2013-03-15 2020-09-08 Commerce Signals, Inc. Key pair platform and system to manage federated trust networks in distributed advertising
US11222346B2 (en) 2013-03-15 2022-01-11 Commerce Signals, Inc. Method and systems for distributed signals for use with advertising
US20150178744A1 (en) * 2013-03-15 2015-06-25 Commerce Signals, Inc. Methods and systems for signals management
US10803512B2 (en) 2013-03-15 2020-10-13 Commerce Signals, Inc. Graphical user interface for object discovery and mapping in open systems
US9323906B2 (en) * 2013-09-04 2016-04-26 D2L Corporation Method and system for digital rights management enforcement
FR3013868B1 (fr) * 2013-11-22 2015-12-18 Oberthur Technologies Procede de transmission securisee d'une image d'un document d'identite electronique vers un terminal
US9223965B2 (en) 2013-12-10 2015-12-29 International Business Machines Corporation Secure generation and management of a virtual card on a mobile device
US9235692B2 (en) 2013-12-13 2016-01-12 International Business Machines Corporation Secure application debugging
JP6334920B2 (ja) * 2014-01-07 2018-05-30 キヤノン株式会社 権限管理サーバー及び権限管理方法
US10331895B1 (en) * 2014-01-07 2019-06-25 Amazon Technologies, Inc. Forced data transformation policy
US9519696B1 (en) 2014-01-07 2016-12-13 Amazon Technologies, Inc. Data transformation policies
US10430599B1 (en) * 2014-06-30 2019-10-01 EMC IP Holding Company LLC Filekey access to data
WO2016172474A1 (en) 2015-04-24 2016-10-27 Encryptics, Llc System and method for enhanced data protection
US9971624B2 (en) 2015-05-17 2018-05-15 Nicira, Inc. Logical processing for containers
US10078527B2 (en) * 2015-11-01 2018-09-18 Nicira, Inc. Securing a managed forwarding element that operates within a data compute node
US10063469B2 (en) 2015-12-16 2018-08-28 Nicira, Inc. Forwarding element implementation for containers
CN108664802B (zh) * 2018-03-20 2021-10-08 西安烽火软件科技有限公司 一种敏感数据保护的方法和系统
US11379560B2 (en) * 2019-03-18 2022-07-05 ServiceNow Inc. Systems and methods for license analysis
US11165777B2 (en) 2019-05-30 2021-11-02 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11138328B2 (en) 2019-05-30 2021-10-05 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11153315B2 (en) * 2019-05-30 2021-10-19 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11514140B2 (en) * 2019-07-26 2022-11-29 EMC IP Holding Company LLC Method and system for post-purchase data usage and license enforcement

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4173408A (en) 1977-08-29 1979-11-06 Xerox Corporation Demand publishing royalty accounting system for an electrostatic copier
CA1186028A (en) * 1982-06-23 1985-04-23 Microdesign Limited Method and apparatus for scrambling and unscrambling data streams using encryption and decryption
US5103392A (en) 1983-10-05 1992-04-07 Fujitsu Limited System for storing history of use of programs including user credit data and having access by the proprietor
WO1985001854A1 (en) 1983-10-07 1985-04-25 National Information Utilities Corporation Education utility
GB2163577B (en) 1984-08-23 1988-01-13 Nat Res Dev Software protection device
CA1238427A (en) 1984-12-18 1988-06-21 Jonathan Oseas Code protection using cryptography
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
DE3789808T2 (de) 1986-08-25 1994-08-18 Sony Corp Plattenanordnung und plattenähnliches speichermedium.
US5014234A (en) 1986-08-25 1991-05-07 Ncr Corporation System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software
US4827508A (en) 1986-10-14 1989-05-02 Personal Library Software, Inc. Database usage metering and protection system and method
US4817140A (en) 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
GB8702409D0 (en) 1987-02-03 1987-03-11 Gilbert H H Electrical connector
US5644727A (en) 1987-04-15 1997-07-01 Proprietary Financial Products, Inc. System for the operation and management of one or more financial accounts through the use of a digital communication and computation system for exchange, investment and borrowing
AU607756B2 (en) 1987-04-24 1991-03-14 American Laundry Machinery, Inc. Garment press
US4866769A (en) 1987-08-05 1989-09-12 Ibm Corporation Hardware assist for protecting PC software
US4937863A (en) * 1988-03-07 1990-06-26 Digital Equipment Corporation Software licensing management system
US5023907A (en) * 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US4953209A (en) * 1988-10-31 1990-08-28 International Business Machines Corp. Self-verifying receipt and acceptance system for electronically delivered data objects
US4919545A (en) * 1988-12-22 1990-04-24 Gte Laboratories Incorporated Distributed security procedure for intelligent networks
US5187790A (en) * 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
US5048085A (en) 1989-10-06 1991-09-10 International Business Machines Corporation Transaction system security method and apparatus
US5001752A (en) 1989-10-13 1991-03-19 Fischer Addison M Public/key date-time notary facility
FR2662007B1 (fr) 1990-05-10 1992-07-10 Bull Sa Procede d'obtention d'une attestation en clair securisee dans un environnement de systeme informatique distribue.
NL9001368A (nl) 1990-06-15 1992-01-02 Tel Developments B V Beveiliging van voorwerpen of dokumenten.
US5050212A (en) 1990-06-20 1991-09-17 Apple Computer, Inc. Method and apparatus for verifying the integrity of a file stored separately from a computer
US5251304A (en) 1990-09-28 1993-10-05 Motorola, Inc. Integrated circuit microcontroller with on-chip memory and external bus interface and programmable mechanism for securing the contents of on-chip memory
US5222134A (en) * 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
US5103476A (en) * 1990-11-07 1992-04-07 Waite David P Secure system for activating personal computer software at remote locations
GB2258968B (en) 1991-04-17 1994-08-31 Gec Ferranti Defence Syst A method of fixing an optical image sensor in alignment with the image plane of a lens assembly
US5504818A (en) 1991-04-19 1996-04-02 Okano; Hirokazu Information processing system using error-correcting codes and cryptography
US5291598A (en) * 1992-04-07 1994-03-01 Gregory Grundy Method and system for decentralized manufacture of copy-controlled software
JP2856595B2 (ja) * 1992-04-24 1999-02-10 富士通株式会社 ソフトウェア記憶媒体、ソフトウェア読取装置及びソフトウェア管理システム
JP2659896B2 (ja) * 1992-04-29 1997-09-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 構造化文書複製管理方法及び構造化文書複製管理装置
FR2693577A1 (fr) 1992-07-08 1994-01-14 Benlafkih Mostafa Dispositif de diffusion d'informations sans papier.
US5235642A (en) * 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5319705A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5341429A (en) 1992-12-04 1994-08-23 Testdrive Corporation Transformation of ephemeral material
US5509070A (en) 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US6266654B1 (en) 1992-12-15 2001-07-24 Softlock.Com, Inc. Method for tracking software lineage
US5315448A (en) 1993-03-18 1994-05-24 Macrovision Corporation Copy protection for hybrid digital video tape recording and unprotected source material
US5408501A (en) 1993-04-06 1995-04-18 Conner Peripherals, Inc. Data transfer system
US5400403A (en) * 1993-08-16 1995-03-21 Rsa Data Security, Inc. Abuse-resistant object distribution system and method
US5625690A (en) * 1993-11-15 1997-04-29 Lucent Technologies Inc. Software pay per use system
US5563946A (en) 1994-04-25 1996-10-08 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for passing encrypted files between data processing systems
US5606609A (en) 1994-09-19 1997-02-25 Scientific-Atlanta Electronic document verification system and method
US5629980A (en) 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5634012A (en) 1994-11-23 1997-05-27 Xerox Corporation System for controlling the distribution and use of digital works having a fee reporting mechanism
US5638443A (en) * 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
US5715403A (en) 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5646997A (en) 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
SE504085C2 (sv) 1995-02-01 1996-11-04 Greg Benson Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare
US7124302B2 (en) 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
CN100452071C (zh) 1995-02-13 2009-01-14 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
WO1997006406A1 (fr) * 1995-08-07 1997-02-20 Komatsu Ltd. Appareils de mesure de la distance et de la forme
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6021124A (en) 1997-08-19 2000-02-01 Telefonaktiebolaget Lm Ericsson Multi-channel automatic retransmission query (ARQ) method
EP1423807A2 (en) 1999-12-30 2004-06-02 Macrovision Corporation System and method for providing electronic licenses

Also Published As

Publication number Publication date
EP1674967A3 (en) 2007-03-21
EP1643338A1 (en) 2006-04-05
US8479306B1 (en) 2013-07-02
WO1996024092A3 (en) 1996-10-17
AU4681496A (en) 1996-08-21
SE9500355L (sv) 1996-08-02
EP0807283A2 (en) 1997-11-19
EP1643338B1 (en) 2013-12-11
EP1674968A3 (en) 2007-03-21
DE69636050T2 (de) 2006-11-23
EP1489480A2 (en) 2004-12-22
EP1674967A2 (en) 2006-06-28
SE504085C2 (sv) 1996-11-04
JPH10513289A (ja) 1998-12-15
WO1996024092A2 (en) 1996-08-08
DE69636050D1 (de) 2006-05-24
US20040039741A1 (en) 2004-02-26
US8479305B1 (en) 2013-07-02
SE9500355D0 (sv) 1995-02-01
ES2447440T3 (es) 2014-03-12
US8474058B2 (en) 2013-06-25
US20050177742A1 (en) 2005-08-11
EP0807283B1 (en) 2006-04-19
EP1489480A3 (en) 2005-04-20
EP1674968A2 (en) 2006-06-28
JP2006120141A (ja) 2006-05-11
US5845281A (en) 1998-12-01

Similar Documents

Publication Publication Date Title
ES2260769T3 (es) Metodo y sistema para gestionar un objeto de datos que cumpla condiciones de uso predeterminadas.
JP3503773B2 (ja) ファイルへのアクセスを保護するための方法および装置
AU2002303732B2 (en) Method and System for Creating a Digital Work
CA2596449C (en) Method and apparatus for establishing usage rights for digital content to be created in the future
KR100352018B1 (ko) 디지털콘텐츠의 부정사용방지방법 및 그 실시시스템 및 그처리프로그램을 기록한 기록매체
US7249107B2 (en) Redistribution of rights-managed content
JP2002251325A (ja) ソフトウェア・オブジェクトの配布を可能にするための方法および装置
JPH07295801A (ja) ソフトウェア・オブジェクトの配布方法
JPH07295803A (ja) ソフトウェア・オブジェクトを配布するための方法および装置
US20040078586A1 (en) Terminal apparatus capable of using a recording medium with a copyright protecting function
JPH07295799A (ja) ファイルへのアクセスを保護するための方法および装置
WO2004055650A1 (en) System to allow content sharing
KR20030075948A (ko) 디알엠 환경에서 플래쉬 컨텐츠를 사용하기 위한 범용솔루션의 제공 방법 및 시스템
Konstantas et al. Agent-based commercial dissemination of electronic information