Claims
- 1. A method for tracking usage of a software product, the method comprising the steps of:
(a) receiving a request for permission to use the software product; (b) referencing a portable security device to determine a current balance of usage tokens, the portable security device being moveable between a plurality of locations and allowing monitored usage of the software product at any of the locations where the portable security device is located; (c) determining a number of usage tokens corresponding to the requested use in accordance with one or more usage rules; (d) determining whether the current balance is at least equal to the number of usage tokens corresponding to the requested use and if so then:
(1) decrementing the current balance of usage tokens by the number of usage tokens corresponding to the requested use; and (2) authorizing the request for permission to use the software product; else, (e) denying the request for permission to use the software product.
- 2. The method of claim 1, wherein steps (b) through (e) are repeated in the case of continued use of the software product.
- 3. The method of claim 1, wherein the request for permission to use the software product comprises a request to use the software product for a plurality of virtual users.
- 4. The method of claim 1, wherein the step of determining a number of usage tokens comprises the step of generating one or more consumption rules for the usage tokens.
- 5. The method of claim 1, further comprising the step of using a predefined application program interface to facilitate communication between the software product and the portable security device.
- 6. The method of claim 1, further comprising the steps of:
maintaining, in the portable security device, a plurality of current balances of tokens wherein each balance is associated with a type of transaction that may be performed by the software product; and referencing the appropriate current balance contained in the portable security device depending on the type of transaction involved in the request for use of the software product.
- 7. The method of claim 1, further comprising the step of generating a usage report indicating at least the number of usage tokens corresponding to the requested use and the current balance.
- 8. The method of claim 1, wherein said one or more usage rules include a rule which allocates one token for each user operating the software product.
- 9. The method of claim 1, wherein said one or more usage rules include a rule which allocates one token for each virtual user operating the software product.
- 10. The method of claim 1, wherein said one or more usage rules include a rule which allocates one token for each transaction performed by the software product.
- 11. The method of claim 1, wherein said one or more usage rules include a rule which allocates one token for each use of the software product.
- 12. The method of claim 1, further comprising the step of determining a number of concurrent users and wherein said one or more usage rules include a rule which allocates the number of tokens corresponding to the number of concurrent users.
- 13. The method of claim 1, wherein said one or more usage rules include a rule which allocates one token for each user for each period of time.
- 14. The method of claim 1, wherein said one or more usage rules include a rule which allocates one token for each virtual user for each period of time.
- 15. The method of claim 1, wherein said one or more usage rules include a rule which allocates one token for each use for each period of time.
- 16. The method of claim 1, further comprising the steps of:
setting a current maximum to zero at the beginning of a period of time; tracking a number of previous concurrent user within the period of time; determining a number of additional users corresponding to the requested use; determining a number of concurrent users as the sum of the number of previous concurrent and the number of additional users; determining an excess of users as an amount of which the number of concurrent users exceeds the current maximum; determining a number of consumed tokens as a function of the excess of users; decrementing the current balance of usage tokens by the number of consumed tokens; and incrementing the current maximum by the number of excess of users.
- 17. A method for tracking usage of a software product, the method comprising the steps of:
(a) receiving a request for permission to use the software product; (b) referencing a portable security device to determine a current balance of usage tokens and a number of allocated tokens, the portable security device being moveable between a plurality of locations and allowing monitored usage of the software product at any of the locations where the portable security device is located; (c) determining a number of usage tokens corresponding to the requested use in accordance with one or more usage rules; (d) determining whether the number of allocated tokens is at least equal to the sum of the current balance and the number of usage tokens corresponding to the requested use and if so then:
(1) incrementing the current balance of usage tokens by the number of usage tokens corresponding to the requested use; and (2) authorizing the request for permission to use the software product; else, (e) denying the request for permission to use the software product.
- 18. A system for automated licensing of a software product subject to a license agreement, the system comprising:
a portable security device containing a balance of tokens and information including one or more license terms based on the license agreement; and a server module for interfacing between the portable security device and the software product, wherein the server module operates to determine whether operation of the software product is permitted in accordance with the balance of tokens and the information in the portable security device and update the balance of tokens in the portable security device when the software product is operated.
- 19. A system for tracking usage of a software product operable on a plurality of user computers, the system comprising:
a portable security device moveable between said plurality of user computers, said device containing at least a balance of tokens; a server module for interfacing between the portable security device and the software product, wherein the server module operates to detect a request for operation of the software product, determine a number of tokens corresponding to the request, determine whether such operation of the software product is permitted in accordance with the balance of tokens in the portable security device, and adjust the balance of tokens in the portable security device by the number of tokens corresponding to the request when the software product is operated.
- 20. A system for tracking usage of a software product, comprising a processor, and a memory storing processing instructions for controlling the processor, the processor operative with the processing instructions for:
(a) receiving a request for permission to use the software product; (b) referencing a portable security device to determine a current balance of usage tokens, the portable security device being moveable between a plurality of locations and allowing monitored usage of the software product at any of the locations where the portable security device is located; (c) determining a number of usage tokens corresponding to the requested use in accordance with one or more usage rules; (d) determining whether the current balance is at least equal to the number of usage tokens corresponding to the requested use and if so then:
(1) decrementing the current balance of usage tokens by the number of usage tokens corresponding to the requested use; and (2) authorizing the request for permission to use the software product; else, (e) denying the request for permission to use the software product.
- 21. A system for tracking usage of a software product, comprising a processor, and a memory storing processing instructions for controlling the processor, the processor operative with the processing instructions for:
(a) receiving a request for permission to use the software product; (b) referencing a portable security device to determine a current balance of usage tokens and a number of allocated tokens, the portable security device being moveable between a plurality of locations and allowing monitored usage of the software product at any of the locations where the portable security device is located; (c) determining a number of usage tokens corresponding to the requested use in accordance with one or more usage rules; (d) determining whether the number of allocated tokens is at least equal to the sum of the current balance and the number of usage tokens corresponding to the requested use and if so then:
(1) incrementing the current balance of usage tokens by the number of usage tokens corresponding to the requested use; and (2) authorizing the request for permission to use the software product; else, (e) denying the request for permission to use the software product.
- 22. A computer readable medium encoded with processing instructions for implementing a method for tracking usage of a software product, the method comprising:
maintaining balance of tokens stored on a portable security device; detecting a request for operation of the software product; determining a number of tokens corresponding to the request; determining whether such operation of the software product is permitted in accordance with the balance of tokens in the portable security device; and adjusting the balance of tokens in the portable security device by the number of tokens corresponding to the request when the software product is operated.
- 23. A computer readable medium encoded with processing instructions for implementing a method for tracking usage of a software product, the method comprising:
(a) receiving a request for permission to use the software product; (b) referencing a portable security device to determine a current balance of usage tokens, the portable security device being moveable between a plurality of locations and allowing monitored usage of the software product at any of the locations where the portable security device is located; (c) determining a number of usage tokens corresponding to the requested use in accordance with one or more usage rules; (d) determining whether the current balance is at least equal to the number of usage tokens corresponding to the requested use and if so then:
(1) decrementing the current balance of usage tokens by the number of usage tokens corresponding to the requested use; and (2) authorizing the request for permission to use the software product; else, (e) denying the request for permission to use the software product.
- 24. A computer readable medium encoded with processing instructions for implementing a method for tracking usage of a software product, the method comprising:
(a) receiving a request for permission to use the software product; (b) referencing a portable security device to determine a current balance of usage tokens and a number of allocated tokens, the portable security device being moveable between a plurality of locations and allowing monitored usage of the software product at any of the locations where the portable security device is located; (c) determining a number of usage tokens corresponding to the requested use in accordance with one or more usage rules; (d) determining whether the number of allocated tokens is at least equal to the sum of the current balance and the number of usage tokens corresponding to the requested use and if so then:
(1) incrementing the current balance of usage tokens by the number of usage tokens corresponding to the requested use; and (2) authorizing the request for permission to use the software product; else, (e) denying the request for permission to use the software product.
Parent Case Info
[0001] This application claims priority pursuant to 35 U.S.C. §119 from Provisional Patent Application Serial No. 60/261,983 filed Jan. 11, 2001, the entire disclosure of which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60261983 |
Jan 2001 |
US |