# US 2014/0196044 A1 · SYSTEM AND METHOD FOR INCREASING THROUGHPUT OF A PaaS SYSTEM

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0196044 A1
- Document ID: US20140196044A1
- Status: Published application
- Kind: A1
- Application number: 13/735,896
- Filed: 2013-01-07
- Published: 2014-07-10
- Earliest claimed: 2013-01-07
- Assignees: Wal-Mart Stores, Inc.
- Applicants: Wal-Mart Stores, Inc.
- Inventors: Ashwanth Fernando
- Web page: https://patentgrep.com/patent/US20140196044A1

## CPC

- G06F 9/5072: {Grid computing}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 2209/5018: Thread allocation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods are disclosed for managing the throughput of a platform as a service (PaaS) system. A plurality of PaaS nodes receives deployment jobs, such as from an interface by way of a load balancer. The PaaS nodes extract deployment actions and an action count and post the deployment actions to a queue. The PaaS nodes also initiate, in a coordinator, a counter for the deployment job. The PaaS nodes retrieve deployment actions from the queue and execute them, such as in one of a plurality of threads in a flexible thread pool. Upon completing the action, the PaaS nodes report update the counter corresponding to the deployment job of the action. When a counter for a deployment jobs reaches the action count for the job, completion is reported.

## Claims

### Claim 1

A method for providing platform as a service (PaaS) throughput, the method comprising:
receiving, by a plurality of PaaS nodes each executing on a computing device, a plurality of deployment jobs;
extracting, by the plurality of PaaS nodes, a plurality of deployment actions from each deployment job of the plurality of deployment jobs;
posting, by the plurality of PaaS nodes, the plurality of deployment actions to an action queue;
retrieving, by the plurality of PaaS nodes, individual actions from the action queue; and
executing, by the plurality of PaaS nodes, the individual actions with respect to a plurality of installation nodes.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of deployment actions include an application instance identifier and an action with respect to an application instance corresponding to the application instance identifier executing on an application node.

### Claim 3 (depends on 2)

The method of claim 2, wherein the application instance identifier identifies a computing device executing the application instance.

### Claim 4 (depends on 2)

The method of claim 2, wherein the plurality of deployment actions include one of:
upgrade requests; start requests; stop requests; traffic enable requests; traffic disable requests; provisioning requests; installation requests; load balancer binding requests; database provisioning requests; and database edit requests.

### Claim 5 (depends on 1)

The method of claim 1, wherein executing, by the plurality of PaaS nodes, the individual actions comprises, for each individual action:
selecting a thread;
starting the thread executing the individual action; and
requesting another action from the action queue.

### Claim 6 (depends on 1)

The method of claim 1, wherein one of the plurality of PaaS nodes is a leader node, the method further comprising:
instantiating by the leader node, additional PaaS nodes in accordance with a number of the received plurality of deployment jobs.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
initiating, by the plurality of PaaS nodes, a counter in a coordinator module for each deployment job of the plurality of deployment jobs having a job identifier and an action count corresponding to the each deployment action; and
updating, by the plurality of PaaS nodes, upon execution of each individual action, a counter corresponding to a deployment job of the plurality of deployment jobs corresponding to the each individual action.

### Claim 8 (depends on 7)

The method of claim 7, further comprising reporting, by the coordinator module, completion of a deployment job upon detection of a counter corresponding to the deployment job reaching an action count of the counter.

### Claim 9 (depends on 8)

The method of claim 8, wherein one of the plurality of PaaS nodes is a leader node, the method further comprising:
evaluating, by the leader node, a number of counters of the coordinator module; and
instantiating, by the leader node, additional PaaS nodes when a number of the plurality of PaaS nodes multiplied by a maximum number of threads is less than a threshold amount above the number of counters.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
de-provisioning, by the leader node, a portion of the plurality of nodes when the number of the plurality of nodes multiplied by the maximum number of threads is greater than a second threshold amount above the number of counters.

### Claim 11

A system for providing platform as a service (PaaS) throughput, the system comprising a plurality of PaaS nodes, each comprising one or more processors and one or more memory devices operably coupled to the one or more processors, the one or more memory devices storing executable and operational data effective to cause the one or more processors of the plurality of PaaS nodes to:
receive a plurality of deployment jobs;
extract a plurality of deployment actions from each deployment job of the plurality of deployment jobs;
post the plurality of deployment actions to an action queue;
retrieve individual actions from the action queue; and
execute the individual actions with respect to a plurality of installation nodes.

### Claim 12 (depends on 11)

The system of claim 11, wherein the plurality of deployment actions include an application instance identifier and an action with respect to an application instance corresponding to the application instance identifier executing on an application node.

### Claim 13 (depends on 12)

The system of claim 12, wherein the application instance identifier identifies a computing device executing the application instance.

### Claim 14 (depends on 12)

The system of claim 12, wherein the plurality of deployment actions include one of:
upgrade requests; start requests; stop requests; traffic enable requests; traffic disable requests; provisioning requests; installation requests; load balancer binding requests; database provisioning requests; and database edit requests.

### Claim 15 (depends on 11)

The system of claim 11, wherein the executable and operational data are further effective to cause the one or processors of the plurality of PaaS nodes to execute the individual actions by, for each individual action:
select a thread;
start the thread executing the individual action; and
request another action from the action queue.

### Claim 16 (depends on 11)

The system of claim 11, wherein one of the plurality of PaaS nodes is a leader node, the one or more memory devices of the leader node effective to cause the one or more processors of the leader node to instantiate additional PaaS nodes in accordance with a number of the received plurality of deployment jobs.

### Claim 17 (depends on 11)

The system of claim 11, wherein the executable and operational data are further effective to cause the one or processors of the plurality of PaaS nodes to:
initiate a counter in a coordinator module for each deployment job of the plurality of deployment jobs having a job identifier and an action count corresponding to the each deployment action; and
update, upon execution of each individual action, a counter corresponding to a deployment job of the plurality of deployment jobs corresponding to the each individual action.

### Claim 18 (depends on 17)

The system of claim 17, wherein the coordinator module if further configured to report completion of a deployment job upon detection of a counter corresponding to the deployment job reaching an action count of the counter.

### Claim 19 (depends on 18)

The system of claim 18, wherein one of the plurality of PaaS nodes is a leader node, the one or more memory devices of the leader node effective to cause the one or more processors of the leader node to:
evaluate a number of counters of the coordinator module; and
instantiate additional PaaS nodes when a number of the plurality of PaaS nodes multiplied by a maximum number of threads is less than a threshold amount above the number of counters.

### Claim 20 (depends on 19)

The system of claim 19, wherein the executable and operational data of the leader node are further effective to cause the one or processors of the plurality of PaaS nodes to de-provision a portion of the plurality of nodes when the number of the plurality of nodes multiplied by the maximum number of threads is greater than a second threshold amount above the number of counters.
