Web Server Dynamic HTTP Session Retention via PING-PONG Feedback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing web server systems face challenges in dynamically managing and distributing HTTP sessions effectively, particularly when additional web application servers (WAS) are added or configurations change, leading to potential overloading and inefficient load balancing.
Innovation Solution
A method where a web server communicates with multiple WAS to transmit and receive HTTP requests and PING/PONG signals, allowing real-time retention and management of HTTP session information, enabling dynamic load distribution and balancing based on session load criteria.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a web server uses multiple WAS to handle HTTP requests, then the system capacity and availability are improved, but the load distribution becomes unbalanced and some WAS may be overloaded
Solution Approach 1:
The web server periodically transmits PING signals to WAS and receives PONG signals with session information, using this feedback to dynamically adjust load distribution. The server monitors session counts returned in PONG signals and directs new HTTP requests to WAS with lower session loads, preventing overload and maintaining balanced distribution across the cluster.
Solution Approach 2:
The load distribution mechanism transitions from static to dynamic by continuously monitoring session information through PING/PONG exchanges. The web server adapts request routing in real-time based on current session loads of each WAS, allowing the system to dynamically respond to changing conditions and maintain optimal balance across multiple servers.
2Measurement precision
If the web server retains session information for all WAS, then the load distribution accuracy is improved, but the memory usage and system complexity increase
Solution Approach 1:
The patent extracts only the essential session information (session count) from each WAS through PONG signals, rather than retaining complete session data. This selective extraction provides sufficient information for load balancing decisions while minimizing memory consumption and simplifying the data management complexity at the web server.
Solution Approach 2:
Each WAS autonomously maintains its own session information and voluntarily reports session counts to the web server when responding to PING signals. This self-service approach eliminates the need for centralized session management, reducing system complexity while maintaining accurate load distribution capabilities.
3Speed
If the web server frequently queries session information from WAS, then the load distribution responsiveness is improved, but the network traffic and communication overhead increase
Solution Approach 1:
The web server implements periodic PING signal transmission at predetermined intervals rather than continuous or on-demand querying. This periodic approach maintains responsive load distribution by regularly updating session information while significantly reducing network traffic and communication overhead compared to more frequent queries.
Data Source
AI summary
A web server is provided. The web server includes a communication part for receiving an HTTP request from an entity connected by network and communicating with at least one WAS; and a processor for performing at least one of (i) a process of transmitting the HTTP request received from the entity to a specific WAS selected among the at least one WAS and then receiving information on an HTTP session corresponding to the specific WAS from the specific WAS when receiving an HTTP response from the specific WAS in response to the HTTP request, thereby retaining the information on the HTTP session and (ii) a process of transmitting a PING signal and then receiving the information on the HTTP session corresponding to the specific WAS from the specific WAS when receiving a PONG signal in response to the PING signal, thereby retaining the information on the HTTP session.


