IP Library Patent Application 13207810
Patent Application
App. No. 13/207,810

Starvationless Kernel-Aware Distributed Scheduling of Software Licenses

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/207,810
Abstract

Methods, systems, and apparatuses for implementing shared-license management are provided. Shared-license management may be performed by receiving from a remote client a license request to run a process of a shared-license application; adding the process to a queue maintained for processes waiting for license grants; and reserving at least one license instance for the received license request, the at least one license instance comprising a quantum of CPU time for running the process.

Claims (36)

1 . A method comprising:

receiving from a remote client a license request to run a process of a shared-license application;

adding the process to a queue maintained for processes waiting for license grants; and

reserving at least one license instance for the received license request, the at least one license instance comprising a quantum of CPU time for running the process.

2 . The method of claim 1 , wherein the process is added to the rear of the queue, and the queue is ordered according to an any-out method where processes requesting licenses are not moved with respect to each other.

3 . The method of claim 1 , further comprising maintaining a reservation set for each process in the queue, wherein the reservation set includes all reserved license instances for the process.

4 . The method of claim 3 , further comprising maintaining a need set for each process in the queue, wherein the need set includes all received license requests for the process.

5 . The method of claim 4 , further comprising determining from the need set at least one license instance that the process needs but has not yet had reserved.

6 . The method of claim 4 , further comprising reserving a plurality of license instances for the requesting process based on the process's need set.

7 . The method of claim 4 , further comprising removing the process from the queue when the process's reservation set matches the process's need set.

8 . The method of claim 1 , further comprising issuing a grant including the at least one license instance to the remote client.

9 . The method of claim 1 , further comprising relinquishing all of the reserved license instances for the process if the process has been idle for a time that exceeds a pre-selected value.

10 . The method of claim 9 , further comprising reissuing the reserved license instances to the process when the process becomes non-idle.

11 . The method of claim 1 , further comprising relinquishing all of the reserved license instances for the process if the process has terminated.

12 . The method of claim 1 , further comprising idling the process if the process does not currently have at least one reserved license instance.

13 . A global scheduler, comprising:

a data interface configured to receive a license request from a remote client to run a process of a shared-license application;

a memory configured to store the license request; and

a processor in communication with the memory, the processor configured to:

add the process to a queue maintained for processes waiting for license grants; and

reserve at least one license instance for the received license request, the at least one license instance comprising a quantum of CPU time for running the process.

14 . The global scheduler of claim 13 , wherein the processor is further configured to add the process to the rear of the queue, and wherein the queue is ordered according to an any-out method where processes requesting licenses are not moved with respect to each other.

15 . The global scheduler of claim 13 , wherein the processor is further configured to maintain a reservation set for each process in the queue, and wherein the reservation set includes all reserved license instances for the process.

16 . The global scheduler of claim 15 , wherein the processor is further configured to maintain a need set for each process in the queue, and wherein the need set includes all received license requests for the process.

17 . The global scheduler of claim 15 , wherein the processor is further configured to determine from the need set at least one license instance that the process needs but has not yet had reserved.

18 . The global scheduler of claim 15 , wherein the processor is further configured to reserve a plurality of license instances for the requesting process based on the process's need set.

19 . The global scheduler of claim 15 , wherein the processor is further configured to remove the process from the queue when the process's reservation set matches the process's need set.

20 . The global scheduler of claim 13 , wherein the processor is further configured to issue a grant including the at least one license instance to the remote client.

21 . The global scheduler of claim 13 , wherein the processor is further configured to relinquish all of the reserved license instances for the process if the process has been idle for a time that exceeds a pre-selected value.

22 . The global scheduler of claim 21 , wherein the processor is further configured to reissue the reserved license instances to the process when the process becomes non-idle.

23 . The global scheduler of claim 13 , wherein the processor is further configured to relinquish all of the reserved license instances for the process if the process has terminated.

24 . The global scheduler of claim 13 , wherein the processor is further configured to idle the process if the process does not currently have at least one reserved license instance.

25 . An article of manufacture including a non-transitory computer-readable medium having instructions stored thereon, that in response to execution by a computing device causes the computing device to perform operations comprising:

receiving from a remote client a license request to run a process of a shared-license application;

adding the process to a queue maintained for processes waiting for license grants; and

reserving at least one license instance for the received license request, the at least one license instance comprising a quantum of CPU time for running the process.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0555 →
SECURITY AGREEMENT Recorded Jan 30, 2013
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 029821/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2012
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 028969/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2011
From: CARROLL, MARTIN D.; KATSAK, WILLIAM
To: ALCATEL-LUCENT USA INC.
Reel/Frame 026735/0960 →