# US 11,445,013 B2 · Method for changing member in distributed system and distributed system

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

- Number: US 11,445,013 B2
- Document ID: US11445013B2
- Status: Granted
- Kind: B2
- Application number: 17/125,318
- Filed: 2020-12-17
- Published: 2021-05-06
- Granted: 2022-09-13
- Earliest claimed: 2018-06-30
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Yang Bai; Lei Chen
- Web page: https://patentgrep.com/patent/US11445013B2

## CPC

- H04L 67/1046: {Joining mechanisms}
- H04L 41/0886: {Fully automatic configuration}
- H04L 41/0889: {Techniques to speed-up the configuration process}
- H04L 67/1048: {Departure or maintenance mechanisms}
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04L 67/5682: Policies or rules for updating, deleting or replacing the stored data
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- G06F 9/5072: {Grid computing}
- H04L 41/0668: by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for changing a member in a distributed system, includes requesting, by a first target node, a node address set from a management server, where the node address set includes first addresses of all nodes in the distributed system, sending, by the first target node, a join request to a master node in the distributed system when the node address set does not comprise a second address of the first target node, adding, by the master node, the second address to the node address set, and instructing all slave nodes in the distributed system to add the second address to a corresponding local member list.

## Claims

### Claim 1

A method for changing a member in a distributed system comprising:
requesting, by a first target node, a node address set from a management server, wherein the node address set comprises first addresses of all nodes in the distributed system, and wherein the distributed system comprises a master node and a slave node;
sending, by the first target node, a first join request to the master node when the node address set does not comprise a second address of the first target node, wherein the first join request comprises the second address;
receiving, by the master node, the first join request;
adding, by the master node, the second address to a first local member list of the master node; and
instructing, by the master node, the slave node to add the second address to a second local member list of the slave node.

### Claim 2 (depends on 1)

The method of claim 1, further comprising creating, by the first target node, a third local member list of the first target node, wherein the third local member list comprises the first addresses and the second address.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
sending, by the master node, a member addition instruction to the slave node, wherein the member addition instruction comprises the second address;
receiving, by the master node in response to the member addition instruction, a member addition response from the slave node;
adding, by the master node, the second address to the first local member list; and
sending, by the master node, a member addition effective instruction to the slave node to instruct the slave node to add, after receiving the member addition effective instruction, the second address to the second local member list based on the member addition response.

### Claim 4 (depends on 3)

The method of claim 3, wherein the member addition effective instruction comprises a commit instruction.

### Claim 5 (depends on 3)

The method of claim 3, wherein after receiving the member addition response, the method further comprises instructing, by the master node, the management server to add the second address to the node address set.

### Claim 6 (depends on 1)

The method of claim 1, further comprising sending, by the first target node, the first join request to the master node by broadcasting the first join request to the first addresses.

### Claim 7 (depends on 1)

The method of claim 1, wherein after requesting the node address set, the method further comprises caching, by the master node, subsequently received second join requests.

### Claim 8 (depends on 1)

The method of claim 1, wherein after requesting the node address set, the method further comprises caching, by the master node, a received exit request.

### Claim 9 (depends on 1)

The method of claim 1, wherein each of the first addresses and the second address comprises at least one of a corresponding node identifier (ID), a corresponding node Internet Protocol (IP) address, or a corresponding node port number.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
sending, by a second target node, an exit request to the master node;
receiving, by the master node, the exit request;
sending, by the master node, a member deletion instruction to the slave node, wherein the member deletion instruction comprises a third address of the second target node;
receiving, by the slave node, the member deletion instruction;
sending, by the slave node, a member deletion response to the master node;
receiving, by the master node, the member deletion response from the slave node;
deleting, by the master node, the third address from the node address set and the first local member list;
sending, by the master node, a member deletion effective instruction to the slave node; and
deleting, by the slave node, the third address from the second local member list.

### Claim 11 (depends on 1)

The method of claim 1, wherein the distributed system further comprises a plurality of slave nodes, and wherein the method further comprises:
receiving, by the master node, a third join request;
recording, by the master node, a member change tag comprising a change type and a fourth address of a third target node;
determining, by the master node, that the master node is faulty before processing the third join request and instructing to each of the slave nodes to add the second address to a corresponding second local member list;
electing, by the slave nodes, a new master node;
reading, by the new master node, the change tag; and
instructing, by the new master node based on the change type, each of the slave nodes to add the fourth address to the corresponding second local member list.

### Claim 12

A node set comprising:
a distributed system comprising:
a master node comprising a first local member list; and
a slave node comprising a second local member list; and
a first target node comprising a second address and configured to:
request a node address set from a management server, wherein the node address set comprises first addresses of all nodes in the distributed system;
send a first join request to the master node when the node address set does not comprise the second address,
wherein the master node is configured to:
receive the first join request;
add the second address to the first local member list; and
instruct the slave node to add the second address to the second local member list.

### Claim 13 (depends on 12)

The node set of claim 12, wherein the first target node is further configured to create a third local member list of the first target node, and wherein the third local member list comprises the first addresses and the second address.

### Claim 14 (depends on 12)

The node set of claim 12, wherein the master node is further configured to:
send a member addition instruction to the slave node, wherein the member addition instruction comprises the second address;
receive, from the slave node, a member addition response in response to the member addition instruction; and
send a member addition effective instruction to the slave node to instruct the slave node to add, after receiving the member addition effective instruction, the second address in the member addition instruction to the second local member list.

### Claim 15 (depends on 12)

The node set of claim 12, wherein each of the first addresses and the second address comprises at least one of a corresponding node identifier (ID), a corresponding node Internet Protocol (IP) address, or a corresponding node port number.

### Claim 16

A method for changing a member in a distributed system comprising:
requesting, by a target node, a node address set from a management server, wherein the node address set comprises first addresses of all nodes in the distributed system, and wherein the distributed system comprises a master node and a slave node;
sending, by the target node, an exit request to the master node when a second address of the target node is in the node address set, wherein the exit request comprises the second address;
receiving, by the master node, the exit request from the target node;
deleting, by the master node, the second address from a first local member list of the master node; and
instructing the slave node to delete the second address from a second local member list of the slave node.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
sending, by the master node, a member deletion instruction to the slave node, wherein the member deletion instruction comprises the second address;
receiving, by the master node, a member deletion response from the slave node in response to the member deletion instruction;
deleting, by the master node, the second address from the first local member list; and
sending a member deletion effective instruction to the slave node to instruct the slave node to delete the second address from the second local member list by executing the member deletion instruction.

### Claim 18 (depends on 16)

The method of claim 16, wherein each of the first addresses and the second address comprises at least one of a corresponding node identifier (ID), a corresponding node Internet Protocol (IP) address, or a corresponding node port number.

### Claim 19

A distributed system comprising:
a master node comprising a first local member list; and
a plurality of slave nodes coupled to the master node and comprising a target node, wherein the target node has a second address, and wherein the target node is configured to:
request a node address set from a management server, wherein the node address set comprises first addresses of all nodes in the distributed system;
send an exit request to the master node when the node address set comprises the second address, wherein the exit request comprises the second address,
wherein the master node is configured to:
receive the exit request;
delete the second address from the first local member list; and
instruct each of the slave nodes to delete the second address from a corresponding second local member list.

### Claim 20 (depends on 19)

The distributed system of claim 19, wherein the master node is further configured to:
send a member deletion instruction to all the slave nodes, wherein the member deletion instruction comprises the second address;
receive member deletion responses from the slave nodes in response to the member deletion instruction;
delete the second address from the first local member list; and
send a member deletion effective instruction to all the slave nodes to instruct the slave nodes to delete the second address from the corresponding second local member list by executing the member deletion instruction.
