Versioned Hash Ring Resource Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large distributed computing systems, managing customer access to computing resources while maintaining system efficiency and security becomes increasingly challenging as complexity and usage grow, particularly due to changes in customer utilization patterns, which can lead to inefficiencies and resource misallocation.

Innovation Solution

The implementation of a hash ring system that uses immutable hash rings to route customer requests to appropriate computing resources, allowing for seamless transitions and state information transfer between worker managers, thereby reducing the impact of topology changes and improving resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the system modifies worker managers to address changing customer utilization patterns, then resource allocation efficiency improves, but system stability and customer service continuity deteriorate

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by creating a new worker manager before modifying or removing existing ones. The hash ring is updated to include the new worker manager's range, and state information is proactively transferred from the departing worker manager to the new one, ensuring no service interruption occurs during the transition

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements beforehand cushioning by maintaining multiple worker managers concurrently during transitions. The departing worker manager continues to handle requests while the new one is being set up and state information is being transferred, providing a buffer that prevents service disruption

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Productivity

If the system uses traditional dynamic hash ring updates, then resource utilization improves, but customer latency increases due to redistribution overhead

Engineering Contradiction:
Improveresource utilizationVSAvoidcustomer latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system applies local quality by making the hash ring partially dynamic rather than fully dynamic. Most of the hash ring remains static with fixed worker manager assignments, while only small localized portions are modified during updates. This minimizes the scope of redistribution and reduces customer latency

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The hash ring is segmented into multiple independent ranges, each managed by a separate worker manager. This segmentation allows updates to be performed on individual segments without affecting the entire system, enabling continuous operation with minimal latency impact

Inventive Principle:
Principle #1Segmentation

3Reliability

If the system implements comprehensive state information transfer, then service continuity improves, but system complexity increases

Engineering Contradiction:
Improveservice continuityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system extracts and transfers only the essential state information that is necessary for service continuity, rather than transferring all possible state data. This selective extraction maintains service continuity while avoiding the complexity of managing and transferring comprehensive state information

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system creates a copy of the necessary state information from the departing worker manager and transfers it to the new worker manager. This copying mechanism ensures service continuity through simple data replication rather than complex state synchronization protocols

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10657061B1Resource distribution using attributes of versioned hash rings
Publication Date: 2020.05.19 AMAZON TECH INC
  • US10657061B1 patent drawing
  • US10657061B1 patent drawing
  • US10657061B1 patent drawing

AI summary

A hash ring is used to determine and deploy configurations for a computer system for servicing customer requests. A worker manager managing a set of worker computing systems is deployed and associated with the hash ring. Various aspects of the computer system may be implemented according to configuration information for one or more attributes. Predecessor information is determined and used to obtain state information in connection with the configuration information.