Programmable Switch Packet ID Assignment for Distributed Log Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed applications face challenges in maintaining synchronization across multiple servers, particularly in determining the exact order of writes and rebuilding the application after failures, while traditional storage solutions limit scalability.
Innovation Solution
A computing system utilizing a programmable switch and distributed log to assign packet IDs, ensuring synchronization and replication by logging write requests and forwarding packets to appropriate log units, allowing for efficient scaling without additional storage units per server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a local storage unit is maintained on each server to track modifications, then application synchronization and fault recovery are enabled, but storage overhead increases linearly with the number of servers
Solution Approach 1:
The patent merges the storage function by consolidating modification logs from multiple servers into a single shared storage unit. Instead of each server maintaining its own local storage unit, all servers write to and read from one centralized log, eliminating redundant storage across servers while maintaining the ability to track and synchronize modifications.
Solution Approach 2:
The shared storage unit serves multiple servers simultaneously, providing a universal storage resource that enables both synchronization and fault recovery for all servers in the distributed application without requiring dedicated storage per server.
2Ease of operation
If packet ordering is determined by server receipt time, then simple implementation is achieved, but exact write order cannot be ascertained leading to synchronization issues
Solution Approach 1:
The system assigns sequential packet IDs to write requests before they are processed by servers. This preliminary numbering establishes the exact write order in advance, allowing servers to reconstruct the correct sequence of operations even when packets arrive in different orders, thereby ensuring measurement precision without complex runtime coordination.
Data Source
AI summary
The disclosure provides an approach for transferring a packet from a source client to a destination application across a network. The approach generally includes writing an identifier to the packet by a switch, transferring the packet to a distributed log, logging a copy of the packet at the distributed log, and analyzing the packet for misplaced requests. The approach further includes, transmitting the packet from the distributed log to the destination, intercepting the packet by a shim layer and comparing the identifier to a counter maintained by the shim layer, and forwarding the packet to the destination application.


