Dynamic Traffic Shaping for Full-Duplex WebSocket Uploads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy communication techniques, such as AJAX, suffer from inefficiencies in half-duplex HTTP GET and PUT calls, leading to increased overhead and poor performance, especially with large numbers of smaller files, while WebSocket communications lack the ability to dynamically adjust for optimal performance.

Innovation Solution

The implementation of a system that dynamically shapes outgoing HTTP traffic based on upstream routing performance observations, using feedback information to adapt to changes in network conditions and optimize full-duplex communications, thereby reducing communication overhead and improving upload and download performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If WebSocket full-duplex communication is used to establish persistent connection, then communication overhead is reduced and parallelization is enabled, but the ability to dynamically adjust traffic flow for optimal performance is lost

Engineering Contradiction:
Improvecommunication overheadVSAvoiddynamic traffic flow adjustment
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent implements a feedback mechanism where performance observations from upstream routing are fed back to shape outgoing HTTP traffic. The system continuously monitors performance characteristics and uses this feedback to dynamically adjust traffic flow parameters, resolving the contradiction between persistent connection benefits and lack of adaptability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces dynamic traffic shaping capabilities to WebSocket communications, allowing the system to adaptively adjust outgoing traffic based on real-time performance observations. This transforms the static full-duplex connection into a dynamic system that can optimize performance under varying network conditions.

Inventive Principle:
Principle #15Dynamics

2Productivity

If outgoing HTTP traffic is sent in oversized burst, then upload speed increases, but network nodes may be overwhelmed causing poor performance

Engineering Contradiction:
Improveupload speedVSAvoidnetwork node performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent dynamically changes traffic shaping parameters based on performance observations. The system adjusts burst size, packet rate, and flow control parameters in real-time to optimize upload speed while preventing network node overload, resolving the contradiction between productivity and reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system uses performance feedback from network routing observations to control outgoing traffic parameters. This feedback loop ensures that burst transmission speeds are optimized while automatically reducing intensity when network nodes show signs of being overwhelmed, balancing speed and reliability.

Inventive Principle:
Principle #23Feedback

3Reliability

If outgoing HTTP traffic is sent in undersized burst, then network nodes are not overwhelmed, but network resources are under-utilized causing poor performance

Engineering Contradiction:
Improvenetwork node performanceVSAvoidupload speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent dynamically adjusts traffic parameters based on real-time performance observations. When network nodes are not overwhelmed, the system increases burst size and transmission intensity to fully utilize available network resources, thereby improving upload speed while maintaining node performance reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements dynamic traffic shaping that adapts burst size and transmission rate based on network conditions. This allows the system to maximize productivity when network capacity is available while ensuring reliability when nodes approach capacity limits, resolving the contradiction between these two objectives.

Inventive Principle:
Principle #15Dynamics

4Device complexity

If half-duplex HTTP GET and PUT calls are used, then connection establishment and tear-down overhead is introduced, but this overhead becomes less significant with smaller numbers of data packets

Engineering Contradiction:
Improveconnection management complexityVSAvoidoverhead time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent enables dynamic switching between half-duplex and full-duplex modes based on traffic characteristics. For small numbers of packets, the system maintains simpler half-duplex connection management. For large numbers of packets or continuous communication, the system transitions to full-duplex WebSocket mode to reduce overhead time, resolving the contradiction between complexity and time loss.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9369520B2Enhancement of upload and/or download performance based on client and/or server feedback information
Publication Date: 2016.06.14 BOX INC
  • US9369520B2 patent drawing
  • US9369520B2 patent drawing
  • US9369520B2 patent drawing

AI summary

A system for client-server web applications is disclosed. Operations commence upon opening a client-server session configurable to establish a full-duplex persistent network communications between a client device and a server, then receiving an indication to upload or download one or more files or objects over the full-duplex persistent network communications.