Systems and methods for providing time-and weight-based flexibly tolerant hardware ID
First Claim
1. A method for enabling enforcement of software licensing terms for a software product for use with a computer system comprising one or more components, the method comprising:
- for each component type from among a set of component types, obtaining an associated current component identity from said computer system;
for each component type from among said set of component types, comparing said associated current component identity to an associated stored component identity;
calculating a matching score by, for each component type from among said set of component types, if the result of said comparison is positive, incrementing a matching score by adding a stored associated component type weight to said matching score; and
comparing said matching score to a threshold matching score.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for implementing a hardware ID with time- and weight-based flexibility use a hardware ID (HWID) including identifying information about hardware components. When software is run, a current HWID is generated. When the current HWID is compared to a stored HWID to determine if the two HWIDs match, a time vector and a weight vector are used in the comparison. A running matching score is kept of matches. For each hardware component, the weight vector indicates the weight given to a correct match of the hashed value for the hardware component. For example, if the weight value for the hardware component is three and there is a match, then the running total is increased by three. For each hardware component, the time vector may indicate an expiration period after which a change in the component may be allowed. For example, if the expiration period for the component is one year, and one year has passed since activation, the running total may be increased even though the component'"'"'s information in the verification HWID does not match the current component information.
41 Citations
57 Claims
-
1. A method for enabling enforcement of software licensing terms for a software product for use with a computer system comprising one or more components, the method comprising:
-
for each component type from among a set of component types, obtaining an associated current component identity from said computer system;
for each component type from among said set of component types, comparing said associated current component identity to an associated stored component identity;
calculating a matching score by, for each component type from among said set of component types, if the result of said comparison is positive, incrementing a matching score by adding a stored associated component type weight to said matching score; and
comparing said matching score to a threshold matching score. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for enabling enforcement of software licensing terms for a software product for use with a computer system comprising one or more components, the method comprising:
-
for each component type from among a set of component types, obtaining an associated current component identity from said computer system;
for each component type from among said set of component types, comparing said associated current component identity to an associated stored component identity;
calculating a matching score by, for each component type from among said set of component types, if the results of said comparison are positive or if an associated expiration period has passed, incrementing said matching score; and
comparing said matching score to a threshold matching score. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A license data structure for enabling enforcement of software licensing terms for a software product for use with a computer system comprising one or more components of one or more component types, comprising:
-
a hardware ID comprising a plurality of values, each value corresponding to a component identity for one of said components;
a weight vector comprising, for each of said one or more component types, a weight value for said component type. - View Dependent Claims (16)
-
-
17. A license data structure for enabling enforcement of software licensing terms for a software product for use with a computer system comprising one or more components of one or more component types, comprising:
-
a hardware ID comprising a plurality of values, each value corresponeding to a component identity for one of said components;
a time vector comprising, for each of at least one of said component types, an expiration value for said component type. - View Dependent Claims (18, 19, 20)
-
-
21. A computer-readable medium for enabling enforcement of software licensing terms for a software product for use with a computer system comprising one or more components, having stored thereon at least one computer-executable module comprising computer executable instructions for performing a method, the method comprising:
-
for each component type from among a set of component types, obtaining an associated current component identity from said computer system;
for each component type from among said set of component types, comparing said associated current component identity to an associated stored component identity;
calculating a matching score by, for each component type from among said set of component types, if the result of said comparison is positive, incrementing a matching score by adding a stored associated component type weight to said matching score; and
comparing said matching score to a threshold matching score. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. A computer-readable medium for enabling enforcement of software licensing terms for a software product for use with a computer system comprising one or more components, having stored thereon at least one computer-executable module comprising computer executable instructions for performing a method, the method comprising:
-
for each component type from among a set of component types, obtaining an associated current component identity from said computer system;
for each component type from among said set of component types, comparing said associated current component identity to an associated stored component identity;
calculating a matching score by, for each component type from among said set of component types, if the results of said comparison are positive or if an associated expiration period has passed, incrementing said matching score; and
comparing said matching score to a threshold matching score. - View Dependent Claims (30, 31, 32, 33, 34)
-
-
35. A computer device for enabling enforcement of software licensing terms for a software product for use with a computer system comprising one or more components comprising:
-
means for, for each component type from among a set of component types, obtaining an associated current component identity from said computer system;
means for, for each component type from among said set of component types, comparing said associated current component identity to an associated stored component identity;
means for calculating a matching score by, for each component type from among said set of component types, if the result of said comparison is positive, incrementing a matching score by adding a stored associated component type weight to said matching score; and
means for comparing said matching score to a threshold matching score. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42)
-
-
43. A computer device for enabling enforcement of software licensing terms for a software product for use with a computer system comprising one or more components, comprising:
-
means for, for each component type from among a set of component types, obtaining an associated current component identity from said computer system;
means for, for each component type from among said set of component types, comparing said associated current component identity to an associated stored component identity;
means for calculating a matching score by, for each component type from among said set of component types, if the results of said comparison are positive or if an associated expiration period has passed, incrementing said matching score; and
means for comparing said matching score to a threshold matching score. - View Dependent Claims (44, 45, 46, 47, 48)
-
-
49. A method for enabling enforcement of software licensing terms for software which is being licensed to run a computer system comprising one or more components of one or more component types, the method comprising:
-
producing a hardware ID comprising a plurality of values, each value corresponding to a component identity for one of said components;
producing a time vector comprising, for each of said component types, a time value for said component type.
-
-
50. A method for enabling enforcement of software licensing terms for software which is being licensed to run a computer system comprising one or more components of one or more component types, the method comprising:
-
producing a hardware ID comprising a plurality of values, each value corresponding to a component identity for one of said components;
producing a weight vector comprising, for each of said one or more component types, a weight value for said component type. - View Dependent Claims (51)
-
-
52. A computer-readable medium for enabling enforcement of software licensing terms for software which is being licensed to run a computer system comprising one or more components of one or more component types, having stored thereon at least one computer-executable module comprising computer executable instructions for performing a method, the method comprising:
-
producing a hardware ID comprising a plurality of values, each value corresponding to a component identity for one of said components;
producing a time vector comprising, for each of said one or more component types, a time value for said component type.
-
-
53. A computer-readable medium for enabling enforcement of software licensing terms for software which is being licensed to run a computer system comprising one or more components of one or more component types, having stored thereon at least one computer-executable module comprising computer executable instructions for performing a method, the method comprising:
-
producing a hardware ID comprising a plurality of values, each value corresponding to a component identity for one of said components;
producing a weight vector comprising, for each of said one or more component types, a weight value for said component type. - View Dependent Claims (54)
-
-
55. A device for enabling enforcement of software licensing terms for software which is being licensed to run a computer system comprising one or more components of one or more component types, comprising:
-
means for producing a hardware ID comprising a plurality of values, each value corresponding to a component identity for one of said components;
means for producing a time vector comprising, for each of said one or more component types, a time value for said component type.
-
-
56. A device for enabling enforcement of software licensing terms for software which is being licensed to run a computer system comprising one or more components of one or more component types, comprising:
-
means for producing a hardware ID comprising a plurality of values, each value corresponding to a component identity for one of said components;
means for producing a weight vector comprising, for each of said one or more component types, a weight value for said component type. - View Dependent Claims (57)
-
Specification