IP Library › Granted Patent US 11,023,412
Granted Patent B2
US 11,023,412 · App. 17/065,684 · Granted Jun 1, 2021

RDMA data sending and receiving methods, electronic device, and readable storage medium

Inventors: Yinchao Zou (Hangzhou, CN); Changqing Li (Hangzhou, CN); Changhua He (Hangzhou, CN); Peng Wu (Hangzhou, CN); Jincan Kong (Hangzhou, CN)
Assignee: ADVANCED NEW TECHNOLOGIES CO., LTD.
G06F15/17331G06F3/0655G06F11/3041G06F12/0868G06F13/28H04L29/08117H04W8/205H04W8/22H03M7/30
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 11,023,412
App. No.
17/065,684
Granted
Jun 1, 2021
Kind
B2
Abstract

A Remote Direct Memory Access (RDMA) data sending method is disclosed. The method is applicable to a sending end, with a data-transmission RDMA device disposed thereon. The method includes: the data-transmission RDMA device acquiring raw data; the data-transmission RDMA device compressing the raw data by using a preset compression method to obtain compressed data; and the data-transmission RDMA device encapsulating the compressed data into a data packet, and transmitting the data packet to a receiving end. The data packet may include a method tag corresponding to the preset compression method. In this method, the compression and transmission of the raw data are conducted by the data-transmission RDMA device on the hardware level.

Claims (64)

1. A Remote Direct Memory Access (RDMA) data transmission method, comprising:

receiving, by a data-receiving RDMA device, a data packet including transmitted data and a method tag;

determining whether the data packet includes a compression tag indictive that the data package is compressed; and

conducting, in response to determining that the data packet includes the compression tag, operations comprising:

determining, by the data-receiving RDMA device and according to the method tag, a compression method;

determining, by the data-receiving RDMA device and according to the compression method, a decompression algorithm; and

decompressing, by the data-receiving RDMA device and using the decompression algorithm, the transmitted data to obtain raw data.

2. The method of claim 1 , wherein the receiving a data packet including transmitted data and a method tag comprises:

receiving, from a data-transmitting RDMA device, the data packet, wherein each of the data-transmitting RDMA device and the data-receiving RDMA device is a RDMA network interface card.

3. The method of claim 1 , wherein a data size of the data packet is smaller than a data size of the raw data.

4. The method of claim 1 , wherein the data packet includes a user data field and a transport header, the user data field comprising the transmitted data, and the transport header comprising the method tag,

wherein the determining whether the data packet includes a compression tag indictive that the data package is compressed comprises:

determining whether the transport header of the data packet includes the compression tag.

5. The method of claim 4 , wherein the data packet further includes a routing header and a cyclic redundancy check (CRC), the routing header comprising routing information of the data packet, and the CRC comprising a check code of a fixed quantity of bits, generated by a hash function based on the raw data, and

wherein the method further comprises, before determining the compression method:

verifying, according to the check code, the data packet, and

wherein the determining a compression method comprises:

determining, in response to a determination of the data packet being successfully verified, the compression method.

6. The method of claim 4 , further comprising, after decompressing the transmitted data to obtain raw data:

storing, by the data-receiving RDMA device, the raw data in a storage device.

7. The method of claim 1 , further comprising:

storing, by the data-receiving RDMA device and in response to determining that the data packet does not include the compression tag, the transmitted data in a storage device.

8. A data-receiving RDMA device having a memory configured with instructions executable to cause the data-receiving RDMA device to perform operations comprising:

receiving a data packet including transmitted data and a method tag;

determining whether the data packet includes a compression tag indictive that the data package is compressed; and

conducting, in response to determining that the data packet includes the compression tag, data decompression operations comprising:

determining, according to the method tag, a compression method;

determining, according to the compression method, a decompression algorithm; and

decompressing, using the decompression algorithm, the transmitted data to obtain raw data.

9. The device of claim 8 , wherein the receiving a data packet including transmitted data and a method tag comprises:

receiving, from a data-transmitting RDMA device, the data packet, wherein each of the data-transmitting RDMA device and the data-receiving RDMA device is a RDMA network interface card.

10. The device of claim 8 , wherein a data size of the data packet is smaller than a data size of the raw data.

11. The device of claim 8 , wherein the data packet includes a user data field and a transport header, the user data field comprising the transmitted data, and the transport header comprising the method tag,

wherein the determining whether the data packet includes a compression tag indictive that the data package is compressed comprises:

determining whether the transport header of the data packet includes the compression tag.

12. The device of claim 11 , wherein the data packet further includes a routing header and a cyclic redundancy check (CRC), the routing header comprising routing information of the data packet, and the CRC comprising a check code of a fixed quantity of bits, generated by a hash function based on the raw data, and

wherein the data decompression operations further comprise, before determining the compression method:

verifying, according to the check code, the data packet, and

wherein the determining a compression method comprises:

determining, in response to a determination of the data packet being successfully verified, the compression method.

13. The device of claim 11 , wherein the data receiving operations further comprise, after decompressing the transmitted data to obtain raw data:

storing the raw data in a storage device.

14. The device of claim 8 , wherein the data receiving operations further comprises:

storing, in response to determining that the data packet does not include the compression tag, the transmitted data in a storage device.

15. A non-transitory computer-readable storage medium having instructions stored thereon executable by a processor to cause the processor to perform operations comprising:

receiving a data packet including transmitted data and a method tag;

determining whether the data packet includes a compression tag indictive that the data package is compressed; and

conducting, in response to determining that the data packet includes the compression tag, data decompression operations comprising:

determining, according to the method tag, a compression method;

determining, according to the compression method, a decompression algorithm; and

decompressing, using the decompression algorithm, the transmitted data to obtain raw data.

16. The storage medium of claim 15 , wherein the receiving a data packet including transmitted data and a method tag comprises:

receiving, from a data-transmitting RDMA device, the data packet, wherein each of the data-transmitting RDMA device and the data-receiving RDMA device is a RDMA network interface card.

17. The storage medium of claim 15 , wherein a data size of the data packet is smaller than a data size of the raw data.

18. The storage medium of claim 15 , wherein the data packet includes a user data field and a transport header, the user data field comprising the transmitted data, and the transport header comprising the method tag,

wherein the determining whether the data packet includes a compression tag indictive that the data package is compressed comprises:

determining whether the transport header of the data packet includes the compression tag.

19. The storage medium of claim 18 , wherein the data packet further includes a routing header and a cyclic redundancy check (CRC), the routing header comprising routing information of the data packet, and the CRC comprising a check code of a fixed quantity of bits, generated by a hash function based on the raw data, and

wherein the data decompression operations further comprise, before determining the compression method:

verifying, according to the check code, the data packet, and

wherein the determining a compression method comprises:

determining, in response to a determination of the data packet being successfully verified, the compression method.

20. The storage medium of claim 18 , wherein the data receiving operations further comprise, after decompressing the transmitted data to obtain raw data:

storing the raw data in a storage device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 054006/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 054006/0813 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2020
From: ZOU, YINCHAO; LI, CHANGQING; HE, CHANGHUA; WU, PENG; KONG, JINCAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 054024/0034 →
Priority Claims (1)
CN 201910802307.6 · Aug 28, 2019 · national
Continuity (3)
Continuation 16854740 · Apr 21, 2020
Continuation PCTCN2020072161 · Jan 15, 2020
Related Publication 20210089492A1 · Mar 25, 2021