Batch Logic Translator for Service Invocation Aggregation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The current network communication and service invocation scenarios in computer servers result in delays and resource inefficiencies due to the serial processing of service invocations, which are costly in terms of time and resources, especially when clients heavily utilize services in a serial manner.

Innovation Solution

The solution involves translating service invocations from non-batch capable languages into batch-capable languages, allowing for the processing of multiple invocations as a batch, reducing the overhead of serialization, deserialization, network transport, and connection management by using techniques like automated translation during compilation or through runtime intermediaries like local proxies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If service invocations are processed serially one by one, then each invocation can be handled independently and simply, but the overall processing time and resource consumption increase significantly

Engineering Contradiction:
Improvesimplicity of invocation handlingVSAvoidtotal processing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent combines multiple service invocations into a single batch request that is translated and executed together. The batch logic generator aggregates multiple individual invocations and translates them into a unified batch operation, allowing the server to process multiple invocations simultaneously rather than sequentially, thereby reducing total processing time while maintaining operational simplicity through automated translation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a batch logic generator and translator as an intermediary component between the client and server. This intermediary automatically translates multiple service invocations from the client's programming language into batch-capable language syntax, enabling batch processing without requiring changes to the client's existing codebase. The intermediary handles the complexity of translation and batching automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple service invocations are processed as a batch, then the overhead of serialization, deserialization, network transport, and connection management is reduced, but the system must support translation between different programming languages

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidlanguage translation capability
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal batch logic generator that can accept service invocations written in multiple different programming languages and translate them into a common batch-capable internal representation. This multi-functional translator handles various programming languages (e.g., C++, Java, Python) and converts them into a unified batch processing format, enabling the system to maintain high processing efficiency while supporting language diversity through a single universal translation layer.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of manufacture

If each service invocation is handled as an individual request, then the client code remains simple and unchanged, but the server must manage multiple separate connections and transactions

Engineering Contradiction:
Improveclient code simplicityVSAvoidserver connection management
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The batch logic generator acts as an intermediary that sits between the simple client code and the server's connection management layer. It automatically collects multiple invocations from the client, translates them into batch format, and presents them as a single unified request to the server. This shields the server from the complexity of managing multiple individual connections and transactions, while the client continues to write simple, unchanged code in its preferred programming language.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8364750B2Automated translation of service invocations for batch processing
Publication Date: 2013.01.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8364750B2 patent drawing
  • US8364750B2 patent drawing
  • US8364750B2 patent drawing

AI summary

The utilization of data services (such as web services) may involve the invocation of services, which may reduce performance and overburden the server. In some scenarios, the invocation may be specified in a language that does not support batch invocation, but it may not be feasible to re-code the invocations in a language that supports batching. Instead, the service invocations may be automatically translated into a batch logic specified in a batch-capable language and sent to the service as a batch. For example, a local proxy may receive a language-integrated query having two or more service invocations, compile the query into an expression tree including the two or more invocations, and send the expression tree to the service host to achieve the batch processing of the service invocations.