IP Library Granted Patent US 11,258,716
Granted Patent B1
US 11,258,716 · App. 15/931,427 · Granted Feb 22, 2022

System and method for optimizing dynamic multi-stream network connections

Inventors: Giovanni Coglitore (Saratoga, CA); Damian Kowalewski (Sunnyvale, CA); Georgiy Yakovlev (Pacifica, CA)
Assignee: R-Stor Inc.
H04L47/2425H04L43/0829H04L47/2491H04L47/283H04L69/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,258,716
App. No.
15/931,427
Granted
Feb 22, 2022
Kind
B1
Abstract

A system for optimizing dynamic multi-stream network connections and methods for making and using the same. In various embodiments, the system advantageously can use a full bandwidth available between two network appliances connected by a Transmission Control Protocol (TCP) network connection with well-defined round-trip time (RTT) latency and changing bandwidth, among other things.

Claims (52)

1. A method for optimizing a multi-stream network connection with a dynamic bandwidth, comprising:

establishing a data buffer size value for the network connection;

determining a socket count value based upon one or more defined parameters of the network connection;

applying the established data buffer size value and the determined socket count value to the network connection having an initial available bandwidth value;

initiating transmission of data across the network connection;

monitoring an available bandwidth value of the network connection during the data transmission;

detecting a change in the available bandwidth value of the network connection;

establishing an updated data buffer size value for the network connection based upon the changed available bandwidth value of the network connection;

determining an updated socket count value based upon the defined parameters and the changed available bandwidth value of the network connection;

applying the established updated data buffer size value and the determined updated socket count value to the network connection; and

continuing the data transmission across the network connection with the changed available bandwidth value,

wherein said applying the established updated data buffer size value and the determined updated socket count value to the network connection increases utilization of the network connection as the available bandwidth value of the network connection changes.

2. The method of claim 1 , wherein the multi-stream network connection comprises a Transmission Control Protocol (TCP) network connection.

3. The method of claim 1 , wherein said determining the socket count value comprises determining the socket count value for the network connection based upon the initial available bandwidth value, a round trip time latency value of the network connection and the determined data buffer size value.

4. The method of claim 3 , wherein said determining the socket count value comprises determining the socket count value as a product of the initial available bandwidth value and the round trip time latency value divided by the determined data buffer size value.

5. The method of claim 4 , wherein the socket count value is within a range between 0.25K and 32K.

6. The method of claim 4 , wherein the socket count value is equal to 1024.

7. The method of claim 1 , wherein said detecting the change in the available bandwidth comprises detecting a change in a packet loss for the network connection.

8. The method of claim 7 , wherein said detecting the change in the packet loss comprises comparing the packet loss with a predetermined packet loss threshold for the network connection.

9. The method of claim 1 , wherein said detecting the change in the available bandwidth comprises detecting a reduced bandwidth value for the network connection, wherein said establishing an updated data buffer size value comprises establishing a reduced data buffer size value for the network connection based upon the changed available bandwidth value of the network connection and wherein said determining the updated socket count value comprises determining an increased socket count value based upon the defined parameters and the changed available bandwidth value of the network connection.

10. The method of claim 1 , wherein said detecting the change in the available bandwidth comprises detecting an increased bandwidth value for the network connection, wherein said establishing an updated data buffer size value comprises establishing an increased data buffer size value for the network connection based upon the changed available bandwidth value of the network connection and wherein said determining the updated socket count value comprises determining a reduced socket count value based upon the defined parameters and the changed available bandwidth value of the network connection.

11. The method of claim 1 , wherein said determining the updated socket count value comprises determining the updated socket count value for the network connection based upon the changed available bandwidth value, a round trip time latency value of the network connection and the determined data buffer size value.

12. The method of claim 11 , wherein said determining the socket count value comprises determining the socket count value as a product of the changed available bandwidth value and the round trip time latency value divided by the determined data buffer size value.

13. The method of claim 1 , further comprising monitoring the changed available bandwidth value of the network connection during said continuing the data transmission across the network connection, detecting a further change in the available bandwidth value of the network connection; establishing a further updated data buffer size value for the network connection based upon the further-changed available bandwidth value of the network connection; determining a further updated socket count value based upon the further-changed available bandwidth value of the network connection; applying the established further-updated data buffer size value and the determined further-updated socket count value to the network connection; and continuing the data transmission across the network connection with the further-changed available bandwidth value.

14. The method of claim 13 , wherein said applying the established further-updated data buffer size value and the determined further-updated socket count value to the network connection increases utilization of the network connection as the available bandwidth value of the network connection changes.

15. A computer program product for optimizing a multi-stream network connection with a dynamic bandwidth, the computer program product being encoded on one or more non-transitory machine-readable storage media and comprising:

instruction for establishing a data buffer size value for the network connection;

instruction for determining a socket count value based upon one or more defined parameters of the network connection;

instruction for applying the established data buffer size value and the determined socket count value to the network connection having an initial available bandwidth value;

instruction for initiating transmission of data across the network connection;

instruction for monitoring an available bandwidth value of the network connection during the data transmission;

instruction for detecting a change in the available bandwidth value of the network connection;

instruction for establishing an updated data buffer size value for the network connection based upon the changed available bandwidth value of the network connection;

instruction for determining an updated socket count value based upon the defined parameters and the changed available bandwidth value of the network connection;

instruction for applying the established updated data buffer size value and the determined updated socket count value to the network connection; and

instruction for continuing the data transmission across the network connection with the changed available bandwidth value,

wherein application of the established updated data buffer size value and the determined updated socket count value to the network connection increases utilization of the network connection as the available bandwidth value of the network connection changes.

16. A system for optimizing a multi-stream network connection, comprising:

a network connection with a dynamic bandwidth; and

a processing system being configured for:

establishing a data buffer size value for the network connection;

determining a socket count value based upon one or more defined parameters of the network connection;

applying the established data buffer size value and the determined socket count value to the network connection having an initial available bandwidth value;

initiating transmission of data across the network connection;

monitoring an available bandwidth value of the network connection during the data transmission;

detecting a change in the available bandwidth value of the network connection;

establishing an updated data buffer size value for the network connection based upon the changed available bandwidth value of the network connection;

determining an updated socket count value based upon the defined parameters and the changed available bandwidth value of the network connection;

applying the established updated data buffer size value and the determined updated socket count value to the network connection; and

continuing the data transmission across the network connection with the changed available bandwidth value,

wherein application of the established updated data buffer size value and the determined updated socket count value to the network connection increases utilization of the network connection as the available bandwidth value of the network connection changes.

17. The system of claim 16 , wherein said multi-stream network connection comprises a Transmission Control Protocol (TCP) network connection.

Assignments (3)
SECURITY INTEREST Recorded Apr 8, 2026
From: WASABI TECHNOLOGIES LLC
To: BAIN CAPITAL CREDIT, LP AS AGENT FOR THE LENDERS
Reel/Frame 074307/0425 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2023
From: R-STOR, INC.
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 064642/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2020
From: COGLITORE, GIOVANNI; KOWALEWSKI, DAMIAN; YAKOVLEV, GEORGIY
To: R-STOR INC.
Reel/Frame 052869/0453 →
Continuity (1)
Provisional Application 62847555 · May 14, 2019