Method and apparatus for operating a timer for processing data blocks
A timer for processing data blocks is proposed for a receiver of a mobile communications system. If the timer is not running, the timer is started based a data block. The data block has a sequence number higher than a sequence number of another data block that was first expected to be received. If the timer is stopped or expires, the timer is based on a highest sequence number of a data block among data blocks that cannot be delivered to a higher entity. The timer can be used to prevent a stall condition in mobile communications.
1. A method of operating a timer for processing data blocks by a terminal in a communications system, the method comprising:
storing, by the terminal, a first data block with a sequence number in a buffer;
starting, by the terminal, the timer when the first data block with the sequence number is stored in the buffer;
while the timer is running, determining whether to deliver a received data block to the higher entity when the received data block is stored in the buffer; and
when the timer expires, delivering, by the terminal, at least one data block that can be delivered to the higher entity in sequence, and starting, by the terminal, the timer based on a highest sequence number of a second data block among data blocks that are received.
2. The method of claim 1 , wherein the higher entity is a radio link control (RLC) layer.
3. The method of claim 1 , wherein the first data block stored in the buffer is processed by a medium access control (MAC) layer of the terminal.
4. The method of claim 1 , wherein no additional timer is started if the timer is running.
5. The method of claim 1 , wherein the timer is used for re-ordering operation at a sub-layer of the terminal.
6. A terminal in a communications system, the terminal comprising:
a buffer configured to store a first data block with a sequence number; and
a processor coupled to a timer and configured to:
start the timer when the first data block with the sequence number is stored in the buffer;
while the timer is running, determine whether to deliver a received data block to the higher entity when the received data block is stored in the buffer; and
when the timer expires, deliver at least one data block that can be delivered to the higher entity in sequence, and start the timer based on a highest sequence number of a second data block among data blocks that are received.
7. The terminal of claim 6 , wherein the higher entity is a radio link control (RLC) layer.
8. The terminal of claim 6 , wherein the first data block stored in the buffer is processed by a medium access control (MAC) layer of the terminal.
9. The terminal of claim 6 , wherein no additional timer is started if the timer is running.
10. The terminal of claim 6 , wherein the timer is used for re-ordering operation at a sub-layer of the terminal.