Patent Abstract:
A method for handling discarding of a sequence of service data units in a communications system is disclosed. The sequence of service data units includes at least a last discarded service data unit (SDU). When a protocol data unit (PDU) containing a length indicator of the last discarded SDU contains no new SDUs, the method includes creating a move receiving window super field (MRW SUFI), setting a N LENGTH  field of the MRW SUFI to 0, setting a last sequence number move receiving window field (SN_MRW LENGTH ) to a sum of one plus a sequence number (SN) of the PDU containing the length indicator of the last discarded SDU, and issuing the MRW SUFI.

Full Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims the benefit of the filing date of U.S. provisional patent application No. 60/522,398, filed Sep. 24, 2004, the contents of which are hereby incorporated by reference. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates to a wireless communications system, and more particularly to a method for discarding data segments in a wireless communications system.  
         [0004]     2. Description of the Prior Art  
         [0005]     New uses are constantly being found for wireless communications. Initially limited to voice communications, packetized data has opened the field to cellular modems, camera phones, fixed-wireless transceivers for high-speed networking, and myriad other uses. The field is growing rapidly and requires sophisticated protocols to handle the increasing amount of data being transmitted. The Universal Mobile Telecommunications System (UMTS) specified by the 3 rd  Generation Partnership Project (3GPP™) is an example of such a new communications protocol. The 3 rd  Generation Partnership Project (3GPP) specification, TS 25.322 V6.1.0 (2004-06) Radio Link Control (RLC) protocol specification (referred to hereinafter as 3GPP TS 25.322), included herein by reference, provides a technical description of data transmission control protocols thereof. UMTS utilizes a three-layer approach to communications. The three-layer protocol has a first layer, the physical transport layer; a second layer, where data is packetized, collated, and organized; and a third layer, which interfaces between the second layer and applications generating or using the data.  
         [0006]     The packetization and collation processes are designed to handle missing data segments, due to noise in transmission or other errors, by triggering a retransmission procedure. When a collation cannot be fulfilled by the retransmission procedure due to a protocol error, a reset procedure may be initiated to recover the transmission from the protocol error. The reset procedure can cause large delays as all the state variables are reset and the transmission entity is started over from the beginning. These problems occur primarily in the second (packet control) layers.  
         [0007]     Please refer to  FIG. 1 , a block diagram of the three layers in such a communications protocol. In a typical wireless environment, a first station  300  is in wireless communication with one or more second stations  400 . An application  330  on the first station  300  composes a message  310  and has it delivered to the second station  400  by handing the message  310  to a third layer interface  320 . The third layer interface  320  may also generate some third layer signaling messages  320   a  for the purpose of controlling third layer operations. The third layer interface  320  delivers either the message  310  or the third layer signaling message  320   a  to a second layer interface  360  in the form of second layer service data units (SDUs)  340 . The second layer SDUs  340  may be of any length. The second layer interface  360  composes the SDUs  340  into one or more second layer protocol data unit(s) (PDU)  380 . Each second layer PDU  380  is of a fixed length, and is delivered to a first layer interface  390 . Note that the fact that variable length SDUs are transported in fixed length PDUs generates issues that are highly relevant to the present invention, and these issues are discussed in more detail below. The first layer interface  390  is the physical layer, transmitting data to the second station  400 . The transmitted data is received by the first layer interface  490  of the second station  400  and reconstructed into one or more PDUs  480 , which is/are passed up to the second layer interface  460 . The second layer interface  460  receives the PDU(s)  480  and builds up one or more second layer SDU(s)  440  from the PDU(s)  480 . The second layer SDU(s)  440  is/are passed up to the third layer interface  420 . The third layer interface  420 , in turn, converts the second layer SDU(s)  440  back into either a message  410 , which should be identical to the original message  310  that was generated by the application  330  on the first station  300 , or a third layer signaling message  420   a , which should be identical to the original signaling message  320   a  generated by the third layer interface  320 , and which is then processed by the third layer interface  420 . The received message  410  is passed up to an application  430  on the second station  400 .  
         [0008]     In order to detect missing data, the protocol relies on the collation of PDUs in the second station&#39;s  400  second layer  420  to notice that a PDU has not been received and to send a request for retransmission through the first layer  490  to the first layer  390  of the first station  300 .  
         [0009]     Please refer to  FIG. 5 , which illustrates a typical sequence of PDUs containing SDUs. In this example, two SDUs, SDU 1  and SDU 2 , each of length 80 octets, are packetized into four PDUs P 0 , P 1 , P 2 , P 3  each of length 64 octets. Each PDU contains a header, respectively P 0   h , P 1   h , P 2   h , P 3   h , which is two octets long, leaving 62 octets for the contents of the PDUs. Each header contains, among other data, a sequence number (SN), which increases sequentially in each PDU transmitted, and a flag indicating whether or not the PDU has a length indicator (LI), which indicates the position of the last byte of data of a SDU. The flag is located at the last bit of the header. If the flag is set to 1, then the PDU contains a LI structure of one octet, with the first seven bits indicating the length of the data to which it refers and the eighth bit being a flag indicating whether this is the last LI in the PDU. PDU P 0  has the SN of zero (0), and the flag indicates that there is no LI. The data  10   a  is thus entirely from a single SDU. PDU P 1  has SN equal to 1, and its flag set to 1 indicates that the next octet is a LI structure, which contains a LI field and a one-bit flag. The first LI field  10 L has a value of eighteen (18) followed by a flag indicating another LI structure to follow; PDU P 1  then has a second LI field P 1   p L with a value of 127 (all 1&#39;s for the 7 bits of the second LI) followed by a flag set to 0 indicating that the second LI is the last LI in the PDU. The first eighteen data bytes of this PDU, following the two LI structures, are the remainder of the data  10   b  for SDU 1 . The special value (127) of the second LI indicates that the rest part of the PDU P 1   p  is a padding, which is padded with arbitrary value to keep the length of the PDU P 1  fixed and shall be neglected. PDU P 2  has the SN of 2, and the flag indicates that there is no LI. The data  12   a  is thus entirely for a single SDU. Similarly, PDU P 3  has SN of 3, and its flag set to 1 indicates that it contains a LI structure. The LI  12 L has a value of 18 and a flag indicating a second LI structure follows; PDU P 3  then has an LI field P 3   p L with a value of 127 followed by a flag set to 0. Thus, the first eighteen data bytes of this PDU  12   b , following the two LI structures, are the remainder of the data  10   b  for SDU 2 . The rest part P 3   p  is padding.  
         [0010]     Please refer to  FIG. 6 , which illustrates another typical sequence of PDUs containing SDUs. In this example, two SDUs, SDU 1  and SDU 2 , each of length 80 octets are packetized into three PDUs Q 0 , Q 1 , Q 2  each of length 64 octets. Each PDU contains a header, respectively Q 0   h , Q 1   h , Q 2   h , Q 3   h , which is two octets long, leaving 62 octets for the contents of the PDUs. PDU Q 0  has the SN of zero (0), and the flag indicates that there is no LI. The data  14   a  is thus entirely from a single SDU SDU 1 . PDU Q 1  has a header Q 1   h  with SN equal to 1 and its flag set to 1 indicating that a LI structure follows the header Q 1   h . The LI field  14 L has a value of 18 followed by a flag set to 0 indicating no more LIs; the first eighteen data octets  14   b  of this PDU are thus the remainder of SDU 1 , and the remaining forty-three data octets  16   a  are from the next SDU, SDU 2 . PDU Q 2  has a header Q 2   h  with SN equal to 2 and its flag set to 1 indicating that a LI structure follows the header Q 2   h . The Li field  16 L has a value of 37 followed by a flag set to 1 indicating another LI follows. The second LI has a value of 127 followed by a flag set to 0 indicating no more LIs. The first thirty-seven data octets  16   b  of the PDU are the remainder of SDU 2 , and the remaining octets are padding Q 2   p  to be neglected.  
         [0011]     Please refer to  FIG. 7 , which illustrates a third typical sequence of PDUs containing SDUs. In this example, two SDUs, SDU 1  of length 62 octets and SDU 2  of length 80 octets, are packetized into four PDUs R 0 , R 1 , R 2  and R 3 , each of length 64 octets. Each PDU contains a header, respectively R 0 h, R 1   h , R 2   h , R 3   h , which is two octets long, leaving 62 octets for the contents of the PDU. PDU R 0  has the SN of zero (0), and the flag indicates that there is no LI. The data  18   a  is thus entirely from a single SDU. PDU R 1  has SN equal to 1, and its flag set to 1 indicates that it contains a LI structure. The LI  18 L has a value of zero (0) followed by a flag set to 1 indicating another LI to follow; it then has an LI field R 1   p L with a value of 127 followed by a flag set to 0 indicating that it is the last LI in the PDU. The special value (0) of the first LI indicates that the previous PDU R 0  was exactly filled with the last segment of a SDU, SDU 1 , and there is no LI field that indicates the end of the SDU in the previous PDU R 0 . Thus, the rest part R 1   p  of PDU R 1  is a padding part to be neglected. PDU R 2  has the SN of 2, and the flag indicates that there is no LI. The data  20   a  is thus entirely from a single SDU, SDU 2 . PDU R 3  has a header R 3   h  with SN of 3 and its flag set to 1 indicating that a LI structure follows the header R 2   h . The LI field  20 L has a value of 18 followed by a flag set to 1 indicating another LI to follow; it then has an LI field R 3   p l with a value of 127 followed by a flag set to 0 indicating that there are no further LI fields. Thus, the first eighteen data bytes of this PDU, following the two LI structures, are the remainder of the data  20   b  for SDU 2 . The remaining part R 3   p  of this PDU is padding to be neglected.  
         [0012]     In the prior art, the method for discarding an SDU is as follows. Please refer to  FIG. 2 ,  FIG. 3 , and  FIG. 4 , which are flowcharts of the prior art method of discarding SDUs. These steps are explained below:  
         [0013]     Step  100 : Trigger a new Move Receiving Window (MRW) procedure. The sender indicates that at least one SDU is to be discarded.  
         [0014]     Step  102 : Set up a STATUS PDU with a MRW superfield (SUFI). Create a PDU structure and populate its basic fields.  
         [0015]     Step  104 : Determine whether “send MRW” is configured for this RLC entity. When true, proceed to step  110 . When not true, proceed to step  106 .  
         [0016]     Step  106 : Set the STATUS PDU to include the last SN_MRW i  field for the last discarded SDU.  
         [0017]     Step  108 : Optionally set the STATUS PDU to include other SN_MRW i  fields for other discarded SDUs, and proceed to step  116  (marked by “A”, in  FIG. 3 ).  
         [0018]     Step  110 : Check whether there are more than 15 discarded SDUs, which is the largest number of SDU SN_MRW i  fields that can fit in the STATUS PDU. When more than fifteen SDUs are being discarded, proceed to step  112 . When fifteen or fewer SDUs are being discarded, proceed to step  114 .  
         [0019]     Step  112 : Set up the MRW SUFI for the first fifteen discarded SDUs.  
         [0020]     Step  114 : Include one SN_MRW i  field for each corresponding discarded SDU. Proceed to step  116  (marked by “A”, in  FIG. 3 ).  
         [0021]     Step  116 : Check whether the last discarded SDU ends in a PDU which contains the LI of the last discarded SDU and contains no new SDUs. When true, proceed to step  118 . When false, proceed to step  120 .  
         [0022]     Step  118 : Set the last SN_MRW i  field (SN_MRW LENGTH ) to be the sum of one plus the SN of the PDU at which the last discarded SDU ends, and set N LENGTH  to zero. Proceed to step  122  (marked by “B” in  FIG. 4 ).  
         [0023]     Step  120 : Set the last SN_MRW i  field (SN_MRW LENGTH ) to be the SN of the PDU which contains the LI of the last discarded SDU, and set N LENGTH  to be the number of LIs corresponding to discarded SDUs within the PDU which contains the LI of the last discarded SDU. Proceed to step  122  (marked by “B” in  FIG. 4 ).  
         [0024]     Step  122 : Set each of the other SN_MRW i  fields to be the SN of the AMD PDU containing the LI of the corresponding discarded SDU  
         [0025]     Step  124 : Check whether there is only one SN_MRW i  field and if its corresponding discarded SDU extends above the configured transmission window. When true, proceed to step  126 . When false, proceed to step  128 .  
         [0026]     Step  126 : Set LENGTH to zero, and proceed to step  130 .  
         [0027]     Step  128 : Set LENGTH to the number of SN_MRW i  fields, and proceed to step  130 .  
         [0028]     Step  130 : Submit the STATUS PDU with MRW SUF 1  for transmission.  
         [0029]     Step  132 : Finish (exit procedure).  
         [0030]     please refer to  FIG. 5  with regard to the above steps, as well as  FIG. 2 ,  FIG. 3 , and  FIG. 4 . When an SDU discard procedure is initiated to discard SDU 1 , a MRW procedure is triggered at step  100  (shown in  FIG. 2 ). The method sets up a STATUS PDU with MRW SUF 1  in step  102 . Since only one SDU is being discarded, the method will produce the same results whether step  104  chooses to go to step  106  or step  110 . When “Send MRW” is not configured, step  1   06  includes the SN_MRW 1  field in the MRW SUFI for SDU 1 , and step  108  is ignored since there are no more SDUs being discarded. When “Send MRW” is configured, step  110  proceeds to step  114  since only one SDU is being discarded, and step  114  includes the SN_MRW 1  field in the MRW SUFI for SDU 1 . Both paths then converge again at step  116  (shown in  FIG. 3 ). In step  116 , the last discarded SDU, SDU 1 , ends in PDU P 1 , and PDU P 1  contains the LI  10 L, and contains no new SDUs after SDU 1  since its remainder is filled with padding P 1   p . Therefore, the method proceeds to step  118 , where the last SN_MRW i  field, SN_MRW LENGTH , is set to the sum of one plus the SN of PDU P 1 , or the value 2, since PDU P 1  has an SN of 1. The method then proceeds to step  122  (shown in  FIG. 4 ), where since there are no more discarded SDUs, nothing is done. At step  124 , depending on the actual position of the transmission window, the method either goes to step  126  or step  128 , where the LENGTH field of the MRW SUFI is filled in with either the value 0 or the value 1 respectively. Finally, at step  130 , the method is ready to transmit the just-created STATUS PDU with MRW SUFI, and the method finishes at step  132 .  
         [0031]     Next, please refer to  FIG. 6  with regard to the above steps, as well as  FIG. 2 ,  FIG. 3 , and  FIG. 4 . When an SDU discard procedure is initiated to discard SDU 1 , a MRW procedure is triggered at step  100  (shown in  FIG. 2 ). The method sets up a STATUS PDU with MRW SUFI in step  102 . Since only one SDU is being discarded, the method will produce the same results whether step  104  chooses to go to step  106  or step  110 . When “Send MRW” is not configured, step  106  includes the SN_MRW 1  field in the MRW SUFI for SDU 1 , and step  108  is ignored since there are no more SDUs being discarded. When “Send MRW” is configured, step  110  proceeds to step  114  since only one SDU is being discarded, and step  114  includes the SN_MRW 1  field in the MRW SUFI for SDU 1 . Both paths then converge again at step  116  (shown in  FIG. 3 ). In step  116 , the last discarded SDU, SDU 1 , ends in PDU Q 1 , and PDU Q 1  contains the LI  14 L, and contains a new SDU, SDU 2 , which has its first data segment  16   a . Therefore, the method proceeds to step  120 , where the last SN_MRW i  field, SN_MRW LENGTH , is set to the SN of PDU Q 1 , or the value 1, since PDU Q 1  has an SN of 1. The method then proceeds to step  122  (shown in  FIG. 4 ), where since there are no more discarded SDUs, nothing is done. At step  124 , depending on the actual position of the transmission window, the method either goes to step  126  or step  128 , where the LENGTH field of the MRW SUFI is filled in with either the value 0 or the value 1 respectively. Finally, at step  130 , the method is ready to transmit the just-created STATUS PDU with MRW SUFI, and the method finishes at step  132 .  
         [0032]     For a third example, please refer to  FIG. 7  with regard to the above steps, as well as  FIG. 2 ,  FIG. 3 , and  FIG. 4 . When an SDU discard procedure is initiated to discard SDU 1 , a MRW procedure is triggered at step  100  (shown in  FIG. 2 ). The method sets up a STATUS PDU with MRW SUFI in step  102 . Since only one SDU is being discarded, the method will produce the same results whether step  104  chooses to go to step  106  or step  110 . When “Send MRW” is not configured, step  106  includes the SN_MRW 1  field in the MRW SUFI for SDU 1 , and step  108  is ignored since there are no more SDUs being discarded. When “Send MRW” is configured, step  110  proceeds to step  114  since only one SDU is being discarded, and step  114  includes the SN_MRW 1  field in the MRW SUFI for SDU 1 . Both paths then converge again at step  116  (shown in  FIG. 3 ). In step  116 , the last discarded SDU, SDU 1 , ends in PDU R 0 , which does not contains the LI  18 L of the last discarded SDU, SDU 1 . Therefore, the method proceeds to step  120 , where the last SN_MRW i  field, SN_MRW LENGTH , is set to the SN of PDU R 1  which contains the LI  18 L of the last discarded SDU, SDU 1 , or the value 1, since PDU R 1  has an SN of 1. The method then proceeds to step  122  (shown in  FIG. 4 ), where since there are no more discarded SDUs, nothing is done. At step  124 , depending on the actual position of the transmission window, the method either goes to step  126  or step  128 , where the LENGTH field of the MRW SUFI is filled in with either the value 0 or the value 1 respectively. Finally, at step  130 , the method is ready to transmit the just-created STATUS PDU with MRW SUFI, and the method finishes at step  132 .  
         [0033]     The current method therefore incorrectly sets the MRW SUFI to discard PDU R 0  only, moving the receiving window to start at PDU R 1 . The receiving station or the second station  400  in  FIG. 1  will wait to receive PDU R 1 , which is discarded in the transmitting station or the first station  300  in  FIG. 1 . A reset procedure will be initiated later.  
         [0034]     As seen in the third example, a key problem of this method is that it sometimes fails to discard a PDU when it should. This causes a reset procedure to be triggered occasionally in the normal course of discarding SDUs. As these reset procedures waste potentially large amounts of bandwidth, an improved method for discarding SDUs is clearly necessary.  
       SUMMARY OF THE INVENTION  
       [0035]     It is therefore a primary objective of the claimed invention to provide a method for handling an SDU discard procedure to eliminate the risk of unnecessary reset procedures due to erroneous SDU discard procedure.  
         [0036]     Briefly summarized, the claimed invention is a method for handling discarding of a sequence of service data units in a communications system, the sequence of service data units comprising at least a last discarded service data unit (SDU), the method comprising the following steps: when a protocol data unit (PDU) containing a length indicator of the last discarded SDU contains no new SDUs: creating a move receiving window super field (MRW SUFI), setting a N LENGTH  field of the MRW SUFI to 0, setting a last sequence number move receiving window field (SN_MRW LENGTH ) to a sum of one plus a sequence number (SN) of the PDU containing the length indicator of the last discarded SDU, and issuing the MRW SUFI.  
         [0037]     These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0038]      FIG. 1  is a diagram showing an overview of the layers and communications between a first station and a second station.  
         [0039]      FIG. 2  is a flowchart of a prior-art SDU discard method.  
         [0040]      FIG. 3  is a flowchart of a prior-art SDU discard method.  
         [0041]      FIG. 4  is a flowchart of a prior-art SDU discard method.  
         [0042]      FIG. 5  is a data block diagram showing a typical segmentation of SDUs where no concatenation is used.  
         [0043]      FIG. 6  is a data block diagram showing a typical segmentation of SDUs where concatenation of SDU segments is used.  
         [0044]      FIG. 7  is a data block diagram showing a second typical segmentation of SDUs where no concatenation of SDU segments is used.  
         [0045]      FIG. 8  is a flowchart of the enhanced SDU discard method. 
     
    
     DETAILED DESCRIPTION  
       [0046]     Please refer to  FIG. 2 ,  FIG. 8 , and  FIG. 4 , which are flowcharts showing the method of the present invention ( FIG. 8 ) in combination with portions of the method of the prior art ( FIG. 2  and  FIG. 4 ). Please note that prior art steps  116  and  118  are replaced herein with steps  216  and  218 .  
         [0047]     Step  100 : Trigger a new Move Receiving Window (MRW) procedure. The sender indicates that at least one SDU is to be discarded.  
         [0048]     Step  102 : Set up a STATUS PDU with a MRW superfield (SUFI). Create a PDU structure and populate its basic fields.  
         [0049]     Step  104 : Determine whether “send MRW” is configured for this RLC entity. When true, proceed to step  110 . When not true, proceed to step  106 .  
         [0050]     Step  106 : Set the STATUS PDU to include the last SN_MRW i  field for the last discarded SDU.  
         [0051]     Step  108 : Optionally set the STATUS PDU to include other SN_MRW i  fields for the other discarded SDUs, and proceed to step  216  (marked by “A”, in  FIG. 8 ).  
         [0052]     Step  110 : Check whether there are more than 15 discarded SDUs, which is the largest number of SDU SN_MRW i  fields that can fit in the STATUS PDU. When more than fifteen SDUs are being discarded, proceed to step  112 . When fifteen or fewer SDUs are being discarded, proceed to step  114 .  
         [0053]     Step  112 : Set up the MRW SUFI for the first fifteen discarded SDUs.  
         [0054]     Step  114 : Include one SN_MRW i  field for each corresponding discarded SDU. Proceed to step  216  (marked by “A”, in  FIG. 8 ).  
         [0055]     Step  116 : Check whether the PDU containing the LI of the last discarded SDU contains no new SDUs. When true, proceed to step  218 . When false, proceed to step  120 .  
         [0056]     Step  118 : Set the last SN_MRW i  field (SN_MRW LENGTH ) to be the sum of one plus the SN of the PDU which contains the LI of the last discarded SDU, and set N LENGTH  to zero. Proceed to step  122  (marked by “B” in  FIG. 4 ).  
         [0057]     Step  120 : Set the last SN_MRW i  field (SN_MRW LENGTH ) to be the SN of the PDU which contains the LI of the last discarded SDU, and set N LENGTH  to be the number of LIs corresponding to discarded SDUs within the PDU which contains the LI of the last discarded SDU. Proceed to step  122  (marked by “B” in  FIG. 4 ).  
         [0058]     Step  122 : Set each of the other SN_MRW i  fields to be the SN of the AMD PDU containing the LI of the corresponding discarded SDU  
         [0059]     Step  124 : Check whether there is only one SN_MRW i  field and if its corresponding discarded SDU extends above the configured transmission window. When true, proceed to step  126 . When false, proceed to step  128 .  
         [0060]     Step  126 : Set LENGTH to zero, and proceed to step  130 .  
         [0061]     Step  128 : Set LENGTH to the number of SN_MRW i  fields, and proceed to step  130 .  
         [0062]     Step  130 : Submit the STATUS PDU with MRW SUFI for transmission.  
         [0063]     Step  132 : Finish (exit procedure).  
         [0064]     Please refer to  FIG. 5  with regard to the above steps, as well as  FIG. 2 ,  FIG. 8 , and  FIG. 4 . When an SDU discard procedure is initiated to discard SDU 1 , a MRW procedure is triggered at step  100  (shown in  FIG. 2 ). The method sets up a STATUS PDU with MRW SUFI in step  102 . Since only one SDU is being discarded, the method will produce the same results whether step  104  chooses to go to step  106  or step  110 . When “Send MRW” is not configured, step  106  includes the SN_MRW1 field in the MRW SUFI for SDU 1 , and step  108  is ignored since there are no more SDUs being discarded. When “Send MRW” is configured, step  110  proceeds to step  114  since only one SDU is being discarded, and step  114  includes the SN_MRW1 field in the MRW SUFI for SDU 1 . Both paths then converge again at step  216  (shown in  FIG. 8 ). In step  216 , PDU P 1  contains the LI  10 L of the last discarded SDU, SDU 1 , and contains no new SDUs after SDU 1  since its remainder is filled with padding P 1   p . Therefore, the method proceeds to step  218 , where the last SN_MRW i  field, SN_MRW LENGTH , is set to the sum of one plus the SN of PDU P 1 , or the value 2, since PDU P 1  has an SN of 1. The method then proceeds to step  122  (shown in  FIG. 4 ), where since there are no more discarded SDUs, nothing is done. At step  124 , depending on the actual position of the transmission window, the method either goes to step  126  or step  128 , where the LENGTH field of the MRW SUFI is filled in with either the value 0 or the value 1 respectively. Finally, at step  130 , the method is ready to transmit the just-created STATUS PDU with MRW SUFI, and the method finishes at step  132 .  
         [0065]     Next, please refer to  FIG. 6  with regard to the above steps, as well as  FIG. 2 ,  FIG. 8 , and  FIG. 4 . When an SDU discard procedure is initiated to discard SDU 1 , a MRW procedure is triggered at step  100  (shown in  FIG. 2 ). The method sets up a STATUS PDU with MRW SUFI in step  102 . Since only one SDU is being discarded, the method will produce the same results whether step  104  chooses to go to step  106  or step  110 . When “Send MRW” is not configured, step  106  includes the SN_MRW1 field in the MRW SUFI for SDU 1 , and step  108  is ignored since there are no more SDUs being discarded. When “Send MRW” is configured, step  110  proceeds to step  114  since only one SDU is being discarded, and step  114  includes the SN_MRW1 field in the MRW SUFI for SDU 1 . Both paths then converge again at step  216  (shown in  FIG. 8 ). In step  216 , PDU Q 1  contains the LI  14 L of the last discarded SDU, SDU 1 , and contains a new SDU, SDU 2 , which has its first data segment  16   a . Therefore, the method proceeds to step  120 , where the last SN_MRW i  field, SN_MRW LENGTH , is set to the SN of PDU Q 1 , or the value 1, since PDU Q 1  has an SN of 1. The method then proceeds to step  122  (shown in  FIG. 4 ), where since there are no more discarded SDUs, nothing is done. At step  124 , depending on the actual position of the transmission window, the method either goes to step  126  or step  128 , where the LENGTH field of the MRW SUFI is filled in with either the value 0 or the value 1 respectively. Finally, at step  130 , the method is ready to transmit the just-created STATUS PDU with MRW SUFI, and the method finishes at step  132 .  
         [0066]     For a third example, please refer to  FIG. 7  with regard to the above steps, as well as  FIG. 2 ,  FIG. 8 , and  FIG. 4 . When an SDU discard procedure is initiated to discard SDU 1 , a MRW procedure is triggered at step  100  (shown in  FIG. 2 ). The method sets up a STATUS PDU with MRW SUFI in step  102 . Since only one SDU is being discarded, the method will produce the same results whether step  104  chooses to go to step  106  or step  110 . When “Send MRW” is not configured, step  106  includes the SN_MRW 1  field in the MRW SUFI for SDU 1 , and step  108  is ignored since there are no more SDUs being discarded. When “Send MRW” is configured, step  110  proceeds to step  114  since only one SDU is being discarded, and step  114  includes the SN_MRW 1  field in the MRW SUFI for SDU 1 . Both paths then converge again at step  216  (shown in  FIG. 8 ). In step  216 , PDU R 1  contains the LI  18 L of the last discarded SDU, SDU 1 , and contains no new SDUs after SDU 1  since its remainder is filled with padding R 1   p . Therefore, the method proceeds to step  218 , where the last SN_MRW i  field, SN —MRW   LENGTH , is set to the sum of one plus the SN of PDU R 1  (which contains the LI of SDU 1 ), or the value 2, since PDU R 1  has an SN of 1. Note that the value SN_MRW LENGTH  is set to 1 in this scenario by the prior art. The method then proceeds to step  122  (shown in  FIG. 4 ), where since there are no more discarded SDUs, nothing is done. At step  124 , depending on the actual position of the transmission window, the method either goes to step  126  or step  128 , where the LENGTH field of the MRW SUFI is filled in with either the value 0 or the value 1 respectively. Finally, at step  130 , the method is ready to transmit the just-created STATUS PDU with MRW SUFI, and the method finishes at step  132 .  
         [0067]     This improved method therefore behaves correctly in all cases when discarding SDUs, including the case where the last segment of a SDU ends within a given PDU but the LI for the SDU is in the next PDU, as well as the more common case where the last segment of a SDU ends in the same PDU as the LI for said SDU. In the example shown in  FIG. 7 , the improved method correctly sets the MRW SUFI to discard PDUs R 0  and R 1 , moving the receiving window to start at PDU R 2 . In contrast, the prior art incorrectly moves the receiving window to start at PDU R 1 , thereby initiating a reset procedure later. Thus, the present invention avoids an unnecessary reset procedure and bandwidth is saved.  
         [0068]     Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.

Technology Classification (CPC): 7