Compact hardware indentification for binding a software package to a computer system having tolerance for hardware changes
First Claim
Patent Images
1. A method of generating a compact hardware identification (CHWID) for a first computer system having a first hardware configuration, wherein the method comprises:
- selecting n component classes;
identifying all component instances within each of the n component classes;
generating a plurality of component instance first hash results, wherein the plurality of component instance first hash results comprises a first hash result for each component instance and at least one first hash result for the n component classes;
generating a plurality of component instance second hash results, wherein the plurality of component instance second hash results comprises second hash results resulting from performing a second hash function on select component instance first hash results within one or more select component classes; and
concatenating the plurality of second hash results to form a hash portion, wherein the hash portion forms the compact hardware identification (CHWID) for the first computer system.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for generating a-compact hardware identification (CHWID) for a given computer system are disclosed. The compact hardware identification (CHWID) may be used to control the use of software on the given computer system depending on the degree of hardware changes to the computer system. The compact hardware identification (CHWID) may be electronically transmitted over limited bandwidth media, such as a telephone.
43 Citations
58 Claims
-
1. A method of generating a compact hardware identification (CHWID) for a first computer system having a first hardware configuration, wherein the method comprises:
-
selecting n component classes;
identifying all component instances within each of the n component classes;
generating a plurality of component instance first hash results, wherein the plurality of component instance first hash results comprises a first hash result for each component instance and at least one first hash result for the n component classes;
generating a plurality of component instance second hash results, wherein the plurality of component instance second hash results comprises second hash results resulting from performing a second hash function on select component instance first hash results within one or more select component classes; and
concatenating the plurality of second hash results to form a hash portion, wherein the hash portion forms the compact hardware identification (CHWID) for the first computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of determining whether a software product can be used on a second computer system having a second hardware configuration, wherein the second computer system is identical to or different from a first computer system having a first hardware configuration, the software product being initially installed on the first computer, wherein the method comprises:
-
generating a second compact hardware identification (sCHWID) for the second hardware configuration;
comparing the second compact hardware identification (sCHWID) for the second hardware configuration to (i) a first compact hardware identification (fCHWID) for the first hardware configuration or (ii) a first verbose hardware identification (fVHWID) for the first hardware configuration;
if a number of matches exists between component classes of the second hardware configuration and corresponding component classes of the first hardware configuration, and the number of matches equals or exceeds m, a number of required component class matches, loading the software product onto the second computer system; and
if the number of matches is less than m, preventing the software product from being loaded onto the second computer system. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer readable medium having stored thereon computer-executable instructions for performing a method of generating a compact hardware identification (CHWID) for a first computer system having a first hardware configuration, wherein the method comprises:
-
selecting n component classes;
identifying all component instances within each of the n component classes;
generating a plurality of component instance first hash results, wherein the plurality of component instance first hash results comprises a first hash result for each component instance and at least one first hash result for the n component classes;
generating a plurality of component instance second hash results, wherein the plurality of component instance second hash results comprises second hash results resulting from performing a second hash function on select component instance first hash results within one or more select component classes; and
concatenating the plurality of second hash results to form a hash portion, wherein the hash portion forms the compact hardware identification (CHWID) for the first computer system. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A computer readable medium having stored thereon computer-executable instructions for performing a method of determining whether a software product can be used on a second computer system having a second hardware configuration, wherein the second computer system is identical to or different from a first computer system having a first hardware configuration, the software product being initially installed on the first computer, wherein the method comprises:
-
generating a second compact hardware identification (sCHWID) for the second hardware configuration;
comparing the second compact hardware identification (sCHWID) for the second hardware configuration to (i) a first compact hardware identification (fCHWID) for the first hardware configuration or (ii) a first verbose hardware identification (fVHWID) for the first hardware configuration;
if a number of matches exists between component classes of the second hardware configuration and corresponding component classes of the first hardware configuration, and the number of matches equals or exceeds m, a number of required component class matches, loading the software product onto the second computer system; and
if the number of matches is less than m, preventing the software product from being loaded onto the second computer system. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A computing system containing at least one application module usable on the computing system, wherein the at least one application module comprises application code for performing a method of generating a compact hardware identification (CHWID) for a first computer system having a first hardware configuration, wherein the method comprises:
-
selecting n component classes;
identifying all component instances within each of the n component classes;
generating a plurality of component instance first hash results, wherein the plurality of component instance first hash results comprises a first hash result for each component instance and at least one first hash result for the n component classes;
generating a plurality of component instance second hash results, wherein the plurality of component instance second hash results comprises second hash results resulting from performing a second hash function on select component instance first hash results within one or more select component classes; and
concatenating the plurality of second hash results to form a hash portion, wherein the hash portion forms the compact hardware identification (CHWID) for the first computer system. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49)
-
-
50. A computing system containing at least one application module usable on the computing system, wherein the at least one application module comprises application code for performing a method of determining whether a software product can be used on a second computer system having a second hardware configuration, wherein the second computer system is identical to or different from a first computer system having a first hardware configuration, the software product being initially installed on the first computer, wherein the method comprises:
-
generating a second compact hardware identification (sCHWID) for the second hardware configuration;
comparing the second compact hardware identification (sCHWID) for the second hardware configuration to (i) a first compact hardware identification (fCHWID) for the first hardware configuration or (ii) a first verbose hardware identification (fVHWID) for the first hardware configuration;
if a number of matches exists between component classes of the second hardware configuration and corresponding component classes of the first hardware configuration, and the number of matches equals or exceeds m, a number of required component class matches, loading the software product onto the second computer system; and
if the number of matches is less than m, preventing the software product from being loaded onto the second computer system. - View Dependent Claims (51, 52, 53, 54, 55, 56, 57, 58)
-
Specification