IP Library › Granted Patent US 8,161,491
Granted Patent B2
US 8,161,491 · App. 12/768,458 · Granted Apr 17, 2012

Soft real-time load balancer

Assignee: Avaya Inc.
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,161,491
App. No.
12/768,458
Granted
Apr 17, 2012
Kind
B2
Abstract

The present disclosure is based on a multi-core or multi-processor virtualized environment that comprises both time-sensitive and non-time-sensitive tasks. The present disclosure describes techniques that use a plurality of criteria to choose a processing resource that is to execute tasks. The present disclosure further describes techniques to re-schedule queued tasks from one processing resource to another processing resource, based on a number of criteria. Through load balancing techniques, the present invention both (i) favors the processing of soft real-time tasks arising from media servers and applications, and (ii) prevents “starvation” of the non-real-time general computing applications that co-exist with the media applications in a virtualized environment. These techniques, in the aggregate, favor the processing of soft real-time tasks while also reserving resources for non-real-time tasks. These techniques manage multiple processing resources to balance the competing demands of soft real-time tasks and of non-real-time tasks.

Claims (43)

1. A method comprising:

receiving during a first time interval by a data-processing system a plurality of tasks that are time-sensitive;

bin-packing by the data-processing system the plurality of tasks into (a) a first bin-pack to be executed on a first processor and (b) a second bin-pack to be executed on a second processor, wherein:

(i) μ 1 is a percentage of time to be used by the first processor for executing tasks in the first bin-pack during a second time interval,

(ii) μ 2 is a percentage of time to be used by the second processor for executing tasks in the second bin-pack during the second time interval, and

(iii) the bin-packing is based on minimizing a difference between μ 1 and μ 2 ;

executing by the first processor the tasks in the first bin-pack;

executing by the second processor the tasks in the second bin-pack;

scheduling by the data-processing system a first task that is a non-time-sensitive task to be executed on the first processor, wherein the first task is at a head of a first queue that is associated with the first processor; and

executing a second task that is a non-time-sensitive task on the first processor before the first task when:

the second task is at a head of a second queue that is associated with the second processor;

the first task and the second task are of equal priority; and

the second task entered the second queue before the first task entered the first queue,

wherein:

each time-sensitive task has a runtime parameter;

μ 1 is based on a sum of the runtime parameters of the tasks in the first bin-pack; and

μ 2 is based on a sum of the runtime parameters of the tasks in the second bin-pack.

2. The method of claim 1 wherein each runtime parameter is based on an execution time of an associated task during a third time interval that precedes the first time interval.

3. The method of claim 1 wherein each runtime parameter is based on an average of execution times of respective associated tasks during a plurality of time intervals that precede the first time interval.

4. The method of claim 1 wherein the bin-packing is further based on scheduling tasks to the same processor that executed them during a third time interval that precedes the first time interval.

5. The method of claim 1 further comprising:

scheduling by the data-processing system a first third task that is a non-time-sensitive task to be executed on the first processor; and

executing a second fourth task that is a non-time-sensitive task on the first processor before the first third task when the second fourth task is of higher priority than the first third task.

6. The method of claim 1 wherein the data-processing system comprises a virtualized computing environment that comprises the first processor and the second processor.

7. The method of claim 1 wherein the data-processing system comprises a credit-scheduler that determines an order of execution of the first task and of the second task.

8. The method of claim 1 , further comprising:

scheduling by the data-processing system a third task to be executed on the first processor, wherein the third task is at the head of the first queue that comprises a plurality of tasks to be executed on the first processor;

scheduling by the data-processing system a fourth task to be executed on the second processor, wherein the fourth task is at the head of the second queue that comprises a plurality of tasks to be executed on the second processor; and

executing the fourth task on the first processor before the third task when:

(i) the third task and the fourth task are of equal priority, and

(ii) the third task is a non-time-sensitive task, and

(iii) the fourth task is a time-sensitive task.

9. The method of claim 1 , further comprising:

scheduling the second task to be executed on the second processor, wherein the second queue comprises a plurality of tasks to be executed on the second processor.

10. The method of claim 1 , further comprising:

scheduling by the data-processing system a third task to be executed on the first processor, wherein the third task is at the head of the first queue that comprises a plurality of tasks to be executed on the first processor;

scheduling by the data-processing system a fourth task to be executed on the second processor, wherein the fourth task is at the head of the second queue that comprises a plurality of tasks to be executed on the second processor; and

executing the fourth task on the first processor before the third task when:

(i) the fourth task is of higher priority than the third task, and

(ii) the third task is a non-time-sensitive task.

11. The method of claim 10 , wherein the fourth task is a time-sensitive task.

12. The method of claim 10 , wherein the fourth task is a non-time-sensitive task.

13. The method of claim 10 , wherein the data-processing system comprises a credit-scheduler that determines the order of execution of the third task and of the fourth task.

Assignments (21)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2026
From: AVAYA LLC
To: PULSELINK SYSTEMS LLC
Reel/Frame 074909/0627 →
INTELLECTUAL PROPERTY PARTIAL RELEASE AND REASSIGNMENT Recorded Feb 4, 2026
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: AVAYA LLC (F/K/A AVAYA INC.); AVAYA MANAGEMENT L.P.
Reel/Frame 074981/0940 →
INTELLECTUAL PROPERTY PARTIAL RELEASE AND REASSIGNMENT Recorded Feb 4, 2026
From: CITIBANK, N.A.
To: AVAYA LLC (F/K/A AVAYA INC.); AVAYA MANAGEMENT L.P.
Reel/Frame 074944/0573 →
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2010
From: KRISHNAKUMAR, ANJUR SUNDARESAN; KRISHNAN, PARAMESHWARAN; LEE, MIN; SINGH, NAVJOT; YAJNIK, SHALINI
To: AVAYA, INC.
Reel/Frame 024379/0331 →
Continuity (3)
Provisional Application 61232542 · Aug 10, 2009
Provisional Application 61254019 · Oct 22, 2009
Related Publication 20110035751A1 · Feb 10, 2011