IP Library Granted Patent US 8,817,621
Granted Patent B2
US 8,817,621 · App. 13/177,539 · Granted Aug 26, 2014

Network virtualization apparatus

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 8,817,621
App. No.
13/177,539
Granted
Aug 26, 2014
Kind
B2
Abstract

Some embodiments provide a network virtualization apparatus for managing a plurality of managed switching elements that forward data in a network. The network virtualization apparatus comprises a controller for converting logical control plane data to logical forwarding plane data. It also includes a virtualizer for converting the logical forwarding plane data to physical control plane data. In some embodiments, the physical control plane data is subsequently translated into physical forwarding plane data that direct the forwarding of data by the managed switching elements.

Claims (21)

1. A distributed network control system comprising:

a plurality of network controller instances for managing a plurality of managed switching elements that forward data in a network, each network controller instance comprising:

a control application for converting logical control plane data, that specifies a definition of a logical data path set, into logical forwarding plane data that specifies a first set of forwarding rules that effectuate the logical data path set definition specified by the logical control plane data, wherein the logical control plane data and logical forwarding plane data define one or more logical switching elements of the logical data path set;

a virtualization application for converting the logical forwarding plane data into physical control plane data that specifies a second set of forwarding rules for the managed switching elements to follow in order to implement the logical data path set; and

a publisher for publishing the physical control plane data for subsequent distribution to the managed switching elements and subsequent translation by the managed switching elements into physical forwarding plane data that direct the forwarding of data packets by the managed switching elements.

2. The distributed network control system of claim 1 , wherein the logical control plane data are at least partially supplied by at least one user.

3. The distributed network control system of claim 1 , wherein each network controller instance further comprises a monitor for (i) monitoring the managed switching elements and (ii) supplying the control application with logical control plane data based on the managed switching elements.

4. The distributed network control system of claim 3 , wherein the monitor is for monitoring the managed switching elements by monitoring a data storage structure that stores data regarding the managed switching elements.

5. The distributed network control system of claim 1 , wherein each network controller instance further comprises a monitor for (i) monitoring a data storage structure that stores data regarding the managed switching elements and (ii) supplying the virtualization application with additional input logical forwarding plane data based on the managed switching elements.

6. The distributed network control system of claim 1 , wherein the logical forwarding plane data comprises logical flow entries in at least one logical forwarding table that is not accessible for input by a source of input of the logical control plane data.

7. The distributed network control system of claim 6 , wherein a plurality of the logical flow entries specify at least one of Layer 2 (“L2”) flow entries for forwarding of data between logical Media Access Control (“MAC”) addresses and Layer 3 (“L3”) flow entries for forwarding of data between logical Internet Protocol (“IP”) addresses of the logical switching elements.

8. The distributed network control system of claim 6 , wherein the logical control plane data expresses the logical data path set as a set of high-level constructs that the control application converts into the logical flow entries of the logical forwarding plane data.

9. The distributed network control system of claim 1 , wherein the control application is for converting the logical control plane data to the logical forwarding plane data based at least partially on physical control plane data detected by monitoring the managed switching elements.

10. The distributed network control system of claim 9 , wherein each network controller instance further comprises a monitor for monitoring the managed switching elements to detect changes in the physical control plane data.

11. The distributed network control system of claim 10 , wherein the monitor is for monitoring the managed switching elements by monitoring a data storage structure that stores data regarding the managed switching elements.

12. The distributed network control system of claim 1 , wherein the virtualization application is for converting the logical forwarding plane data to physical control plane data at least partially based on additional physical control plane data detected by monitoring a network state data structure that stores data regarding the managed switching elements.

13. The distributed network control system of claim 12 , wherein each network controller instance further comprises a monitor for monitoring the network state data structure that stores data regarding the managed switching elements.

14. The distributed network control system of claim 1 , wherein the control application and virtualization application each comprises a table mapping engine that performs table mapping operations, wherein the control application comprises a first set of input tables for storing the logical control plane data and a first set of output tables for storing the logical forwarding plane data generated by the table mapping engine of the control application from the logical control plane data in the first set of input tables, wherein the virtualization application comprises a second set of input tables for storing the logical forwarding plane data and a second set of output tables for storing the physical control plane data that the virtualization application's table mapping engine produces from the logical forwarding plane data in the second set of input tables.

15. The distributed network control system of claim 14 , wherein the control application and virtualization application use the same table mapping engine.

16. The distributed network control system of claim 1 , wherein the network controller instance is one integrated application for execution on a computing device, the control application being a front end of the integrated application and the virtualization application being a back end of the integrated application.

17. The distributed network control system of claim 1 , wherein the control application and the virtualization application are two separate applications for execution on a computing device.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
CHANGE OF NAME Recorded Jun 15, 2012
From: NICIRA NETWORKS, INC.
To: NICIRA, INC.
Reel/Frame 028381/0048 →