G06F11/187

Methods, devices and systems for real-time checking of data consistency in a distributed heterogenous storage system
11657035 · 2023-05-23 · ·

A first plurality of replicated state machines may execute a sequence of ordered agreements to make mutations to a data stored in a first data storage service of a first type. A second plurality of replicated state machines may execute the sequence of ordered agreements to make mutations to the data stored in a second data storage service of a second type. First metadata of the mutated data stored in the first data storage service may then be received and stored, and second metadata of the mutated data may be stored in the second data storage service. The stored first and second metadata may then be compared when the data have settled, and a selected action carried out based upon the result of the comparison.

Flexible byzantine fault tolerance

A method and system for performing a flexible Byzantine fault tolerant (BFT) protocol. The method includes sending, from a client device, a proposed value to a plurality of replica devices and receiving, from at least one of the plurality of replica devices, a safe vote on the proposed value. The replica device sends the safe vote, based on a first quorum being reached, to the client device and each of the other replica devices of the plurality of replica devices. The method further includes determining that a number of received safe votes for the proposed value meets or exceeds a second quorum threshold, selecting the proposed value based on the determination, and setting a period of time within which to receive additional votes. The method further includes, based on the period of time elapsing without receiving the additional votes, committing the selected value for the single view.

VOTING OF TRIPLE REDUNDANT CIRCULAR DATA

The voter circuit and method determines a voted output among plural inputs each carrying circular data. To supply the voted output, a statistical average (e.g., mean or median) is computed by grouping the plural inputs into pairs, and for each pair generating a minimum angular difference by selecting the minimum of (a) the absolute difference between the pairs of inputs, and (b) the conjugate of the absolute difference between the pairs of inputs. The voted output is a statistical average generated from the minimum angular difference.

VEHICLE CONTROL SYSTEM

Each of three or more computation units supplies a first control signal showing a target output of an actuator to an output unit. A determination unit assigns the target output shown by the first control signal supplied from each of the computation units with a weight based on the degree of reliability of the first control signal, and performs a majority vote of the target outputs. The output unit outputs a second control signal for controlling the actuator based on first control signals supplied from the computation units and a result of the majority vote of the target outputs by the determination unit.

Voting of triple redundant circular data

The voter circuit and method determines a voted output among plural inputs each carrying circular data. To supply the voted output, a statistical average (e.g., mean or median) is computed by grouping the plural inputs into pairs, and for each pair generating a minimum angular difference by selecting the minimum of (a) the absolute difference between the pairs of inputs, and (b) the conjugate of the absolute difference between the pairs of inputs. The voted output is a statistical average generated from the minimum angular difference.

Computing apparatus

There is disclosed a computing/data processing device comprising: a plurality of computing units, each computing unit comprising a computing resource; the computing device comprising at least three computing units, each computing unit comprising a/the same computing resource; each computing unit further comprising a computing unit access manager, each unit access manager being adapted to control access to the computing resource of the respective computing unit in response to at least one request; wherein, the computing unit access manager only allows a response to the at least one request if a majority of the computing units provide a same response to the at least one request; and wherein, the computing device comprising a network-on-a-chip, is provided on a chip and/or comprises an integrated chip (IC) or microprocessor. The IC beneficially comprises a Field-Programmable Gate Array (FPGA) device. In a preferred embodiment, the unit access manager controls access to the computing resource based on a token; the token comprising: a pointer to the respective computing resource, a set of rights relating to that computing resource, and a numerical representation of that computing resource.

In-order fault tolerant consensus logs for replicated services
11451465 · 2022-09-20 · ·

Techniques are described for safely overwriting decided slots and in-order fault tolerant consensus logs for replicated services. Using techniques described herein, a broad class of already-existing consensus log protocols may be enhanced/extended to safely overwrite decided slots and provide in-order fault tolerant consensus logs. When changing to a different epoch of a consensus log, slots determined to be unreachable may be changed/deleted even if slots after the gap were decided. A sequencer protocol establishes distributed consensus among a group of services. The sequencer protocol provides in-order execution of messages from multiple clients, and flow control from within the sequencer protocol, without offloading de-duplicate and reorder (DDRO) logic to the application layer. Fault tolerance is provided by egress cursors and ingress cursors, which provide awareness of which specific messages from each client sender should be executed next, even if those messages are not presently in the consensus log.

IN-ORDER FAULT TOLERANT CONSENSUS LOGS FOR REPLICATED SERVICES
20220286378 · 2022-09-08 ·

Techniques are described for safely overwriting decided slots and in-order fault tolerant consensus logs for replicated services. Using techniques described herein, a broad class of already-existing consensus log protocols may be enhanced/extended to safely overwrite decided slots and provide in-order fault tolerant consensus logs. When changing to a different epoch of a consensus log, slots determined to be unreachable may be changed/deleted even if slots after the gap were decided. A sequencer protocol establishes distributed consensus among a group of services. The sequencer protocol provides in-order execution of messages from multiple clients, and flow control from within the sequencer protocol, without offloading de-duplicate and reorder (DDRO) logic to the application layer. Fault tolerance is provided by egress cursors and ingress cursors, which provide awareness of which specific messages from each client sender should be executed next, even if those messages are not presently in the consensus log.

FLEXIBLE BYZANTINE FAULT TOLERANCE
20220276938 · 2022-09-01 ·

A method and system for performing a flexible Byzantine fault tolerant (BFT) protocol. The method includes sending, from a client device, a proposed value to a plurality of replica devices and receiving, from at least one of the plurality of replica devices, a safe vote on the proposed value. The replica device sends the safe vote, based on a first quorum being reached, to the client device and each of the other replica devices of the plurality of replica devices. The method further includes determining that a number of received safe votes for the proposed value meets or exceeds a second quorum threshold, selecting the proposed value based on the determination, and setting a period of time within which to receive additional votes. The method further includes, based on the period of time elapsing without receiving the additional votes, committing the selected value for the single view.

CLUSTER QUORUM METHOD AND APPARATUS, ELECTRONIC DEVICE, AND READABLE STORAGE MEDIUM

Disclosed are a cluster quorum method and apparatus, an electronic device, and a computer-readable storage medium. The method includes: acquiring a historical election set, and obtaining a first node quantity and a power condition by using the historical election set; generating a quorum parameter by using the first node quantity according to the power condition; acquiring a current network topology, and judging whether the current network topology satisfies the quorum parameter; and if the current network topology satisfies the quorum parameter, providing a cluster service. According to the method, a new network topology after a failure is not required to include the majority of nodes in an original cluster, whereby the network topology can continue to work no matter a quantity of nodes in the network topology while data consistency is ensured, improving viability of the cluster.