Claims Analysis
Total Claims: 29
Claim 1
Independent Claim
259 words
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; wherein the 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.
Claim 2
Dependent Claim
259 words
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; wherein the 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.
Claim 3
Dependent Claim
51 words
The network software system claimed in claim 1, wherein a plurality of agent computers which comprise the network are connected between the client computers and the license server, any given license module being capable of communicating with any other license module and being capable of communicating with any given client module.
Claim 4
Dependent Claim
19 words
The network software system claimed in claim 1, wherein license records are organized according to class and sub-class designations.
Claim 5
Dependent Claim
26 words
The network software system claimed in claim 2, wherein an uppermost agent computer records communications from subtended agent and client computers for auditing client application use.
Claim 6
Dependent Claim
22 words
The network software system claimed in claim 4, wherein the upper-most agent computer communicates client application use data to the server computer.
Claim 7
Dependent Claim
21 words
The network software system claimed in claim 4, wherein the upper-most agent computer includes an audit tool for generating audit reports.
Claim 8
Dependent Claim
230 words
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.
Claim 9
Dependent Claim
230 words
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.
Claim 10
Dependent Claim
43 words
A licensing management system as claimed in claim 7 wherein the plurality of licensing modules comprises: a library of code modules suitable for inserting into a precompiled version of the computer software, the library of code modules including a plurality of client modules.
Claim 11
Dependent Claim
43 words
The licensing management system claimed in claim 8, wherein the library of code modules further includes: an interupt validation generator that initiates a license validity inquiry when a piece of the computer software into which the interrupt validation generator is inserted is executed.
Claim 12
Dependent Claim
26 words
The management licensing system claimed in claim 8, wherein the library of code modules further includes: watchdog timer that initiates a license validity inquiry upon expiration.
Claim 13
Dependent Claim
143 words
The licensing management system claimed in claim 7 wherein a computer at the lowest level is a portable computer that includes: a client application comprising a licensed software application and a portable client module; and a portable licensing module comprising a portable agent component for communication with the portable client module, a portable cache component for storing license records, and a portable client component for communication with the hierarchical license server; wherein the portable licensing module manages the portable client module to control the client application pursuant to license records maintained in the portable cache component when the portable computer is not connected to the public network, and wherein the license module receives license record updates to its portable cache component from, and transmits client application use records to, the hierarchial license server when the portable computer is connected to the public network.
Claim 14
Dependent Claim
306 words
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.
Claim 15
Dependent Claim
306 words
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.
Claim 16
Dependent Claim
19 words
A computer readable medium having stored therein instructions for causing a computer to execute the method of claim 12.
Claim 17
Dependent Claim
63 words
The method of claim 12 further comprising: sending the located license back down the hierarchy to the licensing module which requested the license; and updating cache components with license information in licensing modules in selected levels in the hierarchy between the level in the hierarchy at which the license was located and the level in the hierarchy at which the license was requested.
Claim 18
Dependent Claim
54 words
The method of claim 12 further comprising: sending the located license back down the hierarchy to the licensing module which requested the license; and updating cache components with license information in licensing modules only in a level L+1 in the hierarchy above the level L in the hierarchy from which the license was requested.
Claim 19
Dependent Claim
50 words
The method of claim 12 wherein the license server periodically sends license information to licensing modules at highest levels in the hierarchy below the license server, and the licensing modules at the highest levels in the hierarchy propagate the license information to licensing modules at lower levels in the hierarchy.
Claim 20
Dependent Claim
34 words
The method of claim 12 wherein a licensing module at a level L can only make a license request to a licensing module at a level L+1 and not directly to the license server.
Claim 21
Dependent Claim
28 words
The method of claim 12 wherein any client component in any licensing module can communicate with any agent component in any licensing module in the hierarchy, and visa-versa.
Claim 22
Dependent Claim
47 words
The method of claim 12 wherein the requesting step includes requesting the license from a client component in the licensing module at the level L in the hierarchy, and sending the request to an agent component in a licensing module at the level L+1 in the hierarchy.
Claim 23
Dependent Claim
24 words
The method of claim 12 wherein cache components for licensing modules at the lowest level in the hierarchy do not contain any license information.
Claim 24
Dependent Claim
73 words
The method of claim 12 wherein the license server organizes license information into class and sub-class designations wherein the class designations includes license information for a plurality of computers at higher levels in the hierarchy, and sub-class designations includes license information for a plurality of computers below the higher levels in the hierarchy, thereby providing efficient communications of license information between the license server, and licensing modules at all levels in the hierarchy.
Claim 25
Dependent Claim
256 words
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.
Claim 26
Dependent Claim
256 words
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.
Claim 27
Dependent Claim
12 words
The system of claim 1 wherein the public network is the Internet.
Claim 28
Dependent Claim
18 words
The system of claim 1 wherein the communication between the client computers and the agent computers are encrypted.
Claim 29
Dependent Claim
36 words
The system of claim 1 wherein the client computers and agent computers use a shared key to initialize encryption engines contained on the client and agent computers, wherein the encryption engines operate using the shared key.