IP Library Granted Patent US 12,225,084
Granted Patent B2
US 12,225,084 · App. 18/725,102 · Granted Feb 11, 2025

Communication method and related components

Inventors: Kai Zhang (Shandong, CN); Jie Li (Shandong, CN); Zaigui Zhang (Shandong, CN)
Assignee: IEIT SYSTEMS CO., LTD.
H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,225,084
App. No.
18/725,102
Granted
Feb 11, 2025
Kind
B2
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 (52)

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).

2. 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.

3. 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.

4. 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.

5. 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.

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

7. 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.

8. 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.

9. 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.

10. 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.

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

12. 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.

13. 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.

14. 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.

15. 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.

16. 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.

17. 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.

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

19. 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.

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).

Assignments (2)
LICENSE Recorded Jun 30, 2026
From: IEIT SYSTEMS CO., LTD
To: AIVRES SYSTEMS INC.
Reel/Frame 075857/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2024
From: ZHANG, KAI; LI, JIE; ZHANG, ZAIGUI
To: IEIT SYSTEMS CO., LTD.
Reel/Frame 067864/0911 →
Priority Claims (1)
CN 202210627358.1 · Jun 6, 2022 · national
Continuity (1)
Related Publication 20240422218A1 · Dec 19, 2024
References Cited (40)
US 6631140B1 · Sjodin · 2003 [cited by examiner]
US 8527661B1 · Lee · 2013 [cited by examiner]
US 8583903B2 · Freedman · 2013 [cited by examiner]
US 8874680B1 · Das · 2014 [cited by examiner]
US 9806984B1 · Tolstoy · 2017 [cited by examiner]
US 10687263B2 · Paladugu · 2020 [cited by examiner]
US 11388642B2 · Paladugu · 2022 [cited by examiner]
US 20020198927A1 · Craddock et al. · 2002 [cited by applicant]
US 20030182398A1 · Morlang · 2003 [cited by examiner]
US 20040010594A1 · Boyd et al. · 2004 [cited by applicant]
US 20050276281A1 · Jones · 2005 [cited by examiner]
US 20090067440A1 · Chadda · 2009 [cited by examiner]
US 20120066695A1 · Berezansky · 2012 [cited by examiner]
US 20130103853A1 · Lyon · 2013 [cited by examiner]
US 20160028806A1 · Wareing · 2016 [cited by examiner]
US 20160034418A1 · Romem · 2016 [cited by examiner]
US 20160337902A1 · Hahn · 2016 [cited by examiner]
US 20170034268A1 · Govind · 2017 [cited by applicant]
US 20170075856A1 · Suzue · 2017 [cited by examiner]
US 20170103039A1 · Shamis · 2017 [cited by examiner]
US 20170149890A1 · Shamis · 2017 [cited by examiner]
US 20170371835A1 · Ranadive et al. · 2017 [cited by applicant]
US 20190253945A1 · Paladugu · 2019 [cited by examiner]
US 20200344657A1 · Paladugu · 2020 [cited by examiner]
US 20210081268A1 · Bando · 2021 [cited by examiner]
US 20210303154A1 · Zhang · 2021 [cited by examiner]
US 20220400422A1 · Paladugu · 2022 [cited by examiner]
US 20230239350A1 · Chen · 2023 [cited by examiner]
CN 102404212A · 2012 [cited by examiner]
CN 107147722A · 2017 [cited by applicant]
CN 107451092A · 2017 [cited by applicant]
CN 107948334A · 2018 [cited by applicant]
CN 110113425A · 2019 [cited by applicant]
CN 110445666A · 2019 [cited by applicant]
CN 111277616A · 2020 [cited by applicant]
CN 113326155A · 2021 [cited by applicant]
CN 114710515A · 2022 [cited by applicant]
Song, Hexiang. “Research on Construction of RDMA End-host System for Multi-application Datacenters.” A thesis for master's degree. Nanjing University. May 15, 2022. [cited by applicant]
Xingda Wei, et al. “Optimizing distributed systems with remote direct memory access.” Big Data. Issue 04, 2018. [cited by applicant]
Qing Ye, et al. “Research of message passing technology based on infiniband architecture.” Journal of Sichuan University (Natural Science Edition), 52(2). Mar. 28, 2015. [cited by applicant]