IP Library Granted Patent US 11,704,144
Granted Patent B2
US 11,704,144 · App. 16/672,504 · Granted Jul 18, 2023

Creating virtual machine groups based on request

Inventor: Yong Zhong (Shenzhen, CN)
Assignee: Huawei Cloud Computing Technologies Co., Ltd.
G06F9/45558G06F9/45545G06F9/5033G06F9/5077G06F2009/45562G06F2209/505
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,704,144
App. No.
16/672,504
Granted
Jul 18, 2023
Kind
B2
Abstract

Embodiments of the present invention provide a method, a system, and an apparatus for creating a virtual machine. The method includes: receiving a virtual machine creation request to create a plurality of virtual machines; dividing the plurality of virtual machines into a plurality of virtual machine groups; determining a home physical rack for each virtual machine group, where one virtual machine group corresponds to one home physical rack; and creating each virtual machine group on the home physical rack of each virtual machine group. Because each virtual machine group is created on a home physical rack to which each virtual machine group belongs, each virtual machine group is equivalent to one physical rack.

Claims (60)

1. A method for creating virtual machines, comprising:

receiving a creation request to create a plurality of virtual machines for a distributed application, wherein the creation request carries a number of a plurality of virtual machine groups;

determining the plurality of virtual machine groups based on the number carried in the creation request by evenly dividing the plurality of virtual machines into the plurality of virtual machine groups based on the number carried in the creation request, wherein each of the plurality of virtual machine groups comprise two or more virtual machines;

creating the plurality of virtual machine groups on different physical racks; and

providing identifiers of the plurality of virtual machine groups to the distributed application.

2. The method according to claim 1 ,

further comprising:

allocating one or more available physical racks for a first virtual machine group according to configuration information of the first virtual machine group.

3. The method according to claim 1 , wherein the step of creating comprises:

creating different virtual machines of a second virtual machine group on different physical machines of one or more physical racks allocated for the second virtual machine group.

4. The method according to claim 1 , wherein the step of providing comprises:

providing an identifier of a first virtual machine group to the distributed application, wherein the identifier of the first virtual machine group is used as an identifier of a rack on which the first virtual machine group is created.

5. The method according to claim 1 , wherein the plurality of virtual machine groups include a first virtual machine group and a second virtual machine group, and the method further comprises:

using the first virtual machine group to store a first data replica on one or more first physical racks on which the first virtual machine group are created, and using the second virtual machine group to store a second data replica on one or more second physical racks on which the second virtual machine group are created.

6. The method according to claim 1 , wherein the method further comprises:

using a first virtual machine group in the plurality of virtual machine groups to store a first data replica and a second data replica on different physical machines of one or more first physical racks on which the first virtual machine group are created.

7. The method according to claim 1 , wherein the distributed application is Hadoop software or Hadoop Distributed File System (HDFS) software.

8. The method according to claim 1 , wherein the determining step comprises:

specifying a specification of virtual machine to a target virtual machine group of the plurality of virtual machine groups.

9. The method according to claim 1 , wherein the plurality of virtual machine groups belongs to a cluster.

10. The method according to claim 1 , further comprising:

allocating one or more first physical racks for a first virtual machine group belonging to the plurality of virtual machine groups;

allocating one or more second physical racks for a second virtual machine group belonging to the plurality of virtual machine groups, the one or more first physical racks are different from the one or more second physical racks.

11. The method according to claim 1 , wherein the step of dividing comprises:

evenly dividing the plurality of virtual machines into the plurality of virtual machine groups according to a rack awareness attribute of the distributed application.

12. An apparatus, comprising:

a memory for storing instructions; and

a processor, configured to execute the instructions, so that the apparatus is configured to:

receive a creation request to create a plurality of virtual machines for a distributed application, wherein the creation request carries a number of a plurality of virtual machine groups;

determine the plurality of virtual machine groups based on the number carried in the creation request by evenly dividing the plurality of virtual machines into the plurality of virtual machine groups based on the number carried in the creation request, wherein each of the plurality of virtual machine groups comprise two or more virtual machines;

create the plurality of virtual machine groups on different physical racks; and

provide identifiers of the plurality of virtual machine groups to the distributed application.

13. The apparatus according to claim 12 , wherein the apparatus is configured to:

allocate one or more available physical racks for a first virtual machine group according to configuration information of the first virtual machine group.

14. The apparatus according to claim 12 , wherein the plurality of virtual machine groups include a first virtual machine group and a second virtual machine group, and the apparatus is configured to:

allocate, according to a mutex relationship between the first virtual machine group and the second virtual machine group, one or more first physical racks to the first virtual machine group, and one or more second physical racks to the second virtual machine group.

15. The apparatus according to claim 12 , wherein the apparatus is configured to:

create different virtual machines of a second virtual machine group on different physical machines of one or more physical racks allocated for the second virtual machine group.

16. The apparatus according to claim 10 , wherein the apparatus is configured to:

provide an identifier of a first virtual machine group to the distributed application, wherein the identifier of the first virtual machine group is used as an identifier of a rack on which the first virtual machine group is created.

17. The apparatus according to claim 12 , wherein the plurality of virtual machine groups include a first virtual machine group and a second virtual machine group, and

the apparatus is configured to: use the first virtual machine group to store a first data replica on one or more first physical racks on which the first virtual machine group are created, and use the second virtual machine group to store a second data replica on one or more second physical racks on which the second virtual machine group are created.

18. The apparatus according to claim 12 , wherein the apparatus is configured to:

use a first virtual machine group in the plurality of virtual machine groups to store a first data replica and a second data replica on different physical machines of one or more first physical racks on which the first virtual machine group are created.

19. The apparatus according to claim 12 , wherein the distributed application is Hadoop software or Hadoop Distributed File System (HDFS) software.

20. The apparatus according to claim 12 , wherein the apparatus is configured to:

specify a specification of virtual machine to a target virtual machine group of the plurality of virtual machine groups.

21. The apparatus according to claim 12 , wherein the plurality of virtual machine groups belongs to a cluster.

22. The apparatus according to claim 12 , wherein the apparatus is configured to:

allocate one or more first physical racks for a first virtual machine group belonging to the plurality of virtual machine groups;

allocate one or more second physical racks for a second virtual machine group belonging to the plurality of virtual machine groups, the one or more first physical racks are different from the one or more second physical racks.

23. The apparatus according to claim 12 , wherein the apparatus is configured to:

evenly divide the plurality of virtual machines into the plurality of virtual machine groups according to a rack awareness attribute of the distributed application.

24. A system, comprising a plurality of physical racks and a computer hosting an apparatus, wherein the apparatus comprises:

a memory for storing instructions; and

a processor, configured to execute the instructions, so that the apparatus is configured to:

receive a creation request to create a plurality of virtual machines for a distributed application, wherein the creation request carries a number of a plurality of virtual machine groups;

determine the plurality of virtual machine groups based on the number carried in the creation request by evenly dividing the plurality of virtual machines into the plurality of virtual machine groups based on the number carried in the creation request, wherein each of the plurality of virtual machine groups comprise one or more virtual machines;

create the plurality of virtual machine groups on different physical racks; and

provide identifiers of the plurality of virtual machine groups to the distributed application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2023
From: ZHONG, YONG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 062527/0524 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2022
From: HUAWEI TECHNOLOGIES CO., LTD.
To: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
Reel/Frame 059267/0088 →
Continuity (3)
Continuation 14492329 · Sep 22, 2014
Continuation PCTCN2013085820 · Oct 23, 2013
Related Publication 20200081731A1 · Mar 12, 2020