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
Application number
MXPA04002023A
Other languages
English (en)
Inventor
T Hughes Aidan
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA04002023A publication Critical patent/MXPA04002023A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45BWALKING STICKS; UMBRELLAS; LADIES' OR LIKE FANS
    • A45B25/00Details of umbrellas
    • A45B25/02Umbrella frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/73Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate 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)

REIVINDICACIONES
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).
MXPA04002023A 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. MXPA04002023A (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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