ERROR CONTROL METHOD AND APPARATUS

Abstract: The invention relates to an error control method and apparatus for performing a control so as to allow a transmission of data units via a transmission channel independence on the sequence number of a preceding data unit not yet acknowledged, wherein the transmission rate of acknowledgment messages is changed in response to an estimated transmission quality of the transmission channel. Thereby, the retransmission protocol is made faster in poor channel conditions, whereas the amount of resources used for the acknowledgment message is lowered for better channel conditions. The error control may be performed at the transmitter side, wherein the transmitter commands or polls the receiver to send an acknowledgment message. The channel quality may be determined by detecting a retransmission of negatively acknowledged data unit. Alternatively, the error control can be performed at the receiver side, wherein the receiver decides when an acknowledgment shall be sent and is able to count the data units lost or erased during the transmission to thereby estimate or detect the channel quality.

Description: Error control method and apparatus FIELD OF THE INVENTION The present invention relates to an error control method and apparatus for performing a control so as to allow a transmission of data packets via a transmission channel in dependence on the sequence number of a preceding data packet not yet acknowledged, i.e. an earlier data packet which has been transmitted but not yet acknowledged as a properly received data packet. The transmission channel may be provided in a cellular network such as a GSM (Global System for Mobile communications) or a GPRS (General Packet Radio Services) network. BACKGROUND OF THE INVENTION In a digital transmission system, transmission errors occur due to noise and distortion. There are two types of transmission errors: random errors and burst errors. Random errors may be caused by thermal noise. Burst errors are generated during a fade in the transmission channel. Transmission errors can be detected by adding a redundant signal (check bits) to the information signal. Upon detecting a transmission error, there are two ways to control the error. One is called ARQ (Automatic Repeat Request) and uses a feedback control to request a retransmission of the corrupted data. The other called FEC (Feed-forward Error Correction) uses a feed-forward control to control the errors. In packet data networks, different transmission protocols are used to convey data via a transmission channel from a source (transmitter) to a destination (receiver) . Transmission protocols are typically arranged in such a manner that data to be transferred is segmented into a sequence of data packets, called Packet Data Units (PDUs) which are then individually transferred to the destination where they are finally reassembled by the transmission protocol. Each PDU has a header and a data part. The former contains information essential for the transmission protocol, such as an element defining the destination and/or the sequence number by which the PDU can be identified, whereas the latter contains a piece of the actual data packet being transferred. To achieve a reliable data transmission, the transmission protocol has to assure that all transmitted PDUs are received correctly by the receiver. For this purpose, the receiver sends acknowledgments to the transmitter which in turn retransmits the unacknowledged or negatively acknowledged PDUs according to a specified ARQ scheme. A widely used ARQ scheme is the so-called Go-Back-N method where the receiver acknowledges all the PDUs up to a certain sequence number N. In particular, the receiver sends the sequence number N up to which it has received all PDUs properly ad in order. After receiving such an acknowledgment, the transmitter continues the transmission starting from the specified sequence number N. During the so-called round-trip delay, the receiver may have already transmitted PDUs with sequence numbers larger than N. Nevertheless, the transmitter continues transmission by (re) transmitting the PDUs with sequence numbers N, N+l, N+2,..., when receiving such an acknowledgement. In the so-called Selective Retransmission ARQ scheme, the receiver sends acknowledgments where the successfully received PDUs are specified based on their sequence numbers. When receiving such an acknowledgment, the transmitter has to retransmit only the lost or erased PDUs, whereby transmission resources are saved. Thus, this scheme has the highest efficiency. The Selective Retransmission ARQ scheme is commonly used together with the so-called Sliding Window method. According to this method the transmitter is allowed to transmit or retransmit only those PDUs having sequence numbers within a specified transmit window. The transmit window starts at the first PDU which has not been acknowledged and spreads over K PDUs, wherein K denotes the size of the window. The receiver has a corresponding receive window and accepts only those PDUs having sequence numbers within the receive window. The receive window starts at the first PDU which has not been received and spreads over K PDUs. It can be shown that with a window size of K the transmitted PDUs can be uniquely identified for sequence numbers ranging from 0 to (2K - 1) . In the acknowledgment messages, the successfully received PDUs are specified. When the first unacknowledged PDU in the beginning of the transmit window is acknowledged the transmitter can move its transmit window forward until the next unacknowledged PDU is found. Thereby, the transmission is slid over new PDUs which can then be transmitted. However, in case a transmitter using the Selective Retransmission ARQ scheme with the Sliding Window method is able to transmit a considerable amount of PDUs within the transmit window during a round-trip delay of the transmission channel, i.e. a delay between the transmission of a PDU and the receipt of the corresponding acknowledgment message, the transmit window may be stalled during the transmission resulting in a reduced throughput. In such a case, all PDUs within the transmit window have been transmitted at least once and the transmitter has to wait until the transmit window can be slid further. The probability of a stalled transmit window rises with the rate of erased PDUs within all transmitted PDUs (Packet Erasure Rate, PER) . SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide an error control method and apparatus by means of which the transmission throughput can be increased in the Sliding Window method. This object is achieved by an error control method for a transmission channel, wherein a transmission of data units via the transmission channel is controlled in dependence on the sequence number of a preceding data unit not yet acknowledged, the error control method comprising the steps of: defining a transmit window based on the sequence number of the preceding data unit not yet acknowledged; allowing the transmission of a data unit only if the sequence number of the data unit lies within the transmit window; estimating a transmission quality of the transmission channel; and changing the transmission rate of acknowledgment messages in response to the estimated transmission quality of the transmission channel. Additionally, the above object is achieved by an error control apparatus for performing a control so as to allow a transmission of data units via a transmission channel in dependence on the sequence number of a preceding data unit not yet acknowledged, the error control apparatus comprising: detecting means for detecting a transmission quality of the transmission channel; and control means for changing the transmission rate of acknowledgment messages in response to the transmission quality detected by the detecting means. Accordingly, the retransmission protocol is made faster in poor channel conditions, whereas the amount of resources used for acknowledgment messages is lower for better channel conditions. Thereby, the retransmission delay and the amount of resources required for the acknowledgment messages are adapted to the channel conditions, to thereby optimize the ARQ scheme. The acknowledgment strategy for the Selective Retransmission ARQ scheme with the Sliding Window method can thus be adapted to different and possibly changing PER values and provides a good throughput without an excessive amount of transmitted acknowledgment messages. Acknowledgment messages are generated more frequently, when the PER is high, whereas the acknowledgment rate is reduced in cases of lower PER values. Thereby, transmission resources and processing power can be saved without reducing the throughput of the primary transmission. The transmission rate of the acknowledgment messages may be changed in response to a data unit erasure or loss detected at the receiving end of the transmission channel. In this case, the number of data units which have been successfully received may be counted, the count value may be increased by the predetermined value when a packet erasure or loss has been detected, and an acknowledgment message may be transmitted when the counter value exceeds a predetermined threshold value. Alternatively, instead of increasing the count value by the predetermined value, the predetermined threshold value may be decreased when a data unit erasure or loss has been detected. Thus, the receiver decides on the transmission timing of acknowledgments and is able to count the data units lost or erased during the transmission. Alternatively, the transmission rate of the acknowledgment messages may be changed in dependence on a retransmission of a negatively acknowledged data unit. In this case, the number of unacknowledged data units transmitted via the transmission channel may be counted, the counter value may be increased be a predetermined value when a negatively acknowledged data unit has been retransmitted, and a transmission of an acknowledgment message may be polled, when the counter value exceeds a predetermined threshold value. Alternatively, instead of increasing the count value by the predetermined value, the predetermined threshold value may be decreased when a negatively acknowledged data unit has been retransmitted. Thus, the transmitter commands or polls the receiver to send an acknowledgment message. This can be done for instance by setting a predefined polling bit provided or defined in the header of a transmitted data unit. In the transmitter side error control as well as the receiver side error control, a simple algorithm easy to implement is thus provided. Preferably, the predetermined value and/or the predetermined threshold value are adjusted based on a transmission rate of the data units, a size of the transmit window and/or a round-trip delay of the transmission channel. Thereby, the error control can be optimized with respect to the characteristics of the transmission channel. The detecting means may be arranged to detect a data unit erasure or loss at a receiving end of the transmission channel, or may be arranged to detect a negative acknowledgment message received at a transmission end of the transmission channel. In case of the receiver side control, counting means for counting the number of data units which have been received successfully, and comparing means for comparing the count value obtained from the counting means with the predetermined threshold value may be provided, wherein the control means may be arranged to increase the count value of the counting means by a predetermined value or to decrease the predetermined threshold value, when a data unit erasure or loss has been detected by the detecting means, and to initiate a transmission of an acknowledgment message when the comparing result of the comparing means indicates that the count value has exceeded the predetermined threshold value. In the transmitter side control, counting means for counting the number of unacknowledged data units transmitted via the transmission channel and comparing means for comparing the count value of the counting means with a predetermined threshold value may be provided, wherein the control means may be arranged to increase the count value by a predetermined value, or to decrease the predetermined threshold value, when a negatively acknowledged data unit is retransmitted, and to poll for a transmission of an acknowledgment message when the comparing result of the comparing means indicates that the count value has exceeded the predetermined threshold value. Preferably, the control means is arranged to adjust the predetermined value and/or the predetermined threshold value based on a transmission rate of the data units, a size of the transmit window and/or a round-trip delay of the transmission channel. BRIEF DESCRIPTION OF THE DRAWINGS In the following, the invention will be described in greater detail on the basis of a preferred embodiment with reference to the accompanying drawings, wherein Fig. 1 shows a basic block diagram of an error control apparatus according to the preferred embodiment arranged at the receiving side of the transmission channel, Fig. 2 shows a flow diagram of the receiver side error control according to the preferred embodiment of the present invention, Fig. 3 shows a basic block diagram of an error control apparatus according to the preferred embodiment arranged at the transmitting side of the transmission channel; and Fig. 4 shows a flow diagram of a transmitter side error control according to the preferred embodiment. DESCRIPTION OF THE PREFERRED EMBODIMENT The preferred embodiment of the present invention will now be described on the basis of an RLC (Radio Link Control) connection provided in a GPRS network. An RLC connection is comprised of two peer entities. Each RLC endpoint has a receiver which receives RLC data blocks. Each RLC endpoint also has a transmitter which transmits RLC data blocks. Each endpoint ' s receiver has a receive window. In an RLC acknowledged mode, the receive window is defined in such a manner that the difference between the sequence number of the oldest data packet, i.e. RLC data block, not received and the sequence number of the next data block expected to be received is less or equal than a predefined window size. All received data blocks which meet this criteria are valid within the receive window. Furthermore, each endpoint ' s transmitter has a transmit window. In the RLC acknowledged mode, the transmit window is defined such that the difference between the sequence number of the oldest data block not positively acknowledged and the sequence number of the next data block to be transmitted is less or equal to the predefined window size. All data blocks which meet this criteria are valid within the transmit window. In the present GPRS network, one connection endpoint may be a mobile station and the other endpoint may be a network element such as a PCU (Packet Control Unit). Each RLC endpoint transmitter has an associated acknowledge state array indicating the acknowledgment status of the previous RLC data blocks within the transmit window. The array is indexed relative to the oldest data block not positively acknowledged (unacknowledged data block) or relative to the starting sequence number. The sequence number of the next data block to be transmitted is updated based on the content of a received packet acknowledgment message. If a received packet acknowledgement message has indicated that some of the data blocks have to be retransmitted, then the RLC endpoint transmitter retransmits negatively acknowledged data blocks at first, starting from the oldest one, and then returns to the original transmission order. If the transmit window is stalled, then the RLC endpoint transmitter may retransmit the unacknowledged data blocks starting from the oldest one until the window can be slid further. In the uplink direction, a packet uplink acknowledgment message is sent by the GPRS network to the mobile station in order to indicate the status of the received RLC data blocks. This message may also update the timing advance and power control parameters. In the downlink direction, a packet downlink acknowledgment message is sent from the mobile station to the network to indicate the status of downlink RLC data blocks received and to report the channel quality of the downlink channel. Each RLC endpoint receiver has an associated sequence number of the oldest data block not received. This sequence number may be set to the value 0 at the beginning of each transmission in which the RLC endpoint is the receiver. The sequence number of the oldest data block not received is set to the sequence number of the next data block expected to be received, if all RLC data blocks within the receive window have been received properly. Each RLC endpoint receiver has an associated receive state array indicating the receive status of previous RLC data blocks within the receive window. The array is indexed relative to the sequence number of the next data block expected to be received. When an RLC data block having a sequence number within the receive window is received, the corresponding element of the receive state array is set to the value RECEIVED. When an element falls outside the active receive window, the corresponding element is set to the value INVALID. Thereby, the receive window is moved forward during the transmission. According to the preferred embodiment, a strategy for generating acknowledgment messages is implemented, wherein the rate of transmitting acknowledgment messages is changed on the basis of the transmission quality of the transmission channel, e.g. the RLC connection. In particular, acknowledgment messages are generated more frequently when the PER is high, and the acknowledgment rate is reduced when the PER is low. In the following two alternative examples for implementing the above strategy are described. According to the first example, a receiver side error control is performed, wherein the RLC endpoint receiver decides when an acknowledgment shall be send and is able to count the data blocks lost or erased during the transmission. This means that the receiver has to have knowledge of the data blocks to be received or has to be able to detect the data blocks which have been transmitted to it, even if the data blocks may have been corrupted during the transmission. Fig. 1 shows a block diagram of a receiver at an endpoint of an RLC connection. It is to be noted that only those blocks of the receiver which are essential to the present invention are shown in Fig. 1. According to Fig. 1, the receiver comprises a transceiver (TRX) 10 for receiving data blocks transmitted via the RLC connection and for transmitting acknowledgment messages generated by an acknowledgment message generator 16. The received data blocks are supplied to an error detector 11 arranged for detecting a lost or erased data block. This may be achieved on the basis of the sequence numbers of received data blocks, the reception timing of received data blocks, the receive state array, or the like. The received data blocks are then supplied to a decoder 12 for decoding the data blocks according to a (higher level) protocol used for supplying the data to a data sink. Furthermore, the receiver comprises a packet counter 14 which is initialized at the beginning of a transmission. An error control unit 13 controls the packet counter 14 so as to be incremented by one whenever an information indicating a successful receipt of a data block has been supplied from the error detector 11 to the error control unit 13. The control of the packet counter 14 may be performed by supplying count pulses or the like thereto. Whenever a lost or erased data block is detected by the error detector 11, a corresponding information is applied to the error control unit 13 which subsequently controls the packet counter 14 so as to be increased by (1 + W) , where W denotes a weighting parameter larger than 0. Furthermore, a comparator 15 is provided to which the count value of the packet counter 14 is supplied and which compares the count value with a predetermined threshold value T supplied from the error control unit 13. The comparison result is supplied to the error control unit 13. According to the above arrangement, an error processing unit 1 consisting of the blocks 11, 13, 14 and 15 is provided, which detects lost or erased data blocks and which controls the acknowledgment message generator 16 so as to generate an acknowledgment message when the count value of the packet counter 14 exceeds the predetermined threshold value T. To achieve this, the error control unit 13 is connected to the acknowledgment message generator 16 in order to supply a control signal for initiating the generation of an acknowledgment message. The parameters W and T may be adjusted separately for various systems based on their transmission rates, window sizes and round-trip delays. This may be performed by the error control unit 13 based on a corresponding external information or an initial programming of the error control unit 13. In the following, the error control operation according to the first example of the preferred embodiment will be described on the basis of a flow diagram shown in Fig. 2. At the beginning of a transmission, the packet counter 14 is initialized (S100), then the transmission is started in step S101. Thereafter, the error control unit 13 determines in step S102, whether the error detector 11 has indicated the successful receipt of a data block. If so, the error control unit 13 supplies a control signal to the packet counter 14 so as to increment the count value (S103) . If the error detector 11 has detected a lost or erased data block, i.e. the control unit 13 determines in step S102 that the data block has not been received successfully, it controls the packet counter 14 by a corresponding control signal so as to increase the count value by the value 1 + W. Thereafter, the error control unit 13 checks in step S105 whether the comparator 15 indicates that the threshold value T has been exceeded, or not. If so, the control unit 13 initiates the transmission of an acknowledgment message by the acknowledgment message generator 16 (S106) and resets the counter 14 (S107). If not the control flow proceeds to step S108, where it is checked whether the transmission end has been reached or not. If the transmission is not yet finished, the control flow returns to step S102 in order to check for the successful receipt of a new data block. Otherwise, the control procedure is terminated. According to a second example of the preferred embodiment, the error control may be performed at the transmitting end of the RLC connection, wherein the transmitter polls the receiver to send an acknowledgment message . Fig. 3 shows a basic block diagram of a transmitter at an endpoint of an RLC connection. It is to be noted that only those blocks of the transmitter, which are essential to the present invention are shown in Fig. 3. According to Fig. 3, the transmitter comprises a transceiver (TRX) 20 arranged to transmit data blocks supplied from an encoder 22 to the RLC connection, and to receive acknowledgment messages from a receiver arranged at the other end of the RLC connection. The encoder 22 is arranged to generate RLC data packets from supplied input data, e.g. PDUs of a higher transmission protocol. The received acknowledgment messages are supplied to an error detector 21 arranged for detecting negatively acknowledged data packets to be retransmitted. The detection may be performed on the basis of the status information included in the received acknowledgment message, the acknowledge state array, or the like. The error detector 21 supplies a corresponding detection information to an error control unit 23 arranged for controlling a packet counter 24 by supplying a corresponding control information, e.g. control pulses, based on the detection result. Furthermore, the error control unit 23 is connected to the encoder 22 in order to receive an information indicating the transmission of a new, i.e. unacknowledged, data packet. In particular, the error control unit 23 performs an error control in such a manner that the packet counter 24 is incremented by one whenever an unacknowledged new data packet is transmitted by the TRX 20. However, whenever the error detector 21 detects a negative acknowledgment message, and the negatively acknowledged data block is retransmitted, the error control unit 23 controls the packet counter 24 so as to increase the count value by (1 + W) . Additionally, a comparator 25 is provided to which the count value of the packet counter 24 is supplied and which compares the count value with a predetermined threshold value T supplied from the error control unit 23. The comparison result is supplied to the error control unit 23 which controls the encoder 22 so as to poll an acknowledgment message from the receiver at the other connection end, when the count value of the packet counter 24 exceeds the given threshold value T. Furthermore, the error control unit 23 is arranged to reset the packet counter 24 after each polling operation. The polling may be performed by controlling the encoder 22 so as to set a predetermined polling bit defined in the header of a transmitted data block. Thus, an error processing unit 1 comprising the blocks 21, 23, 24 and 25 is provided, which changes the transmission rate of acknowledgment messages from the receiver at the other connection end by commanding or polling the receiver based on the received acknowledgment messages . As an alternative, the error detection function may be privided in a kind of scheduler which supplies the data blocks to the encoder 22 according to the above described selective transmission scheme. In this case, the scheduler knows whether the actual transmission is a retransmission of a negatively acknowledged data block or a transmission of a new unacknowledged data block. This information may be fed to the error control unit 23 whenever a data block is transmitted. In the following, the error control operation according to the second example is described on the basis of a flow diagram shown in Fig. 4. According to Fig. 4, the packet counter is initialized in step S200 at the beginning of a transmission. Then, the transmission is started in step S201. In step S202, the error control unit 23 checks whether a negatively acknowledged data packet is retransmitted, based on the information supplied from the error detector 21 and the encoder 22. If not, i.e. in case an unacknowledged data packet is transmitted, the packet counter 24 is incremented by one in step S203. Otherwise, in case of a retransmission of a negatively acknowledged data packet, the error control unit 23 controls the packet counter 24 so as to increase the count value by (1 + W) . Then, in step S205, the error control unit 23 checks whether the predetermined threshold T has been exceeded by the count value. If so, the error control unit 23 controls the encoder 22 so as to poll the receiver to send an acknowledgment message (S206) . Then, the error control unit 23 controls the packet counter 24 so as to reset its count value (S207) . If the threshold value T is not exceeded in step S205, the flow advances to step S208 where the transmission end is checked. If the transmission has not yet terminated, the flow returns to step S202 where the retransmission of a negatively acknowledged packet is checked again. Otherwise, the control procedure is terminated. Also in the second example, the parameters W and T may be adjusted separately or in combination by the error control unit 23 for various systems, based on their transmission rates, window sizes and/or round-trip delays. A corresponding system information may be externally supplied to or programmed into the error control unit 23. As an alternative to the above described error control performed in the first and the second example, the control units 13 and 23 may be arranged to decrease the predetermined threshold value T by a predetermined amount, whenever a lost or erased data packet is detected, or, respectively, whenever a negatively acknowledged data packet is retransmitted. In this case, the packet counters 14 or 24 not necessarily have to be increased by (1 + W) . Accordingly, the number of frames transmitted between successive acknowledgment messages is made dependent on the channel quality. When the channel quality is poor, the acknowledgment messages are transmitted more frequently, whereas the transmission rate of the acknowledgment messages is decreased when the channel quality is higher. It is to be noted that the error control functions performed by the respective blocks of the error processing unit 1 depicted in Figs. 1 and 3 may as well be implemented by corresponding software routines stored in a program memory and executed by respective mikroprocessors (CPUs) arranged in the transmitter and receiver. In summary, the invention relates to an error control method and apparatus for performing a control so as to allow a transmission of data units via a transmission channel independence on the sequence number of a preceding data unit not yet acknowledged, wherein the transmission rate of acknowledgment messages is changed in response to an estimated transmission quality of the transmission channel. Thereby, the retransmission protocol is made faster in poor channel conditions, whereas the amount of resources used for the acknowledgment message is lowered for better channel conditions. The error control may be performed at the transmitter side, wherein the transmitter commands or polls the receiver to send an acknowledgment message. The channel quality may be determined by detecting a retransmission of negatively acknowledged data unit. Alternatively, the error control can be performed at the receiver side, wherein the receiver decides when an acknowledgment shall be sent and is able to count the data units lost or erased during the transmission to thereby estimate or detect the channel quality. It should be understood that the above description and the accompanying figures are only intended to illustrate the present invention. Thus, the error control method and apparatus according to the present invention may also be used in other cellular or non-cellular data networks. Furthermore, the estimation of the channel or transmission quality may be performed on the basis of other parameters, such as an SIR (Signal Interference Rate) , an E^/Ng rate, or a corresponding information derived from the received data units. Moreover, the data unit may be any data packet, frame, cell, octett or part of data packet (e.g. TCP data unit) which can be acknowledged. The present invention may thus vary within the scope of the attached claims.

Claims: Claims 1. An error control method for a transmission channel, wherein a transmission of data units via said transmission channel is controlled in dependence on the sequence number of a preceding data unit not yet acknowledged, said error control method comprising the steps of: a) defining a transmit window based on said sequence number of said unacknowledged preceding data unit, b) allowing the transmission of a data unit only if the sequence number of said data unit lies within said transmit window; c) estimating a transmission quality of said transmission channel; and d) changing the transmission rate of acknowledgment messages in response to said estimated transmission quality of said transmission channel. 2. A method according to claim 1, wherein said transmission rate of said acknowledgment messages is changed in response to a data unit erasure or loss detected at the receiving end of said transmission channel. 3. A method according to claim 2, further comprising the steps of counting the number of data units which have been successfully received; increasing the count value by a predetermined value when a data unit erasure or loss has been detected; and transmitting an acknowledgment message when said count value exceeds a predetermined threshold value. 4. A method according to claim 2, further comprising the steps of counting the number of data units which have been successfully received; transmitting said acknowledgment message when the count value exceeds a predetermined threshold value; and decreasing said predetermined threshold value when a data unit erasure or loss has been detected. 5. A method according to claim 1, wherein said transmission rate of said acknowledgment messages is changed in dependence on a retransmission of a negatively acknowledged data unit. 6. A method according to claim 5, further comprising the steps of counting the number of unacknowledged data units transmitted via said transmission channel; increasing the count value by a predetermined value when a negatively acknowledged data unit has been retransmitted; and polling for a transmission of an acknowledgment message when said count value exceeds a predetermined threshold value. 7. A method according to claim 5, further comprising the steps of counting the number of unacknowledged data units transmitted via said transmission channel; polling for a transmission of an acknowledgment message when the count value exceeds a predetermined threshold value; and decreasing said predetermined threshold value when a negatively acknowledged data unit has been retransmitted. 8. A method according to claim 3 or 6, wherein said predetermined value is adjusted on the basis of a transmission rate of said data units, a size of said transmit window and/or a round-trip delay of said transmission channel. 9. A method according to any one of claims 3 to 8, wherein said predetermined threshold value is adjusted on the basis of a transmission rate of said data units, a size of said transmit window and/or a round-trip delay of said transmission channel. 10. A method according to any one of the preceding claims, wherein said transmission channel is an RLC connection for transmitting RLC data blocks in an uplink or downlink direction of a GPRS network. 11. An error control apparatus for performing a control so as to allow a transmission of data units via a transmission channel in dependence on the sequence number of a preceding data unit not yet acknowledged, said error control apparatus comprising: a) detecting means (11; 21) for detecting a transmission quality of said transmission channel; and b) control means (13; 23) for changing the transmission rate of acknowledgment messages in response to the transmission quality detected by said detecting means. 12. An apparatus according to claim 11, wherein said detecting means (11) is arranged to detect a data unit erasure or loss at a receiving end of said transmission channel . 13. An apparatus according to claim 11, further comprising counting means (14) for counting the number of data units which have been received successfully, and comparing means (15) for comparing the count value obtained from said counting means (14) with a predetermined threshold value, wherein said control means (13) is arranged to increase the count value of said counting means (14) by a predetermined value when a data unit erasure or loss has been detected by said detecting means (11) and to initiate a transmission of an acknowledgment message when the comparing result of said comparing means (15) indicates that the count value has exceeded said predetermined threshold value. 14. An apparatus according to claim 12, further comprising counting means (14) for counting the number of data units which have been received successfully, and comparing means (15) for comparing the count value obtained from said counting means (14) with a predetermined threshold value, wherein said control means (13) is arranged to decrease said predetermined threshold value when a data unit erasure or loss has been detected by said detecting means (11) and to initiate a transmission of an acknowledgment message when the comparing result of said comparing means (15) indicates that the count value has exceeded said predetermined threshold value. 15. An apparatus according to claim 11, wherein said detecting means (21) is arranged to detect a negative acknowledgment message received at a transmission end of said transmission channel. 16. An apparatus according to claim 15, further comprising counting means (24) for counting the number of unacknowleged data units transmitted via said transmission channel; and comparing means (25) for comparing the count value of said counting means (24) with a predetermined threshold value, wherein said control means (23) is arranged to increase the count value by a predetermined value when a negatively acknowledged data unit is retransmitted, and to poll for a transmission of an acknowledgment message when the comparing result of said comparing means (25) indicates that the count value has exceeded said predetermined threshold value. 17. An apparatus according to claim 15, further comprising counting means (24) for counting the number of unacknowledged data units transmitted via said transmission channel; and comparing means (25) for comparing the count value of said counting means (24) with a predetermined threshold value, wherein said control means (23) is arranged to decrease said predetermined threshold value when a negative acknowledgment message has been detected by said detecting means (21) , and to poll for a transmission of an acknowledgment message when the comparing result of said comparing means (25) indicates that the count value has exceeded said predetermined threshold value. 18. A apparatus according to claim 13 or 16, wherein said control means (13; 23) is arranged to adjust said predetermined value based on a transmission rate of said data units, a size of said transmit window and/or a round- trip delay of said transmission channel. 19. An apparatus according to any one of claims 13 to 18, wherein said control means (13; 23) is arranged to adjust said predetermined threshold value based on a transmission rate of said data units, a size of said transmit window and/or a round trip delay of said transmission channel. 20. An apparatus according to claim 16 or 27, wherein said control means (23) is arranged to perform a control such that a polling bit is set in the header of a data unit to be transmitted. 21. An apparatus according to any one of claims 11 to 20, wherein said error control apparatus is arranged in a mobile station and/or a network element of a GPRS network.

Inventors: GROENBERG PETRI, RAJALA JUSSI, GROENBERG, PETRI, RAJALA, JUSSI
Applicants: GROENBERG PETRI, NOKIA NETWORKS OY, RAJALA JUSSI, GROENBERG, PETRI, RAJALA, JUSSI
Application year: 1999
Main classification: H04L1
IPC codes: H04L1, H04L12