Transaction Prefetching via Network Proxies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Client-server transactions over high-latency networks are slowed due to the sequential nature of request-response messaging, and modifying client applications to address this is often impractical.

Innovation Solution

Network application proxies intercept client requests, apply rules to identify independent transactions, and send prefetch requests to the server, caching responses to immediately return matching results to the client, thereby reducing the need for sequential waiting and improving transaction speed without modifying client applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If client applications are modified to issue independent requests simultaneously, then transaction time is reduced, but ease of operation deteriorates due to source code availability and modification constraints

Engineering Contradiction:
Improvetransaction timeVSAvoidease of modifying client application
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

A transaction accelerator acts as an intermediary component between the client application and server, intercepting requests and managing transaction execution. The accelerator can issue multiple independent requests simultaneously without modifying the client application source code, thereby reducing transaction time while maintaining ease of operation through a transparent intermediary layer

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple independent requests are issued simultaneously, then productivity is improved, but device complexity increases due to request management requirements

Engineering Contradiction:
Improvetransaction throughputVSAvoidrequest management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The transaction accelerator segments the request management function into independent, manageable units. Each independent request is tracked and managed separately, allowing simultaneous issuance of multiple requests while maintaining organized control through segmentation of the management task into discrete, trackable components

Inventive Principle:
Principle #1Segmentation

3Reliability

If requests are issued sequentially as in traditional client-server messaging, then reliability is maintained through proper request-response ordering, but loss of time increases due to waiting for each response before issuing the next request

Engineering Contradiction:
Improverequest-response orderingVSAvoidwaiting time between requests
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The transaction accelerator performs preliminary actions by issuing multiple independent requests in advance before the client application needs their responses. By anticipating and pre-issuing requests that are independent of each other, the system reduces waiting time while maintaining reliability through proper tracking and ordering of request-response pairs

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7853699B2Rules-based transaction prefetching using connection end-point proxies
Publication Date: 2010.12.14 RIVERBED TECH LLC
  • US7853699B2 patent drawing
  • US7853699B2 patent drawing
  • US7853699B2 patent drawing

AI summary

Network proxies reduce server latency in response to series of requests from client applications. Network proxies intercept messages clients and a server. Intercepted client requests are compared with rules. When client requests match a rule, additional request messages are forwarded to the server on behalf of a client application. In response to the additional request messages, the server provides corresponding response messages. A network proxy intercepts and caches the response messages. Subsequent client requests are intercepted by the network application proxy and compared with the cached messages. If a cached response message corresponds with a client request message, the response message is returned to the client application immediately instead of re-requesting the same information from the server. A server-side network proxy can compare client requests with the rules and send additional request messages. The corresponding response messages can be forwarded to a client-side network proxy for caching.