Proxy Layer Delaying HTTP Timeouts in High Latency Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Applications with short timeout periods, such as browsers, experience premature timeouts when using high latency networks, leading to degraded user experience, especially in wireless connections where HTTP responses take longer to arrive.

Innovation Solution

A method and apparatus that couple the TCP and HTTP layers in a protocol stack to delay timeouts by sending simulated header data to the application, preventing premature timeouts by acting as a proxy between the application and network, and modifying responses to remove sent data once actual data is received.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the application uses a short timeout period for data requests, then the response time is reduced and efficiency is improved, but premature timeouts occur in high latency networks degrading user experience

Engineering Contradiction:
Improveresponse timeVSAvoidtimeout reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a proxy as an intermediary layer between the application and the network. The proxy intercepts data requests from the application, sends them to the network, and manages the timeout logic independently. When the actual response is delayed, the proxy can send simulated header data to extend the timeout period, preventing premature timeouts while maintaining the application's original short timeout configuration for efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the timeout period is extended to accommodate high latency networks, then user experience is improved, but the response time efficiency is reduced

Engineering Contradiction:
Improvetimeout reliabilityVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the timeout management function into two parts: the application layer maintains its original short timeout configuration for efficiency, while the proxy layer independently manages extended timeout periods for reliability. The proxy sends simulated header data to extend the timeout without affecting the application's timeout settings, allowing both short response time and reliable timeout handling to coexist.

Inventive Principle:
Principle #1Segmentation

3Reliability

If simulated header data is sent to extend timeout, then premature timeouts are prevented, but data integrity must be maintained by removing simulated data from actual response

Engineering Contradiction:
Improvetimeout extensionVSAvoiddata integrity
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by sending simulated header data in advance to extend the timeout period before the actual response arrives. The proxy pre-extends the timeout by sending these simulated data packets, ensuring the application doesn't timeout prematurely. When the actual response arrives, the proxy removes the simulated portions to restore data integrity, maintaining both timeout extension and information accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7590881B2Method and apparatus for controlling an upper layer in a protocol stack to delay timeouts
Publication Date: 2009.09.15 MALIKIE INNOVATIONS LTD
  • US7590881B2 patent drawing
  • US7590881B2 patent drawing
  • US7590881B2 patent drawing

AI summary

In a device communicating over a network, a proxy to delay timeout of an application on the device where the proxy is on a communications path between the application and the network, the proxy comprising means for registering a data request from the application to the network; a counter for measuring a predetermined time interval, the time interval selected to prevent timeout at the application; means to send preventative data to the application after the counter has expired but before a response is received; means for modifying a response received from the network to remove preventative data already sent to the application, creating a modified response; and means for forwarding the modified response to the application, wherein the proxy registers that a message has been sent and waits a predetermined interval, and if a response has not been received during that interval sends the preventative data to the application to delay a timeout.