Sign In to Follow Application
View All Documents & Correspondence

System For Software Application Licensing And Methods Thereof

Abstract: A method and system to obtain a license for a software application is disclosed. The method and system include requesting a central licensing server via a first device for initial verification and authentication of at least one user of the software application and sending a first application by the central licensing server to at least one of the first device or the second device or both for downloading the first application. The method and system further comprise of generating an alpha numeric value in the first device or the second device and punching the value in the second device; and sending a second application by the central licensing server to at least one of the first device or the second device or both for downloading the second application to generate a dynamic key. The method also includes inputting the dynamic key in the second device to execute the software application.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
26 March 2007
Publication Number
48/2008
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

INFOSYS TECHNOLOGIES LIMITED
PLOT NO 44,ELECTRONICS CITY, HOSUR ROAD,BANGALORE, KARNATAKA-560 100, INDIA

Inventors

1. SAXENA ,ASHUTOSH
C/O MR.R.K SAXENA, HOUSE NO 82, SECTOR 4, MALVIYA NAGAR, JAIPUR , RAJASTHAN ,INDIA,PIN:302 017
2. PONNAPALLI, HARIGOPAL K.B
FLAT NO 201,SRI TOWERS ,CHANDANAGAR, HYDERABAD ,ANDHRA PRADESH, INDIA. PIN-500 050

Specification

BACKGROUND
The invention relates generally to the field of licensing software and more particularly, to systems and methods for software application licensing using at least one device.
A software license is a license that grants permission to do things with computer software that would otherwise be prohibited by copyright law. Software licensing comprises the permissions, rights and restrictions imposed on software. Use of software without a license could constitute infringement of the owner's intellectual property rights, and allow the owner to sue the infringer. Software license control is a method that controls a license for software, the application program, used in a workstation or in a personnel computer (PC). The existing licensing models include: 1) subscription, 2) concurrent or floating license, 3) rentals, 4) trail licenses such as try-before-you-buy or try only. However, the traditional perpetual licensing model is still the most prevalent sales model used by software publishers today. What ever may be the license model it is important to ensure that there exists an anti-piracy solution for a publisher's software in a cost effective manner.
Software licenses dictate the permissible uses of the corresponding software. The license may include a limitation of time, so that the software is usable only for a period of time. Various strategies have been employed to make unauthorized duplication and use of software more difficult. One such approach is to provide a hardware dongle which is typically installed in the parallel port of the computer to provide a software interlock. If the dongle is not in place, the software will not execute. The method is relatively expensive for the developer and cumbersome for the authorized user while remaining vulnerable to theft by duplication of the hardware.
Another approach requires the user to enter a serial number or customer identification number during installation of the software. Missing or invalid

registration information prevents installation of the software. This approach is easily defeated by transferring the serial number or customer identification number to one or more unauthorized users.
Yet another approach requires registering the software with the manufacturer or distributor to obtain an operational code or password necessary for installation of the software. Once the operational code or password is obtained, it may be perpetually transferred along with pirated copies to numerous unauthorized users.
Typically, the more expensive the software, the more likely the software publisher is to use a hardware-based solution. This is due to the higher level of security offered, as it relies on an external vendor controlled device, rather than the end user's PC. A software-based protection solution relies on the end user's PC to secure the digital license and maintain adherence to it. Typically, software-based solutions for perpetual licensing enforcement are less expensive than hardware-based, and rely on a technology defined as Product Activation. Product Activation refers to a method in which the customer types in a software Product Key or activation code purchased from the publisher to unlock the product for use, based on the terms of the digital license. Once the activation code is entered by the customer, it is sent over the Internet or by phone call and verified with a server containing all valid codes shipped with the software. After the key is validated by the server, the application is unlocked and gives the customer access to the product. Because the customer has to enter data to activate, most software-based protection solutions require end-user interfaces. Some solutions provide the vendors with an added value of collecting valuable marketing user data through the activation process by integrating User Registration mechanism.
A problem arises with most computer or client devices that are used to execute and run the software because it is a simple task to reset the clock of the machine, or set it back so as to extend the period of time the software may be used. This is possible because, in their simplest form, the software simply checks the machine's clock when it was installed and simply notes the time from the machine's clock every time it is invoked. If the prescribed period of time has elapsed, according

to the clock, the software quits and ceases execution. More sophisticated license enforcement schemes include keeping track of the total time the software is active, and disallowing any further execution once a cumulative time period has been reached.
Using a software-based protection solution for licensing requires the end-user to activate his subscription via the Internet or phone, and sets the subscription end date on the server hosted by the publisher/service provider. The client software installed with the software protection solution communicates periodically with the server to ensure the subscription is still valid. Once the end-user nears his subscription end date, the end-user is reminded to renew and after a renewal is purchased, the subscription end date is updated appropriately on the server.
As discussed earlier, enforcing licensing via a dongle can be done in a couple of ways: 1) using a standalone dongle in combination with a PC-based software clock to measure time, or 2) using a time dongle with a real-time secured clock on the dongle itself. The later solution is a bit more expensive, but significantly enhances the level of security. The primary reason for this is that utilizing the PC clock is more prone for hacking, allowing users to extend their subscription period without paying. Having an external clock that can only be communicated with through a secure encrypted protocol ensures that the clock is not tampered with, giving a much stronger level of license enforcement.
Accordingly, there is a need for an improved technique that reduces the above mentioned drawbacks that exists in the conventional methods.
BRIEF DESCRIPTION
In one embodiment of the present technique, a method to obtain a license for a software application is disclosed. The method includes requesting a central licensing server via a first device for initial verification and authentication of at least one user of the software application and sending a first application by the central licensing server to at least one of the first device or the second device or both for downloading the first application. The method further comprises of generating an

alpha numeric value in the first device or the second device and punching the value in the second device; wherein the value is routed through the central licensing server for authorization and sending a second application by the central licensing server to the at least one of the first device or the second device or both for downloading the second application to generate a dynamic key. The method also includes inputting the dynamic key in the second device to execute the software application.
In another embodiment of the present technique, a system for obtaining a license for a software application is disclosed. The system includes a licensing server configured to receive a request from at least one user for obtaining the license for the software application and a first device configured to generate a dynamic key for executing the software application. The system also includes a second device configured to execute the software application using the dynamic key generated by the first device.
In yet another embodiment of the present technique, a method to generate a dynamic key for obtaining a license for a software application is disclosed. The method includes executing a first application on a first device or a second device or both and generating an alpha numeric value in the first device or the second device and punching the alpha numeric value in the second device by at least one user. The method also includes generating a dynamic key in the first device by using a second application received from a central licensing server and inputting the dynamic key in the second device to execute the software application.
DRAWINGS
These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
FIG. 1 is a flow diagram depicting a method of obtaining a license for software application, in one embodiment of the present technique;

FIG. 2 is a schematic representation of system for obtaining a software application, in one embodiment of the present technique;
FIG. 3 is a flow diagram illustrates a method of generation of dynamic key for execution of software application, in one embodiment of the present technique;
*
FIG. 4 is example illustrating the implementation of the present technique, in one embodiment of the present technique; and
FIG. 5 is a system illustrating a generalized computer network arrangement, in one embodiment of the present technique.
DETAILED DESCRIPTION
The following description is full and informative description of the best method and system presently contemplated for carrying out the present invention which is known to the inventors at the time of filing the patent application. Of course, many modifications and adaptations will be apparent to those skilled in the relevant arts in view of the following description in view of the accompanying drawings and the appended claims. While the systems and method described herein are provided with a certain degree of specificity, the present technique may be implemented with either greater or lesser specificity, depending on the needs of the user. Further, some of the features of the present technique may be used to advantage without the corresponding use of other features described in the following paragraphs. As such, the present description should be considered as merely illustrative of the principles of the present technique and not in limitation thereof, since the present technique is defined solely by the claims.
The present invention relates to provide licensing of software using at least one device and in particular a mobile device.
The following description is presented to enable a person of ordinary skill in the art to make and use the invention and is provided in the context of the requirement for obtaining a patent. The present description is the best presently-contemplated method for carrying out the present invention. Various modifications to

the preferred embodiment will be readily apparent to those skilled in the art and the generic principles of the present invention may be applied to other embodiments, and some features of the present invention may be used without the corresponding use of other features. Accordingly, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest cope consistent with the principles and features described herein.
As will be appreciated by people skilled in the, to best understand the present invention it is important to be familiar with the definition in which it is used:
"Licensing server" in the present technique represents, the server connected to devices through internet or through any other computer network - may be mobile device or fixed device or combination of both, a processing system of licenses and repository of licenses thereof
"First device" in the present technique represents a mobile device or fixed device or combinations of both.
"Second device" in the present technique represents a mobile device or fixed device or combinations of both.
"Executed software" in the present technique represents any software, program or code.
Referring to the figures, Fig 1 is a flow diagram depicting a method of obtaining a license for software application. The method comprises one or more computer-readable media to take instructions. The instructions or commands are being processed by one or more processors to cause the one or more processors to exert further action. The method further includes following steps for licensing of software application: 1) making a request by at least one user for grant of license of software (block 101) and initial verification & authentication for the determination of grant of license by central licensing server system (block 103), 2) determination of prior availability of license (block 105), 3) sending first software application to first or second device (block 109), 4) generation of alpha-numeric value which is being

punched into the second device (block 111), 5) sending second software application to first or second device (block 113), 6) generation of dynamic key which is being punched into the second device (block 115), 7) inputting the dynamic key (block 117) and executing the software (block 119). Each of the steps will be explained in greater extent in the subsequent sections as follows.
In step 101, at least one user makes a request for the grant of license of software application to the service provider who is providing the software application. Thereafter, the step of verification and authentification is occurred as represented in block 103. The determination of prior existence of non-expired license takes place for the software to be acquired (block 105). For instance if the user already has a non-expired license for the software application then the grant of license is not required (block 107). However, if such license for the software application is not available, a request for grant of license for the software is forwarded to central licensing server.
The method continues to step 109, wherein the central licensing server forwards a first software application to at least first or second device or both, wherein the first software application is received and downloaded into first or second device or both. The central licensing server acts as repository of licenses to ascertain the access and is connected to the first device or the second device or combinations of both. It should be noted that in certain embodiment, the first and/or the second device may be a mobile device or fixed device.
Furthermore, as illustrated in step 111, an alpha-numeric value is generated on execution of the first application in the first device, wherein the alpha-numeric value is routed through central licensing server where the alpha numeric value is being authenticated and verified. This alpha-numeric value is subsequently punched into the second device. As will be appreciated, however, by those skilled in the art that many different arrangements are possible using the present technique. By way of an exemplary example, the first application may be received to second device, followed by generation of alpha numeric value therein in the second device. The generated alpha-numeric value can subsequently be punched into the first device. It

should be noted that numerals or alphabetic as value is also under scope of present technique and obvious to the person skilled in the art.
In the subsequent step 113, the second software application is sent to at least the first device or the second device or both through central licensing server, wherein the second software application is received and downloaded into first or second device or both. The central licensing server acts as repository of licenses and is connected to first device or second device or both.
The method of licensing of software application further includes the step of execution of second application to generate a dynamic key as represented in reference number 115. The dynamic key is routed through central licensing server. It should be noted that a new dynamic key is obtained whenever the second application is executed into any of the devices to prevent unauthorized access. If the first device gets exhausted to generate the dynamic one time key and the license is not expired with respect to time, then the user may reinitiate a call to reactivate the device on which the second application is loaded for generating one time dynamic key. The acquired dynamic key is subsequently entered into the second device as represented in reference number 117. As appreciated by those skilled in the art that if the second application is executed in the second device to generate the dynamic key via routing through central licensing system, the acquired dynamic key is being subsequently entered into the first device.
In the final step 119, the software application is executed in the device (first or second) where the dynamic key is entered by the at least one user.
In one embodiment of the present technique, the term of license is time bounded i.e., applicable for the stipulated time period. So, the grant of license of software application is for the time period as per agreement, which essentially means that the software application may be executed only if the time reading is within the license period of the software application. If the time reading is beyond the time limit of license period, software licensing or access is not initiated or provided.

Furthermore, the software application is bundled with a license certificate whereby the application bundle is obtained from the central licensing server. The license certificate can be signer certificate or digital signature or combinations of both which is eventually being used for authentification and verification purpose for execution of the software.
The license of software provided depends on user subscription level. The licensing term includes at least one of subscription or rental or trail licenses or combinations thereof.
As mentioned in earlier section, the first and/or second device may be mobile device or fixed device. However, in one embodiment of the present technique the first device is a mobile device and second device is fixed device and more preferably a computer system.
Fig 2 represents a system 200 for obtaining license of a software application. The system 200 comprises at least one licensing server 203 configured to receive a request from at least one user 201 for obtaining the license for the software application. The system 200 further includes at least a first device 205 configured to generate a dynamic key for executing the software application and at least a second device 207 configured to execute the software application using the dynamic key generated by the first device.
However, it is well understood and appreciated by those skilled in the art that second device may be configured to generate dynamic key and first device 205 may be configured to execute the software application
The licensing server 203 holds previously acquired license information and has the ability to grant a new license on request, depending on authentification and verification of the user 201. Initially, on request from user's end, a determination for prior availability of the license of the software application is carried out. If such license is not available, the process for grant of license may be initiated.

In one embodiment of the present technique, the dynamic key is being generated on any of the devices (first or second). In one embodiment, the dynamic key is generated on the first device 205. As mentioned in any of the sections, the first device may include at least a mobile device or a fixed device. However, first device 205 is preferably a mobile device. It should be noted that the first device 205 is further adapted to generate an alpha numeric value. This alpha numeric value is verified and authenticated while providing the license of the software application.
The system 200 for licensing of the software application further includes generation of a new dynamic key everytime when a user 201 seeks a new license for the software application wherein new dynamic key is generated in the first device 205. In a scenario when the first device 205 get exhausted to generate the dynamic one time key and the license is not expired with respect to time then the user 201 may reinitiate a call to reactivate the first device 205 for generating the dynamic one time key.
The system 200 further extends to entering the generated dynamic key in the second device 207. On inputting the dynamic key, the central licensing server 203 verifies the key and if find authenticated, it will provide the access and thereafter execution of software will be completed. In one embodiment of the present technique, the preferable second device may be a computer system where a computer system can be defined as "computer system is the combination of hardware and software. A typical computer system has memory and set of states that define the relationship between the systems inputs and outputs".
Additionally, it should be noted that licensing of software is time bounded and limited for the period as per the specification or the agreement provided. If the period of license of software exceeds the time period and get exhausted, above mentioned process will be initiated to license the software.
Furthermore, in the system of licensing of software application, according to any of the embodiment mentioned in the invention, licensing of software

application includes at least one of subscription or rental or trail licenses or combinations thereof.
FIG. 3 is a flow diagram illustrating a method of generation of dynamic key for execution of software application. The sequential method of generation of dynamic involves determination of prior presence of non-expired software in first step (step 303). If such license is available then there is no need of grant of license, rather than non-expired license is being forwarded to at least one user. However, if such license for software application is not available, the first application is forwarded to at least a first device or a second device or both as represented in step 305. Thereafter, the software application is configured to execute on either of the devices.
Furthermore, the method includes, on receiving and downloading the first software application, it is executed on either of the said devices. The execution of software application leads to generation of an alpha numeric value as represented in 307. For those skilled in the art, it is obvious that the generated value can also be numerals or alphabetic.
As depicted in 309, the user enters the alpha numeric value to the second device. It should be noted that either of devices are configured to receive the first application and thereafter generation of alpha numeric value thereon i.e., second device is also configured to receive the first application and to generate an alpha numeric value therein.
Thereafter, a second application is forwarded to at least one of the devices. In one embodiment of the present technique, the second application is forwarded to the first device. Essentially, on execution of the second application, a dynamic key is generated as illustrated in step 311. It should be noted that second application is forwarded by the central licensing server. Also the dynamic key is routed through central licensing server. Also essentially, a new dynamic key is generated every time whenever the second application is executed.
Additionally, while loading the time limited software application in the first device, it may also be bundled with a license certificate. Consequently, while

installing the software application, at least one signer certificate and/or one digital signature will also be loaded. It should be noted that "a signer certificate is the trusted certificate entry that is usually in a truststore file where truststore file is a key database file that contains public keys. The public key is stored as a signer certificate. The keys are used for a variety of purposes, including authentication and data integrity. One may import a certificate authority (CA) root certificate from the CA, or a public certificate from the self-signed personal certificate of the target into truststore file, as a signer certificate" while "digital signature is a type of asymmetric cryptography used to simulate the security properties of a signature in digital, rather than written form".
Additionally, it should be noted that licensing of software is time bounded and limited for the period as per the specification or the agreement provided. If the period of license of software exceeds the time period and get exhausted, above mentioned process will be initiated to provide the license of the software application.
Furthermore, in the system of licensing of software, according to any of the embodiment mentioned in the invention, licensing of software application includes at least one of subscription or rental or trail licenses or combinations thereof.
It should also be noted that, in generation of dynamic key for licensing of software application, first device or second device may be at least a mobile device or fixed device. In one of the embodiment of the invention, first device is a mobile device and second device is fixed device and more preferably a computer system.
Example 1
With reference to Fig 4, a user makes a request for grant of license of software application using first device 1 where first device is a mobile device 1. The request is forwarded to central licensing server 2. The central licensing server 2 determines prior availability of the software application. If such non-expired application is already existed, then non-expired license will be forwarded. However, if such non-expired license is not available, a first software application is forwarded to mobile device 1. An alpha numeric key is generated in 1 on execution of first

software application where this alpha numeric value is routed 3 through central licensing server. This alpha numeric value is punched into the second device 4 where second device is fixed device. Thereupon a second software application is forwarded to mobile device by central licensing server 2. A one time dynamic key is generated in mobile device on execution of second software where dynamic key is routed 3 through central licensing server 2. The dynamic key is subsequently entered into fixed device to execute the software.
Example 2
Again with reference to Fig 4, a user makes a request for grant of license of software application using second device 4 where second device is a fixed device 4. The request is forwarded to central licensing server 2. The central licensing server 2 determines prior availability of software application. If such non-expired application is already existed, then non-expired license will be forwarded. However, if such non-expired license is not available, a first software application is forwarded to fixed device 1. An alpha numeric key is generated in 4 on execution of first software application where this alpha numeric value is routed 5 through central licensing server 2, This alpha numeric value is punched into the first device 1 where first device is mobile device. Thereupon a second software application is forwarded to fixed device 4 by central licensing server 2. A one time dynamic key is generated in fixed device on execution of second software where dynamic key is routed 5 through central licensing server 2. The dynamic key is subsequently entered into mobile device to execute the software.
Exemplary Computing Environment
One or more of the above-described techniques can be implemented in or involve one or more computer systems. Figure 5 illustrates a generalized example of a computing environment 500. The computing environment 500 is not intended to suggest any limitation as to scope of use or functionality of described embodiments.
With reference to Figure 5, the computing environment 500 includes at least one processing unit 510 and memory 520. In Figure 5, this most basic

configuration 530 is included within a dashed line. The processing unit 510 executes computer-executable instructions and may be a real or a virtual processor. In a multiprocessing system, multiple processing units execute computer-executable instructions to increase processing power. The memory 520 may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two. In some embodiments, the memory 520 stores software 580 implementing described techniques.
A computing environment may have additional features. For example, the computing environment 500 includes storage 540, one or more input devices 550, one or more output devices 560, and one or more communication connections 570. An interconnection mechanism (not shown) such as a bus, controller, or network interconnects the components of the computing environment 500. Typically, operating system software (not shown) provides an operating environment for other software executing in the computing environment 500, and coordinates activities of the components of the computing environment 500.
The storage 540 may be removable or non-removable, and includes magnetic disks, magnetic tapes or cassettes, CD-ROMs, CD-RWs, DVDs, or any other medium which can be used to store information and which can be accessed within the computing environment 500. In some embodiments, the storage 540 stores instructions for the software 580.
The input device(s) 550 may be a touch input device such as a keyboard, mouse, pen, trackball, touch screen, or game controller, a voice input device, a scanning device, a digital camera, or another device that provides input to the computing environment 500. The output device(s) 560 may be a display, printer, speaker, or another device that provides output from the computing environment 500.
The communication connection(s) 570 enable communication over a communication medium to another computing entity. The communication medium conveys information such as computer-executable instructions, audio or video information, or other data in a modulated data signal. A modulated data signal is a

signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired or wireless techniques implemented with an electrical, optical, RF, infrared, acoustic, or other carrier.
Implementations can be described in the general context of computer-readable media. Computer-readable media are any available media that can be accessed within a computing environment. By way of example, and not limitation, within the computing environment 500, computer-readable media include memory 520, storage 540, communication media, and combinations of any of the above.
Having described and illustrated the principles of our invention with reference to described embodiments, it will be recognized that the described embodiments can be modified in arrangement and detail without departing from such principles. It should be understood that the programs, processes, or methods described herein are not related or limited to any particular type of computing environment, unless indicated otherwise. Various types of general purpose or specialized computing environments may be used with or perform operations in accordance with the teachings described herein. Elements of the described embodiments shown in software may be implemented in hardware and vice versa.
In view of the many possible embodiments to which the principles of our invention may be applied, we claim as our invention all such embodiments as may come within the scope and spirit of the following claims and equivalents thereto.

We Claim:
1. A method to obtain a license for a software application comprising one
or more computer-readable media having computer readable instructions that, when
executed by one or more processors, cause the one or more processors to execute the
steps of:
requesting a central licensing server via a first device for initial verification and authentication of at least one user of the software application; wherein the software application is meant to run on a second device;
sending a first application by the central licensing server to at least one of the first device or the second device or both for downloading the first application;
generating an alpha numeric value in the first device or the second device and punching the value in the second device; wherein the value is routed through the central licensing server for authorization;
sending a second application by the central licensing server to the at least one of the first device or the second device or both for downloading the second application to generate a dynamic key; and
inputting the dynamic key in the second device to execute the software application;
wherein, a new dynamic key is generated every time the second application is executed in the first device for obtaining the license for the software application.
2. The method of claim 1, further comprising determining whether the particular user already has a non-expired license, and if so, forward the non-expired license to the particular user rather than granting the license.
3. The method of claim 1, wherein the software application is configured to be executed in either the first device or the second device or both.

4. The method of claim 1, further comprising enforcing a time limited license of the software application using the first device, wherein the software application is bundled with a license certificate.
5. The method of claim 4, further comprising loading the application bundle into the first device from the licensing server; wherein loading comprises at least one of loading a signer certificate or a digital signature for the software application or a digital signature for the license certificate with the application bundle or combinations thereof.
6. The method of claim 1, wherein the execution of the software application occurs only if time reading is within license period of the software application for the at least one user.
7. The method of claim 1, wherein the first device or the second device includes at least one of mobile devices or fixed devices or combinations thereof.
8. The method of claim 1, wherein the licensing of software application includes at least one of subscription or rental or trail licenses or combinations thereof.
9. A system for obtaining a license for a software application comprising:
a licensing server configured to receive a request from at least one user for obtaining the license for the software application;
a first device configured to generate a dynamic key for executing the software application; and
a second device configured to execute the software application using the dynamic key generated by the first device;
wherein, a new dynamic key is generated in the first device every time the at least one user seeks to obtain the license for the software application.
10. The system of claim 9, wherein the first device or the second device
includes at least one of mobile devices or fixed devices or combinations thereof.

11. The system of claim 9, wherein the execution of the software application occurs only if time reading is within license period of the software application for the at least one user.
12. The system of claim 9, wherein the first device is further adapted to generate an alpha numeric value for authentication.
13. The system of claim 9, wherein the licensing of software application includes at least one of subscription or rental or trail licenses or combinations thereof.
14. A method to generate a dynamic key for obtaining a license for a software application, the method comprising:
executing a first application on a first device or a second device or both;
generating an alpha numeric value in the first device or the second device and punching the alpha numeric value in the second device by at least one user;
generating a dynamic key in the first device by using a second application received from a central licensing server; and
inputting the dynamic key in the second device to execute the software application;
wherein, a new dynamic key is generated every time the second application is executed in the first device for obtaining the license for the software application.
15. The method of claim 14, further comprising determining whether the particular user already has a non-expired license, and if so, forward the non-expired license to the particular user rather than granting the license.
16. The method of claim 14, wherein the software application is configured to be executed in either the first device or the second device or both.

17. The method of claim 14, further comprising enforcing a time limited license of the software application using the first device, wherein the software application is bundled with a license certificate.
18. The method of claim 17, further comprising loading the application bundle into the first device from the licensing server; wherein loading comprises at least one of loading a signer certificate or a digital signature for the software application or a digital signature for the license certificate with the application bundle or combinations thereof.
19. The method of claim 14, wherein the execution of the software application occurs only if time reading is within license period of the software application for the at least one user.
20. The method of claim 14, wherein the first device or the second device includes at least one of mobile devices or fixed devices or combinations thereof.
21. The method of claim 14, wherein the licensing of software application includes at least one of subscription or rental or trail licenses or combinations thereof.
22. A computer program product comprising a computer usable medium having a computer readable program code embodied therein for generating a dynamic key for obtaining a license for a software application comprising:
program code adapted for executing a first application on a first device or a second device or both;
program code adapted for generating an alpha numeric value in the first device or the second device and punching the alpha numeric value in the second device;
program code adapted for generating a dynamic key in the first device by using a second application received from a central licensing server; and
program code adapted for inputting the dynamic key in the second device to execute the software application;

wherein, a new dynamic key is generated every time the second application is executed in the first device for obtaining the license for the software application.
23. The computer program product of claim 22, further comprising
program code adapted for determining whether the particular user already has a non-
expired license, and if so, forward the non-expired license to the particular user rather
than granting the license.
24. The computer program product of claim 22, wherein the software application is configured to be executed in either the first device or the second device or both.
25. The computer program product of claim 22, further comprising enforcing a time limited license of the software application using the first device, wherein the software application is bundled with a license certificate.
26. The computer program product of claim 22, wherein the licensing of
software application includes at least one of subscription or rental or trail licenses or
combinations thereof.

Documents

Application Documents

# Name Date
1 0607-che-2007-abstract.pdf 2011-09-03
1 607-che-2007 power of attorney 12-01-2011.pdf 2011-01-12
2 607-CHE-2007 FORM-13 12-01-2011.pdf 2011-01-12
2 0607-che-2007-claims.pdf 2011-09-03
3 607-che-2007 form-1 12-01-2011.pdf 2011-01-12
3 0607-che-2007-correspondnece-others.pdf 2011-09-03
4 607-CHE-2007 FORM-13 12-01-2011.pdf 2011-01-12
4 0607-che-2007-description(complete).pdf 2011-09-03
5 0607-che-2007-drawings.pdf 2011-09-03
5 0607-che-2007-form 5.pdf 2011-09-03
6 0607-che-2007-form 1.pdf 2011-09-03
6 0607-che-2007-form 3.pdf 2011-09-03
7 0607-che-2007-form 1.pdf 2011-09-03
7 0607-che-2007-form 3.pdf 2011-09-03
8 0607-che-2007-drawings.pdf 2011-09-03
8 0607-che-2007-form 5.pdf 2011-09-03
9 0607-che-2007-description(complete).pdf 2011-09-03
9 607-CHE-2007 FORM-13 12-01-2011.pdf 2011-01-12
10 607-che-2007 form-1 12-01-2011.pdf 2011-01-12
10 0607-che-2007-correspondnece-others.pdf 2011-09-03
11 607-CHE-2007 FORM-13 12-01-2011.pdf 2011-01-12
11 0607-che-2007-claims.pdf 2011-09-03
12 607-che-2007 power of attorney 12-01-2011.pdf 2011-01-12
12 0607-che-2007-abstract.pdf 2011-09-03