IP Library Granted Patent US 10,855,531
Granted Patent B2
US 10,855,531 · App. 16/129,441 · Granted Dec 1, 2020

Multiple networks for virtual execution elements

Inventors: Sachchidanand Vaidya (Santa Clara, CA); Yuvaraja Mariappan (San Jose, CA); Dinesh Bakiaraj (San Jose, CA); Rudramahesh S. Rugge (Los Altos, CA)
Assignee: Juniper Networks, Inc.
H04L41/0806G06F9/45558H04L12/4641H04L41/0886H04L61/2007H04L61/3015H04L67/10G06F2009/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,855,531
App. No.
16/129,441
Granted
Dec 1, 2020
Kind
B2
Abstract

In some examples, a method includes receiving, by an orchestrator for a virtualized computing infrastructure, namespace specification data the specifies a namespace, a first virtual network for the namespace, and a second virtual network for the namespace; sending, by the orchestrator to a network controller for the virtualized computing infrastructure, based on the namespace specification data, at least one request to create, for a virtual execution element to be deployed to the namespace and instantiated in a computing device of the virtualized computing infrastructure, respective virtual network interfaces for the first virtual network and the second virtual network; and send, by the network controller to the computing device, interface configuration data to configure a first virtual network interface for the first virtual network and a second virtual network interface for the second virtual network.

Claims (64)

1. A controller comprising one or more computing devices, wherein each of the one or more computing devices comprises processing circuitry coupled to a memory device, wherein the controller further comprises:

an orchestrator for a virtualized computing infrastructure, wherein the orchestrator is configured for execution by the processing circuitry, wherein the orchestrator is configured to:

receive a request to instantiate a virtual execution element to be deployed to a namespace in a computing device of the virtualized computing infrastructure;

output configuration data to cause the computing device to instantiate the virtual execution element;

receive namespace specification data that specifies the namespace, a first virtual network for the namespace, and a second virtual network for the namespace; and

send, to a network controller for the virtualized computing infrastructure, based on the namespace specification data, at least one request to create, for the virtual execution element, respective virtual network interfaces for the first virtual network and the second virtual network; and

the network controller, wherein the network controller is configured for execution by the processing circuitry, wherein the network controller is configured to:

send, to the computing device, interface configuration data to configure a first virtual network interface for communication by the virtual execution element on the first virtual network and a second virtual network interface for communication by the virtual execution element on the second virtual network.

2. The controller of claim 1 ,

wherein the orchestrator is further configured to direct, based on the namespace specification data, the network controller to create the first virtual network, and

wherein the network controller is configured to configure, in response to the directive to create the first virtual network, the first virtual network in the virtualized computing infrastructure.

3. The controller of claim 1 , wherein the namespace specification data specifies the first virtual network and the second virtual network using data that conforms to a schema for specifying virtual networks for the network controller.

4. The controller of claim 1 , wherein the orchestrator is further configured to:

receive virtual execution element specification data that specifies the virtual execution element, wherein the virtual execution element specification data comprises a namespace object which specifies the namespace specified by the namespace specification data as a namespace for the virtual execution element,

wherein, to send the at least one request to create respective virtual network interfaces for the first virtual network and the second virtual network, the orchestrator is configured to send the at least one request based on the namespace object.

5. The controller of claim 4 ,

wherein the first virtual network and the second virtual network define a primary group of virtual networks,

wherein the virtual execution element specification data specifies a secondary group of one or more virtual networks,

wherein the at least one request to create respective virtual network interfaces for the first virtual network and the second virtual network comprises at least one request to create respective virtual network interfaces for the secondary group of one or more virtual networks, and

wherein the interface configuration data comprises respective virtual network interfaces for the secondary group of one or more virtual networks.

6. The controller of claim 5 , wherein the secondary group of virtual networks comprises a third virtual network that is not the first virtual network or the second virtual network.

7. The controller of claim 5 , wherein the secondary group of virtual networks comprises a third virtual network that is the first virtual network.

8. The controller of claim 1 ,

wherein the interface configuration data includes an identifier of the first virtual network interface for the first virtual network and an identifier of the second virtual network interface for the second virtual network.

9. The controller of claim 8 , wherein the network controller is configured to:

send, to a virtual router agent for a virtual router of the computing device, the identifier of the first virtual network interface for the first virtual network and the identifier of the second virtual network interface for the second virtual network.

10. The controller of claim 8 , wherein the network controller is configured to:

send, to a virtual router agent for a virtual router of the computing device, the identifier of the first virtual network interface for the first virtual network and the identifier of the second virtual network interface for the second virtual network;

send, to the virtual router agent, an association of an identifier for the virtual execution element, the identifier of the first virtual network interface for the first virtual network, and the identifier of the second virtual network interface for the second virtual network.

11. The controller of claim 8 , wherein the orchestrator comprises a network controller manager for the network controller, wherein the network controller manager is configured for execution by the processing circuitry, wherein the network controller manager is configured to:

allocate a virtual network address for the first virtual network interface;

allocate a virtual network address for the second virtual network interface;

direct the network controller to configure the first virtual network interface with the virtual network address for the first virtual network interface; and

direct the network controller to configure the second virtual network interface with the virtual network address for the second virtual network interface.

12. The controller of claim 1 , wherein the virtual execution element comprises one or more containers.

13. The controller of claim 1 , wherein the virtual execution element comprises a Kubernetes pod.

14. A method comprising:

receiving, by an orchestrator for a virtualized computing infrastructure, a request to instantiate a virtual execution element to be deployed to a namespace in a computing device of the virtualized computing infrastructure;

output, by the orchestrator, configuration data to cause the computing device to instantiate the virtual execution element;

receiving, by the orchestrator, namespace specification data that specifies the namespace, a first virtual network for the namespace, and a second virtual network for the namespace;

sending, by the orchestrator to a network controller for the virtualized computing infrastructure, based on the namespace specification data, at least one request to create, for the virtual execution element, respective virtual network interfaces for the first virtual network and the second virtual network; and

send, by the network controller to the computing device, interface configuration data to configure a first virtual network interface for communication by the virtual execution element on the first virtual network and a second virtual network interface for communication by the virtual execution element on the second virtual network.

15. The method of claim 14 , further comprising:

instantiating, by the computing device, the virtual execution element;

attaching, by a network module, the first virtual network interface to the virtual execution element to enable packetized communications by the virtual execution element on the first virtual network; and

attaching, by the network module, the second virtual network interface to the virtual execution element to enable packetized communications by the virtual execution element on the second virtual network.

16. The method of claim 14 ,

directing, by the orchestrator based on the namespace specification data, the network controller to create the first virtual network; and

configuring, by the network controller in response to the directive to create the first virtual network, the first virtual network in the virtualized computing infrastructure.

17. The method of claim 14 , wherein the namespace specification data specifies the first virtual network and the second virtual network using data that conforms to a schema for specifying virtual networks for the network controller.

18. The method of claim 14 , further comprising:

receiving, by the orchestrator, virtual execution element specification data that specifies the virtual execution element, wherein the virtual execution element specification data comprises a namespace object which specifies the namespace specified by the namespace specification data as a namespace for the virtual execution element,

wherein sending the at least one request to create respective virtual network interfaces for the first virtual network and the second virtual network comprises sending the at least one request based on the namespace object.

19. The method of claim 18 ,

wherein the first virtual network and the second virtual network define a primary group of virtual networks,

wherein the virtual execution element specification data specifies a secondary group of one or more virtual networks,

wherein the at least one request to create respective virtual network interfaces for the first virtual network and the second virtual network comprises at least one request to create respective virtual network interfaces for the secondary group of one or more virtual networks, and

wherein the interface configuration data comprises respective virtual network interfaces for the secondary group of one or more virtual networks.

20. A non-transitory computer-readable medium comprising instructions for causing one or more processors to:

execute an orchestrator for a virtualized computing infrastructure to receive a request to instantiate a virtual execution element to be deployed to a namespace in a computing device of the virtualized computing infrastructure;

execute the orchestrator to output configuration data to cause the computing device to instantiate the virtual execution element;

execute the orchestrator for a virtualized computing infrastructure to receive namespace specification data that specifies the namespace, a first virtual network for the namespace, and a second virtual network for the namespace;

execute the orchestrator to send, to a network controller for the virtualized computing infrastructure, based on the namespace specification data, at least one request to create, for the virtual execution element, respective virtual network interfaces for the first virtual network and the second virtual network; and

execute the network controller to send, to the computing device, interface configuration data to configure a first virtual network interface for communication by the virtual execution element on the first virtual network and a second virtual network interface for communication by the virtual execution element on the second virtual network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2018
From: VAIDYA, SACHCHIDANAND; MARIAPPAN, YUVARAJA; BAKIARAJ, DINESH; RUGGE, RUDRAMAHESH S.
To: JUNIPER NETWORKS, INC.
Reel/Frame 046856/0943 →
Continuity (2)
Continuation In Part 16118107 · Aug 30, 2018
Related Publication 20200076685A1 · Mar 5, 2020
Cited By (5)
US 12,192,051 US 12,225,054 US 12,506,690 US 12,671,652 US 12,719,746