# US 2019/0171472 A1 · Over-provisioning cloud resources using dependency maps and utilization triggers

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

- Number: US 2019/0171472 A1
- Document ID: US20190171472A1
- Status: Published application
- Kind: A1
- Application number: 15/828,461
- Filed: 2017-12-01
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Christopher D. Wyble; Gregory J. Boss; Ton A. Ngo; Simeon D. Monov
- Web page: https://patentgrep.com/patent/US20190171472A1

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/4418: {Suspend and resume; Hibernate and awake}
- G06F 9/5022: {Mechanisms to release resources}
- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- G06F 1/32: Means for saving power
- G06F 8/63: {Image based installation; Cloning; Build to order}
- G06F 9/485: {Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence)}
- G06F 9/4856: {resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence)}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- H03M 7/30: Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M 7/55: {Compression Theory, e.g. compression of random number, repeated compression}
- H03M 7/60: {General implementation details not specific to a particular type of compression}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Machine logic (for example, software) for compressing the image of an instance of a VM/container during time period(s) when the VM/container instance is inactive. A proxy is used to handle requests made to the VM/container instance during periods when it is inactive. A dependency graph is used to determine that a related set of instances of VM/containers so that: (i) when one of the VM/container instances of the related set is reactivated, then the whole set of VM/container instances are deactivated together; and/or (ii) when one of the VM/container instances of the related set is reactivated, then the whole set of VM/container instances are reactivated together.

## Claims

### Claim 1

A computer-implemented method comprising:
intercepting, by a proxy, a first data communication communicated over a data communication network and intended for a first instance of a VM/container, with the proxy being a lightweight mechanism that consumes substantially less computing resources than does actively running the first VM/container;
responsive to the interception of the first data communication, parsing, by the proxy, the first data communication to determine a first attribute of the first data communication;
selecting, by the proxy, a first responsive action, with the selection being based, at least in part, upon the first attribute; and
taking, by the proxy, the responsive action.

### Claim 2 (depends on 1)

The method of claim 1 wherein:
the first instance of the VM/container is deactivated at the time of the interception of the first data communication;
the first attribute is a logical network address of a sender of the first data communication; and
the responsive action includes sending a notification to the sender of the first data communication over the communication network.

### Claim 3 (depends on 2)

The method of claim 2 wherein the notification includes an indication that the first VM/container has been deactivated.

### Claim 4 (depends on 2)

The method of claim 2 wherein the notification includes an indication of when the first VM/container will be reactivated.

### Claim 5 (depends on 2)

The method of claim 2 wherein:
the first instance of the VM/container is stored as an image on a first computer device; and
the proxy is located on a second computer device that is different than the first computer device.

### Claim 6 (depends on 5)

The method of claim 5 wherein the image is stored as compressed data that have been compressed by a data compression algorithm.

### Claim 7

A computer-implemented method comprising:
actively running a first instance of a VM/container on a first computer device;
receiving a request to deactivate the first instance of a VM/container; and
responsive to the request to deactivate, storing an image of the first instance, with the storing including:
generating an uncompressed image file data set corresponding to the first instance,
compressing, by a file level data compression algorithm, the uncompressed image file data set to generate a compressed image file data set, and
storing the compressed image file data set in a data storage device.

### Claim 8 (depends on 7)

The method of claim 7 wherein the data storage device is a non-volatile data storage device.

### Claim 9 (depends on 7)

The method of claim 7 wherein the first data storage device is included in the first computer device.

### Claim 10 (depends on 7)

The method of claim 7 further comprising:
receiving a request to reactivate the first instance of the VM/container; and
responsive to the request to reactivate, reactivating the first instance of the VM/container, with the reactivation including:
reading the compressed image file data set from the data storage device,
decompressing, by the file level data compression algorithm, the compressed image file data set to generate a decompressed image file data set corresponding to the first instance of the VM/container, and
activating the decompressed image file data set to begin actively running again the first instance of the VM/container.

### Claim 11 (depends on 10)

The method of claim 10 wherein the VM/container is a virtual machine.

### Claim 12 (depends on 10)

The method of claim 10 wherein the VM/container is a container.

### Claim 13 (depends on 7)

The method of claim 7 wherein the file level compression algorithm is agnostic.

### Claim 14 (depends on 7)

The method of claim 7 wherein the file level compression algorithm is one of the following types: PKZIP, Gzip, tar, 7z, RAR.

### Claim 15 (depends on 7)

The method of claim 7 further comprising:
determining that the first computer device is going into hibernation;
wherein the request to deactivate is made in response to the determination that the first computer device is going into hibernation.

### Claim 16 (depends on 7)

The method of claim 7 further comprising:
determining that the first instance of the VM/container has been idle a predetermined amount of time;
wherein the request to deactivate is made in response to the determination that the VM/container has been idle a predetermined amount of time.

### Claim 17

A computer-implemented method comprising:
receiving an input data set including information indicative of a plurality of instances of VM/containers and a plurality of relationships among and between instances of the plurality of instances; and
generating, by machine logic, a VM/container dependency graph data set representing a dependency graph data structure based upon the input data set, with the dependency graph data structure including: (i) a plurality of nodes respectively corresponding to the instances of the plurality of instances, and (ii) a plurality of connections, with each connection being between a pair of nodes, and with at least some of the connections including information indicating that both nodes of the pair joined by the connection should be deactivated and reactivated together.

### Claim 18 (depends on 17)

The method of claim 17 wherein the plurality of instances are all instances of virtual machines.

### Claim 19 (depends on 17)

The method of claim 17 wherein the plurality of instances are all instances of containers.

### Claim 20 (depends on 17)

The method of claim 17 further comprising:
receiving a request to deactivate a first instance of the plurality of instances, with the first instance being represented by a first node of the plurality of node data structures;
determining, by machine logic and based on the dependency graph, a subset of node data structure(s) that are directly or indirectly connected to the first node data structure by connection(s) that indicate that instances represented by nodes of the subset should be deactivated and reactivated together; and
responsive to the request to deactivate, deactivating together the first instance and all instances represented by node data structure(s) of the subset.
