Patent ID: 8427951

Claim:
A method for recovering dropped data packets in a Data Center Ethernet (DCE) network, comprising: storing data packets for transmission in a replay buffer in a transmitter, the replay buffer accessible at a link layer of the network, wherein each data packet includes a header having a field that indicates if the data packet is formatted for reliable recovery at the link layer; transmitting the data packets to a receiver across a link layer in the DCE network; setting the field in the header of the data packet, while the packet is in transit over the network, the field enabling reliable recovery at the link layer, wherein setting the field to a first value causes links in the network to apply reliable recovery at the link layer to the data packet, and setting the field to a second value causes the data packet to pass through the links in the network without applying reliable recovery at the link layer to the data packet; receiving the data packets transmitted across the link layer; determining, at the link layer, whether a data packet has been dropped; receiving a non-acknowledgement signal from the receiver in another data packet across the link layer indicating that the data packet has been dropped, in response to determining that the data packet has been dropped; and receiving an acknowledgement signal from the receiver in the other data packet across the link layer indicating that the data packet has been received, the acknowledgement signal sent only after the last packet of the data packets is received at the receiver and in response to determining that none of the data packets have been dropped; wherein it is assumed that the data packet or the acknowledgement signal has been dropped, in response to determining that no acknowledgement signal is received after a timeout period; and in response to receipt of the non-acknowledgement signal at the transmitter or in response to no receipt of an acknowledgement signal at the transmitter after the timeout period, retrieving the data packet from the replay buffer, at the link layer; and resending the data packet to the receiver across the link layer; wherein the acknowledgement signal is received only after the last packet has been received by the recipient, responsive to the recipient being busy with other tasks.