Intermediary Server Data Buffering for Connection Timeout Avoidance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems, connections between clients and backend servers can be disrupted due to idle timeouts, especially when the connection between the client and the client-facing server is slow or inconsistent, leading to potential disconnection and data loss.

Innovation Solution

An intermediary server manages data transfers by buffering data from clients and determining output rates based on input rates and timeout values to maintain connections with backend servers, ensuring data is sent at optimal rates to avoid timeouts and maintain connection stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the connection between client and client-facing server is slow or inconsistent, then data transfer speed is reduced, but the connection to data storage server may be disconnected due to idle timeout

Engineering Contradiction:
Improvedata transfer speedVSAvoidconnection stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by establishing the connection to the data storage server before the client connection is fully ready, and by pre-buffering data to ensure the connection remains active during client-side transfer variations. The server connection is established in advance and maintained open with periodic data pushes even when client data arrival is slow.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The client-facing server acts as an intermediary between the client and the data storage server. It buffers incoming client data and manages the pacing of data transmission to the storage server, decoupling the two connections and allowing them to operate at different speeds without directly affecting each other.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is buffered to maintain connection to data storage server, then connection stability is improved, but buffer management complexity increases

Engineering Contradiction:
Improveconnection stabilityVSAvoidbuffer management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service through automatic buffer management where the client-facing server autonomously monitors buffer status, determines when to push data to the storage server, and adjusts transmission pacing without requiring complex external control mechanisms or manual intervention.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes parameters dynamically by adjusting the data transmission rate to the storage server based on buffer fill level, client data arrival rate, and connection timeout thresholds. These parameter adjustments are made automatically to maintain connection stability while optimizing data flow.

Inventive Principle:
Principle #35Parameter changes

3Duration of action of moving object

If connection is kept open to data storage server, then data transfer continuity is improved, but bandwidth is consumed during idle periods

Engineering Contradiction:
Improveconnection durationVSAvoidbandwidth consumption
Core Design Contradiction:
Duration of action of moving objectVSLoss of energy

Solution Approach 1:

Instead of maintaining continuous high-rate data transmission, the system uses periodic action by pushing data to the storage server in controlled intervals based on buffer availability and timeout requirements. The connection remains open but data transmission occurs periodically rather than continuously, reducing idle bandwidth consumption.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11750706B1Data transmission time management
Publication Date: 2023.09.05 AMAZON TECH INC
  • US11750706B1 patent drawing
  • US11750706B1 patent drawing
  • US11750706B1 patent drawing

AI summary

A system for scheduling transmission times to avoid connection timeouts includes a memory configured to store data in a buffer for upload to a storage system. The system also includes one or more computing devices configured to implement a connection manager. The connection manager is configured to establish a connection to a storage system. The connection manager is configured to iteratively repeat, until the data transfer operation is completed, begin transmitting the data from the buffer via the connection to the storage system, stop transmitting the data from the buffer via the connection to the storage system, where at least a portion of the data is retained in the buffer, determine a time to resume transmitting the data from the buffer via the connection to the storage system to avoid a connection timeout for the connection to the storage system, and wait until the time to resume.