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 performed by the terminal comprising:
storing a first data block with a sequence number in a buffer;
starting the timer based on the sequence number of the first data block, wherein the sequence number of the first data block is higher than a sequence number of another data block that was expected to be received;
determining to deliver the first data block to an upper layer of the terminal; and
in response to the timer expiring, starting the timer based on a sequence number of a second data block, wherein the second data block has a highest sequence number among data blocks that are stored in the buffer.
2. The method of claim 1 , wherein the first data block stored in the buffer is processed by a data link layer of the terminal.
3. The method of claim 1 , wherein no additional timer is started in the terminal during the timer is running.
4. A terminal in a communications system, the terminal comprising:
a buffer configured to store data blocks with a sequence number; and
a processor coupled to the buffer and configured to:
start a timer based on the sequence number of a first data block, wherein the sequence number of the first data block is higher than a sequence number of another data block that was expected to be received;
determine to deliver the first data block to an upper layer of the terminal; and
in response to the timer expiring, start the timer based on a sequence number of a second data block, wherein the second data block has a highest sequence number among data blocks that are stored in the buffer.
5. The terminal of claim 4 , wherein the first data block stored in the buffer is processed by a data link layer of the terminal.
6. The terminal of claim 4 , wherein no additional timer in the terminal is started during the timer is running.