Mapping virtual machines from a private network to a multi-tenant public datacenter
First Claim
1. A method for creating a plurality of virtual machines (“
- VMs”
) on a public datacenter, the method comprising;
from a first network controller of a private network, directing a second network controller of the public datacenter to create the VMs;
from the first network controller of the private network, communicating with the second network controller of the public datacenter to determine a type of the second network controller;
when the type of the second network controller is one of a pre-defined set of network controller types;
using application programming interfaces (APIs) of the second network controller to set up a primary virtual local area network (VLAN) between the plurality of VMs; and
using the APIs of the second network controller to set up a plurality of secondary VLANs, wherein each secondary VLAN is between a subset of the plurality of VMs that restricts communication within the primary VLAN between VMs on the secondary VLAN to communication with other VMs on the secondary VLAN, wherein a set of host machines implement each secondary VLAN to send signals between the secondary VLAN'"'"'s subset of the plurality of VMs on the public datacenter without passing the signals through the private network; and
when the type of the second network controller is not one of the pre-defined set of network controller types, setting up a system of communication in which all communication between the VMs created on the public datacenter pass through the private network.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for creating a set of virtual machines on a public datacenter. The method, from a first network controller of a private network, commands a second network controller of the public datacenter to create the virtual machines. The method, from the first network controller of the private network, communicates with the second network controller of the public datacenter to determine a type of the second network controller. When the first network controller includes instructions for using application programming interfaces (APIs) of the type of the second network controller, the method uses the APIs to set up a VLAN for the set of virtual machines in order to allow the virtual machines of the set of virtual machines to communicate securely with each other without sending the communications through the private network. In some embodiments, the VLAN is a private VLAN (PVLAN).
29 Citations
20 Claims
-
1. A method for creating a plurality of virtual machines (“
- VMs”
) on a public datacenter, the method comprising;from a first network controller of a private network, directing a second network controller of the public datacenter to create the VMs; from the first network controller of the private network, communicating with the second network controller of the public datacenter to determine a type of the second network controller; when the type of the second network controller is one of a pre-defined set of network controller types; using application programming interfaces (APIs) of the second network controller to set up a primary virtual local area network (VLAN) between the plurality of VMs; and using the APIs of the second network controller to set up a plurality of secondary VLANs, wherein each secondary VLAN is between a subset of the plurality of VMs that restricts communication within the primary VLAN between VMs on the secondary VLAN to communication with other VMs on the secondary VLAN, wherein a set of host machines implement each secondary VLAN to send signals between the secondary VLAN'"'"'s subset of the plurality of VMs on the public datacenter without passing the signals through the private network; and when the type of the second network controller is not one of the pre-defined set of network controller types, setting up a system of communication in which all communication between the VMs created on the public datacenter pass through the private network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- VMs”
-
9. A non-transitory machine readable medium storing a program which, when implemented by at least one processing unit of a first network controller of a private network sets up communications between a plurality of virtual machines (“
- VMs”
) on a public datacenter, the program comprising sets of instructions for;from the first network controller of the private network, directing a second network controller of the public datacenter to create the VMs; from the first network controller of the private network, communicating with the second network controller of the public datacenter to determine a type of second network controller; when the type of the second network controller is one of a pre-defined set of network controller types; using application programming interfaces (APIs) of the second network controller to set up a primary virtual local area network (VLAN) between the plurality of VMs; and using the APIs of the second network controller to set up a plurality of secondary VLANs, wherein each secondary VLAN is between a subset of the plurality of VMs that restricts communication within the primary VLAN between VMs on the secondary VLAN to communication with other VMs on the secondary VLAN, wherein a set of host machines implement each secondary VLAN to send signals between the secondary VLAN'"'"'s subset of the plurality of VMs on the public datacenter without passing the signals through the private network; and when the type of the second network controller is not one of the pre-defined set of network controller types, setting up a system of communication in which all communication between the VMs created on the public datacenter pass through the private network. - View Dependent Claims (10, 11, 12, 13, 14)
- VMs”
-
15. An electronic device implementing a first network controller for a private network, the electronic device comprising:
-
a set of processing units; and a non-transitory machine readable medium storing a program which, when implemented by at least one of the processing units sets up communications between a plurality of virtual machines (“
VMs”
) on a public datacenter, the program comprising sets of instructions for;directing a second network controller of the public datacenter to create the VMs; communicating with the second network controller of the public datacenter to determine a type of the second network controller; when the type of the second network controller is one of a pre-defined set of network controller types; using application programming interfaces (APIs) of the second network controller to set up a primary virtual local area network (VLAN) between the plurality of VMs; and using the APIs of the second network controller to set up a plurality of secondary VLANs, wherein each secondary VLAN is between a subset of the plurality of VMs that restricts communication within the primary VLAN between VMs on the secondary VLAN to communication with other VMs on the secondary VLAN, wherein a set of host machines implement each secondary VLAN to send signals between the secondary VLAN'"'"'s subset of the plurality of VMs on the public datacenter without passing the signals through the private network; and when the type of the second network controller is not one of the pre-defined set of network controller types, setting up a system of communication in which all communication between the VMs created on the public datacenter pass through the private network. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification