Network-Assisted Consensus Protocol
Abstract
The concepts and technologies disclosed herein are directed to a network-assisted Raft consensus protocol, referred to herein as “NetRaft.” According to one aspect of the concepts and technologies disclosed herein, a system can include a plurality of servers operating in a server cluster, and a plurality of P4 switches corresponding to the plurality of servers. Each server of the plurality of servers can include a back-end that executes a complete Raft algorithm to perform leader election, log replication, and log commitment of a Raft consensus algorithm. Each P4 switch of the plurality of P4 switches can include a front-end that executes a partial Raft algorithm to perform the log replication and the log commitment of the Raft consensus algorithm. The back-end can maintain a complete state for responding to requests that cannot be fulfilled by the front-end. The requests can include read requests and/or write requests.
Claims
exact text as granted — not AI-modified1 . A method comprising:
receiving, by a first P4 switch in communication with a first server operating in a server cluster, a read request message from a client, wherein the first server is not recognized as a leader in the server cluster; forwarding, by the first P4 switch, the read request message to a second server that is recognized as the leader in the server cluster without involving the first server, wherein the second server comprises a back-end comprising a complete Raft algorithm, and wherein the back-end of the second server executes the complete Raft algorithm to perform leader election, log replication, and log commitment; and receiving, by a second P4 switch in communication with the second server, from the first P4 switch, the read request message directly without involving the second server, wherein the second P4 switch comprises a front-end comprising a partial Raft algorithm.
2 . The method of claim 1 , wherein the front-end of the second P4 switch executes the partial Raft algorithm to perform the log replication and the log commitment of the complete Raft algorithm.
3 . The method of claim 1 , wherein the back-end of the second server maintains a complete state on the second server for responding to requests that cannot be fulfilled by the front-end of the second P4 switch.
4 . The method of claim 1 , wherein the first server comprises a back-end comprising the complete Raft algorithm.
5 . The method of claim 1 , wherein the first P4 switch comprises a front-end comprising the partial Raft algorithm.
6 . The method of claim 1 , further comprising responding, by the second P4 switch, to the read request message immediately without involving the second server.
7 . The method of claim 1 , further comprising:
parsing, by the second P4 switch, the read request message; determining, by the second P4 switch, that the front-end of the second P4 switch is unable to generate a response to the read request message; and in response to the front-end of the second P4 switch being unable to generate a response to the read request message, serving, by the back-end of the second server, the read request message.
8 . A method comprising:
receiving, by a first P4 switch in communication with a first server operating in a server cluster, from a client, a write request message, wherein the first server is recognized as a leader in the server cluster; handling, by the first P4 switch, the write request message without involving the first server; and notifying, by the first P4 switch, without involving the first server, a second server and a third server of the server cluster of write request results resulting from the first P4 switch handling the write request message.
9 . The method of claim 8 , wherein the first server comprises a back-end comprising a complete Raft algorithm.
10 . The method of claim 9 , wherein the back-end of the first server executes the complete Raft algorithm to perform leader election, log replication, and log commitment.
11 . The method of claim 10 , wherein the first P4 switch comprises a front-end comprising a partial Raft algorithm.
12 . The method of claim 11 , wherein the front-end of the first P4 switch executes the partial Raft algorithm to perform the log replication and the log commitment of the complete Raft algorithm.
13 . The method of claim 12 , wherein the second server is in communication with a second P4 switch and the third server is in communication with a third P4 switch.
14 . The method of claim 13 , wherein the second P4 switch comprises a front-end comprising the partial Raft algorithm and the third P4 switch comprises a front-end comprising the partial Raft algorithm.
15 . A system comprising:
a plurality of servers operating in a server cluster, wherein each server of the plurality of servers comprises a back-end that executes an algorithm to perform leader election, log replication, and log commitment; and a plurality of P4 switches corresponding to the plurality of servers, wherein each P4 switch of the plurality of P4 switches comprises a front-end that executes a partial version of the algorithm to perform the log replication and the log commitment.
16 . The system of claim 15 , wherein the back-end maintains a complete state for responding to requests that cannot be fulfilled by the front-end.
17 . The system of claim 16 , wherein the requests comprise a read request.
18 . The system of claim 17 , wherein the requests comprise a write request.
19 . The system of claim 18 , wherein a first request of the requests can be fulfilled by the front-end.
20 . The system of claim 19 , wherein a second request of the requests is unable to be fulfilled by the front-end.Join the waitlist — get patent alerts
Track US2023118489A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.