IP Library Granted Patent US 10,911,541
Granted Patent B1
US 10,911,541 · App. 16/945,621 · Granted Feb 2, 2021

Data transmission and network interface controller

Inventors: Changqing Li (Hangzhou, CN); Yinchao Zou (Hangzhou, CN); Peng Wu (Hangzhou, CN); Jincan Kong (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
H04L67/1097H04L5/0055H04L41/12H04L49/901H04L49/9094H04L67/1091H04L69/12
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 10,911,541
App. No.
16/945,621
Granted
Feb 2, 2021
Kind
B1
Abstract

Implementations of this disclosure provide data transmission operations and network interface controllers. An example method performed by a first RDMA network interface controller includes obtaining m data packets from a host memory of a first host; sending the m data packets to a second RDMA network interface controller of a second host; backing up the m data packets to a network interface controller memory integrated into the first RDMA network interface controller; determining that the second RDMA network interface controller does not receive n data packets of the m data packets; and in response, obtaining the n data packets from the m data packets that have been backed up to the network interface controller memory integrated into the first RDMA network interface controller, and retransmitting the n data packets to the second RDMA network interface controller.

Claims (41)

1. A computer-implemented method, comprising:

communicating, by a second RDMA network interface controller of a second host with a first RDMA network interface controller of a first host, to receive m data packets from the first RDMA network interface controller, wherein the m data packets have been backed up by the first RDMA network interface controller to a first network interface controller memory integrated into the first RDMA network interface controller, m being a positive integer; and

in response to determining that n data packets of the m data packets have not been received, n being a positive integer:

storing, by the second RDMA network interface controller, received data packets of the m data packets into a second network interface controller memory integrated into the second RDMA network interface controller;

waiting, by the second RDMA network interface controller, to receive the n data packets having been retransmitted by the first RDMA network interface controller, wherein the retransmitted n data packets are obtained by the first RDMA network interface controller from the first network interface controller memory; and

after the retransmitted n data packets have been received by the second RDMA network interface controller, transmitting the received data packets together with the retransmitted n data packets to a host memory of the second host.

2. The computer-implemented method of claim 1 , wherein the first network interface controller memory integrated into the first RDMA network interface controller is a dynamic random access memory.

3. The computer-implemented method of claim 1 , wherein the second network interface controller memory integrated into the second RDMA network interface controller is a dynamic random access memory.

4. The computer-implemented method of claim 1 , wherein after determining that n data packets of them data packets have not been received, the method further comprises:

sending, by the second RDMA network interface controller, negative acknowledgement (NACK) responses for the n data packets to the first RDMA network interface controller.

5. The computer-implemented method of claim 1 , wherein after determining that n data packets of the m data packets have not been received, the method further comprises:

not sending acknowledgement (ACK) responses for the n data packets to the first RDMA network interface controller.

6. The computer-implemented method of claim 1 , wherein the first RDMA network interface controller is configured to delete the m data packets from the first network interface controller memory in response to determining that the second RDMA network interface controller has received the m data packets, including the n data packets that have been retransmitted by the first RDMA network interface controller.

7. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

communicating, by a second RDMA network interface controller of a second host with a first RDMA network interface controller of a first host, to receive m data packets from the first RDMA network interface controller, wherein the m data packets have been backed up by the first RDMA network interface controller to a first network interface controller memory integrated into the first RDMA network interface controller, m being a positive integer; and

in response to determining that n data packets of the m data packets have not been received, n being a positive integer:

storing, by the second RDMA network interface controller, received data packets of the m data packets into a second network interface controller memory integrated into the second RDMA network interface controller;

waiting, by the second RDMA network interface controller, to receive the n data packets having been retransmitted by the first RDMA network interface controller, wherein the retransmitted n data packets are obtained by the first RDMA network interface controller from the first network interface controller memory; and

after the retransmitted n data packets have been received by the second RDMA network interface controller, transmitting the received data packets together with the retransmitted n data packets to a host memory of the second host.

8. The computer-readable medium of claim 7 , wherein the first network interface controller memory integrated into the first RDMA network interface controller is a dynamic random access memory.

9. The computer-readable medium of claim 7 , wherein the second network interface controller memory integrated into the second RDMA network interface controller is a dynamic random access memory.

10. The computer-readable medium of claim 7 , wherein after determining that n data packets of them data packets have not been received, the operations further comprise:

sending, by the second RDMA network interface controller, negative acknowledgement (NACK) responses for the n data packets to the first RDMA network interface controller.

11. The computer-readable medium of claim 7 , wherein after determining that n data packets of the m data packets have not been received, the operations further comprise:

not sending acknowledgement (ACK) responses for the n data packets to the first RDMA network interface controller.

12. The computer-readable medium of claim 7 , wherein the first RDMA network interface controller is configured to delete the m data packets from the first network interface controller memory in response to determining that the second RDMA network interface controller has received the m data packets, including the n data packets that have been retransmitted by the first RDMA network interface controller.

13. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

communicating, by a second RDMA network interface controller of a second host with a first RDMA network interface controller of a first host, to receive m data packets from the first RDMA network interface controller, wherein the m data packets have been backed up by the first RDMA network interface controller to a first network interface controller memory integrated into the first RDMA network interface controller, m being a positive integer; and

in response to determining that n data packets of the m data packets have not been received, n being a positive integer:

storing, by the second RDMA network interface controller, received data packets of the m data packets into a second network interface controller memory integrated into the second RDMA network interface controller;

waiting, by the second RDMA network interface controller, to receive the n data packets having been retransmitted by the first RDMA network interface controller, wherein the retransmitted n data packets are obtained by the first RDMA network interface controller from the first network interface controller memory; and

after the retransmitted n data packets have been received by the second RDMA network interface controller, transmitting the received data packets together with the retransmitted n data packets to a host memory of the second host.

14. The computer-implemented system of claim 13 , wherein the first network interface controller memory integrated into the first RDMA network interface controller is a dynamic random access memory.

15. The computer-implemented system of claim 13 , wherein the second network interface controller memory integrated into the second RDMA network interface controller is a dynamic random access memory.

16. The computer-implemented system of claim 13 , wherein after determining that n data packets of the m data packets have not been received, the operations further comprise:

sending, by the second RDMA network interface controller, negative acknowledgement (NACK) responses for the n data packets to the first RDMA network interface controller.

17. The computer-implemented system of claim 13 , wherein after determining that n data packets of the m data packets have not been received, the operations further comprise:

not sending acknowledgement (ACK) responses for the n data packets to the first RDMA network interface controller.

18. The computer-implemented system of claim 13 , wherein the first RDMA network interface controller is configured to delete the m data packets from the first network interface controller memory in response to determining that the second RDMA network interface controller has received the m data packets, including the n data packets that have been retransmitted by the first RDMA network interface controller.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: ZOU, YINCHAO; WU, PENG; KONG, JINCAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 054855/0520 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: LI, CHANGQING
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 053650/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →