ES2964339T3 - Dispositivo para permitir el programa, dispositivo de transacción del programa y procedimiento para permitir el programa del mismo - Google Patents

Dispositivo para permitir el programa, dispositivo de transacción del programa y procedimiento para permitir el programa del mismo Download PDF

Info

Publication number
ES2964339T3
ES2964339T3 ES13890698T ES13890698T ES2964339T3 ES 2964339 T3 ES2964339 T3 ES 2964339T3 ES 13890698 T ES13890698 T ES 13890698T ES 13890698 T ES13890698 T ES 13890698T ES 2964339 T3 ES2964339 T3 ES 2964339T3
Authority
ES
Spain
Prior art keywords
program
license verification
license
verification
ram
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.)
Active
Application number
ES13890698T
Other languages
English (en)
Inventor
Kuan-Ju Lin
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.)
BOTHNIC INFORMATION CO Ltd
Original Assignee
BOTHNIC INFORMATION CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BOTHNIC INFORMATION CO Ltd filed Critical BOTHNIC INFORMATION CO Ltd
Application granted granted Critical
Publication of ES2964339T3 publication Critical patent/ES2964339T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1076Revocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1077Recurrent authorisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

Se propone un dispositivo para permitir un programa. El programa contiene un encabezado de paquete, y el dispositivo comprende un dispositivo de almacenamiento, un sistema de archivos, un sistema operativo y un conjunto de verificación de permisos, en donde el sistema operativo recibe un comando de inicio de programa, inicia un programa y almacena el encabezado de paquete en el dispositivo de almacenamiento para que el sistema operativo lea el encabezado del paquete; y el conjunto de verificación de permisos interrumpe el sistema operativo, carga el programa en una memoria de acceso aleatorio para su ejecución y coopera con el sistema operativo o un servidor remoto para realizar la verificación de permisos. Una vez superada la verificación de permisos, el conjunto de verificación de permisos permite que el programa continúe cargándose en la memoria de acceso aleatorio para su ejecución. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Dispositivo para permitir el programa, dispositivo de transacción del programa y procedimiento para permitir el programa del mismo
Campo de la invención
Las realizaciones en la presente divulgación están relacionadas con un procedimiento de otorgar licencia de un programa, y más particularmente con un procedimiento de otorgar licencia de un programa en una nube.
Antecedentes
El almacenamiento en la nube se refiere a un modo de almacenar datos en línea en Internet, es decir, almacenar los datos en una pluralidad de servidores virtuales administrados por un agente externo, pero no en un servidor exclusivo. Un proveedor de centro de datos prepara recursos virtualizados para almacenar los datos en línea en la salida de acuerdo con las demandas de los clientes, proporciona al cliente un grupo de almacenamiento y luego el cliente puede utilizar el grupo de almacenamiento para almacenar archivos u objetos. La computación en la nube es un tipo de computación basada en Internet. A través de este procedimiento, se pueden suministrar recursos y mensajes de software y hardware compartidos al ordenador y a otros dispositivos a pedido. La computación en la nube describe un servicio complementario, uso, entrega y modo de pago de nueva tecnología de la información (IT) basado en Internet, implica funciones dinámicas de expansión de transacciones proporcionadas a través de Internet y, por lo general, implica recursos virtualizados proporcionados a través de Internet. Un usuario puede acceder al software y a los datos del servicio, y el proveedor del servicio mantiene la infraestructura y la plataforma básicas para que el servicio siga funcionando con normalidad. El servicio o el software proporcionado por el proveedor de servicios suele denominarse "software bajo demanda" y se cobra en función del tiempo de uso. El usuario sólo necesita disponer de equipos de software y hardware de baja complejidad para utilizar estos servicios, lo que puede ahorrar costes a la empresa. Debido a que la aplicación se suministra de forma centralizada, las actualizaciones de la aplicación se pueden implementar instantáneamente y el usuario no necesita realizar actualizaciones manualmente ni instalar software nuevo. Por lo tanto, la computación en la nube permite a la empresa implementar aplicaciones rápidamente, reducir la complejidad de la gestión y el coste de mantenimiento y permitir una rápida redistribución de los recursos de IT en respuesta a los rápidos cambios de los requisitos de la empresa.
El beneficio para el usuario o la empresa con respecto al concepto de nube es que no es necesario comprar todo tipo de equipos de hardware y software con una potente capacidad de procesamiento. El mantenimiento de los dispositivos de hardware y las actualizaciones del software los realiza el proveedor de servicios, y el usuario o la empresa "virtualiza" el equipo de hardware y el software tanto como sea posible. Sin embargo, el usuario o el suscriptor empresarial obtendrá un número de serie después de la compra, y el software sólo podrá utilizarse si el número de serie se verifica durante la instalación del software o la activación del programa. Generalmente, el usuario espera a que el correo electrónico adquiera el número de serie o debe obtener el número de serie en una tienda física, tardando desde minutos hasta días. Además, se puede utilizar un generador de claves para generar el número de serie o descifrar el software. Por lo tanto, es común que surjan problemas de piratería. El documentoUS2006/150256 forma parte del estado de la técnica.
Consulte la figura 1, que muestra un diagrama de flujo para obtener una licencia de un programa en la técnica anterior. En la etapa S101, el sistema de abonado recibe un comando de activación del programa de aplicación. En la etapa S102, el sistema de abonado carga el programa de aplicación en una memoria, la memoria puede incluir un disco duro o una memoria de acceso aleatorio (RAM), el programa de aplicación se puede cargar en el disco duro del sistema de abonado desde el servidor del terminal de servicio a través de Internet, y luego el programa de aplicación se carga en la RAM para su ejecución desde el disco duro. El software de la aplicación se puede cargar directamente en la RAM del sistema del suscriptor para su ejecución desde el servidor de archivos interno de la empresa. En la etapa S103, el programa de aplicación juzga si el programa de aplicación tiene una licencia, y si el programa de aplicación pasa la verificación de la licencia, entonces el flujo pasa a la etapa S104. Si el programa de aplicación no pasa la verificación de la licencia, entonces el flujo pasa a la etapa S105. En la etapa S105, el programa de aplicación solicita al usuario que introduzca un código de verificación, el flujo pasa a la etapa S104 cuando la verificación es exitosa y el flujo irá a la etapa S106 si la verificación falla. El procedimiento del programa finaliza en la etapa S106 después de que se ejecuta la aplicación o falla la verificación en la etapa 105.
En las etapas de obtener la licencia del programa en la técnica anterior, todo el contenido del programa de aplicación se carga en la memoria para realizar la verificación de la licencia, de modo que el programa de aplicación se pueda copiar y modificar fácilmente, lo que puede evitar el proceso de verificación de la licencia, por lo tanto lo que conduce a la privacidad del software. Otro esquema de la técnica anterior realiza la verificación de la licencia utilizando un programa específico para la verificación de la licencia, pero no hace que el OS realice la verificación de la licencia bajo el control de un controlador de dispositivo en el OS en el terminal del usuario, por lo que la finalización y la seguridad de la verificación de la licencia disminuyen, lo que lleva a una privacidad desenfrenada del software. Además, este tipo de programa debe redactarse de acuerdo con cada solicitud específica para la verificación de la licencia. Si se puede acceder al archivo del programa de aplicación a través de un proceso de flujo definido, entonces no es necesario escribir un programa específico para la verificación de la licencia de acuerdo con cada programa de aplicación diferente. Por lo tanto, se espera un procedimiento en el que el controlador de dispositivo del sistema del suscriptor pueda informar al OS que realice la verificación de la licencia antes de que el software se cargue en el disco duro o la RAM, y luego el controlador del dispositivo permita que el software se cargue en la RAM después de que pase la verificación de la licencia. Esto puede prevenir problemas de piratería.
Con respecto al número de licencias de software en cada empresa, es común que una empresa compre varias licencias según la cantidad de ordenadores que tenga, y solo los ordenadores con la licencia instalada pueden usarse después de la instalación del software. Debido a que no cumple con las estipulaciones de la licencia de software si el mismo número de serie se puede instalar en dos ordenadores o dispositivos diferentes, si es necesario utilizar otra ordenador sin la instalación, es necesario desinstalar la licencia de software del ordenador original, entonces el software se puede instalar en otra ordenador, es decir, el derecho de uso del software depende de diferentes dispositivos de hardware. El inconveniente de este procedimiento de licencia es que la empresa aún necesita comprar una cantidad de licencias de ordenador cuando la cantidad de licencias es menor que la cantidad de ordenadores en la empresa, por lo que el procedimiento de concesión de licencias del software no es flexible. Por lo tanto, se espera que un procedimiento de licencia del software no esté asociado con el ordenador o el número de dispositivo. Permitirá a la empresa gestionar con éxito el número de licencias de software.
SUMARIO DE REALIZACIONES EJEMPLARES
De acuerdo con una realización de la presente divulgación, se divulga un procedimiento para otorgar licencia de un programa. El programa se almacena en uno de entre un servidor remoto y un dispositivo de almacenamiento, e incluye una pluralidad de archivos ejecutables que incluyen un primer archivo ejecutable que tiene un primer encabezado y un segundo archivo ejecutable que tiene un segundo encabezado, comprendiendo el procedimiento las etapas de: provocar un OS recibir un comando de inicio de programa para activar el programa; hacer que el OS almacene el primer encabezado en el dispositivo de almacenamiento para su lectura, y hacer que el componente de verificación de la licencia impida que el OS cargue el primer archivo ejecutable en la RAM para su ejecución; hacer que el componente de verificación de la licencia funcione con uno de los OS y el servidor remoto para realizar una verificación de la licencia; permitir que el primer archivo ejecutable se cargue en la RAM para su ejecución cuando el primer archivo ejecutable pase la verificación de la licencia; y cuando se va a utilizar el segundo archivo ejecutable, el OS lee el segundo encabezado y realiza otra verificación de la licencia a través del componente de verificación de la licencia y uno del OS y el servidor remoto.
De acuerdo con una realización de la presente divulgación, se divulga un procedimiento para otorgar licencia de un programa. El procedimiento comprende las etapas de: hacer que un OS reciba un comando de inicio de programa para activar el programa; hacer que el componente de verificación de la licencia funcione con uno de los OS y que el servidor remoto realice una verificación de la licencia antes de que el OS cargue el programa; y hacer que uno de los OS y el dispositivo de almacenamiento adquieran un token cuando hay un pase de verificación de la licencia.
De acuerdo con una realización de la presente divulgación, se divulga un dispositivo para otorgar licencia de un programa. El programa incluye un encabezado y el dispositivo comprende un dispositivo de almacenamiento, un sistema de archivos, un sistema operativo (OS) y un componente de verificación de la licencia. El sistema de archivos está organizado en el dispositivo de almacenamiento. El sistema operativo (OS) recibe un comando de inicio de programa para activarlo y almacena el encabezado en la memoria de acceso aleatorio para su lectura. El componente de verificación de la licencia evita que el OS cargue el programa en una memoria de acceso aleatorio (RAM) para su ejecución, y coopera con uno de los OS y un servidor remoto para realizar una verificación de la licencia, en donde el componente de verificación de la licencia permite que el programa sea continuamente cargado en la RAM para su ejecución si se pasa la verificación de la licencia.
De acuerdo con una realización adicional de la presente divulgación, la presente invención divulga un procedimiento para otorgar licencia de un programa. El procedimiento de licencia de un programa comprende las etapas de: elegir un programa específico; realizar una verificación de la licencia por parte de un sistema operativo (OS) local y un servidor remoto; y permitir que el OS cargue el programa específico en un almacenamiento específico para su ejecución si se aprueba la verificación de la licencia.
De acuerdo con una realización adicional de la presente divulgación, la presente invención divulga un dispositivo de transacción de programas. El dispositivo de transacción de programas comprende un primer componente de almacenamiento, un segundo componente de almacenamiento y un componente de verificación de la licencia. El primer componente de almacenamiento almacena una base de datos de programas remotos que incluye una pluralidad de programas. El segundo componente de almacenamiento está configurado para ser accedido por un sistema operativo (OS) local, a fin de seleccionar un programa específico de la pluralidad de programas. El componente de verificación de la licencia coopera con uno de los OS locales y un servidor remoto para realizar una verificación de la licencia, y permite que el programa específico se ejecute después de pasar la verificación de la licencia.
De acuerdo con una realización adicional de la presente divulgación, la presente invención divulga un dispositivo para otorgar licencia de un programa. El dispositivo de licencia de un programa comprende un dispositivo móvil, anfitrión. El anfitrión incluye un O<s>, una memoria de acceso aleatorio (RAM) y un controlador de dispositivo. El dispositivo móvil comprende el programa y un componente de verificación de la licencia que incluye un firmware, en el que cuando el dispositivo móvil está acoplado al anfitrión, el firmware impide que el programa se transmita al anfitrión desde el dispositivo móvil, y el controlador del dispositivo impide que el OS cargue el programa en la RAM para su ejecución, el componente de verificación de la licencia se activa para hacer que el OS coopere con el firmware para realizar una verificación de la licencia utilizando el controlador del dispositivo, cuando pasa la verificación de la licencia, el firmware permite que el programa se transmita a el anfitrión desde el dispositivo móvil y el controlador del dispositivo permite que el programa se cargue en la RAM para su ejecución a través del OS.
De acuerdo con una realización adicional de la presente divulgación, la presente invención divulga un procedimiento para otorgar licencia de un programa en un dispositivo de transacción de programas. El dispositivo de transacción de programas incluye un anfitrión y un dispositivo móvil, y el anfitrión comprende un controlador de dispositivo, una memoria de acceso aleatorio y un OS. El dispositivo móvil comprende el programa y un componente de verificación de la licencia que incluye un firmware. El procedimiento comprende las etapas de: acoplar el dispositivo móvil y el anfitrión; el firmware impide que el programa se transmita al anfitrión desde el dispositivo móvil y el controlador del dispositivo impide que el OS cargue el programa en la RAM para su ejecución. El componente de verificación de la licencia se activa para hacer que el OS coopere con el firmware para realizar una verificación de la licencia utilizando el controlador del dispositivo; y cuando pasa la verificación de la licencia, el firmware permite que el programa se transmita al anfitrión desde el dispositivo móvil, y el controlador del dispositivo permite que el programa se cargue en la RAM para su ejecución a través del OS.
Al utilizar el procedimiento de concesión de licencias de un programa y la plataforma de transacción de programas según la presente invención, el número de licencias adquiridas por la empresa se puede adaptar de manera flexible para reducir el número de compras innecesarias. El usuario empresarial puede comprar de forma más económica el software necesario para la instalación y cumplir con sus propios requisitos de cantidad de la licencia del programa de aplicación. En cuanto al proveedor del programa de aplicación, una verificación más restringida reduce la posibilidad de piratería, proporcionando así más seguro para el proveedor del programa de aplicación. La presente invención también puede adaptarse para un usuario normal.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La figura 1 muestra un diagrama de flujo de la concesión de licencias para un programa en la técnica anterior; La figura 2 muestra un diagrama de flujo de la concesión de licencia de un programa según una primera realización preferida de la presente divulgación;
La figura 3 muestra un sistema de transacción de programas según la primera realización preferida de la presente divulgación;
La figura 4 muestra un sistema en la nube para concesión de licencias según una segunda realización preferida de la presente divulgación;
La figura 5 muestra un procedimiento para obtener la licencia de un programa según una tercera realización preferida de la presente divulgación;
La figura 6 muestra un diagrama esquemático para obtener una licencia de un programa según una cuarta realización preferida de la presente divulgación;
La figura 7(a) muestra un sistema para otorgar licencias de un programa según otra realización preferida de la presente divulgación;
La figura 7(b) muestra un sistema para otorgar licencias de un programa según otra realización preferida de la presente divulgación;
La figura 8 muestra un procedimiento para obtener la licencia de un programa según otra realización preferida de la presente divulgación; y
La figura 9 muestra un procedimiento para obtener una licencia de un programa en un dispositivo de transacción de programas según la presente divulgación.
DESCRIPCIÓN DETALLADA DE LAS REALIZACIONES PREFERIDAS
Consulte todas las figuras de la presente invención al leer la siguiente descripción detallada, en la que todas las figuras de la presente invención demuestran diferentes realizaciones de la presente invención mostrando ejemplos y ayudan a comprender cómo implementar la presente invención. Los presentes ejemplos proporcionan realizaciones suficientes para explicar la presente invención, cada realización no entra en conflicto con las demás y se pueden implementar nuevas realizaciones mediante una combinación arbitraria de las mismas, es decir, la presente invención no se limita a las realizaciones descritas en la presente especificación.
Consulte la figura 2, que muestra un diagrama de flujo para obtener una licencia de un programa según una primera realización preferida de la presente divulgación. El sistema de abonado necesita instalar un programa de aplicación principal antes de poder utilizar una plataforma de transacción de programas de aplicación. El programa de aplicación principal se proporciona al suscriptor para que lo descargue e instale de forma gratuita, y el programa de aplicación principal incluye un controlador de dispositivo que comunica un OS con un dispositivo de hardware e información de espacio de memoria que el OS del sistema del suscriptor necesita leer. En la etapa S201, el sistema de abonado recibe un comando de activación del programa de aplicación. En la etapa S202, se juzga una licencia. En la etapa S202, el OS del sistema del suscriptor transmite los datos de la licencia a un servidor remoto para la verificación de la licencia antes de acceder a los archivos (o un archivo) de un programa de aplicación comprado. Cuando el proceso del OS del sistema del suscriptor va a leer los archivos del programa de aplicación comprado antes de pasar la verificación de la licencia, un controlador de dispositivo dejará de leer los archivos del programa de aplicación comprado y la verificación de la licencia la realiza el OS del sistema de abonado en este momento. Cuando la verificación de la licencia es exitosa, el controlador del dispositivo permite que el OS lea continuamente los archivos del programa de aplicación adquirido y el flujo pasa a la etapa S203. Cuando la verificación de la licencia es exitosa, el flujo pasa a la etapa S204. En la etapa S203, el controlador del dispositivo entrega el programa de aplicación adquirido al OS del sistema del abonado para su control. En la etapa s 204, el servidor remoto solicita al suscriptor que proporcione una cuenta y una contraseña para iniciar sesión en el sistema de licencias en el servidor remoto. En la etapa S205, el servidor remoto comprueba el estado de pago de la cuenta. Cuando el estado de pago de la cuenta es pagado, el flujo pasa a la etapa S203 y luego ingresa a la etapa S206 y a la etapa S207 en orden. Cuando el estado de pago de la cuenta es impago, el flujo ingresa a la etapa S207. En la etapa S206, el OS carga los archivos del programa de aplicación comprado en una RAM del sistema del abonado para su ejecución. En la etapa S207, se finaliza el programa de aplicación principal.
Consulte la figura 3, que muestra un sistema 30 de transacción de programas según la primera realización preferida de la presente divulgación. El sistema 30 de transacción de programas incluye un dispositivo 32 de transacción de programas y un servidor 305 remoto. El dispositivo 32 de transacción de programas incluye un primer componente de almacenamiento, un segundo componente de almacenamiento y un componente 307 de verificación de la licencia. Por ejemplo, el primer componente de almacenamiento es un dispositivo 306 de almacenamiento y el segundo componente de almacenamiento es una RAM 304. El primer componente de almacenamiento accede a una base de datos de programas remotos en el servidor 305 remoto, y la base de datos de programas remotos incluye una pluralidad de programas, es decir, los programas de aplicación que se desea comprar. El segundo componente de almacenamiento está configurado para ser accedido por un OS 302 local, a fin de seleccionar un programa específico de la pluralidad de programas. La verificación 307 de la licencia coopera con el OS 302 local o el servidor 305 remoto para realizar la verificación de la licencia. Una vez pasada la verificación de la licencia, se permite ejecutar el programa específico.
En la figura 3, el dispositivo 32 de transacción de programas incluye además un programa 301 de aplicación principal, un OS 302 local, un controlador 309 de dispositivo y un sistema 303 de archivos. Cuando se selecciona para ejecutar el programa de aplicación que se desea comprar, el OS 302 local leerá un encabezado del programa de aplicación comprado para confirmar la información del tamaño de memoria requerida del programa de aplicación comprado, luego el OS 302 asigna un nuevo proceso al programa de aplicación adquirido e inicia el nuevo proceso. Durante este tiempo, el componente 307 de verificación de la licencia se activa para transmitir información 2 de verificación, para realizar la verificación de la licencia con el servidor 305 remoto. Después de que se informa al componente 307 de verificación de la licencia que la verificación de la licencia ha pasado, el componente 307 de verificación de la licencia transmite uno de los mensajes 1,2 y 3 de control para controlar uno del dispositivo 306 de almacenamiento, el sistema 303 de archivos y el controlador 309 de dispositivo respectivamente, de modo que los archivos del programa de aplicación comprado pueden almacenarse en el dispositivo 306 de almacenamiento desde el servidor 305 remoto, el programa de aplicación comprado se almacena en el sistema 303 de archivos desde el dispositivo 306 de almacenamiento a través del controlador 309 de dispositivo, y el OS 302 local carga el programa de aplicación comprado en la RAM 304 desde el sistema 303 de archivos para su ejecución. En algunas realizaciones, el componente 307 de verificación de la licencia también puede transmitir información 1 de verificación hacia el OS 302 local para realizar la verificación de la licencia. Después de que pasa la verificación de la licencia, de manera similar, el componente 307 de verificación de la licencia transmite los mensajes 1 y 2 de control para permitir que el programa de aplicación comprado se cargue en la RAM 304 para su ejecución desde la base de datos del programa del servidor 305 remoto. En la figura 3, la línea discontinua entre el dispositivo 306 de almacenamiento y la RAM 304 representa que se accede indirectamente a los archivos del programa de aplicación comprado entre ellos, es decir, los archivos de datos del programa de aplicación comprado deben cargarse en la RAM 304 para su ejecución a través del dispositivo 306 de almacenamiento, el controlador 309 de dispositivo, el sistema 303 de archivos y el OS 302 local.
En la figura 3, el dispositivo 306 de almacenamiento puede ser un disco duro del servidor 305 remoto, un disco duro local, un bloque de RAM específico y una combinación arbitraria de los mismos. El lugar para almacenar el programa de aplicación adquirido puede ser diferente según los requisitos de diseño, y el sistema 303 de archivos designa la ubicación para almacenar los archivos del programa de aplicación adquirido. Para permitir que el OS 302 local acceda a datos desde un archivo específico en una ubicación específica, el sistema 303 de archivos se simula en el dispositivo 306 de almacenamiento para usarse para recibir los comandos desde el OS 302 local, para acceder a datos desde el archivo específico en la ubicación específica. El componente 307 de verificación de la licencia puede incluir una parte del controlador 309 de dispositivo y el programa 301 de aplicación principal, o el programa 301 de aplicación principal puede incluir el controlador 309 de dispositivo y el componente 307 de verificación de la licencia. El trabajo del componente 307 de verificación de la licencia es cooperar con el OS 302 local o el servidor 305 remoto para realizar la verificación de la licencia. Además, después de pasar la verificación de la licencia, el componente 307 de verificación de la licencia permite que los archivos del programa de aplicación comprado se almacenen en el dispositivo 306 de almacenamiento, o se lean en el sistema 303 de archivos desde el dispositivo 306 de almacenamiento, o permite que el sistema 302 operativo cargue archivos del programa de aplicación comprado en la RAM 304 desde el sistema 303 de archivos; y esto depende de si el componente 307 de verificación de la licencia puede controlar el disco duro del dispositivo 306 de almacenamiento, el sistema 303 de archivos y el servidor 305 remoto. Esta invención describe que el componente 307 de verificación de la licencia evita que los archivos del programa de aplicación comprado se transmitan al sistema 303 de archivos desde el dispositivo 306 de almacenamiento, o hace que el OS 302 local impida que los archivos del programa de aplicación comprado se carguen en la RAM 304 del sistema 303 de archivos antes de que pase la verificación de la licencia.
Cuando los archivos del programa de aplicación comprado se cargan en la RAM 304, el OS 302 local llamará a una entrada de carga del programa de aplicación de acuerdo con la entrada de carga del programa de aplicación registrada en el encabezado de los archivos del programa de aplicación comprado y luego el OS 302 entrega la autoridad de ejecución al nuevo proceso.
Consulte la figura 4, que muestra un sistema 40 de nube para concesión de licencias según una segunda realización preferida de la presente divulgación. El sistema 40 de nube incluye una nube 42 pública en el entorno externo de la empresa y una nube 44 privada en el entorno interno de la empresa. La nube 44 privada incluye un anfitrión 441 de software, una red 442 de área local y una pluralidad de servidores 443, 444, 445, 446, 447 informáticos. La nube 42 pública incluye un anfitrión 421 de nube. El software del programa de aplicación en el anfitrión 421 de nube se puede distribuir al anfitrión 441 de software de la empresa después de que la empresa compre un número específico de licencias de software del programa de aplicación. Luego, el anfitrión 441 de software distribuye el número específico de programas de software de aplicación a la pluralidad de servidores 443, 444, 445, 446, 447 informáticos. La figura 4 muestra que el anfitrión 421 de nube está conectado al anfitrión 441 de software de la empresa a través de Internet 422. En algunas realizaciones, el anfitrión 421 de nube se puede conectar a una pluralidad de servidores de software a través de Internet, y cada uno de la pluralidad de servidores de software es propiedad de una empresa diferente.
En la figura 4, la verificación de la licencia entre el anfitrión 421 de nube y el anfitrión 441 de software en el entorno interno de la empresa y el uso de los archivos del programa de aplicación comprado pueden ser gestionados por el anfitrión 421 de nube. El anfitrión 421 de nube posee una primera clave secreta que se utiliza como firma para el número de licencias. El anfitrión 441 de software en el entorno interno de la empresa posee una segunda clave secreta que se utiliza para verificar el número de licencias. La empresa necesita comprar primero una cantidad específica de licencias del servidor, y luego el anfitrión 421 de nube cifra los datos para el número de licencia usando la primera clave secreta, y luego el anfitrión 421 de nube usa los datos cifrados para el número de licencia como una autenticación de firma. Por lo tanto, si se modifican los datos del número de licencia, los datos cifrados del número de licencia serán inconsistentes con los datos para la autenticación de firma. Los datos autenticados por la firma se transmiten al anfitrión 441 de software del entorno interno de la empresa a través de Internet 422, y el anfitrión 441 de software utiliza la segunda clave secreta para descifrar los datos autenticados por la firma con el fin de verificar el número de licencia. Por lo tanto, si se modifica el número de licencia, los datos autenticados por la firma no coincidirán entre sí durante la verificación, y el anfitrión 421 de nube rechazará directamente todas las acciones de concesión de licencia. Si se confirma la firma, entonces los archivos del programa de aplicación comprado se pueden descargar al anfitrión 441 de software en el entorno interno de la empresa a través de Internet 422. Alternativamente, el administrador de tecnología de la información (IT) de la empresa puede almacenar los datos autenticados por la firma en otro ordenador y luego usar la otra ordenador para descargar el programa de aplicación comprado a través de Internet 422. La descarga fuera de línea del anfitrión 441 de software puede evitar el riesgo de ser pirateado o infectado.
En la figura 4, el anfitrión 441 de software en el entorno interno de la empresa puede gestionar el número de licencia autenticado por el anfitrión 421 de nube. En algunas realizaciones preferidas, una red 442 de área local (LAN) en el entorno interno de la empresa tiene en total cinco servidores 443, 444, 445, 446, 447 informáticos, pero sólo tres de ellos necesitan usar el programa de aplicación adquirido al mismo tiempo, por lo que solo se requiere comprar una licencia que tenga un número de licencia con un valor de 3. Por ejemplo, los servidores 443, 444 informáticos están instalados con el programa de aplicación principal y utilizan el mismo programa de aplicación adquirido al mismo tiempo. El anfitrión 441 de software registrará cuántos servidores informáticos están utilizando el programa de aplicación adquirido y restará dos del número de licencia en el anfitrión 441 de software. Después de que el ordenador 445 principal esté instalado con el programa de aplicación principal y utilice el mismo programa de aplicación adquirido, el número de licencia se resta además en uno. Cuando el anfitrión 446 informático está instalado con el programa de aplicación principal y utiliza el mismo programa de aplicación comprado, el anfitrión 441 de software no permitirá que el anfitrión 446 informático ejecute el programa de aplicación comprado porque el número de licencia se ha convertido en un valor negativo que indica que superó el número de licencia verificado por el anfitrión 441 de software. Cuando el anfitrión 443 informático no está usando el programa de aplicación comprado, el programa de aplicación comprado almacenado en el dispositivo 306 de almacenamiento como se muestra en la figura 3 no se cargará en la RAM 304 para su ejecución por el OS 302 local, y el número de licencia en el anfitrión 441 de software se incrementa en uno. Por lo tanto, uno de los servidores 446 y 447 informáticos puede utilizar simultáneamente el mismo programa de aplicación adquirido.
En una realización preferida, en la figura 3, el dispositivo 32 de transacción de programas es el anfitrión 441 de software, el servidor 305 remoto es el anfitrión 421 de nube. En otra realización preferida, el dispositivo 32 de transacción de programas es cualquiera de la pluralidad de servidores 443, 444, 445, 446 y 447 informáticos, y el servidor 305 remoto es el anfitrión 441 de software. El componente 307 de verificación de la licencia interna en el anfitrión 441 de software no permite que el OS 302 local cargue el programa de aplicación adquirido en la RAM 304 para su ejecución con la condición de que no pase la verificación de la licencia. De manera similar, antes de que cualquiera de la pluralidad de servidores 443, 444, 445, 446 y 447 informáticos pasen la verificación del número de licencia, su componente 307 interno de verificación de la licencia no permite que el programa de aplicación adquirido se almacene en el dispositivo 306 de almacenamiento o para ser cargado en la RAM 304.
Cuando la pluralidad de servidores 443, 444, 445, 446 y 447 informáticos están en diferentes LAN, debido a una velocidad de red lenta o a la alta latencia, los archivos del programa de aplicación adquirido se pueden almacenar en el dispositivo 306 de almacenamiento después de que pase la licencia de verificación. Luego, los archivos del programa de aplicación comprado se cargan en la RAM 304 para su ejecución desde el dispositivo 306 de almacenamiento a través del sistema 303 de archivos y el OS 302 local.
El usuario que utiliza el anfitrión informático en el entorno interno de la empresa debe iniciar sesión en una cuenta interna de la empresa, y la cuenta tiene diferentes autoridades según las diferentes identidades. Después de que uno de los servidores 443-447 informáticos pase la verificación de la licencia, el anfitrión 441 de software emitirá un token que tiene la autoridad asociada con la cuenta. El OS 302 local en el anfitrión informático con licencia o el componente 307 de verificación de la licencia determina cómo tratar los archivos del programa de aplicación adquirido según el token. Por ejemplo, los archivos del programa de aplicación adquirido se pueden cargar en la RAM 304, o se puede impedir que se carguen. De manera similar, el anfitrión 421 de nube también puede ser un servidor de verificación de la licencia. Cuando el suscriptor empresarial inicia sesión en el anfitrión 441 de software usando la cuenta que tiene una autoridad específica, el anfitrión 421 de nube en la nube 42 pública otorgará la licencia del anfitrión 441 de software de acuerdo con la autoridad específica, y esto hace que los archivos del programa de aplicación comprados por el suscriptor empresarial se descargarán en el anfitrión 441 de software. El OS 302 local en el anfitrión 441 de software o el componente 307 de verificación de la licencia determina cómo tratar los archivos del programa de aplicación adquirido según el token. Por ejemplo, los archivos del programa de aplicación adquirido se cargan en la RAM 304 del anfitrión 441 de software, o se impide que se carguen los archivos del programa de aplicación adquirido.
Los archivos del programa de aplicación adquirido se almacenarán en el dispositivo 306 de almacenamiento después de la concesión de la licencia. Para evitar que se copien los archivos del programa de aplicación comprado, todos estos archivos están cifrados con claves secretas específicas para su protección, las claves secretas específicas están en el token y solo se permite la copia de los archivos del programa de aplicación comprado descargado con el token. Cuando los archivos del programa de aplicación adquirido se ejecutan en el anfitrión 443 informático, el token activado será registrado por el anfitrión 441 de software y se mantendrá en un registro, es decir, el recuento de números de licencia será registrado por el anfitrión 441 de software. Si se elimina el registro, los archivos del programa de aplicación comprado no se podrán leer. Si el número de licencia se modifica con la condición de que el anfitrión de la nube esté fuera de línea, entonces el componente 307 de verificación de la licencia evitará que los archivos del programa de aplicación comprado se carguen en la RAM 304 del anfitrión 443 informático desde el servidor 305 remoto del anfitrión 441 de software.
La verificación de la licencia se puede dividir en una licencia completa o una licencia parcial según la cantidad de archivos del programa de aplicación adquirido que se utilicen. Cuando el programa de aplicación adquirido incluye una pluralidad de programas de aplicación que tienen diferentes funciones, la pluralidad de programas de aplicación se puede dividir en diferentes archivos según la función. De esta forma, se pueden realizar licencias parciales en función de los diferentes archivos. La licencia parcial se aplica cuando se compra la función parcial del programa de aplicación.
Consulte la figura 5, que muestra un procedimiento para obtener una licencia de un programa según una tercera realización preferida de la presente divulgación. El programa que incluye una pluralidad de archivos ejecutables se almacena en uno de un servidor remoto y un dispositivo de almacenamiento, en donde la pluralidad de archivos ejecutables incluye un primer archivo ejecutable que tiene un primer encabezado y un segundo archivo ejecutable que tiene un segundo encabezado. El procedimiento incluye las siguientes etapas: Etapa S501, el OS recibe un comando de inicio de programa para activar el programa. Etapa S502, el OS almacena el primer encabezado en el dispositivo de almacenamiento para su lectura y hace que el componente de verificación de la licencia impida que el OS cargue el primer archivo ejecutable en la rA m . Etapa S503, el componente de verificación de la licencia coopera con uno de los OS y el servidor remoto para realizar una verificación de la licencia. Etapa S504, se permite cargar el primer archivo ejecutable en la RAM para su ejecución cuando el primer archivo ejecutable pasa la verificación de la licencia. Etapa S505, cuando se va a utilizar el segundo archivo ejecutable, el OS lee el segundo encabezado y realiza otra verificación de la licencia a través del componente de verificación de la licencia en cooperación con uno de los OS y el servidor remoto.
En la figura 5, cuando hay un fallo en la verificación de la licencia, el OS lee un archivo de cancelación para finalizar el programa de aplicación comprado, o se causan errores en el programa de aplicación comprado al impedir que el OS lea el programa de aplicación comprado, para terminar el programa de aplicación adquirido. La verificación de la licencia incluye una seleccionada de un grupo que consta de una verificación de la licencia permanente, una verificación de la licencia de arrendamiento y una verificación de la licencia de prueba basada en un período de validez. Cuando la verificación de la licencia es la verificación de la licencia permanente, se permite el uso del programa sin fecha de vencimiento. Cuando la verificación de la licencia es la verificación de la licencia de arrendamiento, se permite el uso del programa durante un período de tiempo específico. Cuando la verificación de la licencia es la verificación de la licencia de prueba, el programa está disponible hasta la fecha de vencimiento.
La verificación de la licencia incluye además una verificación de la licencia de red y una verificación de la licencia telefónica. La verificación de la licencia de red utiliza un primer código de concesión para realizar la verificación de la licencia, y el primer código de licencia incluye un mensaje asociado con datos de privacidad personal que incluyen uno seleccionado del grupo que consiste en un número de identificación, fecha de nacimiento y una combinación de los mismos. La verificación de la licencia telefónica utiliza un número de teléfono para realizar la verificación de la licencia, el número de teléfono se usa para adquirir un segundo código de licencia cuando se realiza la verificación de la licencia telefónica y el segundo código de licencia se usa para pasar la verificación de la licencia telefónica. Al utilizar la privacidad personal para la verificación, se puede impedir que alguien comparta el número secuencial o el código de licencia, y esto puede evitar que el programa sea pirateado sin pagar por él.
Una vez pasada la verificación de la licencia, el OS adquiere un token. El token incluye un token anónimo y un token no anónimo. El token anónimo se usa con un ordenador público y el token no anónimo se usa con un ordenador privado. El propósito del token es permitir el acceso a los archivos del programa de aplicación adquirido. El token anónimo se utiliza para permitir el acceso a los archivos del programa de aplicación comprado, pero una vez que se apaga el ordenador, los archivos del programa de aplicación comprado se eliminarán, por lo tanto, se aplica a un ordenador público. El propósito del token no anónimo es permitir el acceso a los archivos del programa de aplicación comprado, pero los archivos del programa de aplicación comprado no se eliminarán si se apaga el ordenador y, por lo tanto, se aplica a un ordenador privado.
Consulte la figura 6, que muestra un procedimiento para obtener una licencia de un programa según una cuarta realización preferida para la presente divulgación. El procedimiento de licencia de un programa incluye las siguientes etapas: Etapa S601, un OS recibe un comando de activación de programa para activar el programa. Etapa S602, antes de que el OS cargue el programa, un componente de verificación de la licencia coopera con el propio OS o un servidor remoto para realizar una verificación de la licencia. En la etapa S603, el OS adquiere un token si se supera la verificación de la licencia.
El token incluye una clave secreta y los archivos del programa de aplicación comprado se pueden descifrar para leerlos solo si existe la clave secreta. La verificación de la licencia incluye una seleccionada de un grupo que consta de una verificación de la licencia permanente, una verificación de la licencia de arrendamiento y una verificación de la licencia de prueba. Cuando la verificación de la licencia es una de las dos: verificación de la licencia de arrendamiento y verificación de la licencia de prueba, el componente de verificación de la licencia coopera con el servidor remoto para realizar la verificación de la licencia. Cuando la verificación de la licencia es permanente y el servidor remoto no está disponible, el componente de verificación de la licencia se coordina con el OS para realizar la verificación de la licencia. En tal situación, aunque se puede realizar una verificación de la licencia temporal, el suscriptor se verá obligado a conectarse al servidor remoto para la verificación de la licencia después de un período de tiempo predeterminado, por ejemplo, después de una semana. Esto puede garantizar que el programa de aplicación adquirido no sea pirateado.
En la figura 6, el procedimiento para obtener la licencia de un programa incluye además las siguientes etapas. Si se verifica el token anónimo, después de cerrar el programa, los datos del programa vuelven a un valor predeterminado. Si se verifica el token de verificación no anónimo, después de cerrar el programa, los datos del programa permanecen en su estado original.
Consulte la figura 7(a), que muestra un sistema 50 para otorgar una licencia de un programa según la realización preferida de la presente divulgación. El sistema 50 incluye un dispositivo 52 de programa de licencia y un servidor 506 remoto. El dispositivo 52 de programa de licencia incluye un sistema 501 de archivos, un dispositivo 507 de almacenamiento, un OS 502 y un componente 503 de verificación de la licencia. Una base de datos de software en el servidor 506 remoto incluye el programa 505, y el programa 505 incluye un encabezado 5050. El OS 502 recibe un comando 504 de activación de programa para activar el programa 505 y almacena el encabezado 5050 en el dispositivo 508 de almacenamiento para que el OS 502 pueda leer el encabezado 5050. El componente 503 de verificación de la licencia evita que el OS 502 cargue el programa 505 en una RAM 508 para su ejecución, y coopera con el OS 502 o el servidor 506 remoto para realizar una verificación de la licencia. Si se pasa la verificación de la licencia, el componente 503 de verificación de la licencia permite que el programa 505 se cargue continuamente en la RAM 508 para su ejecución.
En otra realización, el programa 505 no se ha guardado en el dispositivo 501 de almacenamiento, pero el componente 503 de verificación de la licencia impide que el programa 505 se almacene en el dispositivo 507 de almacenamiento. El componente 503 de verificación de la licencia coopera con el OS 502 y el servidor 506 remoto para realizar la verificación de la licencia. Si se supera la verificación de la licencia, el componente 503 de verificación de la licencia permite que el programa 505 se almacene en el dispositivo 507 de almacenamiento, y el OS 502 carga el programa 505 en la RAM 508 desde el sistema 501 de archivos para su ejecución.
Consulte la figura 7(b), que muestra un sistema 60 para otorgar una licencia de un programa según otra realización preferida de la presente divulgación. El sistema 60 incluye un dispositivo 62 de programa de licencia y un servidor 606 remoto. El dispositivo 62 de programa de licencia incluye un dispositivo 601 móvil y un anfitrión 611. El anfitrión 611 incluye un OS 602, un controlador 608 de dispositivo y una RAM 612. El dispositivo 601 móvil incluye el firmware 607 y el programa 609. El programa 609 incluye un encabezado 5090. En una realización preferida, el OS 602 recibe un comando 604 de activación de programa para activar el programa 609 y lee el encabezado 6090.
En la figura 7(b), el OS 602 y el dispositivo 601 móvil están controlados por un controlador 608 de dispositivo entre el OS 602 y el dispositivo 601 móvil. El firmware 607 incluye el componente 603 de verificación de la licencia y coopera con el controlador 608 de dispositivo para transmitir y controlar el programa 609. Cuando el dispositivo 601 móvil está acoplado con el anfitrión 611, el encabezado 6090 del programa 609 se lee previamente en una RAM 612 a través del controlador 608 de dispositivo y el OS 602 antes de la verificación de la licencia para confirmar información como el tamaño de memoria requerido por el programa 609, y luego el OS 604 asigna un nuevo proceso al programa 609 e inicia el nuevo proceso. Durante este tiempo, el componente 603 de verificación de la licencia se activa para hacer que el OS 604 coopere con el firmware 607 a través del controlador 608 de dispositivo para realizar la verificación de la licencia. Antes de que pase la verificación de la licencia, el firmware 607 impide que el programa 609 se transmita al anfitrión 611 desde el dispositivo móvil. El controlador 608 de dispositivo impide que el Os 604 cargue el programa 609 en la RAM 612 para su ejecución.
Después de pasar la verificación de la licencia, el firmware 607 permite que el programa 609 se transmita desde el dispositivo móvil al anfitrión 611 sin interrupción, y el controlador 608 de dispositivo permite que el programa 609 se cargue en la RAM 612 para su ejecución a través del OS 602 sin siendo interrumpido por el controlador 608 de dispositivo. En otra realización, la verificación de la licencia se puede realizar mediante cooperación entre el componente 603 de verificación de la licencia y el servidor 606 remoto, o entre el componente 603 de verificación de la licencia y el OS 602.
En la figura 7(b), el dispositivo 601 móvil puede ser un disco duro portátil, y el OS 602 incluye uno seleccionado de un grupo que consiste en un OS integrado, Windows® OS, OS Linux y OS Solaris.
Consulte la figura 8, que muestra un procedimiento para obtener una licencia de un programa según otra realización preferida de la presente divulgación. El procedimiento incluye las siguientes etapas: Etapa S801, se selecciona un programa específico. Etapa S802, se realiza una verificación de la licencia mediante un OS local o un servidor remoto. Etapa S803, se permite al OS cargar el programa específico en una memoria específica después de pasar la verificación de la licencia.
En la figura 8, la memoria específica es una ruta de memoria seleccionada por un usuario, y el procedimiento incluye además una etapa de: hacer que el programa específico se almacene en un anfitrión de software desde un anfitrión en la nube y transmitir el programa específico a una LAN anfitrión desde el anfitrión del software. El procedimiento incluye además una etapa de: interrumpir la ejecución del programa, y el componente de verificación de la licencia permite que el programa se ejecute continuamente hasta que pase la verificación de la licencia.
Consulte la figura 9, que muestra un procedimiento para licenciar un programa 609 en un dispositivo 62 de transacción de programas según la realización preferida de la presente divulgación. El dispositivo 62 de transacción de programas incluye un anfitrión 611 y un dispositivo 601 móvil. El procedimiento incluye las siguientes etapas. Etapa S901, el dispositivo 601 móvil se acopla con el anfitrión 611. Etapa S902, un firmware 607 del dispositivo 601 móvil interrumpe la transmisión del programa 609 desde el dispositivo 601 móvil al anfitrión 611, y un controlador 608 de dispositivo del anfitrión 611 interrumpe la carga del programa 609 en una RAM 612 del anfitrión 611 para su ejecución a través de un OS 602 del anfitrión 611. Etapa S903, se activa un componente 603 de verificación de la licencia en el dispositivo 601 móvil para hacer que el OS 602 coopere con el firmware 607 a través del controlador 608 de dispositivo para realizar una verificación de la licencia. Etapa S904, cuando pasa la verificación de la licencia, el firmware 607 permite que el programa 609 se transmita al anfitrión 611 desde el dispositivo 601 móvil, y el controlador 608 de dispositivo permite que el OS 602 cargue el programa 609 en la RAM 612 para su ejecución.
Si bien la invención se ha descrito en términos de lo que actualmente se consideran las realizaciones más prácticas y preferidas, debe entenderse que la invención no necesita limitarse a las realizaciones descritas. Por el contrario, se pretende que cubra diversas modificaciones y disposiciones similares incluidas dentro del ámbito de las reivindicaciones adjuntas que deben acordarse con la interpretación más amplia para abarcar todas esas modificaciones y estructuras similares.
[Descripción del símbolo]
[Depósito de material biológico]
Información de depósitos nacionales [favor de completar la secuencia de instituto de depósito, fecha, número de referencia]
Información de depósito extranjero [por favor complete la secuencia del instituto de depósito, fecha, número de referencia] [Tabla secuencial]

Claims (15)

REIVINDICACIONES
1. Un procedimiento para otorgar licencia a un programa (505) que incluye un primer archivo ejecutable que tiene un primer encabezado (5050) y una porción restante, almacenado en un servidor (305) remoto, y para descargarse a un dispositivo (306) de almacenamiento en un terminal local teniendo un sistema (302) operativo (OS), un programa (301) de activación, un componente (307) de verificación de la licencia y una memoria (304) de acceso aleatorio (RAM), comprendiendo el procedimiento las etapas de
hacer que el sistema (302) operativo reciba un comando de activación del programa desde el programa (301) de activación para activar la descarga del primer archivo ejecutable del programa (505);
hacer que el sistema (302) operativo almacene el primer archivo ejecutable en el dispositivo (306) de almacenamiento, en donde el primer archivo ejecutable se transfiere desde el servidor (305) remoto al terminal local después de que el sistema (302) operativo recibe el comando de activación del programa, hacer que el componente (307) de verificación de la licencia permita que el OS (302) cargue el primer encabezado (5050) en la RAM (304) para su lectura, y hacer que el componente (307) de verificación de la licencia impida que el OS (302) cargue el porción restante del primer archivo ejecutable a ejecutar desde un sistema (303) de archivos; hacer que el componente (307) de verificación de la licencia funcione con al menos uno de los sistemas (302) operativos y el servidor (305) remoto para realizar una verificación de la licencia asociada con la porción restante del primer archivo ejecutable;
permitir que la porción restante del primer archivo ejecutable se cargue en la RAM (304) para su ejecución cuando la verificación de la licencia sea exitosa, en donde el componente (307) de verificación de la licencia incluye una parte de un controlador (309) de dispositivo, y transmite un control mensaje al sistema (303) de archivos para habilitar el controlador (309) de dispositivo para permitir que el sistema (302) operativo lea la porción restante del primer archivo ejecutable del sistema (303) de archivos después de que la verificación de la licencia sea exitosa, y el controlador (309) de dispositivo permite que el sistema (302) operativo lea la porción restante del primer archivo ejecutable, carga la porción restante del primer archivo ejecutable en la RAM (304) desde el sistema (303) de archivos y permite que la porción restante del primer archivo ejecutable que se ejecutará continuamente.
2. El procedimiento según la reivindicación 1,caracterizado por quecomprende además una de las etapas de:
hacer que el sistema (302) operativo lea un archivo de cancelación para finalizar un procedimiento de concesión de licencia del programa (505) cuando hay un error de verificación de la licencia;
impedir que el sistema (302) operativo lea el programa (505) y provocar que el programa (505) genere errores para finalizar el procedimiento de concesión de licencia cuando se produce un error de verificación de la licencia.
3. El procedimiento según la reivindicación 1,caracterizado porquecomprende, además: hacer que uno del sistema (302) operativo y el dispositivo (306) de almacenamiento adquiera un token cuando hay un pase de verificación de la licencia.
4. El procedimiento según la reivindicación 3,caracterizado por que:
el token incluye un token anónimo y un token no anónimo; y
el token anónimo se usa con un ordenador público y el token no anónimo se usa con un ordenador privado.
5. El procedimiento según la reivindicación 4,caracterizado por que:
si se verifica el pase de verificación de la licencia, el token anónimo se verifica después de cerrar el programa, el programa (505) tiene un dato recuperado por un valor predeterminado; y
si el pase de verificación de la licencia se verifica mediante el token de verificación no anónimo después de cerrar el programa (505), el programa (505) tiene un dato mantenido en su estado original.
6. El procedimiento según cualquiera de las reivindicaciones 1-5,caracterizado por que:
la verificación de la licencia incluye una seleccionada de un grupo que consiste en una verificación de la licencia permanente, una verificación de la licencia de arrendamiento y una verificación de la licencia de prueba; cuando la verificación de la licencia es una de entre la verificación de la licencia de arrendamiento y la verificación de la licencia de prueba, el componente (307) de verificación de la licencia coopera con el servidor (305) remoto para realizar la verificación de la licencia; y
cuando la verificación de la licencia es la verificación de la licencia permanente y el servidor (305) remoto no está disponible, el componente (307) de verificación de la licencia coopera con el OS (302) para realizar la verificaciónde la licencia.
7. Elprocedimiento según cualquiera de las reivindicaciones 1-5,caracterizado por quecomprende además las etapas de:
elegir el programa (505);
hacer que el programa (505) se almacene en un anfitrión (441) de software desde un anfitrión (421) de nube; y transmitir el programa (505) a un anfitrión (443-447) de red de área local desde el anfitrión (441) de software.
8. Un dispositivo para otorgar licencia de un programa (505), que comprende
un programa (301) de activación;
un sistema (302) operativo local (OS) recibe un comando de activación de programa desde el programa (301) de activación para activar la descarga del programa (505) que incluye un primer archivo ejecutable que tiene un encabezado (5050) y una porción de resto, y el sistema (302) operativo almacena el primer archivo ejecutable en el dispositivo (306) de almacenamiento, en donde el primer archivo ejecutable se transfiere desde un servidor (305) remoto a una terminal local después de que el sistema (302) operativo recibe el comando de activación del programa;
un dispositivo (306) de almacenamiento que almacena un programa (505);
un sistema (303) de archivos dispuesto en el dispositivo (306) de almacenamiento; y
un componente (307) de verificación de la licencia que inicialmente permite que el sistema (302) operativo cargue el encabezado (5050) en una memoria (304) de acceso aleatorio (RAM) para su lectura, provocando que se detenga la ejecución de la porción restante del programa (505) desde el sistema (303) de archivos, y licenciar la porción restante del programa (505) para su ejecución cuando hay una verificación de la licencia asociada con el primer archivo ejecutable, en donde el componente (307) de verificación de la licencia incluye una parte de un controlador (309) de dispositivo, y transmite un mensaje de control al sistema (303) de archivos para permitir que el controlador (309) de dispositivo permita que el sistema (302) operativo lea la porción restante del primer archivo ejecutable del sistema (303) de archivos después de que la verificación de la licencia tiene éxito, el sistema (302) operativo carga la porción restante del programa (505) en la RAM (304) desde el sistema (303) de archivos, y permite que la porción restante del primer archivo ejecutable se ejecute continuamente.
9. El dispositivo según la reivindicación 8,caracterizado por que:
el dispositivo (306) de almacenamiento almacena una base de datos de programas remotos que incluye una pluralidad de programas (505);
el dispositivo (306) de almacenamiento es uno de entre un disco duro de servidor proxy y un disco duro en la nube; y
el componente (307) de verificación de la licencia coopera con al menos uno del sistema (302) operativo (OS) local y el servidor (305) remoto para realizar una verificación de la licencia, inicialmente evita que el OS (302) local cargue el programa (505) en la RAM (304), y permite que el programa (505) se cargue en la RAM (304) para su ejecución después de tener el pase de verificación de la licencia.
10. El dispositivo según la reivindicación 8,caracterizado por que:
el dispositivo (306) de almacenamiento incluye la RAM (304) y la RAM (304) tiene un primer espacio de memoria y un segundo espacio de memoria, en donde el primer espacio de memoria es un disco RAM para almacenamiento del programa (505), y el segundo el espacio de memoria se utiliza para ejecutar el programa (505);
el componente (307) de verificación de la licencia coopera con al menos uno del sistema (302) operativo (OS) local y un servidor (305) remoto para realizar una verificación de la licencia;
cuando el dispositivo es un anfitrión (441) de software, el servidor (305) remoto es un anfitrión (421) de nube, la verificación de la licencia se realiza en el anfitrión (421) de nube y el programa (505) se almacena en el anfitrión (421) de software;
cuando el dispositivo es el anfitrión (441) de software y el servidor (305) remoto no está disponible, la verificación de la licencia se realiza en el anfitrión (441) de software y el programa (505) se almacena en un ordenador (443 447) de red de área local (LAN); y
cuando el dispositivo es el ordenador (443-447) LAN, el servidor (305) remoto es el anfitrión (441) de software, la verificación de la licencia se realiza en el anfitrión (441) de software y el programa (505) se almacena en el ordenador (443-447) LAN.
11. El dispositivo según la reivindicación 8,caracterizado por que:
el componente (307) de verificación de la licencia coopera con al menos uno del sistema (302) operativo (OS) local y un servidor (305) remoto para realizar una verificación de la licencia;
cuando la verificación de la licencia es una de una verificación de la licencia de arrendamiento y una verificación de la licencia de prueba, el componente (307) de verificación de la licencia coopera con el servidor (305) remoto para realizar la verificación de la licencia; y
cuando la verificación de la licencia es una verificación de la licencia permanente y el servidor (305) remoto no está disponible, el componente (307) de verificación de la licencia coopera con el OS (302) local para realizar la verificación de la licencia.
12. El dispositivo según cualquiera de las reivindicaciones 8-11,caracterizado porquecomprende, además:
un anfitrión (611) que incluye el OS (602) local, la RAM (612) y el controlador (608) del dispositivo; y un dispositivo (601) móvil acoplado con el anfitrión (611) y que incluye: un firmware (607) que incluye el componente (603) de verificación de la licencia.
13. El dispositivo según la reivindicación 12,caracterizado por que: cuando el dispositivo (601) móvil está acoplado al anfitrión (611), el firmware (607) evita que el programa (609) se transmita al anfitrión (611) desde el dispositivo (601) móvil, y el controlador (608) del dispositivo evita que el OS (604) cargue el programa (609) en la RAM (612) para su ejecución, el componente (603) de verificación de la licencia se activa para hacer que el OS (604) local coopere con el firmware (607) para realizar una verificación de la licencia utilizando el controlador (608) del dispositivo.
14. El dispositivo según la reivindicación 13,caracterizado por que: cuando existe el pase de verificación de la licencia, el firmware (607) permite que el programa (609) se transmita al anfitrión (611) desde el dispositivo (601) móvil, y el controlador (608) del dispositivo permite que el programa (609) para ser cargado en la RAM (612) para su ejecución a través del OS (604) local.
15. El dispositivo según la reivindicación 13,caracterizado por que:
el dispositivo (306) de almacenamiento está en el terminal local que tiene la RAM (304);
el componente (307) de verificación de la licencia evita que el OS (302) cargue el programa (505) en la RAM (304), y trabaja con al menos uno de los OS (302) y un servidor (305) remoto para realizar una licencia verificación; después de que hay un pase de verificación de la licencia, el componente (307) de verificación de la licencia permite que el programa (505) se cargue en la RAM (304);
el dispositivo incluye además un controlador (309) de dispositivo;
en respuesta al pase de verificación de la licencia, el componente (307) de verificación de la licencia transmite al menos uno de un primer, un segundo y un tercer mensaje de control (mensajes de control 1, 2 y 3) para controlar el dispositivo (306) de almacenamiento, el sistema (303) de archivo y el controlador (309) de dispositivo respectivamente;
el primer mensaje de control (mensaje de control 1) permite que el programa (505) se almacene en el dispositivo (306) de almacenamiento desde el servidor (305) remoto;
el segundo mensaje de control (mensaje de control 2) permite que el programa (505) se almacene en el sistema (303) de archivos desde el dispositivo (306) de almacenamiento a través del controlador (309) del dispositivo; el tercer mensaje de control (mensaje de control 3) permite que el programa (505) se cargue en la<r>A<m>(304) desde el sistema (303) de archivos para su ejecución a través del OS;
la verificación de la licencia incluye al menos una de entre una verificación de la licencia permanente, una verificación de la licencia de arrendamiento y una verificación de la licencia de prueba;
cuando la verificación de la licencia es la verificación de la licencia permanente, se permite el uso del programa (505) sin fecha de vencimiento;
cuando la verificación de la licencia es la verificación de la licencia de prueba, el programa (505) está disponible hasta la fecha de vencimiento;
la verificación de la licencia incluye además una verificación de la licencia de red;
la verificación de la licencia de red utiliza un primer código de concesión para realizar la verificación de la licencia;
el primer código de licencia incluye un mensaje asociado con una privacidad personal que incluye uno seleccionado del grupo que consiste en un número de identificación, una fecha de nacimiento y una combinación de los mismos;
la verificación de la licencia incluye además una verificación de la licencia por teléfono; la verificación telefónica de licencia utiliza un número de teléfono para realizar la verificación de la licencia; y
el número de teléfono se utiliza para adquirir un segundo código de licencia cuando se realiza la verificación de la licencia telefónica, y el segundo código de licencia se utiliza para pasar la verificación de la licencia telefónica.
ES13890698T 2013-08-02 2013-08-02 Dispositivo para permitir el programa, dispositivo de transacción del programa y procedimiento para permitir el programa del mismo Active ES2964339T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/080695 WO2015013974A1 (zh) 2013-08-02 2013-08-02 许可程序的装置、程序交易装置及其许可程序的方法

Publications (1)

Publication Number Publication Date
ES2964339T3 true ES2964339T3 (es) 2024-04-05

Family

ID=52430899

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13890698T Active ES2964339T3 (es) 2013-08-02 2013-08-02 Dispositivo para permitir el programa, dispositivo de transacción del programa y procedimiento para permitir el programa del mismo

Country Status (7)

Country Link
US (1) US10223509B2 (es)
EP (1) EP3029589B1 (es)
JP (1) JP6931531B2 (es)
CN (1) CN105324774B (es)
ES (1) ES2964339T3 (es)
SG (1) SG11201600817SA (es)
WO (1) WO2015013974A1 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180260539A1 (en) * 2017-03-08 2018-09-13 Microsoft Technology Licensing, Llc Device specific identity linked to user account
US10635787B2 (en) * 2017-04-19 2020-04-28 International Business Machines Corporation Analysis of output files
CN108933646B (zh) * 2018-06-14 2021-09-28 艾普阳科技(深圳)有限公司 一种授权许可服务的控制方法、客户端及备用服务器端

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222134A (en) * 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
JPH07230380A (ja) * 1994-02-15 1995-08-29 Internatl Business Mach Corp <Ibm> 適用業務プログラムの利用管理方法およびシステム
US5838910A (en) * 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US6134659A (en) * 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
AU7593601A (en) * 2000-07-14 2002-01-30 Atabok Inc Controlling and managing digital assets
US7515718B2 (en) * 2000-12-07 2009-04-07 Igt Secured virtual network in a gaming environment
US7742992B2 (en) * 2002-02-05 2010-06-22 Pace Anti-Piracy Delivery of a secure software license for a software product and a toolset for creating the software product
US7543140B2 (en) * 2003-02-26 2009-06-02 Microsoft Corporation Revocation of a certificate and exclusion of other principals in a digital rights management (DRM) system based on a revocation list from a delegated revocation authority
JP4597568B2 (ja) * 2003-07-15 2010-12-15 パナソニック株式会社 セキュアデバイス、情報処理端末、及び情報処理システム
WO2005125072A2 (en) * 2004-06-22 2005-12-29 Nds Limited Digital rights management system
US20060047604A1 (en) * 2004-08-31 2006-03-02 Kraft-Oz Oded S Methods and apparatus providing portable application and data
US7698744B2 (en) * 2004-12-03 2010-04-13 Whitecell Software Inc. Secure system for allowing the execution of authorized computer program code
US7702590B2 (en) * 2005-09-19 2010-04-20 At&T Intellectual Property I, Lp Trial access for media files from a media list
US8417640B2 (en) * 2005-10-31 2013-04-09 Research In Motion Limited Secure license key method and system
EP1798653B1 (de) * 2005-12-16 2011-08-03 Aladdin Europe GmbH Verfahren, Computerprogrammprodukt und Vorrichtung zum Schützen eines einen Funktionsblock aufweisenden Programms
US20070143130A1 (en) * 2005-12-20 2007-06-21 Xstream Instructions, Ltd. Network of instruction stations
US7900243B2 (en) * 2006-10-19 2011-03-01 Oracle America, Inc. Method and system for managing execution of an application module
CN101067839A (zh) * 2007-04-27 2007-11-07 哈尔滨工业大学 互联网作业软件系统防盗版方法
JP2010108237A (ja) * 2008-10-30 2010-05-13 Nec Corp 情報処理システム
JP5263070B2 (ja) * 2009-08-13 2013-08-14 株式会社リコー プログラム導入支援装置、プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム
US8752187B2 (en) * 2010-09-27 2014-06-10 Samsung Electronics Co., Ltd. Portable license server
CN102034059B (zh) * 2010-12-02 2013-09-04 东莞宇龙通信科技有限公司 应用程序管理方法、装置以及终端
US20120166619A1 (en) * 2010-12-23 2012-06-28 Microsoft Corporation Licensing and metering of virtualized applications
US20120216269A1 (en) * 2011-02-18 2012-08-23 Mitel Networks Corporation Software licensing in a virtualization environment
CN102685727B (zh) * 2011-03-11 2015-07-01 中国移动通信有限公司 一种应用程序发送、运行方法、系统、服务器和终端
US8886910B2 (en) * 2011-09-12 2014-11-11 Microsoft Corporation Storage device drivers and cluster participation
CN102567685B (zh) 2011-12-31 2015-01-07 常熟理工学院 基于非对称公钥密码体系的软件版权保护方法
US9032050B2 (en) * 2012-10-31 2015-05-12 Vmware, Inc. Systems and methods for accelerating remote data retrieval via peer nodes
WO2014116201A1 (en) * 2013-01-22 2014-07-31 Empire Technology Development Llc Fail-safe licensing for software applications

Also Published As

Publication number Publication date
JP6931531B2 (ja) 2021-09-08
EP3029589A4 (en) 2017-03-15
EP3029589A1 (en) 2016-06-08
EP3029589B1 (en) 2023-08-30
WO2015013974A1 (zh) 2015-02-05
CN105324774A (zh) 2016-02-10
CN105324774B (zh) 2018-05-04
US10223509B2 (en) 2019-03-05
JP2016525753A (ja) 2016-08-25
SG11201600817SA (en) 2016-03-30
US20160171190A1 (en) 2016-06-16

Similar Documents

Publication Publication Date Title
US9426147B2 (en) Protected device management
US8443207B2 (en) File system filter authentication
US9015479B2 (en) Host device and method for super-distribution of content protected with a localized content encryption key
US8799898B2 (en) Methods and apparatus for binding applications to a cloud computing environment
TW201535145A (zh) 使用保護讀取儲存器安全地儲存韌體數據之系統及方法
US20130156196A1 (en) Storage Device and Method for Super-Distribution of Content Protected with a Localized Content Encyrption Key
US9881142B2 (en) Method and apparatus for preventing and investigating software piracy
CN110390201A (zh) 计算机系统以及初始化计算机系统的方法
US20150143484A1 (en) System and method for managing tokens authorizing on-device operations
CN110046495B (zh) 数据结构测量结果比较
ES2964339T3 (es) Dispositivo para permitir el programa, dispositivo de transacción del programa y procedimiento para permitir el programa del mismo
US20140237625A1 (en) Method for unified end user license management in a drm system
US20220083629A1 (en) Monitoring license constraints in a container orchestration system
CN110569650B (zh) 基于国产操作系统的可移动存储设备权限管理方法及系统
US11829454B2 (en) Method and apparatus for preventing and investigating software piracy
US8972745B2 (en) Secure data handling in a computer system
US20110179495A1 (en) Method of execution of a software application and a storage device for storing the software application
KR101604892B1 (ko) 안드로이드 기반 어플리케이션의 부정사용 방지 방법 및 장치
TWI617938B (zh) 授權程式的裝置、程式交易裝置及其授權程式的方法
Kim et al. Mobile security solution for sensitive data leakage prevention
JP6297149B2 (ja) モバイル機器及び該モバイル機器の動作方法
US11550880B2 (en) Method for controlling execution of an application
KR20240066716A (ko) 콘텐츠 복호화 키를 관리하는 방법 및 이를 위한 장치