Scheduling distribution of logical control plane data

US9319336B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9319336-B2
Application numberUS-201313756488-A
CountryUS
Kind codeB2
Filing dateJan 31, 2013
Priority dateOct 25, 2011
Publication dateApr 19, 2016
Grant dateApr 19, 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.

A controller for distributing logical control plane data to other controllers is described. The controller includes an interface for receiving user inputs to define logical datapath sets. The controller includes a translator for translating the user inputs to output logical control plane data. The logical control plane data is for subsequent translation into logical forwarding plane data by several other controllers. The controller includes a scheduler for (1) storing the output logical control plane data in a plurality of storage structures, each storage structure corresponding to one of the other controllers and (2) sending the output logical control plane data to the other controllers from the corresponding storage structure.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer for distributing logical control plane data to controllers, the computer comprising: a set of processing units for processing instructions; a non-transitory machine readable medium storing sets of instructions for: receiving user inputs to define logical datapath sets; translating the user inputs to output logical control plane data, said logical control plane data for subsequent translation into logical forwarding plane data by a plurality of controllers; storing output logical control plane data for each controller that is a master controller of at least one logical datapath set; and sending in batch each controller's stored output logical control plane data to the controller. 2. The computer of claim 1 , wherein the user inputs are supplied by one or more users. 3. The computer of claim 1 , wherein the set of instructions for sending output logical control plane data to the controller comprises a set of instructions for sending the output logical control plane data to the controller when more than a threshold amount of output logical control plane data is stored for the controller. 4. The computer of claim 1 , wherein the set of instructions for sending output logical control plane data to the controller comprises a set of instructions for sending the output logical control plane data to the controller periodically. 5. The computer of claim 1 , wherein the non-transitory machine readable medium further stores a set of instructions for establishing a plurality of communication channels to the controllers, each channel to each controller for sending output logical control plane data to the controller. 6. The computer of claim 5 , wherein a communication channel is a Remote Procedure Call (RPC) channel. 7. A non-transitory machine readable medium storing a program which when executed by at least one processing unit distributes logical control plane data to controllers, the program comprising sets of instructions for: receiving user inputs to define logical datapath sets; translating the user inputs to output logical control plane data, said logical control plane data for subsequent translation into logical forwarding plane data by a plurality of controllers; storing output logical control plane data for each controller that is a master controller of at least one logical datapath set; and sending in batch each controller's stored output logical control plane data to the controller. 8. The machine readable medium of claim 7 , wherein the user inputs are supplied by one or more users. 9. The machine readable medium of claim 7 , wherein the set of instructions for sending the output logical control plane data to the controller comprises sets of instructions for sending the output logical control plane data to the controller when more than the threshold amount of output logical control plane data is stored for the controller. 10. The machine readable medium of claim 7 , wherein the set of instructions for sending the output logical control plane data to the controller comprises a set of instructions for sending output logical control plane data to the controller periodically. 11. The machine readable medium of claim 7 , wherein the program further comprises a set of instructions for establishing a plurality of communication channels to the controllers, each channel to each controller for sending output logical control plane data to the controller. 12. A method for distributing logical control plane data from a controller that receives user inputs that specify forwarding behaviors of a logical forwarding element implemented by a set of managed switching elements to a set of other controllers, the method comprising: translating the user inputs to output logical control plane data, said logical control plane data for subsequent translation into logical forwarding plane data by a plurality of other controllers; storing output logical control plane data for each controller that is a master controller of at least one logical datapath set; and sending in batch each controller's stored output logical control plane data to the controller. 13. The method of claim 12 , wherein said sending the output logical control plane data to the controller comprises sending the output logical control plane data to the controller when more than a threshold amount of output logical control plane data is stored for the controller. 14. The method of claim 12 , wherein sending the output logical control plane data to the controller comprises sending output logical control plane data to the controller periodically.

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • electric · CPC title

  • Mapping or translating multiple network management protocols · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

  • Centralised 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 US9319336B2 cover?
A controller for distributing logical control plane data to other controllers is described. The controller includes an interface for receiving user inputs to define logical datapath sets. The controller includes a translator for translating the user inputs to output logical control plane data. The logical control plane data is for subsequent translation into logical forwarding plane data by sev…
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 Apr 19 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).