US 11,899,684 B2
System and method for maintaining a master replica for reads and writes in a data store
Timothy Andrew Rath, Seattle, WA (US); and David Alan Lutz, Renton, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 10, 2021, as Appl. No. 17/472,445.
Application 17/472,445 is a continuation of application No. 16/698,481, filed on Nov. 27, 2019, granted, now 11,120,044.
Application 16/698,481 is a continuation of application No. 14/491,789, filed on Sep. 19, 2014, granted, now 10,496,667, issued on Dec. 3, 2019.
Application 14/491,789 is a continuation of application No. 13/352,113, filed on Jan. 17, 2012, granted, now 8,843,441, issued on Sep. 23, 2014.
Prior Publication US 2021/0406279 A1, Dec. 30, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 17/00 (2019.01); G06F 16/27 (2019.01); G06F 16/182 (2019.01); H04W 84/20 (2009.01)
CPC G06F 16/27 (2019.01) [G06F 16/182 (2019.01); G06F 16/273 (2019.01); G06F 16/278 (2019.01); H04W 84/20 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory, computer-readable storage medium, storing program instructions, that when executed by one or more computing devices, cause the one or more computing devices to:
maintain data in a distributed data store, wherein the distributed data store is implemented on a plurality of nodes, wherein the plurality of nodes comprise two or more replicas that make up a replica group, and wherein at most one of two or more replicas in a replica group can act as a master replica for the replica group at a time;
wherein the program instructions when executed by the one or more computing devices further cause a replica of the replica group to:
assume a role of master replica for the replica group;
subsequent to assuming the role of master replica for the replica group, send a message indicating a lease to other replicas in the replica group, wherein the lease represents an authorization of the replica to act as the master replica for the replica group for a lease period;
refrain from servicing consistent read operations directed to the replica group until it is determined the message indicating the lease has been committed in the distributed data store; and
in response to determining that the message indicating the lease has been committed in the distributed data store, begin to service consistent read operations that are directed to the replica group;
wherein the program instructions when executed by the one or more computing devices further cause, prior to the lease period expiring:
another replica of the replica group to assume the role of master replica for the replica group;
the replica to continue to service consistent read operations that are directed to the replica group during the lease period; and
subsequent to the lease period expiring, the other replica to begin to service consistent read operations that are directed to the replica group.