Secondary input queues for maintaining a consistent network state
First Claim
Patent Images
1. A host computer for executing a network controller for computing forwarding rules in a distributed network control system, the host computer comprising:
- at least one processing unit for executing instructions;
a non-transitory machine readable medium storing sets of instructions for implementing the network controller, the sets of instructions for;
defining a primary input queue and a plurality of secondary input queues for storing inputs received at the network controller;
storing inputs regarding configurations of logical forwarding elements implemented by a plurality of physical forwarding elements, said stored inputs received from a plurality of input sources in the plurality of secondary input queues, each secondary input queue for storing inputs from one of the plurality of input sources;
inserting barriers between the stored inputs in each secondary input queue of the plurality of secondary input queues, each of the barriers indicating an end to a set of the inputs to be processed together, the barriers for preventing partial changes to the forwarding rules propagating to the physical forwarding elements;
detecting the barriers on the secondary input queues and moving each of the sets of inputs as a group to the primary input queue; and
sending a set of forwarding rules to a set of the physical forwarding elements in the distributed network control system, the forwarding rules computed by processing together each set of inputs in the primary input queue.
2 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments provide a novel network control system that uses secondary input queues to receive and store inputs from multiple input sources prior to moving the inputs to a primary input queue for processing. The secondary input queues provide a separate storage for each input source so that the inputs from the different sources do not get mixed with each other to ensure that fixed points and barriers sent to the controller maintain their integrity.
-
Citations
20 Claims
-
1. A host computer for executing a network controller for computing forwarding rules in a distributed network control system, the host computer comprising:
-
at least one processing unit for executing instructions; a non-transitory machine readable medium storing sets of instructions for implementing the network controller, the sets of instructions for; defining a primary input queue and a plurality of secondary input queues for storing inputs received at the network controller; storing inputs regarding configurations of logical forwarding elements implemented by a plurality of physical forwarding elements, said stored inputs received from a plurality of input sources in the plurality of secondary input queues, each secondary input queue for storing inputs from one of the plurality of input sources; inserting barriers between the stored inputs in each secondary input queue of the plurality of secondary input queues, each of the barriers indicating an end to a set of the inputs to be processed together, the barriers for preventing partial changes to the forwarding rules propagating to the physical forwarding elements; detecting the barriers on the secondary input queues and moving each of the sets of inputs as a group to the primary input queue; and sending a set of forwarding rules to a set of the physical forwarding elements in the distributed network control system, the forwarding rules computed by processing together each set of inputs in the primary input queue. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. For a network controller that computes forwarding rules in a distributed network control system, a method comprising:
-
storing inputs regarding configurations of logical forwarding elements implemented by a plurality of physical forwarding elements, said stored inputs received from a plurality of input sources in a plurality of secondary input queues, each secondary input queue for storing inputs from a one of a plurality of input sources in the network; inserting barriers between the stored inputs in each secondary input queue of the plurality of secondary input queues, each of the barriers indicating an end to a set of the inputs to be processed together, the barriers for preventing partial changes to the forwarding rules propagating to the physical forwarding elements; detecting the barriers on the secondary input queues and moving each of the sets of the inputs as a group to a primary input queue; and sending a set of forwarding rules to a set of the physical forwarding elements in the distributed network control system, the forwarding rules computed by processing together each set of inputs in the primary input queue. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory machine readable medium storing sets of instructions for implementing a network controller for computing forwarding rules in a distributed network control system, the sets of instructions executable by a processing unit, the sets of instructions for:
-
storing inputs regarding configurations of logical forwarding elements implemented by a plurality of physical forwarding elements, said stored inputs received from a plurality of input sources in a plurality of secondary input queues, each secondary input queue for storing inputs from one of the plurality of input sources; inserting barriers between the stored inputs in each secondary input queue of the plurality of secondary input queues, each of the barriers indicating an end to a set of inputs to be processed together, the barriers for preventing partial changes to the forwarding rules propagating to the physical forwarding elements; detecting the barriers on the secondary input queues and moving each of the sets of inputs as a group to a primary input queue; and sending a set of forwarding rules to a set of the physical forwarding elements in the distributed network control system, the forwarding rules computed by processing together each set of inputs in the primary input queue. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification