Claims
- 1. A system for synchronizing a sender sliding window with a receiver sliding window, comprising:
a sender sliding window that buffers at least one packet to be sent to a receiver with a receiver sliding window; and a sender window manager that manages the sender sliding window to facilitate synchronizing the sender sliding window with the receiver sliding window, the sender window manager incrementing the sender sliding window utilizing information contained in an acknowledgment from the receiver.
- 2. The system of claim 1, where the size of the sender sliding window and the size of the receiver sliding window are negotiated during service establishment.
- 3. The system of claim 1, where the sender and the receiver are components in a wireless packet communication system.
- 4. The system of claim 3, where the at least one packet is transmitted through a wireless access termination service and a wireless modem.
- 5. The system of claim 4, where the packet carries a sequence number.
- 6. The system of claim 5, where a receiver window manager selectively moves the receiver sliding window based on the sequence number.
- 7. The system of claim 1, the acknowledgment having an information map of a receiver sliding window containing information relating to packets that are lost and packets that are received properly.
- 8. The system of claim 7, the information map being empty if the packets are properly received in sequence.
- 9. A system for synchronizing a receiver sliding window with a sender sliding window, comprising:
a receiver sliding window that buffers at least one packet received from a sender with a sender sliding window; and a receiver window manager that manages the receiver sliding window to facilitate synchronizing the receiver sliding window with the sender sliding window, the receiver window manager transmitting an acknowledgement to the sender in response to receiving the at least one packet and incrementing the receiving window based on information contained in the acknowledgment.
- 10. The system of claim 9, where the size of the sender sliding window and the size of the receiver sliding window are negotiated during service establishment.
- 11. The system of claim 9, where the sender and the receiver are components in a wireless packet communication system.
- 12. The system of claim 9, where the at least one packet carries a sequence number.
- 13. The system of claim 12, where the receiver window manager selectively moves the receiver sliding window based on the sequence number.
- 14. The system of claim 13, where a sender window manager selectively moves the sender sliding window based on the sequence number.
- 15. The system of claim 9, the acknowledgment having an information map of the receiver sliding window containing information relating to packets that are lost and packets that are received properly by the receiver sliding window.
- 16. The system of claim 15, the information map being empty if the packets are properly received by the receiver sliding window in sequence.
- 17. A method for synchronizing a sender packet flow control data structure with a receiver packet flow control data structure, comprising:
selecting between at least one of, performing processing associated with receiving a packet from a higher layer, performing processing associated with sending a packet from the sender packet flow control data structure to a lower layer, and performing processing associated with receiving an acknowledgment to a packet; and selectively updating the sender packet flow control data structure based on the selected processing.
- 18. The method of claim 17, where the processing associated with receiving a packet from a higher layer comprises:
receiving the packet from the higher layer; determining whether the sender packet flow control data structure is full; and if the sender packet flow control data structure is not full, then storing the packet in the sender packet flow control data structure and updating a state associated with the packet to indicate that the packet is in the sender packet flow control data structure and is ready to transmit.
- 19. The method of claim 18, where the processing associated with sending a packet from the sender packet flow control data structure to a lower layer comprises:
sending the packet from the sender packet flow control data structure to the lower layer; computing an estimated time at which the packet will be delivered to the receiver; storing the estimated time in the sender; and setting a state associated with the packet to indicate that the packet in the sender packet flow control data structure has been transmitted to the lower layer.
- 20. The method of claim 18, where the processing associated with receiving an acknowledgment to a packet comprises:
receiving an acknowledgment frame; determining if at least one packet has been positively acknowledged by reading the acknowledgment frame; updating the sender packet flow control data structure to remove packets for which positive acknowledgment was contained in the acknowledgment frame; and determining whether there are packets to retransmit from the sender packet flow control data structure and selectively retransmitting the packets.
- 21. The method of claim 17, where selectively updating the sender packet flow control data structure based on the selected processing comprises:
updating an upper limit indicating the maximum sequence number of a packet that can be stored in the sender packet flow control data structure; updating a lower limit indicating the minimum sequence number of a packet that can be stored in the sender packet flow control data structure; and selectively removing a packet from the sender packet flow control data structure based on the updated lower limit.
- 22. The method of claim 17, where the sender packet flow control data structure is a buffer associated with a sliding window.
- 23. A method for synchronizing a receiver packet flow control data structure with a sender packet flow control data structure, comprising:
selecting between at least one of, performing processing associated with receiving a packet, performing processing associated with receiving a request for an acknowledgment, and performing processing associated with generating a periodic acknowledgment frame; and selectively updating the receiver packet flow control data structure based on the selected processing.
- 24. The method of claim 23, where the processing associated with receiving a packet comprises:
receiving a packet; examining a sequence number associated with the packet to determine whether the packet is a packet that the receiver packet flow control data structure is expecting; and if the packet is a packet that the receiver packet flow control data structure is expecting, then buffering the packet in the receiver packet flow control data structure, and releasing packets in sequence to a higher layer.
- 25. The method of claim 23, further comprising then determining whether the receiver packet flow control data structure should be updated if the packet is not a packet that the receiver packet flow control data structure is expecting, so that the packet becomes a packet that the receiver packet flow control is expecting and updating the receiver packet flow control data structure.
- 26. The method of claim 23, where the processing associated with generating a periodic acknowledgment frame comprises generating an acknowledgment frame having an information map of the receiver packet flow control data structure, the information map containing information relating to packets that are lost and packets that are received properly.
- 27. The method of claim 23, where selectively updating the receiver packet flow control data structure based on the selected processing comprises:
updating an upper limit indicating the maximum sequence number of a packet that can be stored in the receiver packet flow control data structure; updating a lower limit indicating the minimum sequence number of a packet that can be stored in the receiver packet flow control data structure; and selectively removing a packet from the receiver packet flow control data structure.
- 28. The method of claim 27, where the receiver packet flow control data structure is a buffer associated with a sliding window.
- 29. A method for synchronizing a transmit buffer with a receive buffer in a wireless packet communicating system, comprising:
establishing a maximum size of a transmit buffer; establishing a range of sequence numbers associated with packets that can be stored in the transmit buffer; receiving a packet from a higher protocol layer, where the packet is marked with a sequence number; selectively buffering the packet in a transmit buffer if the packet sequence number is within the range of sequence numbers; passing at least one packet to a receiver; receiving an acknowledgment for the at least one packet passed to the receiver; adjusting the range of sequence numbers based on the acknowledgment; and selectively removing the at least one packets from the transmit buffer based on the positive acknowledgements contained in the received acknowledgment.
- 30. The method of claim 29, where adjusting the range of sequence numbers based on the acknowledgment comprises:
releasing in sequence packets that receive positive acknowledgements; adjusting a lower limit of the range of sequence numbers; and adjusting an upper limit of the range of sequence numbers based on a relation to the lower limit to return the range of sequence numbers to the maximum size.
- 31. A method for synchronizing a receive buffer with a transmit buffer in a wireless packet communicating system, comprising:
establishing a maximum size of a receive buffer; establishing a range of sequence numbers associated with packets that can be stored in the receive buffer; receiving a packet from a sender, where the packet is marked with a sequence number; selectively buffering the packet in the receive buffer if the packet sequence number is within the range of sequence numbers; passing positively received in sequence packets to a higher protocol layer; generating an acknowledgment for packets received from the sender, the acknowledgment having an information map of the receive buffer, the information map containing information relating to packets that are lost and packets that are received properly by the receive buffer; adjusting the range of sequence numbers based on the sequence number of the positively received packet; and selectively removing a buffered packet based on the adjusted range of sequence numbers.
- 32. The method of claim 31, where adjusting the range of sequence numbers based on the sequence number of the received packet comprises:
determining a highest sequence number of a packet that the receiver is expecting; adjusting an upper limit of the range of sequence numbers to place the highest sequence number inside the range of sequence numbers; and adjusting a lower limit of the range of sequence numbers based on a relation to the upper limit to return the range of sequence numbers to the maximum size.
- 33. A system for synchronizing a transmit buffer with a receive buffer in a wireless packet communicating system, comprising:
means for associating a sequence number with a packet; means for establishing the size of the transmit buffer and the receive buffer through which the packet will flow; means for establishing a sender sliding window of sequence numbers associated with packets that will flow through the transmit buffer and a receiver sliding window of sequence numbers associated with packets that will flow the receive buffer; and means for synchronizing the sender sliding window and the receiver sliding window.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/315,817, filed Aug. 29, 2001, entitled BROADBAND WIRELESS MEDIA ACCESS CONTROLLER, and which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60315817 |
Aug 2001 |
US |