Batch REST API for Reducing Network Overhead
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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
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.
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.
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
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.
Data Source
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).


