Stateful Edge Services Dynamic Scaling Flow Affinity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network edge services face challenges in dynamically scaling stateful services to handle increasing traffic demands without disrupting ongoing flows, as they require additional resources and efficient management of node membership changes.
Innovation Solution
A dynamically scalable cluster of network nodes is implemented, where flows are distributed using a consistent hash function to ensure all nodes actively participate in stateful services, allowing for the addition or removal of nodes while maintaining flow affinity, with mechanisms like pinned flow tables and indirection tables for seamless packet forwarding and state management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a cluster of network nodes is dynamically resized to handle increasing traffic demands, then the processing capacity and scalability are improved, but maintaining flow affinity and ensuring continuous stateful service becomes more difficult
Solution Approach 1:
The patent segments the cluster into owner nodes and delegate nodes based on flow affinity. Owner nodes are responsible for specific flows and maintain their state information, while delegate nodes handle flows they are not owners of by delegating to the appropriate owner node. This segmentation allows dynamic resizing while maintaining flow affinity through the owner-node concept.
Solution Approach 2:
The patent introduces indirection tables as an intermediary mechanism between packets and state information. These tables map packet flow identifiers to owner nodes, enabling seamless packet forwarding even when nodes are added or removed from the cluster. The indirection table acts as a mediator that maintains flow affinity without requiring direct node-to-flow binding.
2Productivity
If all nodes in the cluster operate in active-active mode to maximize utilization, then the resource utilization and performance are improved, but the complexity of managing state information distribution increases
Solution Approach 1:
The patent applies local quality by having each node specialize in processing specific flows for which it is the owner. Instead of distributing state information uniformly across all nodes, each owner node maintains state information locally for its assigned flows. This allows all nodes to operate actively while keeping state management simple through localized ownership.
Solution Approach 2:
The patent implements partial action by having nodes process only the flows they own locally, while delegating other flows to appropriate owner nodes. This partial processing approach enables active-active operation without requiring each node to maintain or process all state information, thereby reducing the complexity of state management while maximizing resource utilization.
3Adaptability or versatility
If nodes are added or removed from the cluster, then the scalability and adaptability are improved, but interrupting existing traffic flows and losing state information becomes more likely
Solution Approach 1:
The patent implements preliminary action by pre-establishing indirection tables that map flows to owner nodes before any node changes occur. When nodes are added or removed, the system updates these tables to redirect flows to appropriate owner nodes, ensuring continuous service without interrupting existing traffic. The indirection tables are prepared in advance to handle node membership changes.
Solution Approach 2:
The patent uses copying by maintaining references to state information in indirection tables rather than physically moving or duplicating state data during node changes. The indirection tables copy the mapping relationship between flows and owner nodes, enabling seamless redirection of traffic to new or existing owner nodes without losing state information or interrupting service.
Data Source
AI summary
In order to enable dynamic scaling of network services at the edge, novel systems and methods are provided to enable addition of add new nodes or removal of existing nodes while retaining the affinity of the flows through the stateful services. The methods provide a cluster of network nodes that can be dynamically resized to handle and process network traffic that utilizes stateful network services. The existing traffic flows through the edge continue to function during and after the changes to membership of the cluster. All nodes in the cluster operate in active-active mode, i.e., they are receiving and processing traffic flows, thereby maximizing the utilization of the available processing power.


