Weight-Based Distribution for Consistent Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing consistent hashing algorithms struggle to effectively manage load balancing across servers with varying capacities and resource utilization costs, particularly in scenarios with disproportionate loads and heterogeneous server capabilities.

Innovation Solution

The implementation of weight-based distribution mechanisms within consistent hashing algorithms, where servers are assigned weights based on their processing power or storage capacity, and replicas are generated accordingly to manage requests and distribute resources efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a consistent hashing algorithm is used to distribute traffic uniformly across servers, then load distribution is improved, but servers with heterogeneous capacities cannot be effectively managed

Engineering Contradiction:
Improveload distributionVSAvoidserver capacity adaptation
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by assigning different weights to different servers based on their individual capacities. High-capacity servers receive higher weights and thus more traffic, while low-capacity servers receive lower weights and less traffic. This resolves the contradiction by making the load distribution adaptive to local server characteristics rather than applying a uniform distribution approach.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of traffic distribution from uniform to weight-proportional. By introducing weight parameters that reflect server capacities, the system can dynamically adjust traffic allocation based on server capabilities, thereby achieving both improved load distribution and adaptability to heterogeneous server capacities.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If servers with different capacities are assigned equal traffic distribution, then simplicity is maintained, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvedistribution mechanismVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces weight parameters to change the distribution mechanism from simple equal allocation to capacity-proportional allocation. This adds a parameter (weight) that reflects server capacity, enabling the system to achieve better resource utilization efficiency without significantly increasing complexity, as the weight-based approach builds upon the existing consistent hashing framework.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If weight-based replica generation is implemented, then disproportionate load management is improved, but algorithm complexity increases

Engineering Contradiction:
Improveload managementVSAvoidalgorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by generating a different number of replicas for each server based on its weight. High-capacity servers generate more replicas and thus handle more traffic, while low-capacity servers generate fewer replicas. This resolves the contradiction by making the replica generation process adaptive to local server characteristics, improving load management while keeping the complexity increase manageable.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250085995A1Weight-based distribution for consistent hashing algorithm
Publication Date: 2025.03.13 CITRIX SYSTEMS INC
  • US20250085995A1 patent drawing
  • US20250085995A1 patent drawing
  • US20250085995A1 patent drawing

AI summary

Systems and methods for weight-based distribution for consistent hashing algorithm are provided. A system can include one or more processors, coupled with memory. The one or more processors can maintain a table of a count of replicas of each of a plurality of services that is generated based on a weight of each of the plurality of services. The one or more processors can receive, from a client device remote from the one or more processors, a request. The one or more processors can select, from the table based on the request, a service of the plurality of services. The one or more processors can route the request to the selected service of the plurality of services.