Patent US5790664A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5790664A Expired / Lapsed US ⏱️ 0.0 years remaining

Automated system for management of licensed software

Assignee: SCIENTIFIC RESEARCH MANAGEMENT Corp
•
Filing: 1996-02-26
•
Granted: 1998-08-04
•
Expires: 2016-02-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Christopher D. Coley
  • 👤 Ralph E. Wesinger, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 11:10
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/10; G06F21/105; G06F21/107; G06F21/1077; G06F21/1078; G06F21/12; G06F21/121; G06F21/125; G06F21/16; G06F2221/00; G06F2221/21; G06F2221/2101

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.

References Cited (Backward Citations)

US4888798A Cited
US5023907A Cited
US5138712A Cited
US5375206A Cited
US5204897A Cited
US5260999A Cited
US5438508A Cited
US5579222A Cited
US5495411A Cited
US5548645A Cited
US5629980A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-08-03 2002-02-02 2002-08-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-08-03 2006-02-02 2006-08-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-08-03 2010-02-02 2010-08-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag