Enterprise leasing license algorithm
First Claim
1. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to perform a method comprising:
- determining whether any of a plurality of floating licenses for a software program is available;
determining whether a requesting client device is already assigned one of the plurality of floating licenses for the software program; and
based on a determination that the client device is not yet assigned a floating license for the software program,obtaining client information from the client device that is communicatively coupled with the computing device even when all of the plurality of floating licenses for the software program have already been assigned to other client devices;
based on a determination that at least one of the plurality of floating licenses for the software program is available, assigning an available floating license to the client device, wherein the floating license is encrypted based on a relationship between the computing device and the client device;
establishing a check-in date provided by the client device as an expiration date for the floating license; and
allowing the client device to run the software program on the client device regardless of the client device thereafter being communicatively coupled with the computing device until the floating license assigned to the client device is reclaimed by the computing device.
4 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention are directed toward an improved enterprise leasing license algorithm and system thereof. A licensing algorithm for enterprise software configured to support expiring floating licenses obtained from a central license server. Floating licenses that have a user limit but not necessarily an expiration date, are installed to a central license server. A license is assigned to a user upon starting of the software program if a valid license has not yet been assigned. On exiting the software program, the user can return the license, making it immediately available to another user, or can keep the license for later use. A user is able to obtain a license while coupled to a network but is able to advantageously continue using the software program while disconnected from the network.
42 Citations
19 Claims
-
1. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to perform a method comprising:
-
determining whether any of a plurality of floating licenses for a software program is available; determining whether a requesting client device is already assigned one of the plurality of floating licenses for the software program; and based on a determination that the client device is not yet assigned a floating license for the software program, obtaining client information from the client device that is communicatively coupled with the computing device even when all of the plurality of floating licenses for the software program have already been assigned to other client devices; based on a determination that at least one of the plurality of floating licenses for the software program is available, assigning an available floating license to the client device, wherein the floating license is encrypted based on a relationship between the computing device and the client device; establishing a check-in date provided by the client device as an expiration date for the floating license; and allowing the client device to run the software program on the client device regardless of the client device thereafter being communicatively coupled with the computing device until the floating license assigned to the client device is reclaimed by the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to perform a method comprising:
-
sending to a server client information even when all floating licenses for a software program are already assigned to other client devices; receiving from the server an indication when one of the floating licenses for a software program will become available; obtaining the floating license for the software program from the server when the floating license becomes available, wherein the floating license obtained from the server is encrypted based on a relationship between the server and the computing device; providing a check-in date as an expiration date for the floating license; executing the software program regardless of thereafter being communicatively coupled with the server until the floating license is reclaimed by the server; and prompting an option to keep the floating license and an option to release the floating license after exiting the software program. - View Dependent Claims (14, 15)
-
-
16. A system comprising:
-
a. a server including a non-transitory computer-readable medium storing instructions that, when executed by the server, causes the server to assign one or more floating licenses for a software program after encrypting, by the server, the one or more floating licenses, wherein the server stores unsatisfied license requests and informs a requester of one of the unsatisfied requests when a floating license becomes available; and b. one or more client devices, each of the one or more client devices configured to; 1. receive a floating license while communicatively coupled with the server, wherein the floating license received by the each of the one or more client devices is encrypted based on a relationship between the server and the each of the one or more client devices; 2. provide a check-in date as an expiration date for the floating license; 3. execute the software program upon receiving the floating license, regardless of thereafter being communicatively coupled with the server until the floating license is reclaimed by the server; and 4. continue execution of the software program despite previously exiting the software program, without obtaining another floating license. - View Dependent Claims (17, 18, 19)
-
Specification