US Patent No. 7,260,392 - Prepared by Attorney David Tran for Intel Corporation and filed by Intel Corporation
Brief Description: Referring to FIG. 1, while the source node 115 communicates with the destination node 120 using a direct link, both the source node 115 and the destination node 120 are associated with the same access point (AP) 110. The AP 110, the source node 115, and the destination node 120 belong in the LAN segment or basic service set (BSS) 100. Similarly, the node 125 is associated with the AP 105 in the BSS 101. Typically, when the source node 115 sends data to the destination node 120, data may be sent in the form of packets. Because individual instances of packet transmit attempts may fail, a transmitter (not shown) in the source node 115 may be used to retry those packets that fail until they are successfully received by the destination node 120. The transmitter knows whether a given attempt has been successful because a receiver (not shown) in the destination node 120 responds with an acknowledgement for each successful transmission. Thus, the transmitter sends each packet and waits for an acknowledgement. If the transmitter receives an acknowledgement, it moves onto the next packet, but if it does not, it retransmits the same packet. The transmitter may continue to retransmit until it receives an acknowledgement. Since the transmitter retries the same packet until it succeeds before moving onto the next packet, no packets are lost or delivered out of order. In a situation when a packet is successfully received by the receiver in the destination node 120, but the acknowledgement from the receiver is not received by the transmitter in the source node 115, the transmitter may interpret that the packet is lost. The transmitter may then retransmit the same packet, resulting in a duplicate packet received at the receiver. One method that may be used to resolve the duplicate packet problem involves using sequence information and a duplicate detection cache. For example, each packet may be marked with a monotonically increasing sequence number. Packets that are to be retransmitted by the transmitter are associated with the same sequence number as the same packets during the first transmission attempt. The receiver in the destination node 120 may maintain a duplicate detection cache, which contains the sequence number of the last successfully received packets. This allows the receiver to determine whether any packet it receives is a duplicate, and when a duplicate packet is determined, it may be discarded. The receiver may then send an acknowledgement to the transmitter to confirm with the transmitter that the packet has been received and does not to be retransmitted. It may be noted that, in the example illustrated above, the sequence information known to the source node 115 and stored in the destination node 120 is local to the BSS 100 because both the source node 115 and the destination node 120 are in the BSS 100. Although the above example refers to using the sequence information and the duplicate detection cache as one method of detecting duplication, other methods may also be used to prevent packet duplication.