Application Gateway Workflow Optimization for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Application Gateway products introduce latency in communications among applications due to their operation at the socket and message level, leading to delays in message processing between application servers.

Innovation Solution

An Application Gateway Device with a workflow engine that performs pre-analysis of workflow graphs and incremental processing of message fragments, optimizing the architecture for minimal latency by rearranging workflows into highly parallelized, functionally equivalent graphs, allowing for early dispatch of outgoing packets and processing of message portions in a streaming fashion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If application gateway products operate at the socket and message level, then they can mediate communication between applications, but they introduce latency in communications among applications

Engineering Contradiction:
Improvecommunication mediation capabilityVSAvoidmessage processing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The message processing is segmented into multiple parallel workflow threads. Each workflow represents an independent processing path that can be executed concurrently, allowing the gateway to process different aspects of message handling simultaneously rather than sequentially, thereby reducing overall latency while maintaining communication mediation functionality

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs pre-analysis of workflow graphs to identify and prepare optimization opportunities before messages arrive. By analyzing and pre-configuring parallel workflow paths in advance, the gateway can immediately execute optimized processing when messages are received, eliminating the need for runtime analysis and reducing message processing latency

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If workflow processing is performed sequentially, then message processing is simpler to implement, but delays in message processing occur

Engineering Contradiction:
Improveworkflow implementation simplicityVSAvoidmessage processing throughput
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The sequential workflow is divided into multiple parallel processing segments that can execute simultaneously. Each segment represents an independent task that can be processed concurrently by different threads, transforming a single-threaded sequential process into a multi-threaded parallel process that maintains implementation simplicity while significantly improving processing throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically generates and executes multiple workflow threads based on the analyzed workflow graph. The system adapts by creating parallel execution paths that are determined through pre-analysis, allowing the processing structure to be flexible and dynamic rather than fixed, thereby enabling both simplicity of implementation and high productivity

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8266224B2Application gateway device
Publication Date: 2012.09.11 CISCO TECHNOLOGY INC
  • US8266224B2 patent drawing
  • US8266224B2 patent drawing
  • US8266224B2 patent drawing

AI summary

In an embodiment, a data processing system comprises application workflow optimizing logic and which when executed is operable to receive first workflow data that defines a sequence of processing operations to perform on an application-layer message; rewrite the first workflow data by separation of dependent update operations to result in creating rewritten workflow data; and store the rewritten workflow data in a data repository. Application gateway logic may be operable to receive one or more packets; construct a received message from one or more payloads of the packets; classify the received message to identify a particular workflow associated with the message; apply the particular workflow, using the rewritten workflow data, to the received message to result in identifying a destination application server and creating an outgoing message; send the outgoing message to the destination application server.