Browse Prior Art Database

Using Redundancy in RLP

IP.com Disclosure Number: IPCOM000126197D
Original Publication Date: 2005-Jul-06
Included in the Prior Art Database: 2005-Jul-06
Document File: 5 page(s) / 48K

Publishing Venue

Motorola

Related People

Zaigham A. Kazmi: INVENTOR

Abstract

Redundancy is a widely used engineering practice to overcome errors in the traffic path, specifically over the air. Unfortunately, RLP's (RLP-2 & RLP-3) handling of retransmitted frames renders simple redundancy scheme useless. RLP (RLP-2 & RLP-3) will discard a retransmitted frame if it has not NAKed it. This drawback can be overcome by delaying retransmission so that RLP receiver had a chance to recognize that the frame was lost and to NAK it. In this paper, RLP refers to RLP-3. Similar scheme can be used for RLP-2 as well.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 41% of the total text.

Using Redundancy in RLP

By Zaigham A. Kazmi

Motorola, Inc.

Networks Business

 

ABSTRACT

Redundancy is a widely used engineering practice to overcome errors in the traffic path, specifically over the air. Unfortunately, RLP’s (RLP-2 & RLP-3) handling of retransmitted frames renders simple redundancy scheme useless. RLP (RLP-2 & RLP-3) will discard a retransmitted frame if it has not NAKed it. This drawback can be overcome by delaying retransmission so that RLP receiver had a chance to recognize that the frame was lost and to NAK it.

In this paper, RLP refers to RLP-3. Similar scheme can be used for RLP-2 as well. 

PROBLEM

 

 

L_VN

 

 

 

L_VR

 

       

       Frames NAKed

RLP is a NAK based protocol. An RLP transmitter maintains a 12-bit sequence number count, L_SEQ. It sets sequence number field in the RLP frame to the least significant 8 bits of L_SEQ. RLP receiver can reconstruct 12 bit L_SEQ from the 8-bit SN.

An RLP receiver maintains two sequence number variables, L_V(R) and L_V(N). L_V(R) contains the expected value of the next RLP sequence number in the next data frame to be received. L_V(N) contains the sequence number of the next data frame needed for sequential delivery.

If an RLP receiver receives a data frame with L_SEQ greater than L_V(N), it will place the data in the sequencing buffer and NAK frames L_V(N) to L_SEQ - 1. It will then wait for the arrival of missing frames before transferring data to the upper layers. If the NAK process fails i.e. the RLP has NAKed missing frames sufficient times but did not receive them, it will eventually transfer buffered data to the upper layer.

The retransmission process delays transfer of data to the upper layers and subsequently to the application. If the round trip time is too long e.g. satellite backhaul, it will cause following problems:

·        Upper layers requiring reliable delivery may time out while some data is still sitting in the RLP buffer. They may end up requesting retransmission of bigger blocks of data.

·        For non-reliable but real-time service e.g. audio/video over packets, the performance will be adversely affected due to long delay and data holding in RLP layer.

·        Buffering capacity on RLP receivers (unknown) restricts use of RLP. For example RLP-3 could have max RTT of 320ms in RLP BLOB. Assuming receiver reserves buffering space based on above for max data rate, transmitter can use ony 1/4th of max data rate over satellite backhaul assuming RTT ~ 1280ms.

Simple redundancy scheme works only for RLP-1 but not for RLP-2 and RLP-3 for the following reasons:

·        Transmitting the same frame in subsequent time slot as new data frame will fail because RLP will reset if received SN, L_SEQ, is less than L_VN.

·        Transmitting the same frame in subsequent time slot as retransmitted data will fail because:

o       if L_SEQ >= L_VR: RLP will discard it.

o       if L_SEQ <   L_VN: RLP will discard it.

o       L_VR is incremented only for new data frames.

SOLUTION

The above problem can be solved by havin...