# US 10,122,621 B2 · Modified consensus protocol for eliminating heartbeat network traffic

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,122,621 B2
- Document ID: US10122621B2
- Status: Granted
- Kind: B2
- Application number: 15/184,173
- Filed: 2016-06-16
- Published: 2017-12-21
- Granted: 2018-11-06
- Earliest claimed: 2016-06-16
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Ivan Schreter
- Web page: https://patentgrep.com/patent/US10122621B2

## CPC

- H04L 45/28: using route fault recovery
- H04L 41/0853: by actively collecting configuration information or by backing up configuration information
- H04L 43/0811: by checking connectivity
- H04L 43/16: Threshold monitoring
- H04L 45/46: {Cluster building}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04W 4/08: User group management
- G06F 11/1425: {by reconfiguration of node membership}
- G06F 11/184: {where the redundant components implement processing functionality}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computing system in data communication with a plurality of nodes that make up a distributed computing cluster can detect an absence of communication from a node of the plurality of nodes over a time period that exceeds a predefined threshold time period. The computing system can query an instance of a central topology manager for the plurality of nodes regarding liveness of the node from which the absence of communication was detected and can attempting to re-initiate communication with the node when the instance of the central topology manager indicates that the node is live.

## Claims

### Claim 1

A computer-implemented method, comprising:
detecting, by a computing system in data communication with a plurality of nodes comprising a distributed computing cluster implementing a consensus protocol, an absence of communication from a master node of the plurality of nodes over a time period that exceeds a predefined threshold time period, the absence of communication comprising the master node failing to respond to the computing system within a threshold quantity of time;
querying, by the computing system, a central topology manager tracking a liveness of each of the plurality of nodes comprising the distributed computing cluster, the central topology manager being queried to determine a liveness of the master node from which the absence of communication was detected; and
in response to the central topology manager indicating that the master node is live, attempting, by the computing system, to re-initiate communication with the master node.

### Claim 2 (depends on 1)

A computer-implemented method as in claim 1, wherein the computing system comprises another node of the plurality of nodes.

### Claim 3 (depends on 1)

A computer-implemented method as in claim 1, wherein the computing system comprises a client machine in communication with the distributed computing cluster.

### Claim 4 (depends on 1)

A computer-implemented method as in claim 1, wherein the re-initiating comprises retrying a failed communication with the master node.

### Claim 5 (depends on 1)

A computer-implemented method as in claim 1, wherein the re-initiating comprises ceasing the communication from the master node of the distributed computing cluster to a follower node of the distributed computing cluster.

### Claim 6 (depends on 1)

A computer-implemented method as in claim 1, wherein the re-initiating comprises starting a new master election process on a follower node of the plurality of nodes.

### Claim 7

A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause operations comprising:
detecting, by a computing system in data communication with a plurality of nodes comprising a distributed computing cluster implementing a consensus protocol, an absence of communication from a master node of the plurality of nodes over a time period that exceeds a predefined threshold time period, the absence of communication comprising the master node failing to respond to the computing system within a threshold quantity of time;
querying, by the computing system, a central topology manager tracking a liveness of each of the plurality of nodes comprising the distributed computing cluster, the central topology manager being queried to determine a liveness of the master node from which the absence of communication was detected; and
in response to the central topology manager indicating that the master node is live, attempting, by the computing system, to re-initiate communication with the master node.

### Claim 8 (depends on 7)

A computer program product as in claim 7, wherein the computing system comprises another node of the plurality of nodes.

### Claim 9 (depends on 7)

A computer program product as in claim 7, wherein the computing system comprises a client machine in communication with the distributed computing cluster.

### Claim 10 (depends on 7)

A computer program product as in claim 7, wherein the re-initiating comprises retrying a failed communication with the master node.

### Claim 11 (depends on 7)

A computer program product as in claim 7, wherein the re-initiating comprises ceasing the communication from the master node of the distributed computing cluster to a follower node of the distributed computing cluster.

### Claim 12 (depends on 7)

A computer program product as in claim 7, wherein the re-initiating comprises starting a new master election process on a follower node of the plurality of nodes.

### Claim 13

A system, comprising:
at least one data processor; and
at least one memory storing instructions, which when executed by the at least one data processor, cause operations comprising:
detecting, by a computing system in data communication with a plurality of nodes comprising a distributed computing cluster implementing a consensus protocol, an absence of communication from a master node of the plurality of nodes over a time period that exceeds a predefined threshold time period, the absence of communication comprising the master node failing to respond to the computing system within a threshold quantity of time;
querying, by the computing system, a central topology manager tracking a liveness of each of the plurality of nodes comprising the distributed computing cluster, the central topology manager being queried to determine a liveness of the master node from which the absence of communication was detected; and
in response to the central topology manager indicating that the master node is live, attempting, by the computing system, to re-initiate communication with the master node.

### Claim 14 (depends on 13)

A system as in claim 13, wherein the computing system comprises another node of the plurality of nodes.

### Claim 15 (depends on 13)

A system as in claim 13, wherein the computing system comprises a client machine in communication with the distributed computing cluster.

### Claim 16 (depends on 13)

A system as in claim 13, wherein the re-initiating comprises retrying a failed communication with the master node.

### Claim 17 (depends on 13)

A system as in claim 13, wherein the re-initiating comprises ceasing the communication from the master node of the distributed computing cluster to a follower node of the distributed computing cluster.

### Claim 18 (depends on 13)

A system as in claim 13, wherein the re-initiating comprises starting a new master election process on a follower node of the plurality of nodes.
