Using transactions to minimize churn in a distributed network control system
First Claim
1. For a recipient network controller, a method for computing forwarding state configuration data for a set of managed forwarding elements using inputs from a set of source controllers, the method comprising:
- receiving, from the set of source controllers, a plurality of groups of inputs that define a set of logical forwarding elements, each group of inputs for being processed together by the recipient network controller and separately from the processing of other groups of inputs;
generating sets of configuration outputs corresponding to each group of received inputs;
when at least two of the groups of inputs meet a defined condition, sending the corresponding sets of configuration outputs to the set of managed forwarding elements as a single transaction to configure the managed forwarding elements; and
for groups that do not meet the defined condition in combination with any other group, sending the corresponding sets of outputs to the set of managed forwarding elements as separate transactions to configure the managed forwarding elements.
0 Assignments
0 Petitions
Accused Products
Abstract
A particular network controller receives a first set of inputs from the first controller and a second set of inputs from the second controller. The particular controller then starts to compute a set of outputs using the first set of inputs. After a failure of the first controller, the particular controller receives a third set of inputs from the second controller. The third set of inputs and the first or second set of inputs makes up a group of inputs for being processed together and separately from another group of inputs. The particular controller then receives an indicator from the second controller, which indicates that all inputs of the group of inputs have arrived at the particular controller. After receiving the indicator and after computing the set of outputs completely, the particular controller sends the set of outputs to a fourth controller or to a managed forwarding element.
311 Citations
20 Claims
-
1. For a recipient network controller, a method for computing forwarding state configuration data for a set of managed forwarding elements using inputs from a set of source controllers, the method comprising:
-
receiving, from the set of source controllers, a plurality of groups of inputs that define a set of logical forwarding elements, each group of inputs for being processed together by the recipient network controller and separately from the processing of other groups of inputs; generating sets of configuration outputs corresponding to each group of received inputs; when at least two of the groups of inputs meet a defined condition, sending the corresponding sets of configuration outputs to the set of managed forwarding elements as a single transaction to configure the managed forwarding elements; and for groups that do not meet the defined condition in combination with any other group, sending the corresponding sets of outputs to the set of managed forwarding elements as separate transactions to configure the managed forwarding elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory machine-readable medium storing a recipient network controller program which when executed by at least one processing unit computes forwarding state configuration data for a set of managed forwarding elements using inputs from a set of source controllers, the recipient network controller program comprising sets of instructions for:
-
receiving, from the set of source controllers, a plurality of groups of inputs that define a set of logical forwarding elements, each group of inputs for being processed together by the recipient network controller and separately from the processing of other groups of inputs; generating sets of configuration outputs corresponding to each group of received inputs; when at least two of the groups of inputs meet a defined condition, sending the corresponding sets of configuration outputs to the set of managed forwarding elements as a single transaction to configure the managed forwarding elements; and for groups that do not meet the defined condition in combination with any other group, sending the corresponding sets of outputs to the set of managed forwarding elements as separate transactions to configure the managed forwarding elements. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification