INFINIPASS LICENSE CONTROL SYSTEMDescription of Operation The INFINIPASS system is designed to enable software publishers to grant and control software licenses using the internet. The INFINIPASS client software module converses with the INFINIPASS server using the http protocol on port 80. The protocol and port were chosen because they are normally open in most firewall implementations. The module is incorporated into the released software as a linked library. There are two public interfaces to the module, initauth() which starts the license tracking processes and stopauth() which disable these processes. During the lifetime of the license tracking processes, the following tasks are performed: when the license has 14 or less days remaining, the communications process will try to request a license extension from the licensing server. this process will keep trying to reach the licensing server periodically until license expiry. as long as internet access is available at some point during this period and the licensing server is reachable, it will be possible to renew the license Recommended Usage The intended use of the library is the protection of licensing revenues from long running software processes such as server software or modules. Examples would be mail servers, application servers, isapi filters and the like. This focus is due to the fact that the initial license period runs for a number of days before expiry. Client software which only runs for a matter of hours will need to have client side license caching mechanisms to use this module properly. The models which can be implemented using this module are: - fully functional trials or demos which will time out unconditionally - one time perpetual licenses granted upon full payment - periodic licenses generating a revenue stream These methods can be used in any combination that the publisher determines to be of interest. Only one software image needs to be created to use any or all of these schemes because the results are determined on the server side. Some of the possiblities are: Granting trials to either all or some potential customers for an arbitrary period. No matter how long that period may be. But, once that trial is over, the software is effectively dead without the possibility of reactivation Granting permanent licenses to customers upon payment which are tied to a network address. This stops the proliferation of borrowed software. Granting periodic licenses to customers and creating a permanent revenue stream. This ensures that you generate ongoing income for future development. It also makes some higher priced software affordable for some projects by moving the expenditure from capital expenditures to operating costs. Granting usage rights for special events or projects. You can donate your software for a limited times and locations for marketing purposes on a campus for the duration of the school term. Using the Library DEMO.C has been included as a very simple example to demonstrate the techniques needed to use the library. In order to use the library, the header file tracker.h must be included in your source code. It declares the two functions, initauth() and stopauth(). initauth() starts operation of the licensing processes and should be called on program startup. the function prototype is: initauth(char* srv,int prt,char* pay, int day, HANDLE sig, void* fun); defined as:
srv - pointer to the fully qualified domain name of the licensing server as given to you by us System Requirements The INFINIPASS licensing module is targetted to executables running on Windows NT/2000/XP/.NET only. It has not been tested on any other systems. Availability and Pricing The client library is freely downloadable and useable without charge. The server responder is available only as a subscription service. Pricing on these services is dependent on the requirements put forth by the client. Please contact us to initiate a service proposal. Standalone Mode The Tracker client library can be used standalone to create demos and trials that time out automatically. Simply specify a server host such as 'localhost' that does not resolve to our servers. When the software times out, it will stop functioning until it is restarted. There is no charge for this usage. Other Considerations cpu usage is extremely light because the software is sleeping most of the time. the communications volumes are very light and open to inspection by network monitoring tools. this decision was made to eliminate suspicions that the software is disclosing confidential data to the licensing server. the communications stream is secure due to the use of crytopgraphic hashes //END OF DOCUMENT// |