Consistent Hashing Engine for Cloud Exchange Platform Flow Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for achieving highly available access to applications hosted in public cloud or on-premise environments are imperfect, lacking effective scalability and reliability.
Innovation Solution
The implementation of a system that includes a cloud services exchange platform with branch-facing nodes, service point attachment nodes, virtual network-facing nodes, and a consistent hashing engine, which enables scalable and resilient infrastructure by routing traffic through multiple nodes and maintaining flow consistency across forward and reverse flows.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional methods are used for achieving highly available access to cloud applications, then implementation is simpler, but scalability and reliability are insufficient
Solution Approach 1:
The system segments the cloud infrastructure into multiple independent nodes (first node, second node, third node, fourth node) that can operate autonomously. Each node handles specific traffic flows, and the consistent hashing engine divides the hash space into segments assigned to different nodes, enabling independent scaling and failure isolation without affecting the entire system.
Solution Approach 2:
The consistent hashing engine acts as an intermediary between incoming traffic and the cloud nodes. It computes hash values for traffic flows and uses these hash values to determine which node should handle each flow, mediating the connection between external access and internal node distribution while maintaining load balance and availability.
2Reliability
If multiple nodes are added to improve availability, then reliability increases, but packet loss may occur during node additions or failures
Solution Approach 1:
The system pre-computes hash values for all traffic flows before routing decisions are made. By calculating the hash value upfront and using it to determine the target node, the system establishes routing decisions in advance, ensuring that packet routing is deterministic and preventing packet loss during node additions or failures since the hash-based routing remains consistent.
Solution Approach 2:
The system implements feedback mechanisms where the consistent hashing engine continuously monitors traffic flows and node status. When nodes are added or removed, the hash distribution automatically rebalances across remaining nodes, and the system adjusts routing decisions based on this feedback to maintain continuous availability without dropping packets.
3Ease of operation
If traditional load balancing is used, then implementation is straightforward, but flow consistency between forward and reverse flows is not maintained
Solution Approach 1:
The system changes the parameter used for load balancing from traditional IP address or port-based hashing to a more sophisticated hash function that considers multiple parameters including source IP, destination IP, source port, and destination port. This parameter change ensures that both forward and reverse flows of the same connection hash to the same node, maintaining flow consistency while still providing even distribution across nodes.
4Productivity
If manual scaling is performed, then control is precise, but scalability and response time are limited
Solution Approach 1:
The system implements self-service autoscaling capabilities where the consistent hashing engine automatically detects traffic patterns and node capacity utilization. When scaling is needed, the system automatically provisions new nodes, computes their hash ranges, and integrates them into the load balancing pool without manual intervention, enabling rapid scaling in response to changing traffic demands.
Data Source
AI summary
A cloud exchange platform includes policy-based routing. Labeling (or tagging) on a multi-tenant virtual private network (VPN) facilitates recognition of active routes for a flow. The tags can be implemented such that flows are treated as having active routes across a multi-tenant VPN to enable a customer to treat flows as having an identifiable active route through the multi-tenant VPN. Thus, for example, BGP can be used as a generalized signaling protocol to carry information about flows through a multi-tenant VPN.


