WO2000046948A1 - Prime-arq flow control including cell discard - Google Patents

Prime-arq flow control including cell discard Download PDF

Info

Publication number
WO2000046948A1
WO2000046948A1 PCT/SE2000/000143 SE0000143W WO0046948A1 WO 2000046948 A1 WO2000046948 A1 WO 2000046948A1 SE 0000143 W SE0000143 W SE 0000143W WO 0046948 A1 WO0046948 A1 WO 0046948A1
Authority
WO
WIPO (PCT)
Prior art keywords
list
sequence number
cell
receiver
equal
Prior art date
Application number
PCT/SE2000/000143
Other languages
French (fr)
Inventor
Tawfik Lazraq
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to AU28370/00A priority Critical patent/AU2837000A/en
Priority to JP2000597916A priority patent/JP2002536910A/en
Publication of WO2000046948A1 publication Critical patent/WO2000046948A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1841Resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1838Buffer management for semi-reliable protocols, e.g. for less sensitive applications such as streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms

Definitions

  • the present invention relates generally to information transfer in mobile wireless environments, and in particular to management of unacknowledged data frames in PRIME-ARQ.
  • FIG. 1 shows the principle of the PRIME-ARQ, where the managed sequence number N MSN is 3, for example, and where T represents a transmitter which is sending cells and R represents a receiver that is receiving the cells sent from the transmitter T. Flow control at the receiver R is shown in FIG. 2.
  • the receiver has a list of sequence numbers of the cells that the receiver expects to receive.
  • FIG. 1 shows an example application of the PRIME-ARQ technique with a managed sequence number N MSN of 3. As shown in FIG.
  • the receiver R compares the sequence number attached to the received cell with the numbers in its list, as shown in FIG. 2.
  • the receiver R receives the cell 105 from the transmitter T, bearing the designation I(N+2) representing a sequence number SN of 2, as can be seen in FIG. 1.
  • the transmitter T sends an erroneous cell 107 bearing the designation I(N+3) representing a sequence number of 3
  • the receiver R does not change its listing to indicate that it has successfully received a cell having the sequence number 3, but maintains the listing. In other words, the receiver R fails to accept the erroneous cell 107.
  • the receiver R successfully receives the next cell 109, bearing the designation I(N+4) representing a sequence number SN of 4.
  • the receiver R updates its list accordingly.
  • the transmitter T receives the ARQ control message from the receiver R indicating that the next cell sequence numbers the receiver R expects to receive are 3, 5 and 6.
  • the transmitter T then sends the cells 115, 117 and 119, bearing the designations and corresponding sequence numbers that the receiver R expects.
  • the receiver R can perform the step 210 of receiving a cell from the transmitter T.
  • the receiver R reads a sequence number from the received cell, and then in steps 214, 218 and 222 proceeds to determine whether the sequence number of the received cell matches any of the sequence numbers the receiver R is expecting to receive. If the sequence number of the received cell does match an expected sequence number on the receiver's list, then that expected sequence number and subsequent expected sequence numbers in the list are updated so that the list reflects the next N MSN sequence numbers that the receiver R expects to receive.
  • the receiver R can also discard a cell when the cell bears a sequence number that does not match any of the expected sequence numbers in the receiver's list. Allowing the receiver R to discard cells having sequence numbers that do not match any of the expected sequence numbers is a normal part of the PRIME-ARQ algorithm.
  • PRIME-ARQ does not allow the transmitter T to discard packets, which can lead to an accumulation of obsolete packets in the ARQ buffers over time, and cause system deadlock.
  • PRIME-ARQ if one or more cells are discarded at the transmitter, the PRIME-ARQ algorithm will go into deadlock.
  • an algorithm complementary to the PRIME-ARQ technique that allows obsolete or otherwise superfluous packets to be safely discarded at the transmitter when using the PRIME-ARQ technique.
  • clogging of ARQ buffers and potential system deadlock can be avoided, and data transfer in mobile wireless environments using PRIME-ARQ can be made more efficient.
  • FIG. 1 shows PRIME-ARQ with a managed sequence number N MSN of 3.
  • FIG. 2 shows a control flow of PRIME-ARQ on the receiver side.
  • FIG. 3. shows principles of segmentation.
  • FIG. 4 shows an example ARQ buffer.
  • FIG. 5 shows an example IP segment discard.
  • FIG. 6 shows control flow including cell discard on the receiver side in accordance with a first embodiment of the invention, where N MSN is 2.
  • FIG. 7 shows a control flow including cell discard on the receiver side in accordance with a second embodiment of the invention, where N MSN is 3.
  • FIG. 8 shows a control flow including cell discard on the receiver side in accordance with a third embodiment of the invention, where N MSN is 4.
  • FIG. 9 shows a control flow including cell discard on the receiver side in accordance with a fourth embodiment of the invention, where N MSN is 5.
  • FIG. 10 shows a control flow including cell discard on the receiver side in accordance with a fifth embodiment of the invention, where N MSN is 6.
  • FIGS. 11A and 11B show a general control flow including cell discard on the receiver side in accordance with embodiments of the invention.
  • the segmentation operation is the same as that described in AAL 5 Segmentation. Signaling that discarding has been done is described in copending U.S. Application Serial Number 09/179,952, entitled Method and Apparatus for Discarding Packets In a Data Network Having Automatic Repeat Request, which is hereby incorporated by reference.
  • 09/179,952 application a bit on the first PDU of the next undiscarded packet is used to signal discarding.
  • a bit on the last PDU of the packet being discarded can be used to signal discarding.
  • the convergence layer the information will be segmented.
  • the information being transferred in the mobile wireless environment includes Internet Protocol (IP) packets such as the IP packet 302 shown in FIG. 3, the IP packets will be segmented in N byte segments 304, 306, 308 and 310.
  • Each of the segments includes a field, called a segmentation and reassembly (SAR) field, which identifies whether the segment is at the beginning, middle or central portion, or end of the IP packet.
  • SAR segmentation and reassembly
  • a binary value of 10 in the SAR field indicates that the segment 304 is at the beginning of the IP packet 302
  • a binary value of 00 in the SAR fields of the segments 306 and 308 indicates that the segments 306 and 308 are between the beginning and ending segments of the IP packet 302.
  • a binary value of 01 in the SAR field of the segment 310 indicates that the segment 310 is at the end of the IP packet 302. Where an IP packet contains only one segment, for example the segment 312, the SAR field will have the binary value 11 to indicate that the segment 312 is the only segment in the IP packet.
  • the IP segments also contain an ARQ sequence number.
  • FIG. 4 shows, for example, an ARQ buffer 402 in a transmitter that contains IP segments 404-420, each having an SAR field value and an ARQ sequence number. As can be seen by the sequence of the ARQ sequence numbers of the IP segments 404-420 stored in the ARQ buffer 402, the IP segments 404-420 are stored chronologically in the ARQ buffer 402.
  • the IP segments also can have an enforcement bit, which is useful to signal that discarding has been performed.
  • FIG. 5 shows a sequence 502 of IP segments 504-520, which correspond to the IP segments 404-420 but which also have an enforcement bit field within each IP segment.
  • IP segments should be discarded from the ARQ buffer 502 in the transmitter.
  • an IP segment with an SAR equal to the binary value 10 or 00 is discarded, as for example cell 520 which belongs to the IP packet 522
  • all IP segments with an SAR equal to 00 and belonging to the same IP packet 522 will also be discarded from the ARQ buffer in the transmitter, as shown for example in FIG. 5.
  • the enforcement bit field is set equal to 1 after the cells 512-520 are discarded.
  • the IP segment 510 is retained in the buffer.
  • the solitary IP segment in the IP packet would have its enforcement bit field set equal to 1, but the solitary IP segment would not be discarded from the buffer.
  • the IP segments are appropriately discarded before the TCP protocol at the end point discards IP segments. These discard mechanisms conserve bandwidth.
  • the receiver R when the receiver R receives IP packets and IP segments from the transmitter T, it checks the sequence number and the enforcement bit field for each received cell or IP segment. Based on the sequence numbers and the enforcement bit fields, the list of expected sequence numbers (whose length equals the value of the managed sequence number N MSN ) is updated in accordance with the flow control algorithms shown in FIGS. 6-10.
  • FIG. 6 shows a flow control algorithm where the managed sequence number N MSN is 2.
  • a cell or IP segment is received by the receiver R from the transmitter T, and then in step 604 the sequence number of the received cell is read by the receiver R. After step 604, control proceeds via step 606 where the value of the enforcement bit is evaluated.
  • step 608 If the enforcement bit is 1, indicating that IP segments prior to the current cell have been discarded, then control proceeds to step 608. If the enforcement bit is 0, then control proceeds to step 614. At step 608, the sequence number of the received cell is tested to determine whether it is greater than or equal to the value of the first expected sequence number, SN #1 , in the receiver's listing. If yes, then control proceeds to step 610 where SN #1 is set equal to SN ⁇ , and SN ⁇ is incremented. From step 610, control proceeds to step 632, where the process ends.
  • step 608 If at step 608 the sequence number of the received cell is not greater than or equal to the value of the first expected sequence number, SN #1 , then control proceeds to step 618 where the sequence number is tested to determine whether it is equal to the value of the second expected sequence number SN #2 . If yes, then control proceeds to step 620, where SN #1 is set equal to SN #2 + 1, and SN ⁇ is incremented by 2. from step 620 control proceeds to step 632, where the process ends.
  • step 618 If at step 618 the sequence number is determined not to equal the value of the second expected sequence number SN ⁇ , then control proceeds to step 626 where the sequence number is tested to determine whether it is greater than the value of the second expected sequence number SN n . If yes, then control proceeds to step 628, where SN #! is set equal to one more than than the sequence number of the received IP segment, i.e. , SN + 1 , and SN ⁇ is set equal to two more than than the sequence number of the received IP segment, i.e. , SN + 2. From step 628, control proceeds to step 632, where the process ends.
  • step 626 If at step 626 the sequence number is determined to be not greater than the value of the second expected sequence number SN #2 , then the received cell or IP segment is discarded.
  • step 606 If at step 606 the enforcement bit was determined to be equal to 0, then control proceeds from step 606 to step 614 where the sequence number is tested to determine whether it is equal to the value of the first expected sequence number SN #1 . If yes, then control proceeds to step 616, where SN #1 is set equal to SN ⁇ . From step 616, control proceeds to step 624, where SN ffi is incremented, and from step 624 control proceeds to step 632 where the process ends.
  • step 614 If at step 614 the sequence number was not equal to the value of the first expected sequence number SN #1 , then control proceeds from step 614 to step 622, where the sequence number SN is tested to deteraiine whether it is equal to the value of the second expected sequence number SN ⁇ . If yes, then control proceeds to step 624, and then from step 624 to step 632. If no, then control proceeds to step 630 where the cell or IP segment is discarded.
  • the receiver updates its listing of expected sequence numbers to contain consecutive sequence numbers immediately following the sequence number of the received cell. However, if the sequence number of the received cell or IP segment is less than all of the expected sequence numbers in the receiver's listing, then the received cell or IP segment is discarded. In the situation where the enforcement bit is 0, if the sequence number of the received cell or IP segment is equal to one of the expected sequence numbers in the receiver's listing, then the expected sequence number that matched the sequence number of the received cell, and all subsequent expected sequence numbers in the receiver's listing, are updated to contain consecutive sequence numbers immediately following the sequence number of the received cell.
  • the listing is updated all of the expected sequence numbers will be consecutive; but if a second or subsequent (in a situation, for example, where N MSN is greater than 2) expected sequence number matches the sequence number of the received cell, then after the listing is updated not all of the expected sequence numbers will be consecutive.
  • FIGS. 7, 8, 9 and 10 show control algorithms where the managed sequence number N MSN is 3, 4, 5 and 6 respectively.
  • the control algorithms shown in FIGS. 7, 8, 9 and 10 are in principle fundamentally the same as that shown in FIG. 6, with different managed sequence numbers N MSN .
  • FIGS. 11A and 11B illustrate the general principles embodied in FIGS. 6- 10 as follows.
  • control proceeds to step 1104, where the sequence number and enforcement bit field of the received cell are read.
  • step 1108 the nature of the enforcement bit is determined. If the value of the enforcement bit is 1, indicating that all cells prior to the received cell have been discarded, then control proceeds to step 1112 where a counter variable X is initialized to a value of 0, and then incremented in step 1114. From step 1114 control proceeds to step 1116, where the value of X is compared with N MSN .
  • step 1117 the sequence number SN of the received cell is compared with expected sequence numbers corresponding to the values of X and X + 1. For example, where the value of X is 1, SN is compared with the values of SN #1 and SN #2 in the receiver's list. If in step 1117 the value of SN is not between SN # ⁇ inclusive and
  • step 1117 the value of SN is between SN ⁇ inclusive and SN ⁇
  • control proceeds to step 1132, where a sequence of operations 1132-1142 takes place to update all values in the receiver's expected sequence number list.
  • the list is updated so that it begins with the sequence number immediately after the received cell's sequence number NS, i.e. , beginning with NS + 1, and continues with sequence numbers subsequent to NS + 1 that were in the list prior to the update, up through the highest expected sequence number that was in the list prior to the update.
  • the remainder of the list contains consecutive sequence numbers increasing sequentially from the formerly highest sequence number (the highest expected sequence number that was in the list prior to the update).
  • step 1108 If in step 1108 the enforcement bit was determined to be 0, then control proceeds from step 1108 to step 1144 as shown in FIG. 11B. As shown in FIG. 11B.
  • the counter variable X is initialized in step 1144 and then incremented in step 1146.
  • the counter variable X is used to compare all of the expected sequence numbers in the receiver's list with the sequence number SN of the received cell, as in step 1148. If SN does not equal any of the expected sequence numbers as evidenced by control proceeding from step 1150 to step 1160, then at step 1160 the cell is discarded. If, on the other hand, SN is determined at step 1148 to equal one of the expected sequence numbers, then control proceeds from step 1148 to step 1152 and a sequence of operations 1152-1158 are performed to update the receiver's list of expected sequence numbers.
  • the list is updated so that the expected sequence number that equals the sequence number SN of the received cell, and each subsequent expected sequence number in the receiver's list, takes on the value of the expected sequence number subsequent to it.
  • FIG. 12 is a block diagram of a system 1200 in accordance with an embodiment of the invention, that is consistent with the methods described above with reference to, for example, FIG. 11A and 11B.
  • the system 1200 includes a transmitter 1202 that sends information to a receiver 1204 via a wireless link 1208 in accordance with the methods described above with reference to, for example, FIGS. 11A and 11B.
  • the system 1200 also includes a list 1206 of sequence numbers expected by the receiver 1204, which as shown in FIG. 12 can be implemented within the receiver 1204.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

A method complementary to the PRIME-ARQ technique is provided for use in a mobile wireless system having a transmitter and a receiver, that allows obsolete or otherwise superfluous packets to be safely discarded at the transmitter when using the PRIME-ARQ technique. Thus, clogging of ARQ buffers and potential system deadlock can be avoided, and data transfer in mobile wireless environments using PRIME-ARQ can be made more efficient. Specifically, a list is provided that includes sequence numbers representing cells that the receiver expects to receive from the transmitter. When the receiver receives a cell from the transmitter, the receiver compares a sequence number of the received cell with the sequence numbers stored in the list and then renews the list or discards the received cell based on the comparison and an enforcement bit associated with the received cell.

Description

PRIME-ARQ FLOW CONTROL INCLUDING CELL DISCARD
FIELD OF THE INVENTION The present invention relates generally to information transfer in mobile wireless environments, and in particular to management of unacknowledged data frames in PRIME-ARQ.
BACKGROUND OF THE INVENTION In wireless mobile environments, shadowing and multipath fading result in significant cell loss ratio performance degradation. Automatic repeat request (ARQ) and forward error correction (FEC) are frequently used to improve bit error rate (BER) performance. When the communication channel is of poor quality, some unacknowledged frames in the transmitter should be stored in the buffers used by the ARQ for a period of time until they can be successfully transmitted to the receiver. However, the major drawback of this method is that such frames block the head of the ARQ queue. The significance of this drawback increases with the length of the time period. In the PRIME-ARQ technique, which is well known in the art, high throughput performance is achieved using a simple algorithm. The throughput performance of PRIME-ARQ is almost equal to that of the Selective Repeat technique.
In the PRIME-ARQ technique, multiple ARQ messages return via Control channels (C-ch). The number of ARQ messages is limited to a managed sequence number NMSN of messages. Each ARQ message includes a sequence number for a request for cell transmission at the next frame. FIG. 1 shows the principle of the PRIME-ARQ, where the managed sequence number NMSN is 3, for example, and where T represents a transmitter which is sending cells and R represents a receiver that is receiving the cells sent from the transmitter T. Flow control at the receiver R is shown in FIG. 2. In the PRIME-ARQ technique, the receiver has a list of sequence numbers of the cells that the receiver expects to receive. FIG. 1 shows an example application of the PRIME-ARQ technique with a managed sequence number NMSN of 3. As shown in FIG. 1, at the beginning of a first frame the numbers in the list maintained by the receiver R have the initial values SN#1 = 1, SN^ = 2, and SN#3 = 3. When the receiver R receives each cell, it compares the sequence number attached to the received cell with the numbers in its list, as shown in FIG. 2.
When the sequence number attached to the received cell matches or agrees with one of the numbers in the list maintained by the receiver R, the receiver R accepts the received cell and updates the list to reflect the next NMSN sequence numbers it expects to receive. For example, as shown in FIG. 1, after the receiver R receives the cell 103 transmitted by the transmitter T and bearing the designation I(N+ 1) representing" a sequence number SN of 1, it updates its list so that SN#1 = SN#2 = 2, SN^ = SN#3 = 3, and SN#3 = 4.
This procedure is also followed when the receiver R receives the cell 105 from the transmitter T, bearing the designation I(N+2) representing a sequence number SN of 2, as can be seen in FIG. 1. However, when the transmitter T sends an erroneous cell 107 bearing the designation I(N+3) representing a sequence number of 3, the receiver R does not change its listing to indicate that it has successfully received a cell having the sequence number 3, but maintains the listing. In other words, the receiver R fails to accept the erroneous cell 107. After the erroneous cell 107 is received, the receiver R successfully receives the next cell 109, bearing the designation I(N+4) representing a sequence number SN of 4. In response to the successful receipt and acceptance of the cell 109, the receiver R updates its list accordingly. Thus, after the receiver R accepts the cell 109 the updated receiver list indicates that the next three sequence numbers the receiver R expects to receive are SN#, = 3, SN^ = 5, and SN#3 = 6. As can be seen in FIG. 1, at the end of the first frame, which in this case includes 4 cells, the receiver R returns information to the transmitter T via C-ch indicating that the next NMSN cell sequence numbers it expects to receive are SN#1 = 3, SN^ = 5, and SN#3 = 6, as reflected in the receiver R's list.
At a beginning of a second frame, the transmitter T receives the ARQ control message from the receiver R indicating that the next cell sequence numbers the receiver R expects to receive are 3, 5 and 6. The transmitter T then sends the cells 115, 117 and 119, bearing the designations and corresponding sequence numbers that the receiver R expects.
As shown in FIG. 2, in accordance with PRIME-ARQ the receiver R can perform the step 210 of receiving a cell from the transmitter T. In step 212, the receiver R reads a sequence number from the received cell, and then in steps 214, 218 and 222 proceeds to determine whether the sequence number of the received cell matches any of the sequence numbers the receiver R is expecting to receive. If the sequence number of the received cell does match an expected sequence number on the receiver's list, then that expected sequence number and subsequent expected sequence numbers in the list are updated so that the list reflects the next NMSN sequence numbers that the receiver R expects to receive.
For example, if in step 214 the receiver R determines that the sequence number SN of the received cell is equal to the expected sequence number SN#1 in the receiver list, then the list is updated by setting SN#1 = SN^, SN^ = SN#3, and SN#3 = SN#3 + 1, and in step 228 the received cell is accepted by the receiver R and placed into the receiver's buffer. If the sequence number SN of the received cell is not equal to either of the expected sequence numbers SN#1 and SN^ but is equal to the expected sequence number SN^, then only SN#3 is updated in step 224 because steps 216 and 220 are bypassed. As shown in FIG. 2, the receiver R can also discard a cell when the cell bears a sequence number that does not match any of the expected sequence numbers in the receiver's list. Allowing the receiver R to discard cells having sequence numbers that do not match any of the expected sequence numbers is a normal part of the PRIME-ARQ algorithm.
However, PRIME-ARQ does not allow the transmitter T to discard packets, which can lead to an accumulation of obsolete packets in the ARQ buffers over time, and cause system deadlock. In normal PRIME-ARQ, if one or more cells are discarded at the transmitter, the PRIME-ARQ algorithm will go into deadlock.
SUMMARY OF THE INVENTION In accordance with various embodiments of the invention, an algorithm complementary to the PRIME-ARQ technique is provided, that allows obsolete or otherwise superfluous packets to be safely discarded at the transmitter when using the PRIME-ARQ technique. Thus, clogging of ARQ buffers and potential system deadlock can be avoided, and data transfer in mobile wireless environments using PRIME-ARQ can be made more efficient.
BRIEF DESCRIPTION OF THE DRAWINGS Other objects and advantages of the invention will become apparent to those skilled in the art from the following detailed description of preferred embodiments, when read in conjunction with the accompanying drawings. Like elements in the drawings have been designated by like reference numerals.
FIG. 1 shows PRIME-ARQ with a managed sequence number NMSN of 3. FIG. 2 shows a control flow of PRIME-ARQ on the receiver side. FIG. 3. shows principles of segmentation.
FIG. 4 shows an example ARQ buffer. FIG. 5 shows an example IP segment discard.
FIG. 6 shows control flow including cell discard on the receiver side in accordance with a first embodiment of the invention, where NMSN is 2.
FIG. 7 shows a control flow including cell discard on the receiver side in accordance with a second embodiment of the invention, where NMSN is 3.
FIG. 8 shows a control flow including cell discard on the receiver side in accordance with a third embodiment of the invention, where NMSN is 4.
FIG. 9 shows a control flow including cell discard on the receiver side in accordance with a fourth embodiment of the invention, where NMSN is 5. FIG. 10 shows a control flow including cell discard on the receiver side in accordance with a fifth embodiment of the invention, where NMSN is 6.
FIGS. 11A and 11B show a general control flow including cell discard on the receiver side in accordance with embodiments of the invention.
DETAILED DESCRIPTION OF THE INVENTION In accordance with embodiments of the invention, before cells are transmitted to the receiver R, several operations should be performed, including: a) segmentation; b) sequence numbering; and c) signaling that discarding has been done.
The segmentation operation is the same as that described in AAL 5 Segmentation. Signaling that discarding has been done is described in copending U.S. Application Serial Number 09/179,952, entitled Method and Apparatus for Discarding Packets In a Data Network Having Automatic Repeat Request, which is hereby incorporated by reference. In the 09/179,952 application, a bit on the first PDU of the next undiscarded packet is used to signal discarding. In the context of the present invention, alternatively a bit on the last PDU of the packet being discarded can be used to signal discarding. In particular with respect to segmentation, in the convergence layer the information will be segmented. Where, for example, the information being transferred in the mobile wireless environment includes Internet Protocol (IP) packets such as the IP packet 302 shown in FIG. 3, the IP packets will be segmented in N byte segments 304, 306, 308 and 310. Each of the segments includes a field, called a segmentation and reassembly (SAR) field, which identifies whether the segment is at the beginning, middle or central portion, or end of the IP packet. For example, a binary value of 10 in the SAR field indicates that the segment 304 is at the beginning of the IP packet 302, and a binary value of 00 in the SAR fields of the segments 306 and 308 indicates that the segments 306 and 308 are between the beginning and ending segments of the IP packet 302. A binary value of 01 in the SAR field of the segment 310 indicates that the segment 310 is at the end of the IP packet 302. Where an IP packet contains only one segment, for example the segment 312, the SAR field will have the binary value 11 to indicate that the segment 312 is the only segment in the IP packet.
The IP segments also contain an ARQ sequence number. FIG. 4 shows, for example, an ARQ buffer 402 in a transmitter that contains IP segments 404-420, each having an SAR field value and an ARQ sequence number. As can be seen by the sequence of the ARQ sequence numbers of the IP segments 404-420 stored in the ARQ buffer 402, the IP segments 404-420 are stored chronologically in the ARQ buffer 402.
The IP segments also can have an enforcement bit, which is useful to signal that discarding has been performed. FIG. 5 shows a sequence 502 of IP segments 504-520, which correspond to the IP segments 404-420 but which also have an enforcement bit field within each IP segment.
After a "number of retransmissions" or a "timeout" has occurred during data transfer, some IP segments should be discarded from the ARQ buffer 502 in the transmitter. When an IP segment with an SAR equal to the binary value 10 or 00 is discarded, as for example cell 520 which belongs to the IP packet 522, all IP segments with an SAR equal to 00 and belonging to the same IP packet 522 will also be discarded from the ARQ buffer in the transmitter, as shown for example in FIG. 5. In the remaining IP segment 510 of the IP packet 522, which has an SAR equal to 01 indicating that it is the last IP segment in the IP packet 522, the enforcement bit field is set equal to 1 after the cells 512-520 are discarded. The IP segment 510 is retained in the buffer. If, for example, an IP packet having only one IP segment is to be discarded from the buffer, the solitary IP segment in the IP packet would have its enforcement bit field set equal to 1, but the solitary IP segment would not be discarded from the buffer. Preferably, the IP segments are appropriately discarded before the TCP protocol at the end point discards IP segments. These discard mechanisms conserve bandwidth.
In accordance with embodiments of the invention, when the receiver R receives IP packets and IP segments from the transmitter T, it checks the sequence number and the enforcement bit field for each received cell or IP segment. Based on the sequence numbers and the enforcement bit fields, the list of expected sequence numbers (whose length equals the value of the managed sequence number NMSN) is updated in accordance with the flow control algorithms shown in FIGS. 6-10. In particular, FIG. 6 shows a flow control algorithm where the managed sequence number NMSN is 2. In a first step 602, a cell or IP segment is received by the receiver R from the transmitter T, and then in step 604 the sequence number of the received cell is read by the receiver R. After step 604, control proceeds via step 606 where the value of the enforcement bit is evaluated. If the enforcement bit is 1, indicating that IP segments prior to the current cell have been discarded, then control proceeds to step 608. If the enforcement bit is 0, then control proceeds to step 614. At step 608, the sequence number of the received cell is tested to determine whether it is greater than or equal to the value of the first expected sequence number, SN#1 , in the receiver's listing. If yes, then control proceeds to step 610 where SN#1 is set equal to SN^, and SN^ is incremented. From step 610, control proceeds to step 632, where the process ends.
If at step 608 the sequence number of the received cell is not greater than or equal to the value of the first expected sequence number, SN#1 , then control proceeds to step 618 where the sequence number is tested to determine whether it is equal to the value of the second expected sequence number SN#2. If yes, then control proceeds to step 620, where SN#1 is set equal to SN#2 + 1, and SN^ is incremented by 2. from step 620 control proceeds to step 632, where the process ends.
If at step 618 the sequence number is determined not to equal the value of the second expected sequence number SN^, then control proceeds to step 626 where the sequence number is tested to determine whether it is greater than the value of the second expected sequence number SNn. If yes, then control proceeds to step 628, where SN#! is set equal to one more than than the sequence number of the received IP segment, i.e. , SN + 1 , and SN^ is set equal to two more than than the sequence number of the received IP segment, i.e. , SN + 2. From step 628, control proceeds to step 632, where the process ends.
If at step 626 the sequence number is determined to be not greater than the value of the second expected sequence number SN#2, then the received cell or IP segment is discarded.
If at step 606 the enforcement bit was determined to be equal to 0, then control proceeds from step 606 to step 614 where the sequence number is tested to determine whether it is equal to the value of the first expected sequence number SN#1. If yes, then control proceeds to step 616, where SN#1 is set equal to SN^. From step 616, control proceeds to step 624, where SNffi is incremented, and from step 624 control proceeds to step 632 where the process ends.
If at step 614 the sequence number was not equal to the value of the first expected sequence number SN#1, then control proceeds from step 614 to step 622, where the sequence number SN is tested to deteraiine whether it is equal to the value of the second expected sequence number SN^. If yes, then control proceeds to step 624, and then from step 624 to step 632. If no, then control proceeds to step 630 where the cell or IP segment is discarded.
In summary, if the enforcement bit of the received cell or IP segment is 1, indicating that all cells or IP segments prior to the received cell have been discarded, then the receiver updates its listing of expected sequence numbers to contain consecutive sequence numbers immediately following the sequence number of the received cell. However, if the sequence number of the received cell or IP segment is less than all of the expected sequence numbers in the receiver's listing, then the received cell or IP segment is discarded. In the situation where the enforcement bit is 0, if the sequence number of the received cell or IP segment is equal to one of the expected sequence numbers in the receiver's listing, then the expected sequence number that matched the sequence number of the received cell, and all subsequent expected sequence numbers in the receiver's listing, are updated to contain consecutive sequence numbers immediately following the sequence number of the received cell. Thus, if the first expected sequence number matches the sequence number of the received cell, then after the listing is updated all of the expected sequence numbers will be consecutive; but if a second or subsequent (in a situation, for example, where NMSN is greater than 2) expected sequence number matches the sequence number of the received cell, then after the listing is updated not all of the expected sequence numbers will be consecutive.
FIGS. 7, 8, 9 and 10 show control algorithms where the managed sequence number NMSN is 3, 4, 5 and 6 respectively. The control algorithms shown in FIGS. 7, 8, 9 and 10 are in principle fundamentally the same as that shown in FIG. 6, with different managed sequence numbers NMSN.
FIGS. 11A and 11B illustrate the general principles embodied in FIGS. 6- 10 as follows. After starting at step 1102, control proceeds to step 1104, where the sequence number and enforcement bit field of the received cell are read. Next, in step 1108, the nature of the enforcement bit is determined. If the value of the enforcement bit is 1, indicating that all cells prior to the received cell have been discarded, then control proceeds to step 1112 where a counter variable X is initialized to a value of 0, and then incremented in step 1114. From step 1114 control proceeds to step 1116, where the value of X is compared with NMSN. If X is less than NMSN, then control proceeds to step 1117, where the sequence number SN of the received cell is compared with expected sequence numbers corresponding to the values of X and X + 1. For example, where the value of X is 1, SN is compared with the values of SN#1 and SN#2 in the receiver's list. If in step 1117 the value of SN is not between SN#χ inclusive and
SN#χ+1, then control proceeds back to step 1114. If in step 1117 the value of SN is between SN^ inclusive and SN^^, then control proceeds to step 1132, where a sequence of operations 1132-1142 takes place to update all values in the receiver's expected sequence number list. The list is updated so that it begins with the sequence number immediately after the received cell's sequence number NS, i.e. , beginning with NS + 1, and continues with sequence numbers subsequent to NS + 1 that were in the list prior to the update, up through the highest expected sequence number that was in the list prior to the update. The remainder of the list contains consecutive sequence numbers increasing sequentially from the formerly highest sequence number (the highest expected sequence number that was in the list prior to the update). In this way sequence numbers in the list beginning with NS + 1 are "slid" down to the beginning of the list, and consecutively increasing values are added to the top of the list to fill in positions emptied by the "slide". If in step 1116 the value of X is not less than NMSN, then control proceeds to step 1118 where the sequence number SN of the received cell is compared with the last value in the receiver's expected sequence number list, SN^, where X = NMSN. If in step 1118 it is determined that the value of SN is equal to SN^, then control proceeds to step 1132. Otherwise, control proceeds to step 1120. If in step 1120 it is determined that SN is not greater than SN^, then SN is less than each of the expected sequence numbers in the list, and the received cell or IP segment is discarded. If SN is greater than SN^ (where X = NMSN), then control proceeds from step 1120 to step 1124 and a series of operations 1126-1130 are performed to update all values in the receiver's expected sequence number list. The list is updated so that it contains a consecutive series of NMSN expected sequence numbers, beginning with the sequence number immediately after the received cell's sequence number SN, i.e. , beginning with SN + 1.
If in step 1108 the enforcement bit was determined to be 0, then control proceeds from step 1108 to step 1144 as shown in FIG. 11B. As shown in FIG.
11B, the counter variable X is initialized in step 1144 and then incremented in step 1146. The counter variable X is used to compare all of the expected sequence numbers in the receiver's list with the sequence number SN of the received cell, as in step 1148. If SN does not equal any of the expected sequence numbers as evidenced by control proceeding from step 1150 to step 1160, then at step 1160 the cell is discarded. If, on the other hand, SN is determined at step 1148 to equal one of the expected sequence numbers, then control proceeds from step 1148 to step 1152 and a sequence of operations 1152-1158 are performed to update the receiver's list of expected sequence numbers. The list is updated so that the expected sequence number that equals the sequence number SN of the received cell, and each subsequent expected sequence number in the receiver's list, takes on the value of the expected sequence number subsequent to it. The last expected sequence number in the list, which does not have an expected sequence number subsequent to it, is incremented.
FIG. 12 is a block diagram of a system 1200 in accordance with an embodiment of the invention, that is consistent with the methods described above with reference to, for example, FIG. 11A and 11B. The system 1200 includes a transmitter 1202 that sends information to a receiver 1204 via a wireless link 1208 in accordance with the methods described above with reference to, for example, FIGS. 11A and 11B. The system 1200 also includes a list 1206 of sequence numbers expected by the receiver 1204, which as shown in FIG. 12 can be implemented within the receiver 1204.
It will be appreciated by those skilled in the art that the present invention can be embodied in other specific forms without departing from the spirit or essential characteristics thereof, and that the invention is not limited to the specific embodiments described herein. The presently disclosed embodiments are therefore considered in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the appended claims rather than the foregoing description, and all changes that come within the meaning and range and equivalents thereof are intended to be embraced therein.

Claims

Claims:
1. A method for discarding cells in a receiver, wherein the method is complementary to the PRIME-ARQ technique and comprises the steps of: receiving a cell; determining whether an enforcement bit associated with the cell is set; comparing a sequence number of the cell with a list of sequence numbers, wherein the sequence numbers in the list represent cells that the receiver expects to receive; if the enforcement bit is set and if the cell sequence number is less than a smallest sequence number in the list, then discarding the cell; if the enforcement bit is set and if the cell sequence number is greater than or equal to a smallest sequence number in the list, then renewing the list by removing all sequence numbers that are less than or equal to the cell sequence number from the list and adding new sequence numbers that are greater than the cell sequence number to the list; if the enforcement bit is not set and the cell sequence number is not equal to any of the sequence numbers in the list, then discarding the cell; and if the enforcement bit is not set and the cell sequence number is equal to a sequence number in the list, then renewing the list by removing sequence numbers equal to or less than the cell sequence number from the list and adding new sequence numbers that are greater than the cell sequence number to the list.
2. The method of claim 1, wherein the list is an ordered list.
3. The method of claim 1, wherein all entries in the list are in sequential order by magnitude.
4. The method of claim 1, wherein the list contains a number of entries equal to a managed sequence number.
5. The method of claim 1, wherein the added sequence numbers are consecutive.
6. A system for use in a mobile wireless environment with the PRIME- ARQ technique, comprising: a receiver; a transmitter for sending cells to the receiver; and a list of sequence numbers representing cells that the receiver expects to receive from the transmitter; wherein when the receiver receives a cell from the transmitter, the receiver compares a sequence number of the received cell with sequence numbers stored in the list and then renews the list or discards the received cell based on the comparison and an enforcement bit associated with the received cell.
7. The system of claim 6, wherein: when the enforcement bit is set and the received cell sequence number is less than a smallest sequence number in the list, the receiver discards the cell; when the enforcement bit is set and the received cell sequence number is greater than or equal to a smallest sequence number in the list, the receiver renews the list by removing all sequence numbers that are less than or equal to the received cell sequence number from the list and adding new sequence numbers that are greater than the received cell sequence number to the list; when the enforcement bit is not set and the received cell sequence number is not equal to any of the sequence numbers in the list, the receiver discards the cell; and when the enforcement bit is not set and the received cell sequence number is equal to a sequence number in the list, the receiver renews the list by removing sequence numbers equal to or less than the received cell sequence number from the list and adding new sequence numbers that are greater than the received cell sequence number to the list.
8. The system of claim 7, wherein the list is an ordered list.
9. The system of claim 7, wherein all entries in the list are in sequential order by magnitude.
10. The system of claim 7, wherein the list contains a number of entries equal to a managed sequence number.
PCT/SE2000/000143 1999-02-08 2000-01-25 Prime-arq flow control including cell discard WO2000046948A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU28370/00A AU2837000A (en) 1999-02-08 2000-01-25 Prime-arq flow control including cell discard
JP2000597916A JP2002536910A (en) 1999-02-08 2000-01-25 PRIME-ARQ flow control including cell discard

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US24586699A 1999-02-08 1999-02-08
US09/245,866 1999-02-08

Publications (1)

Publication Number Publication Date
WO2000046948A1 true WO2000046948A1 (en) 2000-08-10

Family

ID=22928414

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2000/000143 WO2000046948A1 (en) 1999-02-08 2000-01-25 Prime-arq flow control including cell discard

Country Status (3)

Country Link
JP (1) JP2002536910A (en)
AU (1) AU2837000A (en)
WO (1) WO2000046948A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996033586A1 (en) * 1995-04-17 1996-10-24 Telefonaktiebolaget Lm Ericsson (Publ) Temporary frame identification for arq in a reservation-slotted-aloha type of protocol
US5684791A (en) * 1995-11-07 1997-11-04 Nec Usa, Inc. Data link control protocols for wireless ATM access channels

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996033586A1 (en) * 1995-04-17 1996-10-24 Telefonaktiebolaget Lm Ericsson (Publ) Temporary frame identification for arq in a reservation-slotted-aloha type of protocol
US5684791A (en) * 1995-11-07 1997-11-04 Nec Usa, Inc. Data link control protocols for wireless ATM access channels

Also Published As

Publication number Publication date
AU2837000A (en) 2000-08-25
JP2002536910A (en) 2002-10-29

Similar Documents

Publication Publication Date Title
US6532563B2 (en) Incremental redundancy radio link protocol
CA2368770C (en) Packet discard notification for semi reliable retransmission protocol
US6330435B1 (en) Data packet discard notification
US7277390B2 (en) TCP processing apparatus of base transceiver subsystem in wired/wireless integrated network and method thereof
US6389016B1 (en) Data communication system and method for transporting data
US6496481B1 (en) Data transfer method for wire real-time communications
US7206280B1 (en) Method and apparatus for asynchronous incremental redundancy reception in a communication system
US20020036992A1 (en) Method and apparatus for packet size dependent link adaptation for wireless packet
US20060153150A1 (en) Method for improving channel transmission efficiency in wireless network
Paul et al. An asymmetric protocol for digital cellular communications
JP2002532000A (en) Automatic repeat request protocol
WO2000024152A1 (en) Arq protocol with packet-based reliability level setting
KR20070106985A (en) Data flow control with duplicate acknowledgment
EP1677449A2 (en) Apparatus and method for retransmitting data in a communication system
Wong et al. Improving end-to-end performance of TCP using link-layer retransmissions over mobile internetworks
KR20010080224A (en) Accumulative arq method and system
KR100972166B1 (en) Method and terminal for PDU reordering in wireless communication system
US7277439B2 (en) Dual-mode data transmission system and process, corresponding transmitter and receiver
US7573883B2 (en) System, method and operator for increasing the active window size in a NAK-based window protocol
US6973071B1 (en) Method and apparatus for controlling the flow of data in a wireless communication system
Akyildiz et al. A new ARQ protocol for wireless ATM networks
WO2000046948A1 (en) Prime-arq flow control including cell discard
Jolfaei et al. Improved selective repeat ARQ schemes for data communication
JP3344930B2 (en) Error compensation method and apparatus, and medium storing error compensation program
Cheng et al. Efficient partial retransmission ARQ strategy with error detection codes by feedback channel

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 597916

Kind code of ref document: A

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase