Patent classifications
G06F11/187
Leader election in a distributed system based on node weight and leadership priority based on network performance
Example implementations relate to consensus protocols in a stretched network. According to an example, a distributed system includes continuously monitoring network performance and/or network latency among a cluster of a plurality of nodes in a distributed computer system. Leadership priority for each node is set based at least in part on the monitored network performance or network latency. Each node has a vote weight based at least in part on the leadership priority of the node. Each node's vote is biased by the node's vote weight. The node having a number of biased votes higher than a maximum possible number of votes biased by respective vote weights received by any other node in the cluster is selected as a leader node.
METHODS, DEVICES AND SYSTEMS FOR REAL-TIME CHECKING OF DATA CONSISTENCY IN A DISTRIBUTED HETEROGENOUS STORAGE SYSTEM
A computer-implemented method may comprise executing, by a first plurality of replicated state machines, a sequence of ordered agreements to make mutations to a data stored in a first data storage of a first type and executing, by a second plurality of replicated state machines, the sequence of ordered agreements to make mutations to the data stored in a second data storage of a second type. First metadata of the mutated data stored in the first data storage may then be received and stored, as may second metadata of the mutated data stored in the second data storage. A comparison of the stored first and second metadata may then be carried out when the data stored in the first data storage that corresponds to the first metadata and the data stored in the second data storage that corresponds to the second metadata have been determined to have settled according to the predetermined one of the sequence of ordered agreements. A selected action may then be carried out depending upon a result of the comparison.
BYZANTINE FAULT TOLERANT VIEW CHANGE PROCESSING
In some embodiments, a method implements a Byzantine fault tolerant protocol. A first replica detects a condition to cause a view change procedure to move from a current view to a next view. The first replica sends a message indicating the first replica wants to leave the current view. Also, the first replica receives a set of messages from second replicas indicating a respective second replica wants to leave the current view. The first replica determines when a property is received to the leave the current view based on the set of messages from the set of second replicas. When it is determined the property is received, the first replica performs a process to leave the current view. When it is determined the property is not received, the first replica stays in the current view and participating in processing a request from a client in the current view.
System and method for maintaining a distributed ledger
A method of maintaining a distributed ledger at a client node includes: storing a distributed ledger defining a plurality of records each containing a set of values; storing (i) a local voting weight corresponding to the client node, and (ii) respective remote voting weights for a plurality of remote client nodes; obtaining a proposed update to a record of the distributed ledger; generating a local vote to apply or discard the proposed update and transmitting the local vote to the remote client nodes; receiving remote votes to apply or discard the proposed update from the remote client nodes; determining whether to permit the proposed update based on (i) the local vote and the local voting weight, and (ii) the remote votes and the corresponding remote voting weights; and according to the determination, applying the proposed update to the distributed ledger or discarding the proposed update.
High-reliability non-volatile memory using a voting mechanism
A memory system includes a processing device (e.g., a controller implemented using a CPU, FPGA, and/or logic circuitry) and memory regions (e.g., in a flash memory or other non-volatile memory) storing data. The processing device receives an access request from a host system that is requesting to read the stored data. In one approach, the memory system is configured to: receive, from the host system over a bus, a read command to access data associated with an address in a non-volatile memory; in response to receiving the read command, access, by the processing device, multiple copies of data stored in at least one memory region of the non-volatile memory; match, by the processing device, data from the copies with each other; select, based on matching data from the copies with each other, first data from a first copy of the copies; and provide, to the host system over the bus, the first data as output data.
LEADER ELECTION IN A DISTRIBUTED SYSTEM BASED ON NODE WEIGHT AND LEADERSHIP PRIORITY BASED ON NETWORK PERFORMANCE
Example implementations relate to consensus protocols in a stretched network. According to an example, a distributed system includes continuously monitoring network performance and/or network latency among a cluster of a plurality of nodes in a distributed computer system. Leadership priority for each node is set based at least in part on the monitored network performance or network latency. Each node has a vote weight based at least in part on the leadership priority of the node. Each node's vote is biased by the node's vote weight. The node having a number of biased votes higher than a maximum possible number of votes biased by respective vote weights received by any other node in the cluster is selected as a leader node.
REDUNDANT ANALOG BUILT-IN SELF TEST
Described embodiments include a test system having first, second and third circuits having the same design and configured to receive a same input signal. A majority voter circuit has a first voter input coupled to a first circuit output, a second voter input coupled to a second circuit output, a third voter input coupled to a third circuit output, and a voter output. The output signal is equal to a signal present at least two of the voter inputs. A discrepancy detector circuit has first, second and third discrepancy inputs coupled to the first, second and third circuit outputs, respectively. A discrepancy output is configured to: provide a first logic signal responsive to the first, second and third circuit outputs having equal values; and provide a second logic signal responsive to the first, second and third circuit outputs having unequal values.
Byzantine agreement in open networks
Systems and techniques are provided for Byzantine agreement in open networks. An indication to change a validation network for an open network from a current validation network to a next validation network may be broadcast. An agreement to change to the validation network to the next validation network may be. An instance of external validity multi-valued Byzantine agreement may be run to determine a continuing sequence number to be used by the next validation network based on the sequence numbers of amendments applied to decentralized database copies stored node computing devices of the open network. The next validation network may be switched to as the validation network for the open network after the continuing sequence number is determined. An amendment validated by the next validation network may be applied to a decentralized database copy. The amendment may include a sequence number that is higher than the continuing sequence number.
Byzantine fault tolerant view change processing
In some embodiments, a method implements a Byzantine fault tolerant protocol. A first replica detects a condition to cause a view change procedure to move from a current view to a next view. The first replica sends a message indicating the first replica wants to leave the current view. Also, the first replica receives a set of messages from second replicas indicating a respective second replica wants to leave the current view. The first replica determines when a property is received to the leave the current view based on the set of messages from the set of second replicas. When it is determined the property is received, the first replica performs a process to leave the current view. When it is determined the property is not received, the first replica stays in the current view and participating in processing a request from a client in the current view.
DISTRIBUTED CONSENSUS METHOD, DISTRIBUTED SYSTEM AND DISTRIBUTED CONSENSUS PROGRAM
A distributed consensus method for performing data consensus processing in a distributed system that couples one or more client apparatuses and a plurality of server apparatuses via a network, the method including a step in which each server apparatus performs data operation according to a predetermined distributed consensus algorithm, a step in which an auxiliary consensus device, which is an auxiliary device that assists in reaching a consensus in the event of a failure in response to a request from each server apparatus, decides an auxiliary consensus decided value, and a step in which the auxiliary consensus decided value is caused to take precedence over the decided value of the distributed consensus algorithm under conditions under which the auxiliary consensus decided value decided by the auxiliary consensus device and the decided value decided by the distributed consensus algorithm can conflict with each other.