License mangagement system and license storage key
First Claim
1. A license storage key comprising:
- communication means for sending messages to and receiving messages from a computer;
memory means for storing a count of licenses for each of a plurality of application programs; and
a processor, coupled to said communication means and to said memory means, for decoding encrypted messages received through said communication means and for encoding messages for sending through said communication means, said processor including means for assigning a license in said memory means for an execution environment on said computer.
6 Assignments
0 Petitions
Accused Products
Abstract
A license storage key is provided for securely storing information regarding which licenses have been purchased for a network of computers, how many of each license have been purhcased, and any time limits associated with each license. An application program to be run on a computer must be assigned a license in the license storage key associated with the computer before it will be permitted to run. If a license cannot be found on the local key, a license may be found on another key in the network of computers and transferred to the local key so that the application program may be run in this case, when the license is released. The license storage key contains a hardware clock which is used to determine whether a license has expired.
780 Citations
29 Claims
-
1. A license storage key comprising:
-
communication means for sending messages to and receiving messages from a computer; memory means for storing a count of licenses for each of a plurality of application programs; and a processor, coupled to said communication means and to said memory means, for decoding encrypted messages received through said communication means and for encoding messages for sending through said communication means, said processor including means for assigning a license in said memory means for an execution environment on said computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for loading programs into a computer connected to at least one license storage key having a memory and a processor comprising the steps of:
-
providing a distribution medium containing a directory listing every program contained on the medium along with its location on the medium; determining for each program in said directory whether or not a license is contained for said program in said at least one license storage key; loading only those programs for which a license was found in the memory of said at least one key. - View Dependent Claims (12, 13)
-
-
14. A computer system comprising
a computer having a communication port and a plurality of execution environments; -
a license storage key connected to said computer through said communication port and said license storage key having a processor and storage locations corresponding to each of a plurality of application programs; and a daemon computer program within said computer for instructing the processor in said license storage key to assign a license to an execution environment so as to cause the processor to store a code representative of said execution environment in one of said storage locations. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer network comprising:
-
a plurality of license storage keys; a plurality of computers each in association with one of said license storage keys; means for transferring a license from one of said keys to another of said keys; means for preventing a program from running on a computer if the key associated with that computer does not contain an available license for that program. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A method for running an application program on a computer having a plurality of execution environments comprising the steps of:
-
providing said computer with means for communicating with a license storage key; requesting the running of said application program; encrypting and sending a request to said license storage key which asks said key to assign a license to an execution environment for said application program if one is available; decoding and performing said assign request; and running said application program on said computer after a license has been assigned. - View Dependent Claims (26, 27, 28, 29)
-
Specification