TCP Stream Count Optimization for Bandwidth Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing screen transfer systems using multiple TCP streams struggle to accurately determine the optimal number of streams for efficient communication bandwidth, especially when dealing with varying amounts of screen updates, leading to potential bandwidth exceeding the upper limit.
Innovation Solution
A server system that dynamically adjusts the number of TCP streams based on stored bandwidth data, using a determination unit to calculate the optimal number of streams that satisfies the allocated bandwidth while minimizing the number of streams, and updates the maximum bandwidth values in storage as needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If multiple TCP streams are established to improve data transmission rate, then communication bandwidth is improved, but it becomes difficult to accurately calculate the upper limit of communication bandwidth
Solution Approach 1:
The system performs preliminary actions by storing the measured upper limit of communication bandwidth for each TCP stream number in advance. When transmission occurs, the stored upper limit values are used to determine the optimal number of TCP streams, eliminating the need for real-time measurement during actual data transmission.
Solution Approach 2:
The system creates a copy of bandwidth measurement results by storing the upper limit of communication bandwidth for each TCP stream number in association with each other. This stored copy can be referenced multiple times without requiring repeated measurements, improving both accuracy and efficiency.
2Adaptability or versatility
If the number of TCP streams is increased to handle varying screen update data amounts, then data transmission capability is improved, but bandwidth utilization becomes inefficient
Solution Approach 1:
The system dynamically determines the number of TCP streams based on the allocation bandwidth and stored upper limit values. The determination unit selects the appropriate number of streams from multiple candidates, allowing the system to adapt its transmission capacity to match the actual data amount and network conditions, thereby improving bandwidth utilization efficiency.
Solution Approach 2:
The system changes the parameter of TCP stream number based on the allocation bandwidth and stored upper limit measurements. By selecting from multiple candidate stream numbers, the system optimizes the transmission parameter to match the current transmission requirements, improving both adaptability and efficiency.
3Ease of operation
If TCP stream number is fixed to simplify system operation, then ease of operation is improved, but productivity decreases due to inability to optimize bandwidth
Solution Approach 1:
The system performs self-service by automatically determining the optimal number of TCP streams based on the allocation bandwidth and stored upper limit values. The determination unit selects the appropriate stream number without requiring manual configuration or complex user input, maintaining ease of operation while improving transmission efficiency.
Data Source
AI summary
According to one embodiment, a server includes a transmitter, a storage, a determination unit and a controller. The transmitter is configured to transmit data using TCP streams. The storage is configured to store a number of TCP streams which the transmitter used in transmitting the data and a maximum value of a bandwidth which the transmitter used in transmitting the data using the number of TCP streams, in association with each other. The determination unit is configured to determine a number of TCP streams, which the transmitter uses in transmitting new data, based on the stored number, the stored maximum value, and a target value of the bandwidth. The controller is configured to update the stored maximum value when a bandwidth used for transmitting the new data using the determined number is larger than the maximum value associated with the stored number which is identical to the determined number.


