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, each component having a component identity obtainable from the computer system and identifying the component, and a component type from among a set of component types, the method comprising:
- retrieving license data corresponding to the licensing terms;
for each component type from among said set of component types, obtaining an associated current component identity of a corresponding component from said computer system;
for each component type from among said set of component types, comparing said obtained associated current component identity to an associated stored component identity from the retrieved license data;
calculating a matching score for each component type from among said set of component types, if the result of said comparison is positive as a match, by incrementing the matching score by adding a stored associated component type weight corresponding to each component type from among said set of component types from the retrieved license data to said matching score;
comparing said matching score to a threshold matching score from the retrieved license data; and
honoring a right granted by the licensing terms with respect to the software product if the matching score exceeds the 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.
23 Citations
28 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, each component having a component identity obtainable from the computer system and identifying the component, and a component type from among a set of component types, the method comprising:
-
retrieving license data corresponding to the licensing terms; for each component type from among said set of component types, obtaining an associated current component identity of a corresponding component from said computer system; for each component type from among said set of component types, comparing said obtained associated current component identity to an associated stored component identity from the retrieved license data; calculating a matching score for each component type from among said set of component types, if the result of said comparison is positive as a match, by incrementing the matching score by adding a stored associated component type weight corresponding to each component type from among said set of component types from the retrieved license data to said matching score; comparing said matching score to a threshold matching score from the retrieved license data; and honoring a right granted by the licensing terms with respect to the software product if the matching score exceeds the 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, each component having a component identity obtainable from the computer system and identifying the component, and a component type from among a set of component types, the method comprising:
-
retrieving license data corresponding to the licensing terms; for each component type from among said set of component types, obtaining an associated current component identity of a corresponding component from said computer system; for each component type from among said set of component types, comparing said obtained associated current component identity to an associated stored component identity from the retrieved license data; calculating a matching score for each component type from among said set of component types, if the result of said comparison is positive as a match or if an associated expiration period corresponding to at least one component type from among said set of component types from the retrieved license data has passed, by incrementing said matching score; comparing said matching score to a threshold matching score from the retrieved license data; and honoring a right granted by the licensing terms with respect to the software product if the matching score exceeds the threshold matching score. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. 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, each component having a component identity obtainable from the computer system and identifying the component, and a component type from among a set of component types, the medium having stored thereon at least one computer-executable module comprising computer executable instructions for performing a method, the method comprising:
-
retrieving license data corresponding to the licensing terms; for each component type from among said set of component types, obtaining an associated current component identity of a corresponding component from said computer system; for each component type from among said set of component types, comparing said obtained associated current component identity to an associated stored component identity from the retrieved license data; calculating a matching score for each component type from among said set of component types, if the result of said comparison is positive as a match, by incrementing the matching score by adding a stored associated component type weight corresponding to each component type from among said set of component types from the retrieved license data to said matching score; comparing said matching score to a threshold matching score from the retrieved license data; and honoring a right granted by the licensing terms with respect to the software product if the matching score exceeds the threshold matching score. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. 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, each component having a component identity obtainable from the computer system and identifying the component, and a component type from among a set of component types, the medium having stored thereon at least one computer-executable module comprising computer executable instructions for performing a method, the method comprising:
-
retrieving license data corresponding to the licensing terms; for each component type from among said set of component types, obtaining an associated current component identity of a corresponding component from said computer system; for each component type from among said set of component types, comparing said obtained associated current component identity to an associated stored component identity from the retrieved license data; calculating a matching score for each component type from among said set of component types, if the result of said comparison is positive as a match or if an associated expiration period corresponding to at least one component type from among said set of component types from the retrieved license data has passed, by incrementing said matching score; comparing said matching score to a threshold matching score from the retrieved license data; and honoring a right granted by the licensing terms with respect to the software product if the matching score exceeds the threshold matching score. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification