Load Balancer Web Service Proxy Orchestration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing web services processing systems face inefficiencies due to one-to-one client-server mappings, which limit the ability to effectively handle increasing volumes of transactions and do not optimize resource utilization in server farms.

Innovation Solution

A load balancer acts as a web services proxy, optimizing service orchestration by assigning component operations of a service request to multiple servers, allowing for a one-to-many allocation of resources while maintaining a single front-end flow, using techniques such as discrete and redundant approaches, parallel processing, and dynamic resource allocation based on server loads and policies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a one-to-one mapping between client and server is maintained, then the system is simple to manage, but resource utilization is not optimized and scalability is limited

Engineering Contradiction:
ImprovescalabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A load balancer is introduced as an intermediary component between clients and servers. The load balancer receives client requests, determines the appropriate server based on load conditions and policies, and forwards requests accordingly. This intermediary enables many-to-one mapping at the logical level while maintaining simple client-server interactions, thereby improving scalability without significantly increasing system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements dynamic load balancing where the mapping between clients and servers is not fixed but changes based on real-time server load conditions, policies, and request characteristics. The load balancer continuously monitors server status and dynamically adjusts request routing, enabling the system to adapt to changing conditions and optimize resource utilization while maintaining manageable complexity through automated decision-making.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple flows are aggregated onto a single connection, then resource utilization improves, but the one-to-one mapping between client and server is compromised

Engineering Contradiction:
Improveresource utilizationVSAvoidmapping simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system segments the request handling process into two distinct layers: the front-end layer maintains simple one-to-one mapping between client connections and load balancer interfaces, while the back-end layer implements many-to-one mapping where multiple server connections are aggregated through the load balancer. This segmentation allows resource aggregation and improved utilization without compromising the simplicity of client-server mapping at the user-visible level.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8875135B2Assigning component operations of a task to multiple servers using orchestrated web service proxy
Publication Date: 2014.10.28 CISCO TECHNOLOGY INC
  • US8875135B2 patent drawing
  • US8875135B2 patent drawing
  • US8875135B2 patent drawing

AI summary

A load balancer or other network device in a server farm acts as a web services proxy and performs service orchestration among servers and other resources within the server farm. The load balancer receives an initial service request from a client and is able to optimize orchestration by assigning component operations of the service to multiple different servers. In this manner, a one-to-many allocation of resources can be mapped whereby a single client service request can result in multiple physical servers or other devices, processes or resources being used to handle the service request while maintaining a single back-end flow per multiple transactions.