Dynamic Traffic Shaping for Full-Duplex WebSocket Uploads
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If outgoing HTTP traffic is sent in oversized burst, then upload speed increases, but network nodes may be overwhelmed causing poor performance
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.
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.
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
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.
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.
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
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.
Data Source
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.


