Nesting transaction updates to minimize communication

US9602421B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9602421-B2
Application numberUS-201313756500-A
CountryUS
Kind codeB2
Filing dateJan 31, 2013
Priority dateOct 25, 2011
Publication dateMar 21, 2017
Grant dateMar 21, 2017

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 for managing a network including managed forwarding elements that forward data in the network, a method for configuring a set of managed forwarding elements is described. The method generates a first set of flow entries for configuring the set of managed forwarding elements to forward packets as non-first-hop forwarding elements for a logical datapath set. The method generates a second set of flow entries for configuring the set of managed forwarding elements to forward packets as first-hop forwarding elements for the logical datapath set. The method sends the first set of flow entries to the set of managed forwarding elements prior to sending the second set of flow entries to the set of managed forwarding elements.

First claim

Opening claim text (preview).

What is claimed is: 1. For a controller for managing a network comprising managed forwarding elements that forward data in the network, a method for configuring a set of managed forwarding elements, the method comprising: generating a first set of flow entries for configuring the set of managed forwarding elements to forward packets as non-first-hop forwarding elements for a logical datapath set, each logical datapath in the logical datapath set defined by a logical ingress port and a logical egress port; generating a second set of flow entries for configuring the set of managed forwarding elements to forward packets as first-hop forwarding elements for the logical datapath set, wherein a first-hop managed forwarding element for a particular logical datapath has a physical port to which the logical ingress port of the logical datapath is mapped; and sending the first set of flow entries to the set of managed forwarding elements prior to sending the second set of flow entries to the set of managed forwarding elements. 2. The method of claim 1 , wherein the set of managed forwarding elements have a third set of flow entries based on which the set of forwarding elements forward packets as first-hop forwarding elements for the logical datapath set, wherein the set of managed forwarding elements uses the third set of flow entries and not the first set of flow entries until the set of managed forwarding elements receive the second set of flow entries. 3. The method of claim 2 further comprising configuring the set of managed forwarding elements to remove the third set of flow entries after receiving the second set of flow entries. 4. The method of claim 1 , wherein each managed forwarding element of the set of managed forwarding elements uses a table for storing flow entries and uses the flow entries in the table to forward packets, wherein the managed forwarding element updates the table with the first set of flow entries first and then updates the table with the second set of flow entries. 5. The method of claim 1 , wherein the first-hop managed forwarding element for the particular logical datapath receives a packet from a machine directly and forwards the packet toward a destination of the packet. 6. The method of claim 1 , wherein the logical datapath set defines forwarding behaviors of a logical forwarding element, wherein the set of managed forwarding elements implement the logical forwarding element using the flow entries. 7. The method of claim 6 , wherein the logical forwarding element has a plurality of logical ports and each of the logical ports is mapped to a physical port of one of the managed forwarding elements. 8. For a managed forwarding element for execution by at least one processing unit, the managed forwarding element maintaining a table for storing flow entries according to which the managed forwarding element forwards packets, a method for handling flow entries that specify forwarding behavior of the managed forwarding element, the method comprising: establishing a set of communication channels with a set of controllers, the communication channels for receiving flow entries from the set of controllers; designating one of the set of communication channels as a primary communication channel and the other channels of the set of communication channels as secondary communication channels; receiving a first set of flow entries from the set of controllers through the secondary communication channels; storing the first set of flow entries in a storage; and upon receiving a second set of flow entries through the primary communication channel, updating the table with the first and second sets of flow entries. 9. The method of claim 8 further comprising using the second set of flow entries received through the primary communication channel to process packets as a first-hop managed forwarding element. 10. The method of claim 8 , wherein updating the table with the first and second sets of flow entries comprises moving the first set of flow entries stored in the storage to the table. 11. The method of claim 8 further comprising forwarding packets based on the flow entries stored in the table. 12. A non-transitory machine readable medium storing a program which when executed by at least one processing unit configures a set of managed forwarding elements that forwards data in a network, the program comprising sets of instructions for: generating a first set of flow entries for configuring the set of managed forwarding elements to forward packets as non-first-hop forwarding elements for a logical datapath set; generating a second set of flow entries for configuring the set of managed forwarding elements to forward packets as first-hop forwarding elements for the logical datapath set; and sending the first set of flow entries to the set of managed forwarding elements prior to sending the second set of flow entries to the set of managed forwarding elements, wherein the set of managed forwarding elements has a third set of flow entries based on which the set of managed forwarding elements forward packets for the logical datapath set, wherein the set of managed forwarding elements uses the third set of flow entries and not the first set of flow entries until the set of managed forwarding elements receive the second set of flow entries. 13. The machine readable medium of claim 12 , wherein the program further comprises a set of instructions for configuring the set of managed forwarding elements to remove the third set of flow entries after receiving the second set of flow entries. 14. The machine readable medium of claim 12 , wherein each managed forwarding element of the set of managed forwarding elements uses a table for storing flow entries and uses the flow entries in the table to forward packets, wherein the managed forwarding element updates the table with the first set of flow entries first and then updates the table with the second set of flow entries. 15. The machine readable medium of claim 12 , wherein a first-hop managed forwarding element receives a packet from a machine directly and forwards the packet toward a destination of the packet. 16. The machine readable medium of claim 12 , wherein the logical datapath set defines forwarding behaviors of a logical forwarding element, wherein the set of managed forwarding elements implement the logical forwarding element using the flow entries. 17. The machine readable medium of claim 16 , wherein the logical forwarding element has a plurality of logical ports and each of the logical ports is mapped to a physical port of the managed forwarding elements. 18. The machine readable medium of claim 16 , wherein each logical datapath in the logical datapath set is defined by a logical ingress port and a logical egress port, wherein a first-hop managed forwarding element for a particular logical datapath has a physical port to which the logical ingress port is mapped.

Assignees

Inventors

Classifications

  • Centralised controller, i.e. arbitration or scheduling · CPC title

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

  • Mapping or translating multiple network management protocols · CPC title

  • Initialisation or configuration control {(processor initialisation G06F9/4405)} · CPC title

  • Interconnection of networks using encapsulation techniques, e.g. tunneling · 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 US9602421B2 cover?
For a controller for managing a network including managed forwarding elements that forward data in the network, a method for configuring a set of managed forwarding elements is described. The method generates a first set of flow entries for configuring the set of managed forwarding elements to forward packets as non-first-hop forwarding elements for a logical datapath set. The method generates …
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 Mar 21 2017 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).