Inventors:
Paul E. Newson - Bellevue WA, US
Aaron W. Ogus - Kirkland WA, US
Roderick M. Toll - Sammamish WA, US
Michael J. Narayan - Seattle WA, US
Evan J. Schrier - Fall City WA, US
James M. Boswell - Bellevue WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 13/00
Abstract:
A networking protocol that supports the sending of reliable and non-reliable data in a common sliding window. Data to be transmitted according to the protocol is packaged into packets, where each packet has a header. Each packet carries a sequence number in the header, where the sequence numbers are successively assigned to each outgoing packet. As the packets are received, the recipient of the packets keeps track of the sequence numbers of received packets to determine whether any packets are missing and selectively acknowledges those packets that have been received. The selective acknowledgment is performed using a mask, where each bit in the mask indicates the presence or absence of a packet as an offset from a reference value. Based on the mask, the sender re-sends non-received reliable packets, and creates a second mask which indicates non-reliable non-received packets that will not be re-sent.