Predictable State Partitioning for Distributed Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed systems face inefficiencies in load balancing and state management, leading to increased memory utilization, latency, and overhead due to the need for duplicate state copies and remote data transfers across cluster members.
Innovation Solution
Implementing an externally predictable protocol state partitioning algorithm that directs protocol messages to the same cluster member that owns the corresponding state, eliminating the need for state copying and reducing network, CPU, and memory utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If state structures are held in duplicate copies in memory of subset of processes, then availability is improved, but memory utilization increases and latency increases
Solution Approach 1:
The patent segments the distributed system into multiple cluster members, each responsible for owning specific state structures. Instead of duplicating entire state structures across all members, the system partitions state management responsibilities, allowing each member to hold only the state it owns rather than maintaining duplicate copies of all state.
Solution Approach 2:
The patent implements local quality by having each cluster member maintain state structures locally in its own memory space rather than distributing duplicate copies across all members. This allows each member to efficiently access and process its own state without requiring remote data transfers or duplicate copies, reducing overall memory utilization while maintaining availability.
2Reliability
If state structures are held in duplicate copies in memory, then availability is improved, but latency increases due to remote data transfers
Solution Approach 1:
The system segments state ownership among cluster members, allowing each member to process protocol messages related to its owned state locally without requiring remote data transfers. This segmentation eliminates the latency associated with fetching state from other members while maintaining system availability through distributed ownership.
Solution Approach 2:
Each cluster member serves itself by processing protocol messages locally using its own state structures. The member that owns a particular state processes messages related to that state without requiring data transfers from other members, eliminating remote access latency while maintaining availability through distributed state ownership.
3Productivity
If protocol messages are forwarded to cluster members that do not own the state, then load distribution may be improved, but network overhead and CPU overhead increase
Solution Approach 1:
The load balancer performs preliminary action by determining which cluster member owns the state corresponding to each protocol message before forwarding the message. This pre-determination ensures that messages are always routed to the owning member, eliminating the need for state copying or remote data transfers and reducing network overhead and CPU overhead associated with state management.
4Reliability
If duplicate state copies are maintained across cluster members, then availability is improved, but device complexity increases
Solution Approach 1:
The patent segments state ownership among cluster members, with each member responsible for maintaining and processing its own state. This segmentation simplifies state management by eliminating the complexity of coordinating duplicate copies across members, as each member independently manages its owned state without requiring synchronization or consistency protocols with other members.
Data Source
AI summary
A system performs load balancing. The system receives a protocol message by a load balancer in communication with a distributed system comprising a server cluster. The system determines a cluster member to process the protocol message, where the cluster member is a member of the server cluster configured to own a state corresponding to the protocol message. The system then forwards the protocol message to the cluster member.


