Abstract:
A data transmission method of a GPRS includes estimating a possibility of an impending stall state of a transmit window, transmitting a stall state alarm signal of the transmit window to a network if it is predicted that the stall state of the transmit window is approaching, and controlling data transmissions according to whether an ACK signal for the stall state alarm signal is received or not from the network. Notification of the possibility of the stall state of the transmit window is provided at least once and preferably twice to the network before stall actually occurs, thereby reducing the number of occurrences of the transmit window&#39;s stall state. As a result, waste of network resources due to re-transmission performed in the stall state is minimized.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a General Packet Radio System (GPRS) and more particularly to a data transmission method in the GPRS.  
           [0003]    2. Background of the Related Art  
           [0004]    A GPRS is an overlay network system implemented on a global system for mobile communications (GSM) network, which is a circuit switching-based two-generation radio communication network standard adapted by GPRS for packet data transmissions. In order to transmit packet-based data on the GSM network, a fresh network factor, an interface, and a protocol are required to process packet traffic.  
           [0005]    The GPRS is logically implemented by adding two network nodes as core network (CN) factors of the GSM. The first node is a serving GPRS Support Node (SGSN) and the second node is a gateway GPRS Support Node (GGSN). In addition to these nodes, a packet control unit (PCU) for processing a packet traffic should be installed in a base station controller (BSC), and software upgrading should also be performed.  
           [0006]    In the GPRS system constructed as described above, voice or data traffic transmitted from a GPRS terminal is transmitted to a BTS through an air interface and then transmitted from the BTS to the BSC in the same manner. However, at the output side of the BSC, the traffic is divided into voice traffic which is transmitted to a mobile switching center (MSC) as standard GSM traffic and data traffic which is transmitted to the SGSN through the PCU.  
           [0007]    The GPRS uses a physical channel called a temporary block flow (TBF) for data transmission between the terminal and a network. The TBF is set when there is an LLC PDU transmission request by an upper layer of the terminal in a packet idle mode. When the TBF is set, the terminal is switched to a packet transfer mode.  
           [0008]    The LLC PDU transmission service is provided in an RLC acknowledged mode and an RLC unacknowledged mode, and when the LLC PDU transmission in uplink and downlink directions is terminated, the corresponding TBF is released. As the TBF is released in the packet transfer mode, the terminal returns to the packet idle mode.  
           [0009]    [0009]FIG. 1 shoes a protocol layer adopted in the GPRS system. As shown, a data link layer consists of a logical link control (LLC), radio link control (RLC), and medium access control (MAC) sub-layers. These sub-layers provide a service on an upper layer protocol and receives a service from a physical layer. The LLC sub-layer provides a logical channel ensuring reliability between two peer entities, while the RLC sub-layer positioned below the LLC sub-layer segments a to-be-transmitted LLC protocol data unit (PDU) to RLC/MAC block and reassembles received RLC/MAC block. The MAC sub-layer positioned below the RLC sub-layer allows a plurality of mobile terminals to share a physical channel.  
           [0010]    The RLC/MAC block is classified into an RLC data block and an RLC/MAC control block in the acknowledged mode. The RLC/MAC control block has priority over the RLC data block. The RLC/MAC block consists of an MAC header and an RLC data block which includes an RLC header, an RLC data unit, and spare bits.  
           [0011]    [0011]FIG. 2 shows a format of an uplink RNC data block containing an MAC header adopted for the GPRS system in accordance with a related art. The MAC header consists of a payload type field indicative of a type of data carried in the RLC/MAC block, a countdown value field indicative of a countdown value (CV) that the terminal transmits in order for a network to calculate the current number of RLC data blocks remaining for the uplink TBF, a stall indicator (SI) bit indicative of whether an RLC transmission window of the terminal can advance, and a retry (R) bit indicative of whether the terminal has transmitted a CHANNEL REQUEST message or a PACKET CHANNEL REQUEST message more than once during the latest channel access.  
           [0012]    An uplink RLC data block includes a spare bit set to ‘0’, an PFI indicator (PI) indicative of whether there is a packet flow identifier (PFI), an optional item, a TLLI indicator (TI) bit indicative of whether there is a temporary flow identity (TFI) field for checking a TBF where the RLC data block belongs or whether there is a TLLI field, al; optional item, a BSN field indicative of a block sequence number (BSN), a length indicator (LI) for determining a boundary of LLC PDUs of the RLC data block, a more (M) bit indicative of whether there is a following LLC PDU in the RLC data block, and an extension (E) bit indicative of whether there is an optional octet in the RLC PDU.  
           [0013]    In the uplink TBF operation process, the terminal transmits the RLC/MAC block through each allocated uplink data block, and the network sends a PACTKET UNLINK ACK/NAK message to the terminal as necessary. If a transmission status variable V(S) is equal to the sum of an acknowledge state variable V(A) and a transmit window size (WS) modulo SNS (that is, V(S)=V(A)+WS modulo SNS), the terminal judges that the transmit window is in a stall state. Then, the terminal sets stall indicators (SI) of every transmitted uplink RLC block to ‘1’ so as to inform the network of the stall state until the transmit window gets out of the stall state.  
           [0014]    However, in the case that the terminal informs the network of the stall state using the following data blocks after the transmit window is in stall state, the terminal keeps re-transmitting the RLC data blocks which have not been acknowledged from the network until it receives a PACKET UPLINK ACK/NACK message from the network and gets out of the stall, and if the stall state is prolonged, radio resources are wasted.  
           [0015]    The above references are incorporated bit reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.  
         SUMMARY OF THE INVENTION  
         [0016]    An object of the invention is to solve at least the above problems and/or disadvantages and to provide at least the advantages described hereinafter  
           [0017]    Another object of the present invention is to provide a data transmission control method which minimizes waste of common resources relating to RLC data block re-transmission bit estimating a possibility that a transmit window of a terminal is in stall and informing a network in advance before its occurrence.  
           [0018]    To achieve at least the above objects in whole or in parts, there is provided a data transmission method of a GPRS including: estimating a possibility that a transmit window is stalled; transmitting a stall state alarm signal to a network if it is estimated that the transmit window will enter the stall state; and controlling a data transmission according to whether or not an ACK signal for the stall state alarm signal is received from the network.  
           [0019]    The transmit window&#39;s entering into stall occurs when a send state variable V(S) is equal to the sum of an acknowledge state variable V(A) and a transmission window size (WS) modulo SNS (sequence number space).  
           [0020]    In the step of transmitting the stall state alarm signal, a first stall state alarm signal is transmitted, it is judged whether an ACK for the first stall state alarm signal has been received, and if the ACK for the first stall state alarm signal is received by a predetermined time point, the network is informed of reception of the ACK for the first stall state alarm signal, and the transmit window is updated according to the received ACK signal.  
           [0021]    If the ACK for the first stall state alarm signal is not received by the predetermined time point, a second stall state alarm signal is transmitted, it is judged whether an ACK for the second stall state alarm signal has been received before the transmit window is stalled, and if the ACK for the second stall state alarm signal has been received, the network is informed of the reception of the ACK for the second stall state alarm signal, and the transmit window is updated accordingly to the received ACK signal.  
           [0022]    If, however, no ACK is received for the second stall state alarm signal, the network is informed that the transmit window is stalled and a re-transmission procedure is performed.  
           [0023]    The first stall state alarm signal is transmitted when there remain RLC/MAC blocks to be transmitted which are as many as double the assigned uplink time slots until the transmit window is stalled, while the second stall state alarm signal is transmitted when there remain RLC/MAC blocks to be transmitted which are as many as assigned uplink time slots until the transmit window is stalled without receiving an ACK for the first stall state alarm signal.  
           [0024]    The stall state alarm signal of the transmit window is determined depending on setting of an RLC Transmit Stall Alarm (RTSA) field of the RLC data block. An RTSA field of the RLC data block corresponding to the first stall state alarm signal is set to ‘01’, while an RTSA field of the RLC data block corresponding to the second stall state alarm signal is set to ‘10’.  
           [0025]    An RTSA field of the first RLC data block transmitted after receiving an ACK for the first and second stall state alarm signal is set to ‘11’, and an RTSA field of the following RLC data block is set to ‘00’.  
           [0026]    Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objects and advantages of the invention may be realized and attained as particularly pointed out in the appended claims.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0027]    The invention will be described in detail with reference to the following drawings in which like reference numerals refer to like elements wherein:  
         [0028]    [0028]FIG. 1 is a drawing illustrating a protocol layer adopted for a GPRS system;  
         [0029]    [0029]FIG. 2 is a drawing illustrating a format of an uplink RLC data block containing an MAC header in accordance with the related art;  
         [0030]    [0030]FIG. 3 is a drawing illustrating a frame structure of uplink and downlink channels allocated to a multislot class  12  terminal;  
         [0031]    [0031]FIG. 4 is a drawing illustrating a format of an uplink RLC data block containing an MCA header adopted for a data transmission method in accordance with a preferred embodiment of the present invention; and  
         [0032]    [0032]FIG. 5 is a flow-chart of a data transmission control method in a GPRS in accordance with the present invention 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0033]    A data transmission method in accordance with the present invention will now be described by taking an example of channel allocation in a multislot class  12  terminal supporting a multi-time slot. A GPRS radio frame consists of 8 time slots. Each uplink and downlink allocation available number of the class  12  terminal is 4, and the sum of maximum uplink and downlink is 5 An uplink frame starts later by 3 time slots than a downlink frame in consideration of a propagation delay.  
         [0034]    [0034]FIG. 3 shows a frame structure of uplink and downlink channels allocated to the multislot class  12  terminal. As shown, there is allocated four uplink time slots TS 0 , TS 1 , TS 2 , and TS 3  (block period) and one downlink time slot TS 0  per frame. The terminal transmits the RLC data block to the network through the uplink time slots TS 0 , TS 1 , TS 2  and TS 3 . After the RLC data block is transmitted as much as the transmit window (WS), the terminal receives a packet uplink ACK/NACK message through the downlink time slot TS 0 .  
         [0035]    In this process, if the transmit window (WS) is checked to be in a stall state, the terminal sets an SI bit of the uplink RLC data block as ‘1’ and informs the network that the RLC transmit window of the terminal is in the stall state. If the transmit window is not in the stall state, the SI bit is set to ‘0’.  
         [0036]    When the send state variable V(S) of the terminal is equal to the sum of an acknowledge state variable V(A), which indicates a BSN value of the oldest RLC data block negatively received from the network, and the WS modulo SNS (sequence number space)  128  (that is, if V(S)=V(A)+WS modulo SNS), the terminal judges that the transmit window is in the stall state. V(S), which is a sequence number of the RLC data block to be transmitted next, has a value of SNS-1 at ‘0’. When TBF starts, V(S) starts from ‘0’ and is increased by 1 together with BSN (block sequence number) whenever the RLC data block is transmitted.  
         [0037]    The acknowledge state variable V(A) provides an index with respect to an acknowledge state array V(B) modulo SNS, which is updated by a value of a received block bitmap (RBB) of the packet uplink ACK/NACK message received from the network. The acknowledge state array V(B) is an array of SNS factors informing the acknowledge state of the transmit window size (WS). The RBB is a binary value array of the WS factors.  
         [0038]    If the transmit window is judged to be in the stall state, the terminal transmits the oldest RLC data block having a factor with a PENDING_ACK value in the V(B) (that is, a value of a factor corresponding to a pertinent RLC data block in the V(B) set when each RLC data block is transmitted), and then subsequently transmits the second-oldest RLC data block. After every RLC data block having a corresponding factor with the PENDING_ACK value in V(B) is transmitted, the terminal repeats transmission from the oldest RLC data block in the same manner. The procedure of transmitting the oldest RLC data block having the corresponding factor with the PENDING_ACK value in V(B) continues until V(S)=V(A)+WS modulo SNS is released.  
         [0039]    Accordingly, if the packet uplink ACK/NACK value received from the network is negative or if no packet uplink ACK/NACK message is received, the transmit window is held in the stall state so that re-transmission of the oldest RLC data block having the corresponding factor with the PENDING_ACK value in V(B) is repeated to waste the common resource.  
         [0040]    The present invention is directed to minimizing waste of the common resource according to re-transmission by allowing the terminal to predict the stall state and then informing the network in advance before the transmit window is stalled.  
         [0041]    [0041]FIG. 4 shows a format of an uplink RLC data block containing an MCA header adapted for a data transmission method in accordance with a preferred embodiment of the present invention. The uplink RLC data block preferably uses the spare bits in the uplink RLC data block of the related art to RLC transmit stall alarm (RTSA) bits. Alternatively, the stall alarm bits may be included in other portions or fields of the RLC data block, and/or as new bits appended to the data block.  
         [0042]    In the data transmission method of the present invention, the terminal predicts a stall condition of the window before the transmit window actually stalls, informs the network accordingly using the RTSA bits of the uplink RLC data block, and requests a packet uplink ACK/NACK message. The terminal&#39;s packet uplink ACK/NACK message request maybe attempted before the transmit window is stalled.  
         [0043]    More specifically, the terminal transmits the RLC/MAC block with RTSA bits set to ‘01’ to the network when there remains RLC/MAC blocks as many as double the number of allocated uplink timeslots until the transmit window is stalled. When the packet uplink ACK/NACK message is received from the network in response to the first RTSA bits, the terminal transmits the RLC/MAC block with RTSA bits set to ‘11’ to the network to inform that the packet uplink ACK/NACK message has been received.  
         [0044]    Meanwhile, if no packet uplink ACK/NACK message is received for the first RTSA bits from the network, the terminal transmits the RLC/MAC block with RTSA bits set to ‘10’ to the network when there remains RLC/MAC blocks as many as the number of allocated uplink timeslots until the transmit window is stalled.  
         [0045]    If the packet uplink ACK/NACK message is received from the network in response to the second RTSA bits, the terminal transmits the RLC/MAC block with RTSA bits set to ‘11’ to the network to inform of its reception of the packet uplink ACK/NACK. If, however, no packet uplink ACK/NACK message is received for the second RTSA bits from the network, the transmit window is stalled.  
         [0046]    Table 1 defines each value of RTSA bits.  
                           TABLE 1                                   RTSA bits                               00   None valid           01   Request Packet uplink ACK/NACK (1st)           10   Request Packet uplink ACK/NACK (2nd)           11   Received Packet uplink ACK/NACK                      
 
         [0047]    [0047]FIG. 5 shows steps included in a data transmission control method in a GPRS in accordance with one embodiment of the present invention. When an uplink TBF is set in an RLC acknowledged mode, the terminal transmits the RLC/MAC block within the transmit window through each allocated uplink data block (step S 101 ). While transmitting the RLC/MAC block, the terminal monitors N s , the number of RLC/MAC blocks corresponding to the number of allocated ULTSs, and judges whether it satisfies the condition of 2N s =N t  (step S 102 ).  
         [0048]    If the condition 2N s =N t  is satisfied, the terminal sets RTSA bits of the transmitted RLC data block to ‘01’, requests a packet UL ACK/NACK from the network (first packet UL ACK/NACK request) (step S 103 ), and waits for a packet UL ACK/NACK message from the network in response (step S 104 ).  
         [0049]    When the terminal receives the packet UL ACK/NACK from the network in response to the first packet UL ACK/NACK request, the terminal sets RTSA bits to ‘11’ and informs the network of the reception of the packet UL ACK/NACK, and then, sets RTSA bits to ‘00’ for the following RLC data block.  
         [0050]    Meanwhile, if no packet UL ACK/NACK is received from the network for the first packet UL ACK/NACK request, the terminal judges whether the condition N s =N t  (step S 105 ) is satisfied. If this condition is satisfied, the terminal sets RTSA bits of the RLC data block to ‘10’ and requests a packet UL ACK/NACK from the network (second packet UL ACK/NACK request) (step S 106 ) and waits for the packet UL ACK/NACK message from the network in response (step S 107 ).  
         [0051]    When the packet UL ACK/NACK message is received from the network in response to the second packet UL ACK/NACK request, the terminal sets RTSA bits to ‘11’ and informs the network of the reception of the packet UL ACK/NACK, and then, sets RTSA bits to ‘00’ for the following RLC data block (step S 111 ).  
         [0052]    If, however, no packet UL ACK/NAKC is received from the network for the second packet UL ACK/NACK request, the terminal judges whether the transmit window has reached a stall state (step S 108 ), and if so the terminal performs the re-transmission procedure.  
         [0053]    During the re-transmission procedure, the terminal monitors reception of the packet UL ACK/NACK. When the terminal receives the packet UL ACK/NACK message, it sets RTSA bits to ‘11’ and informs the network of the reception of the packet UL ACK/NACK, and then, sets RTSA bits to ‘00’ for the following RLC data block (step S 111 ).  
         [0054]    Meanwhile, in step S 102 , if the condition 2N s =N t  is not satisfied, the terminal judges whether a count down procedure has started. If the count down procedure has not yet started, the terminal keeps transmission of the RLC/MAC within the transmit window. Then, when the count down procedure starts, the terminal transmits the final RLC data block (step S 113 ) and releases the uplink TBF.  
         [0055]    As so far described, the data transmission method in accordance with the present invention has the following advantages. The possibility that the transmit window is stalled is informed to the network twice before its occurrence, so that the number of occurrences of the transmit window&#39;s stall state can be reduce. As a result, waste of network resources due to re-transmission performed in the stall state can be minimized.  
         [0056]    The foregoing embodiments and advantages are merely exemplary and are not to be construed as limiting the present invention. The present teaching can be readily applied to other types of apparatuses. The description of the present invention is intended to be illustrative, and not to limit the scope of the claims. Many alternatives, modifications, and variations will be apparent to those skilled in the art. In the claims, means-plus-function clauses are intended to cover the structure described herein as performing the recited function and not only structural equivalents but also equivalent structures.