Framework for network technology agnostic multi-cloud elastic extension and isolation
US-2015372943-A1 · Dec 24, 2015 · US
US2016182399A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016182399-A1 |
| Application number | US-201414581397-A |
| Country | US |
| Kind code | A1 |
| Filing date | Dec 23, 2014 |
| Priority date | Dec 23, 2014 |
| Publication date | Jun 23, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The disclosure is related to balancing resources between pools of servers, e.g., by moving servers from a first pool of servers to a second pool of servers. The first pool executes a first version of an application, e.g., a desktop version, and the second pool executes a second version of the application, e.g., a mobile version. The technology moves a number of servers from an “OK” pool to a “not OK” pool. A “not OK” pool is a pool whose performance metric, e.g., response latency of a server, does not satisfy a criterion, and an “OK” pool is a pool whose performance metric satisfies the criterion even if the number of servers are removed from the pool. The number of servers to be moved is determined as a function of the increase in load which the pool can withstand by remaining in OK state even after the servers are removed.
Opening claim text (preview).
I/We claim: 1 . A method performed by a computing system, comprising: executing multiple pools of servers in a distributed computing system, the pools of servers including: a first pool of servers executing multiple instances of a first version of an application, and a second pool of servers executing multiple instances of a second version of the application; determining that the first pool is in a positive state and the second pool is in a negative state as a function of load of servers in the corresponding pool; and moving a specified number of servers from the first pool to the second pool, wherein the moving causes the second pool to switch to a positive state. 2 . The method of claim 1 , wherein determining that the first pool is in the positive state includes determining that a performance metric of the first pool of servers satisfies a specified criterion even after the specified number of servers are moved from the first pool. 3 . The method of claim 2 , wherein the performance metric includes a response latency of the first pool of servers. 4 . The method of claim 3 , wherein determining that the first pool is in the positive state includes: predicting the response latency of the first pool of servers if the load of servers in the first pool is increased by a specified percentage above a current load of servers, and confirming that the response latency of first pool of servers satisfies the specified criterion in response to the increased load. 5 . The method of claim 4 , wherein the specified number of servers to be moved is determined as a function of the specified percentage. 6 . The method of claim 4 , wherein predicting the response latency includes: progressively increasing a load of a first set of servers in the first pool in a number of increments up to a first percentage from the current load, wherein the response latency of the first set of servers do not satisfy the specified criterion if the load is increased beyond the first percentage, and determining a percentage of load less than the first percentage as the specified percentage. 7 . The method of claim 1 , wherein moving the specified number of servers from the first pool to the second pool includes: terminating execution of instances of the first version of the application on the specified number of servers, and executing instances of the second version of the application on the specified number of servers. 8 . The method of claim 1 , wherein executing the multiple pools of servers includes: receiving a request at the distributed computing system from a client computing device to access the first version of the application, and responding to the request by a server from the first pool of servers. 9 . The method of claim 8 , wherein receiving the request for accessing the first version of the application includes receiving the request for accessing a non-mobile version of the application. 10 . The method of claim 1 , wherein executing the multiple pools of servers includes: receiving a request at the distributed computing system from a client computing device to access the second version of the application, and responding to the request by a server from the second pool of servers. 11 . The method of claim 10 , wherein receiving the request for accessing the second version of the application includes receiving the request for accessing a mobile version of the application. 12 . A computer-readable storage medium storing computer-readable instructions, comprising: instructions for executing multiple pools of servers in a distributed computing system, the pools including: a first pool of servers executing a first set of instances of an application, and a second pool of servers executing a second of set of instances of the application; instructions for determining a current load of a pool of servers of the pools of servers; instructions for predicting a performance metric of the pool of servers if the current load of the pool of servers is increased by a specified percentage; and instructions for determining a state of the pool of servers as a positive state if the performance metric satisfies a specified criterion or as a negative state if the performance metric does not satisfy the specified criterion. 13 . The computer-readable storage medium of claim 12 , wherein the instructions for determining the state of the pool of servers further includes: instructions for determining that the first pool is in the positive state and the second pool is in the negative state; and instructions for moving a specified number of servers from the first pool to the second pool. 14 . The computer-readable storage medium of claim 13 , wherein the instructions for moving the specified number of servers from the first pool to the second pool includes instructions for determining the specified number of servers as a function of the specified percentage. 15 . The computer-readable storage medium of claim 13 , wherein the instructions for moving the specified number of servers from the first pool to the second pool includes: instructions for terminating execution of the first set of instances of the application on the specified number of servers, and instructions for executing the second set of instances of the application on the specified number of servers. 16 . The computer-readable storage medium of claim 13 , wherein the instructions for moving the specified number of servers from the first pool to the second pool further includes: instructions for determining that the first pool is in the negative state and the second pool is in the positive state, and instructions for moving the specified number of servers from the second pool to the first pool. 17 . The computer-readable storage medium of claim 12 , wherein the instructions for determining the state of the pool of servers includes: instructions for determining that the first pool is in the negative state and the second pool is in the negative state, and instructions for generating a notification to notify a user that the first pool and the second pool are in negative state. 18 . A system, comprising: a processor; a first module configured to execute multiple pools of servers in a distributed computing system, the pools of servers including: a first pool of servers executing multiple instances of a first version of an application, and a second pool of servers executing multiple instances of a second version of the application; a second module configured to determine that the first pool is in a positive state and the second pool is in a negative state, the second module configured to determine based on a performance metric of each of the first pool and the second pool, the performance metric being a function of load of servers in the corresponding pool; and a third module configured to move a specified number of servers from the first pool to the second pool, wherein the moving causes the second pool to switch to a positive state. 19 . The system of claim 18 further comprising: a fourth module to predict the performance metric of the first pool of servers if the load of servers in the first pool is increased by a specified percentage above a current load of servers, the fourth module further configured to confirm that the performance metric of first pool of servers satisfies the specified criterion in response to the increased load. 20 . The system of claim 19 further comprising: a fifth module to determine the sp
Reserving resources in multiple paths to be used simultaneously (by balancing the load H04L47/125) · CPC title
Distributed allocation of resources, e.g. bandwidth brokers · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.