Transaction Prefetching via Network Proxies
Find Innovative SolutionsGenerate 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
Engineering 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
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
2Productivity
If multiple independent requests are issued simultaneously, then productivity is improved, but device complexity increases due to request management requirements
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
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
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
Data Source
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.


