MXPA04002023A - Identificacion de hardware compacto para unir un paquete de software a un sistema de computadora que tiene tolerancia para cambios de hardware. - Google Patents
Identificacion de hardware compacto para unir un paquete de software a un sistema de computadora que tiene tolerancia para cambios de hardware.Info
- Publication number
- MXPA04002023A MXPA04002023A MXPA04002023A MXPA04002023A MXPA04002023A MX PA04002023 A MXPA04002023 A MX PA04002023A MX PA04002023 A MXPA04002023 A MX PA04002023A MX PA04002023 A MXPA04002023 A MX PA04002023A MX PA04002023 A MXPA04002023 A MX PA04002023A
- Authority
- MX
- Mexico
- Prior art keywords
- component
- hardware configuration
- hardware
- verification
- identification
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 99
- 238000012795 verification Methods 0.000 claims description 242
- 206010024796 Logorrhoea Diseases 0.000 claims description 66
- 238000012790 confirmation Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 30
- 238000009434 installation Methods 0.000 description 13
- 230000004913 activation Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 9
- 150000003839 salts Chemical class 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- A—HUMAN NECESSITIES
- A45—HAND OR TRAVELLING ARTICLES
- A45B—WALKING STICKS; UMBRELLAS; LADIES' OR LIKE FANS
- A45B25/00—Details of umbrellas
- A45B25/02—Umbrella frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2129—Authenticate client device independently of the user
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
- Telephonic Communication Services (AREA)
- Hardware Redundancy (AREA)
Abstract
Se describen sistemas y metodos para generar una identificacion de hardware compacto (CHWID) para un sistema de computadora dado. La identificacion de hardware compacto (CHWID) se puede utilizar para controlar el uso de software en el sistema de computadora dado dependiendo del grado de cambios de hardware para el sistema de computadora. La identificacion de hardware compacto (CHWID) puede ser electronicamente transmitida a traves de un medio de anchura de banda limitada, tal como un telefono.
Description
IDENTIFICACION DE HARDWARE COMPACTO PARA UNIR UN PAQUETE DE SOFTWARE A UN SISTEMA DE COMPUTADORA QUE TIENE TOLERANCIA PARA CAMBIOS DE HARDWARE
CAMPO DE LA INVENCION
La presente invención se refiere a sistemas y métodos para generar una identificación de hardware (equipo físico, maquinaria) compacto (CHWID) para un sistema de computadora dado. La identificación de hardware compacto (CHWID) se puede utilizar para controlar el uso de software (programas, instrucciones, aplicaciones, etc.) en el sistema de computadora dado dependiendo del grado de cambios de hardware para el sistema de computadora. La identificación de hardware compacto (CHWID) puede ser electrónicamente transmitida a través de medios de anchura de banda limitada, tal como un teléfono.
ANTECEDENTES DE LA INVENCION
. Ha existido un considerable esfuerzo en los últimos años para prevenir o reducir al mínimo el uso ilegal de software de computadora. Debido a esta capacidad de reproducción y facilidad de reproducción, la piratería de software de computadora y el uso ilegal de software de computadora más allá del alcance de un acuerdo de licencia son ocurrencias comunes que significativamente dañan a los fabricantes de software. Se han desarrollado métodos en un esfuerzo para reducir las ocurrencias de piratería de software de computadora y uso ilegal de software de computadora más allá del alcance de un acuerdo de licencia. Sin embargo, dichos métodos por lo general ocasionan problemas para ios compradores y usuarios legítimos de software en la forma de inconveniencia de consumidor. Por ejemplo, un usuario quien ha actualizado su computadora debe ser capaz de reinstalar legítimamente el producto se software en la máquina actualizada. Sin embargo, los métodos actualmente disponibles pueden tanto (i) no permitir que el software sea instalado, como (¡i) forzar al usuario (quien ahora está descontento) a llamar al fabricante de software para solicitar ayuda. Por consiguiente, permanece la necesidad de soluciones de tecnología mejoradas a la piratería y el uso ¡lícito, pero que también reconozca y adapte las necesidades y prácticas de un comprador y usuario de software legítimos.
COMPENDIO DE LA INVENCION
La presente invención dirige algunas de las dificultades y problemas discutidos anteriormente a través del descubrimiento de una identificación de hardware mejorada para un sistema de cómputo. La identificación de hardware de la presente invención proporciona un método para reducir al mínimo o prevenir la piratería de software y el uso ilegal de software de computadora más allá del alcance de un acuerdo de licencia, mientras se permiten actualizaciones de la máquina por usuarios de software legítimos. La identificación de hardware de la presente invención, denominada en la presente como una "identificación de hardware compacto" (CHWID) identifica (1) un número de clases de componente típicamente utilizadas para construir una configuración de hardware para un sistema de cómputo, y (2) cada dispositivo o caso de componente dentro de una clase de componente dada para un sistema de cómputo particular. Al tomar en cuenta cada dispositivo o caso de componente dentro de un número seleccionado de clase de componente, se genera una identificación de hardware compacto segura y confiable (CHWID) para un sistema de cómputo particular, mientras se habilita un grado de tolerancia para cambios de componente a la configuración de hardware del sistema de cómputo particular. La identificación de hardware compacto (CHWID) puede ser cuando una cantidad limitada de espacio está disponible para identificar una configuración de hardware particular cuando inicialmente se carga un producto de software en la computadora. La identificación de hardware compacto (CHWID) puede ser almacenada para uso futuro, tal como (i) cuando el mismo producto de software es cargado en la misma computadora o una variación de la misma computadora, o (ii) cuando el mismo producto de software se vuelve a cargar en una variación de la misma computadora o una computadora completamente diferente. Por ejemplo, cuando el mismo producto de software es cargado en la misma computadora o una variación de la misma computadora, se genera una segunda identificación de hardware compacto (sCHWID) y se compara con (1) una identificación de hardware compacto (¡CHWID) previamente almacenada, o (2) una identificación de hardware de verbosidad (VHWID) previamente almacenada. Si existe un número deseado de correspondencias entre las clases de componente de la segunda identificación de hardware compacto (sCHWID) y las clases de componente correspondientes ya sea de (1) la identificación de hardware compacto (¡CHWID) previamente almacenada, o (2) la identificación de hardware (VHWID) previamente almacenada, el método de la presente invención no permitirá que el producto de software sea cargado debido a cambios al sistema de hardware original más allá de un umbral deseado. Por consiguiente, la presente invención está dirigida a una identificación de hardware compacto (CHWID), y a un método para generar una identificación de hardware compacto (CHWID). La presente invención además está dirigida a un método para prevenir el uso de software en un sistema de computadora si un intento de cargar el producto de software genera una nueva identificación de hardware compacto (CHWID) que está fuera de tolerancia cuando se compara ya sea con (1) una identificación de hardware compacto (¡CHWID) previamente almacenada, o (2) una identificación de hardware de verbosidad (VHWID) previamente almacenada, debido a uno o más cambios de hardware al sistema de computadora original.
Estas y otras características de la presente invención serán más evidente después de una revisión de la siguiente descripción detalla de las modalidades descritas y las reivindicaciones anexas.
BREVE DESCRIPCION DE LOS DIBUJOS
La Figura 1 es un diagrama de flujo de algunos componentes primarios de un ambiente de operación ilustrativo para la ¡mplementación de la presente invención; La Figura 2 ilustra una configuración de hardware ilustrativa que contiene ocho clases de componentes y un total de 19 dispositivos o casos de componente distribuidos dentro de las ocho ciases de componente; La Figura 3 ilustra una posible identificación de hardware de verbosidad (VHWID) y una identificación de hardware compacto (CHWID) correspondiente para la configuración de hardware ilustrativa mostrada en la Figura 2; Las Figuras 4-8 son un diagrama de flujo que muestra los pasos ilustrativos para determinar una identificación de hardware compacto (CHWID) para una configuración de hardware; y Las Figuras 9-10 son un diagrama de flujo que muestra pasos ilustrativos para determinar si un producto de software puede ser utilizado en un sistema de hardware de computadora comparando una identificación de hardware compacto recientemente generada (CHWID) ya sea con (1) una identificación de hardware compacto (¡CHWID), o con una identificación de hardware de verbosidad (vHWlD) previamente generada.
DESCRIPCION DETALLA DE LA INVENCION
Para promover un entendimiento de los principios de la presente invención, a continuación se presentan descripciones de modalidades específicas de la invención y un lenguaje específico para describir las modalidades específicas. Sin embargo, se entenderá que no se pretende ninguna limitación del alcance de la invención a través del uso de un lenguaje específico. Se contemplan alteraciones, otras modificaciones, y dichas otras aplicaciones adicionales de los principios de la presente invención normalmente podrían ocurrirse a algún experto en la técnica a la cual pertenece la invención. La presente invención está dirigida a un método para identificar una configuración de hardware de un sistema de cómputo dado por una identificación de hardware compacto (CHWID). La presente invención también está dirigida a un método para generar una identificación de hardware compacto (CHWID) identificando un solo caso de componente dentro de un número seleccionado de clases de componente. La presente invención además está dirigida a un método para utilizar una identificación de hardware compacto (CHWID) para determinar si un producto de software puede ser utilizado en una configuración de hardware de computadora. La identificación de hardware compacto (CHWID) puede ser generada para un sistema de cómputo que comprende una variedad de componentes de hardware. Un sistema de cómputo ilustrativo puede comprender un número de componente de hardware, los cuales se agrupan en clases incluyendo, pero no limitándose a, unidades de disco duro, unidades de disco óptico, tarjetas de red, adaptadores de presentación, memoria de solo lectura (ROM), memoria de acceso aleatorio (RAM), y un sistema básico de entrada/salida (BIOS). Un sistema de cómputo ilustrativo y un ambiente de operación ilustrativo para practicar la presente invención se describen a continuación.
Ambiente de Operación Ilustrativo Las modalidades ilustrativas de la presente invención de aquí en adelante serán descritas con referencia a los dibujos, en donde números similares representan elementos similares a través de las varias figuras. La Figura 1 ilustra un ambiente operativo ilustrativo para implementar la presente invención. El ambiente operativo ilustrativo incluye un dispositivo de cómputo de propósito general en la forma de una computadora personal convencional 20. En general una computadora personal 20 incluye una unidad de procesamiento 21, una memoria de sistema 22, y una barra colectora de sistema 23 que acopla varios componentes de sistema incluyendo la memoria de sistema 22 a la unidad de procesamiento 21. La barra colectora de sistema 23 puede ser cualquiera de los varios tipos de estructuras de barra colectora incluyendo una barra colectora de memoria o controlador de memoria, una barra colectora periférica, y una barra colectora local utilizando cualquiera de una variedad de arquitecturas de barra colectora. La memoria de sistema incluye una memoria de solo lectura (ROM) 24, y memoria de acceso aleatoria (RAM) 25. Un sistema básico de entrada/salida (BIOS) 26, conteniendo las rutinas básicas que ayudan a la transferencia de información entre elementos dentro de la computadora personal 20, tal como durante el encendido, está almacenado en la ROM 24. La computadora personal 20 además incluye una unidad de disco duro 27 para leer de y escribir a un disco duro, no mostrado, una unidad de disco magnético 28 para leer de o escribir a un disco magnético removible 29, y una unidad de disco óptico 30 para leer de o escribir a un disco óptico removible 31 tal como un CD-ROM u otros medios ópticos. La unidad de disco duro 27, la unidad de disco magnético 28 y la unidad de disco óptico 30 están conectadas a la barra colectora 23 del sistema a través de una interfase 32 de la unidad de disco duro, una interfase 33 de la unidad de disco magnético, y una interfase 34 de la unidad de disco óptico, respectivamente. Aunque el ambiente ilustrativo aquí descrito emplea el disco duro 27, el disco magnético removible 29 y el disco óptico removible 31, se debe apreciar por aquellos expertos en la técnica que otros tipos de medios legibles por computadora, los cuales pueden almacenar datos que son accesibles por una computadora, tales como casetes o cartuchos magnéticos, tarjetas de memoria flash, discos de vídeo digital, cartuchos de Bernoulli, RAMs, ROMs, y similares, también se pueden utilizar en el ambiente operativo ilustrativo. Las unidades y sus medios legibles por computadora asociados proporcionan el almacenamiento no volátil de instrucciones ejecutables por computadora, estructuras de datos, módulos de programa y otros datos para la computadora personal 20. Por ejemplo, uno o más archivos de datos 60 (no mostrado) pueden ser almacenados en la RAM 25 y/o la unidad de disco duro 27 de la computadora personal 20. Un número de módulos de programa puede ser almacenado en el disco duro 27, disco magnético 29, disco óptico 31, ROM 24, o RAM 25, incluyendo un sistema operativo 35, un módulo de programa de aplicación 36, otros módulos de programa 37 y datos de programa 38. Los módulos de programa incluyen, pero no se limitan a, rutinas, subrutinas, programas, objetos, componentes, estructuras de datos, etc., que realizan tareas particulares o implementan tipos de datos abstractos particulares. Se pueden implementar aspectos de la presente invención como una parte integral de un módulo de programa de aplicación 36 o como una parte de otro módulo de programa 37. Un usuario puede introducir comandos e información a la computadora personal 20 a través de dispositivos de entrada, tales como un teclado 40 y un dispositivo de señalamiento 42. Otros dispositivos de entrada (no mostrado) pueden incluir un micrófono, una palanca de mando, una almohadilla de juegos, una antena de satélite, un explorador, o similares. Estos y otros dispositivos de entrada por lo general están conectados a la unidad de procesamiento 22 a través de una interfase de puerto en serie 46 que está acoplada a la barra colectora 23 del sistema, pero puede ser conectada a través de otras interfases, tales como un puerto paralelo, un puerto de juegos, una barra colectora en serie universal (USB), o similares. Un monitor 47 u otro tipo de dispositivo de presentación también puede ser conectado a la barra colectora 23 del sistema a través de una interfase, tal como un adaptador de vídeo 48. Además del monitor, Las computadores personales típicamente incluyen otros dispositivos de salida periféricos (no mostrado), tales como bocinas e impresoras. La computadora personal 20 puede operar en un ambiente en red utilizando conexiones lógicas a una o más computadoras remotas 49. La computadora remota 49 puede ser otra computadora personal, un servidor, un cliente, un enrutador, una PC de red, un dispositivo de par a par, u otro nodo de red común. Aunque una computadora remota 49 típicamente incluye muchos o todos los elementos descritos anteriormente con relación a la computador personal 20, solamente se ha ilustrado un dispositivo de almacenamiento de memoria 50 en la Figura 1. Las conexiones lógicas ¡lustradas en la Figura 1 incluyen una red de área local (LAN) 51 y una red de área amplia (WAN) 52. Dichos ambientes en red son lugares comunes en oficinas, redes de computadora entre empresas, intranets, y el Internet. Cuando se utiliza en un ambiente en red de LAN, la computadora personal 20 es conectada a la red de área local 51 a través de una interfase de red o adaptador 53. Cuando se utiliza en un ambiente en red WAN, la computadora personal 20 típicamente incluye un módem 54 u otros medios para establecer comunicaciones a través de WAN 52, tales como el Internet. El módem 54, el cual puede ser interno o externo, está conectado a la barra colectora 23 del sistema a través de la interfase de puerto en serie 46. En un ambiente en red, los módulos de programa presentados con relación a la computadora personal 20, o sus porciones, pueden ser almacenados en el dispositivo de almacenamiento de memoria remota 50. Se apreciará que las conexiones de red mostradas son ilustrativas y que se pueden utilizar otros medios para establecer un enlace de comunicaciones entre las computadoras. Además, aquellos expertos en la técnica apreciarán que la presente invención puede ser implementada en otras configuraciones de sistema de cómputo, incluyendo dispositivos portátiles, dispositivo de multiprocesador, electrónico de consumidor a base de microprocesador o programable, computadoras personales de red, minicomputadoras, macrocomputadoras, y similares. La presente invención también puede ser practicada en ambientes de cómputo distribuidos, en donde se realizan tareas por dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones. En un ambiente de cómputo distribuido, los módulos de programa pueden ser ubicados en dispositivos de almacenamiento de memoria tanto locales como remotos.
Implementación de Modalidades Ilustrativas de la Presente Invención Como se describió anteriormente, un sistema de cómputo típicamente comprende múltiples clases de componentes de hardware. Además, el sistema de cómputo puede comprender múltiples componentes (por ejemplo dos unidades de disco duro) dentro de cada clase de componentes de hardware. La identificación de hardware compacto (CHWID) de la presente invención toma en cuenta cada dispositivo de componente (también denominado en la presente como cada "caso") dentro de cada clase deseada de componentes de hardware utilizados para determinar la CHWID. La identificación de hardware compacto (CHWID) de la presente invención también puede tomar en cuenta la ausencia de un dispositivo de componente dentro de una clase de componente dada de un sistema de hardware de cómputo. Por ejemplo, se utilizará una determinación de las clases de componente para identificar una configuración de hardware de computadora dada que se puede hacer antes de examinar la configuración de hardware de computadora dada. La configuración de hardware de computadora puede o no contener un caso de componente para cada una de las clases de componente seleccionadas utilizadas para producir la identificación de hardware compacto (CHWID) de la configuración de hardware de computadora. A continuación de proporciona un método ilustrativo de la presente invención para generar una identificación de hardware compacto (CHWID). Además, también se describe a continuación un método ilustrativo de la presente invención para utilizar la identificación de hardware compacto (CHWID) como una herramienta contra la piratería.
/. Generación de una Identificación de hardware Compacto (CHWID) para un Sistema de Cómputo A continuación se proporciona una descripción de los componentes de una identificación de hardware compacto ilustrativa (CHWID).
A. La Identificación de Hardware Compacto (CHWID) La identificación de hardware compacto (CHWID) de un sistema de cómputo dado deseablemente comprende tres partes: (1) un componente de versión opcional y (2) un componente de verificación. Cada una de las posibles partes de identificación de hardware compacto (CHWID) se puede derivar de la configuración de hardware de un sistema de cómputo dado. En la Figura 2 se muestra un ejemplo de una configuración de hardware de cómputo y los casos dentro de cada clase de componente. Como se muestra en la Figura 2, la configuración de hardware de cómputo ilustrativa 20 comprende 8 distintas clases de componente 21-28 teniendo un total de 19 casos de componente 200 distribuidos entre clases de componente 21-28. La clase de componente de CDRom 21 contiene cuatro casos de componente; la clase de componente IDE 22 contiene dos casos de componente; la clase de componente de unidad 23 contiene un caso de componente; la clase de componente de presentación 24 comprende un caso de componente; la clase de componente de SCSI 25 contienen dos casos de componente; la clase de componente de disco 26 contiene seis casos de componente; la clase de componente de tarjeta de red 27 contiene un caso de componente; y la clase de componente de procesador (es decir, cpu) 28 contiene dos casos de componente. La fila 29 en la Figura 2 ilustra una cadena de números, que representan el número de casos de componente dentro de cada una de las 8 clases de componente 21-28. Se debe observar que el número de casos de componente dentro de una clase de componente dada puede variar de cero a tantas como las requeridas para representar una configuración de hardware dada, aunque una implementación arbitriamente puede limitar el número de casos de componente por clase de componente. Típicamente, una configuración de hardware dada contiene de 0 a aproximadamente 6 casos de componente por clase de componente. Como se describe a continuación aún cuando una clase de componente no contenga un caso de componente, la ausencia de un caso de componente dentro de la clase de componente contribuye a una pieza de información, la cual es incorporada en la identificación de hardware compacto (CHWID). En la Figura 3 se muestra una identificación de hardware compacto (CHWID) ilustrativa. La identificación de hardware compacto (CHWID) ilustrativa 35 de la Figura 3 es una posible forma de identificar la configuración de hardware de computadora mostrada en la Figura 2. Como se discutió anteriormente, la identificación de hardware compacto (CHWID) 35 deseablemente comprende dos componentes separados: componente de versión 31' y porción de verificación 33'. Cada una de las dos porciones separadas de la identificación de hardware compacto (CHWID) 35 se ¡lustra en la Figura 3. El componente de versión 310 de la porción de encabezado 31 identifica una versión particular de la identificación de hardware de verbosidad (VHWID) 34 y su identificación de hardware compacto (CHWID) 35 correspondiente utilizada para identificar un sistema de cómputo dado. Por ejemplo, una versión particular (por ejemplo, versión "1") de una identificación de hardware de verbosidad (VHWID) o una identificación de hardware compacto (CHWID) puede variar de otra versión (por ejemplo, versión "2") de una identificación de hardware de verbosidad (VHWID) o una identificación de hardware compacto (CHWID) utilizando un grupo de parámetros para crear la versión 1, mientras que se utiliza un grupo de parámetros separados, diferentes para crear la versión 2. Se puede utilizar una variedad de parámetros para crear una versión dada de una identificación de hardware de verbosidad (VHWID) y su identificación de hardware compacto (CHWID) correspondiente. Los parámetros adecuados incluyen, pero no se limitan a, (1) el número de clases de componente representadas en la identificación de hardware compacto (CHWID) 35; (2) el número máximo y/o mínimo de clases de componente usadas para crear la identificación de hardware de verbosidad (VHWID) 34; (3) el número máximo y/o mínimo de casos de componente que será considerado dentro de una clase de componte dada de VHWID; (4) la primera función de verificación utilizada para producir valores de verificación para cada caso de componente en la identificación de hardware de verbosidad (VHWID) 34; (5) la longitud de cada resultado de verificación utilizado para formar la identificación de hardware de verbosidad (VHWID) 34; (6) la longitud máxima de la identificación de hardware de verbosidad (VHWID) 34; (7) el número máximo y/o mínimo de resultados de verificación de clase de componente usado para crear la identificación de hardware compacto (CHWID) 35; (8) la segunda función de verificación usada para producir segundos valores de verificación para cada caso de componente; (9) la longitud de cada segundo .resultado de verificación usado para formar la identificación de hardware compacto (CHWID) 35; y (10) la longitud máxima de la identificación de hardware compacto (CHWID) 35. Algunas clases de componente pueden no tener múltiples casos de componente y son conocidas como clases de caso individual. La RAM de sistema total es un ejemplo de una clase de caso individual. Los datos para una clase de caso individual son verificados y truncados si es necesario, después almacenados en la porción numérica truncada 312 de la parte de encabezado 31. Cada clase de caso individual representada en el encabezado tendrá una porción numérica truncada asociada 312. Deseablemente, el componente de versión 31' de la identificación de hardware compacto (CHWID) 35 tiene una longitud fija, la cual es consistente para todas las identificaciones de hardware compacto que tienen un tipo de versión particular (por ejemplo, CHWIDs de versión 1). La porción de cuenta 32 comprende una cadena de números, los cuales representan el número de casos de componente dentro de cada una de las clases de componente utilizadas para preparar la identificación de hardware de verbosidad (VHWID) 34. Como se muestra en la Figura 3, la porción de cuenta 32 comprende la cadena de los números "4 2 1 1 2 6 1 2", que corresponde a los casos de componente dentro de las clases de componente 21-28 mostradas en la Figura 2. Se debe observar que si una clase de componente no contiene un caso de componente, la porción de cuenta 32 contiene un valor de "0" para la clase de componente particular. La porción de verificación 33 usada para crear la identificación de hardware de verbosidad (VHWID) 34 comprende una cadena concatenada de primeros valores de verificación representando cada uno de los 19 casos de componente dentro de las clases de componente 21-28 mostradas en la Figura 2. Cada resultado de verificación separado puede tener una longitud de hasta aproximadamente 160 bits. Deseablemente, cada resultado de verificación separado tiene una longitud de aproximadamente 10 a aproximadamente 20 bits, más deseablemente, aproximadamente 16 bits. La porción de verificación 33 de ia identificación de hardware de verbosidad (VHWID) 34 típicamente tiene una longitud, la cual varía dependiendo del número de casos de componente dentro de las n clases de componente de una configuración de hardware dada. La longitud total de la porción de verificación 33 es igual al número de casos de componente veces la longitud del resultado de verificación deseada para cada resultado de verificación de caso de componente. En este ejemplo, la porción de verificación resultante 33 de la identificación de hardware de verbosidad (VHWID) 34 tiene una longitud total deseada de 304 bits (es decir, 19 x 16 = 304). La porción de verificación 33' de la identificación de hardware compacto (CHWID) 35 difiere de la porción de verificación 33 usada para crear la identificación de hardware de verbosidad (VHWID) 34. En una modalidad ilustrativa de la presente invención, la porción de verificación 33' de identificación de hardware compacto (CHWID) 35 comprende un caso de componente, segundo valor de verificación por clase de componente, que resulta de una segunda función realizada en el primer valor de verificación de caso de componente por clase de componente. El primer valor de verificación de clase de componente se selecciona de uno o más de las n clases de componente usadas para crear la porción de verificación 33 de la identificación de hardware de verbosidad (VHWID) 34. El método de seleccionar los primeros valores de verificación de caso de componente dentro de la porción de verificación 33 para ser procesados a través de una segunda función de verificación puede ser (i) a través de un procedimiento de selección aleatoria o (ii) a través de un método predeterminado. Un método predeterminado ilustrativo comprende seleccionar el primer caso dentro de cada clase de componente como se muestra en la Figura 3. La porción de verificación resultante 33' de la identificación de hardware compacto (CHWID) 35 comprende una cadena concatenada de segundos valores de verificación de caso de componente (v'x) que resultan de realizar una segunda función de verificación al seleccionar los primeros valores de verificación de caso de componente de la porción de verificación 33. Cada segundo valor de verificación de caso de componente separado puede tener una longitud de hasta aproximadamente 16 bits. Deseablemente, cada segundo valor de verificación de caso de componente tiene una longitud de hasta aproximadamente 8 bits, más deseablemente, de aproximadamente 3 a aproximadamente 6 bits. Los segundos valores de verificación de caso de componente (v'x) se muestran en la Figura 3 y se derivan realizando una segunda función de verificación en la siguiente cadena de los primeros valores: v,, v5, v7, v8, Vu, v 7 y v 8 para producir segundos valores de verificación de caso de componente: ??, v'5l v'7, v'e, v' , v'17 y v'1B. La porción de verificación 33' de la identificación de hardware compacto (CHWID) 35 típicamente tiene una longitud de menos de aproximadamente 64 bits. La longitud de la porción de verificación 33' puede variar dependiendo de (i) el número de primeros valores de verificación de caso de componente usados para crear la porción de verificación 33', y (¡i) la longitud del segundo valor de verificación para cada segundo valor de verificación de caso de componente individual. Como se muestra en la Figura 3, la identificación de hardware de verbosidad (VHWID) 34 está representada por una cadena concatenada de la parte de iniciador 31, parte de cuenta 32 y parte de verificación 33. Similarmente, la identificación de hardware compacto (CHWID) 35 puede ser representada por una cadena concatenada del componente de versión 31' y la porción de verificación 33'. Un método ilustrativo para determinar una identificación de hardware de verbosidad (VHWID) 34 y una identificación de hardware compacto (CHWID) 35 para una configuración de hardware de computadora, se describe a continuación. Se debe observar que la identificación de hardware compacto (CHWID) de la presente invención solo puede comprender una de las porciones anteriormente descritas. En una modalidad ilustrativa de la presente invención, la identificación de hardware compacto (CHWID) 35 de una configuración de hardware de computadora dada comprende solamente la porción de verificación 33'. En esta modalidad, la identificación de hardware compacto (CHWID) 35 no contiene el componente de versión 31' Sin considerar los componentes usados para crear la identificación de hardware compacto (CHWID) 35, la identificación de hardware compacto (CHWID) 35 deseablemente tiene una longitud total de menos de aproximadamente 256 bits. En una modalidad ilustrativa de la presente invención, la identificación de hardware compacto (CHWID) 35 tiene una longitud total de aproximadamente 32 bits a aproximadamente 64 bits.
6. Determinación de una Identificación de Hardware de
Verbosidad (VHWID) para un Sistema de Cómputo La VHWID de la presente invención puede ser determinada a través de un método ilustrativo como se muestra en las Figuras 4-6. Los pasos del método ilustrativo se pueden realizar a través de un código de software dentro de un programa de software en una computadora de un cliente, parecida a la computadora 20 descrita anteriormente con referencia a la Figura 1. Como se muestra en las Figuras 4-6, una determinación ilustrativa de un VHWID para una configuración de hardware de computadora dada (de aquí en adelante denominada como "HW1") comienza con el paso 401, en donde un número de clases de componente, n, se selecciona para identificar una configuración de hardware de computadora dada HW1. Como se discutió anteriormente, un sistema de cómputo dado puede incluir una variedad de componentes de hardware y clases de componentes de hardware. Las clases de componentes de hardware ilustrativas incluye, pero no se limitan a, unidades de disco duro, divisiones de disco lógico, discos ópticos, tarjetas de red, adaptadores de presentación, memoria de solo lectura (ROM), memoria de acceso aleatorio (RAM), dispositivos de IDE, tarjetas de sonido, tarjetas de vídeo, procesadores, dispositivos SCSI y el sistema BIOS. Deseablemente, n, el número de clases de componente de hardware es un número entero que varía de aproximadamente 2 a aproximadamente 16. En general, es deseable que n sea lo suficientemente grande con el fin de (i) identificar con más precisión un sistema de cómputo dado, y (ii) medir con más exactitud el grado de tolerancia de un sistema de cómputo dado. Después de seleccionar el número de clases de componente, n, en el paso 401, cada clase de componente se identifica en el paso 402. Las clases de componente pueden incluir cualquiera de las clases de componente descritas anteriormente, tales como la clase de unidades de disco duro. A continuación en el Cuadro 1 se muestra una lista ilustrativa de clases de componentes utilizadas para identificar la configuración de hardware de muestra HW1.
CUADRO 1 Lista Ilustrativa de Clases de Componente de Hardware Utilizadas para Identificar la Configuración de Hardware de Muestra HW1
Como se muestra en el Cuadro 1, en este ejemplo, n igual 8, y las clases de componente de hardware identificadas incluyen: (1) una clase de CdRom; (2) una clase de dispositivos de IDE; (3) una clase de unidad; (4) una clase de dispositivo adaptador de presentación; (5) una clase de dispositivo SCSI; (6) una clase de disco; (7) una clase de tarjeta de red; y (8) una clase de procesador de CPU. Después de que cada clase de componente es identificada en el paso 402, todos los dispositivos o casos dentro de cada clase de componente de hardware son identificados en el paso 403. La "cuenta" (es decir, el número de dispositivos o casos de componente dentro de cada clase de componente) también se determina en el paso 403. Deseablemente, cada caso dentro de una clase de componente particular se identifica por la cadena de identificación más única asociada con el caso. Por ejemplo, la configuración de hardware puede contener un CdRom fabricado por NEC Corporation y que tenga una cadena de identificación de "NEC CDRW24 S15". Cualquier método disponible para determinar la cadena de identificación más única de un caso dado se puede utilizar en la presente invención. El paso de asignar una cadena de identificación para cada caso de componente se muestra en el paso 404. Una vez que una cadena de identificación para cada caso de componente es asignada, la porción de encabezado de la identificación de hardware de verbosidad (VHWID) se prepara en el paso 405. En el paso 406, se introduce una versión particular de la identificación de hardware de verbosidad (VHWID) en el encabezado para formar la porción de encabezado 310 (como se muestra en la Figura 3). Como se describió anteriormente, el número de versión puede representar uno o más parámetros utilizados para determinar la identificación de hardware de verbosidad (VHWID) y su identificación de hardware compacto (CHWID). En el paso 407, se identifica una clase de componente que será representada en el encabezado. Típicamente, las clases de componente capaces de tener solamente un caso de componente individual, o clases de casos individuales, son presentadas en la porción de encabezado de la VHWID. Las clases de componente adecuadas, las cuales pueden ser representadas en la porción de encabezado de la VHWID, incluyen, pero no se limitan a, una clase de componente de memoria, una clase de componente de acoplamiento (es decir, si la computadora es acoplable o no), el BIOS de sistema, o una combinación de los mismos. En una modalidad ilustrativa de la presente invención, la porción de encabezado de la VHWID comprende información de una sola clase de componente de la configuración de hardware. Del paso 407, el método prosigue al bloque de decisión 409. En el bloque de decisión 409 se hace una decisión de que si la cadena de identificación del caso de componente usado para formar una porción del encabezado es sometida a una función de verificación. La cadena de identificación puede ser sometida a una función de verificación o puede ser truncada a un número deseado de bits. Aunque no se muestra en la Figura 5 como una opción, se debe observar que la cadena de identificación puede ser usada como verbatim siempre que la cadena de identificación tenga menos de un máximo deseado de caracteres, típicamente menos de aproximadamente 16 bits. Si la cadena de identificación va a ser sometida a una función de verificación, el método prosigue en el paso 411, en donde se realiza una función de verificación en la cadena de identificación del caso de componente y se trunca a una longitud de bit deseada. Deseablemente, el resultado de verificación es truncado a una longitud de aproximadamente 16 bits. En el paso 412 el resultado de verificación truncado es introducido en la porción numérica truncada 312 de la parte de encabezado 31 (como se muestra en la Figura 3). Si la cadena de identificación no va a ser sometida a una función de verificación, el método prosigue al paso 410, en donde la cadena de identificación es truncada a una longitud deseada e introducida en la porción numérica truncada 312 de la parte de encabezado 31. Deseablemente, la cadena de identificación es truncada a una longitud de menos de aproximadamente 16 bits. Una vez que una verificación truncada resulta del paso 412 o una cadena de identificación truncada del paso 410 es introducida a la porción numérica truncada 312 de la parte de encabeza 31, el método prosigue al bloque de decisión 413. En el bloque de decisión 413, se hace una decisión de si agregar detalles de otra clase de componente a la parte de encabezado 31 de la VHWID. Si se van a agregar detalles adicionales de otra clase de componente a la parte de encabezado 31 de la VHWID, el método regresa al paso 407 y prosigue como se describió anteriormente. Si no se va a agregar ninguna información adicional a la parte de encabezado 31 de la VHWID, el método prosigue al paso 414, en donde se prepara la porción de cuenta 32 de la VHWID. Como se discutió anteriormente, la porción de cuenta 32 de la VHWID comprende una cadena numérica de n números, que representan el número de casos de componente dentro de cada una de las n clases de componente utilizadas para formar la VHWID. (Ver porción de cuenta 32 de la Figura 3). En el paso 415, se realiza una función de verificación en las cadenas de identificación para cada caso de componente representado en la porción de cuenta 32 de la VHWID. Si una clase de componente dada no contiene un caso de componente, se puede generar un resultado de verificación especial para utilizarse en la VHWID, en donde el resultado de verificación especial indica que una clase de componente dada no contuvo un caso de componente. Alternativamente, no se puede almacenar ningún primer valor de verificación y la parte de la porción de cuenta 32 que corresponde a la clase de componente faltante será fijada en 0, indicando que la clase de componente está ausente. Los primeros resultados de verificación para cada caso de componente pueden ser truncados a una longitud deseada. En una modalidad ilustrativa de la presente invención, cada uno de los primeros resultados de función de verificación son truncados a una longitud de aproximadamente 10 a aproximadamente 20 bits, más deseablemente alrededor de 16 bits. Se puede utilizar cualquier función de verificación conocida en la presente invención siempre que la función de verificación sea capaz de aceptar una cadena de identificación de longitud arbitraria y producir una salida de verificación o resultado teniendo una longitud fija de menos de o igual a aproximadamente 160 bits. Ejemplos de funciones de verificación adecuadas incluyen, pero no se limitan a, algoritmos de función de verificación HAVAL, MD2, D4, MD5, y SHA-1, todos estos son conocidos por aquellos expertos en la técnica. Las funciones de verificación adecuadas y una descripción de las mismas pueden encontrarse en "Applied Cryptography por Bruce Schneier, Published by John Wiley & Sons (ISBN #0471117090), la descripción de la cual se incorpora- aquí por referencia en su totalidad. En una modalidad de la presente invención, se puede agregar un "valor de sal" al identificador de caso de componente antes de realizar la función de verificación para un caso de componente dado. En esta modalidad, la adición de un valor de sal permite la producción de diferentes VHWIDs basándose en la misma configuración de hardware de computadora. Diferentes VHWIDs para la misma configuración de hardware pueden ser benéficas cuando se corren diferentes aplicaciones o diferentes pasos. Un ejemplo de una situación en donde diferentes VHWIDs para la misma configuración de hardware pueden ser benéficas, se discute a continuación. Por ejemplo, si un usuario activa múltiples paquetes de software del mismo vendedor, puede ser posible utilizar la VHWID para relacionar los registros de activación separados para construir una imagen de los hábitos de compra de software del usuario. Para asegurar contra esto, se pueden hacer diferentes VHWIDs de la misma máquina para que aparezcan sin relación construyendo cada verificación separada utilizando una función de verificación, tal como la verificaciónx = M D 5 [(valor de sal)x + cadena de ID], en donde el valor de sal es diferente para cada paquete de software. En el paso 416, los resultados de verificación para cada caso de componente concatenados para formar la pulsión de verificación 33 de la identificación de hardware de verbosidad (VHWID) 34 como se muestra en la Figura 3. En el paso 217, la identificación de hardware de verbosidad final (VHWID) 34 es ensamblada concatenando la parte de encabezado 31, la parte de cuenta 32 y la parte de verificación 33. En el paso 418, la identificación de hardware de verbosidad resultante (VHWID) para la configuración de hardware HW1 es almacenada para uso futuro. La identificación de hardware de verbosidad (VHWID) para la configuración de hardware HW1 se puede almacenar localmente (por ejemplo, en el registro, sistema de archivo, o almacenamiento seguro) o en un sitio remoto accesible (por ejemplo, una base de datos) o trasmitirse a un centro de referencia para la adquisición de licencia. Aunque el método ilustrativo anteriormente descrito produce una identificación de hardware de verbosidad (VHWID), conteniendo la parte de encabezado 31, la parte de cuenta 32, y la parte de verificación 33, en algunas modalidades de la presente invención, la identificación de hardware de verbosidad (VHWID) para la configuración de hardware HW1 puede contener solamente (i) la porción de verificación 33, o (ii) la parte de cuenta 32, en combinación con la porción de verificación 33, tal como una VHWID comprendiendo la parte de cuenta 32 concatenada con la parte de verificación 33.
C. Determinación de una Identificación de Hardware Compacto (CHWID) para un Sistema de Computadora La identificación de hardware compacto (CHWID) de la presente invención puede ser determinada como se muestra en las Figuras 7-8. Los pasos del método ilustrativo para formar la identificación de hardware compacto (CHWID) pueden ser realizados a través de un código de software dentro de un producto de software en la computadora de un cliente, similar a la computadora 20 descrita anteriormente con referencia a la Figura 1. Como se muestra en las Figuras 7-8, el método ilustrativo para formar una posible identificación de hardware (CHWID) para la configuración de hardware HW1 comienza con el paso 420. En el paso 420, se realiza una segunda función de verificación en un primer valor de verificación de caso de componente a partir de cada una de las clases de componente q seleccionadas de una o más clases de componente, n, usadas para crear la porción de verificación 33 de la identificación de hardware de verbosidad (VHWID) 34. Como se describió anteriormente, la segunda función de verificación puede ser realizada en uno o más primeros valores de verificación de caso de componente, en donde el método de seleccionar los primeros valores de verificación de caso de componente de una o más de las n clases de componente se logra a través de (i) un procedimiento de selección aleatoria o (ii) un método predeterminado. Deseablemente, un primer valor de verificación de caso de componente se selecciona de por lo menos (n - 5) clases de componente, más deseablemente, de por lo menos (n - 3) clases de componente, aún más deseablemente, de por lo menos (n - 2) clases de componente. En una modalidad ilustrativa de la presente invención, un primer valor de verificación de caso de componente se selecciona de todas las n clases de componente para formar segundos valores de verificación de caso de componente correspondientes. Como con la primera función de verificación usada para formar la porción de verificación 33 de la identificación de hardware de verbosidad (VHWID) 34, cualquier función de verificación puede ser usada en la presente invención siempre que la función de verificación sea capaz de aceptar un primer valor de verificación de caso de componente de hasta aproximadamente 160 bits y producir un segundo valor de verificación de caso de componente teniendo una longitud fija de menos de aproximadamente 32 bits. Ejemplos de segundas funciones de verificación adecuadas incluye, pero no se limitan a, algoritmos de función de verificación HAVAL, MD2, MD4, MD5, y SHA-1 , todos los cuales son conocidos por aquellos expertos en la técnica como se discutió anteriormente. En una modalidad de la presente invención, se puede agregar un "valor de sal" al primer valor de verificación de caso de componente antes de realizar la segunda función de verificación para un primer valor de verificación de caso de componente. En esta modalidad, la adición de un valor de sal permite la producción de diferentes identificaciones de hardware compacto (CHWIDs) basándose en la misma configuración de hardware de la computadora. Diferentes identificaciones de hardware compacto (CHWIDs) para la misma configuración de hardware pueden ser benéficas cuando se corren diferentes aplicaciones o diferentes pasos. Un ejemplo de una situación en donde diferentes CHWIDs para la misma configuración de hardware pueden ser benéficas se discuten a continuación. Por ejemplo, si un usuario activa múltiples paquetes de software para el mismo vendedor, puede ser posible utilizar la CHWID para relacionar los registros de activación separados para desarrollar una imagen de los hábitos de compra de software del usuario. Para proteger contra esto, diferentes CHWIDs de la misma máquina pueden hacerse aparecer como no relacionados construyendo cada verificación separada utilizando una función de verificación tal como la verificaciónx = D5[(valor de sal)x + cadena de ID], en donde el valor de sal es diferente para cada paquete de software. En el paso 421, los segundos valores de caso de componente son concatenados para formar la porción de verificación 33' de la identificación de hardware compacto (CHWID) 35 (como se muestra en la Figura 3). En el paso 427, el componente de versión 31' de la identificación de hardware compacto (CHWID) es concatenada con la porción de verificación 33' de la identificación de hardware compacto (CHWID) para formar la identificación de hardware compacto (CHWID) final para la configuración de hardware HW1. El método después prosigue al paso 428. Al regresar al bloque de decisión 425 descrito anteriormente, si la identificación de hardware compacto (CHWID) no comprende un componente de versión 31', el método prosigue directamente al paso 428. En el paso 428, la identificación de hardware compacto (CHWID) resultante para la configuración de hardware HW1 se almacena para uso futuro. La identificación de hardware compacto (CHWID) para la configuración de hardware HW1 puede ser almacenada localmente (por ejemplo, en el registro,, sistema de archivo, o almacenamiento seguro), o en una ubicación remota accesible (por ejemplo, una base de datos), como se describe a continuación. Como se discutió anteriormente, en algunas modalidades de la presente invención, la identificación de hardware compacto (CHWID) para la configuración de hardware HW1 sólo puede contener la porción de verificación 33'.
//. Utilización de una Identificación de Hardware Compacto (CHWID) para Permitir el Uso de un Producto de software en un Sistema de Cómputo. La presente invención además está dirigida a un método para utilizar una identificación de hardware compacto (CHWID) para permitir el uso de un producto de software en un sistema de cómputo que tenga una configuración de hardware de computadora. En una modalidad de la presente invención, el método para utilizar una identificación de hardware compacto (CHWID) para permitir el uso de un producto de software en un sistema de cómputo que tenga una configuración de hardware de computadora dada, se inicia (i) durante cualquier instalación de un producto de software en una computadora diferente a una instalación inicial, (ii) durante la carga de un producto de software o la aplicación ya existente en un componente de la configuración de hardware de computadora, o (iii) en ambos. Un método ilustrativo para utilizar la identificación de hardware compacto (CHWID) se describe en las Figuras 9-10. Los pasos del método ilustrativo pueden ser realizados a través de un código de software dentro de un programa de software en una computadora de cliente, similar a la computadora 20 descrita anteriormente con referencia a la Figura 1. En el paso 501 como se muestra en la Figura 9, un producto de software es ya sea cargado o enviado a una computadora que tenga la configuración de hardware HW2. La configuración de hardware de computadora HW2 (i) puede ser idéntica a la configuración de hardware HW1 utilizada para producir una identificación de hardware de verbosidad inicial (denominado en la presente como ¡VHWID) o una identificación de hardware compacto inicial (denominado en la presente como ¡CHWID) o (ii) puede ser una computadora completamente diferente.
En el paso 502, se genera una nueva identificación de hardware compacto (denominada en la presente cono nCHWID) para la configuración de hardware de computadora HW2. La identificación compacto (nCHWID) para la configuración de hardware de computadora HW2 puede ser generada como se describió anteriormente y se mostró en las Figuras 4-8. Una vez que se genera la nueva identificación de hardware compacto (nCHWID) para una configuración de hardware de computadora HW2 en el paso 503 se recupera una identificación de hardware de verbosidad almacenada (VHWID) o una identificación de hardware compacto (CHWID). Típicamente, la identificación de hardware de verbosidad almacenada (VHWID) es la identificación de hardware de velocidad inicial (¡VHWID), la cual se generó en una primera configuración de hardware de computadora HW1 durante una instalación de producto de software inicial en la HW1. Similarmente, la identificación de hardware compacto (CHWID) almacenada es típicamente la identificación de hardware compacto (CHWID) inicial (¡CHWID), la cual se generó en una primera configuración de hardware de computadora HW1 durante una instalación de producto de software inicial en HW1. En el bloque de decisión 504, se hace una determinación de que si la identificación de hardware previamente almacenada es una identificación de hardware compacto almacenada (CHWID). Si la identificación de hardware previamente almacenada es una identificación de hardware compacto almacenado (sCHWID), el método prosigue al paso 505, en donde ia nueva identificación de hardware compacto (nCHWID) de la configuración de hardware HW2 se compara con la identificación de hardware compacto (sCHWID) previamente almacenada de la configuración de hardware HW1. Si la identificación de hardware previamente almacenada es una identificación de hardware de verbosidad previamente almacenada (sVHWID), el método prosigue al paso 509. En el paso 509, la nueva identificación de hardware compacto (CHWID) se compara con la identificación de hardware de verbosidad (VHWID) almacenada. Una segunda función se realiza para cada uno de los primeros valores de verificación en cada clase de componente de la identificación de hardware de verbosidad (VHWID) almacenada y los resultados se compararon con el segundo valor de verificación asociado con cada clase de componente en la nueva identificación de hardware compacto (CHWID). El método después prosigue al bloque de decisión 506. En el bloque de decisión 506, se hace una determinación de que si el número de correspondencias de clase de componente es igual a o excede a un número requerido de correspondencias de clase de componente, m, necesarias para poder usar el producto de software en la configuración de hardware HW2. Si el número de correspondencias de clase de componente es igual a o excede a un número requerido de correspondencias de clase de componente, m, el método prosigue al paso 507, en donde el método habilita el uso del producto de software en la configuración de software HW2. Si el número de correspondencias de clase de componente es menor que ei número requerido de correspondencias de clase de componente, m, el método prosigue al paso 508, en donde el método deshabilita el uso del producto de software en la configuración de hardware HW2. En el paso 505, la comparación de la nueva identificación de hardware compacto (nCHWID) de la configuración de hardware HW2 con (1) la identificación de hardware compacto previamente almacenada (CHWID) de la configuración de hardware HW1, o (2) la identificación de hardware de verbosidad (VHWID) previamente almacenada de la configuración de hardware HW1, colectivamente referida en la presente como "la identificación de hardware (HUID) de la configuración de hardware HW1", puede involucrar una o más reglas para determinar si existe o no una correspondencia para una clase de componente dada. Deseablemente, el método para utilizar una identificación de hardware compacto (CHWID) para permitir el uso de un producto de software, comprende una o más de las siguientes reglas para determinar el número de correspondencias de clase de componente entre una identificación de hardware compacto recientemente generada (nCHWID) para una configuración de hardware HW2 y la identificación de hardware compacto (CHWID) o identificación de hardware de verbosidad (CHWID) de la conflguraión de hardware HW 1 : (i) cada segundo resultado de verificación de caso de componente dentro de la nueva identificación de hardware compacto (nCHWID) que representa seleccionar casos de componente dentro de una o más clases de componente de la configuración de hardware HW2 se compara con cada segundo resultado de verificación de caso de componente dentro de una o más clases de componente correspondientes en la identificación de hardware compacto (CHWID) o se deriva de la identificación de hardware de verbosidad (VHWID) de la configuración de hardware HW1; existe una correspondencia entre una clase de componente de la configuración de hardware HW2 y una clase de componente correspondiente de la configuración de hardware HW1 cuando un segundo caso de componente resulta dentro de una nueva clase de componente de la nueva identificación de hardware compacto (nCHWID) para la configuración de hardware HW2 corresponde a cualquiera de los segundos resultados de verificación de caso de componente dentro de la clase de componente correspondiente de la identificación de hardware compacto (CHWID) o se deriva de la identificación de hardware de verbosidad (VHWID) de la configuración de hardware HW1; existe una correspondencia individual entre una clase de componente de la configuración de hardware HW2 y una clase de componente correspondiente de la configuración de hardware HW1 cuando uno de los segundos resultados de verificación de caso de componente resultan dentro de una nueva clase de componente usada para formar una nueva identificación de hardware compacto (nCHWID) para la configuración de hardware HW2 corresponde a dos o más segundos resultados de verificación de caso de componente que resulta dentro de una clase de componente correspondiente para formar la identificación de hardware de verbosidad (VHWID) de la configuración de hardware HW1; no existe ninguna correspondencia entre una clase de componente de configuraciones de hardware HW2 y una clase de componente correspondiente de la configuración de hardware HW1 cuando la clase de componente en la configuración de hardware HW2 no contiene un caso de componente, y la clase de componente correspondiente en la configuración de hardware HW1 contiene un segundo resultado de verificación de caso de componente; no existe ninguna correspondencia entre una clase de componente de la configuración de hardware HW2 y una clase de componente correspondiente de la configuración de hardware HW1 cuando la clase de componente en la configuración de hardware HW2 contiene un solo segundo resultado de verificación de caso de componente, y la clase de componente correspondiente en la configuración de hardware HW1 no contiene un segundo resultado de verificación de caso de componente; y existe una correspondencia entre una clase de componente de la configuración de hardware HW2 y una clase de componente correspondiente de la configuración de hardware HW1 cuando la clase de componente en la configuración de hardware HW2 no contiene un segundo resultado de verificación de caso de componente, y la clase de componente correspondiente en la configuración de hardware HW1 no contiene un segundo resultado de caso de componente; y (vii) el número de correspondencias de clases de componente requeridas, m, entre la configuración de hardware HW2 y la configuración HW1 puede ser predeterminada y embebida en un código en un producto de software dado. El número de correspondencias de clase de componente requeridas, m, se selecciona dependiendo del grado de tolerancia deseado para los cambios de componente de configuración de hardware. El número de correspondencias de clase de componente requeridas, m, puede ser (i) tan grande como n, e! número total de clases de componente consideradas durante la determinación de una identificación de hardware de verbosidad (VHWID), o (¡i) puede ser tan grande como q, el número total de clases de componente seleccionas consideradas durante la determinación de la identificación de hardware compacto (CHWID), o (¡ii) puede ser tan pequeño con 1. A medida que m se incrementa, el grado de tolerancia para los cambios de configuración de hardware de computadora se reduce. Por ejemplo, si el número total de clases de componente n es igual a 10 y m es igual a 7, 7 de las 10 clases de componente deben corresponder por lo menos a un caso de componente para permitir la carga o el corrido de un producto de software. Si el número de correspondencias de clase de componente es menor que 7, el producto de software no correrá o será cargado en la configuración de hardware de computadora. El número de correspondencias de ciase de componente requeridas, m, se puede predeterminar a través de un fabricante de software y codificarse a un código de programa de software utilizado para generar una identificación de hardware compacto (CHWID). En una modalidad ilustrativa de la presente invención, m deseablemente es igual a (n - 3). Más deseablemente, m es igual a (n - 2). En otra modalidad de la presente invención, m es deseablemente igual a {q -3). Más deseablemente, m es igual a (g - 2). Sin embargo, como se indicó anteriormente, m puede variar de 1 a n. Los pasos de método descritos anteriormente ¡lustrados en las
Figuras 4-10 pueden ser realizados localmente o en un sitio remoto. Típicamente, un cliente compró un producto de software que puede correr en una computadora dada, tal como la computadora 20 mostrada en la Figura 1. El producto de software puede ser un producto con una envoltura de encogimiento que tiene un programa de software almacenado en un medio legible por computadora transportable, tal como un CD-ROM o disco flexible. Alternativamente, el producto de software puede ser suministrado electrónicamente a través de una red, tal como una red de área local (LAN) 51 o una red de área amplia (WAN) 52. El cliente carga el producto de software en la computadora 20 como un programa almacenada en la memoria de sistema 22. Durante una instalación de producto de software, el cliente típicamente es incitado para introducir una porción de la identificación de producto de software (PID) para el producto de software en la computadora 20. La PID puede ser derivada, por ejemplo, de una clave CD impresa en una etiqueta del paquete de envoltura de encogimiento. El cliente introduce la PID, la cual está asociada con un programa de software del producto de software. La PID está almacenada localmente en la computadora 20 y/ en forma remota en un sitio accesible, ya sea en una red de área local (LAN) 51 o una red de área amplia (WAN) 52 con una tercera parte, tal como una autoridad de activación. Como se describió anteriormente, durante la instalación o activación del producto de software, también genera una identificación de hardware de verbosidad (VHWID) y/o identificación de hardware compacto (CHWID) utilizando un código dentro del producto de software o activado por la instalación del producto de software. La identificación de hardware de verbosidad (VHWID) y/o identificación de hardware compacto (CHWID) generada por el método de la presente invención se asocia con la identificación de producto de software (PID) y se almacena junto la identificación de producto de software (PID) localmente en la computadora 20 y/o en forma remota en un sitio accesible, ya se en una red de área local (LAN) 51 o una red de área amplia (WAN) 52, tal como con una autoridad de activación de tercera parte. Como parte del procedimiento de instalación, se puede requerir que el cliente active el producto de software con una autoridad de activación. Esta autoridad puede ser, por ejemplo, el fabricante del producto o una tercera parte autorizada. El procedimiento de activación está destinado a forzar al cliente a activar el producto de software (i) para instalación y uso en una computadora específica, o (¡i) para instalación y uso de acuerdo con los términos de un acuerdo de licencia del producto. Dicho procedimiento de activación se describe con detalla en la patente de E. U. A. No. 6,243,468, asignada a Microsoft Corporation (Redmond, WA), ios contenidos de ia cual se incorporan aquí por referencia en su totalidad. La identificación de hardware de verbosidad (VHWID) y/o identificación de hardware compacto (CHWID) generada por el método de la presente invención y la identificación del producto de software (PID) pueden ser almacenadas localmente en la computadora 20 y/o en forma remota en un sitio accesible, ya sea en una red de área local (LAN) 51 o una red de área amplia (WAN) 52 con una autoridad de activación. Deseablemente, el producto de software (i) almacena (a) la identificación de hardware de verbosidad (VHWID) y/o identificación de hardware compacto (CHWID) y (b) la identificación de producto de software asociada (PID) en la computadora 20, y (ii) envía (a) la identificación de hardware de verbosidad (VHWID) y/o identificación de hardware compacto (CHWID) y (b) la identificación de producto de software asociada (P1D) electrónicamente a través de una red de área amplia (WAN) 52 a un servidor de activación. Deseablemente, el producto de software automáticamente presenta una ventana de diálogo o ¡nterfase de usuario gráfica (Ul) cuando primero es cargado, lo cual incita ai usuario a iniciar una conexión con el servidor de activación para activarse así mismo. El servidor de activación mantiene una base de datos para almacenar (a) identificaciones de hardware de verbosidad recibidas (VHWIDs) y/o identificaciones de hardware compacto (CHWIDs) y (b) las identificaciones de producto de software asociadas (PIDs). La identificación de hardware de verbosidad (VHWID) y/o identificación de hardware compacto (CHWID) y la identificación de producto de software asociada (PID) para un producto de software dado puede ser almacenada durante un periodo indefinido hasta que el producto de software se vuelva a instalar en otra computadora o se cargue en la primera computadora (es decir, la computadora utilizada durante la instalación inicial). Cuando el mismo producto de software se vuelve a instalar en otra computadora o se carga en la primera computadora, un código en el producto de software inicia un método para generar una nueva identificación de hardware compacto (CHWID) de acuerdo con la presente invención. El producto de software recupera (a) la identificación de hardware de verbosidad (VHWID) previamente almacenada y/o identificación de hardware compacto (CHWID), y (b) la identificación de producto de software (PID) asociada del producto de software ya sea de la computadora local 20 o de un sitio remoto a través de una red de área local (LAN) 51 o una red de área amplia (WAN) 52. Una comparación entre la nueva identificación de hardware compacto (CHWID) y la identificación de hardware compacto previamente almacenada (CHWID) se hace como se describió anteriormente. En un caso manual alternativo, un cliente proporciona un representante de servicio con una identificación de hardware compacto (CHWID) a través del teléfono y representante de servicio proporciona al cliente una identificación de confirmación (CID) basándose en la identificación de hardware compacto (CHWID). El cliente introduce la identificación de confirmación (CID) a través de una ventana Ul. Cuando el uso de un producto de software es negado debido a cambios importantes en la configuración de hardware de una primera computadora (es decir, la computadora utilizada durante la instalación inicial), se puede proveer una caja de diálogo al cliente indicando que el uso del producto de software está siendo negado, y que se puede obtener información adicional con respecto al uso futuro del producto del software a partir de una fuente dada.
///. Otros Usos de una Identificación de Hardware Compacto (CHWID) La identificación de hardware compacto (CHWID) de la presente invención se puede utilizar para otros propósitos distintos a aquellos descritos anteriormente. En una modalidad de la presente invención, la identificación de hardware compacto (CHWID) se utiliza para crear una ID de instalación semi-única para rastrear la máquina. En otra modalidad de la presente invención, la identificación de hardware compacto (CHWID) se utiliza en un servidor central cuando se otorgan licencias para utilizar software en una computadora de un cliente. Aunque la especificación ha sido descrita con detalle con respecto a sus modalidades específicas, se apreciará que aquel/os expertos en la técnica, después de obtener un entendimiento de lo anterior, fácilmente pueden concebir alteraciones, variaciones y equivalentes de estas modalidades. Por consiguiente, el alcance de la presente invención debe ser asignado como aquel de las reivindicaciones anexas y cualesquiera equivalentes a las mismas.
Claims (58)
1.- Un método para generar una identificación de hardware compacto (CHWID) para un primer sistema de computadora que tiene una primera configuración de hardware, en donde el método comprende: seleccionar n ciases de componente; identificar todos los casos de componente dentro de cada una de las n clases de componente; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para n clases de componente; generar una pluralidad de segundos resultados de caso de componente, en donde la pluralidad de segundos resultados de verificación de caso de componente comprende segundos resultados de verificación que resultan de realizar una segunda función de verificación al seleccionar los primeros resultados de verificación de caso de componente dentro de una o más clases de componente seleccionadas; y concatenar la pluralidad de segundos resultados de verificación para formar una porción de verificación, en donde ias porciones de verificación forman la identificación de hardware compacto (CHWID) para el primer sistema de computadora.
2. - El método de acuerdo con la reivindicación 1, que comprende además: concatenar (i) un componente de versión y (i¡) la porción de verificación de la identificación de hardware compacto (CHWID) para formar la identificación de hardware compacto (CHWID) para el primer sistema de computadora.
3. - El método de acuerdo con la reivindicación 1, en donde n es un número entero de hasta aproximadamente 16.
4. - El método de acuerdo con la reivindicación 2, en donde el componente de versión comprende un número de versión.
5. - El método de acuerdo con la reivindicación 1, en donde por lo menos una de las clases de componente n contiene dos o más casos de componente.
6. - El método de acuerdo con la reivindicación 1, en donde cada clase de componente n contiene de 0 a 14 casos de componente.
7. - El método de acuerdo con la reivindicación 1, en donde cada primer resultado de verificación de caso de componente está truncado a un número de 16 bits.
8. - El método de acuerdo con la reivindicación 1, en donde cada segundo resultado de caso de componente está truncado a un número que tiene menos de 8 bits.
9.- El método de acuerdo con la reivindicación 1, en donde la identificación de hardware compacto (CHWID) para el primer sistema de computadora tiene una longitud de hasta aproximadamente 256 bits.
10. - El método de acuerdo con la reivindicación 9, en donde la identificación de hardware compacto (CHWID) para el primer sistema de computadora tiene una longitud de aproximadamente 32 a aproximadamente 64 bits.
11. - El método de acuerdo con la reivindicación 1, en donde el método es iniciado durante un paso de cargar un producto de software en el primer sistema de computadora.
12. - Un sistema de cómputo que contiene por lo menos un módulo de aplicación que se utiliza en el sistema de cómputo, en donde por lo menos el módulo de aplicación comprende el código de aplicación para realizar el método de la reivindicación 1.
13.- Un medio legible por computadora que tiene almacenadas en el mismo, instrucciones ejecutables por computadora para realizar el método de la reivindicación 1.
14.- Un método para determinar si un producto de software puede ser utilizado en un segundo sistema de computadora que tiene una segunda configuración de hardware, en donde el segundo sistema de computadora es idéntico a o diferente de un primer sistema de computadora teniendo una primera configuración de hardware, el producto de software siendo inicialmente instalada en la primera computadora, en donde el método comprende: generar una segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware; comparar la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware con (i) una primera identificación de hardware compacto (fCHWID) para la primera configuración de hardware, o (¡i) una primera identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware; si existe un número de correspondencias entre las clases de componente de la segunda confirmación de hardware y las clases de componente correspondientes de la primera configuración de hardware y el número de correspondencias es igual a o excede a m, un número de las correspondencias de clase de componente requeridas, carga el producto de software en el segundo sistema de computadora; y si el número de correspondencias es menor que m, evitar que el producto de software sea cargado en el segundo sistema de computadora.
15.- El método de acuerdo con la reivindicación 14, en donde la segunda identificación de hardware compacto (sCHWID) se genera a través de un método que comprende: seleccionar n clases de componente de la segunda configuración de hardware; identificar todos los casos de componente dentro de cada una de las n clases de componente de la segunda configuración de hardware; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para las n clases de componente de la segunda configuración de hardware; generar una pluralidad de segundos resultados de verificación de caso de componente, en donde la pluralidad de segundos resultados de verificación de caso de componente comprende segundos resultados que resultan de la realización de una segunda función de verificación para seleccionar a los primeros resultados de verificación de caso de componente dentro de una o más clases de componente seleccionadas de la segunda configuración de hardware; y concatenar la pluralidad de segundos resultados para formar una porción de verificación, en donde la porción de verificación forma la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware.
16.- El método de acuerdo con la reivindicación 14, en donde la primera identificación de hardware compacto (fCHWID) se genera a través de un método que comprende: seleccionar n clases de componente de la primera configuración de hardware; identificar todos los casos de componente dentro de cada una de las n clases de componente de la primera configuración de hardware; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para las n clases de componente de ia primera configuración de hardware; generar una pluralidad de segundos resultados de verificación de caso de componente, en donde la pluralidad de segundos resultados de verificación de caso de componente comprende segundos resultados que resultan de la realización de una segunda función de verificación para seleccionar a los primeros resultados de verificación de caso de componente dentro de una o más clases de componente seleccionadas de la primera configuración de hardware; y concatenar la pluralidad de segundos resultados para formar una porción de verificación, en donde la porción de verificación forma la primera identificación de hardware compacto (fCHWID) para la primera configuración de hardware.
17.- El método de acuerdo con la reivindicación 14, en donde la primera identificación de hardware de verbosidad (fVHWID) se genera a través de un método que comprende: seleccionar n clases de componente de la primera configuración de hardware; identificar todos los casos de componente dentro de cada una de las n clases de componente de la primera configuración de hardware; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para las n clases de componente de la primera configuración de hardware; y concatenar la pluralidad de primeros resultados de verificación para formar una porción de verificación, en donde las porciones de verificación forman la primera identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware.
18.- El método de acuerdo con la reivindicación 14, en donde existe una correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware cuando un segundo resultado de verificación de caso de componente dentro de una clase de componente de la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware corresponde con cualquiera de los segundos resultados de verificación de caso de componente dentro de una clase de componente correspondiente de (i) la primera identificación de hardware compacto (fCHWID) para la primera configuración de hardware o (ii) derivado de las primeras verificaciones de caso de componente de la identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware.
19.- El método de acuerdo con la reivindicación 14, en donde existe una sola correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware cuando un segundo resultado de verificación de caso de componente dentro de una clase de componente de la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware corresponde con cualquiera de los segundos resultados de verificación de caso de componente dentro de una clase de componente correspondiente de (i) la primera identificación de hardware compacto (fCHWID) para la primera configuración de hardware o (ii) derivado de las primeras verificaciones de caso de componente de la identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware.
20.- El método de acuerdo con la reivindicación 14, en donde no existe ninguna correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardwa're (a) cuando la clase de componente en la primera configuración de hardware no contiene un caso de componente, y la clase de componente correspondiente en la segunda configuración de hardware contiene una caso de componente, y (b) cuando la clase de componente en la primera configuración de hardware contiene un solo caso de componente, y la clase de componente correspondiente en la segunda configuración de hardware no contiene un caso de componente.
21. - El método de acuerdo con la reivindicación 14, en donde existe una correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware cuando la clase de componente en la primera configuración de hardware no contiene un caso de componente, y la clase de componente correspondiente en la segunda configuración de hardware no contiene un caso de componente.
22. - El método de acuerdo con la reivindicación 14, en donde m es igual a (n - 3), en donde n representa el número de clases de componente dentro de la segunda configuración de hardware usada para formar la segunda identificación de hardware compacto (sCHWID).
23. - Un sistema de cómputo que contiene por lo menos un módulo de aplicación que se utiliza en el sistema de cómputo, en donde por lo menos un módulo de aplicación comprende el código de aplicación para realizar el método de la reivindicación 14.
24. - Un medio legible por computadora que tiene almacenadas en el mismo, instrucciones ejecutables por computadora para realizar ei método de la reivindicación 14.
25.- Un medio legible por computadora que tiene almacenadas en el mismo, instrucciones ejecutables por computadora para realizar un método para generar una identificación de hardware compacto (CHWID) para un primer sistema de computadora que tiene una primera configuración de hardware, en donde el método comprende: seleccionar n clases de componente; identificar todos los casos de componente dentro de cada una de las n clases de componente; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para n clases de componente; generar una pluralidad de ' segundos resultados de caso de componente, en donde la pluralidad de segundos resultados de verificación de caso de componente comprende segundos resultados de verificación que resultan de realizar una segunda función de verificación al seleccionar los primeros resultados de verificación de caso de componente dentro de una o más clases de componente seleccionadas; y concatenar la pluralidad de segundos resultados de verificación para formar una porción de verificación, en donde las porciones de verificación forman la identificación de hardware compacto (CHWID) para el primer sistema de computadora.
26. - El medio legible por computadora de acuerdo con la reivindicación 25, que comprende además: concatenar (i) un componente de versión y (ii) la porción de verificación de la identificación de hardware compacto (CHWID) para formar la identificación de hardware compacto (CHWID) para el primer sistema de computadora.
27. - El medio legible por computadora de acuerdo con la reivindicación 25, en donde n es un número entero de hasta aproximadamente 16.
28. - El medio legible por computadora de acuerdo con la reivindicación 27, en donde el componente de versión comprende un número de versión.
29. - El de acuerdo con la reivindicación 25, en donde por lo menos una de las clases de componente n contiene dos o más casos de componente.
30. - El medio legible por computadora de acuerdo con la reivindicación 25, en donde cada clase de componente n contiene de 0 a 14 casos de componente.
31.- El medio legible por computadora de acuerdo con la reivindicación 25, en donde la identificación de hardware compacto (CHWID) para el primer sistema de computadora tiene una longitud de por lo menos aproximadamente 256 bits.
32.- El medio legible por computadora de acuerdo con la reivindicación 25, en donde el método es iniciado durante un paso de cargar un producto de software en el primer sistema de computadora.
33.- Un medio legible por computadora que tiene almacenadas en el mismo, instrucciones ejecutables por computadora para realizar el método para determinar si un producto de software puede ser utilizado en un segundo sistema de computadora teniendo una segunda configuración de hardware, en donde el segundo sistema de computadora es idéntico a o diferente de un primer sistema de computadora teniendo una primera configuración de hardware, el producto de software siendo inicialmente instalado en la primera computadora, en donde el método comprende: generar una segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware; comparar la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware con (i) una primera identificación de hardware compacto (fCHWID) para la primera configuración de hardware, o (ii) una primera identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware; si existe un número de correspondencias entre las clases de componente de la segunda confirmación de hardware y las clases de componente correspondientes de la primera configuración de hardware y el número de correspondencias es igual a o excede a m, un número de las correspondencias de clase de componente requeridas, carga el producto de software en el segundo sistema de computadora; y si el número de correspondencias es menor que m, evitar que el producto de software sea cargado en el segundo sistema de computadora.
34.- El medio legible por computadora de acuerdo con la reivindicación 33, en donde la segunda identificación de hardware compacto (sCHWID) se genera a través de un método que comprende: seleccionar n clases de componente de la segunda configuración de hardware; identificar todos los casos de componente dentro de cada una de las n clases de componente de la segunda configuración de hardware; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para las n clases de componente de la segunda configuración de hardware; generar una pluralidad de segundos resultados de verificación de caso de componente, en donde la pluralidad de segundos resultados de verificación de caso de componente comprende segundos resultados que resultan de la realización de una segunda función de verificación para seleccionar a los primeros resultados de verificación de caso de componente dentro de una o más clases de componente seleccionadas de la segunda configuración de hardware; y concatenar la pluralidad de segundos resultados para formar una porción de verificación, en donde la porción de verificación forma la segunda identificación de hardware compacto (sCHWlD) para la segunda configuración de hardware.
35.- El medio legible por computadora de acuerdo con la reivindicación 33, en donde la primera identificación de hardware compacto (fCHWID) se genera a través de un método que comprende: seleccionar n clases de componente de la primera configuración de hardware; identificar todos los casos de componente dentro de cada una de las n clases de componente de la primera configuración de hardware; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para las n clases de componente de la primera configuración de hardware; generar una pluralidad de segundos resultados de verificación de caso de componente, en donde la pluralidad de segundos resultados de verificación de caso de componente comprende segundos resultados que resultan de la realización de una segunda función de verificación para seleccionar a los primeros resultados de verificación de caso de componente dentro de una o más clases de componente seleccionadas de la primera configuración de hardware; y concatenar la pluralidad de segundos resultados para formar una porción de verificación, en donde la porción de verificación forma la primera identificación de hardware compacto (fCHWID) para ia primera configuración de hardware.
36.- El medio legible por computadora de acuerdo con la reivindicación 33, en donde la primera identificación de hardware de verbosidad (fVHWID) se genera a través de un método que comprende: seleccionar n clases de componente de la primera configuración de hardware; identificar todos los casos de componente dentro de cada una de las n clases de componente de la primera configuración de hardware; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para las n clases de componente de la primera configuración de hardware; y concatenar la pluralidad de primeros resultados de verificación para formar una porción de verificación, en donde las porciones de verificación forman la primera identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware.
37. - El medio legible por computadora de acuerdo con la reivindicación 33, en donde existe una correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware cuando un segundo resultado de verificación de caso de componente dentro de una clase de componente de la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware corresponde con cualquiera de los segundos resultados de verificación de caso de componente dentro de una clase de componente correspondiente de (i) la primera identificación de hardware compacto (fCHWID) para la primera configuración de hardware o (ii) derivado de las primeras verificaciones de caso de componente de la identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware.
38. - El medio legible por computadora de acuerdo con la reivindicación 33, en donde existe una sola correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware cuando un segundo resultado de verificación de caso de componente dentro de una clase de componente de la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware corresponde con dos o más segundos resultados de verificación de caso de componente derivados de las primeras verificaciones de caso de componente de la identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware.
39. - El medio legible por computadora de acuerdo con la reivindicación 33, en donde no existe ninguna correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware (a) cuando la clase de componente en la primera configuración de hardware no contiene un caso de componente, y la clase de componente correspondiente en la segunda configuración de hardware contiene una caso de componente, y (b) cuando la clase de componente en la primera configuración de hardware contiene un solo caso de componente, y la clase de componente correspondiente en la segunda configuración de hardware no contiene un caso de componente.
40. - El método de acuerdo con la reivindicación 33, en donde existe una correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware cuando la clase de componente en la primera configuración de hardware no contiene un caso de componente, y la clase de componente correspondiente en la segunda configuración de hardware no contiene un caso de componente.
41. - El método de acuerdo con la reivindicación 33, en donde m es igual a (n - 3), en donde n representa el número de clases de componente dentro de la segunda configuración de hardware usada para formar la segunda identificación de hardware compacto (sCHWID).
42. - Un sistema de cómputo que contiene por lo menos un módulo de aplicación que se puede utilizar en el sistema de cómputo, en donde por lo menos un módulo de aplicación comprende un código de aplicación para realizar un método para generar una identificación de hardware compacto (CHWID) para un primer sistema de computadora que tenga una primera configuración de hardware, en donde el método comprende: seleccionar n clases de componente; identificar todos los casos de componente dentro de cada una de las n clases de componente; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para n clases de componente; generar una pluralidad de segundos resultados de caso de componente, en donde la pluralidad de segundos resultados de verificación de caso de componente comprende segundos resultados de verificación que resultan de realizar una segunda función de verificación al seleccionar los primeros resultados de verificación de caso de componente dentro de una o más clases de componente seleccionadas; y concatenar la pluralidad de segundos resultados de verificación para formar una porción de verificación, en donde las porciones de verificación forman la identificación de hardware compacto (CHWID) para el primer sistema de computadora.
43.- El sistema de cómputo de acuerdo con la reivindicación 42, que comprende además: concatenar (i) un componente de versión y (ii) la porción de verificación de la identificación de hardware compacto (CHWID) para formar la identificación de hardware compacto (CHWID) para el primer sistema de cómputo.
44.- El sistema de cómputo de acuerdo con la reivindicación 42, en donde n es un número entero de hasta aproximadamente 16.
45.- El sistema de cómputo de acuerdo con la reivindicación 43, en donde el componente de versión comprende un número de versión.
46.- El sistema de cómputo de acuerdo con la reivindicación 42, en donde por lo menos una de las clases de componente n contiene dos o más casos de componente.
47.- El sistema de cómputo de acuerdo con la reivindicación 42, en donde cada clase de componente n contiene de 0 a 14 casos de componente.
48.- El sistema de cómputo de acuerdo con la reivindicación 42, en donde la identificación de hardware compacto (CHWID) para el primer sistema de computadora tiene una longitud de por lo menos aproximadamente 256 bits.
49.- El sistema de cómputo de acuerdo con la reivindicación 42, en donde el método es iniciado durante un paso de cargar un producto de software en el primer sistema de computadora.
50.- Un sistema de cómputo que contiene por lo menos un módulo de aplicación que se puede utilizar en el sistema de cómputo, en donde por lo menos el módulo de aplicación comprende un código de aplicación para realizar un método para determinar si un producto de software puede ser usado en un segundo sistema de computadora teniendo una segunda configuración de hardware, en donde el segundo sistema de computadora es idéntico a o diferente de un primer sistema de computadora que tiene una primera configuración de hardware, el producto de software siendo inicialmente instalado en la primera computadora, en donde el método comprende: generar una segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware; comparar la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware con (i) una primera identificación de hardware compacto (fCHWID) para la primera configuración de hardware, o (¡i) una primera identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware; si existe un número de correspondencias entre ias clases de componente de la segunda confirmación de hardware y ias clases de componente correspondientes de la primera configuración de hardware y el número de correspondencias es igual a o excede a m, un número de las correspondencias de clase de componente requeridas, carga el producto de software en el segundo sistema de computadora; y si el número de correspondencias es menor que m, evitar que el producto de software sea cargado en el segundo sistema de computadora.
51.- El sistema de cómputo de acuerdo con la reivindicación 50, en donde la segunda identificación de hardware compacto (sCHWID) se genera a través de un método que comprende: seleccionar n clases de componente de la segunda configuración de hardware; identificar todos los casos de componente dentro de cada una de las n clases de componente de la segunda configuración de hardware; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para las n clases de componente de la segunda configuración de hardware; generar una pluralidad de segundos resultados de verificación de caso de componente, en donde la pluralidad de segundos resultados de verificación de caso de componente comprende segundos resultados que resultan de la realización de una segunda función de verificación para seleccionar a los primeros resultados de verificación de caso de componente dentro de una o más clases de componente seleccionadas de la segunda configuración de hardware; y concatenar la pluralidad de segundos resultados para formar una porción de verificación, en donde la porción de verificación forma la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware.
52.- El sistema de cómputo de acuerdo con la reivindicación 50, en donde la primera identificación de hardware compacto (fCHWlD) se genera a través de un método que comprende: seleccionar n clases de componente de la primera configuración de hardware; identificar todos los casos de componente dentro de cada una de las n clases de componente de la primera configuración de hardware; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para las n clases de componente de la primera configuración de hardware; generar una pluralidad de segundos resultados de verificación de caso de componente, en donde la pluralidad de segundos resultados de verificación de caso de componente comprende segundos resultados que resultan de la realización de una segunda función de verificación para seleccionar a los primeros resultados de verificación de caso de componente dentro de una o más clases de componente seleccionadas de la primera configuración de hardware; y concatenar la pluralidad de segundos resultados para formar una porción de verificación, en donde la porción de verificación forma la primera identificación de hardware compacto (fCHWID) para la primera configuración de hardware.
53.- El sistema de cómputo de acuerdo con la reivindicación 50, en donde la primera identificación de hardware de verbosidad (fVHWID) se genera a través de un método que comprende: seleccionar n clases de componente de la primera configuración de hardware; identificar todos los casos de componente dentro de cada una de las n clases de componente de la primera configuración de hardware; generar una pluralidad de primeros resultados de verificación de caso de componente, en donde la pluralidad de primeros resultados de verificación de caso de componente comprende un primer resultado de verificación para cada caso de componente y por lo menos un primer resultado de verificación para las n clases de componente de la primera configuración de hardware; y concatenar la pluralidad de primeros resultados de verificación para formar una porción de verificación, en donde las porciones de verificación forman la primera identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware.
54. - El sistema de cómputo de acuerdo con la reivindicación 50, en donde existe una correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware cuando un segundo resultado de verificación de caso de componente dentro de una clase de componente de la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware corresponde con cualquiera de los segundos resultados de verificación de caso de componente dentro de una clase de componente correspondiente de (i) la primera identificación de hardware compacto (fCHWID) para la primera configuración de hardware o (ii) derivado de las primeras verificaciones de caso de componente de la identificación de hardware de verbosidad (fVHWID) para la primera configuración de hardware.
55. - El sistema de cómputo de acuerdo con la reivindicación 50, en donde existe una sola correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware cuando un segundo resultado de verificación de caso de componente dentro de una clase de componente de la segunda identificación de hardware compacto (sCHWID) para la segunda configuración de hardware corresponde con dos o más segundos resultados de verificación de caso de componente derivados de las primeras verificaciones de caso de componente de la identificación de hardware de verbosidad (fVHWlD) para la primera configuración de hardware.
56.- El sistema de cómputo de acuerdo con la reivindicación 50, en donde no existe ninguna correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware (a) cuando la clase de componente en la primera configuración de hardware no contiene un caso de componente, y la clase de componente correspondiente en la segunda configuración de hardware contiene una caso de componente, y (b) cuando la clase de componente en la primera configuración de hardware contiene un solo caso de componente, y la clase de componente correspondiente en la segunda configuración de hardware no contiene un caso de componente.
57.- El sistema de cómputo de acuerdo con la reivindicación 50, en donde existe una correspondencia entre una clase de componente de la segunda configuración de hardware y una clase de componente correspondiente de la primera configuración de hardware cuando la clase de componente en la primera configuración de hardware no contiene un caso de componente, y la clase de componente correspondiente en la segunda configuración de hardware no contiene un caso de componente.
58.- El sistema de cómputo de acuerdo con la reivindicación 50, en donde m es igual a (n - 3), en donde n representa el número de clases de componente dentro de la segunda configuración de hardware usada para formar la segunda identificación de hardware compacto (sCHWID).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/378,294 US7278131B2 (en) | 2003-03-03 | 2003-03-03 | Compact hardware identification for binding a software package to a computer system having tolerance for hardware changes |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA04002023A true MXPA04002023A (es) | 2005-02-17 |
Family
ID=32824753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MXPA04002023A MXPA04002023A (es) | 2003-03-03 | 2004-03-02 | Identificacion de hardware compacto para unir un paquete de software a un sistema de computadora que tiene tolerancia para cambios de hardware. |
Country Status (16)
Country | Link |
---|---|
US (1) | US7278131B2 (es) |
EP (2) | EP1455258B1 (es) |
JP (1) | JP4652701B2 (es) |
KR (1) | KR100991061B1 (es) |
CN (1) | CN100430860C (es) |
AT (1) | ATE473486T1 (es) |
AU (1) | AU2004200641B2 (es) |
BR (1) | BRPI0400378A (es) |
CA (1) | CA2458765C (es) |
DE (1) | DE602004027966D1 (es) |
HK (1) | HK1068978A1 (es) |
MX (1) | MXPA04002023A (es) |
MY (1) | MY142576A (es) |
RU (1) | RU2363044C2 (es) |
TW (1) | TWI321289B (es) |
ZA (1) | ZA200401491B (es) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7596539B2 (en) * | 2003-05-29 | 2009-09-29 | International Business Machines Corporation | Method and apparatus for providing connection information of functional components within a computer system |
US20050138563A1 (en) * | 2003-12-18 | 2005-06-23 | International Business Machines Corporation | Method and system for providing computer system software images |
GB0427540D0 (en) * | 2004-12-15 | 2005-01-19 | Ibm | A system for maintaining data |
US9547780B2 (en) | 2005-03-28 | 2017-01-17 | Absolute Software Corporation | Method for determining identification of an electronic device |
US8087092B2 (en) | 2005-09-02 | 2011-12-27 | Uniloc Usa, Inc. | Method and apparatus for detection of tampering attacks |
US8839451B1 (en) * | 2006-08-07 | 2014-09-16 | Moka5, Inc. | Activation and security of software |
US8284929B2 (en) | 2006-09-14 | 2012-10-09 | Uniloc Luxembourg S.A. | System of dependant keys across multiple pieces of related scrambled information |
US7908662B2 (en) | 2007-06-21 | 2011-03-15 | Uniloc U.S.A., Inc. | System and method for auditing software usage |
US8620818B2 (en) * | 2007-06-25 | 2013-12-31 | Microsoft Corporation | Activation system architecture |
US8281298B2 (en) * | 2007-08-27 | 2012-10-02 | International Business Machines Corporation | Evaluating computer driver update compliance |
EP2203815B1 (en) | 2007-09-20 | 2015-08-12 | Uniloc Luxembourg S.A. | Installing protected software product using unprotected installation image |
US8160247B2 (en) * | 2007-09-27 | 2012-04-17 | Adobe Systems Incorporated | Providing local storage service to applications that run in an application execution environment |
US8528109B2 (en) * | 2007-10-09 | 2013-09-03 | Microsoft Corporation | Optimizing amount of data passed during software license activation |
US8566960B2 (en) | 2007-11-17 | 2013-10-22 | Uniloc Luxembourg S.A. | System and method for adjustable licensing of digital products |
US8464059B2 (en) | 2007-12-05 | 2013-06-11 | Netauthority, Inc. | System and method for device bound public key infrastructure |
WO2009105702A2 (en) | 2008-02-22 | 2009-08-27 | Etchegoyen Craig S | License auditing for distributed applications |
WO2009143115A1 (en) | 2008-05-21 | 2009-11-26 | Uniloc Usa, Inc. | Device and method for secured communication |
US9594582B2 (en) * | 2009-01-05 | 2017-03-14 | International Business Machines Corporation | Detection and management of dynamic migration of virtual environments |
EP2396742A2 (en) * | 2009-02-10 | 2011-12-21 | Uniloc Usa, Inc. | Web content access using a client device identifier |
JP4692652B2 (ja) * | 2009-02-18 | 2011-06-01 | コニカミノルタビジネステクノロジーズ株式会社 | ライセンス管理システム、ライセンス管理コンピュータ、ライセンス管理方法およびライセンス管理プログラム |
US8103553B2 (en) | 2009-06-06 | 2012-01-24 | Bullock Roddy Mckee | Method for making money on internet news sites and blogs |
US9047450B2 (en) | 2009-06-19 | 2015-06-02 | Deviceauthority, Inc. | Identification of embedded system devices |
US9047458B2 (en) | 2009-06-19 | 2015-06-02 | Deviceauthority, Inc. | Network access protection |
US8423473B2 (en) | 2009-06-19 | 2013-04-16 | Uniloc Luxembourg S. A. | Systems and methods for game activation |
US9633183B2 (en) | 2009-06-19 | 2017-04-25 | Uniloc Luxembourg S.A. | Modular software protection |
US8495359B2 (en) | 2009-06-22 | 2013-07-23 | NetAuthority | System and method for securing an electronic communication |
US8736462B2 (en) | 2009-06-23 | 2014-05-27 | Uniloc Luxembourg, S.A. | System and method for traffic information delivery |
US8452960B2 (en) | 2009-06-23 | 2013-05-28 | Netauthority, Inc. | System and method for content delivery |
US8903653B2 (en) | 2009-06-23 | 2014-12-02 | Uniloc Luxembourg S.A. | System and method for locating network nodes |
US10068282B2 (en) | 2009-06-24 | 2018-09-04 | Uniloc 2017 Llc | System and method for preventing multiple online purchases |
US9075958B2 (en) | 2009-06-24 | 2015-07-07 | Uniloc Luxembourg S.A. | Use of fingerprint with an on-line or networked auction |
US8239852B2 (en) | 2009-06-24 | 2012-08-07 | Uniloc Luxembourg S.A. | Remote update of computers based on physical device recognition |
US9129097B2 (en) | 2009-06-24 | 2015-09-08 | Uniloc Luxembourg S.A. | Systems and methods for auditing software usage using a covert key |
US8213907B2 (en) | 2009-07-08 | 2012-07-03 | Uniloc Luxembourg S. A. | System and method for secured mobile communication |
US9141489B2 (en) | 2009-07-09 | 2015-09-22 | Uniloc Luxembourg S.A. | Failover procedure for server system |
US8726407B2 (en) | 2009-10-16 | 2014-05-13 | Deviceauthority, Inc. | Authentication of computing and communications hardware |
US8769296B2 (en) | 2009-10-19 | 2014-07-01 | Uniloc Luxembourg, S.A. | Software signature tracking |
US8316421B2 (en) * | 2009-10-19 | 2012-11-20 | Uniloc Luxembourg S.A. | System and method for device authentication with built-in tolerance |
US9082128B2 (en) | 2009-10-19 | 2015-07-14 | Uniloc Luxembourg S.A. | System and method for tracking and scoring user activities |
EP2372592B1 (en) | 2009-12-14 | 2016-08-24 | Nxp B.V. | integrated circuit and system for installing computer code thereon |
US9235399B2 (en) * | 2010-01-15 | 2016-01-12 | Dell Products L.P. | System and method for manufacturing and personalizing computing devices |
US9256899B2 (en) * | 2010-01-15 | 2016-02-09 | Dell Products, L.P. | System and method for separation of software purchase from fulfillment |
US10387927B2 (en) * | 2010-01-15 | 2019-08-20 | Dell Products L.P. | System and method for entitling digital assets |
US9100396B2 (en) * | 2010-01-29 | 2015-08-04 | Dell Products L.P. | System and method for identifying systems and replacing components |
US8170783B2 (en) | 2010-03-16 | 2012-05-01 | Dell Products L.P. | System and method for handling software activation in entitlement |
GB2484268A (en) | 2010-09-16 | 2012-04-11 | Uniloc Usa Inc | Psychographic profiling of users of computing devices |
AU2011100168B4 (en) | 2011-02-09 | 2011-06-30 | Device Authority Ltd | Device-bound certificate authentication |
US8817984B2 (en) | 2011-02-03 | 2014-08-26 | mSignia, Inc. | Cryptographic security functions based on anticipated changes in dynamic minutiae |
US11063920B2 (en) | 2011-02-03 | 2021-07-13 | mSignia, Inc. | Cryptographic security functions based on anticipated changes in dynamic minutiae |
CN103797490B (zh) | 2011-03-15 | 2017-04-26 | 爱迪德技术有限公司 | 在使用秘密共享方案的计算环境中生成用于资产集合的标识符的容忍变化方法 |
AU2011101295B4 (en) | 2011-06-13 | 2012-08-02 | Device Authority Ltd | Hardware identity in multi-factor authentication layer |
AU2011101297B4 (en) | 2011-08-15 | 2012-06-14 | Uniloc Usa, Inc. | Remote recognition of an association between remote devices |
AU2011101296B4 (en) | 2011-09-15 | 2012-06-28 | Uniloc Usa, Inc. | Hardware identification through cookies |
US8949401B2 (en) | 2012-06-14 | 2015-02-03 | Dell Products L.P. | Automated digital migration |
US9779219B2 (en) | 2012-08-09 | 2017-10-03 | Dell Products L.P. | Method and system for late binding of option features associated with a device using at least in part license and unique ID information |
US9143496B2 (en) | 2013-03-13 | 2015-09-22 | Uniloc Luxembourg S.A. | Device authentication using device environment information |
US9286466B2 (en) | 2013-03-15 | 2016-03-15 | Uniloc Luxembourg S.A. | Registration and authentication of computing devices using a digital skeleton key |
CN104246722B (zh) | 2013-03-29 | 2017-02-22 | 株式会社东芝 | 用于基于哈希表排除数据重复的存储系统,存储控制器及方法 |
AU2013100802B4 (en) | 2013-04-11 | 2013-11-14 | Uniloc Luxembourg S.A. | Device authentication using inter-person message metadata |
US8695068B1 (en) | 2013-04-25 | 2014-04-08 | Uniloc Luxembourg, S.A. | Device authentication using display device irregularity |
JP6244759B2 (ja) | 2013-09-10 | 2017-12-13 | 株式会社ソシオネクスト | セキュアブート方法、半導体装置、及び、セキュアブートプログラム |
US9356914B2 (en) * | 2014-07-30 | 2016-05-31 | Gracenote, Inc. | Content-based association of device to user |
CN104834537B (zh) * | 2014-12-30 | 2018-04-27 | 沈阳东软医疗系统有限公司 | 数据处理方法、服务器及客户端 |
US9824236B2 (en) * | 2015-05-19 | 2017-11-21 | Accenture Global Services Limited | System for anonymizing and aggregating protected information |
US10491401B2 (en) | 2017-02-21 | 2019-11-26 | Google Llc | Verification of code signature with flexible constraints |
US10311224B1 (en) * | 2017-03-23 | 2019-06-04 | Amazon Technologies, Inc. | Digitally sealing equipment for authentication of components |
US11075925B2 (en) * | 2018-01-31 | 2021-07-27 | EMC IP Holding Company LLC | System and method to enable component inventory and compliance in the platform |
US10754708B2 (en) | 2018-03-28 | 2020-08-25 | EMC IP Holding Company LLC | Orchestrator and console agnostic method to deploy infrastructure through self-describing deployment templates |
US10693722B2 (en) | 2018-03-28 | 2020-06-23 | Dell Products L.P. | Agentless method to bring solution and cluster awareness into infrastructure and support management portals |
US10795756B2 (en) | 2018-04-24 | 2020-10-06 | EMC IP Holding Company LLC | System and method to predictively service and support the solution |
US11086738B2 (en) | 2018-04-24 | 2021-08-10 | EMC IP Holding Company LLC | System and method to automate solution level contextual support |
US11599422B2 (en) | 2018-10-16 | 2023-03-07 | EMC IP Holding Company LLC | System and method for device independent backup in distributed system |
CN109508517B (zh) * | 2018-10-29 | 2021-06-29 | 武汉思普崚技术有限公司 | 软件功能模块选择性激活方法及设备 |
US20200220865A1 (en) * | 2019-01-04 | 2020-07-09 | T-Mobile Usa, Inc. | Holistic module authentication with a device |
US10862761B2 (en) | 2019-04-29 | 2020-12-08 | EMC IP Holding Company LLC | System and method for management of distributed systems |
US11301557B2 (en) | 2019-07-19 | 2022-04-12 | Dell Products L.P. | System and method for data processing device management |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61220030A (ja) * | 1985-03-26 | 1986-09-30 | Toshiba Corp | ソフトウエア識別方式 |
JPS63296136A (ja) * | 1987-05-27 | 1988-12-02 | Nec Corp | プログラムの正当性確認方法 |
US5757907A (en) | 1994-04-25 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification |
US5734819A (en) | 1994-10-12 | 1998-03-31 | International Business Machines Corporation | Method and apparatus for validating system operation |
JPH1027035A (ja) * | 1996-07-12 | 1998-01-27 | Fujitsu Ltd | 情報処理装置 |
US6148407A (en) | 1997-09-30 | 2000-11-14 | Intel Corporation | Method and apparatus for producing computer platform fingerprints |
US6226747B1 (en) | 1998-04-10 | 2001-05-01 | Microsoft Corporation | Method for preventing software piracy during installation from a read only storage medium |
US7503072B2 (en) | 1998-04-29 | 2009-03-10 | Microsoft Corporation | Hardware ID to prevent software piracy |
US6243468B1 (en) | 1998-04-29 | 2001-06-05 | Microsoft Corporation | Software anti-piracy system that adapts to hardware upgrades |
US6044471A (en) | 1998-06-04 | 2000-03-28 | Z4 Technologies, Inc. | Method and apparatus for securing software to reduce unauthorized use |
US7290149B2 (en) * | 2003-03-03 | 2007-10-30 | Microsoft Corporation | Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes |
-
2003
- 2003-03-03 US US10/378,294 patent/US7278131B2/en not_active Expired - Fee Related
-
2004
- 2004-02-18 AU AU2004200641A patent/AU2004200641B2/en not_active Ceased
- 2004-02-20 MY MYPI20040558A patent/MY142576A/en unknown
- 2004-02-23 CA CA2458765A patent/CA2458765C/en not_active Expired - Fee Related
- 2004-02-24 ZA ZA200401491A patent/ZA200401491B/xx unknown
- 2004-03-01 TW TW093105318A patent/TWI321289B/zh not_active IP Right Cessation
- 2004-03-02 EP EP04004848A patent/EP1455258B1/en not_active Expired - Lifetime
- 2004-03-02 EP EP05021320A patent/EP1637958A3/en not_active Withdrawn
- 2004-03-02 BR BR0400378-0A patent/BRPI0400378A/pt not_active IP Right Cessation
- 2004-03-02 KR KR1020040013892A patent/KR100991061B1/ko not_active IP Right Cessation
- 2004-03-02 RU RU2004106185/09A patent/RU2363044C2/ru not_active IP Right Cessation
- 2004-03-02 MX MXPA04002023A patent/MXPA04002023A/es active IP Right Grant
- 2004-03-02 AT AT04004848T patent/ATE473486T1/de not_active IP Right Cessation
- 2004-03-02 DE DE602004027966T patent/DE602004027966D1/de not_active Expired - Lifetime
- 2004-03-03 CN CNB2004100286486A patent/CN100430860C/zh not_active Expired - Fee Related
- 2004-03-03 JP JP2004059840A patent/JP4652701B2/ja not_active Expired - Fee Related
-
2005
- 2005-02-16 HK HK05101259.9A patent/HK1068978A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE602004027966D1 (de) | 2010-08-19 |
ATE473486T1 (de) | 2010-07-15 |
EP1455258A2 (en) | 2004-09-08 |
EP1455258A3 (en) | 2004-11-03 |
JP2004265422A (ja) | 2004-09-24 |
CA2458765A1 (en) | 2004-09-03 |
RU2363044C2 (ru) | 2009-07-27 |
JP4652701B2 (ja) | 2011-03-16 |
BRPI0400378A (pt) | 2005-01-04 |
TW200511108A (en) | 2005-03-16 |
TWI321289B (en) | 2010-03-01 |
CA2458765C (en) | 2011-09-13 |
US7278131B2 (en) | 2007-10-02 |
KR100991061B1 (ko) | 2010-10-29 |
HK1068978A1 (en) | 2005-05-06 |
EP1637958A2 (en) | 2006-03-22 |
EP1637958A3 (en) | 2006-05-17 |
AU2004200641A1 (en) | 2004-09-23 |
CN100430860C (zh) | 2008-11-05 |
CN1530790A (zh) | 2004-09-22 |
ZA200401491B (en) | 2005-04-18 |
RU2004106185A (ru) | 2005-08-10 |
US20040177354A1 (en) | 2004-09-09 |
MY142576A (en) | 2010-12-15 |
KR20040078557A (ko) | 2004-09-10 |
EP1455258B1 (en) | 2010-07-07 |
AU2004200641B2 (en) | 2009-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
MXPA04002023A (es) | Identificacion de hardware compacto para unir un paquete de software a un sistema de computadora que tiene tolerancia para cambios de hardware. | |
EP1469369B1 (en) | Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes | |
US7647640B2 (en) | System for binding secrets to a computer system having tolerance for hardware changes | |
US7236958B2 (en) | Electronic software license with software product installer identifier | |
US7565323B2 (en) | Hardware ID to prevent software piracy | |
US8738822B2 (en) | System and method for controlling operation of a component on a computer system | |
US7325145B1 (en) | Verifying the presence of an original data storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |