Incremental API Processing for Server Load Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, large API requests from mobile applications can lead to inefficiencies and errors due to high server resource consumption and unreliable network access, particularly during peak hours when server resources are scarce.

Innovation Solution

The implementation of an adaptive model, known as 'Relay-based Priming,' which splits API processing into multiple requests based on server utilization, adjusting the number of processing units and payload size according to current server availability, thereby dynamically managing resource consumption and reducing error occurrences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If large API requests are processed in a single batch, then complete data retrieval is achieved, but server resource consumption increases and error rates rise during peak hours

Engineering Contradiction:
Improveerror rateVSAvoidserver resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent divides large API requests into smaller incremental batches, processing them in multiple stages rather than as a single large transaction. This segmentation reduces the resource burden on servers during peak hours and lowers error rates by breaking down complex operations into manageable units that can be handled even under load.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the batch size and processing strategy based on real-time server resource availability. When resources are abundant, larger batches are processed; when resources are scarce (peak hours), the system automatically reduces batch sizes or delays non-critical processing, ensuring reliable operation across varying load conditions.

Inventive Principle:
Principle #15Dynamics

2Use of energy by moving object

If incremental processing is used to reduce server load, then resource consumption decreases, but response time increases due to multiple requests

Engineering Contradiction:
Improveserver resource consumptionVSAvoidresponse time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system performs preliminary actions by caching frequently accessed data and pre-processing information that can be reused across multiple incremental requests. This reduces the actual processing time required for each incremental batch, mitigating the overall response time penalty while maintaining reduced server resource consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The incremental processing is designed to maintain continuous useful action by overlapping data preparation and transmission operations, and by keeping client-side processing pipelines active. This ensures that while multiple requests are made, the system minimizes idle time and maintains efficient data flow, reducing the perceived response time despite the incremental nature of processing.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If adaptive processing based on server utilization is implemented, then reliability improves, but system complexity increases

Engineering Contradiction:
Improverequest completion rateVSAvoidprocessing logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where server resource utilization metrics are continuously monitored and fed back into the request processing logic. This automated feedback loop enables adaptive adjustment of processing strategies without requiring complex manual configuration or decision-making, improving reliability through data-driven decisions while keeping the added complexity manageable.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The processing system performs self-service by automatically adjusting its own behavior based on server conditions, without requiring external intervention or complex coordination. The adaptive logic is embedded within the processing framework itself, allowing it to autonomously optimize its operation in response to changing server utilization, thereby improving reliability with controlled complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11956305B2Incremental application programming interface (API) processing based on resource utilization
Publication Date: 2024.04.09 SALESFORCE INC
  • US11956305B2 patent drawing
  • US11956305B2 patent drawing
  • US11956305B2 patent drawing

AI summary

System and methods are described for receiving a request from a client application to obtain data from a server; collecting a list of tasks to be performed by the server to process the request to obtain the data; performing tasks from the list of tasks by the server until an elapsed time to perform the list of tasks exceeds a first threshold and a size of a payload storing the data exceeds a second threshold; preparing the payload; and sending the payload to the client application.