Load Balancer Service Distribution for Server Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current server replication techniques fail to mitigate software failures, as identical configurations across servers can lead to cascading failures when a misbehaving service causes all servers to become unresponsive, making management of multiple servers with different configurations overly complex.

Innovation Solution

A load balancer is configured to delegate service execution workflow such that no server executes all services and no service runs on all servers, creating diversity by omitting certain servers from executing specific services, thereby reducing the likelihood of software failures and allowing diagnostic identification of failing services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If servers are replicated with identical configurations to mitigate hardware failures, then reliability is improved, but software failures can still cause cascading failures across all servers

Engineering Contradiction:
ImproveavailabilityVSAvoidcascading software failures
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by configuring servers with different service sets rather than identical configurations. Each server executes a unique subset of services, so that a failure in one service only affects specific servers rather than all servers. This creates heterogeneity in the system architecture, where each server has a specialized role rather than being a generic replica.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the service execution workload across servers by assigning different services to different servers. Instead of replicating all services on all servers, the system divides services into distinct groups and assigns them to specific servers, creating isolation between service failure domains.

Inventive Principle:
Principle #1Segmentation

2Reliability

If servers are configured differently to prevent cascading failures, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvefailure isolationVSAvoidconfiguration management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses copying by replicating the same set of services across multiple servers, but with different service selection. Each server copies the service framework and architecture, but selectively deploys different service instances, allowing for both standardization and differentiation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces dynamics through the load balancer that can dynamically assign services to servers based on current system state. This allows the system to adapt service distribution in real-time, providing flexibility without requiring static, complex configurations.

Inventive Principle:
Principle #15Dynamics

3Reliability

If all servers execute all services for maximum redundancy, then service availability is improved, but the impact of a single service failure increases

Engineering Contradiction:
Improveservice availabilityVSAvoidfailure propagation
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by configuring servers with different service sets rather than identical configurations. Each server executes a unique subset of services, so that a failure in one service only affects specific servers rather than all servers. This creates heterogeneity in the system architecture, where each server has a specialized role rather than being a generic replica.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the service execution workload across servers by assigning different services to different servers. Instead of replicating all services on all servers, the system divides services into distinct groups and assigns them to specific servers, creating isolation between service failure domains.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8417805B2Controlling execution of services across servers
Publication Date: 2013.04.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8417805B2 patent drawing
  • US8417805B2 patent drawing
  • US8417805B2 patent drawing

AI summary

Computer and internet applications are commonly hosted by a large number of servers, such as a data warehouse. One concern when hosting applications is execution reliability of the applications. Unfortunately, it may be the applications themselves that provide the point of failure (e.g., an executing service creates a memory leak that causes a server to fail). Because servers are often replicated, a failure of a single executing service may become a single point of failure for every server. Accordingly, one or more systems and techniques for balancing server loads are disclosed herein. A load balancer may be configured to delegate the execution of a service amongst a plurality of servers such that no server executes all services and no service executes on all servers. The distribution of service execution amongst the plurality of servers provides service execution diversity across servers that otherwise may be configured identically with services.