Write Order Consistency for Asynchronous Hardware Writes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing number of feature agents in network devices leads to inefficiencies and potential failures due to the need for explicit acknowledgement of each write to hardware tables, which results in significant delays and reduces the overall performance of network devices.
Innovation Solution
Implementing a system where feature agents issue ordered writes to software tables in a non-blocking fashion, with entries in a versioned log maintaining the order of writes, allowing a hardware agent to cumulatively acknowledge writes to hardware tables without the need for explicit acknowledgement after each write.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If feature agents issue synchronous writes to hardware tables with explicit acknowledgements, then write order consistency is maintained, but acknowledgement delay time increases significantly
Solution Approach 1:
The system performs preliminary actions by having feature agents write to software tables first and record write orders in a versioned log before the hardware agent actually writes to hardware tables. This allows the feature agent to proceed without waiting for hardware write acknowledgements, eliminating the time delay while maintaining order consistency through the versioned log.
Solution Approach 2:
The patent introduces software tables and a versioned log as intermediary components between the feature agent and hardware tables. The versioned log acts as a mediator that records the order of writes, allowing the hardware agent to process writes in the correct sequence without requiring synchronous acknowledgements from the feature agent, thus resolving the contradiction between consistency and delay.
2Adaptability or versatility
If multiple feature agents execute on the network device, then feature functionality increases, but operational efficiency decreases
Solution Approach 1:
The patent segments the write operation into two independent parts: feature agents write to software tables and record in the versioned log, while a separate hardware agent handles the actual hardware table writes. This segmentation allows multiple feature agents to operate concurrently without interfering with each other, improving operational efficiency while maintaining full feature functionality.
Solution Approach 2:
The versioned log and software tables enable feature agents to self-service by recording their write operations without needing to wait for hardware acknowledgements. This self-service mechanism allows feature agents to continue operating independently and efficiently, even as the number of feature agents increases.
3Manufacturing precision
If feature agents directly manage hardware tables, then write control is precise, but data transformation and reformatting complexity increases
Solution Approach 1:
The patent introduces software tables as an intermediary layer between feature agents and hardware tables. Feature agents write to software tables in their native format, and the hardware agent handles the data transformation and reformatting when writing to hardware tables. This intermediary approach maintains precise write control through the versioned log while eliminating the complexity of data transformation from the feature agent.
Data Source
AI summary
Systems and methods for maintaining order consistency for asynchronous writes in a network device. In one embodiment, a method includes issuing, by a feature agent of a network device, a plurality of writes to software tables which may be contained in the feature agent. For each write, a corresponding entry is added to a log associated with the software tables, the log entry identifying an order of the write among the plurality of writes. A hardware agent accesses the log to select a next one of the entries in the identified write order and then accesses the software table to retrieve content identified by the selected log entry. The hardware agent then translates the information from the software table to a different form if necessary and writes the information to one or more hardware tables that are indicated by the write associated with the selected log entry.


