Patent ID: 7720079

Claim:
A data transfer procedure for transferring data of a data sequence to a receiving entity from a transmitting entity comprising: transferring down from a higher data handling layer of the transmitting entity to a lower data handling layer of the transmitting entity a plurality of data units of the data sequence, wherein each of the plurality of data units has a relative position in the data sequence; buffering, at the higher data handling layer of the transmitting entity, the plurality of data units; transmitting on a first transmission link from the lower data handling layer of the transmitting entity each of the plurality of data units to the receiving entity; buffering, at the lower data handling layer of the transmitting entity, the plurality of data units; receiving at the lower data handling layer of the transmitting entity an acknowledgement of receipt of at least one later positioned one of the plurality of data units from the receiving entity; sending a confirmation of receipt of the at least one later positioned one of the plurality of data units from the lower data handling layer of the transmitting entity to the higher data handling layer of the transmitting entity based on the acknowledgement; discarding in-sequence any buffered data units at the higher data handling layer of the transmitting entity based on received confirmations; determining that the first transmission link is broken; purging the buffered plurality of data units at the lower data handling layer of the transmitting entity upon determining the first transmission link is broken; maintaining the buffering of the at least one later positioned one of the plurality of data units and an earlier positioned one of the plurality of data units at the higher data handling layer of the transmitting entity, upon determining the first transmission link is broken, if at least an implied acknowledgement of receipt of the at least one earlier positioned one of the plurality of data units in the sequence is not received from the receiving entity at the lower data handling layer of the transmitting entity; establishing a second transmission link between the transmitting entity and the receiving entity; and retransmitting, via the second transmission link, the at least one earlier positioned one of the plurality of data units and the at least one later positioned one of the plurality of data units buffered at the higher data handling layer of the transmitting entity.