Edge Server Queuing System for Web Application Traffic Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional solutions for managing high request volumes to origin servers often result in dropped requests and resource inefficiencies, as they either filter traffic or use resource-intensive first-in, first-out queuing systems that require tracking each request's arrival time or position.
Innovation Solution
Implementing an application queuing system with edge servers that offload excess requests into user buckets based on time intervals, allowing edge servers to manage separate queues and randomly select users for access when the origin server's capacity is restored, reducing memory usage and avoiding the need for individual request tracking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional FIFO queuing systems are used to manage high request volumes, then request handling capability is improved, but memory resource usage and system complexity increase due to tracking each request's arrival time or position
Solution Approach 1:
The patent segments the queue into multiple buckets organized in a tree structure, where each bucket can independently store requests. This segmentation allows the system to manage large numbers of requests without tracking each individual request's arrival time or position, as requests are distributed across discrete bucket nodes rather than stored in a continuous timeline.
Solution Approach 2:
The patent transitions from a linear FIFO queue to a multi-dimensional bucket structure organized in a tree. Instead of tracking requests along a single time axis, the system uses hierarchical buckets that organize requests by time intervals and priority levels, adding dimensional complexity to reduce the tracking burden on individual request objects.
2Reliability
If conventional FIFO queuing systems track each request's arrival time or position, then request ordering is maintained, but device complexity and processing overhead increase
Solution Approach 1:
The patent divides the request queue into multiple independent buckets, each handling a specific subset of requests. This segmentation maintains request ordering within each bucket while simplifying the overall system, as each bucket can be managed independently without requiring complex global tracking mechanisms.
Solution Approach 2:
The patent performs preliminary organization of requests into buckets based on arrival time intervals and priority levels before processing. This preliminary action establishes the ordering structure in advance, allowing the system to maintain request ordering without continuously tracking each request's position during processing.
3Ease of operation
If edge servers implement separate queues for each user, then user access management is improved, but memory resource consumption increases
Solution Approach 1:
The patent merges multiple user queues into a single shared queue structure that is organized into buckets. Instead of maintaining separate queue data structures for each user, the system uses a unified bucket-based approach where users are assigned to appropriate buckets based on their arrival time and priority, reducing the total memory required while maintaining individual user access management capabilities.
Data Source
AI summary
A web application has a limit on the total number of concurrent users. As requests from client devices are received from users, a determination is made whether the application can accept those users. When the threshold number of users has been exceeded, new users are prevented from accessing the web application and are assigned to a queue system. A webpage may be sent to the users indicating queue status and may provide their estimated wait time. A cookie may be sent to the client for tracking the position of the user in the application queue. The users are assigned to a user bucket associated with a time interval of their initial request. When user slots become available, the users queued in the user bucket (starting from the oldest user bucket) are allowed access to the web application.


