IP Library › Granted Patent US 10,397,130
Granted Patent B2
US 10,397,130 · App. 15/348,993 · Granted Aug 27, 2019

Multi-cloud resource reservations

Inventors: Ping Chen (Shanghai, CN); Igor Stoyanov (Palo Alto, CA); Li Fang (Shanghai, CN); Yuanzhi Wang (Shanghai, CN)
Assignee: VMWARE, INC.
H04L47/72G06F9/5072H04L41/042H04L41/0893H04L41/0896H04L41/12H04L67/2809H04L41/5096
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 10,397,130
App. No.
15/348,993
Granted
Aug 27, 2019
Kind
B2
Abstract

An example method for reserving resources in a multi-cloud environment may include receiving, by a reservation broker executing in the multi-cloud environment, a first client request to reserve a first cloud resource in a plurality of clouds. The plurality of clouds includes a corresponding plurality of cloud brokers. The method may include selecting, by the reservation broker, a first cloud broker from the plurality of cloud brokers based on a first reservation type associated with the first cloud resource. The first cloud broker corresponds to a first cloud selected from the plurality of clouds. The method may also include transmitting, by the reservation broker, a first reservation request to the first cloud broker. The first cloud broker is configured to reserve the first cloud resource in the first cloud based on the first reservation request.

Claims (60)

1. A method for reserving resources in a multi-cloud environment, the method comprising:

receiving, by a reservation broker executing in the multi-cloud environment, a first registration request from a first cloud broker associated with a first cloud selected from a plurality of clouds, wherein

the first cloud broker generates the first registration request based on a second registration request, which is received by the first cloud broker from a second cloud broker associated with a second cloud selected from the plurality of clouds,

the second registration request is to register a first cloud resource in the second cloud with the first cloud broker, and

the first registration request is to register the first cloud resource with the reservation broker on behalf of the second cloud broker;

receiving, by the reservation broker, a first client request to reserve the first cloud resource in the plurality of clouds, wherein the first client request includes a first reservation type associated with first cloud resource, and the plurality of clouds correspond to a plurality of cloud brokers including the first cloud broker and the second cloud broker;

selecting, by the reservation broker, the first cloud broker from the plurality of cloud brokers based on the first reservation type associated with the first cloud resource; and

transmitting, by the reservation broker, a first reservation request to the first cloud broker, wherein the first cloud broker is configured to reserve the first cloud resource in the second cloud based on the first reservation request.

2. The method as recited in the claim 1 , further comprising:

selecting, by the first cloud broker, the second cloud broker from the plurality of cloud brokers based on the first reservation type associated with the first cloud resource; and

transmitting, by the first cloud broker, a second reservation request to the second cloud broker, wherein the second cloud broker is configured to reserve the first cloud resource in the second cloud based on the second reservation request.

3. The method as recited in the claim 1 , wherein the reservation broker is configured to transmit a second reservation request to the second cloud broker for reserving the first cloud resource in the second cloud.

4. The method as recited in the claim 1 , further comprising:

receiving, by the reservation broker, a second client request to reserve a second cloud resource in the plurality of clouds;

selecting, by the reservation broker, the second cloud broker from the plurality of cloud brokers based on a second reservation type associated with the second cloud resource; and

transmitting, by the reservation broker, a second reservation request to the second cloud broker, wherein the second cloud broker is configured to reserve the second cloud resource in the second cloud based on the second reservation request.

5. The method as recited in the claim 1 , further comprising:

extracting, by the reservation broker, a reservation object from the first client request, wherein the reservation object identifies the first reservation type and the first cloud resource to be reserved.

6. The method as recited in the claim 5 , further comprising:

in response to the determination that the first cloud broker successfully reserved the first cloud resource in the second cloud, storing, by the reservation broker, the reservation object in a database.

7. The method as recited in the claim 5 , further comprising:

receiving, by the reservation broker, a second client request to release the first cloud resource, wherein the second client request is associated with the reservation object; and

selecting, by the reservation broker, the first cloud broker from the plurality of cloud brokers based on the reservation object; and

transmitting, by the reservation broker, a release request to the first cloud broker, wherein the first cloud broker is configured to release the reserved first cloud resource in the second cloud.

8. The method as recited in the claim 5 , wherein the reservation object is constructed based on the first reservation type.

9. The method as recited in the claim 1 , wherein the first reservation type includes a schema to define cloud resources that can be reserved in the plurality of clouds.

10. A non-transitory computer-readable storage medium, containing a set of instructions which, in response to execution by a processor, cause the processor to perform a method for reserving resources in a multi-cloud environment, the method comprising:

receiving, by a reservation broker executing in a management server, a first registration request from a first cloud broker associated with a first virtual machine (VM) cloud selected from a plurality of VM clouds, wherein

the first cloud broker generates the first registration request based on a second registration request, which is received by the first cloud broker from a second cloud broker associated with a second VM cloud selected from the plurality of VM clouds,

the second registration request is to register a cloud resource in the second VM cloud with the first cloud broker, and

the first registration request is to register the cloud resource with the reservation broker on behalf of the second cloud broker;

receiving, by the reservation broker, a client request related to reserving the cloud resource in the plurality of VM clouds, wherein the first client request includes a first reservation type, and the reservation broker is configured to interact with a plurality of cloud brokers associated with the plurality of VM clouds;

selecting, by the reservation broker, the first cloud broker from the plurality of cloud brokers based on the first reservation type associated with the cloud resource; and

transmitting, by the reservation broker, a reservation request to the first cloud broker, wherein the first cloud broker is configured to perform a reservation-related operation on the cloud resource based on the client request; and

in response to a determination that the first cloud broker successfully performs the reservation-related operation, transmitting, by the reservation broker, a success message in response to the client request.

11. The non-transitory computer-readable storage medium of the claim 10 , wherein the method further comprising:

prior to the receiving of the client request, receiving, by the reservation broker, a corresponding registration request from each of the plurality of cloud brokers, wherein the registration requests from the plurality of cloud brokers include a plurality of reservation types associated with cloud resources in the plurality of VM clouds.

12. The non-transitory computer-readable storage medium of the claim 11 , wherein the method further comprising:

extracting, by the reservation broker, a reservation object from the client request, wherein the reservation object is constructed based on one of the plurality of reservation types that is associated with the cloud resource.

13. The non-transitory computer-readable storage medium of the claim 12 , wherein the selecting of the cloud broker from the plurality of cloud brokers based on the cloud resource further comprising:

identifying, by the reservation broker, the cloud resource based on the reservation object;

identifying, by the reservation broker, the VM cloud the cloud resource belongs to; and

selecting the cloud broker from the plurality of cloud brokers for associating with the VM cloud.

14. The non-transitory computer-readable storage medium of the claim 11 , wherein the reservation-related operation includes create-reservation, update-reservation, release-reservation, or query-reservation.

15. The non-transitory computer-readable storage medium of the claim 11 , wherein the cloud resource includes virtualized resources provided by one or more VMs in the VM cloud.

16. A system for reserving resources in a multi-cloud environment, the system comprising a processor and memory coupled with the processor, wherein the memory is configured to provide the processor with instructions for

receiving, by a reservation broker executing in the multi-cloud environment, a first registration request from a first cloud broker associated with a first virtual machine (VM) cloud selected from a plurality of VM clouds, wherein

the first cloud broker generates the first registration request based on a second registration request, which is received by the first cloud broker from a second cloud broker associated with a second VM cloud selected from the plurality of VM clouds,

the second registration request is to register a first cloud resource in the second VM cloud with the first cloud broker, and

the first registration request is to register the first cloud resource with the reservation broker on behalf of the second cloud broker;

receiving, by the reservation broker, a first client request to reserve the first cloud resource in the plurality of VM clouds, wherein the first client request includes a first reservation type, and the plurality of VM clouds includes a corresponding plurality of cloud brokers;

selecting, by the reservation broker, the first cloud broker from the plurality of cloud brokers based on the first reservation type associated with the first cloud resource; and

transmitting, by the reservation broker, a first reservation request to the first cloud broker, wherein the first cloud broker is configured to reserve the first cloud resource in the second VM cloud based on the first reservation request.

17. The system of claim 16 , wherein the memory is further configured to provide the processor with instructions for:

selecting, by the first cloud broker, the second cloud broker from the plurality of cloud brokers based on the first reservation type associated with the first cloud resource; and

transmitting, by the first cloud broker, a second reservation request to the second cloud broker, wherein the second cloud broker is configured to reserve the first cloud resource in the second VM cloud based on the second reservation request.

18. The system of claim 16 , wherein the memory is further configured to provide the processor with instructions for:

receiving, by the reservation broker, a second client request to reserve a second cloud resource in the plurality of VM clouds;

selecting, by the reservation broker, the second cloud broker from the plurality of cloud brokers based on a second reservation type associated with the second cloud resource; and

transmitting, by the reservation broker, a second reservation request to the second cloud broker, wherein the second cloud broker is configured to reserve the second cloud resource in the second VM cloud based on the second reservation request.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2016
From: CHEN, PING; STOYANOV, IGOR; FANG, LI; WANG, YUANZHI
To: VMWARE, INC.
Reel/Frame 040283/0627 →
Continuity (1)
Related Publication 20180139149A1 · May 17, 2018