Server Dependency Tree Request Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
HTTP/2 protocols face inefficiencies in prioritizing and processing multiple requests over a single TCP connection, leading to potential delays in user experience due to memory constraints and loss of prioritization information when handling a large number of streams.
Innovation Solution
A method and device for processing requests in a server device that involves receiving priority parameter values from a client, building a dependency tree, maintaining a list of requests for removal, and removing requests based on their order to optimize processing and resource allocation, ensuring efficient prioritization and handling of multiple requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the server device maintains a large number of streams in memory to handle multiple concurrent requests, then the capability to handle more requests improves, but the memory consumption increases and prioritization information is lost due to memory constraints
Solution Approach 1:
The server device actively removes closed streams from the dependency tree to free up memory resources. When a stream is closed (request completed), it is discarded from the tree structure, allowing the server to maintain the dependency tree within memory constraints while continuing to handle new requests. This enables the server to recover memory for maintaining prioritization information of active streams.
2Quantity of substance
If the server device removes closed streams from the dependency tree to free memory, then memory consumption decreases, but the prioritization information is lost when the tree size is reduced
Solution Approach 1:
The server device performs preliminary actions by maintaining an ordered list of closed streams with their removal order recorded before actually removing them from the dependency tree. This preliminary recording of removal order ensures that when memory pressure occurs and streams must be removed, the server can restore prioritization information by replaying the removal order, thus preventing loss of prioritization information while still freeing memory when needed.
Solution Approach 2:
The ordered list of closed streams serves as feedback information that preserves prioritization data even after streams are removed from the active dependency tree. This feedback mechanism allows the server to reconstruct prioritization information when needed, ensuring that memory management actions do not permanently lose prioritization data about client preferences.
3Loss of information
If the server device maintains an ordered list of closed streams to preserve prioritization information, then the loss of prioritization information is prevented, but the device complexity increases
Solution Approach 1:
The ordered list of closed streams is automatically maintained as a byproduct of the stream closing process, without requiring separate complex management mechanisms. Each time a stream closes, it is automatically added to the ordered list with its removal order, making the system self-servicing for prioritization information preservation. This approach minimizes additional complexity while ensuring prioritization information is preserved.
Data Source
AI summary
The invention relates to a device and a method for processing requests. In particular, the invention concerns building a dependency tree between the requests received from the client device for prioritizing the processing of the requests by the server device; maintaining a list of requests of the dependency tree in their removal order from the dependency tree while the server device is prioritizing the processing of the requests; and removing a selection of requests from the dependency tree wherein the selection is based on the order of requests in the list.


