Methods and apparatus for a distributed database within a network
Abstract
In some embodiments, an apparatus includes an instance of a distributed database at a first compute device configured to be included within a set of compute devices that implement the distributed database. The apparatus also includes a processor configured to define a first event linked to a first set of events. The processor is configured to receive, from a second compute device from the set of compute devices, a signal representing a second event (1) defined by the second compute device and (2) linked to a second set of events. The processor is configured to identify an order associated with a third set of events based at least one a result of a protocol. The processor is configured to store in the instance of the distributed database the order associated with the third set of events.
Claims
exact text as granted — not AI-modified1 - 20 . (canceled)
21 . A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
receive, at a first compute device from a plurality of compute devices that implements a distributed database and based on a synchronization process with a second compute device from the plurality of compute devices, an event; update, based on the event, a directed acyclic graph (DAG) at the first compute device and including a representation of a plurality of events; identify, based on the DAG at the first compute device, a set of events not yet received by the second compute device; send the set of events to the second compute device as part of the synchronization process such that the second compute device (1) updates a DAG at the second compute device based on the set of events and (2) computes a state of an instance of the distributed database associated with the second compute device based on a consensus protocol and the DAG at the second compute device; and receive, from the second compute device, the state of the instance of the distributed database associated with the second compute device.
22 . The non-transitory processor-readable medium of claim 21 , further comprising code to cause the processor to:
compute a state of an instance of the distributed database associated with the first compute device based on the consensus protocol and the DAG at the first compute device; and digitally sign the state of the instance of the distributed database associated with the second compute device when the state of the instance of the distributed database associated with the second compute device corresponds with the state of the instance of the distributed database associated with the first compute device.
23 . The non-transitory processor-readable medium of claim 21 , further comprising code to cause the processor to:
store in a memory the state of the instance of the distributed database associated with the second compute device.
24 . The non-transitory processor-readable medium of claim 21 , wherein the event is a first event, the code further comprising code to cause the processor to:
compute a state of an instance of the distributed database associated with the first compute device based on the consensus protocol and the DAG at the first compute device; and define a second event including the state of the instance of the distributed database associated with the first compute device to notify compute devices from the plurality of compute devices of the state of the instance of the distributed database associated with the first compute device.
25 . The non-transitory processor-readable medium of claim 21 , wherein the event is a first event, the code further comprising code to cause the processor to:
compute a state of an instance of the distributed database associated with the first compute device based on the consensus protocol and the DAG at the first compute device; define a second event including the state of the instance of the distributed database associated with the first compute device to notify compute devices from the plurality of compute devices of the state of the instance of the distributed database associated with the first compute device; digitally signing the state of the instance of the distributed database associated with the first compute device; and confirm the state based on a threshold number of compute devices from the plurality of compute devices digitally signing the state of the instance of the distributed database associated with the first compute device.
26 . A method, comprising:
receiving an event defined by a compute device from a plurality of compute devices implementing a distributed database; updating, based on the event and at a first time, a directed acyclic graph (DAG) including a representation of a plurality of events to define a partial order of the event with respect to a set of events from the plurality of events based on a position of the event in the DAG; identifying, at a second time after the first time, a consensus order of the event with respect to the plurality of events based on the partial order and a consensus protocol; and calculating a state value associated with the distributed database based on the consensus order.
27 . The method of claim 26 , further comprising:
storing in a memory the consensus order of the event with respect to the plurality of events.
28 . The method of claim 26 , wherein the event is a first event, the method further comprising:
defining a second event including the state value to notify compute devices from the plurality of compute devices of the state value.
29 . The method of claim 26 , wherein the event is a first event, the method further comprising:
defining a second event including the state value to notify compute devices from the plurality of compute devices of the state value; digitally signing the state value; and confirming the state value based on a threshold number of compute devices from the plurality of compute devices digitally signing the state value.
30 . An apparatus, comprising:
a memory; and a processor operatively coupled to the memory, the processor configured to define, based on a plurality of events received from a plurality of compute devices implementing a distributed database, a directed acyclic graph (DAG), the processor configured to calculate, based on the DAG and a consensus protocol, an order of the plurality of events, the processor configured to calculate a state value associated with the distributed database based on the order of the plurality of events, the processor configured to define an event including the state value to notify compute devices from the plurality of compute devices of the order.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.