Client-Side Load Balancing via Topology Service Endpoints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Server performance degradation due to excessive service requests can be mitigated by implementing a load balancing system that includes multiple server devices and service endpoints, where a client computing system sends a topology service request to obtain target service endpoint resource identifiers and applies a load balancing algorithm to select an appropriate endpoint for service requests.

Innovation Solution

A server farm with topology and target service endpoints, where the client computing system receives target service endpoint URIs from a topology service endpoint, applies a load balancing algorithm to select a suitable endpoint, and sends service requests to the identified endpoint, allowing for efficient distribution of requests across multiple servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single server device handles all service requests, then device complexity is reduced, but server performance degrades due to excessive requests

Engineering Contradiction:
Improveserver performanceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the server farm into multiple server devices, each handling a portion of service requests. This segmentation distributes the request load across multiple devices, preventing any single server from being overwhelmed while maintaining system reliability. The load balancing device facilitates this segmentation by routing requests to appropriate servers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a load balancing device as an intermediary between client computing systems and server devices. This intermediary receives service requests from clients and forwards them to appropriate servers in the farm, managing the complexity of request distribution without requiring clients to directly manage multiple servers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a load balancing device is introduced to distribute requests, then server performance is maintained, but device complexity increases

Engineering Contradiction:
Improveserver performanceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The load balancing device serves as an intermediary that simplifies the system architecture by centralizing request distribution logic. Rather than requiring complex client-side management of multiple servers, the intermediary handles the routing decisions, maintaining server performance while managing complexity at a dedicated component level.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The load balancing device performs multiple functions including receiving service requests from clients, applying load balancing algorithms, selecting target servers, and forwarding requests. This multi-functionality consolidates complex operations into a single device, improving server performance without proportionally increasing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If client computing systems apply load balancing algorithms, then request distribution is optimized, but ease of operation decreases

Engineering Contradiction:
Improverequest distribution efficiencyVSAvoidclient operation simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The load balancing device acts as an intermediary that performs the complex load balancing algorithm execution on behalf of client computing systems. This removes the operational burden from clients, who simply send requests to the load balancer, while the intermediary handles the intelligent request distribution and algorithm application.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The load balancing device autonomously applies load balancing algorithms to distribute requests without requiring client systems to implement or manage these algorithms. The system serves itself by having the load balancer automatically make routing decisions based on server status and request characteristics.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8296774B2Service-based endpoint discovery for client-side load balancing
Publication Date: 2012.10.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8296774B2 patent drawing
  • US8296774B2 patent drawing
  • US8296774B2 patent drawing

AI summary

A server farm includes a plurality of server devices. The plurality of server devices includes a plurality of topology service endpoints and a plurality of target service endpoints. A client computing system sends a topology service request to one of the topology service endpoints. In response, the topology service endpoint sends target service endpoint Uniform Resource Identifiers (URIs) to the client computing system. When a client application at the client computing system needs to send a target service request to one of the target service endpoints, the client computing system applies a load balancing algorithm to select one of the target service endpoint URIs. The client computing system then sends a target service request to the target service endpoint identified by the selected one of the target service endpoint URIs. In this way, the client computing system may use a load balancing algorithm appropriate for the client application.