Buffered subscriber tables for maintaining a consistent network state
First Claim
1. A non-transitory machine-readable medium storing a program executable by at least one processing unit of a subscriber controller in a network control system, the program for the subscriber controller comprising sets of instructions for:
- receiving a first set of inputs from a first publisher controller that publishes a particular publication including network state data comprising metadata for resolving conflicts in the network state, wherein metadata in a publication comprises an identification of the publication;
detecting a disconnection between the subscriber controller and the first publisher controller; and
while the subscriber controller and the first publisher controller are disconnected;
maintaining the first set of inputs received from the first publisher controller in a buffered input table to ensure that the network state data is not lost;
receiving a second set of inputs of the particular publication from a second publisher controller that publishes the particular publication, the second set of inputs including network state data comprising metadata for resolving conflicts in the network state; and
in the buffered input table, replacing the first set of inputs with the second set of inputs based on a comparison of the metadata received from the first and second publisher controllers, wherein a conflict occurs when the network state data received from the first and second publishers comprises identification of a same publication.
2 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments provide a novel network control system that provides publications for managing different slices (e.g., logical and/or physical entities) of a network. The publications are published from publisher controllers in the network control system to subscriber controllers. The network control system uses publications with generation numbers and buffered subscribers to implement the fixed points in order to help maintain a consistent network state. Buffered subscribers buffer the inputs received from a publisher in case the publisher becomes unavailable. Rather than deleting all of the output state that is based on the published inputs, the buffered subscriber allows the subscriber to maintain the network state until an explicit change to the state is received at the subscriber from a publisher (e.g., a restarted publisher, a backup publisher, etc.).
-
Citations
18 Claims
-
1. A non-transitory machine-readable medium storing a program executable by at least one processing unit of a subscriber controller in a network control system, the program for the subscriber controller comprising sets of instructions for:
-
receiving a first set of inputs from a first publisher controller that publishes a particular publication including network state data comprising metadata for resolving conflicts in the network state, wherein metadata in a publication comprises an identification of the publication; detecting a disconnection between the subscriber controller and the first publisher controller; and while the subscriber controller and the first publisher controller are disconnected; maintaining the first set of inputs received from the first publisher controller in a buffered input table to ensure that the network state data is not lost; receiving a second set of inputs of the particular publication from a second publisher controller that publishes the particular publication, the second set of inputs including network state data comprising metadata for resolving conflicts in the network state; and in the buffered input table, replacing the first set of inputs with the second set of inputs based on a comparison of the metadata received from the first and second publisher controllers, wherein a conflict occurs when the network state data received from the first and second publishers comprises identification of a same publication. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. For a subscriber controller in a network control system that comprises a plurality of controllers, a method comprising:
-
receiving, at the subscriber controller, a first set of inputs of a particular publication from a first publisher controller that publishes the particular publication, the particular publication comprising network state data comprising metadata for resolving conflicts in the network state, wherein metadata in a publication comprises an identification of the publication; detecting a disconnection between the subscriber controller and the first publisher controller; and while the subscriber controller and the first publisher controller are disconnected; maintaining the first set of inputs received from the first publisher controller in a buffered input table to ensure that the network state data is not lost; receiving a second set of inputs of the particular publication from a second publisher controller that publishes the particular publication, the second set of inputs including network state data comprising metadata for resolving conflicts in the network state; and in the buffered input table, replacing the first set of inputs with the second set of inputs based on a comparison of the metadata received from the first and second publisher controllers, wherein a conflict occurs when the network state data received from the first and second publishers comprises identification of a same publication. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification