IP Library Granted Patent US 10,846,122
Granted Patent B2
US 10,846,122 · App. 16/135,185 · Granted Nov 24, 2020

Resource manager integration in cloud computing environments

Inventors: Ilya Beyer (Mill Valley, CA); Manoj Sharma (Sunnyvale, CA); Gururaj Pangal (Pleasanton, CA); Maurilio Cometto (Redwood City, CA)
Assignee: Google LLC
G06F9/45558G06F8/60G06F9/5072G06F9/5077G06F2009/45583G06F2209/5011
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,846,122
App. No.
16/135,185
Granted
Nov 24, 2020
Kind
B2
Abstract

In one embodiment, a system includes first host machines implementing a public-cloud computing environment, wherein at least one of the first host machines comprises a resource manager that provides a public-cloud resource interface through which one or more public-cloud clients interact with one or more virtual machines, and second host machines implementing a private-cloud computing environment, wherein at least one of the second host machines comprises one or more private-cloud virtual machines, wherein at least one of the first host machines further comprises a private-cloud VM resource provider through which the resource manager interacts with the private-cloud virtual machines, wherein the VM resource provider translates requests to perform virtual machine operations from a public-cloud-resource interface to a private-cloud virtual machine interface, and the private-cloud virtual machines perform the requested virtual machine operations in response to receiving the translated requests from the VM resource provider.

Claims (56)

1. A system comprising:

a plurality of first host machines implementing a public-cloud computing environment, wherein a resource manager provides a public-cloud resource interface through which one or more public-cloud clients interact with one or more virtual machines; and

a plurality of second host machines implementing a private-cloud computing environment, wherein at least one of the second host machines comprises one or more private-cloud virtual machines,

wherein at least one of the first host machines further comprises a private-cloud VM resource provider through which the resource manager interacts with the private-cloud virtual machines, wherein the private-cloud VM resource provider translates requests to perform virtual machine management operations from a public-cloud-resource interface to a private-cloud virtual machine interface, and the private-cloud virtual machines perform the requested virtual machine operations in response to receiving the translated requests from the private-cloud VM resource provider, and

wherein the resource manager uses the private-cloud VM resource provider to translate responses generated by a private-cloud management service to responses in the public-cloud resource interface.

2. The system of claim 1 , wherein the private-cloud virtual machines are accessible in the public-cloud environment via corresponding public-cloud resource identifiers.

3. The system of claim 2 , wherein at least one of the first host machines comprises one or more public-cloud virtual machines, and each private-cloud virtual machine is associated with a corresponding public-cloud resource identifier in the public-cloud virtual machines.

4. A system comprising:

a plurality of first host machines implementing a public-cloud computing environment, wherein a resource manager provides a public-cloud resource interface through which one or more public-cloud clients interact with one or more virtual machines; and

a plurality of second host machines implementing a private-cloud computing environment, wherein at least one of the second host machines comprises one or more private-cloud virtual machines, the one or more private-cloud virtual machines accessible in the public-cloud environment via corresponding public-cloud resource identifiers,

wherein at least one of the first host machines further comprises a private-cloud VM resource provider through which the resource manager interacts with the private-cloud virtual machines, wherein the private-cloud VM resource provider translates requests to perform virtual machine management operations from a public-cloud-resource interface to a private-cloud virtual machine interface, and the private-cloud virtual machines perform the requested virtual machine operations in response to receiving the translated requests from the private-cloud VM resource provider,

wherein the requests to perform virtual machine operations comprise a request to create a private-cloud virtual machine, the private-cloud VM resource provider provisions the private-cloud virtual machine in a private-cloud resource pool in response to the request to create the private-cloud virtual machine, and establishes an association between a public-cloud resource identifier and the private-cloud virtual machine, and

wherein the resource pool is associated with a public-cloud subscription.

5. A system comprising:

a plurality of first host machines implementing a public-cloud computing environment, wherein a resource manager provides a public-cloud resource interface through which one or more public-cloud clients interact with one or more virtual machines; and

a plurality of second host machines implementing a private-cloud computing environment, wherein at least one of the second host machines comprises one or more private-cloud virtual machines, the one or more private-cloud virtual machines accessible in the public-cloud environment via corresponding public-cloud resource identifiers,

wherein at least one of the first host machines further comprises a private-cloud VM resource provider through which the resource manager interacts with the private-cloud virtual machines, wherein the private-cloud VM resource provider translates requests to perform virtual machine management operations from a public-cloud-resource interface to a private-cloud virtual machine interface, and the private-cloud virtual machines perform the requested virtual machine operations in response to receiving the translated requests from the private-cloud VM resource provider, and

wherein the private-cloud VM resource provider invokes a hydrate operation for each existing private-cloud virtual machine, and wherein the private-cloud VM resource provider establishes an association between each existing private-cloud virtual machine and a corresponding public-cloud resource identifier.

6. The system of claim 5 , wherein the private-cloud VM resource provider identifies each existing private-cloud virtual machine by scanning a list of existing private-cloud virtual machines for a private-cloud virtual machine that does not have a counterpart public-cloud virtual machine.

7. The system of claim 6 , wherein the private-cloud VM resource provider identifies one or more previously-existing private-cloud virtual machines that are non-existent, and wherein the private-cloud VM resource provider invokes a dehydrate operation for each of the previously-existing private-cloud virtual machines.

8. The system of claim 7 , wherein the private-cloud VM resource provider identifies one or more previously-existing private-cloud virtual machines by scanning a previously-generated list of private-cloud virtual machines for a private-cloud virtual machine that does not exist.

9. A system comprising:

a plurality of first host machines implementing a public-cloud computing environment, wherein a resource manager provides a public-cloud resource interface through which one or more public-cloud clients interact with one or more virtual machines; and

a plurality of second host machines implementing a private-cloud computing environment, wherein at least one of the second host machines comprises one or more private-cloud virtual machines,

wherein at least one of the first host machines further comprises a private-cloud VM resource provider through which the resource manager interacts with the private-cloud virtual machines, wherein the private-cloud VM resource provider translates requests to perform virtual machine management operations from a public-cloud-resource interface to a private-cloud virtual machine interface, and the private-cloud virtual machines perform the requested virtual machine operations in response to receiving the translated requests from the private-cloud VM resource provider, and

wherein the resource manager creates at least one public-cloud virtual machine on at least one of the first host machines and at least one private-cloud virtual machine on at least one of the second host machines in accordance with a deployment template that specifies configuration and deployment information for an application.

10. The system of claim 1 , wherein the resource manager manages one or more linked private-cloud virtual machines that are located in an external private-cloud computing environment.

11. The system of claim 10 , wherein the resource manager creates, edits, or deletes one or more resources of the external private-cloud computing environment.

12. The system of claim 11 , wherein the resources comprise virtual machines.

13. A system comprising:

a plurality of first host machines implementing a public-cloud computing environment, wherein a resource manager provides a public-cloud resource interface through which one or more public-cloud clients interact with one or more virtual machines; and

a plurality of second host machines implementing a private-cloud computing environment, wherein at least one of the second host machines comprises one or more private-cloud virtual machines,

wherein at least one of the first host machines further comprises a private-cloud VM resource provider through which the resource manager interacts with the private-cloud virtual machines, wherein the private-cloud VM resource provider translates requests to perform virtual machine management operations from a public-cloud-resource interface to a private-cloud virtual machine interface, and the private-cloud virtual machines perform the requested virtual machine operations in response to receiving the translated requests from the private-cloud VM resource provider, and

wherein the resource manager creates at least one application deployment that includes one or more resources having presence both in the private-cloud computing environment and the public-cloud computing environment.

14. The system of claim 13 , wherein the private-cloud computing environment comprises an external private-cloud computing environment.

15. The system of claim 13 , wherein the resources are defined in the private-cloud computing environment or in the public-cloud computing environment.

16. The system of claim 15 , wherein the resources are defined:

(a) directly by a core management component of the private-cloud computing environment,

(b) by an add-on management component installed in the private-cloud computing environment,

(c) through one or more public-cloud services present in the public-cloud computing environment,

(d) through one or more add-on components of the public-cloud computing environment,

(e) through one or more capabilities of the private-cloud computing environment, or a combination thereof.

17. The system of claim 13 , wherein the resources are managed remotely via the resource manager via network connections.

18. A method comprising:

by one or more first host machines, providing a public-cloud computing environment, wherein a resource manager of the public-cloud computing environment provides a public-cloud resource interface through which one or more public-cloud clients interact with one or more virtual machines;

by one or more second host machines, providing a private-cloud computing environment, wherein at least one of the second host machines comprises one or more private-cloud virtual machines; and

by one or more of the first host machines, translating, by a private-cloud VM resource provider, requests to perform virtual machine management operations from the public-cloud-resource interface to a private-cloud virtual machine interface,

wherein the resource manager interacts with the private-cloud virtual machines through the private-cloud VM resource provider,

wherein the private-cloud virtual machines perform the requested virtual machine operations in response to receiving the translated requests from the private-cloud VM resource provider, and

wherein the resource manager uses the private-cloud VM resource provider to translate responses generated by a private-cloud management service to responses in the public-cloud resource interface.

19. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

provide a public-cloud computing environment on one or more first host machines, wherein a resource manager of the public-cloud computing environment provides a public-cloud resource interface through which one or more public-cloud clients interact with one or more virtual machines;

provide a private-cloud computing environment on one or more second host machines, wherein at least one of the second host machines comprises one or more private-cloud virtual machines; and

translate, by a private-cloud VM resource provider on one or more of the first host machines, requests to perform virtual machine management operations from the public-cloud-resource interface to a private-cloud virtual machine interface,

wherein the resource manager interacts with the private-cloud virtual machines through the private-cloud VM resource provider,

wherein the private-cloud virtual machines perform the requested virtual machine operations in response to receiving the translated requests from the private-cloud VM resource provider, and wherein the resource manager creates at least one application deployment that includes one or more resources having presence both in the private-cloud computing environment and the public-cloud computing environment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2020
From: CLOUDSIMPLE, INC.
To: GOOGLE LLC
Reel/Frame 052728/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2018
From: BEYER, ILYA; SHARMA, MANOJ; PANGAL, GURURAJ; COMETTO, MAURILIO
To: CLOUDSIMPLE, INC.
Reel/Frame 046910/0082 →
Continuity (1)
Related Publication 20200089518A1 · Mar 19, 2020
Cited By (1)
US 12,463,986