# US 2017/0286148 A1 · Virtual Machine Scaling Method and Device

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

- Number: US 2017/0286148 A1
- Document ID: US20170286148A1
- Status: Published application
- Kind: A1
- Application number: 15/629,853
- Filed: 2017-06-22
- Published: 2017-10-05
- Earliest claimed: 2014-12-23
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Tao Zou
- Web page: https://patentgrep.com/patent/US20170286148A1

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- 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

A virtual machine (VM) scaling method and device is provided. The method includes determining a VM resource pool corresponding to an application when a new VM needs to be added for the application; searching, according to a parameter of the new VM that needs to be added for the application, the determined VM resource pool for a VM that conforms to the parameter; registering the conforming VM with a load balancer (LB); and starting the VM to provide a service for the application. A VM that conforms to a requirement of the application is selected from a pre-created VM resource pool, and the VM is registered to provide a service for the application when a new VM is to be added for an application.

## Claims

### Claim 1

A virtual machine (VM) scaling method, comprising:
determining a VM resource pool corresponding to an application when a new VM is to be added for the application;
searching, according to a parameter of the new VM that is to be added for the application, the determined VM resource pool for a VM that conforms to the parameter;
registering the VM with a load balancer (LB); and.
starting the VM to provide a service for the application.

### Claim 2 (depends on 1)

The VM scaling method according to claim 1, wherein searching the determined VM resource pool for the VM that conforms to the parameter comprises:
searching for an idle VM in the determined VM resource pool when no VM conforms to the parameter in the determined VM resource pool;
modifying a parameter of the idle VM according to the parameter of the new VM that is to be added for the application when the idle VM is found in the determined VM resource pool; and
using the idle VM that is found in the determined VM resource pool as the VM that conforms to the parameter.

### Claim 3 (depends on 1)

The VM scaling method according to claim 1, further comprising:
calculating a quantity of the VMs that is to be configured in the VM resource pool corresponding to the application;
determining a parameter of each VM in resource pool according to a parameter of the application; and
creating each of the VMs in the VM resource pool using the determined parameter of each of the VMs.

### Claim 4 (depends on 2)

The VM scaling method according to claim 2, further comprising:
calculating a quantity of the VMs that is to be configured in the VM resource pool corresponding to the application;
determining a parameter of each VM in the VM resource pool according to a parameter of the application; and
creating each of the VMs in the VM resource of using the determined parameter of each of the VMs.

### Claim 5 (depends on 4)

The VM scaling method according to claim 4, wherein calculating the quantity of the VMs that is to be configured in the VM resource pool corresponding to the application comprises calculating, according to a mapping relationship between a resource requirement of the application and a specified proportion of the quantity of the VMs, the quantity of the VMs that is to be configured to meet the resource requirement of the application.

### Claim 6 (depends on 3)

The VM scaling method according to claim 3, wherein determining the parameter of each of the VMs in the VM resource pool comprises determining, according to the parameter of the application, the parameter of each of the VMs in the VM resource pool corresponding to the application, and wherein the parameters of any two of the VMs in the VM resource pool are the same

### Claim 7 (depends on 3)

The VM scaling method according to claim 3, wherein determining the parameter of each of the VMs in the VM resource pool comprises:
determining, according to the preset VM configuration rule, the VM resource pool corresponding to multiple applications; and
determining the parameter of each of the VMs in the VM resource pool according to the parameters of the multiple applications, and wherein the parameters of at least two of the VMs in the VM resource pool are different.

### Claim 8 (depends on 1)

The VM scaling method according to claim 1, wherein the method further comprises:
deregistering the VM from the LB when the application determines that a load decreases; and
moving the deregistered VM into the VM resource pool corresponding to the application when the VM resource pool corresponding to the application supports VM recycle.

### Claim 9 (depends on 8)

The VM scaling method according to claim 8, wherein moving the deregistered VM into the VM resource pool corresponding to the application comprises:
modifying a first parameter of the deregistered VM according to a second parameter of a required VM by the VM resource pool corresponding to the application when determining that the first parameter is not the same as the second parameter by the VM resource pool corresponding to the application; and
moving the deregistered VM into the VM resource pool corresponding to the application.

### Claim 10 (depends on 1)

The VM scaling method according to claim 1, further comprising:
determining whether a quantity of remaining VMs in the VM resource pool corresponding to the application is same as a preset VM quantity;
determining a quantity of the VMs that is to be added if the quantity of remaining VMs in the VM resource pool corresponding to the application is less than the preset VM quantity;
determining, according to a parameter of the application or a preset VM configuration rule, the parameter of each of the new VMs that is to be added; and
creating, using the determined parameter of each of the new VMs that is to be added, each of the new VMs that is to be added.

### Claim 11

A virtual machine (VM) scaling device, comprising:
a memory comprising instructions; and
a processor coupled to the memory, wherein the instructions cause the processor to be configured to:
determine a VM resource pool corresponding to an application when a new VM is to be added for the application;
search, according to a parameter of the new VM that is to be added for the application, the determined VM resource pool for a VM that conforms to the parameter;
register the VM with a load balancer (LB); and
start the VM to provide a service for the application.

### Claim 12 (depends on 11)

The VM scaling device according to claim 11, wherein the instructions further cause the processor to be configured to:
search for an idle VM in the determined VM resource pool when no VM conforms to the parameter in the determined VM resource pool;
modify a parameter of the idle VM according to the parameter of the new VM that is to be added for the application when the idle VM is found in the determined VM resource pool; and
use the idle VM that is found in the determined VM resource pool as the VM that conforms to the parameter.

### Claim 13 (depends on 11)

The VM scaling device according to claim 11, wherein the instructions further cause the processor to be configured to:
calculate a quantity of the VMs that is to be configured in the VM resource pool corresponding to the application;
determine a parameter of each VM in the VM resource pool according to a parameter of the application; and
creating each of the VMs in the VM resource pool using the determined parameter of each of the VMs.

### Claim 14 (depends on 12)

The VM scaling device according to claim 12, wherein the instructions further cause the processor to be configured to:
calculate a quantity of the VMs that is to be configured in the VM resource pool corresponding to the application;
determine a parameter of each VM in the VM resource pool according to a parameter of the application; and
creating each of the VMs in the VM resource pool using the determined parameter of each VM.

### Claim 15 (depends on 13)

The VM scaling device according to claim 13, wherein the instructions further cause the processor to be configured to calculate, according to a mapping relationship between a resource requirement of the application and a specified proportion of the quantity of the VMs, the quantity of the VMs that is to be configured to meet the resource requirement of the application.

### Claim 16 (depends on 13)

The VM scaling device according to claim 13, wherein the instructions further cause the processor to be configured to determine, according to the parameter of the application, the parameter of each of the VMs in the VM resource pool corresponding to the application, and wherein the parameters of any two of the VMs in the VM resource pool are the same

### Claim 17 (depends on 13)

The VM scaling device according to claim 13, wherein the instructions further cause the processor to be configured to:
determine, according to the preset VM configuration rule, the VM resource pool corresponding to multiple applications; and
determine the parameters of each of the VMs in the VM resource pool according to the parameters of the multiple applications, and wherein the parameters of at least two of the VMs in the VM resource pool are different,

### Claim 18 (depends on 11)

The VM scaling device according to claim 11, wherein the instructions further cause the processor to be configured to:
deregister the VM from the LB when the application determines that a load decreases; and
move the deregistered VM into the VM resource pool corresponding to the application when the VM resource pool corresponding to the application supports VM recycle.

### Claim 19 (depends on 18)

The VM scaling device according to claim 18, wherein the instructions further cause the processor to be configured to:
modify a first parameter of the deregistered VM according to a second parameter of a required VM for the VM resource pool corresponding to the application when determining that the first parameter in not same as the second parameter for the VM resource pool corresponding to the application; and
move the deregistered VM into the VM resource pool corresponding to the application.

### Claim 20 (depends on 11)

The VM scaling device according to claim 11, wherein the instructions further cause the processor to be configured to:
determine whether a quantity of remaining VMs in the VM resource pool corresponding to the application is same as a preset VM quantity;
determine a quantity of the VMs that is to be added if the quantity of remaining VMs in the VM resource pool corresponding to the application is less than the preset VM quantity;
determine, according to the parameter of the application or a preset VM configuration rule, a parameter of each VM that is to be added; and
create, using the determined parameter of each of the VMs that is to be added, each of the VMs that is to be added.

### Claim 21 (depends on 1)

The VM scaling method according to claim 1, further comprising determining a parameter of each VM in the VM resource pool according to a preset VM configuration rule.

### Claim 22 (depends on 11)

The VM scaling device according to claim 11, wherein the instructions further cause the processor to be configured to determine a parameter of each VM in the VM resource pool according to a preset VM configuration rule.
