Distributed network control system

US9407566B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9407566-B2
Application numberUS-201313756485-A
CountryUS
Kind codeB2
Filing dateJan 31, 2013
Priority dateOct 25, 2011
Publication dateAug 2, 2016
Grant dateAug 2, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

For a controller of a distributed network control system comprising several controllers for managing forwarding elements that forward data in a network, a method for managing the forwarding elements is described. The method changes a set of data tuples stored in a relational database of the first controller that stores data tuples containing data for managing a set of forwarding elements. The method sends the changed data tuples to at least one of other controllers of the network control system. The other controller receiving the changed data tuples processes the changed data tuples and sends the processed data tuples to at least one of the managed forwarding elements.

First claim

Opening claim text (preview).

What is claimed is: 1. For a first controller computer of a distributed network control system comprising a plurality of controllers for managing a plurality of forwarding elements that forward data in a network, a method for managing a set of forwarding elements, the method comprising: changing a set of data tuples stored in a relational database of the first controller computer that stores data tuples containing data for managing the set of forwarding elements in order to implement a set of logical forwarding elements of a logical network; and sending the changed data tuples to at least a second controller computer of the network control system, wherein the second controller computer processes the received changed data tuples to customize the changed data tuples for at least one of the managed forwarding elements in the set and sends the processed data tuples to the managed forwarding element in order for the managed forwarding element to implement the set of logical forwarding elements and forward the logical network data. 2. The method of claim 1 further comprising receiving a request to change the set of data tuples from at least one user of the network control system. 3. The method of claim 1 further comprising receiving a network event requiring the set of data tuples to be changed. 4. The method of claim 3 , wherein the changed data tuples includes universal physical control plane data that is common for every managed forwarding element in the set, wherein the second controller converts the received universal physical control plane data to customized physical control plane data that is specific to the managed forwarding element. 5. The method of claim 3 , wherein the changed data tuples includes universal physical control plane data, wherein the second controller computer relays the universal physical control plane data to the managed forwarding element through a controller application for converting the universal physical control plane data to customized physical control plane data for the forwarding element. 6. The method of claim 5 , wherein the controller application and the managed forwarding element both execute on a same computing device. 7. The method of claim 1 , wherein each of the first and second controllers comprises a secondary storage, the method further comprising storing the changed and processed data tuples in the secondary storage of the first and second controllers, respectively. 8. The method of claim 7 , wherein the secondary storages of the first and second controllers replicate each other. 9. The method of claim 7 , wherein the secondary storage of each controller comprises a persistent transactional database. 10. A non-transitory machine readable medium of a particular controller computer of a network control system that comprises a plurality of computers for managing a plurality of forwarding elements, each of the computers having a relational database for storing data regarding at least a subset of forwarding elements, the machine readable medium of the controller computer storing sets of instructions for execution by at least one processing unit of the controller computer, the sets of instructions for: receiving a set of data tuples relating to a particular forwarding element for which the particular controller computer is a master, the set of data tuples for directing the particular forwarding element on how to implement a set of logical forwarding elements of a logical network in order to forward the logical network data; storing the received set of data tuples in the relational database of the particular controller computer; modifying at least one data tuple in the received set of data tuples stored in the relational database; and propagating the modified data tuple to the particular forwarding element. 11. The machine readable medium of claim 10 , wherein the set of data tuples are received from another controller computer of the plurality of controller computers that is a master of the logical network for which the particular forwarding element implements the set of logical forwarding elements. 12. The machine readable medium of claim 11 , wherein the other controller computer generates the set of data tuples based on user inputs specifying the logical network. 13. The machine readable medium of claim 12 , wherein the other controller computer generates other data tuples to send to a set of other master controllers of other forwarding elements in the subset that implement the logical network. 14. A non-transitory machine readable medium of a first controller computer storing a program which when executed by at least one processing unit of the first controller computer, manages a plurality of managed switching elements that forward data through a network, the program comprising sets of instructions for: changing a set of data tuples stored in a relational database of the first controller computer that stores data tuples containing data for managing the set of forwarding elements in order to implement a set of logical forwarding elements of a logical network; and sending the changed data tuples to at least a second controller computer of the network control system, wherein the second controller computer processes the received changed data tuples to customize the changed data tuples for at least one of the managed forwarding elements in the set and sends the processed data tuples to the managed forwarding element in order for the managed forwarding element to implement the set of logical forwarding elements and forward the logical network data. 15. The machine readable medium of claim 14 , wherein the program further comprises a set of instructions for receiving a request to change the set of data tuples from at least one user of the network control system. 16. The machine readable medium of claim 14 , wherein the program further comprises a set of instructions for receiving a network event requiring the set of data tuples to be changed. 17. The machine readable medium of claim 16 , wherein the changed data tuples includes universal physical control plane datathat is common for every managed forwarding element in the set, wherein the second controller converts the received universal physical control plane data to customized physical control plane data that is specific to the managed forwarding element.

Assignees

Inventors

Classifications

  • Interconnection of networks using encapsulation techniques, e.g. tunneling · CPC title

  • Layer 2 routing, e.g. in Ethernet based MAN's · CPC title

  • Flow based routing · CPC title

  • Involving tunnels, e.g. MPLS · CPC title

  • Mapping or translating multiple network management protocols · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9407566B2 cover?
For a controller of a distributed network control system comprising several controllers for managing forwarding elements that forward data in a network, a method for managing the forwarding elements is described. The method changes a set of data tuples stored in a relational database of the first controller that stores data tuples containing data for managing a set of forwarding elements. The m…
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/50. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 02 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).