Method and mechanism for efficiently managing flows

US10511487B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10511487-B2
Application numberUS-201916364158-A
CountryUS
Kind codeB2
Filing dateMar 25, 2019
Priority dateMar 8, 2016
Publication dateDec 17, 2019
Grant dateDec 17, 2019

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.

Some embodiments provide a novel method for installing flows of a desired network state in an actualized network state of a managed forwarding element. In some embodiments, the method maintains a flow output table based on flow events received from a computation engine for computing desired state, and from a set of managed forwarding elements on which the computed desired state is installed. The method of some embodiments then installs flows on the set of managed forwarding elements based on the flow output table.

First claim

Opening claim text (preview).

We claim: 1. For a network controller that manages a flow-based managed forwarding element (MFE), a method comprising: maintaining a flow entry output table comprising: a first set of records for flow entries generated by the network controller for the MFE and determined to have a matching flow entry installed on the MFE; a second set of records for flow entries generated by the network controller for the MFE but without a matching flow entry yet installed on the MFE; and a third set of records for flow entries generated by the network controller and determined to have (i) a same matching expression as another flow entry in one of the first and second sets of records and (ii) a different action than the flow entry with the same matching expression; and when a record for a first flow entry with a particular match condition is removed from one of the first and second sets of records and a record for a second flow entry with the particular match condition is in the third set of records, moving the record for the second flow entry from the third set of records to the second set of records for the second flow entry to be installed on the MFE. 2. The method of claim 1 , wherein the record for the first flow entry with the particular match condition is removed from the first set of records by moving the first flow entry to a fourth set of records of the flow entry output table. 3. The method of claim 2 , wherein the fourth set of records is for flow entries installed on the MFE but which the network controller has either (i) not generated for the MFE or (ii) indicated as flow entries to be removed from the MFE. 4. The method of claim 3 further comprising using the flow entry output table to direct the MFE to install the second flow entry and remove the first flow entry. 5. The method of claim 1 , wherein the flow entries generated by the network controller describe a desired network state and the flow entries installed on the MFE describe an actualized network state, wherein the method further comprises using the flow entry output table to match the actualized network state to the desired network state. 6. The method of claim 1 , wherein each flow entry comprises (i) a matching expression for matching against packets to be handled by the flow entry and (ii) an action that describes an action for the MFE to perform on packets that match the matching expression of the flow entry. 7. The method of claim 1 further comprising, prior to moving the record for the second flow entry, receiving a flow event from a central network controller that specifies to remove the second flow entry from the MFE. 8. The method of claim 7 , wherein the flow event is a first flow event, the method further comprising, prior to receiving the first flow event, receiving a second flow event from the central network controller that specifies to add the first flow entry to the MFE. 9. The method of claim 1 , wherein the network controller is a local network controller that executes on a same host computer as the MFE. 10. The method of claim 9 , wherein the network controller provides data to a plurality of local network controllers, wherein each respective local network controller executes on a same respective host computer as a respective MFE that the respective local network controller manages. 11. A non-transitory machine readable medium storing a network controller program which when executed by at least one processing unit manages a flow-based managed forwarding element (MFE), the network controller program comprising sets of instructions for: maintaining a flow entry output table comprising: a first set of records for flow entries generated by the network controller for the MFE and determined to have a matching flow entry installed on the MFE; a second set of records for flow entries generated by the network controller for the MFE but without a matching flow entry yet installed on the MFE; and a third set of records for flow entries generated by the network controller and determined to have (i) a same matching expression as another flow entry in one of the first and second sets of records and (ii) a different action than the flow entry with the same matching expression; and when a record for a first flow entry with a particular match condition is removed from one of the first and second sets of records and a record for a second flow entry with the particular match condition is in the third set of records, moving the record for the second flow entry from the third set of records to the second set of records for the second flow entry to be installed on the MFE. 12. The non-transitory machine readable medium of claim 11 , wherein the record for the first flow entry with the particular match condition is removed from the first set of records by moving the first flow entry to a fourth set of records of the flow entry output table. 13. The non-transitory machine readable medium of claim 12 , wherein the fourth set of records is for flow entries installed on the MFE but which the network controller has either (i) not generated for the MFE or (ii) indicated as flow entries to be removed from the MFE. 14. The non-transitory machine readable medium of claim 13 , wherein the network controller program further comprises a set of instructions for using the flow entry output table to direct the MFE to install the second flow entry and remove the first flow entry. 15. The non-transitory machine readable medium of claim 11 , wherein the flow entries generated by the network controller describe a desired network state and the flow entries installed on the MFE describe an actualized network state, wherein the network controller program further comprises a set of instructions for using the flow entry output table to match the actualized network state to the desired network state. 16. The non-transitory machine readable medium of claim 11 , wherein each flow entry comprises (i) a matching expression for matching against packets to be handled by the flow entry and (ii) an action that describes an action for the MFE to perform on packets that match the matching expression of the flow entry. 17. The non-transitory machine readable medium of claim 11 , wherein the network controller program further comprises a set of instructions for, prior to moving the record for the second flow entry, receiving a flow event from a central network controller that specifies to remove the second flow entry from the MFE. 18. The non-transitory machine readable medium of claim 17 , wherein the flow event is a first flow event, the network controller program further comprising a set of instructions for, prior to receiving the first flow event, receiving a second flow event from the central network controller that specifies to add the first flow entry to the MFE. 19. The non-transitory machine readable medium of claim 11 , wherein the network controller is a local network controller that executes on a same host computer as the MFE. 20. The non-transitory machine readable medium of claim 19 , wherein the network controller provides data to a plurality of local network controllers, wherein each respective local network controller executes on a same respective host computer as a respective MFE that the respective local network controller manages.

Assignees

Inventors

Classifications

  • characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks] (wireless communication networks H04W {; arrangements for dividing the transmission path H04W40/00}) · CPC title

  • characterised by the conditions triggering a change of settings · CPC title

  • Organization of routing tables · CPC title

  • Protocol analysers · CPC title

  • Flow based routing · 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 US10511487B2 cover?
Some embodiments provide a novel method for installing flows of a desired network state in an actualized network state of a managed forwarding element. In some embodiments, the method maintains a flow output table based on flow events received from a computation engine for computing desired state, and from a set of managed forwarding elements on which the computed desired state is installed. Th…
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L41/12. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 17 2019 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).