发明名称 Clock-based distributed data resolution
摘要 Techniques to generate a distributed data structure using monotonic clock times are described herein. A set of data events are received at a plurality of replica locations and, based on delivery times, creation times, and timeout times, the data events are stored within a convergent replicated data structure. The data events are then ordered within the convergent replicated data structure based on the corresponding timeout times being less than a time value obtained from a locally accessible clock associated with each replica locations. The distributed data structure is then generated from the ordered data events by recursively selecting data events from the replica locations.
申请公布号 US9568943(B1) 申请公布日期 2017.02.14
申请号 US201514697503 申请日期 2015.04.27
申请人 Amazon Technologies, Inc. 发明人 Carman Charles Alexander
分类号 G06F1/00;G06F17/30;G06F1/10;G06F11/14 主分类号 G06F1/00
代理机构 Davis Wright Tremaine LLP 代理人 Davis Wright Tremaine LLP
主权项 1. A computer-implemented method for generating a distributed message queue, comprising: under the control of one or more computer systems configured with executable instructions, receiving, at a set of replica locations, a set of data events, each data event of the set of data events including a corresponding message time and a corresponding timeout time;determining whether each data event of the set of data events is valid based at least in part on comparing a delivery time to the timeout time, the delivery time obtained from a locally accessible clock associated with the replica location, the delivery time corresponding to a time that the data event is received at the replica location;storing the set of data events in an add-only monotonic directed acyclic graph, the add-only monotonic directed acyclic graph comprising a set of nodes, each node of the set of nodes corresponding to a data event of the set of data events, the add-only monotonic directed acyclic graph further comprising a set of directed edges connecting pairs of nodes of the set of nodes, each directed edge in the set of directed edges representing an order of a pair of data events corresponding to the pair of nodes connected by the directed edge; andproducing a consensus order of the set of data events by repeatedly: selecting, for each replica location of the set of replica locations, a corresponding subgraph of the add-only monotonic directed acyclic graph, each data event of a subset of the set of data events corresponding to the subgraph selected as a result of the timeout time being less than a time value obtained from the locally accessible clock; anddetermining the consensus order based at least in part on a set of most frequent directed edges of the corresponding subgraph from each replica location; andinserting one or more messages into the distributed message queue in an order based at least in part on the consensus order.
地址 Seattle WA US