US 11,714,732 B1
Granular tracking of replication consistency using subsets of asynchronous replication tasks
Jacob Wires, Vancouver (CA); Julien Mascart, Vancouver (CA); Valeri Atamaniouk, Vancouver (CA); Jun Dai, Burnaby (CA); Sidharth Bajaj, Vancouver (CA); and Wesley Shawn Davis, Sammamish, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 30, 2020, as Appl. No. 17/038,212.
Int. Cl. G06F 11/20 (2006.01); G06F 11/34 (2006.01); G06F 9/48 (2006.01); H04L 45/021 (2022.01); G06F 11/07 (2006.01)
CPC G06F 11/2074 (2013.01) [G06F 9/4887 (2013.01); G06F 11/0715 (2013.01); G06F 11/3409 (2013.01); H04L 45/021 (2013.01); G06F 2201/855 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one processor; and
a memory, storing program instructions that when executed cause the at least one processor to implement a data storage service configured to:
receive a request to be notified upon completion of a specified subset of asynchronous replication tasks of a stream of asynchronous replication tasks, wherein the stream of asynchronous replication tasks perform operations to replicate data objects placed in a first location in the data storage service to a second location in the data storage service, wherein the subset of asynchronous replication tasks is specified in a received manifest that identifies particular data objects placed in the first location, and wherein the subset of asynchronous replication tasks comprises two or more asynchronous replication tasks of the stream of asynchronous replication tasks;
receive notifications identifying individual ones of the stream of asynchronous replication tasks as pending, the notifications comprising respective identifiers of individual ones of the stream of asynchronous replication tasks;
responsive to determining that the specified subset of asynchronous replication tasks is pending, provide an indication of the specified subset of asynchronous replication tasks to different nodes that track performance of different portions of the stream of asynchronous replication tasks according to a routing scheme;
receive respective completion notifications from one or more nodes of the different nodes that indicate completion of individual ones of the specified subset of asynchronous replication tasks routed to the one or more nodes according to the routing scheme; and
responsive to determining that the specified subset of asynchronous replication tasks is complete from the received completion notifications, send an indication of completion of the subset of asynchronous replication tasks.