Modified consensus protocol for eliminating heartbeat network traffic
US-2017366451-A1 · Dec 21, 2017 · US
US10489340B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10489340-B2 |
| Application number | US-201415307308-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 30, 2014 |
| Priority date | Oct 30, 2014 |
| Publication date | Nov 26, 2019 |
| Grant date | Nov 26, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In a distributed computing system, a master transmits a prepare request including a proposal number to a slave. When the proposal number included in the prepare request does not exist in management information, the slave sends back a prepare response including a new identifier associated with the proposal number to the master. The master transmits a write request including the identifier and a proposal to the slave. The slave writes the proposal into a memory area associated with the identifier included in the write request received from the master and, when writing is a success, sends back a write success response. The master determines that the slave having sent back the write success response has consented to the proposal.
Opening claim text (preview).
The invention claimed is: 1. A distributed computing system that reduces an amount of time required for the distributed computing system to reach a consensus, the system comprising: a first computer that includes: a first memory, a first communication interface that is communicatively coupled to a plurality of second computers via a network, and a first processor that is communicatively coupled to the first memory and the first memory; wherein the first processor is configured to: transmit, using the first communication interface, a prepare request to each of the plurality of second computers, wherein the prepare request is a request to prepare a proposal and includes a proposal ID, receive, using the first communication interface, a prepare response from at least one second computer from the plurality of second computers, wherein the prepare response includes a memory area ID that identifies a particular memory location of a second memory of each of the at least one second computer, receive, using the first communication interface, proposal data from a client, write, using the first communication interface, the proposal data to the particular memory location of the second memory of each of the at least one second computer, determine a number of instances where the write of the proposal data to the particular memory location of the second memory of each of the at least one second computer is successful, on a condition that the number of instances satisfies a prescribed quorum, transmit, using the first communication interface, a success notification to each of the at least one second computer; wherein in response to receiving the success notification, each respective second computer is configured to transfers the proposal data from the particular memory location of the second memory of the respective second computer to a storage device of the respective second computer. 2. The distributed computing system according to claim 1 , wherein the first memory stores management information that indicates a correspondence between a sequence ID of a sequence of building the consensus, a respective proposal ID, and a respective memory area ID, and the prepare request includes a particular proposal ID and a particular sequence ID corresponding to the proposal. 3. The distributed computing system according to claim 2 , wherein the second computer is further configured to: send back a failure response that indicates a failure of preparation to the first computer when the sequence ID in the prepare request received from the first computer exists wherein the prepare request and the proposal ID associated with the sequence ID existing in the management information indicates that the proposal is at least old as a previous proposal. 4. The distributed computing system according to claim 3 , wherein the failure response the proposal ID associated with the sequence ID existing in the management information, and the first computer is further configured to: transmit, a new prepare request including a new proposal ID that is larger than the proposal ID included in the prepare response to the second computer, wherein the new prepare request is transmitted in response to the receiving the failure response. 5. The distributed computing system according to claim 3 , wherein the second computer is further configured to: update the management information by associating a new memory area ID with the proposal ID in the prepare request, and send back a new prepare response including the proposal ID in the prepare request and the new memory area ID to the first computer when a result of a comparison between the proposal ID in the prepare request and the proposal ID associated with the sequence ID existing in the management information indicates that the proposal is newer than the previous proposal. 6. The distributed computing system according to claim 1 , wherein the first processor writes the proposal data to the particular memory location of the second memory of the second computer in accordance with RDMA (remote direct memory access). 7. A distributed processing method that reduces an amount of time required for a distributed computing system to reach a consensus, the method comprising: transmitting, by a first processor of a first computer, a prepare request to a second computer via a first communication interface, wherein the prepare request is a request to prepare a proposal and includes a proposal ID, receiving, by the first processor, a prepare response from the second computer via the first communication interface, wherein the prepare response includes a memory area ID that identifies a particular memory location of a second memory of the second computer, receiving, by the first processor, proposal data from a client via the first communication interface, writing, by the first processor, the proposal data to the particular memory location of the second memory using the first communication interface, determining, by the first processor, a number of instances where the write of the proposal data to the particular memory location of the second memory of each of the at least one second computer is successful, and on a condition that the number of instances satisfies a prescribed quorum, transmitting, by the first processor, a success notification to the second computer via the first communication interface, wherein in response to receiving the success notification, the second computer transfers the proposal data from the particular memory location of the second memory to a storage device of the second computer.
Voting techniques · CPC title
using passive fault-masking of the redundant circuits {(error detection by comparing the output of redundant processing systems with continued operation after detection of the error G06F11/165)} · CPC title
using a common memory, e.g. mailbox · CPC title
using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements · CPC title
Error detection; Error correction; Monitoring (error detection, correction or monitoring in information storage based on relative movement between record carrier and transducer G11B20/18; monitoring, i.e. supervising the progress of recording or reproducing G11B27/36; in static stores G11C29/00) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.