Dynamic scheduling of network updates
AssigneeMicrosoft Technology Licensing, LLC
InventorsRatul MAHAJAN, Ming ZHANG, Srikanth KANDULA, Hongqiang LIU, Xin JIN
Life of this patent
Estimating the term…
Abstract
The techniques and/or systems described herein are configured to determine a set of update operations to transition a network from an observed network state to a target network state and to generate an update dependency graph used to dynamically schedule the set of update operations based on constraint(s) defined to ensure reliability of the network during the transition. The techniques and/or systems dynamically schedule the set of update operations based on feedback. For example, the feedback may include an indication that a previously scheduled update operation has been delayed, has failed, or has been successfully completed.
Claims20
A method comprising:
- determining a set of update operations to transition a state of a network from an observed network state to a target network state;
- determining one or more constraints defined to ensure reliability of the network during the transition of the state of the network from the observed network state to the target network state;
- generating, by one or more processors and based at least in part on the one or more constraints, at least a first ordering in which a first subset of the set of update operations can be scheduled and a second ordering in which a second subset of the set of update operations can be scheduled, wherein at least one update operation is included in both the first subset of update operations and the second subset of update operations;
- scheduling the first ordering;
- receiving an indication of a failed update operation or a delayed update operation in the first ordering;
- and
- dynamically scheduling, based at least in part on the indication, the second ordering such that the at least one update operation included in both the first subset of update operations and the second subset of update operations is scheduled to be completed via the second ordering.
One or more devices comprising:
- one or more processors;
- and
- memory storing computer executable instructions that, when executed by the one or more processors, cause the one or more devices to:
- determine a set of update operations to transition a state of a network from an observed network state to a target network state;
- and
- dynamically select, for scheduling, one or more next update operations of the set of update operations based at least in part on feedback associated with at least one previously scheduled update operation of the set of update operations.
A system comprising:
- one or more processors;
- and
- memory storing computer executable instructions that, when executed by the one or more processors, cause the system to:
- determine update operations to transition a state of a network from an observed network state to a target network state;
- generate dependencies between the update operations based at least in part on one or more constraints defined to ensure reliability of the network during the transition of the state of the network from the observed network state to the target network state, wherein the dependencies define a first update operation to be completed after successful completion of either a second update operation or a third update operation;
- schedule the second update operation for completion;
- determine that that second update operation has not been completed;
- based on a determination that the second update operation has not been completed, schedule the third update operation for completion;
- and
- based on a determination that the third update operation has been completed, schedule the first update operation for completion.
Dependencies are inferred from the claim text.