# US 11,442,761 B2 · Method and system for implementing virtual machine (VM) management using hardware compression

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

- Number: US 11,442,761 B2
- Document ID: US11442761B2
- Status: Granted
- Kind: B2
- Application number: 16/119,323
- Filed: 2018-08-31
- Published: 2020-01-23
- Granted: 2022-09-13
- Earliest claimed: 2018-07-19
- Assignees: CenturyLink Intellectual Property LLC
- Applicants: CenturyLink Intellectual Property LLC
- Inventors: Ronald A. Lewis
- Web page: https://patentgrep.com/patent/US11442761B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 11/3423: {where the assessed time is active or idle time}
- G06F 16/188: Virtual file systems
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Novel tools and techniques are provided for implementing virtual machine (“VM”) management, and, more particularly, to methods, systems, and apparatuses for implementing VM management using hardware compression. In various embodiments, a computing system might identify one or more first virtual machines (“VM's”) among a plurality of VM's that are determined to be currently inactive and might identify one or more second VM's among the plurality of VM's that are determined to be currently active. The computing system might compress a virtual hard drive associated with each of the identified one or more first VM's that are determined to be currently inactive. The computing system might also perform or continue to perform one or more operations using each of the identified one or more second VM's that are determined to be currently active.

## Claims

### Claim 1

A method, comprising: identifying, with a first computing system, one or more first virtual machines (“VM's”) among a plurality of VM's that are determined to be currently inactive; identifying, with the first computing system, one or more second VM's among the plurality of VM's that are determined to be currently active; compressing, with a second computing system, a virtual hard drive associated with each of the identified one or more first VM's that are determined to be currently inactive, wherein the virtual hard drive includes two or more virtual machine disk files, where each of the two or more virtual machine disk files comprises an image of an associated VM, and where compressing the virtual hard drive associated with each of the identified one or more first VM's comprises compressing two or more virtual machine disk files associated with each of the identified one or more first VM's using at least one VM control file associated with at least one first VM and performing, additionally with the second computing system, high-speed compression on the virtual hard drive associated with each of the identified one or more first VM's that are determined to be currently inactive; and performing or continuing to perform one or more operations using each of the identified one or more second VM's that are determined to be currently active.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first computing system comprises at least one of a hypervisor, a kernel-based VM server, a blade server, a central processing unit (“CPU”), a virtual processor, or a VM manager.

### Claim 3 (depends on 1)

The method of claim 1, wherein the second computing system comprises at least one of a hypervisor, a compression processor, a compression computing system, a hardware compression board, a virtual processor, a graphic processing unit (“GPU”)-based system, or a GPU-based board.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first computing system and the second computing system are the same computing system.

### Claim 5 (depends on 1)

The method of claim 1, wherein compressing the virtual hard drive associated with each of the identified one or more first VM's comprises compressing the virtual hard drive associated with each of the identified one or more first VM's by at least 60%, such that each of the identified one or more first VM's is compressed to 40% or less of its original size.

### Claim 6 (depends on 5)

The method of claim 5, wherein compressing the virtual hard drive associated with each of the identified one or more first VM's comprises compressing the virtual hard drive associated with each of the identified one or more first VM's by at least 70%, such that each of the identified one or more first VM's is compressed to 30% or less of its original size.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving, with the first computing system, a request to use at least one third VM among the one or more first VM's that are determined to be currently inactive;
uncompressing, with the second computing system, a virtual hard drive associated with the at least one third VM; and
performing at least one operation using the at least one third VM after its virtual hard drive has been uncompressed.

### Claim 8 (depends on 7)

The method of claim 7, wherein receiving the request to use the at least one third VM comprises receiving, with the first computing system, a request from a user to log into the at least one third VM.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
creating one or more new VM's;
managing existing VM's among the plurality of VM's and among the one or more new VM's; and
logging into at least one of the managed VM's.

### Claim 10

A system, comprising: a first computing system, comprising: at least one first processor; and a first non-transitory computer readable medium communicatively coupled to the at least one first processor, the first non-transitory computer readable medium having stored thereon computer software comprising a first set of instructions that, when executed by the at least one first processor, causes the first computing system to: identify one or more first virtual machines (“VM's”) among a plurality of VM's that are determined to be currently inactive; and identify one or more second VM's among the plurality of VM's that are determined to be currently active; and a second computing system, comprising: at least one second processor; and a second non-transitory computer readable medium communicatively coupled to the at least one second processor, the second non-transitory computer readable medium having stored thereon computer software comprising a second set of instructions that, when executed by the at least one second processor, causes the second computing system to: compress a virtual hard drive associated with each of the identified one or more first VM's that are determined to be currently inactive, wherein the virtual hard drive includes two or more virtual machine disk files, where each of the two or more virtual machine disk files comprises an image of an associated VM, and where compressing the virtual hard drive associated with each of the identified one or more first VM's comprises compressing two or more virtual machine disk files associated with each of the identified one or more first VM's using at least one VM control file associated with at least one first VM and performing, additionally with the second computing system, high-speed compression on the virtual hard drive associated with each of the identified one or more first VM's that are determined to be currently inactive; wherein the first set of instructions, when executed by the at least one first processor, further causes the first computing system to: perform or continue to perform one or more operations using each of the identified one or more second VM's that are determined to be currently active.

### Claim 11 (depends on 10)

The system of claim 10, wherein the first computing system comprises at least one of a hypervisor, a kernel-based VM server, a blade server, a central processing unit (“CPU”), a virtual processor, or a VM manager.

### Claim 12 (depends on 10)

The system of claim 10, wherein the second computing system comprises at least one of a hypervisor, a compression processor, a compression computing system, a hardware compression board, a virtual processor, a graphic processing unit (“GPU”)-based system, or a GPU-based board.

### Claim 13 (depends on 10)

The system of claim 10, wherein the first computing system and the second computing system are the same computing system.

### Claim 14 (depends on 10)

The system of claim 10, wherein:
the first set of instructions, when executed by the at least one first processor, further causes the first computing system to:
receive a request to use at least one third VM among the one or more first VM's that are determined to be currently inactive;
the second set of instructions, when executed by the at least one second processor, further causes the second computing system to:
uncompress a virtual hard drive associated with the at least one third VM; and
the first set of instructions, when executed by the at least one first processor, further causes the first computing system to:
perform at least one operation using the at least one third VM after its virtual hard drive has been uncompressed.

### Claim 15 (depends on 14)

The system of claim 14, wherein receiving the request to use the at least one third VM comprises receiving a request from a user to log into the at least one third VM.

### Claim 16

An apparatus, comprising: at least one processor; and a non-transitory computer readable medium communicatively coupled to the at least one processor, the non-transitory computer readable medium having stored thereon computer software comprising a set of instructions that, when executed by the at least one processor, causes the apparatus to: identify one or more first virtual machines (“VM's”) among a plurality of VM's that are determined to be currently inactive; identify one or more second VM's among the plurality of VM's that are determined to be currently active; compress a virtual hard drive associated with each of the identified one or more first VM's that are determined to be currently inactive, wherein the virtual hard drive includes two or more virtual machine disk files, where each of the two or more virtual machine disk files comprises an image of an associated VM, and where compressing the virtual hard drive associated with each of the identified one or more first VM's comprises compressing two or more virtual machine disk files associated with each of the identified one or more first VM's using at least one VM control file associated with at least one first VM and performing, additionally with the second computing system, high-speed compression on the virtual hard drive associated with each of the identified one or more first VM's that are determined to be currently inactive; and perform or continue to perform one or more operations using each of the identified one or more second VM's that are determined to be currently active.
