IPv6 Address Segmentation for Tunnel Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data tunnel services face challenges in load balancing and scalability due to the tight coupling of IP addresses with data processors, making it difficult to manage large numbers of hosts and implement policies like load balancing and security effectively.
Innovation Solution
A system utilizing IPv6 addresses with a pool of addresses assigned to services, where the upper bits identify the service and the lower bits serve as tags, allowing for flexible allocation and management through a distribution controller, enabling load balancing and security policies by dynamically reallocating addresses among servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dedicated address is assigned to each client or host for data tunnel services, then the client or host can establish stable data tunnel connections, but load balancing becomes difficult to implement
Solution Approach 1:
The patent segments the address space by dividing it into network portion and host portion, allowing independent management of routing and host identification. This enables multiple hosts to share the same network address while maintaining unique host identifiers, thus enabling load balancing without sacrificing connection stability.
Solution Approach 2:
The patent introduces an address translator as an intermediary component that converts dedicated host addresses to shared network addresses and vice versa. This intermediary enables load balancing by translating addresses dynamically while maintaining the appearance of dedicated addresses to clients, thus resolving the contradiction between connection stability and load balancing capability.
2Device complexity
If traditional IP addressing is used with tight coupling of addresses to data processors, then simple address management is achieved, but scalability and flexibility in managing large numbers of hosts are limited
Solution Approach 1:
The patent applies segmentation by dividing the address structure into network portion and host portion, where the network portion identifies the data processor and the host portion identifies the specific host. This segmentation enables scalable management of large numbers of hosts while maintaining simple address management through clear separation of concerns.
Solution Approach 2:
The patent adds a new dimension to address management by introducing the host portion as a separate identifier dimension. This allows the system to scale to large numbers of hosts by utilizing the additional address space dimension, transforming the traditional flat address structure into a hierarchical two-dimensional address space.
3Productivity
If multiple addresses are allocated to each server for load balancing, then load distribution is improved, but the tight coupling between addresses and servers makes management complex
Solution Approach 1:
The address translator serves as an intermediary that manages the mapping between multiple host addresses and server network addresses. This intermediary automates the complex management of multiple addresses per server, enabling improved load distribution while hiding the management complexity from users through transparent address translation.
Solution Approach 2:
The patent implements dynamic address translation where the mapping between host addresses and server addresses can change over time based on load conditions. This dynamic capability enables flexible load distribution across servers while the address translator automatically manages the complexity of maintaining and updating these dynamic mappings.
Data Source
AI summary
A system for controlling data services, comprising a plurality of host computers configured to communicate over the network and to request a data tunnel. A plurality of server computers configured to provide data tunnel services to the plurality of host computers. An address allocator operating on one or more processors and configured to implement one or more algorithms that cause a range of addresses to be assigned to each of the server computers, wherein each of the host computers receives one of the addresses for use as part of a data tunnel service request from the host computer to the server computer.


