DNS-Based In-Packet Service Version Tagging for Load Balancer Transitions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In utility computing environments, load balancers face challenges in efficiently transitioning between different versions of services due to scalability issues and the need for consistent traffic mapping, especially during node upgrades and changes in service pool size, which can lead to bottlenecks and resource inefficiencies.
Innovation Solution
Implementing a system where each version of the load balancer service is associated with a unique data traffic service network address, utilizing a Domain Name Server to map traffic flows, and employing a stateless yet deterministic approach based on traffic flow parameters, such as hashing, to distribute traffic without requiring per-flow state tracking by the load balancer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the load balancer maintains per-flow state to ensure consistent traffic mapping, then traffic distribution reliability is improved, but system scalability deteriorates
Solution Approach 1:
The patent extracts the state maintenance function from the load balancer to the client device. The load balancer becomes stateless, while clients maintain their own flow state information. This resolves the contradiction by removing the scalability bottleneck from the load balancer while preserving traffic distribution reliability through client-side state tracking.
Solution Approach 2:
The patent introduces version identifiers as an intermediary mechanism. Instead of maintaining complex per-flow state, the load balancer uses simple version tags in packets to enable clients to make consistent forwarding decisions locally. This intermediary approach maintains reliability without requiring the load balancer to store state.
2Adaptability or versatility
If the load balancer transitions quickly between service versions, then service adaptability is improved, but traffic mapping consistency deteriorates
Solution Approach 1:
The patent applies preliminary action by having clients pre-establish version mappings before service transitions occur. Clients maintain a mapping between version identifiers and service endpoints, allowing them to quickly adapt to version changes while maintaining consistent traffic routing. The version identifier acts as a pre-configured key that clients can use to determine the correct service version without real-time state synchronization.
Solution Approach 2:
The patent changes the parameter used for traffic routing from complex flow state to simple version identifiers. By tagging packets with version parameters and using these as the basis for routing decisions, the system enables rapid service version transitions while maintaining consistency. The version parameter serves as a stable identifier that clients can use to maintain consistent mappings even as service versions change.
3Measurement precision
If multiple public IP addresses are allocated for different service versions, then version identification accuracy is improved, but network resource consumption deteriorates
Solution Approach 1:
The patent segments the version identification function from the network address. Instead of using different IP addresses for different versions, it uses version identifiers as separate tags within the packet data. This segmentation allows precise version identification without consuming additional network address resources, as the version information is carried as metadata rather than requiring separate address space.
Data Source
AI summary
Embodiments of the present communications systems and methods may provide the capability for fast and reliable transitioning between the different versions of the service of the multi-node service deployed in the utility computing system. For example, in an embodiment, a computer-implemented method for data traffic distribution may comprise allocating a plurality of data traffic service network addresses to a load balancer service, wherein each data traffic service network address is associated with a different version of the load balancer service, receiving a plurality of data traffic flows, and distributing each data traffic flow to a version of the load balancer service based on a data traffic service network address of each data traffic flow.


