IP Library Granted Patent US 6,886,164
Granted Patent B2
US 6,886,164 · App. 09/851,039 · Granted Apr 26, 2005

Selection of a resource in a distributed computer system

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 6,886,164
App. No.
09/851,039
Granted
Apr 26, 2005
Kind
B2
Abstract

A method for selecting a resource from a plurality of resources includes determining a score for that resource on the basis of a stochastic property of that resource. An interval corrsesponding to that resource is then defined to have an extent that depends on the score. A particular resource is then selected by generating a random number and selecting that resource when the random number falls within the interval.

Claims (50)

1. A method for selecting a resource from a plurality of resources, said method comprising:

determining a score for said resource on the basis of a stochastic property of said resource;

defining an interval corresponding to said resource, said interval having an extent that depends on said score;

generating a random number; and

selecting said resource if said random number is within said interval.

2. The method of claim 1 , wherein defining an interval corresponding to said resource comprises

determining a normalized score for said resource; and

defining an extent of said interval on the basis of said normalized score.

3. The method of claim 2 , wherein determining a normalized score comprises

evaluating a sum of scores assigned to each resource in said plurality of resources; and

normalizing said score assigned to said resource by said sum of scores.

4. The method of claim 1 , wherein generating a random number comprises generating a uniformly distributed random number.

5. The method of claim 1 , further comprising polling a selected resource to update a prior measurement of said stochastic property associated with said resource.

6. The method of claim 1 , wherein determining said score comprises estimating a present value of said stochastic property on the basis of a prior measurement of said stochastic property.

7. The method of claim 6 , further comprising selecting said prior measurement to be a most-recently known value of said stochastic property.

8. The method of claim 1 , further comprising selecting said resource to be a processor having a variable workload.

9. The method of claim 8 , wherein determining a score for said resource comprises obtaining an estimate of a present workload of said processor.

10. The method of claim 9 , wherein determining a score for said resource further comprises evaluating an inverse of said estimate of said present workload of said processor.

11. The method of claim 9 , wherein obtaining an estimate of a present workload of said processor comprises retrieving, from memory, a last-known workload of said processor.

12. The method of claim 1 , further comprising selecting said resource to be a queue having a variable queue-length.

13. A method for selecting a queue from a plurality of queues, said method comprising:

assigning a score to said queue;

defining an interval corresponding to said queue, said interval having an extent that depends on said score;

generating a random number; and

selecting said queue if said random number is within said interval.

14. The method of claim 13 , wherein assigning said score comprises determining an effective queue-length of said queue.

15. The method of claim 14 , wherein determining said effective queue-length comprises estimating a queue-length of said queue.

16. The method of claim 15 , wherein determining said effective queue-length comprises determining a priority of said queue.

17. The method of claim 16 , wherein assigning said score comprises weighting said queue-length with said priority.

18. The method of claim 13 , wherein defining an interval comprises selecting said extent on the basis of a normalized score.

19. The method of claim 18 , wherein selecting said extent on the basis of a normalized score comprises:

evaluating a sum of scores of all queues in said plurality of queues; and

normalizing said score for said queue by said sum of scores.

20. The method of claim 13 , wherein generating a random number comprises generating a uniformly distributed random number.

21. The method of claim 15 , wherein estimating the number of waiting elements in said queue comprises determining a last-known queue-length for said queue.

22. The method of claim 21 , further comprising:

polling said selected queue to determine a queue-length of said selected queue; and

updating said last-known queue-length for said selected queue.

23. The method of claim 22 , wherein updating said last-known queue length comprises polling said selected queue to determining a number of waiting elements in said selected queue.

24. The method of claim 23 , further comprising caching said number of waiting elements for use in estimating a length of said queue.

25. A computer-readable medium having encoded thereon software for selecting a resource from a plurality of resources, said software comprising instructions for:

determining a score for said resource on the basis of a stochastic property of said resource;

defining an interval corresponding to said resource, said interval having an extent that depends on said score;

generating a random number; and

selecting said resource if said random number is within said interval.

26. A computer-readable medium having encoded thereon software for selecting a queue from a plurality of queues, said software comprising instructions for:

assigning a score to said queue;

defining an interval corresponding to said queue, said interval having an extent that depends on said score;

generating a random number; and

selecting said queue if said random number is within said interval.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →