Asynchronous Request Pooling for Network Congestion Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems face network congestion and reduced productivity due to overwhelming user requests exceeding processing capacity, leading to delayed or rejected requests, and inefficient retry mechanisms that worsen the situation.

Innovation Solution

A computer-implemented system and method that pools multiple user requests and data packages asynchronously, allowing for batch processing and assignment, thereby managing incoming requests effectively even when they exceed processing capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the server processes requests linearly one at a time, then the processing logic is simple, but the system cannot handle overwhelming incoming requests and becomes a bottleneck

Engineering Contradiction:
Improverequest processing capacityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the request processing system into multiple independent worker threads that can process requests concurrently. Each worker thread maintains its own request queue and processes requests independently, allowing the system to handle overwhelming incoming requests while keeping individual worker logic simple and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple worker threads into a single server system that shares common resources such as the request pool, data package pool, and assignment logic. This combining approach increases overall processing capacity while maintaining standardized processing routines across all workers.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If the server increases processing capacity by adding more servers, then the request handling capability improves, but installation and operating costs increase and additional points of failure are introduced

Engineering Contradiction:
Improverequest handling capacityVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic request routing where the assignment server dynamically assigns incoming requests to available worker threads based on current system state. This dynamic allocation allows a single server with multiple workers to adapt to varying load conditions, replacing the need for multiple static servers while reducing complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Each worker thread is designed as a universal processing unit that can handle any type of request assigned to it. The workers share common data structures and processing logic, making the system more versatile and reducing the need for specialized server instances for different request types.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If the system implements a queue for incoming requests, then requests are organized systematically, but users must wait indefinitely until processing capacity frees up and the queue does not change processing speed

Engineering Contradiction:
Improverequest management organizationVSAvoiduser waiting time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements continuous request processing through multiple worker threads that operate simultaneously and continuously. Instead of a single sequential queue, multiple workers process requests in parallel, maintaining continuous useful action across the system and significantly reducing user waiting time while keeping the queue management systematic.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system performs preliminary actions by pre-allocating worker threads and preparing processing resources in advance. When requests arrive, pre-configured workers are immediately available to process them, eliminating the need for users to wait for capacity to free up and reducing overall waiting time.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If users retry requests after arbitrary periods, then individual users attempt to get their requests processed, but the collective retry behavior creates spamming that aggravates network congestion

Engineering Contradiction:
Improverequest delivery reliabilityVSAvoidnetwork efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms where the assignment server tracks request assignment status and provides responses to users about their request state. This feedback loop prevents users from blindly retrying with arbitrary delays, as they can check the current status of their requests. The system also provides feedback to the request pool about available capacity, enabling intelligent retry scheduling that avoids aggravating congestion.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system implements periodic checking and status updates for pending requests rather than allowing arbitrary user retries. Request status is checked and updated at regular intervals, and users are notified when their requests are ready for processing. This periodic action replaces chaotic user-initiated retries with a coordinated system-managed process that maintains reliability while improving network efficiency.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11818047B2Systems and methods for pooling multiple user requests to mitigate network congestion
Publication Date: 2023.11.14 COUPANG CORP
  • US11818047B2 patent drawing
  • US11818047B2 patent drawing
  • US11818047B2 patent drawing

AI summary

Computer-implemented systems and methods configured to generate a plurality of data packages based on a combination of data elements; add the plurality of data packages to a data package pool configured to store available data packages for assignment; receive an assignment request from a user device in communication with a management server; add the assignment request to a request pool configured to queue a plurality of assignment requests, wherein generating the plurality of data packages and receiving the assignment request occur asynchronously; retrieve a first group of one or more data packages from the data package pool; retrieve a second group of one or more assignment requests from the request pool; assign the one or more data packages of the first group to the one or more assignment requests of the second group; and transmit the one or more assignment requests to corresponding user devices with the assigned data packages.