Switch Event Ordering via Sequencer Dependency Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing the order of configuration changes in a network switch database to preserve interdependencies and prevent errors, as traditional methods lack efficient mechanisms for reordering events with potential dependencies.
Innovation Solution
Implementing a Sequencer, a stream processing engine that applies speculative and concrete logic to resequence network traffic routing events, deferring changes with dependencies and resolving them in multiple passes to ensure correct programming into hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If configuration changes are applied immediately to the switch without reordering, then the processing speed is fast, but errors and deadlocks occur due to unhandled interdependencies between changes
Solution Approach 1:
The system performs preliminary analysis of configuration changes to identify interdependencies before applying them to the switch. The sequencer examines incoming changes, builds dependency graphs, and determines the correct application order in advance, preventing errors before they occur.
Solution Approach 2:
The configuration change process is segmented into distinct phases: change detection, dependency analysis, sequencing/determination of application order, and staged application. This segmentation allows the system to handle complex interdependencies systematically without compromising overall processing efficiency.
2Reliability
If a sequencer is implemented to reorder configuration changes, then interdependencies are preserved and errors are reduced, but the system complexity increases
Solution Approach 1:
The sequencer acts as an intermediary component between the configuration management system and the switch hardware. It receives configuration changes, analyzes dependencies, determines the correct application sequence, and forwards changes in the proper order, isolating the complexity from both the management system and the switch.
Solution Approach 2:
The system implements feedback mechanisms where the sequencer monitors the state of the switch and the progress of configuration changes. This feedback allows the system to adjust the sequencing dynamically and handle unexpected conditions, maintaining reliability without requiring overly complex manual intervention.
3Manufacturing precision
If multiple passes are performed to resolve dependencies, then the accuracy of event ordering is improved, but the time required for configuration increases
Solution Approach 1:
The sequencer performs partial dependency resolution in the first pass, handling the most critical dependencies immediately. Subsequent passes resolve remaining dependencies, with each pass processing only the necessary subset of changes. This approach achieves accurate ordering without performing unnecessary full passes over all changes.
Solution Approach 2:
The sequencing process is dynamic rather than static. The system adapts the number and scope of passes based on the actual complexity of the configuration changes and their interdependencies. Simple configurations require fewer passes, while complex configurations automatically receive the necessary additional passes.
Data Source
AI summary
Examples disclosed herein relate to a method comprising detecting a plurality of changes in a database, wherein the database is used to configure a switch operating traffic on a network. The method may include determining that a subset of the plurality of changes are to be deferred before being used to configure the switch, wherein each change in the subset has a potential dependency with at least one other change in the subset. The method may also include iterating through each change in the subset. The iteration may include confirming that a target change has a dependency with another change in the subset, resolving the dependency and transmitting the target change to an object manager for configuration of the switch.


