IP Library Granted Patent US 7,203,943
Granted Patent B2
US 7,203,943 · App. 10/002,073 · Granted Apr 10, 2007

Dynamic allocation of processing tasks using variable performance hardware platforms

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 7,203,943
App. No.
10/002,073
Granted
Apr 10, 2007
Kind
B2
Abstract

The present invention provides for the dynamic allocation of processing tasks using variable performance hardware. In addition, the present invention allows tasks to be assigned to computer resources according to the ability of a computer resource to perform the task. In particular, in accordance with an embodiment of the present invention, a computer resource may reject a task of a type that is incompatible with the computer resource or that cannot be performed by the resource in a timely manner. The task may then be assigned to another computer resource. In accordance with a further embodiment of the present invention, a table containing information concerning the available capabilities of computer resources associated with a system is maintained. This table may be updated dynamically, as computer resource capabilities change. Tasks may then be assigned with reference to the table to ensure that only computer resources capable of performing a task in a timely manner are assigned that task. The present invention allows computer resources having differing, including variable, performance characteristics to be integrated into a computer system and allows these resources to be dynamically added and removed.

Claims (51)

1. A method for dynamically allocating tasks in a computer system, comprising:

dynamically assigning a maximum computer resource load to each of a plurality of computer platforms, wherein a first of said computer platforms has a dynamically assigned first maximum computer resource capability and load and a second of said computer platforms has a dynamically assigned second maximum resource capability and load;

providing a computer resources table, wherein indications of dynamically assigned maximum computer resource capabilities for each of said plurality of computer platforms are maintained;

assigning a computer resource requirement to a task having a processor load value;

referencing said computer resources table for dynamically assigned maximum computer resource capabilities of at least one of said plurality of computer platforms;

assigning said task to the second of said plurality of computer platforms, wherein said processor load value of said task plus said first resource load of said first computer platform is greater than said first dynamically assigned maximum computer resource capability of said first computer platform and said processor load value of said task plus said second resource load of said second computer platform is less than said dynamically assigned second maximum computer resource capability of said second computer platform; and

performing said task in connection with said second computer platform.

2. The method of claim 1 , wherein said first computer platform load is not equal to said second computer resource load.

3. The method of claim 1 , wherein said step of assigning a computer resource requirement comprises assigning a point value to said task.

4. The method of claim 1 , wherein each of said plurality of computer resources reports a maximum computer resource load amount to said table prior to said step of assigning a task.

5. The method of claim 1 , wherein a task is not assigned to a computer platform if doing so would cause said indication of a computer resource load amount of said computer platform to exceed a maximum computer resource load associated with said computer platform.

6. The method of claim 1 , wherein said first computer platform is assigned said task, wherein said maximum computer resource load associated with said first computer platform is exceeded, and wherein said first computer resource rejects said assigned task.

7. The method of claim 6 , wherein said task is assigned to said second computer platform after said rejection of said task by said first computer platform.

8. The method of claim 1 , further comprising classifying said task by type.

9. The method of claim 8 , wherein an indication of a computing resource load and of a task capability for each of said plurality of computer platforms is maintained in said table.

10. The method of claim 9 , wherein said task is assigned to a computer platform listed in said computer resources table according to said computing load and said task capability.

11. The method of claim 1 , wherein said computer platforms comprise at least one of a processor, an input/output port, an area of memory, and an allocation of bandwidth.

12. The method of claim 1 , further comprising:

sensing a temperature of a carrier associated with at least one of said computer platforms;

altering a clock rate of a computer resource associated with a computer platform included in said carrier;

altering a maximum load value of said computer platform, wherein a maximum load value of said computer platform is increased if said clock rate is increased, and wherein a maximum load value of said computer platform is decreased if said clock rate is decreased.

13. The method of claim 1 , further comprising:

altering at least one of said plurality of computer platforms, wherein said step of altering comprises at least one of adding, removing, and modifying said at least one computer resource associated with said at least one computer platform.

14. The method of claim 1 , wherein at least one of types of tasks that said plurality of computer platforms are capable of performing and current loads assigned to said plurality of computer platforms are maintained in said computer resources table.

15. A method for dynamically allocating computer processor tasks, comprising:

dynamically specifying a first maximum capability of a first computer processor;

dynamically specifying a second maximum capability of a second computer processor;

maintaining a computer processor capability table, wherein dynamically adjusted capability values for said first and second computer processors are stored that are related to said first and second maximum capabilities of said first and second computer processors;

receiving a first task requiring processing, wherein a first processor load value is associated with said first task;

referencing said computer processor capability table to determine that said first processor load value of said first task is greater than said second maximum capability of said second computer processor;

assigning said first task to said first computer processor, wherein said first processor load value is less than said first maximum capability of said first computer processor;

processing said first task using said first computer processor;

receiving a second task requiring processing, wherein a second processor load value is associated with said second task; and

assigning said second task to said second computer processor, wherein said second processor load value of said second task plus a current load value of said first computer processor is greater than said dynamically specified first maximum capability of said first computer processor and said second processor load value of said second task plus a current load value of said second computer processor is less than said dynamically specified second maximum capability of said second computer processor.

16. The method of claim 14 , wherein a second capability parameter associated with said first computer processor is stored in said computer processor capability table.

17. The method of claim 14 , further comprising specifying a task capability associated with said first computer processor and with said second computer processor, wherein a task of a first task type is assigned to a computer processor having a task capability including said first task type, and wherein a task of a first type is not assigned to a computer resource having a task capability that does not include a task of said first type.

18. The method of claim 15 , further comprising:

altering a performance characteristic of said first processor, wherein said step of dynamically specifying comprises respecifying a first capability of said first processor.

19. The method of claim 18 , wherein said altered performance characteristic comprises at least one of a frequency of operation, an operating voltage, and a rate of instructions.

20. A computer resource allocation system, comprising:

at least a first computer platform comprising at least a first computer resource and a second computer platform comprising at least a second computer resource, wherein said at least a first computer platform has a first task type capability and a first dynamically specified resource amount capability, wherein said second computer platform has a second task type capability and a second dynamically specified resource amount capability, wherein said first and second task type capabilities do not have to be the same, and wherein said dynamically specified first and second resource amount capabilities do not have to be the same;

processing software running on a server processor, comprising:

memory including a table, wherein said dynamically specified first and second resource amount capabilities of said first and second computer platforms are stored in said table; and

a software task allocation unit, operable to reference dynamically specified resource amount capabilities in said table and further operable to allocate a task having a first processor load value associated therewith to the second computer platform, wherein said first processor load value of said task plus a current load value of said first computer platform is greater than said first dynamically specified resource amount capability of said first computer platform and said first processor load value of said task plus a current load value of said second computer platform is less than said second dynamically specified resource amount capability of said second computer platform.

21. The system of claim 20 , wherein an entry for said at least a first computer platform is maintained in said table, and wherein for each such entry a task type capability and a task resource amount are specified.

22. The system of claim 20 , wherein said task resource amount is dynamically altered in response to a change in a resource amount capability of said at least a first computer platform.

23. The system of claim 22 , wherein said change in a resource amount capability is in response to a substitution of said at least a first computer resource with said second computer resource.

24. The system of claim 22 , wherein said change in a resource amount capability is in response to a modification of an operating parameter of said at least a first computer resource.

25. The system of claim 24 , wherein said modification of an operating parameter of said at least a first computer resource comprises a modification of at least one of a frequency of operation, an operating voltage, and a rate of instructions.

26. The system of claim 22 , further comprising a temperature sensor, wherein said change in a resource amount capability of said at least a first computer resource is made in response to a change in temperature sensed by said temperature sensor.

27. The system of claim 20 , wherein said at least a first computer resource comprises at least one of a computer processor, an input/output port, an area of memory, and an allocation of bandwidth.

Assignments (26)
(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 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 →
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 →
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 →
BANKRUPTCY COURT ORDER RELEASING THE SECURITY INTEREST RECORDED AT REEL/FRAME 020156/0149 Recorded Jul 25, 2022
From: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
To: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES
Reel/Frame 060953/0412 →
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 →
RELEASE OF SECURITY INTEREST Recorded Jan 9, 2018
From: CITICORP USA, INC.
To: AVAYA, INC.; SIERRA HOLDINGS CORP.; AVAYA TECHNOLOGY, LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
Reel/Frame 045032/0213 →
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 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 012759/0141 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK
To: AVAYA INC. (FORMERLY KNOWN AS AVAYA TECHNOLOGY CORP.)
Reel/Frame 044891/0439 →
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 →
CONVERSION FROM CORP TO LLC Recorded Dec 29, 2008
From: AVAYA TECHNOLOGY CORP.
To: AVAYA TECHNOLOGY LLC
Reel/Frame 022071/0420 →
REASSIGNMENT Recorded Jun 27, 2008
From: AVAYA TECHNOLOGY LLC
To: AVAYA INC
Reel/Frame 021158/0319 →
SECURITY AGREEMENT Recorded Nov 28, 2007
From: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
To: CITICORP USA, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 020166/0705 →
SECURITY AGREEMENT Recorded Nov 27, 2007
From: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 020156/0149 →
SECURITY AGREEMENT Recorded Apr 9, 2002
From: AVAYA TECHNOLOGY CORP.
To: BANK OF NEW YORK, THE
Reel/Frame 012759/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2001
From: SHAFFER LARRY J.
To: AVAYA TECHNOLOGY CORP.
Reel/Frame 012354/0431 →