Systems and methods for scalable network buffer management
First Claim
1. A computer-implemented method for scalable network buffer management, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
- receiving, via a client connection to a client, data to be transmitted to a cloud storage service as part of a backup process;
buffering the data in at least one data buffer;
determining that the data will not be transmitted to the cloud storage service within a timeout period for the client connection;
delaying reception of additional data from the client connection for a portion of the timeout period;
before the timeout period has elapsed, buffering data from the client connection in at least one secondary data buffer;
maintaining an additional cloud service connection to the cloud storage service;
determining that the additional data will not be received via the client connection within a cloud service connection timeout period for the cloud service connection;
transmitting at least a portion of the data to the cloud storage service using the cloud service connection to the cloud storage service before the cloud service connection timeout period for the cloud service connection has elapsed, wherein;
the at least one secondary data buffer is smaller in allocated memory size than the allocated memory size of the at least one data buffer;
the at least one secondary data buffer amounts to 5-10 percent of total buffer memory.
7 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
18 Claims
-
1. A computer-implemented method for scalable network buffer management, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
- receiving, via a client connection to a client, data to be transmitted to a cloud storage service as part of a backup process;
buffering the data in at least one data buffer;
determining that the data will not be transmitted to the cloud storage service within a timeout period for the client connection;
delaying reception of additional data from the client connection for a portion of the timeout period;
before the timeout period has elapsed, buffering data from the client connection in at least one secondary data buffer;
maintaining an additional cloud service connection to the cloud storage service;
determining that the additional data will not be received via the client connection within a cloud service connection timeout period for the cloud service connection;
transmitting at least a portion of the data to the cloud storage service using the cloud service connection to the cloud storage service before the cloud service connection timeout period for the cloud service connection has elapsed, wherein;
the at least one secondary data buffer is smaller in allocated memory size than the allocated memory size of the at least one data buffer;
the at least one secondary data buffer amounts to 5-10 percent of total buffer memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- receiving, via a client connection to a client, data to be transmitted to a cloud storage service as part of a backup process;
-
11. A system for scalable network buffer management, the system comprising:
- a communication module, stored in memory, that receives, via a client connection to a client, data to be transmitted to a cloud storage service as part of a backup process;
a buffering module, stored in memory, that buffers the data in at least one data buffer;
a traffic module, stored in memory, that determines that the data will not be transmitted to the cloud storage service within a timeout period for the client connection;
a metering module, stored in memory, that delays reception of additional data from the client connection for a portion of the timeout period;
a secondary buffering module, stored in memory, that, before the timeout period has elapsed, buffers data from the client connection in at least one secondary data buffer;
at least one physical processor configured to execute the communication module, the buffering module, the traffic module, the metering module, and the secondary module, module, wherein;
the communication module further maintains an additional cloud service connection to the cloud storage service;
the traffic module further determines that the additional data will not be received via the client connection within a cloud service connection timeout period for the cloud service connection;
the metering module further transmits at least a portion of the data to the cloud storage service using the cloud service connection to the cloud storage service before the cloud service connection timeout period for the cloud service connection has elapsed;
the at least one secondary data buffer is smaller in allocated memory size than the allocated memory size of the at least one data buffer;
the at least one secondary data buffer amounts to 5-10 percent of total buffer memory. - View Dependent Claims (12, 13, 14, 15, 16, 17)
- a communication module, stored in memory, that receives, via a client connection to a client, data to be transmitted to a cloud storage service as part of a backup process;
-
18. A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:
- receive, via a client connection to a client, data to be transmitted to a cloud storage service as part of a backup process;
buffer the data in at least one data buffer;
determine that the data will not be transmitted to the cloud storage service within a timeout period for the client connection;
delay reception of additional data from the client connection for a portion of the timeout period;
before the timeout period has elapsed, buffer data from the client connection in at least one secondary data buffer;
maintain an additional cloud service connection to the cloud storage service;
determine that the additional data will not be received via the client connection within a cloud service connection timeout period for the cloud service connection;
transmit at least a portion of the data to the cloud storage service using the cloud service connection to the cloud storage service before the cloud service connection timeout period for the cloud service connection has elapsed, wherein;
the at least one secondary data buffer is smaller in allocated memory size than the allocated memory size of the at least one data buffer;
the at least one secondary data buffer amounts to 5-10 percent of total buffer memory.
- receive, via a client connection to a client, data to be transmitted to a cloud storage service as part of a backup process;
Specification