System and method for allocating computing resources of a distributed computing system
First Claim
1. A computer implemented method, comprising:
- receiving one or more reservations for use of at least a first subset of a plurality of computing resources of a distributed computing system, wherein each of said one or more reservations specifies a period of time for use of at least one computing resource and has a corresponding first monetary cost to a user of said computing resource specified in said reservation, each of said one or more reservations specifies an amount for use of a first and second type of processing device in a normalized unit of processing capability, and said plurality of computing resources comprises;
said first type of processing device having a first processing capability; and
said second type of processing device having a second processing capability, wherein said first and second processing capabilities are different;
allocating said first subset of said computing resources for use in accordance with said one or more reservations;
charging said user said first monetary cost for use of said computing resources;
receiving one or more requests for use of at least a second subset of said plurality of computing resources of said distributed computing system, wherein each of said one or more requests specifies a period of time for use of at least one computing resource and has a corresponding second monetary cost to a user of said computing resource specified in said request;
determining whether a sufficient amount of one or more unallocated computing resources are available to fulfill all of said one or more requests, wherein said one or more unallocated computing resources comprises said computing resources of said distributed computing system that are not allocated in accordance with said one or more reservations and each of said one or more requests comprises an expression of said first and second types of processing device in a normalized unit of processing capability;
responsive to said sufficient amount of said unallocated computing resources being available, temporarily allocating said unallocated computing resources in accordance with said one or more requests; and
responsive to said sufficient amount of said unallocated computing resources not being available, temporarily allocating said unallocated computing resources in accordance with an allocation criteria, wherein said allocation criteria comprises fulfilling said requests beginning with said request comprising a highest bid indication and continuing in descending order of requests comprising said bid indications of lesser values until all of said unallocated resources have been allocated.
2 Assignments
0 Petitions
Accused Products
Abstract
In certain aspects, the invention features a system and method for (1) receiving reservations for a first subset of computing resources of a distributed computing system (DCS), wherein each of the reservations specifies a time period, (2) allocating the first subset according to the reservations, (3) receiving requests for use of at least a second subset of the DCS'"'"'s computing resources, wherein each of the requests specifies a time period, (4) determining whether enough unallocated resources are available to fulfill all of the requests, wherein the unallocated resources include the DCS'"'"'s resources not allocated according to the reservations, (5) allocating resources according to the requests, if there are enough unallocated resources available, and (6) allocating resources in accordance with an allocation criteria if there are not enough unallocated resources available.
-
Citations
67 Claims
-
1. A computer implemented method, comprising:
-
receiving one or more reservations for use of at least a first subset of a plurality of computing resources of a distributed computing system, wherein each of said one or more reservations specifies a period of time for use of at least one computing resource and has a corresponding first monetary cost to a user of said computing resource specified in said reservation, each of said one or more reservations specifies an amount for use of a first and second type of processing device in a normalized unit of processing capability, and said plurality of computing resources comprises; said first type of processing device having a first processing capability; and said second type of processing device having a second processing capability, wherein said first and second processing capabilities are different; allocating said first subset of said computing resources for use in accordance with said one or more reservations; charging said user said first monetary cost for use of said computing resources; receiving one or more requests for use of at least a second subset of said plurality of computing resources of said distributed computing system, wherein each of said one or more requests specifies a period of time for use of at least one computing resource and has a corresponding second monetary cost to a user of said computing resource specified in said request; determining whether a sufficient amount of one or more unallocated computing resources are available to fulfill all of said one or more requests, wherein said one or more unallocated computing resources comprises said computing resources of said distributed computing system that are not allocated in accordance with said one or more reservations and each of said one or more requests comprises an expression of said first and second types of processing device in a normalized unit of processing capability; responsive to said sufficient amount of said unallocated computing resources being available, temporarily allocating said unallocated computing resources in accordance with said one or more requests; and responsive to said sufficient amount of said unallocated computing resources not being available, temporarily allocating said unallocated computing resources in accordance with an allocation criteria, wherein said allocation criteria comprises fulfilling said requests beginning with said request comprising a highest bid indication and continuing in descending order of requests comprising said bid indications of lesser values until all of said unallocated resources have been allocated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 56, 57, 58, 59, 60)
-
-
40. A system, comprising:
-
a distributed computing system comprising a plurality of computing resources, wherein said plurality of computing resources comprises; a first type of processing device having a first processing capability; and a second type of processing device having a second processing capability, and wherein said first and second processing capabilities are different; and a computing device configured to; receive one or more reservations for use of at least a first subset of said plurality of computing resources, wherein each of said one or more reservations specifies a period of time for use of at least one computing resource and has a corresponding first monetary cost to a user of said computing resources specified in said reservation and each of said one or more reservations specifies an amount for use of said first and second types of processing device in a normalized unit of processing capability; allocate said first subset of said computing resources for use in accordance with said one or more reservations; charge said user said first monetary cost for use of said computing resources; receive one or more requests for use of at least a second subset of said plurality of computing resources of said distributed computing system, wherein each of said one or more requests specifies a period of time for use of at least one computing resource, comprises an expression of said first and second types of processing device in a normalized unit of processing capability, and has a corresponding second monetary cost to a user of said computing resource specified in said request; determine whether a sufficient amount of one or more unallocated computing resources are available to fulfill all of said one or more requests, wherein said one or more unallocated computing resources comprises said computing resources of said distributed computing system that are not allocated in accordance with said one or more reservations; responsive to said sufficient amount of said unallocated computing resources being available, temporarily allocate said unallocated computing resources in accordance with said one or more requests; and responsive to said sufficient amount of said unallocated computing resources not being available, temporarily allocate said unallocated computing resources in accordance with an allocation criteria, wherein said allocation criteria comprises fulfilling said requests beginning with said request comprising a highest bid indication and continuing in descending order of requests comprising said bid indications of lesser values until all of said unallocated resources have been allocated. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 61, 62, 63, 64, 65, 66, 67)
-
Specification