Batching API Requests to Reduce Database Hardware Costs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for handling high volumes of requests to cloud application programming interfaces (APIs) require multiple database instances and hardware expansion, leading to increased costs and inefficiencies due to the queuing and processing of requests.

Innovation Solution

A system that groups API requests based on the functions they call and combines requests within a specified time interval into a single database call, optimizing database usage and reducing the need for hardware expansion by assigning priorities and using identifiers to distinguish individual responses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple database instances are used to handle high-volume requests, then request processing capacity is improved, but hardware costs and system complexity increase

Engineering Contradiction:
Improverequest processing capacityVSAvoidhardware requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple individual database calls into a single batched database call by grouping requests with the same function calls. This merging approach allows the system to handle high-volume requests using a single database instance, thereby improving request processing capacity without increasing hardware requirements or system complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary grouping and batching of requests before submitting them to the database. By organizing requests into pools based on function calls and time intervals in advance, the system optimizes database usage and reduces the number of individual database calls needed,ไปŽ่€Œ handling high-volume traffic without additional hardware.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If requests are processed individually through queuing, then request handling is simplified, but processing time and system resource consumption increase

Engineering Contradiction:
Improverequest handling simplicityVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent merges multiple individual request processing operations into a single batched database call. By grouping requests that call the same functions and batching them together, the system reduces the total number of database operations required, thereby decreasing processing time while maintaining operational simplicity through automated pooling and batching mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If hardware expansion is implemented to handle request congestion, then system capacity is improved, but cost increases

Engineering Contradiction:
Improvesystem capacityVSAvoidhardware resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies merging by combining multiple database calls into single batched operations, which maximizes the utilization of existing database instances. This approach increases system capacity to handle high-volume requests without requiring additional hardware resources, thereby improving productivity while reducing the quantity of hardware needed.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system changes the parameter of database call frequency and batch size by implementing time-based pooling intervals. By adjusting these parameters, the system can optimize database usage efficiency and handle higher request volumes with the same hardware resources, effectively increasing capacity without hardware expansion.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9401953B2Intelligent high-volume cloud application programming interface request caching
Publication Date: 2016.07.26 AT&T INTELLECTUAL PROPERTY I L P
  • US9401953B2 patent drawing
  • US9401953B2 patent drawing
  • US9401953B2 patent drawing

AI summary

A system for processing requests handled by an application programming interface is disclosed. The system may receive a plurality of requests which call functions that are hosted by the application programming interface. Once the plurality of requests are received, the system may group a subset of the requests into a pool of requests if the subset of requests call similar functions hosted by the application programming interface. Additionally, the system may combine a set of requests from the pool of requests into a set of calls if the set of requests in the pool of requests are received by the system during a specified time interval. Furthermore, the system may include pushing the set of calls to a database to obtain a result set for the set of requests in the set of calls. The system may then receive the result set in response to the set of calls.