Bulk Task API Request Mechanism for Reducing Traffic Volume

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing APIs for batch processing services require users to submit multiple requests for computing tasks, which can lead to rate limiting issues, necessitating cumbersome and error-prone rate throttling and retry mechanisms.

Innovation Solution

A bulk task API request mechanism that allows users to submit multiple computing tasks using a single API request, where bulk task data is stored and executed when resources are available, reducing API traffic and data volume.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If users submit multiple individual API requests for computing tasks, then each task can be processed separately, but the system experiences rate limiting issues and requires cumbersome retry mechanisms

Engineering Contradiction:
Improvetask submission efficiencyVSAvoidAPI request management complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent combines multiple individual task submission requests into a single bulk API request. The bulk task operation accepts a collection of computing tasks in one request, merging what would otherwise require multiple separate API calls. This eliminates rate limiting issues and simplifies the submission process while maintaining the ability to process individual tasks separately.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If users submit multiple individual API requests, then each request can be handled independently, but the API traffic volume and data transmission increase

Engineering Contradiction:
Improvetask processing independenceVSAvoidAPI traffic volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Multiple task definitions and configurations are merged into a single bulk request payload. Instead of transmitting separate API requests for each task, the system consolidates all task submissions into one structured data transmission, significantly reducing API traffic volume and network overhead while preserving task processing independence through individual task identifiers.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of manufacture

If individual API requests are used for each computing task, then task submission is straightforward, but error-prone retry mechanisms are needed due to rate limiting

Engineering Contradiction:
Improvetask submission simplicityVSAvoidtask submission reliability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The bulk task operation merges multiple task submissions into a single atomic request, eliminating the need for retry mechanisms. The system processes all tasks in the collection together, ensuring that either all tasks are submitted successfully or none are, thereby improving reliability without compromising submission simplicity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11138033B1Providing an application programming interface (API) including a bulk computing task operation
Publication Date: 2021.10.05 AMAZON TECH INC
  • US11138033B1 patent drawing
  • US11138033B1 patent drawing
  • US11138033B1 patent drawing

AI summary

Techniques are described for providing an application programming interface (API) that includes a bulk computing task operation. A bulk computing task operation enables users to request performance of any number of computing tasks using a single API request. To submit a bulk task request, a user generates or causes the generation of bulk task data describing a plurality of computing tasks to be executed by an application or service, and causes the bulk task data to be stored at an accessible storage location. A single bulk task API request can be generated that includes an identifier of the storage location at which the corresponding bulk task data is stored. The submission of a bulk task API request results in a synchronous response to the requesting client including an identifier of the request that can be used to request status updates, while processing the request can occur asynchronously using backend resources.