US2002161718A1PendingUtilityA1

Automated system for management of licensed software

Priority: Aug 4, 1998Filed: Feb 19, 2002Published: Oct 31, 2002
Est. expiryAug 4, 2018(expired)· nominal 20-yr term from priority
G06F 21/10H04L 63/062H04L 63/02G06F 2221/2135H04L 2463/101G06F 21/105H04L 2209/56H04L 63/10G06F 2221/2137G06Q 99/00G06F 21/121G06F 2221/2101G06Q 30/06G06F 21/602H04L 9/3297H04L 63/0428H04L 9/0838H04L 9/12
47
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A system for enabling licensed software, the system comprising: a client module that is attachable to a software application, which software application is loaded on a computer having access to a public network; and 
 a license server containing software application license records, which license server is accessible over the public network; wherein 
 the client module communicates with the license server over the public network to determine the existence of a license record corresponding to the software application.  
   
     
     
         2 . The system claimed in  claim 1 , wherein the client module enables the software application if a license record corresponding to the software application on the computer exists.  
     
     
         3 . The system claimed in  claim 1 , wherein the client module disables the software application if no license record corresponding to the software application on the computer exists.  
     
     
         4 . The system claimed in  claim 1 , wherein the license server comprises an agent module for communicating with the client module, and a database for storing license records.  
     
     
         5 . The system as claimed in  claim 1 , wherein the public network is the Internet.  
     
     
         6 . The system claimed in  claim 4 , wherein a portion of the communication between the client module and the agent module is encrypted.  
     
     
         7 . The system as claimed in  claim 6 , wherein the client and agent modules use a shared key to initialize encryption engines contained in the client and agent modules, which encryption engines operate using the shared key.  
     
     
         8 . The system claimed in  claim 1 , wherein the client module temporarily enables the software application if no license record corresponding to the software application is found.  
     
     
         9 . The system claimed in  claim 1 , wherein the client module periodically communicates with the license server over the public network to determine the existence of a license record corresponding to the software application.  
     
     
         10 . The system claimed in  claim 9 , wherein the periodic communication is initiated pursuant to an interrupt.  
     
     
         11 . The system claimed in  claim 10 , wherein the periodic communication is initiated pursuant to expiration of a watchdog timer.  
     
     
         12 . The system claimed in  claim 1 , wherein communication between the client module and the license server is transparent to a user using the software application.  
     
     
         13 . The system claimed in  claim 3 , wherein the system prompts a user with a message informing the user of the lack of a license and supplies the user with information for procuring a license.  
     
     
         14 . The system claimed in  claim 3 , wherein the system initiates a Web homepage session whereby a user can purchase a license for the software application.  
     
     
         15 . The system claimed in  claim 12 , wherein the system automatically updates the license records in the license server pursuant to a license purchase.  
     
     
         16 . The system claimed in  claim 1 , wherein the license server tracks communications received from the client module.  
     
     
         17 . The system claimed in  claim 16 , wherein the license server generates billing information from tracked data.  
     
     
         18 . The system claimed in  claim 1 , wherein the client module is attached to a pre-compiled version of the software application whereby a single executable client application is created by compilation.  
     
     
         19 . The system claimed in  claim 1 , wherein the client module is attached to a compiled version of the software application.  
     
     
         20 . The system claimed in  claim 19 , wherein the client module validates licenses for a plurality of software applications on the computer.  
     
     
         21 . The system claimed in  claim 2 , wherein the license server communicates the location of the license record, which location is recorded by the client module.  
     
     
         22 . The system for enabling licensed software claimed in  claim 16 , wherein the information communicated by the client module consists of information selected from the group consisting of: a hardware ID, an application name, a feature name, a software version number, a name of the license server, a date/time stamp, and a version number of the license system.  
     
     
         23 . The system for enabling software licensed claimed in  claim 22 , wherein the license server compares the date/time stamp communicated by the client module to a date/time stamp maintained by the license server and the client module disables the software application if there exists a discrepancy.  
     
     
         24 . The system for enabling software licensed claimed in  claim 1 , wherein the system is used to enable a software application feature.  
     
     
         25 . The system for enabling software licensed claimed in  claim 1 , wherein a plurality of regional license servers are employed.  
     
     
         26 . A system for auditing use of software, the system comprising: 
 a client module that is attachable to a software application, which software application is loaded on a computer having access to a public network; and    a server which is accessible over the public network; wherein 
 the client module communicates with the server over the public network to report the use of the software application.  
   
     
     
         27 . The system claimed in  claim 26 , wherein the server comprises an agent module for communicating with the client module, and a database for storing software application use records.  
     
     
         28 . The system claimed in  claim 26 , wherein the communication from the client module to the server includes a hardware ID of the computer.  
     
     
         29 . The system claimed in  claim 26 , wherein communication between the client module and the server is transparent to a user using the software application.  
     
     
         30 . The system claimed in  claim 26 , wherein the public network is the Internet.  
     
     
         31 . The system claimed in  claim 26 , wherein the server generates billing information from audit data recorded by the server.  
     
     
         32 . A process for enabling software comprising the steps of: 
 inserting a client module to a software application that is to be loaded on a computer, which computer has access to a public network;    maintaining a database that is accessible over the public network, which database contains license records corresponding to the software application having the client module attached thereto;    using the client module to generate a license inquiry message corresponding to the software application and sending the license inquiry message to the database over the public network;    receiving the license inquiry at the database and determining whether the database contains a license record corresponding to the license inquiry;    generating a response message containing the results of the inquiry and sending the response message to the client module;    receiving the response message at the client module and determining whether the response message indicates the presence of a license record; and    enabling the software application if the response message indicates the presence of a license record; or    disabling the software application if the response message indicates the lack of a license record.    
     
     
         33 . The process for enabling software claimed in  claim 32 , wherein the step of inserting a client module to a software application involves inserting the client module into the software application whereby the client module is compiled into the software application.  
     
     
         34 . The process for enabling software claimed in  claim 32 , wherein the step of inserting a client module to a software application involves attaching the client module to the software application after the software application has been compiled.  
     
     
         35 . The process for enabling software claimed in  claim 32 , further comprising the step of: 
 recording information received in a license inquiry message.    
     
     
         36 . The process for enabling software claimed in  claim 32 , wherein the license inquiry message consists of information selected from the group consisting of: a hardware ID, an application name, a feature name, a software version number, a name of the license server, a date/time stamp, and a version number of the license system.  
     
     
         37 . Software having the ability to self-enable when loaded on a computer having access to a public network, the software comprising: 
 a software application;    a client module attached to the software application; wherein 
 the client module generates and sends a license inquiry message over the public network to a database that contains records of valid licenses, the database receiving the license inquiry message and returning an appropriate response message to the client module, whereby the client module enables the software application if the response message indicates the presence of a valid license record.  
   
     
     
         38 . A license server system for enabling software loaded on a computer, which computer has access to a public network, the license server system comprising: 
 means for storing license records corresponding to validly licensed software;    means for receiving a license inquiry message transmitted over the public network, which inquiry message is generated by license system code nested in the software loaded on the computer;    means for processing the license inquiry message to determine whether the storing means contains a license record for the software loaded on the computer exists; and    means for transmitting a response message back to the license system code nested in the software loaded on the computer, whereby the software is enabled if the response message indicates that the storing means contains a license record.    
     
     
         39 . The software claimed in  claim 38 , wherein the use report message includes a hardware ID of the computer.  
     
     
         40 . A self-enabling software system operating on a computer, the self-enabling software system comprising: 
 a client computer having a client module contained in a software application loaded on the client computer;    a server computer having a license server running thereon, which license server includes: 
 an agent module for communicating with the client module; and  
 a database for storing license records; wherein 
 the client module automatically initiates communication with the agent module in the license server to determine whether the database contains a license record that corresponds to the software application loaded on the client computer.  
 
   
     
     
         41 . A network software system having self-enabling software, the network system comprising: 
 at least one client computer having a client application loaded thereon, which client application comprises a software application and a client module;    an agent computer from which the at least one client computer is subtended, the agent computer having a licensing module running thereon, which licensing module includes: 
 an agent component for communicating with the client module,  
 cache component for storing license records, and  
 a client component;  
   a server computer having a license server running thereon, which 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 to assess whether the cache component in the licensing module contains a license record corresponding to the software application.  
 
   
     
     
         42 . The network software system claimed in  claim 41 , 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.  
     
     
         43 . The network software system claimed in  claim 41 , wherein license records are organized according to class and sub-class designations.  
     
     
         44 . The network software system claimed in  claim 42 , wherein an uppermost agent computer records communications from subtended agent and client computers for auditing client application use.  
     
     
         45 . The network software system claimed in  claim 44 , wherein the upper-most agent computer communicates client application use data to the server computer.  
     
     
         46 . The network software system claimed in  claim 44 , wherein the upper-most agent computer includes an audit tool for generating audit reports.  
     
     
         47 . A method for enabling software to operate, the method comprising the steps of: 
 forming and transmitting a validation-request message over a public network to a licensing management system;    receiving a return message from the licensing management system, which return message contains a validation response;    interpreting the validation response;    determining whether the validation response indicates that the software is enabled; and    enabling the software in response to a validation response indication that the software is enabled; or    disabling the software in response to a validation response indication that the software is not enabled.    
     
     
         48 . A method for enabling software to operate, the method comprising the steps of: 
 forming and transmitting a validation-request message over a public network to a licensing management system;    receiving a return message from the licensing management system, which return message contains a validation response;    interpreting the validation response;    determining whether the validation response indicates that the software is enabled; and    enabling the software in response to a validation response indication that the software is enabled; or    disabling the software in response to a validation response indication that the software is not enabled.    
     
     
         49 . An article of manufacture for performing a software enabling function in a computer that is connected to a network, the article of manufacture comprising a computer usable medium having computer readable program code means for causing: 
 a connection to be formed between the computer and a license server, which license server contains software license information;    a message to be sent from the computer to the license server, which message contains information concerning a software application loaded on the computer;    a determination to be made as to whether software license information corresponding to the software application loaded on the computer is contained in the license server; and    a message to be sent from the license server to the computer indicating whether software license information corresponding to the software application loaded on the computer is contained in the license server.    
     
     
         50 . The article of manufacture claimed in  claim 49 , wherein the computer readable program code means further causes: 
 the software application on the computer to be enabled if the message sent from the license server to the computer indicates that software license information corresponding to the software application loaded on the computer is contained in the license server.    
     
     
         51 . The article of manufacture claimed in  claim 49 , wherein the computer readable program code means further causes: 
 the software application on the computer to be disabled if the message sent from the license server to the computer indicates that software license information corresponding to the software application loaded on the computer is not contained in the license server.    
     
     
         52 . A licensing management system for a software application, the licensing management system comprising: 
 a library of code modules suitable for inserting into a precompiled version of the software application, the library of code modules including a client module that transparently generates and sends and receives messages to and from a license server.    
     
     
         53 . The management licensing system claimed in  claim 52 , wherein the library of code modules further includes: 
 an interrupt validation generator that initiates a license validity inquiry when a piece of the software application into which the interrupt validation generator is inserted is executed.    
     
     
         54 . The management licensing system claimed in  claim 52 , wherein the library of code modules further includes: 
 a watchdog timer that initiates a license validity inquiry upon expiration.    
     
     
         55 . A system for managing licensed software on a portable computer, the system comprising: 
 a portable computer that includes: 
 a client application comprised of a licensed software application and a client module; and  
 a licensing module comprised of an agent component for communicating with the client module, a cache component for storing license records, and a client component for communicating with a license server;  
   a license server that includes: 
 an agent module for communicating with the client component of the licensing module over a public network, and  
 a database containing license records; wherein 
 the licensing module manages the client module to control the client application pursuant to license records maintained in the cache component when the portable computer is not connected to the public network, and wherein 
 the license module is capable of receiving license record updates to its cache component from, and transmitting client application use records to, the license server when the portable is connected to the public network.

Join the waitlist — get patent alerts

Track US2002161718A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.