IP Library Granted Patent US 10,326,660
Granted Patent B2
US 10,326,660 · App. 15/173,611 · Granted Jun 18, 2019

Network virtualization apparatus and method

Inventors: Teemu Koponen (San Francisco, CA); Pankaj Thakkar (Santa Clara, CA); Martin Casado (Portola Valley, CA); W. Andrew Lambeth (San Mateo, CA)
Assignee: NICIRA, INC.
H04L41/0893G06F15/17312H04L12/4633H04L41/0816H04L41/0853H04L41/0896H04L45/00H04L45/586H04L47/783H04L49/00H04L49/1546H04L49/3063H04L49/70H04L61/2007H04L61/6022G06F11/07
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,326,660
App. No.
15/173,611
Granted
Jun 18, 2019
Kind
B2
Abstract

A network control system for managing a plurality of switching elements that implement a plurality of logical datapath sets. The network control system includes first and second controllers for generating requests for modifications to first and second logical datapath sets. The first controller is further for determining whether to make modifications to the first logical datapath set. The second controller is further for determining whether to make modifications to the second logical datapath set. Each controller is further for receiving logical control plane data that specifies logical datapath sets and for converting the logical control plane data to physical control plane data for propagating to the switching elements.

Claims (22)

1. A non-transitory machine readable medium storing a program which when executed by a set of processing units manages at least one managed switching element that forwards data in a network, the program comprising sets of instructions for:

receiving a first set of logical forwarding plane data, as a set of input tables of a rules engine, that defines a configuration for a set of logical datapath sets;

converting the first set of logical forwarding plane data to a second set of physical control plane data that specifies rules for a set of the managed switching elements to follow in order to implement the set of logical datapath sets, wherein the second set of physical control plane data is stored in a set of output tables of the rules engine; and

publishing the second set of physical control plane data to a set of instances of a network operating system (NOS), wherein the set of instances of the NOS uses the second set of physical control plane data to direct forwarding of data packets by the set of managed switching elements.

2. The non-transitory machine readable medium of claim 1 , wherein the set of instances of the NOS directs the forwarding of data packets by the set of managed switching elements by generating a third set of data from the second set of physical control plane data.

3. The non-transitory machine readable medium of claim 2 , wherein the third set of data is distributed to the set of managed switching elements.

4. The non-transitory machine readable medium of claim 1 , wherein the first set of logical forwarding plane data is at least partially supplied by a control application that converts a third set of data, which specifies a definition of a logical data path set, to the supplied portion of the first set of logical forwarding plane data.

5. The non-transitory machine readable medium of claim 1 , wherein the program further comprises a set of instructions for detecting a change in a state of a managed switching element and modifying the first set of logical forwarding plane data based on the detected change.

6. The non-transitory machine readable medium of claim 1 , wherein the program and the set of instances of the NOS operate on different computers.

7. The non-transitory machine readable medium of claim 1 , wherein the first set of logical forwarding plane data comprises a plurality of logical flow entries in at least one of the input tables of the rules engine that is not accessible for input by a user.

8. The non-transitory machine readable medium of claim 7 , wherein at least a subset of the plurality of logical flow entries specify forwarding rules for forwarding of data between logical addresses of the set of logical datapath sets.

9. A method for managing at least one managed switching element that forwards data in a network, the method comprising:

receiving a first set of logical forwarding plane data, as a set of input tables of a rules engine, that defines a configuration for a set of logical datapath sets;

converting the first set of logical forwarding plane data to a second set of physical control plane data that specifies rules for a set of the managed switching elements to follow in order to implement the set of logical datapath sets, wherein the second set of physical control plane data is stored in a set of output tables of the rules engine; and

publishing the second set of physical control plane data to a set of instances of a network operating system (NOS), wherein the set of instances of the NOS uses the second set of physical control plane data to direct forwarding of data packets by the set of managed switching elements.

10. The method of claim 9 , wherein the set of instances of the NOS directs the forwarding of data packets by the set of managed switching elements by generating a third set of data from the second set of physical control plane data.

11. The method of claim 10 , wherein the third set of data is distributed to the set of managed switching elements.

12. The method of claim 9 , wherein the first set of logical forwarding plane data is at least partially supplied by a control application that converts a third set of data, which specifies a definition of a logical data path set, to the supplied portion of the first set of data.

13. The method of claim 9 further comprising detecting a change in a state of a managed switching element and modifying the first set of logical forwarding plane data based on the detected change.

14. The method of claim 9 , wherein the method is performed by a program operating on a first machine and the set of instances of the NOS operate on a second, different machine.

15. The method of claim 9 , wherein the first set of logical forwarding plane data comprises a plurality of logical flow entries in at least one of the input tables of the rules engine that is not accessible for input by a user.

16. The method of claim 15 , wherein at least a subset of the plurality of logical flow entries specify forwarding rules for forwarding of data between logical addresses of the set of logical datapath sets.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2017
From: KOPONEN, TEEMU; THAKKAR, PANKAJ; CASADO, MARTIN; LAMBETH, W. ANDREW
To: NICIRA, INC.
Reel/Frame 043617/0549 →
Continuity (18)
Continuation 13219578 · Aug 26, 2011
Continuation In Part 13177538 · Jul 6, 2011
Continuation In Part 13177536 · Jul 6, 2011
Continuation 13177533 · Jul 6, 2011
Provisional Application 61505103 · Jul 6, 2011
Provisional Application 61505102 · Jul 6, 2011
Provisional Application 61505100 · Jul 6, 2011
Provisional Application 61501785 · Jun 28, 2011
Provisional Application 61501743 · Jun 27, 2011
Provisional Application 61482615 · May 4, 2011
Provisional Application 61482616 · May 4, 2011
Provisional Application 61482205 · May 3, 2011
Provisional Application 61466453 · Mar 22, 2011
Provisional Application 61429754 · Jan 4, 2011
Provisional Application 61429753 · Jan 4, 2011
Provisional Application 61361913 · Jul 6, 2010
Provisional Application 61361912 · Jul 6, 2010
Related Publication 20160359674A1 · Dec 8, 2016
Cited By (2)
US 12,463,871 US 12,695,667