# US 10,484,262 B2 · Dynamic cloning of application infrastructures

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

- Number: US 10,484,262 B2
- Document ID: US10484262B2
- Status: Granted
- Kind: B2
- Application number: 15/878,988
- Filed: 2018-01-24
- Published: 2018-05-31
- Granted: 2019-11-19
- Earliest claimed: 2013-10-25
- Assignees: Avago Technologies International Sales Pte. Limited
- Applicants: Avago Technologies International Sales Pte. Limited
- Inventors: Jeffrey P. Hartley; Atul Gosain
- Web page: https://patentgrep.com/patent/US10484262B2

## CPC

- H04L 43/16: Threshold monitoring
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- H04L 41/0846: {based on copy from other elements}
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/101: based on network conditions
- H04L 67/1029: using data related to the state of servers by a load balancer
- H04L 67/1031: Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2009/45591: {Monitoring or debugging support}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for dynamically cloning application infrastructures are provided. In one embodiment, a computer system can monitor one or more metrics pertaining to an infrastructure for an application at a first site. If the one or more metrics exceed or fall below one or more corresponding thresholds, the computer system can clone the infrastructure at a second site distinct from the first site, thereby enabling the application to be hosted at the second site.

## Claims

### Claim 1

A method comprising:
monitoring, by a computer system, one or more metrics pertaining to an existing infrastructure for an application at a first site, wherein the existing infrastructure includes a first virtual server and a plurality of first application servers, and wherein the first virtual server is configured to receive, at a first virtual IP address (VIP), client requests for the application and redirect the client requests to one or more of the plurality of first application servers; and
if the one or more metrics exceeds or falls below one or more corresponding thresholds, creating, by the computer system, a new infrastructure for the application at a second site distinct from the first site, wherein the new infrastructure at the second site is based on the existing infrastructure at the first site and enables the application to be hosted at the second site.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first virtual server is maintained by a first application delivery controller (ADC) at the first site.

### Claim 3 (depends on 2)

The method of claim 2, wherein creating the new infrastructure at the second site comprises:
identifying a second ADC at the second site; and
creating, on the second ADC, a second virtual server for the application based on the first virtual server.

### Claim 4 (depends on 3)

The method of claim 3, wherein creating the new infrastructure at the second site further comprises:
causing the second virtual server to redirect traffic destined for a second VIP to one or more of a plurality of second application servers at the second site.

### Claim 5 (depends on 3)

The method of claim 3, wherein the first ADC maintains configuration information for the first virtual server, and wherein creating the second virtual server comprises:
copying the configuration information from the first ADC to the second ADC; and
associating the configuration information with the second virtual server.

### Claim 6 (depends on 1)

The method of claim 1, wherein the plurality of first application servers run within virtual machines (VMs) hosted on one or more first host systems at the first site.

### Claim 7 (depends on 6)

The method of claim 6, wherein creating the new infrastructure at the second site comprises:
identifying one or more second host systems at the second site; and
creating, on the one or more second host systems, a plurality of second application servers for the application based on the plurality of first application servers.

### Claim 8 (depends on 7)

The method of claim 7, wherein creating the plurality of second application servers comprises:
cloning the VMs running the plurality of first application servers.

### Claim 9 (depends on 1)

The method of claim 1, wherein the one or more metrics include a load or health metric for the first virtual server.

### Claim 10 (depends on 9)

The method of claim 9, wherein the load or health metric for the first virtual server is a number of concurrent connections to the first VIP.

### Claim 11 (depends on 1)

The method of claim 1, wherein the one or more metrics include a load or health metric for an ADC that maintains the first virtual server.

### Claim 12 (depends on 11)

The method of claim 11, wherein the load or health metric for the ADC is a CPU or memory utilization of the ADC.

### Claim 13 (depends on 1)

The method of claim 1, wherein the one or more metrics include a load or health metric for the plurality of first application servers.

### Claim 14 (depends on 13)

The method of claim 13, wherein the load or health metric for the plurality of first application servers is a runtime status of the plurality of first application servers.

### Claim 15 (depends on 1)

The method of claim 1, further comprising, subsequently to creating the new infrastructure at the second site:
transmitting, to a global server load balancer, a notification that the second site is available for hosting the application.

### Claim 16 (depends on 15)

The method of claim 15, wherein the notification includes a second VIP associated with a second virtual server created at the second site and a host name of the application.

### Claim 17 (depends on 1)

The method of claim 1, further comprising, subsequently to creating the new infrastructure at the second site:
monitoring a load metric of the existing infrastructure at the first site; and
if the load metric falls below a threshold, dismantling the new infrastructure at the second site, such that the application can no longer be hosted at the second site.

### Claim 18 (depends on 1)

The method of claim 1, wherein the one or more thresholds are specified in a cloning policy defined by a user.

### Claim 19

A non-transitory computer readable medium having stored thereon program code executable by a processor, the program code comprising:
code that causes the processor to monitor one or more metrics pertaining to an existing infrastructure for an application at a first site, wherein the existing infrastructure includes a first virtual server and a plurality of first application servers, and wherein the first virtual server is configured to receive, at a first virtual IP address (VIP), client requests for the application and redirect the client requests to one or more of the plurality of first application servers; and
if the one or more metrics exceeds or falls below one or more corresponding thresholds, code that causes the processor to create a new infrastructure for the application at a second site distinct from the first site, wherein the new infrastructure at the second site is based on the existing infrastructure at the first site and enables the application to be hosted at the second site.

### Claim 20

A computer system comprising:
a processor; and
a non-transitory computer readable medium having stored thereon executable program code which, when executed by the processor, causes the processor to:
monitor one or more metrics pertaining to an existing infrastructure for an application at a first site, wherein the existing infrastructure includes a first virtual server and a plurality of first application servers, and wherein the first virtual server is configured to receive, at a first virtual IP address (VIP), client requests for the application and redirect the client requests to one or more of the plurality of first application servers; and
if the one or more metrics exceeds or falls below one or more corresponding thresholds, create a new infrastructure for the application at a second site distinct from the first site, wherein the new infrastructure at the second site is based on the existing infrastructure at the first site and enables the application to be hosted at the second site.
