IP Library Granted Patent US 9,898,317
Granted Patent B2
US 9,898,317 · App. 14/406,107 · Granted Feb 20, 2018

Physical path determination for virtual network packet flows

Inventors: Harshad Bhaskar Nakil (Saratoga, CA); Ankur Singla (Belmont, CA)
Assignee: Juniper Networks, Inc.
G06F9/45558G06F9/455G06F11/07H04L41/0631H04L41/0856H04L43/0852H04L43/10H04L69/40G06F2009/45595H04L41/0893H04L49/70H04L61/103
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 9,898,317
App. No.
14/406,107
Granted
Feb 20, 2018
Kind
B2
Abstract

In general, techniques are described for configuring and managing virtual networks. For example, a distributed virtual network controller is described that configures and manages an overlay network within a physical network formed by plurality of switches. A plurality of servers are interconnected by the switch fabric, each of the servers comprising an operating environment executing one or more virtual machines in communication via the overlay networks. The servers comprises a set of virtual switches that extends the overlay network as a virtual network to the operating environment of the virtual machines. The controller may instruct the servers and the virtual switches to perform various operations, such as determining a physical network path taken by packets of a network packet flow, determining latency through the network, re-routing traffic in the virtual network due to network events, replicating traffic for multicasting, providing multi-tenant services to support multiple virtual networks, monitoring and logging traffic characteristics within the virtual networks and other operations.

Claims (66)

1. A system comprising:

a first set of elements and a second set of elements that implement one or more virtual networks;

a first server device and a second server device each connected to a switch fabric;

a first virtual network controller node device configured to store route data and to store, to a first configuration database using an interface protocol, configuration information for the first set of elements and to send the route data and configuration information for the first set of elements to the first set of elements to control virtual switching operation of the first set of elements to implement a first one or more overlay networks, over the switch fabric, for tunneling packets among elements of the first set of elements for the one or more virtual networks, wherein the first set of elements includes the first server device; and

a second virtual network controller node device configured to store route data and to store, to a second configuration database using the interface protocol, configuration information for the second set of elements and to send the route data and configuration information for the second set of elements to the second set of elements to control virtual switching operation of the second set of elements to implement a second one or more overlay networks, over the switch fabric, for tunneling packets among elements of the second set of elements for the one or more virtual networks, wherein the second set of elements includes the second server device,

wherein the first virtual network controller node device and the second virtual network controller node device are peers according to a peering protocol by which the first virtual network controller node device and the second virtual network controller node device exchange information relating to the virtual switching operation of the first set of elements and the second set of elements, the information including the route data for the first set of elements and the route data for the second set of elements.

2. The system of claim 1 , further comprising:

a virtual network switch of the first server device, the virtual network switch being configured to facilitate overlay of a plurality of networks in the one or more virtual networks by tunneling packets to the second server device using a layer 3 protocol.

3. The system of claim 1 ,

wherein the first virtual network controller node device includes a first analytics database for storing diagnostic information related to the first set of elements,

wherein the second virtual network controller node device includes a second analytics database for storing diagnostic information related to the second set of elements, and

wherein the first virtual network controller node device and the second virtual network controller node are configured to share at least some diagnostic data related to one or more of the first set of elements and the second set of elements.

4. The system of claim 3 , wherein the first analytics database and the second analytics database are parts of a distributed database.

5. The system of claim 1 ,

wherein the first virtual network controller node device includes a first configuration database for storing the configuration information for the first set of elements using an Interface for Metadata Access Points protocol,

wherein the second virtual network controller node device includes a second configuration database for storing the configuration information for the second set of elements, and

wherein the first virtual network controller node device and the second virtual network controller node are configured to share at least some configuration data for one or more of the first set of elements and the second set of elements.

6. The system of claim 1 , further comprising:

a user interface configured for interacting with the first virtual network controller node device and for interacting with the second virtual network controller node device.

7. The system of claim 1 , wherein the first virtual network controller node device is configured to use the peering protocol to provide the information related to the virtual switching operation of the first set of elements to the second virtual network controller node device.

8. The system of claim 1 , wherein the peering protocol is a Border Gateway Protocol.

9. The system of claim 1 ,

wherein the first virtual network controller node device includes a first control plane virtual machine,

wherein the second virtual network controller node device includes a second control plane virtual machine, and

wherein the first control plane virtual machine is configured to use the peering protocol to provide the information related to the virtual switching operation of the first set of elements to the second control plane virtual machine.

10. The system of claim 9 , further comprising:

a virtual network switch implemented in the first server device and configured to facilitate overlay of a plurality of networks in the one or more virtual networks, wherein the first control plane virtual machine is configured to use an eXtensible Messaging and Presence Protocol to communicate with the virtual network switch.

11. The system of claim 9 ,

wherein the first virtual network controller node device further includes a first configuration virtual machine configured to store the configuration information for the first set of elements, and

wherein the first control plane virtual machine is configured to use at least one of an Extensible Messaging and Presence Protocol and an Interface for Metadata Access Points protocol to communicate with the first configuration virtual machine.

12. The system of claim 9 ,

wherein the first virtual network controller node device further includes a first analytics virtual machine configured to store diagnostic information related to the first set of elements, and

wherein the first control plane virtual machine is configured use an eXtensible Messaging and Presence Protocol to communicate with the first analytics virtual machine.

13. The system of claim 9 ,

wherein the first control plane virtual machine includes a type of software of a particular version, and

wherein the second control plane virtual machine includes the type of software of a different version that is different from the particular version.

14. A method for facilitating operation of one or more virtual networks, the one or more virtual networks including a first server device and a second server device each connected to a switch fabric, the method comprising:

using a first virtual network controller node device to store route data and configuration information for the first set of elements and to send the route data and to store, to a first configuration database using an interface protocol, configuration information for the first set of elements to the first set of elements to control operation of a first set of elements to implement a first one or more overlay networks, over the switch fabric, for tunneling packets among elements of the first set of elements for in the one or more virtual networks, wherein the first set of elements includes the first server device;

using a second virtual network controller node device to store route data and to store, to a second configuration database using the interface protocol, configuration information for the second set of elements and to send the route data and configuration information for the second set of elements to the second set of elements to control operation of a second set of elements to implement a second one or more overlay networks, over the switch fabric, for tunneling packets among elements of the second set of elements for the one or more virtual networks, wherein the second set of elements includes the second server device; and

peering the first virtual network controller node device and the second virtual network controller node device using a peering protocol to exchange information, between the first virtual network controller node device and the second virtual network controller node device, relating to the virtual switching operation of the first set of elements and the second set of elements, the information including the route data for the first set of elements and the route data for the second set of elements.

15. The method of claim 14 , further comprising:

using a virtual network switch implemented in the server device and using a layer 3 protocol to facilitate overlay of a plurality of networks in the one or more virtual networks.

16. The method of claim 14 , further comprising:

using a first analytics database implemented in the first virtual network controller node device to store diagnostic information related to the first set of elements;

using a second analytics database implemented in the second virtual network controller node device to store diagnostic information related to the second set of elements; and

using the first virtual network controller node device to provide at least some diagnostic data related to one or more of the first set of elements and the second set of elements to the second virtual network controller node device.

17. The method of claim 16 , wherein the first analytics database and the second analytics database are parts of a distributed database.

18. The method of claim 14 , further comprising:

using a first configuration database implemented in the first virtual network controller node device and using an Interface for Metadata Access Points protocol to store the configuration information for the first set of elements;

using a second configuration database implemented in the second virtual network controller node device to store the configuration information for the second set of elements; and

using the first virtual network controller node device to provide at least some configuration data for one or more of the first set of elements and the second set of elements to the second virtual network controller node device.

19. A virtual network controller node device comprising:

a memory;

one or more processors operably coupled to the memory;

a control plane virtual machine executed by the processors to communicate with a plurality of virtual network switches using an eXtensible Messaging and Presence Protocol (XMPP);

a configuration virtual machine to store and manage a configuration database that includes configuration information for the virtual network switches;

an analytics virtual machine to store and manage an analytics database that includes logging information for the virtual network switches, wherein the configuration virtual machine and analytics virtual machine communicate with the control plane virtual machine using an Interface for Metadata Access Points protocol,

wherein the control plane virtual machine configures the virtual network switches by using XMPP to send route data and configuration information to the virtual network switches, and

wherein the control plane virtual machine uses XMPP to receive logging information for the virtual network switches and routes the logging information to the analytics virtual machine for storage to the analytics database.

20. A network system comprising:

a switch fabric comprising a plurality of switches;

a distributed controller having a set of virtual network controller node devices in peer communication with each other in accordance with a peering protocol, wherein each of the virtual network controller node devices stores route data and stores, to a corresponding configuration database using an interface protocol, configuration information for a corresponding virtual network of a plurality of virtual networks and configures and manages at least one overlay network implemented at least in part by the plurality of switches;

a plurality of servers interconnected by the switch fabric, wherein each of the servers comprises an operating environment executing one or more virtual machines in communication via the at least one overlay network, and wherein the servers comprise a set of virtual switches that extends the at least one overlay network as virtual networks to the operating environment of the virtual machines using route data and configuration information for the plurality of virtual networks received from the virtual network controller node devices,

wherein the virtual network controller node devices communicate in the peer communication with each other in accordance with the peering protocol to exchange information relating to virtual switching operations of the virtual switches for tunneling packets among the servers for the virtual networks, the information including the route data for the plurality of virtual networks.

21. The network system of claim 20 , wherein the switch fabric is a located within a network data center.

22. The network system of claim 20 , wherein the virtual network controller node devices exchange information relating to the operation of the virtual switches via the peering protocol.

Assignments (1)
NUNC PRO TUNC ASSIGNMENT Recorded May 6, 2026
From: JUNIPER NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 075513/0034 →
Continuity (18)
Continuation In Part 13843500 · Mar 15, 2013
Continuation In Part 13840902 · Mar 15, 2013
Continuation In Part 13843365 · Mar 15, 2013
Continuation In Part 13835017 · Mar 15, 2013
Continuation In Part 13843241 · Mar 15, 2013
Continuation In Part 13840657 · Mar 15, 2013
Continuation In Part 13841736 · Mar 15, 2013
Provisional Application 61729474 · Nov 23, 2012
Provisional Application 61723684 · Nov 7, 2012
Provisional Application 61723685 · Nov 7, 2012
Provisional Application 61722696 · Nov 5, 2012
Provisional Application 61721979 · Nov 2, 2012
Provisional Application 61721994 · Nov 2, 2012
Provisional Application 61718633 · Oct 25, 2012
Provisional Application 61656468 · Jun 6, 2012
Provisional Application 61656469 · Jun 6, 2012
Provisional Application 61656471 · Jun 6, 2012
Related Publication 20150244617A1 · Aug 27, 2015