Database Routing via Session Identifiers for Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing a computing cluster that balances load and ensures high availability, particularly in handling client requests across web and database servers, is challenging due to the need for efficient routing and distribution of requests to maintain performance under heavy usage and minimize service disruptions.

Innovation Solution

Implementing session identifiers to route subsequent client requests to the same database server, while using load balancers to distribute requests geographically and ensure equal loading, and maintaining replicated database servers to handle requests efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load balancers distribute requests across multiple database servers, then load balancing is improved, but request routing complexity increases

Engineering Contradiction:
Improveload balancingVSAvoidrequest routing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces session identifiers as an intermediary mechanism between web servers and database servers. These identifiers are embedded in client requests and used by database servers to determine routing, eliminating the need for complex load balancer logic while maintaining effective load distribution across database servers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary action by assigning session identifiers to client requests before they reach the database servers. This pre-assignment of routing information simplifies subsequent request handling and database server routing decisions, reducing overall system complexity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If session identifiers are used to route requests to the same database server, then high availability is improved, but routing mechanism complexity increases

Engineering Contradiction:
Improvehigh availabilityVSAvoidrouting mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Session identifiers serve as a simple intermediary that carries routing information through the system. The database server extracts these identifiers from incoming requests and uses them to determine which database server should handle the request, ensuring high availability while maintaining a simple routing mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The routing mechanism uses self-service principles where the session identifier itself contains the necessary routing information. The database server autonomously uses the identifier to determine routing without requiring complex external routing logic or additional control mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8458210B2Database load balancing through dynamic database routing
Publication Date: 2013.06.04 VERIZON PATENT & LICENSING INC
  • US8458210B2 patent drawing
  • US8458210B2 patent drawing
  • US8458210B2 patent drawing

AI summary

A computing cluster may include servers that connect database servers. In one implementation, a server may receive a resource request from a client and extract a session identifier from the resource request. The server may determine, based on the session identifier, one of the database servers to use in fulfilling the resource request.