IP Library Granted Patent US 12,506,803
Granted Patent B2
US 12,506,803 · App. 18/270,209 · Granted Dec 23, 2025

Filecoin cluster data transmission method and system based on remote direct memory access

Inventors: Xiaofei Wang (Jiangsu, CN); Jian Wei (Jiangsu, CN)
Assignee: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
H04L67/1097G06F15/17331H04L67/06
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,506,803
App. No.
18/270,209
Granted
Dec 23, 2025
Kind
B2
Abstract

A filecoin cluster data transmission method and system based on RDMA, including: providing a RDMA interface; receiving and encapsulating sector data by a first node, invoking the RDMA interface to transmit the sector data, serially transmitting the sector data to a next encapsulation node; when receiving the sector data from a previous node, invoking the RDMA interface to directly transmit the sector data to a user mode memory of the node for encapsulation; invoking the RDMA interface to serially transmit the sector data back to the HCA card, and transmitting the sector data to a next node; receiving, by a last node, the sector data, invoking the RDMA interface to directly transmit the sector data to the user mode memory of the last node; invoking the RDMA interface to serially transmit the sector data back to the HCA card of the last node, and transmitting the sector data to distributed storage.

Claims (60)

1 . A data transmission method for Filecoin cluster based on remote direct memory access, wherein the Filecoin cluster comprises a plurality of encapsulation nodes, and the method comprises:

providing a remote direct memory access (RDMA) protocol-based RDMA interface at a data transmission interface of the Filecoin cluster;

receiving and encapsulating, by a first encapsulation node, sector data transmitted from a client, after the sector data is encapsulated, invoking the RDMA interface to transmit the encapsulated sector data to a host channel adapter (HCA) card of the first encapsulation node, and serially transmitting, via the HCA card, the encapsulated sector data to a HCA card of a next encapsulation node;

in response to a HCA card of an encapsulation node receiving the sector data transmitted from a previous encapsulation node, invoking the RDMA interface to directly transmit the sector data to a user mode memory of the encapsulation node for encapsulation; after the sector data is encapsulated, invoking the RDMA interface to serially transmit the encapsulated sector data back to the HCA card, and transmitting, via the HCA card, the encapsulated sector data to the HCA card of a next encapsulation node; and

receiving, by the HCA card of a last encapsulation node, the sector data transmitted from a previous encapsulation node, invoking the RDMA interface to directly transmit the sector data to the user mode memory of the last encapsulation node for encapsulation; after the sector data is encapsulated, invoking the RDMA interface to serially transmit the encapsulated sector data back to the HCA card of the last encapsulation node, and transmitting the sector data to distributed storage via the HCA card of the last encapsulation node;

wherein three Filecoin cluster comprises three encapsulation nodes, respectively being P1 node, P2 node and C1 & C2 node; and a data encapsulation and transmission process of the method is as follows:

receiving and encapsulating, by the P1 node, the sector data transmitted from the client, after the sector data is encapsulated, invoking the RDMA interface to transmit the encapsulated sector data to the HCA card of the P1 node, and serially transmitting the sector data to the P2 node via the HCA card of the P1 node;

receiving, by the HCA card of the P2 node, the sector data, and invoking the RDMA interface to directly transmit the sector data to the user mode memory of the P2 node for encapsulation; after the sector data is encapsulated, invoking the RDMA interface to serially transmit the encapsulated sector data back to the HCA card of the P2 node, and transmitting the sector data to the C1 & C2 node via the HCA card of the P2 node; and

receiving, by the HCA card of the C1 & C2 node, the sector data, and invoking the RDMA interface to directly transmit the sector data to the user mode memory of the C1 & C2 node for encapsulation; after the sector data is encapsulated, invoking the RDMA interface to serially transmit the encapsulated sector data back to the HCA card of the C1 & C2 node, and transmitting the sector data to the distributed storage via the HCA card of the C1 & C2 node.

2 . The data transmission method for Filecoin cluster based on remote direct memory access according to claim 1 , wherein in the step of receiving and encapsulating, by the P1 node, the sector data transmitted from the client, after the sector data is encapsulated, invoking the RDMA interface to transmit the encapsulated sector data to the HCA card of the P1 node, and serially transmitting the sector data to the P2 node via the HCA card of the P1 node, the receiving and encapsulating, by the P1 node, the sector data transmitted from the client comprises:

receiving, by a network card of the P1 node, the sector data transmitted from the client; and

copying the sector data received to the user mode memory of the P1 node step by step for encapsulation.

3 . The data transmission method for Filecoin cluster based on remote direct memory access according to claim 2 , wherein the copying the sector data received to the user mode memory of the P1 node step by step for encapsulation comprises:

copying the sector data into a kernel mode memory corresponding to the network card of the P1 node from a memory of the network card;

copying the sector data into a kernel mode memory corresponding to a P1 node process from the kernel mode memory corresponding to the network card;

copying the sector data into a user mode memory corresponding to the P1 node process from the kernel mode memory corresponding to the P1 node process; and

encapsulating the sector data in the user mode memory of the P1 node.

4 . The data transmission method for Filecoin cluster based on remote direct memory access according to claim 1 , wherein after the sector data is encapsulated, invoking the RDMA interface by:

detecting whether the sector data has been encapsulated;

arranging the sector data that has been encapsulated in a queue in a sequential order; and

invoking the RDMA interface according to the order of the queue.

5 . The data transmission method for Filecoin cluster based on remote direct memory access according to claim 1 , wherein when receiving the sector data transmitted from the client, the network card of the first encapsulation node receives the sector data transmitted from the client via a TCP/IP protocol.

6 . A data transmission system for Filecoin cluster based on remote direct memory access, comprising a plurality of encapsulation nodes for sequentially encapsulating and transmitting sector data;

each of the encapsulation nodes is provided with a remote direct memory access (RDMA) interface, a host channel adapter (HCA) card and a user mode memory, and data is transmitted among the encapsulation nodes via the HCA card;

the system comprises: at least one processor; and a memory storing computer-readable instructions;

a first encapsulation node is further provided with a network card for receiving the sector data transmitted from a client;

wherein the processor is configured to call the computer-readable instructions to:

encapsulate the sector data in the user mode memory; and invoke the RDMA interface to transmit the encapsulated data;

the HCA card of a last encapsulated node is further configured to transmit the sector data to distributed storage;

wherein the encapsulation nodes comprise three nodes, respectively being P1 node, P2 node and C1 & C2 node; the P1 node is the first encapsulation node, and the C1 & C2 node is the last encapsulation node;

the HCA card of the P1 node is configured to serially transmit the sector data to the P2 node;

the HCA card of the P2 node is configured to receive the sector data transmitted from the P1 node; and further configured to transmit the encapsulated sector data in the user mode memory of the P2 node to the C1 & C2 node; and

the HCA card of the C1 & C2 node is configured to receive the sector data transmitted from the P2 node, and further configured to transmit the encapsulated sector data in the user mode memory of the C1 & C2 node to the distributed storage.

7 . The data transmission system for Filecoin cluster based on remote direct memory access according to claim 6 , wherein the processor is further configured to call the computer-readable instructions to:

copy the sector data received to the user mode memory of the P1 node step by step;

invoke the RDMA interface to transmit, via the RDMA interface, the encapsulated sector data in the user mode memory of the P1 node to the HCA card of the P1 node; invoke the RDMA interface to directly transmit the sector data to the user mode memory of the P2 node; invoke the RDMA interface to serially transmit the encapsulated sector data in the user mode memory of the P2 node to the HCA card of the P2 node; invoke the RDMA interface to directly transmit the sector data to the user mode memory of the C1 & C2 node; and invoke the RDMA interface to serially transmit the encapsulated sector data in the user mode memory of the C1 & C2 node to the HCA card of the C1 & C2 node.

8 . The data transmission system for Filecoin cluster based on remote direct memory access according to claim 7 , wherein the P1 node is further provided with a kernel mode memory;

the processor is configured to call the computer-readable instructions to copy the sector data into a kernel mode memory corresponding to the network card of the P1 node from the memory of the network card; copy the sector data into a kernel mode memory corresponding to a P1 node process from the kernel mode memory corresponding to the network card; copy the sector data into the user mode memory corresponding to the P1 node process from the kernel mode memory corresponding to the P1 node process.

9 . The data transmission method for Filecoin cluster based on remote direct memory access according to claim 1 , wherein the data encapsulation comprises four stages of Precommit 1, Precommit 2, Commit 1 and Commit 2.

10 . The data transmission method for Filecoin cluster based on remote direct memory access according to claim 9 , wherein the encapsulation in the Precommit 1 stage is completed at the P1 node.

11 . The data transmission method for Filecoin cluster based on remote direct memory access according to claim 9 , wherein the encapsulation in the Precommit 2 stage is completed at the P2 node.

12 . The data transmission method for Filecoin cluster based on remote direct memory access according to claim 9 , wherein the encapsulation in the Commit 1 & Commit 2 stage is completed at the C1 & C2 node.

13 . The data transmission method for Filecoin cluster based on remote direct memory access according to claim 1 , further comprising:

installing a network card and the HCA card on the first encapsulation node, and installing the HCA card on other encapsulation nodes of the Filecoin cluster.

14 . The data transmission system for Filecoin cluster based on remote direct memory access according to claim 6 , wherein the processor is configured to:

detect whether the sector data has been encapsulated;

arrange the sector data that has been encapsulated in a queue in a sequential order; and

invoke the RDMA interface according to the order of the queue.

15 . The data transmission system for Filecoin cluster based on remote direct memory access according to claim 6 , wherein the network card of the first encapsulation node receives the sector data transmitted from the client via a TCP/IP protocol.

16 . The data transmission system for Filecoin cluster based on remote direct memory access according to claim 7 , wherein each of the encapsulation nodes is further provided with a memory corresponding to the HCA card.

17 . The data transmission system for Filecoin cluster based on remote direct memory access according to claim 16 , wherein the processor is further configured to invoke the RDMA interface to transmit, via the RDMA interface, the encapsulated sector data in the user mode memory of the P1 node to the memory corresponding to the HCA card of the P1 node; invoke the RDMA interface to directly transmit the sector data to the user mode memory of the P2 node; invoke the RDMA interface to serially transmit the encapsulated sector data in the user mode memory of the P2 node to the memory corresponding to the HCA card of the P2 node; invoke the RDMA interface to directly transmit the sector data to the user mode memory of the C1 & C2 node; and invoke the RDMA interface to serially transmit the encapsulated sector data in the user mode memory of the C1 & C2 node to the memory corresponding to the HCA card of the C1 & C2 node.

18 . A non-transient computer-readable storage medium, wherein the non-transient computer-readable storage medium stores computer-readable instructions that, when executed by a processor, cause the processor to perform operations of:

providing a remote direct memory access (RDMA) protocol-based RDMA interface at a data transmission interface of a Filecoin cluster;

receiving and encapsulating, by a first encapsulation node of the Filecoin cluster, sector data transmitted from a client, after the sector data is encapsulated, invoking the RDMA interface to transmit the encapsulated sector data to a host channel adapter (HCA) card of the first encapsulation node, and serially transmitting, via the HCA card, the encapsulated sector data to a HCA card of a next encapsulation node of the Filecoin cluster;

in response to a HCA card of an encapsulation node receiving the sector data transmitted from a previous encapsulation node, invoking the RDMA interface to directly transmit the sector data to a user mode memory of the encapsulation node for encapsulation; after the sector data is encapsulated, invoking the RDMA interface to serially transmit the encapsulated sector data back to the HCA card, and transmitting, via the HCA card, the encapsulated sector data to the HCA card of a next encapsulation node; and

receiving, by the HCA card of a last encapsulation node of the Filecoin cluster, the sector data transmitted from a previous encapsulation node, invoking the RDMA interface to directly transmit the sector data to the user mode memory of the last encapsulation node for encapsulation; after the sector data is encapsulated, invoking the RDMA interface to serially transmit the encapsulated sector data back to the HCA card of the last encapsulation node, and transmitting the sector data to distributed storage via the HCA card of the last encapsulation node;

wherein three Filecoin cluster comprises three encapsulation nodes, respectively being P1 node, P2 node and C1 & C2 node; and a data encapsulation and transmission process comprises:

receiving and encapsulating, by the P1 node, the sector data transmitted from the client, after the sector data is encapsulated, invoking the RDMA interface to transmit the encapsulated sector data to the HCA card of the P1 node, and serially transmitting the sector data to the P2 node via the HCA card of the P1 node;

receiving, by the HCA card of the P2 node, the sector data, and invoking the RDMA interface to directly transmit the sector data to the user mode memory of the P2 node for encapsulation; after the sector data is encapsulated, invoking the RDMA interface to serially transmit the encapsulated sector data back to the HCA card of the P2 node, and transmitting the sector data to the C1 & C2 node via the HCA card of the P2 node; and

receiving, by the HCA card of the C1 & C2 node, the sector data, and invoking the RDMA interface to directly transmit the sector data to the user mode memory of the C1 & C2 node for encapsulation; after the sector data is encapsulated, invoking the RDMA interface to serially transmit the encapsulated sector data back to the HCA card of the C1 & C2 node, and transmitting the sector data to the distributed storage via the HCA card of the C1 & C2 node.

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 29, 2023
From: WANG, XIAOFEI; WEI, JIAN
To: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
Reel/Frame 064106/0415 →
Priority Claims (1)
CN 202110940079.6 · Aug 17, 2021 · national
Continuity (1)
Related Publication 20240106893A1 · Mar 28, 2024
References Cited (27)
US 10554407B1 · Greco · 2020 [cited by examiner]
US 20100146068A1 · Haviv · 2010 [cited by applicant]
US 20100281201A1 · O'Brien et al. · 2010 [cited by applicant]
US 20130054726A1 · Bugge · 2013 [cited by applicant]
US 20140222945A1 · Noronha et al. · 2014 [cited by applicant]
US 20150286414A1 · Gordon et al. · 2015 [cited by applicant]
US 20170147518A1 · Gordon et al. · 2017 [cited by applicant]
US 20170171075A1 · Sajeepa · 2017 [cited by examiner]
US 20190079897A1 · Kochevar-Cureton · 2019 [cited by examiner]
US 20210157797A1 · Dutchak et al. · 2021 [cited by applicant]
US 20240356766A1 · Yu · 2024 [cited by examiner]
CN 101599991A · 2009 [cited by applicant]
CN 103440202A · 2013 [cited by applicant]
CN 104539679A · 2015 [cited by applicant]
CN 108268208A · 2018 [cited by applicant]
CN 109981480A · 2019 [cited by applicant]
CN 110071900A · 2019 [cited by applicant]
CN 110191194A · 2019 [cited by applicant]
CN 111400212A · 2020 [cited by applicant]
CN 112398817A · 2021 [cited by applicant]
CN 112817887A · 2021 [cited by applicant]
CN 113395359A · 2021 [cited by applicant]
EP 1581875A2 · 2005 [cited by applicant]
JP 2008217214A · 2008 [cited by applicant]
Youmin, Chen, et al. “Survey on RDMA-based distributed storage systems.” J. Comput. Res. Dev 56 (2019): 227. [cited by applicant]
Li, Bo, Dan Meng, and Zhigang Huo. “Study on RDMA-based high performance RPC in multi-core systems.” Gaojishu Tongxin/Chinese High Technology Letters 21.7 (2011): 681. [cited by applicant]
Kalia, Anuj, Michael Kaminsky, and David G. Andersen. “Design guidelines for high performance RDMA systems.” 2016 USENIX Annual Technical Conference. [cited by applicant]