Metadata Synchronization for Scalable Flow Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large-scale data centers face complexity in provisioning, administering, and managing physical computing resources due to increased scale and scope, and existing packet transformation solutions in provider networks are not scalable to handle the traffic associated with hundreds of thousands of virtual or physical machines concurrently, especially when requiring network packet address manipulation and various packet processing requirements.
Innovation Solution
A scalable, fault-tolerant network flow management service is implemented, which receives network packets, classifies them, applies transformation directives, and transmits them to destinations, utilizing a distributed system with multiple tiers of nodes for packet rewriting, state management, and metadata synchronization, enabling stateful packet processing and handling various packet processing requirements like multicast, anycast, and load balancing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If ad-hoc solutions are used for packet transformation requirements, then individual packet processing needs can be met, but the system cannot scale to handle traffic from hundreds of thousands of virtual or physical machines concurrently
Solution Approach 1:
The system segments packet transformation functionality into separate flow management entities that operate independently. Each flow management entity handles specific packet transformation tasks (NAT, multicast, anycast, load balancing) as distinct modular components, allowing the system to scale by adding individual flow management entities rather than requiring monolithic system expansion.
Solution Approach 2:
The patent introduces a hierarchical dimension to packet processing by implementing multiple tiers of flow management entities. Tier-1 entities handle local packet transformation while tier-2 entities provide centralized coordination and state synchronization. This dimensional organization allows concurrent traffic handling to scale independently from transformation complexity.
2Productivity
If multiple flow management entities are deployed to improve scalability, then concurrent traffic handling capacity increases, but maintaining consistent state information across distributed entities becomes complex
Solution Approach 1:
The system introduces a state synchronization mechanism that acts as an intermediary between distributed flow management entities. This synchronization layer uses broadcast and unicast message passing to maintain consistent flow state information across all entities without requiring direct peer-to-peer communication, thereby reducing synchronization complexity while preserving scalability.
Solution Approach 2:
Flow management entities implement feedback loops where state changes are immediately broadcast to other entities, which then update their local state and acknowledge the change. This continuous feedback mechanism ensures consistency across the distributed system while allowing each entity to operate autonomously, balancing scalability with state coherence.
3Reliability
If flow state information is replicated across all flow management entities, then fault tolerance and availability improve, but network bandwidth consumption and synchronization overhead increase
Solution Approach 1:
The system implements selective state replication where each flow management entity maintains complete flow state information locally for immediate packet processing, while only critical state changes are broadcast to other entities. This local quality approach ensures fault tolerance by keeping essential state information distributed across entities without requiring continuous full-state synchronization, thereby reducing network bandwidth consumption.
Solution Approach 2:
Instead of replicating complete flow state information continuously across all entities, the system performs partial replication only when state changes occur. Flow management entities broadcast only the delta changes (new flows, modifications, deletions) rather than full state dumps, reducing synchronization overhead and network bandwidth consumption while maintaining sufficient redundancy for fault tolerance.
Data Source
AI summary
An iteratively updated metadata collection is used for making packet rewriting decisions at a flow management system. In a particular iteration at a particular rewriting decisions node of the system, metadata representing older local decisions is discarded, and metadata representing notifications of older rewriting decisions which were received at a different tier is also discarded. Representations of more recent local decisions and more recent notifications received at the different tier are added to the metadata collection during the particular iteration. New rewriting decisions are made using aggregations of the objects in the metadata collection.


