Distributed OS State Synchronization in Multi-Chassis Routers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As networks become increasingly complex, managing state information across multiple components in multi-chassis routers becomes challenging, leading to inefficiencies in state propagation and potential interruptions in packet forwarding due to redundant execution of operating systems and failure scenarios.
Innovation Solution
A distributed operating system is implemented across computing nodes, utilizing an object flooding protocol for synchronization and a hierarchical naming scheme to efficiently propagate state information, allowing for elastic resource management and resilience against node failures without the need for rebooting.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple routing engines each execute a separate instance of the operating system to manage state information, then reliability is improved through failover capability, but device complexity increases due to redundant execution of operating systems
Solution Approach 1:
The patent merges multiple separate instances of the operating system into a single shared instance that is accessed by multiple routing engines. This eliminates redundant execution while maintaining reliability through shared state information management, directly resolving the contradiction between improved reliability and increased device complexity
Solution Approach 2:
The single instance of the operating system serves multiple routing engines simultaneously, providing universal state information management functionality. This multi-functional approach allows one instance to fulfill the roles previously requiring multiple separate instances, reducing complexity while maintaining reliability
2Reliability
If standby routing engines are forced to relearn lost state information from each resource, then reliability is ensured through proper control assumption, but loss of time occurs due to interruption in packet forwarding
Solution Approach 1:
The system performs preliminary actions by maintaining persistent state information in a shared repository before failures occur. When failover happens, the standby routing engine can immediately access pre-saved state information without needing to relearn it, eliminating the time loss while ensuring reliability through proper state restoration
Solution Approach 2:
The patent implements copying of state information to a shared repository that can be quickly accessed during failover. Instead of relearning state information from scratch, the standby engine copies it from the shared repository, dramatically reducing the time loss during failover while maintaining reliability
3Power
If multi-chassis routers combine resources of multiple routing devices, then bandwidth capabilities are improved, but device complexity increases due to large number of components executing different instances of the operating system
Solution Approach 1:
The patent merges the operating system execution model across multiple chassis by implementing a single shared instance that serves all routing engines in the multi-chassis router. This maintains the high bandwidth capabilities of combined resources while eliminating the complexity of multiple separate instances, directly resolving the contradiction
4Loss of information
If state update notification messages are issued to consumers, then state information propagation is achieved, but loss of energy occurs due to continuous notification and retrieval processes
Solution Approach 1:
The system implements self-service by allowing consumers to autonomously retrieve state information from the shared repository when needed, without requiring continuous active notification from producers. This on-demand retrieval model reduces energy consumption while ensuring state information is properly propagated to all consumers
Data Source
AI summary
In general, techniques are described for organizing execution of distributed operating systems for network devices. A device comprising hardware computing nodes may be configured to perform the techniques. The hardware computing nodes may execute a protocol by which to discover a topology of the plurality of hardware computing nodes, and determine, based on the topology, a subset of the plurality of hardware computing nodes to manage execution of a distributed operating system. The determined subset of the plurality of hardware computing nodes may execute a communication bus by which to synchronize operating system state information between the subset of the plurality of hardware computing nodes. The hardware computing nodes may further execute, based on the operating system state information, the distributed operating system to provide an execution environment in which one or more applications execute.


