IP Library Granted Patent US 10,050,939
Granted Patent B2
US 10,050,939 · App. 14/969,988 · Granted Aug 14, 2018

Techniques for communication in hybrid cloud system

Inventors: Rostislav Hristov (Sofia, BG); Vesselin Arnaudov (Sofia, BG)
Assignee: VMWARE, INC.
H04L63/0272G06F9/45558G06F2009/45595
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,050,939
App. No.
14/969,988
Granted
Aug 14, 2018
Kind
B2
Abstract

Techniques for communication in a hybrid cloud computing system. The techniques include utilizing cross-origin resource sharing to allow a web-based application to communicate with both a public host computer and a private host computer of the hybrid cloud computing system. More specifically, a web-based application downloaded from the public host computer would include code that, when executed, would programmatically make HTTP requests to the private host computer. The private host computer would respond with an Access-Control-Allow-Origin header specifying the origin of the public host computer as an allowed origin, thereby allowing the web-based application to access resources from the private host computer. The techniques may be used for managing computing or software resources of the hybrid cloud computing system and also for transfer of data related to managing computing or software resources of the hybrid cloud computing system.

Claims (50)

1. A method for communicating in a hybrid cloud system, the hybrid cloud system having a public cloud and a private cloud, the method comprising:

executing, in a web application renderer that implements a same-origin policy, a web-based application having, as an origin, a public host computer in the public cloud, wherein the web-based application exposes functionality that allows for migration of a virtual machine between the public host computer and a private host computer in the private cloud;

responsive to determining that the web application renderer is executing in a client device that shares a private network with the private host computer in the private cloud, requesting from the private host computer through the private network, an indication that the origin of the web application renderer is an allowed origin of the private host computer;

responsive to determining that the web application renderer is executing in a client device that does not share a private network with the private host computer, forming a virtual private network between the client device and the private host computer and requesting from the private host computer through the virtual private network, an indication that the origin of the web application renderer is an allowed origin of the private host computer;

receiving an indication through the private network or the virtual private network that the origin of the web application renderer is an allowed origin of the private host computer;

receiving virtual machine state for migrating a virtual machine from the public host computer to the private host computer; and

transmitting the virtual machine state for migrating the virtual machine from the public host computer to the private host computer.

2. The method of claim 1 , wherein the first communication comprises:

a command for controlling an aspect of a virtualized execution environment executing in the private host computer.

3. The method of claim 2 , wherein the first communication further comprises:

a command to create or edit an aspect of a virtual data center implemented at least partially by the private host computer.

4. The method of claim 2 , wherein the first communication further comprises:

a command to edit computing settings for the virtual machine.

5. The method of claim 2 , wherein the first communication further comprises:

a command to control an aspect of an application executing within the virtual machine.

6. The method of claim 1 , further comprising:

executing, in a second web application renderer that implements the same-origin policy, the web-based application;

responsive to determining that the web application renderer is executing in a second client device that does not share a private network with the private host computer and that the client device cannot form a virtual private network connection with the private host computer, transmitting a second communication to the public host computer,

wherein, responsive to receiving the second communication, the public host computer forwards the second communication to the private host computer for processing.

7. A client device for communicating in a hybrid cloud system, the hybrid cloud system having a public cloud and a private cloud, the computing device comprising:

a network interface configured to be coupled to a public host computer in the public cloud and to a private host computer in the private cloud;

a processor; and

a memory storing instructions that, when executed by the processor, cause the processor to execute a method, the method comprising:

executing, in a web application renderer that implements a same-origin policy, a web-based application having, as an origin, the public host computer, wherein the web-based application exposes functionality that allows for migration of a virtual machine between the public host computer and a private host computer in the private cloud;

responsive to determining that the client device shares a private network with the private host computer, requesting from the private host computer through the private network, an indication that the origin of the web application renderer is an allowed origin of the private host computer;

responsive to determining that the web application renderer is executing in a client device that does not share a private network with the private host computer, forming a virtual private network between the client device and the private host computer and requesting from the private host computer through the virtual private network, an indication that the origin of the web application renderer is an allowed origin of the private host computer;

receiving an indication through the private network or the virtual private network that the origin of the web application renderer is an allowed origin of the private host computer;

receiving virtual machine state for migrating a virtual machine from the public host computer to the private host computer; and

transmitting the virtual machine state for migrating the virtual machine from the public host computer to the private host computer.

8. The client device of claim 7 , wherein the first communication comprises:

a command for controlling an aspect of a virtual machine executing in the private host computer.

9. The client device of claim 8 , wherein the first communication further comprises:

a command to create or edit an aspect of a virtual data center implemented at least partially by the private host computer.

10. The client device of claim 8 , wherein the first communication further comprises:

a command to edit computing settings for the virtual machine.

11. The client device of claim 7 , wherein the method further comprises:

executing, in a second web application renderer that implements the same-origin policy, the web-based application;

responsive to determining that the web application renderer is executing in a second client device that does not share a private network with the private host computer and that the client device cannot form a virtual private network connection with the private host computer, transmitting a second communication to the public host computer,

wherein, responsive to receiving the second communication, the public host computer forwards the second communication to the private host computer for processing.

12. A method for communicating in a hybrid cloud system, the hybrid cloud system having a public cloud and a private cloud, the method comprising:

transmitting computer-executable program code for a web-based application to a client device, wherein the web-based application exposes functionality that allows for migration of a virtual machine between the public host computer and a private host computer in the private cloud, the web-based application having, as an origin, a public host computer in the public cloud, the web-based application, when executed in a web application renderer that implements a same-origin policy, causing the web application renderer to perform a process, the process comprising:

responsive to determining that the client device shares a private network with a private host computer of the private cloud, requesting from the private host computer through the private network, an indication that the origin of the web application renderer is an allowed origin of the private host computer;

responsive to determining that the web application renderer is executing in a client device that does not share a private network with the private host computer, forming a virtual private network between the client device and the private host computer and requesting from the private host computer through the virtual private network, an indication that the origin of the web application renderer is an allowed origin of the private host computer;

receiving an indication through the private network or the virtual private network that the origin of the web application renderer is an allowed origin of the private host computer;

receiving virtual machine state for migrating a virtual machine from the public host computer to the private host computer; and

transmitting the virtual machine state for migrating the virtual machine from the public host computer to the private host computer.

13. The method of claim 12 , wherein the process further comprises:

executing, in a second web application renderer that implements the same-origin policy, the web-based application;

responsive to determining that the web application renderer is executing in a second client device that does not share a private network with the private host computer and that the client device cannot form a virtual private network connection with the private host computer, transmitting a second communication to the public host computer,

wherein, responsive to receiving the second communication, the public host computer forwards the second communication to the private host computer for processing.

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 Dec 15, 2015
From: HRISTOV, ROSTISLAV; ARNAUDOV, VESSELIN
To: VMWARE, INC.
Reel/Frame 037297/0104 →
Continuity (1)
Related Publication 20170171157A1 · Jun 15, 2017