# US 12,225,084 B2 · Communication method and related components

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

- Number: US 12,225,084 B2
- Document ID: US12225084B2
- Status: Granted
- Kind: B2
- Application number: 18/725,102
- Filed: 2023-02-24
- Published: 2024-12-19
- Granted: 2025-02-11
- Earliest claimed: 2022-06-06
- Assignees: Ieit Systems Co., Ltd.
- Applicants: Ieit Systems Co., Ltd.
- Inventors: Kai Zhang; Jie Li; Zaigui Zhang
- Web page: https://patentgrep.com/patent/US12225084B2

## CPC

- 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: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed are a communication method and related components. In this solution, two network stacks are firstly established, and all connection relationships between a client and each server node and between processes of any two server nodes are then divided, so as to obtain two kinds of connection relationships, wherein the two kinds of connection relationships are respectively constructed on the basis of the two network stacks, and the number of one of the two kinds of connection relationships is related to the number of QPs.

## Claims

### Claim 1

A communication method applied to a distributed storage system, wherein the distributed storage system comprises a client and a plurality of server nodes, and the method comprises:
establishing a first network stack and a second network stack; and
dividing all connection relationships between the client and each server node and between processes of any two server nodes to obtain a first connection relationship and a second connection relationship, so that communications between the client and each server node and between processes of any two server nodes are based on a corresponding connection relationship;
wherein the first connection relationship is established based on the first network stack, and the second connection relationship is established based on the second network stack; and
a number of first connection relationships or a number of second connection relationships is related to a number of quantization parameters (QPs).

### Claim 2 (depends on 1)

The method according to claim 1, the dividing all connection relationships between the client and each server node and between processes of any two server nodes to obtain the first connection relationship and the second connection relationship, so that communications between the client and each server node and between processes of any two server nodes are based on a corresponding connection relationship, comprises:
dividing a connection relationship between the client and each server node into the first connection relationship, so that communication between the client and each server node is based on the first connection relationship; and
dividing a connection relationship between processes of any two server nodes into the second connection relationship, so that communication between processes of any two server nodes is based on the second connection relationship.

### Claim 3 (depends on 2)

The method according to claim 2, wherein the number of first connection relationships established based on the first network stack is related to the number of QPs, and the number of second connection relationships established based on the second network stack is not related to the number of QPs.

### Claim 4 (depends on 3)

The method according to claim 3, wherein the first network stack is an RDMA network stack and the second network stack is a Posix network stack.

### Claim 5 (depends on 2)

The method according to claim 2, wherein the distributed storage system further comprises a monitoring terminal for monitoring an operating state of each server node, and the method further comprises:
dividing a connection relationship between the monitoring terminal and each server node into the first connection relationship, so that the monitoring terminal monitors each server node based on the first connection relationship.

### Claim 6 (depends on 5)

The method according to claim 5, wherein the monitoring terminal is a display.

### Claim 7 (depends on 2)

The method according to claim 2, wherein the first network stack is an RDMA network stack, and
after the dividing a connection relationship between the client and each server node into the first connection relationship, so that the communication between the client and each server node is based on the first connection relationship, the method further comprises:
determining an amount of data transmitted between the client and the server nodes;
determining whether the amount of data is within a preset range;
controlling the client to transmit data to each server node through a bilateral primitive when the amount of data is within the preset range; and
controlling the client to transmit data to all server nodes through a unilateral primitive when the amount of data is not within the preset range.

### Claim 8 (depends on 7)

The method according to claim 7, wherein the server nodes comprise a main server node and a plurality of sub-server nodes, and
the controlling the client to transmit data to each server node through the bilateral primitive, comprises:
controlling the client to transmit data to the main server node through the bilateral primitive, and then controlling the main server node to transmit data to the sub-server nodes.

### Claim 9 (depends on 7)

The method according to claim 7, wherein before the controlling the client to transmit data to all server nodes through the unilateral primitive, the method further comprises:
controlling the client to send its own memory address and secret key to each server node through the bilateral primitive; and
controlling each server node to pull data from the memory address corresponding to the client based on the memory address and the secret key for data transmission between the client and each server node.

### Claim 10 (depends on 7)

The method according to claim 7, after the controlling each server node to pull data from the memory address corresponding to the client based on the memory address and the secret key, the method further comprises:
storing the pulled data in a memory address of each server node corresponding to the data.

### Claim 11 (depends on 7)

The method according to claim 7, wherein the preset range is less than 64 kb.

### Claim 12 (depends on 7)

The method according to claim 7, wherein the controlling the client to transmit data to all server nodes through the unilateral primitive comprises:
controlling all server nodes to pull data from the client.

### Claim 13 (depends on 2)

The method according to claim 2, wherein the first network stack is an RDMA network stack, and
after the dividing the connection relationship between the client and each server node into the first connection relationship, so that communication between the client and each server node is based on the first connection relationship, the method further comprises:
determining a type of data transmitted by the client to the server nodes;
determining whether the type of data is a preset type;
controlling the client to transmit the preset type of data to the server nodes through a bilateral primitive when the type of data is the preset type; and
controlling the client to transmit the preset type of data to all server nodes through a unilateral primitive when the type of data is not of the preset type.

### Claim 14 (depends on 2)

The method according to claim 2, wherein the number of first connection relationships established based on the first network stack is not related to the number of QPs, and the number of second connection relationships established based on the second network stack is related to the number of QPs.

### Claim 15 (depends on 1)

The method according to claim 1, wherein the method further comprises:
initializing the first network stack and the second network stack at startup of the distributed storage system.

### Claim 16 (depends on 15)

The method according to claim 15, wherein the method further comprises:
obtaining an accessed network segment detected by a first thread group corresponding to the first network stack and the second network stack at a phase of establishing a connection relationship; and
determining a target network stack from the first network stack and the second network stack based on the network segment.

### Claim 17 (depends on 1)

A communication apparatus, comprising:
a memory for storing a computer program; and
a processor for implementing steps of the method according to claim 1 when the computer program is stored.

### Claim 18 (depends on 17)

A distributed storage system, comprising a client, a plurality of server nodes and the communication apparatus according to claim 17.

### Claim 19 (depends on 1)

A non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores a computer program which implements steps of the method according to claim 1 when executed by a processor.

### Claim 20

A communication system applied to a distributed storage system, wherein the distributed storage system comprises a client and a plurality of server nodes, and the communication system comprises:
an establishment unit for establishing a first network stack and a second network stack; and
a division unit for dividing all connection relationships between the client and each server node and between processes of any two server nodes to obtain a first connection relationship and a second connection relationship, so that communications between the client and each server node and between processes of any two server nodes are based on a corresponding connection relationship;
wherein the first connection relationship is established based on the first network stack, and the second connection relationship is established based on the second network stack; and
a number of first connection relationships or a number of second connection relationships is related to a number of quantization parameters (QPs).
