Breadth-first resource allocation system and methods
First Claim
Patent Images
1. A computer-implemented method that manages allocation of computer resources, said 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 to allocate CPU slots, said request associated with one or more instances of an application;
identifying a resource group comprising at least two servers having idle CPU slots;
determining a value representative of the number of running instances of the application on each server in the resource group;
determining a value representative of the free memory on each server in the resource group;
sorting servers in the resource group in an order, excluding servers with no free memory, by the amount of free memory of the servers; and
allocating one CPU slot at a time from the list of eligible servers sorted in an order in a round-robin fashion.
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.
-
Citations
25 Claims
-
1. A computer-implemented method that manages allocation of computer resources, said 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 to allocate CPU slots, said request associated with one or more instances of an application; identifying a resource group comprising at least two servers having idle CPU slots; determining a value representative of the number of running instances of the application on each server in the resource group; determining a value representative of the free memory on each server in the resource group; sorting servers in the resource group in an order, excluding servers with no free memory, by the amount of free memory of the servers; and allocating one CPU slot at a time from the list of eligible servers sorted in an order in a round-robin fashion. - 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; identifying a resource group comprising at least two servers having idle CPU slots; determining a value representative of the number of running instances of the application on each server in the resource group; determining a value representative of the free memory on each server in the resource group; sorting servers in the resource group in an order, excluding servers with no free memory, by the amount of free memory of the servers; and allocating one CPU slot at a time from the list of eligible servers sorted in an order in a round-robin fashion. - 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; identifying a resource group comprising at least two servers having idle CPU slots; determining a value representative of the number of running instances of the application on each server in the resource group; determining a value representative of the free memory on each server in the resource group; sorting servers in the resource group in an order, excluding servers with no free memory, by the amount of free memory of the servers; and allocating one CPU slot at a time from the list of eligible servers sorted in an order in a round-robin fashion.
-
18. 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; identifying a resource group comprising at least two servers having idle CPU slots; determining a value representative of the number of running instances of the application on each server in the resource group; determining a value representative of the CPU speed of each server in the resource group; sorting servers in the resource group in an order, excluding servers with CPU speed less than a threshold, by the CPU speed of the servers; and allocating one CPU slot at a time from the list of eligible servers sorted in an order in a round-robin fashion. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification