REDUCTION OF NETWORK CHURN BASED ON DIFFERENCES IN INPUT STATE
First Claim
1. For a first network controller of a network, a method comprising:
- generating a first plurality of output network state data entries from a first plurality of input network state data entries received from a second network controller, the first plurality of input network state data entries for defining a network state and the first plurality of output network state data entries for implementing the first network state;
upon determining that a connection to the second network controller has been lost, marking the first plurality of input network state data entries for deletion;
upon receiving a second plurality of input network state data entries that defines a second network state from a third network controller, unmarking a first set of input network state data entries of the marked first plurality of input network state data entries, wherein each entry of the first set of input network state data entries corresponds to an entry in the second plurality of input network state data entries; and
generating a second plurality of output network state data entries comprising (i) a first set of output network state data entries corresponding to the unmarked first set of input network state data entries and (ii) a second set of new output network state data entries generated from a second set of input network state data entries of the second plurality of input network state data entries that do not have a corresponding entry in the first plurality of input network state data entries, the second plurality of output network state data entries for implementing the second network state.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a network control system with techniques for handling failover of network controllers with minimal churn in the network state distributed to the forwarding elements of the network. Specifically, in some embodiments, the local controller designates a waiting period before computing output network state data entries based on the new version of the input network state data entries. Alternatively, or conjunctively, the local controller of some embodiments calculates the changes between the new version of input state data entries and its stored existing version of the input state data entries, and only generates new output network state data entries based on the calculated changes, in order to minimize unnecessary recalculations of the output network state data entries. The new output network state data entries may then be used by the local controller to provision its managed forwarding element.
-
Citations
24 Claims
-
1. For a first network controller of a network, a method comprising:
-
generating a first plurality of output network state data entries from a first plurality of input network state data entries received from a second network controller, the first plurality of input network state data entries for defining a network state and the first plurality of output network state data entries for implementing the first network state; upon determining that a connection to the second network controller has been lost, marking the first plurality of input network state data entries for deletion; upon receiving a second plurality of input network state data entries that defines a second network state from a third network controller, unmarking a first set of input network state data entries of the marked first plurality of input network state data entries, wherein each entry of the first set of input network state data entries corresponds to an entry in the second plurality of input network state data entries; and generating a second plurality of output network state data entries comprising (i) a first set of output network state data entries corresponding to the unmarked first set of input network state data entries and (ii) a second set of new output network state data entries generated from a second set of input network state data entries of the second plurality of input network state data entries that do not have a corresponding entry in the first plurality of input network state data entries, the second plurality of output network state data entries for implementing the second network state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory machine readable medium storing a program which when executed by at least one processing unit of a first controller maintains a consistent network state, the program comprising sets of instructions for:
-
generating a first plurality of output network state data entries from a first plurality of input network state data entries received from a second network controller, the first plurality of input network state data entries for defining a network state and the first plurality of output network state data entries for implementing the first network state; upon determining that a connection to the second network controller has been lost, marking the first plurality of input network state data entries for deletion; upon receiving a second plurality of input network state data entries that defines a second network state from a third network controller, unmarking a first set of input network state data entries of the marked first plurality of input network state data entries, wherein each entry of the first set of input network state data entries corresponds to an entry in the second plurality of input network state data entries; and generating a second plurality of output network state data entries comprising (i) a first set of output network state data entries corresponding to the unmarked first set of input network state data entries and (ii) a second set of new output network state data entries generated from a second set of input network state data entries of the second plurality of input network state data entries that do not have a corresponding entry in the first plurality of input network state data entries, the second plurality of output network state data entries for implementing the second network state. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. The non-transitory machine readable medium of claim 24, wherein the centralized network controller provides input network state data entries defining the logical network to a plurality of other local controllers operating on computing devices with other managed forwarding elements.
Specification