Server Dependency Tree Request Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecapability to handle multiple requestsVSAvoidmemory consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #34Discarding and recovering

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

Engineering Contradiction:
Improvememory consumptionVSAvoidprioritization information
Core Design Contradiction:
Quantity of substanceVSLoss of information

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improveprioritization informationVSAvoidcomplexity of maintaining ordered list
Core Design Contradiction:
Loss of informationVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10075501B2Method and device for processing web requests
Publication Date: 2018.09.11 CANON KK
  • US10075501B2 patent drawing
  • US10075501B2 patent drawing
  • US10075501B2 patent drawing

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.