DNS Name Server Session Management for Web Server Capacity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems face challenges in managing sudden spikes in client session demands for web applications, particularly during live events, as existing scalable solutions like cloud computing are not responsive enough to rapid changes in demand, leading to potential server overload and high costs.
Innovation Solution
A Domain Name System (DNS) name server is configured with a domain name resolver and a web server session manager to monitor server capacity and client device information, dynamically routing clients to either a target web server or a waiting room server based on availability, using session IDs to manage access and prioritize requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If cloud computing scalable solutions are used to manage sudden spikes in client session demands, then server capacity can be increased, but the response time to rapid demand changes is too slow and costs become high
Solution Approach 1:
The system performs preliminary actions by pre-establishing session state data structures and session management resources before client requests arrive. When a client connects, the session state is already prepared and can be immediately associated with the client's session ID, eliminating the need for time-consuming session initialization during peak demand periods.
Solution Approach 2:
The system creates simplified copies of session management functionality at the load balancer level. Instead of routing all session management operations to backend servers, the load balancer maintains session state information and can make routing decisions locally, dramatically reducing response time while handling sudden demand spikes.
2Productivity
If server capacity is increased to handle large numbers of concurrent clients, then session management capability is improved, but server overload occurs and costs increase
Solution Approach 1:
The system segments session management functionality across multiple components: the load balancer handles session state tracking and routing decisions, while backend servers focus on processing client requests. This segmentation prevents any single server from becoming overloaded with both request processing and session management tasks, improving overall system stability.
Solution Approach 2:
The load balancer acts as an intermediary between clients and backend servers, absorbing the burden of session management. It maintains session state information and makes intelligent routing decisions based on current server capacity, preventing direct overload of backend servers while maintaining high concurrent session capacity.
3Ease of operation
If session state is stored on the server, then communication between client and server is simplified, but scalability is reduced and costs increase
Solution Approach 1:
The load balancer performs multiple functions: it acts as a session manager, maintaining session state information; as a router, directing client requests to appropriate backend servers; and as a scalability enabler, allowing the system to handle varying demand levels. This multi-functionality maintains session management simplicity while dramatically improving scalability.
Solution Approach 2:
The load balancer serves as an intermediary that separates session management concerns from backend server functionality. By maintaining session state at the load balancer level rather than on individual servers, the system achieves both simplified session management (the load balancer has centralized control) and improved scalability (backend servers can be added or removed without affecting session management).
Data Source
Figure 1
Figure 2
AI summary
A Domain Name System (DNS) name server configured to manage access by client devices to a web server configured to provide access to a target resource, optionally a web application, to client devices over the Internet in a short term data communication session, the DNS name server comprising: a domain name resolver; and a web server session manager; the domain name resolver being configured, in response to receipt from a client device of a DNS query including a domain name generated by a client, the domain name comprising a domain name associated with the address of the web server and a prefix label corresponding to a session identifier (ID) for identifying the client, to: resolve the Internet Protocol (IP) address of the domain name; and pass the session ID for the client to the web server session manager; the session manager being configured, in response to receipt of the session ID from the domain name resolver, to: monitor a status of the web server; apply session management logic to the session ID, the session management logic being configured to determine whether or not to forward the client device to the web server based on one or more of: a monitored capacity of the web server, and information about the client device obtainable from the session ID; and if the logic determines that capacity is available in the web server for the client, cause the DNS name server to send to the client device a DNS reply containing the address of the web server configured to provide the client with access to the target resource.