Network Buffer Segmentation for Cloud Data Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud data storage services face issues with latency, bandwidth, and connection management, leading to connection timeouts and bandwidth underutilization, particularly in managing data communication between clients and cloud storage services.
Innovation Solution
The implementation of scalable network buffer management systems that buffer data in primary and secondary buffers, maintain connections, and monitor bandwidth utilization, including delaying data reception and adjusting buffer sizes to prevent timeouts and optimize bandwidth use.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is buffered in large primary data buffers to prevent connection timeouts, then connection reliability is improved, but bandwidth utilization deteriorates due to data sitting in buffers without being transmitted
Solution Approach 1:
The patent divides the single large buffer into multiple smaller secondary data buffers (e.g., 5-10 buffers of 64KB each instead of one 512KB buffer). This segmentation allows the system to transmit smaller chunks of data more frequently, preventing data from sitting idle in oversized buffers while maintaining adequate buffering capacity to prevent connection timeouts.
Solution Approach 2:
The system dynamically selects between using primary data buffers for large data transfers and secondary data buffers for smaller, more frequent transfers. The buffer management service adjusts buffer selection based on data size, timeout requirements, and transmission progress, optimizing both reliability and bandwidth utilization in different scenarios.
2Quantity of substance
If the buffer size is increased to handle large data transfers, then data transmission capacity is improved, but connection timeout risk worsens when data cannot be transmitted quickly enough
Solution Approach 1:
Large data transfers are divided into smaller units that fit into secondary buffers, allowing progressive transmission. This prevents the entire data set from needing to be transmitted immediately while still maintaining a buffer of sufficient size to prevent timeouts during the transfer process.
Solution Approach 2:
The system pre-allocates multiple secondary buffers before data transfer begins and proactively transmits data chunks before the timeout period expires. The buffer management service monitors transmission progress and sends data in advance to ensure the connection remains active throughout the transfer.
3Productivity
If multiple connections are maintained to the cloud service, then bandwidth utilization is improved through parallel transmission, but connection management complexity worsens
Solution Approach 1:
The buffer management service acts as an intermediary layer between clients and cloud storage services, managing multiple connections abstractly. It handles connection creation, data routing, acknowledgments, and timeout management, shielding clients from the complexity of multi-connection management while enabling parallel data transmission across multiple connections.
4Productivity
If data transmission is delayed to optimize bandwidth utilization, then overall throughput is improved, but client-side timeout risk increases
Solution Approach 1:
The system dynamically adjusts transmission timing based on real-time conditions including data size, connection state, and timeout requirements. For small data chunks, transmission is delayed to optimize bandwidth; for large data sets or time-sensitive transfers, the system reduces delay or uses multiple connections to prevent client timeouts while maintaining overall throughput efficiency.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The disclosed computer-implemented method for scalable network buffer management may include (1) receiving, via a connection to a client, data to be transmitted to a cloud service, (2) buffering the data in at least one data buffer, (3) determining that the data will not be transmitted to the cloud service within a timeout period for the client connection, (4) delaying reception of additional data from the client connection for a portion of the timeout period, and (5) before the timeout period has elapsed, buffering data from the client connection in at least one secondary data buffer, wherein the secondary data buffer is smaller in size than the data buffer. Various other methods, systems, and computer-readable media are also disclosed.