Load Balancer Command Handling in Replicated Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a replicated server system for software repositories, determining the appropriate servers to communicate with and handling commands efficiently across multiple servers while ensuring data consistency and unified responses is challenging, especially as the number of developers and servers increases.

Innovation Solution

A system that includes an input interface to receive commands, a processor to determine the set of servers to receive the command, and a process to determine whether responses match, with the ability to generate a unified response when necessary, utilizing a command table for storing command-specific information and implementing these processes using a processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple servers are added to distribute load, then system capacity and reliability are improved, but determining the appropriate server to communicate with becomes more complex

Engineering Contradiction:
Improvesystem reliabilityVSAvoidserver selection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a load balancer as an intermediary component that receives client requests and automatically routes them to appropriate servers in the replicated server system. This mediator handles the complexity of server selection, health monitoring, and request distribution, while clients only need to communicate with the load balancer, thus improving reliability through load distribution without increasing client-side complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The load balancer performs multiple functions including request routing, health checking, session persistence, and SSL termination. By consolidating these diverse functions into a single universal component, the system achieves improved reliability and load distribution without requiring clients to implement complex server selection logic for each specific function

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

2Reliability

If commands are sent to multiple replicated servers, then data consistency is improved, but response handling and unification become more complex

Engineering Contradiction:
Improvedata consistencyVSAvoidresponse handling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the load balancer collects responses from multiple replicated servers, compares them for consistency, and uses this feedback to determine whether to proceed with the operation. The system monitors server responses and adjusts routing decisions based on consistency verification, ensuring data reliability while automating the response handling process

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The load balancer acts as an intermediary that receives responses from multiple servers, performs consistency verification, and presents a unified response to the client. This mediator absorbs the complexity of handling multiple responses and coordinating consistency checks, allowing clients to interact with a single standardized interface regardless of the number of replicated servers

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If load distribution across multiple servers is implemented, then system capacity is improved, but communication overhead and latency increase

Engineering Contradiction:
Improvesystem capacityVSAvoidcommunication latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements connection pooling and session caching mechanisms that perform preliminary actions to reduce communication overhead. By establishing persistent connections to servers in advance and caching frequently accessed data, the system minimizes the latency of subsequent requests while maintaining load distribution across multiple servers, thus improving capacity without proportionally increasing communication time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The load balancer implements intelligent request routing that counterweights the latency introduced by distributed architecture. By analyzing server response times, geographic locations, and current load conditions, the system dynamically routes requests to the optimal server, effectively counteracting the natural latency increases that come with communicating across multiple distributed servers

Inventive Principle:
Principle #8Anti-weight (Counterweight)

Data Source

PatentUS10394553B2Remote procedure calls in a replicated server system
Publication Date: 2019.08.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10394553B2 patent drawing
  • US10394553B2 patent drawing
  • US10394553B2 patent drawing

AI summary

A system for command handling for replicated repositories includes an input interface and a processor. The input interface is to receive a command. The processor is to determine a set of servers to receive the command, determine whether responses match for the command for each server of the set of server, and in the event the responses do not match, determine whether the responses are required to match for the command and in the event the responses are not required to match for the command, determine a unified response.