Reliable message transmission with packet-level resend
First Claim
Patent Images
1. A method for communication over a network, comprising:
- receiving from a host processor a descriptor defining a message comprising message data to be sent over the network;
responsive to the descriptor, generating a sequence of packets each containing a respective portion of the message data, the sequence ending in a final packet containing a final portion of the message data;
entering in a selected packet among the packets in the sequence, other than the final packet, an indication requesting that a recipient of the packets acknowledge the selected packet;
sending the packets in the sequence to the recipient; and
following an interruption in the sequence of the packets subsequent to the selected packet, resuming sending the packets in the sequence beginning after the selected packet.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for communication over a network includes receiving from a host processor a descriptor defining a message including message data to be sent over the network, and responsive to the descriptor, generating a sequence of packets each containing a respective portion of the message data. An indication is entered in a selected packet among the packets in the sequence, other than the final packet, requesting that a recipient of the packets acknowledge the selected packet. Following an interruption in the sequence of the packets subsequent to the selected packet, sending of the packets in the sequence resumes beginning after the selected packet.
-
Citations
36 Claims
-
1. A method for communication over a network, comprising:
-
receiving from a host processor a descriptor defining a message comprising message data to be sent over the network; responsive to the descriptor, generating a sequence of packets each containing a respective portion of the message data, the sequence ending in a final packet containing a final portion of the message data; entering in a selected packet among the packets in the sequence, other than the final packet, an indication requesting that a recipient of the packets acknowledge the selected packet; sending the packets in the sequence to the recipient; and following an interruption in the sequence of the packets subsequent to the selected packet, resuming sending the packets in the sequence beginning after the selected packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An interface device for communication over a network, comprising:
-
a host interface, adapted to receive from a host processor a descriptor defining a message comprising message data to be sent over the network; an execution unit, coupled to the host interface and adapted, responsive to the descriptor, to generate a sequence of packets each containing a respective portion of the message data, the sequence ending in a final packet containing a final portion of the message data, such that an indication requesting that a recipient of the packets acknowledge the selected packet is entered in a selected packet among the packets in the sequence, other than the final packet, the execution unit being further adapted, following an interruption in the sequence of the packets subsequent to the selected packet, to resume sending the packets in the sequence beginning after the selected packet; and a network interface, coupled to the execution unit so as to send the packets in the sequence to the recipient over the network and to receive an acknowledgment of the selected packet sent by the recipient in response to the indication in the selected packet. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification