Dynamic load balancing for data allocation to servers
US-2016314023-A1 · Oct 27, 2016 · US
US9998394B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9998394-B2 |
| Application number | US-201514833590-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 24, 2015 |
| Priority date | Jul 3, 2015 |
| Publication date | Jun 12, 2018 |
| Grant date | Jun 12, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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. 2. The computer-implemented method of claim 1 , wherein delaying reception of additional data from the client connection comprises delaying notification of the client that the data has been received. 3. The computer-implemented method of claim 1 : further comprising determining that no data buffer of the at least one data buffer is available to buffer the data received via the client connection; wherein delaying reception of additional data from the client connection comprises: buffering the data from the client connection in the at least one secondary data buffer; delaying reception of additional data from the client connection for a portion of the timeout period. 4. The computer-implemented method of claim 1 , further comprising: determining that the data will be transmitted to the cloud storage service within the timeout period for the client connection; delaying reception of additional data from the client connection until an acknowledgement has been received that the cloud storage service has received the data. 5. The computer-implemented method of claim 1 , further comprising: receiving, via the additional cloud service connection to the cloud storage service, data to be transmitted to the client; buffering the data in at least one data buffer; determining that the data will not be transmitted to the client within a the cloud service connection timeout period for the cloud service connection; delaying reception of additional data from the cloud service connection for a portion of the cloud service connection timeout period; before the cloud service connection timeout period has elapsed, buffering data from the cloud service connection in at least one secondary data buffer. 6. The computer-implemented method of claim 1 , claim 1 , further comprising determining a number of additional connections to the cloud storage service to maintain based at least in part on a ratio of the timeout period for the cloud service connection to a time to receive, from the client, data to fill the data buffer. 7. The computer-implemented method of claim 1 , further comprising: determining a total bandwidth utilization of a plurality of connections to the cloud storage service; determining that the total bandwidth utilization is below a threshold; incrementally increasing a rate at which at least one connection transmits data to the cloud storage service. 8. The computer-implemented method of claim 7 , further comprising: determining that the total bandwidth utilization is above the threshold; delaying transmission of data on at least one connection to the cloud storage service for a time interval. 9. The computer-implemented method of claim 8 , further comprising: reallocating at least one data buffer as at least one smaller secondary data buffer; delaying reception of additional data from the client connection for a time interval. 10. The computer-implemented method of claim 1 , further comprising: receiving a retry notification from the cloud storage service for a data transmission indicating that a rate of data transmission to the cloud storage service should be decreased; determining that a number of secondary data buffers in use is above a threshold; delaying retrying the data transmission for a time interval. 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. 12. The system of claim 11 , wherein the metering module delays reception of additional data from the client connection by delaying notification of the client that the data has been received. 13. The system of claim 11 , wherein: the traffic module determines that no data buffer of the at least one data buffer is available to buffer the data received via the client connection; the metering module delays reception of additional data from the client connection by: buffering the data from the client connection in the at least one secondary data buffer; delaying reception of additional data from the client connection for a portion of the timeout period. 14. The system of claim 11 , wherein: the traffic module determines that the data will be transmitted to the cloud storage service within the timeout period for the client connection; the metering module delays reception of additional data from the client connection until an acknowledgement has been received that the cloud storage service has received the data. 15. The system of claim 11 , wherein: the communication module receives, via a the additiona
Threshold monitoring · CPC title
at the destination endpoint, e.g. reservation of terminal resources or buffer space · CPC title
in combination with information about buffer occupancy at either end or at transit nodes · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
Network utilisation, e.g. volume of load or congestion level · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.