Batch Script Proxy for Reducing Client-Server Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional web scripting languages suffer from redundant bandwidth usage due to individual exchanges with the server for each computationally intensive operation, as they often retransmit data objects for successive operations, which is inefficient and wasteful.

Innovation Solution

A batch script file is used to define a set of operations that are executed on the server, eliminating the need for individual client-server exchanges by transmitting the batch script and object once, with the server performing the operations in sequence and returning the final result, thereby reducing bandwidth usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If individual client-server exchanges are used for each computationally intensive operation, then the server can process operations sequentially with simple request handling, but bandwidth consumption increases due to redundant data transmission

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidbandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent combines multiple individual client-server exchanges into a single batch operation. Instead of sending separate requests for each computationally intensive operation (e.g., image filtering, encryption, compression), the client packages multiple operations into one batch request that is transmitted to the server in a single data transmission event. The server processes all operations in the batch sequentially and returns all results in one response, eliminating redundant bandwidth usage while maintaining processing capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The client prepares and structures the batch of operations in advance before transmission to the server. The batch request is formatted with all necessary operation parameters and data references beforehand, allowing the server to immediately begin processing without requiring intermediate communication rounds. This preliminary preparation reduces the number of communication events and associated bandwidth consumption.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If data objects are retransmitted for successive operations, then the server can perform operations independently without state management, but bandwidth usage increases due to redundant data transmission

Engineering Contradiction:
Improveserver operation independenceVSAvoidbandwidth usage
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The batch operation is segmented into multiple independent sub-operations that can be processed sequentially by the server. Each operation in the batch maintains its independence with clearly defined input parameters and expected outputs, allowing the server to handle them as discrete units while benefiting from the reduced communication overhead of batch processing. This segmentation enables the server to process operations independently without requiring full data object retransmission for each operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of retransmitting the full data object for each operation, the batch request includes a single reference or pointer to the data object, along with copies or descriptions of the operation parameters needed for each successive operation. The server uses this reference to access the original data and applies each operation in sequence, eliminating redundant data transmission while maintaining operation independence.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8584142B1Methods and system for proxy component to perform plurality of operations for applying to an object
Publication Date: 2013.11.12 ADOBE INC
  • US8584142B1 patent drawing
  • US8584142B1 patent drawing
  • US8584142B1 patent drawing

AI summary

A server side scripting language hosts batch requests from a client for invoking object specific libraries on the client requestor. The requestor executes a user application driven by a web scripting language which may not have facilities or resources for efficiently invoking operations that are provided by the server. A batch script enables the requestor to invoke a set of server operations in batch, without exchanging requests and result for each invocation of a service side operation, thus mitigating the bandwidth that would otherwise occur for individual client/server exchanges for each operation. The server provides a proxy class for expected object types and operations, and a dispatch layer identifies the appropriate proxy class for each operation requested from the batch script.