Differential data transfer using congestion control
AssigneeNVIDIA Corporation
InventorFrank James Spitulski
Life of this patent
Estimating the term…
Abstract
Systems and methods related to transferring (e.g., large) files over a network are disclosed. In at least one embodiment, a client-server framework establishes a QUIC connection between a server application and a client application. Source files are processed by the server application to divide the source files into a number of chunks. Differential file transfer can be implemented between the client application and the server application by comparing metadata for chunks of the source file with metadata of local chunks of a destination file already stored in a local storage associated with the client application. Missing chunks can be requested from the server application and transferred to the client application using HTTP/3 messages.
Claims22
A computer-implemented method, comprising:
- dividing, using a server device, a source file into a plurality of chunks at least one chunk of the plurality of chunks comprising one or more bytes of the source file;
- generating, using the server device, first metadata for the at least one chunk;
- sending, using the server device, the first metadata for the at least one chunk to a client device;
- receiving, at the server device and based at least in part on a comparison of the first metadata and second metadata corresponding to one or more local chunks of a destination file performed using the client device, a request from the client device to transfer the at least one chunk to the client device;
- and
- sending, using the server device, the at least one chunk to the client device.
A server device comprising:
- one or more processing units to:
- divide a source file into a plurality of chunks, at least one chunk of the plurality of chunks comprising one or more bytes of the source file;
- generate metadata for the at least one chunk;
- send the metadata for the at least one chunk to a client device;
- based at least in part on the metadata, receive a request from the client device to transfer the at least one chunk to the client device;
- and
- send the at least one chunk to the client device.
A client device, comprising:
- one or more processing units to:
- receive, from a server device, first metadata of a source file, the source file being divided into a plurality of chunks comprising at least one chunk, wherein the first metadata corresponds to the at least one chunk;
- compare the first metadata to second metadata corresponding to one or more local chunk of a destination file;
- generate, based at least in part on the comparison, at least one request to transfer the at least one chunk of the source file to client device;
- and
- send the at least one request to the server device.
Dependencies are inferred from the claim text.