Hash-Based Back-End Server Arbitration in Distributed Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for determining an appropriate back-end server in distributed computing environments face issues such as unbounded worst-case scenarios, efficiency drops with more objects, and resource-intensive retries, particularly in load balancing across multiple servers.

Innovation Solution

A method that creates a desired order of back-end servers based on a global function considering client ID and server ID, and selects a relevant subset to minimize performance impact, using load balancing services to compare arbitration order values from front-end servers to select the appropriate back-end server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional lock-based arbitration is used to determine back-end server selection, then consistency in server selection is achieved, but system efficiency drops and resource consumption increases due to retries and unbounded worst-case scenarios

Engineering Contradiction:
Improveconsistency in server selectionVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the mechanical lock-based arbitration system with a cryptographic hash-based selection mechanism. Instead of threads sequentially acquiring locks and attempting to modify shared state, each front-end server independently computes a deterministic back-end server selection using a hash function applied to the client session identifier and server farm configuration. This eliminates the need for inter-thread synchronization primitives while ensuring all servers arrive at the same back-end server selection, thereby resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If lock-based arbitration with retries is implemented, then eventual consistency is achieved, but resource consumption increases due to retry attempts between processes

Engineering Contradiction:
Improveeventual consistencyVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent enables each front-end server to independently determine the appropriate back-end server without requiring communication, coordination, or retry logic with other servers. The hash-based selection function is purely local computation that uses the client session identifier and server farm configuration to deterministically select a back-end server. This self-service approach eliminates resource-intensive retry attempts while maintaining consistency across the distributed system.

Inventive Principle:
Principle #25Self-service

3Reliability

If sequential lock acquisition is used for each back-end server object, then proper synchronization is achieved, but the complexity of the arbitration mechanism increases

Engineering Contradiction:
Improvesynchronization correctnessVSAvoidarbitration mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the synchronization requirement from the arbitration mechanism entirely. Instead of implementing a complex lock acquisition and release protocol across multiple back-end server objects, the system uses a stateless hash-based selection that requires no shared state and no synchronization primitives. The selection logic is extracted from the concurrent execution domain and replaced with deterministic computation, eliminating the complexity of managing locks and synchronization while maintaining correctness.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7720971B2Arbitrating an appropriate back-end server to receive channels of a client session
Publication Date: 2010.05.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7720971B2 patent drawing
  • US7720971B2 patent drawing
  • US7720971B2 patent drawing

AI summary

The present invention extends to methods, systems, and computer program products for arbitrating an appropriate back-end server to receive channels of a client connection. Each front-end server in a server farm specifies a back-end server in the server farm that it deems appropriate for receiving channels of a client connection. Each specified back-end server is represented by an arbitration order, for example, a universally unique identifier. A relevant set of potential back-end servers that can receive channels of a client connection is selected according to function configured to minimize performance impact. A load balancing service compares arbitration orders for different back-end servers in the set of potential back-end servers to determine an appropriate back-end server for receiving channels of the client connection.