Automated system for management of licensed software
First Claim
1. A network software licensing system having self-enabling software, the network licensing system comprising:
- a plurality of computers arranged in a hierarchy, the plurality of computers including client computers, server computers and agent computers, wherein the server computers are located at the highest level in the hierarchy and the client and the agent computers are located at levels in the hierarchy below the highest level;
at least one client computer having a client application loaded thereon, wherein the client application comprises a software application and a client module;
an agent computer from which at least one client computer is subtended, the agent computer having a licensing module running thereon, wherein the licensing module includes;
an agent component for communicating with the client module;
cache component for storing license records, anda client component for communicating with an agent component;
a server computer having a license server running thereon, wherein the license server includes;
an agent module for communicating with the client component in the licensing module; and
a database for storing license records;
whereinthe client component in the licensing module systematically initiates communication with the agent module in the license server over a public network to collect license records for storage in the cache component; and
wherein the client module automatically initiates communication with the agent component in the licensing module at a level in the hierarchy above the client module and not the agent component in the license server to determine whether the cache component in the licensing module contains a license record corresponding to the software application.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatuses are disclosed for providing a system for automatically tracking use of a software and also for determining whether the software is validly licensed and enabling or disabling the software accordingly. Exemplary systems involve attaching a licensing system module to a software application. Records of valid licenses are stored in the database maintained by the software provider. The licensing system module transparently forms a license record inquiry message. The message is transparently sent to the database over a public network, such as the Internet, to determine whether a valid license record exists in the database for the software application. The database forms and returns an appropriate response message that is interpreted by the licensing system module. The software application can then be appropriately enabled or disabled by the licensing system module. The receipt of the license record inquiry can be recorded in the database to monitor software use.
832 Citations
25 Claims
-
1. A network software licensing system having self-enabling software, the network licensing system comprising:
-
a plurality of computers arranged in a hierarchy, the plurality of computers including client computers, server computers and agent computers, wherein the server computers are located at the highest level in the hierarchy and the client and the agent computers are located at levels in the hierarchy below the highest level; at least one client computer having a client application loaded thereon, wherein the client application comprises a software application and a client module; an agent computer from which at least one client computer is subtended, the agent computer having a licensing module running thereon, wherein the licensing module includes; an agent component for communicating with the client module; cache component for storing license records, and a client component for communicating with an agent component; a server computer having a license server running thereon, wherein the license server includes; an agent module for communicating with the client component in the licensing module; and a database for storing license records;
whereinthe client component in the licensing module systematically initiates communication with the agent module in the license server over a public network to collect license records for storage in the cache component; and
wherein the client module automatically initiates communication with the agent component in the licensing module at a level in the hierarchy above the client module and not the agent component in the license server to determine whether the cache component in the licensing module contains a license record corresponding to the software application. - View Dependent Claims (2, 3, 4, 5, 6, 23, 24, 25)
-
-
7. A hierarchical license system having a plurality of computers connected by a computer network, the plurality of computers arranged in a hierarchy from a lowest level to highest level and having computer software that is enabled with a license, the system comprising:
-
license server on a computer at the highest level in the hierarchcial license system, the license server having a database of licensing information for enabling computer software on the plurality of computers in the hierarchcial license system; plurality of licensing modules on computers at levels in the hierarchy below the highest level in the hierarchy, the plurality of licensing modules including; client component for communicating with agent components in licensing modules in a next level L+1 in the hierarchy, agent component for communicating with client components in licensing modules in a previous level L-1 in the hierarchy, and cache component for storing license information for computer software on computers in a previous level L-1 in the hierarchy, wherein the cache component is updated periodically with license information from agent components in a next level L+1 in the hierarchy, wherein a client component in a licensing module at a level L in the hierarchy requests a license for enabling software from an agent component in a licensing module at a level L+1 in the hierarchy and not directly from the license server at the highest level in the hierarchy. - View Dependent Claims (8, 9, 10, 11)
-
-
12. In a computer system having a plurality of computers connected by a computer network, the plurality of computers arranged in a hierarchy from a lowest level to highest level and having computer software that is enabled with a license, a method of enabling the computer software with a license, the method comprising the following steps:
-
(a) maintaining a license server on a computer at the highest level in the hierarchical license system, the license server having a database of licensing information for enabling computer software on the plurality of computers in the hierarchy; (b) requesting a license in a licensing module at a level L in the hierarchy from a licensing module on a computer at level L+1 in the hierarchy to enable computer software on a computer at a level L in the hierarchy, the licensing modules having; client component for communicating with agent components in licensing modules in a next level L+1 in the hierarchy, agent component for communicating with client components in licensing modules in a previous level L-1 in the hierarchy, and cache component for storing license information for computer software on computers in a previous level L-1 in the hierarchy, wherein the cache component is updated periodically with license information from agent components in a next level L+1 in the hierarchy; (c) determining from the licensing module at the level L+1 if the requested license is in a cache component for the licensing module, and if not, (d) sending the request for the license to a licensing module at a next higher level in the hierarchy; (e) repeating step (d) until the requested license is located in a cache component in a licensing module at a next highest level in the hierarchy, or the highest level in the hierarchy is reached, wherein the requested license is located on the license server. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A hierarchical computer software licensing apparatus, the apparatus comprising:
-
maintaining means for maintaining a license server on a computer at a highest level in a hierarchical license system, the license server having a database of licensing information for enabling computer software on a plurality of computers in the hierarchy; requesting means for requesting a license from a computer at a level L in the hierarchy to enable computer software on the computer from a licensing module on a computer at level L+1 in the hierarchy, the licensing modules having; client component for communicating with agent components in licensing modules in a next level L+1 in the hierarchy, agent component for communicating with client components in licensing modules in a previous level L-1 in the hierarchy, and cache component for storing license information for computer software on computers in a previous level L-1 in the hierarchy, wherein the cache component is updated periodically with license information from agent components in a next level L+1 in the hierarchy; determining means for determining from the licensing module at the level L+1 if the requested license is in a cache component for the licensing module, and if not, sending means for sending the request for the license to a licensing module at a next higher level in the hierarchy; locating means for locating requested the license in a cache component in a licensing module at a next highest level in the hierarchy, or at the highest level in the hierarchy, wherein the requested license is located on the license server.
-
Specification