Breadth-first resource allocation system and methods
First Claim
Patent Images
1. A computer-implemented method that manages allocation of computer resources, the method comprising:
- storing in at least one non-transitory computer memory, data and instructions pertaining to computer resources in a computer network;
accessing the at least one computer memory by a computer processor to execute instructions stored at said non-transitory computer memory, and to perform steps including;
receiving a request from an application to allocate CPU slots, said request associated with multiple instances of the application;
identifying one or more parameters of the application, wherein the one or more parameters are used in sorting the servers and wherein a parameter defines a minimum number of servers the application runs on, the minimum number of servers being at least two;
assigning an identifier to the request, wherein all requests associated with the application receive the same identifier;
identifying a resource group comprising at least two servers having idle CPU slots;
evenly scheduling distribution of the instances of the application on the at least two servers in the resource group; and
releasing the CPU slots in accordance with the evenly scheduled distribution.
0 Assignments
0 Petitions
Accused Products
Abstract
A computing environment adapted with a resource allocation policy, the resource allocation policy being configured to evenly distribute application instances to as many servers as possible.
131 Citations
17 Claims
-
1. A computer-implemented method that manages allocation of computer resources, the method comprising:
-
storing in at least one non-transitory computer memory, data and instructions pertaining to computer resources in a computer network; accessing the at least one computer memory by a computer processor to execute instructions stored at said non-transitory computer memory, and to perform steps including; receiving a request from an application to allocate CPU slots, said request associated with multiple instances of the application; identifying one or more parameters of the application, wherein the one or more parameters are used in sorting the servers and wherein a parameter defines a minimum number of servers the application runs on, the minimum number of servers being at least two; assigning an identifier to the request, wherein all requests associated with the application receive the same identifier; identifying a resource group comprising at least two servers having idle CPU slots; evenly scheduling distribution of the instances of the application on the at least two servers in the resource group; and releasing the CPU slots in accordance with the evenly scheduled distribution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system that manages allocation of computer resources, comprising:
-
at least one non-transitory storage device storing data and instructions; and at least one computer processor accessing the data and instructions stored at said non-transitory storage device, and executing instructions that perform steps including; receiving a request from an application to allocate CPU slots, said request associated with multiple instances of the application; identifying one or more parameters of the application, wherein the one or more parameters are used in sorting the servers and wherein a parameter defines a minimum number of servers the application runs on, the minimum number of servers being at least two; assigning an identifier to the request, wherein all requests associated with the application receive the same identifier; identifying a resource group comprising at least two servers having idle CPU slots; evenly scheduling distribution of the instances of the application on the at least two servers in the resource group; and releasing the CPU slots in accordance with the evenly scheduled distribution. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium programmed to include instructions that, when executed by a processing device, cause the processing device to perform a method, said method comprising:
-
receiving a request to release CPU slots, said request associated with one or more instances of an application; receiving a request from an application to allocate CPU slots, said request associated with multiple instances of the application; identifying one or more parameters of the application, wherein the one or more parameters are used in sorting the servers and wherein a parameter defines a minimum number of servers the application runs on, the minimum number of servers being at least two; assigning an identifier to the request, wherein all requests associated with the application receive the same identifier; identifying a resource group comprising at least two servers having idle CPU slots; evenly scheduling distribution of the instances of the application on the at least two servers in the resource group; and releasing the CPU slots in accordance with the evenly scheduled distribution.
-
Specification