Load Balancer Service Distribution for Server Reliability
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If servers are configured differently to prevent cascading failures, then reliability is improved, but device complexity increases
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.
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.
3Reliability
If all servers execute all services for maximum redundancy, then service availability is improved, but the impact of a single service failure increases
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.
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.
Data Source
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.


