# US 2017/0288982 A1 · Dynamically adapting cloud applications

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

- Number: US 2017/0288982 A1
- Document ID: US20170288982A1
- Status: Published application
- Kind: A1
- Application number: 15/087,218
- Filed: 2016-03-31
- Published: 2017-10-05
- Earliest claimed: 2016-03-31
- Assignees: Intel Corporation
- Inventors: Grigorios Katsaros; Alexander Leckey; Joseph Butler; Connor Upton
- Web page: https://patentgrep.com/patent/US20170288982A1

## CPC

- H04L 43/55: Testing of service level quality, e.g. simulating service usage
- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques for dynamically adapting cloud applications are described. A current value of a Key Performance Indicator (KPI) of an executing cloud service instance of a cloud application is detected. A determination is made as to whether the current value of the KPI is unacceptable (e.g., either it is outside of an acceptable range or is within an adaptation region). If the current value of the KPI is unacceptable, a first application programming interface (API) is invoked to request a cloud service instance monitor to adapt the cloud service instance to operate within an acceptable KPI range. If the cloud service instance monitor was unsuccessful, the unacceptable KPI is escalated to the cloud service monitor for the type of the cloud service instance. If the cloud service monitor is unsuccessful, the unacceptable KPI is escalated to the application monitor.

## Claims

### Claim 1

A system for dynamically adapting a cloud application, the system comprising:
a key performance indicator (KPI) detector to detect a current value of a KPI of an executing cloud service instance of a cloud application, the cloud application hosted by a Platform as a Service (PaaS) provider, the KPI corresponding to a service level agreement (SLA) between a provider of the cloud application and a user of the cloud application, the cloud service instance having a service type;
a first KPI filter to determine whether the current value of the KPI is outside of an acceptable range; and
a first KPI adaptor to use, upon a determination that the current value of the KPI is outside of an acceptable range, a cascading application programming interface (API) calling structure provided by the PaaS provider to invoke a first API call and successive API calls based on the cascading API calling structure, the first API call to request a cloud service instance monitor of the cloud service instance to adapt the cloud service instance to operate within the acceptable range.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
a second KPI filter to determine whether the cloud service instance monitor successfully adapted the cloud service instance to operate within the acceptable range; and
a second KPI adaptor to invoke, upon a determination that the cloud service instance monitor was not successful, a second API provided by the PaaS provider to request a cloud service monitor, corresponding to the service type of the cloud service instance, to adapt the cloud application to operate within the acceptable range.

### Claim 3 (depends on 2)

The system of claim 2, further comprising:
a third KPI filter to determine whether the cloud service monitor successfully adapted the cloud application back into the acceptable range; and
a third KPI adaptor to invoke, upon a determination that the cloud service monitor was not successful, a third API provided by the PaaS provider to request an application monitor for the cloud application to adapt the cloud application to operate within the acceptable range.

### Claim 4 (depends on 3)

The system of claim 3, wherein at least one of the cloud service monitor and the application monitor is provided to the cloud application by the PaaS provider.

### Claim 5 (depends on 1)

The system of claim 1, wherein the SLA is represented in a machine-readable format.

### Claim 6 (depends on 5)

The system of claim 5, wherein the machine-readable format conforms to the Open Cloud Computing Interface (OCCI) SLA specification.

### Claim 7 (depends on 3)

The system of claim 3, wherein the cloud service instance monitor is provided in an Application Support Toolkit (AST) by the PaaS provider.

### Claim 8 (depends on 7)

The system of claim 7, wherein the AST includes a library of executable code, which when executed, causes the system to facilitate communication, via a fourth API provided by the PaaS provider, between the cloud service instance and a platform provided by the PaaS provider.

### Claim 9 (depends on 1)

The system of claim 1, wherein the cloud service instance and the cloud service instance monitor are to execute within a virtual machine of a platform provided by the PaaS provider.

### Claim 10 (depends on 9)

The system of claim 9, wherein the adaption includes at least one of the cloud service monitor and the application monitor to initialize an additional virtual machine within the platform to execute a new cloud service instance.

### Claim 11 (depends on 9)

The system of claim 9, wherein the adaption includes at least one of the cloud service monitor and the application monitor to decommission a virtual machine within the platform; and
wherein the cloud service instance, whose current KPI value is outside of the acceptable range, had executed within the virtual machine to be decommissioned.

### Claim 12 (depends on 1)

The system of claim 1, wherein to determine whether the current value of the KPI is outside of an acceptable range includes to determine whether the current value of the KPI is within a KPI adaptation range.

### Claim 13

A method of dynamically adapting a cloud application, the method comprising:
detecting a current value of a key performance indicator (KPI) of an executing cloud service instance of a cloud application, the cloud application hosted by a Platform as a Service (PaaS) provider, the KPI corresponding to a service level agreement (SLA) between a provider of the cloud application and a user of the cloud application, the cloud service instance having a service type;
determining whether the current value of the KPI is outside of an acceptable range; and
upon determining the current value of the KPI is outside of an acceptable range, using a cascading application programming interface (API) calling structure provided by the PaaS provider to invoke a first API call and successive API calls based on the cascading API calling structure, the first API call to request a cloud service instance monitor of the cloud service instance to adapt the cloud service instance to operate within the acceptable range.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
determining whether the cloud service instance monitor successfully adapted the cloud service instance to operate within the acceptable range; and
upon determining the cloud service instance monitor was not successful, invoking a second API provided by the PaaS provider to request a cloud service monitor, corresponding to the service type of the cloud service instance, to adapt the cloud application to operate within the acceptable range.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
determining whether the cloud service monitor successfully adapted the cloud application back into the acceptable range; and
upon determining the cloud service monitor was not successful, invoking a third API provided by the PaaS provider to request an application monitor for the cloud application to adapt the cloud application to operate within the acceptable range.

### Claim 16

At least one machine-readable medium including instructions, which when executed by a machine, cause the machine to:
detect a current value of a key performance indicator (KPI) of an executing cloud service instance of a cloud application, the cloud application hosted by a Platform as a Service (PaaS) provider, the KPI corresponding to a service level agreement (SLA) between a provider of the cloud application and a user of the cloud application, the cloud service instance having a service type;
determine whether the current value of the KPI is outside of an acceptable range; and
upon a determination that the current value of the KPI is outside of an acceptable range, use a cascading application programming interface (API) calling structure provided by the PaaS provider to invoke a first API call and successive API calls based on the cascading API calling structure, the first API call to request a cloud service instance monitor of the cloud service instance to adapt the cloud service instance to operate within the acceptable range.

### Claim 17 (depends on 16)

The at least one machine-readable medium of claim 16, wherein the instructions further cause the machine to:
determine whether the cloud service instance monitor successfully adapted the cloud service instance to operate within the acceptable range; and
upon a determination that the cloud service instance monitor was not successful, invoke a second API provided by the PaaS provider to request a cloud service monitor, corresponding to the service type of the cloud service instance, to adapt the cloud application to operate within the acceptable range.

### Claim 18 (depends on 17)

The at least one machine-readable medium of claim 17, wherein the instructions further cause the machine to:
determine whether the cloud service monitor successfully adapted the cloud application back into the acceptable range; and
upon a determination that the cloud service monitor was not successful, invoke a third API provided by the PaaS provider to request an application monitor for the cloud application to adapt the cloud application to operate within the acceptable range.

### Claim 19 (depends on 18)

The at least one machine-readable medium of claim 18, wherein at least one of the cloud service monitor and the application monitor is provided to the cloud application by the PaaS provider.

### Claim 20 (depends on 16)

The at least one machine-readable medium of claim 16, wherein the SLA is represented in a machine-readable format.

### Claim 21 (depends on 20)

The at least one machine-readable medium of claim 20, wherein the machine-readable format conforms to the Open Cloud Computing Interface (OCCI) SLA specification.

### Claim 22 (depends on 18)

The at least one machine-readable medium of claim 18, wherein the cloud service instance monitor is provided in an Application Support Toolkit (AST) by the PaaS provider.

### Claim 23 (depends on 22)

The at least one machine-readable medium of claim 22, wherein the AST includes a library of executable code that when executed, causes the machine to facilitate communication, via a fourth API provided by the PaaS provider, between the cloud service instance and a platform provided by the PaaS provider.

### Claim 24 (depends on 16)

The at least one machine-readable medium of claim 16, wherein the cloud service instance and the cloud service instance monitor are to execute within a virtual machine of a platform provided by the PaaS provider.

### Claim 25 (depends on 24)

The at least one machine-readable medium of claim 24, wherein the adaption includes at least one of the cloud service monitor and the application monitor to initialize an additional virtual machine within the platform to execute a new cloud service instance.
