Batch REST API for Reducing Network Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Standard REST APIs do not support batch requests or responses, leading to substantial overhead due to network round trip delays, authentication delays, and increased load on servers, which hinders the performance and responsiveness of client applications.

Innovation Solution

A batch REST API that combines multiple REST requests into a single batch request and responds with a single batch response, enabling streaming of requests and responses, enforcing size and time limits, and ensuring valid JSON responses even in error scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple individual REST requests are sent to perform multiple operations, then each request can be processed independently with standard REST protocols, but network round trip delays, authentication delays, and session setup delays occur for each request, substantially increasing total processing time and overhead

Engineering Contradiction:
Improvestandard REST protocol complianceVSAvoidnetwork round trip delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent combines multiple individual REST requests into a single batch request that can be transmitted in one network round trip. The batch request contains multiple request items, each representing a separate REST operation, allowing the server to process multiple operations simultaneously and return a single batch response, thereby eliminating repeated network delays, authentication delays, and session setup delays.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary packaging of multiple REST requests into a batch request structure before transmission. This preliminary action organizes multiple operations into a single transmittable unit, allowing the client to send all required operations in one go rather than sequentially, thus reducing the total number of network round trips and associated delays.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If multiple individual REST requests are sent to perform multiple operations, then each request can be processed independently, but authentication delay and session setup delay occur for each request, increasing total overhead

Engineering Contradiction:
Improveindependent request processingVSAvoidauthentication delay
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent merges multiple requests that would individually require authentication and session setup into a single batch request. The authentication and session establishment occur only once for the batch request, while the individual request items within the batch are processed independently, thereby eliminating repeated authentication delays while maintaining independent processing capability.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If multiple individual REST requests are sent to perform multiple operations, then each request can be processed independently, but session setup delay occurs for each request, increasing total overhead

Engineering Contradiction:
Improveindependent request processingVSAvoidsession setup delay
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent combines multiple requests into a single batch request structure, allowing session setup to occur only once at the beginning of the batch processing. The individual request items maintain their independence in terms of processing logic, but share the common session context, thereby eliminating repeated session setup delays while preserving independent request processing capabilities.

Inventive Principle:
Principle #5Merging (Combining)

4Ease of manufacture

If multiple individual REST requests are sent to perform multiple operations, then standard REST API simplicity is maintained, but substantial overhead due to network round trip delay, authentication delay, and session setup delay prevents quick GUI loading

Engineering Contradiction:
ImproveREST API simplicityVSAvoidGUI loading speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent introduces batch request functionality that merges multiple REST operations into a single request structure, maintaining the simplicity and familiarity of standard REST APIs at the conceptual level while enabling efficient bulk processing. This allows the system to load multiple GUI elements quickly by sending one batch request instead of multiple sequential requests, thereby improving GUI loading speed without sacrificing REST API simplicity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent adds a batch dimension to the traditional REST API model. While individual REST requests operate in one dimension (single operation per request), the batch request introduces a new dimension where multiple operations are contained within a single request envelope, allowing parallel processing of multiple operations and significantly reducing the time required to load multiple GUI elements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

5Adaptability or versatility

If multiple individual REST requests are sent to perform multiple operations, then standard REST protocols can be used, but devices saturate the REST server with individual requests, reducing overall server responsiveness

Engineering Contradiction:
ImproveREST protocol compatibilityVSAvoidserver responsiveness
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent enables devices to merge multiple individual REST requests into a single batch request, reducing the total number of requests sent to the server. This maintains full compatibility with standard REST protocols for the individual operations within the batch, while significantly reducing server saturation and improving overall server responsiveness by processing multiple operations in a single request cycle.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11489838B2Batch representational state transfer (REST) application programming interface (API)
Publication Date: 2022.11.01 SERVICENOW INC
  • US11489838B2 patent drawing
  • US11489838B2 patent drawing
  • US11489838B2 patent drawing

AI summary

A disclosed method of operating a representational state transfer (REST) server to respond to receiving a batch request includes: extracting a first requested item from the batch request; opening an output stream to a client network; writing a response opening of a batch response to the output stream; writing a first response item opening of the batch response to the output stream; in response to determining that a first REST service indicated by the first requested item is authorized to be invoked based on access control lists (ACLs), invoking the first REST service to stream a first response item body of the batch response to the output stream; writing a first response item closing of the batch response to the output stream; and writing a response closing of the batch response to the output stream, wherein the batch response is in valid JavaScript Object Notation (JSON).