Continuous resource pool balancing

US2016182399A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016182399-A1
Application numberUS-201414581397-A
CountryUS
Kind codeA1
Filing dateDec 23, 2014
Priority dateDec 23, 2014
Publication dateJun 23, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Reserving resources in multiple paths to be used simultaneously (by balancing the load H04L47/125) · CPC title

  • H04L47/783Primary

    Distributed allocation of resources, e.g. bandwidth brokers · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016182399A1 cover?
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 “n…
Who is the assignee on this patent?
Facebook Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/783. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Jun 23 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).