IP Library Granted Patent US 8,539,498
Granted Patent B2
US 8,539,498 · App. 11/749,810 · Granted Sep 17, 2013

Interprocess resource-based dynamic scheduling system and method

Inventors: Subash Bohra (Oak Park, CA); Scott Nam (Granada Hills, CA)
Assignee: Alcatel Lucent
View Patent ↗
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 8,539,498
App. No.
11/749,810
Granted
Sep 17, 2013
Kind
B2
Abstract

A method and system for scheduling tasks in a processing system. In one embodiment, the method comprises processing tasks from a primary work queue, wherein the tasks consume resources that are operable to be released. Whenever the volume of resources that have been consumed exceeds a threshold, the processor executes tasks from a secondary work queue for a period of time. The secondary work queue is comprised of tasks from the primary work queue that can release the resources; the secondary work queue can be sorted according to the volume of resources that can be released.

Claims (38)

1. A method of scheduling tasks in a computer system, comprising:

populating a primary work queue with a plurality of tasks;

processing said plurality of tasks from said primary work queue, wherein said plurality of tasks consume interprocess communication resources operable to be released;

monitoring said interprocess communication resources consumed by each task in said primary work queue;

determining whether a volume of consumed interprocess communication resources exceeds a threshold based on said monitoring;

processing tasks from a secondary work queue for a given time period, wherein said secondary work queue comprises tasks from said primary work queue that can release the greatest volume of interprocess communication resources, and wherein said tasks in said secondary work queue are sorted according to a respective priority value, wherein said threshold and said given time period are configurable at system initialization.

2. The method as recited in claim 1 , further comprising monitoring the interprocess communication resources that can be released by each task in said primary work queue.

3. The method as recited in claim 1 , wherein said tasks in said secondary work queue are further sorted according to a respective volume of interprocess communication resources that can be released.

4. The method as recited in claim 1 , wherein said secondary work queue is populated prior to execution from said secondary work queue.

5. The method as recited in claim 1 , wherein said primary work queue is executed according to preemptive priority scheduling.

6. The method as recited in claim 1 , wherein a given task that has received processing time in said primary work queue is not used to populate said secondary work queue.

7. The method as recited in claim 1 , wherein said interprocess communication resources are chosen from at least one of shared memory, semaphores, message queues, message pipes, sockets, and signals.

8. A method for scheduling tasks in a processor, the method comprising:

populating a primary work queue with a plurality of tasks;

processing said plurality of tasks from said primary work queue for a first time period;

during execution of tasks from said primary work queue, maintaining a list of interprocess communication resources pending for each task in said primary work queue;

determining, after said first time period, whether said interprocess communication resources pending has exceeded a threshold based on said maintained list of interprocess communication resources pending; and

populating a secondary work queue with tasks having interprocess communication resources pending in response to said threshold has been exceeded, said secondary work queue being sorted according to a volume of resources pending for a task; and

executing tasks from said secondary work queue for a second time period before returning to the execution of tasks from said primary work queue, wherein said threshold, said first time period and said second time period are configurable at system initialization.

9. The method for scheduling tasks as recited in claim 8 , wherein said secondary work queue being further sorted according to a priority value associated with a task in said resources pending list.

10. The method for scheduling tasks as recited in claim 8 , wherein each of said resources has an upper limit.

11. The method for scheduling tasks as recited in claim 8 , wherein said resources are chosen from at least one of shared memory, semaphores, message queues, message pipes, sockets and signals.

12. The method for scheduling tasks as recited in claim 8 , wherein said secondary work queue is populated prior to execution from said secondary work queue.

13. The method for scheduling tasks as recited in claim 8 , wherein said primary work queue is executed according to at least one of preemptive priority scheduling, weighted round robin scheduling, and weighted deficit round robin scheduling.

14. The method for scheduling tasks as recited in claim 8 , wherein a given task that has received processing time in said primary work queue is not used to populate said secondary work queue.

15. A system, comprising:

means for populating a first work queue with a plurality of tasks;

means for processing said plurality of tasks from said first work queue for a first period of time;

means for maintaining a list of interprocess communication resources pending for each of said plurality of tasks during execution of tasks from said first work queue;

means for determining, after said first time period, whether said interprocess communication resources pending has exceeded a threshold based on said maintained list of interprocess communication resources;

means for populating a second work queue with tasks having interprocess communication resources pending in response to said threshold has been exceeded, wherein said second work queue is ordered according to a respective volume of interprocess communication resources pending for each of said plurality of tasks;

means for processing tasks from said second work queue for a second period of time before returning to the processing of tasks from said first work queue, wherein said threshold, said first period of time and said second period of time are configurable at system initialization; and

a processor.

16. The system as recited in claim 15 , wherein said means for populating said first work queue uses one of preemptive priority scheduling, weighted round robin scheduling, and weighted deficit round robin scheduling.

17. The system as recited in claim 15 , wherein said means for maintaining is implemented as hardware.

18. The system as recited in claim 15 , wherein a given task that has received processing time in said first work queue is not used to populate said second work queue.

19. The system as recited in claim 15 , wherein said interprocess communication resources are chosen from at least one of shared memory, semaphores, message queues, message pipes, sockets, and signals.

20. The system as recited in claim 15 , wherein said second work queue is populated prior to execution from said second work queue.

Assignments (13)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
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 May 17, 2007
From: BOHRA, SUBASH; NAM, SCOTT
To: ALCATEL LUCENT
Reel/Frame 019307/0543 →
Continuity (1)
Related Publication 20080288949A1 · Nov 20, 2008