US 11,855,868 B2
Reducing the impact of network latency during a restore operation
Abhijit Chakankar, San Jose, CA (US); Prashant Gothi, San Jose, CA (US); Anubhav Gupta, Sunnyvale, CA (US); and Manoj Singhal, Sunnyvale, CA (US)
Assigned to Cohesity, Inc., San Jose, CA (US)
Filed by Cohesity, Inc., San Jose, CA (US)
Filed on Feb. 8, 2023, as Appl. No. 18/107,435.
Application 18/107,435 is a continuation of application No. 17/173,009, filed on Feb. 10, 2021, granted, now 11,606,277.
Prior Publication US 2023/0275823 A1, Aug. 31, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 67/1097 (2022.01); H04L 43/0864 (2022.01)
CPC H04L 43/0864 (2013.01) [H04L 67/1097 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving a request to restore an object to a content destination;
in response to receiving the request, dividing the object into a plurality of segments;
assigning at least a first segment of the plurality of segments to a first storage node of a storage system and at least a second segment of the plurality of segments to a second storage node of the storage system, wherein the first segment is divided into one or more batches of data chunks that at least includes a first batch of data chunks and the second segment is divided into one or more batches of data chunks that at least includes a second batch of data chunks;
providing, from the first storage node of the storage system to the content destination, the first batch of data chunks associated with the object;
tracking by the first storage node of the storage system a plurality of data chunks associated with the object provided to the content destination, wherein the first storage node of the storage system tracks the plurality of data chunks associated with the object provided to the content destination by:
determining a corresponding chunk identifier for each data chunk included in the first batch of data chunks associated with the object,
receiving an acknowledgement signal from the content destination after providing the first batch of data chunks associated with the object, and
in response to receiving the acknowledgement signal, updating a data structure stored by the storage system to include a corresponding entry that includes the corresponding chunk identifier for each data chunk in the first batch of data chunks associated with the object; and
providing, in parallel, from the first storage node of the storage system and the second storage node of the storage system to the content destination, at least a portion of one or more subsequent batches of data chunks, wherein the one or more subsequent batches includes the second batch of data chunks.