FLEXIBLE RADIO LINK CONTROL PROTOCOL

Abstract: A flexible Radio Link Control (RLC) protocol for a mobile communication system is provided, whereby a plurality of different RLC functions are defined. These different RLC functions can be combined in a number of different ways to produce a complete and functional, but more flexible RLC protocol than the existing protocol. For example, a new set of rules are provided for determining how and/or when to poll for, or send, a status report (14) for Automatic Repeat Request (ARQ) purposes. As such, for a specific service configuration, one set of the rules can be used, and for a different service configuration, another set of the rules can be used. In this way, the rules can be conformed suitably to the type of service involved.

Description: FLEXIBLE RADIO LINK CONTROL PROTOCOL CROSS-REFERENCES TO RELATED APPLICATIONS This Application for Patent claims the benefit of priority from, and hereby incorporates by reference the entire disclosure of, co-pending U.S. Provisional Application for Patent Serial No. 60/128,663, filed April 9, 1999. BACKGROUND OF THE INVENTION Technical Field of the Invention The present invention relates in general to the telecommunications field and, in particular, to a flexible Radio Link Control (RLC) protocol for a mobile communications system. Description of Related Art When data is conveyed between nodes in a telecommunication network, certain algorithms are used to recover from the transmission of erroneous data and the loss of data on the transmission links between the nodes. An algorithm commonly used to recover from the transmission of erroneous data is referred to as an Automatic Repeat Request (ARQ) protocol. The existing ARQ protocols include two peer entities that communicate with each other over transmission links. Each such entity includes a receiver and a sender. The units of data conveyed between the peer entities are commonly referred to as Protocol Data Units (PDUs). The ARQ protocols include certain rules for sending and receiving PDUs, as well as rules for the structure of the PDUs. The receiver can inform the sender about which PDUs were correctly received (i.e., receiver acknowledges correctly-received PDUs) and/or which PDUs were incorrectly received. When the sender receives this information, it retransmits the "lost" PDUs. In other words, an ARQ protocol is a set of rules that allow the use of efficient retransmission mechanisms between a sending side and receiving side in a communication system. These rules specify, for example, how and in what form the PDUs are to be constructed so that the receiving side can interpret the conveyed PDUs correctly and respond to them accordingly. Three main types of information elements (PDUs) can be transferred between two ARQ peer entities: user data; error recovery control data; and common control data. These three types of PDUs can be found in all existing ARQ protocols. A user data PDU contains at least user data and a sequencenumber. An error recovery control data PDU contains various amounts of control information needed for error recovery, and control functions such as positive and negative acknowledgments. A common control data PDU contains common control data. Notably, PDUs that include user data and at least a sequence number are denoted herein as Data-PDUs (D-PDUs), and PDUs that include control data needed for error control/recovery are denoted herein as Status-PDUs (S-PDUs). In the known High Level Data Link Control (HDLC) protocol, which forms the basis for many existing ARQ protocols, the three types of PDUs are called, respectively, information frames (I-frames), supervisory frames (S-frames), and unnumbered frames (U-frames). The RLC protocol used in the existing General Packet Radio Service (GPRS) and the so-called 3rd Generation Cellular Communication System is an example of an HDLC-derived ARQ protocol. In most communication systems, user data information is conveyed in both directions between the peer entities. Acommon feature included in an ARQ protocol is that is possible to include error control information in user data PDUs. This capability is known' as "piggybacking". For example, an acknowledgment is included in all I-frames (i.e., D-PDUs) of HDLC-derived protocols. The acknowledgment informs the peer entity about the sequence number of the last (in- sequence) correctly received PDU. The 3rd Generation Partnership Project (3GPP™) has produced an RLC Protocol Specification for the Radio Access Network (RAN) in the so-called 3rd Generation Digital Cellular Telecommunications System. This system is also known as the Universal Mobile Telecommunication System (UMTS), the UMTS Terrestrial Radio Access (UTRA) system, and the International Mobile Telecommunications-2000 (IMT-2000) system. As such, in accordance with the RLC Protocol Specification for the 3 rd Generation System, the RLC sublayer provides three, different data transfer service modes (modes for services that the RLC layer provides to the higher layers): (1) transparent data transfer; (2) unacknowledged data transfer; and (3) acknowledged data transfer. The transparent data transfer service transmits higher layer PDUs to a peer entity without adding any protocol information to these PDUs. The unacknowledged data transfer service transmits higher layer PDUs to a peer entity, but without guaranteeing delivery to the peer entity involved. The acknowledged data transfer service provided by the RLC Protocol transmits higher layer PDUs to a peer entity with guaranteed delivery. If the RLC sublayer is unable to deliver such data correctly (e.g., error-free delivery), the RLC user at the transmitting side is so notified, and that data is retransmitted. As such, in accordance with the RLC protocol, the acknowledged data transfer mode provides error-free delivery (ensured by retransmission). In other words, the receiving RLC peer entity delivers only error-free SDUs to the higher layer. The acknowledged data transfer mode also provides unique delivery (the RLC sublayer delivers an SDU only once to the receiving upper layer), and in-sequenceand out- of-sequence delivery (the RLC sublayer delivers SDUs to the receiving higher layer entity either in the same order or in a different order than what the transmitting higher layer entity submits to the RLC sublayer). A significant problem with the existing RLC protocol is that only one protocol configuration is specified. Consequently, this protocol is not readily adaptable to the relatively large number of different service situations that can occur in existing and future multi-service systems. However, as described in detail below, the present invention successfully resolves this problem and other related problems. SUMMARY OF THE INVENTION In accordance with a preferred embodiment of the present invention, a flexible RLC protocol for a mobile communication system is provided, whereby a plurality of different RLC functions are defined. These different RLC functions can be combined in a number of different ways to produce a complete and functional, but more flexible RLC protocol than the existing protocol. For example, a new set of rules are provided for determining how and/or when to poll for, or send, a status report for ARQ purposes. As such, for a specific service configuration, one set of the rules can be used, and for a different service configuration, another set of the rules can be used. In this way, the rules can be conformed suitably to the type of service involved. For example, it may be preferable to use periodic polling for one type of service, and no polling for another type of service. The present invention's protocol allows flexible configuration on a per service basis. An important technical advantage of the present invention is that a flexible RLC protocol is provided, which can readily adapt to the multitude of different service situations that can occur in a multi-service communication system. BRIEF DESCRIPTION OF THE DRAWINGS A more complete understanding of the method and apparatus of the present invention may be had by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein: FIGURE 1 is a diagram that illustrates an acknowledged mode data transfer method for an RLC protocol, which can be used to implement the preferred embodiment of the present invention. DETAILED DESCRIPTION OF THE DRAWINGS The preferred embodiment of the present invention and its advantages are best understood by referring to FIGURE 1 of the drawings, like numerals being used for like and corresponding parts of the various drawings. Essentially, in accordance with a preferred embodiment of the present invention, a flexible RLC protocol for a mobile communication system is provided, whereby a plurality of different RLC functions are defined. These different RLC functions can be combined in a number of different ways to produce a complete and functional, but more flexible RLC protocol than the existing protocol. For example, a new set of rules are provided for determining how and/or when to poll for, or send, a status report for ARQ purposes. As such, for a specific service configuration, one set of the rules can be used, and for a different service configuration, another set of the rules can be used. In this way, the rules can be conformed suitably to the type of service involved. Forexample, it may be preferable to use periodic polling for one type of service, and no polling for another type of service. The present invention's protocol allows flexible configuration on a per service basis. Specifically, FIGURE 1 is a diagram that illustrates an acknowledged mode data transfer method, which can be used to implement the preferred embodiment of the present invention. Although an acknowledged mode data transfer method is shown, the present invention is not intended to be so limited and can include other data transfer methods or other data retransmission protocols. As shown, the acknowledged mode data transfer method can be used for transferring data between two peer entities which are operating in the acknowledged mode. In accordance with the existing RLC protocol, this method can be initiated by either the User Equipment (UE) or the UTRA Network (UTRAN). As such, the sender in the UE or UTRAN sends one or more Acknowledged Mode Data PDUs (AMD PDUs) to the receiver in the UTRAN or UE. AnAMD PDU is used to convey sequentially- numbered PUs containing RLC SDU data. The AMD PDU is used by the RLC when it is operating in the acknowledged mode. An AMD PDU includes a segment of one or more SDUs, a D/C field (indicating a D-PDU), a sequence number, a polling bit, a header extension bit, and one or more length indicator fields. For this exemplary embodiment, the RLC functions are divided into two groups: transmitting (sending) side functions; and receiving side functions. All such functions can be implemented by the UE (e.g., mobile station) or the UTRAN. A transmitting or receiving RLC function can be mandatory or optional to use for each acknowledged mode entity. If such a function is mandatory, then no explicit signalling (e.g., from the Radio Resource Control (RRC)) is needed to initiate that function. Referring to the RLC transmitting functions, if a polling mechanism is applied on the transmitting entity side, the following Table (1) illustrates the functions that control when a transmitter can poll a peer entity for astatus report. As such, an S-PDU transfer method is used for transferring status information between two RLC peer entities which are operating in the acknowledged mode. The method can be initiated b either the UE or UTRAN. Table 1 illustrates the functions that can trigger when a transmitter polls the receiver for a status report. One such trigger event is when the last PDU in the transmission buffer is transmitted. As shown in Table 1 for this embodiment, the transmission of the last PDU in the transmitter buffer function is mandatory for the transmit side when polling has been applied. Another function that can trigger when a transmitter polls the receiver for a status report is by use of a polltimer. The poll timer starts timing when a poll is transmitted to the peer entity. If no status report is received by the transmitting entity before the poll timer has expired, the transmitter sends a new poll to the receiver. The value of the timer is determined by a signal from the RRC. For this embodiment, the poll timer function is mandatory for the transmitting side if polling has been applied. The transmitting side can also poll the peer entity for a status report every X PDU. The value of X is determined by a signal from the RRC. For this embodiment, this function is optional for the transmitting side. Similarly, the transmitting side can poll the peer entity for a status report every X SDU. Again, the value of X is determined by a signal from the RRC, and this function is optional for the transmitting side. The transmitting side can also poll the peer entity for a status report when the transmitter has reached X% of the transmission window. The value of X is determined by asignal from the RRC, and this function is optional for the transmitting side. Another function that can trigger when a transmitter polls the receiver for a status report can be based on the use of a timer. In other words, the transmitting side polls the peer entity periodically for a status report. The value (duration) of the time period is determined by a signal from the RRC. This function is optional for the transmitting side. A T prohlbιt function can be used to control how often the transmitting side is allowed to poll the peer entity. The T prohιbιt timer is started when a poll is transmitted to the peer entity. As such, the transmitting entity is not allowed to poll the peer entity while the T pr0hιbιt timer is running. The value (duration) of the timer is determined by a signal from the RRC. This function is optional for the transmitting side. Table 2 illustrates a list of functions that can control how an entity can react to a received status report, in accordance with the preferred embodiment of the presentinvention. A function that controls the transmitting side's reaction to a status report is the adjustment or updating of the transmission window according to the information received in the status report. This function is mandatory for the transmittin side. Another function that controls the transmitting side's reaction to the receipt of a status report is the transmitting side's retransmission of the AM PDUs that have been requested by the status report. If a plausibility check function has not been applied, then the requested AM PDUs are retransmitted immediately and with a higher priority than that of the newer AM PDUs. This function is mandatory for the transmitting side. The above-mentioned plausibility check is another function that can be used to control the reaction of the transmitting side in response to the receipt of a status check. Essentially, a plausibility check determines whether the contents of a status report are reasonable or not. This function can prohibit or delay the retransmissions requested in the status report. For example, the status report can contain negative acknowledgments for PDUs which may not have arrived at the receiver before the status report was transmitted. As such, the transmitter should not retransmit these PDUs. This function is optional for the transmitting side. In accordance with the preferred embodiment, the RLC functions for the receiving side are now described. Essentially, the receiving side sends a status report to the transmitting entity if the receiving side receives a poll. The status report is transmitted to the transmitting side immediately, except if the Estimated PDU Counter (EPC) is running. The EPC is a counter that is decremented eachtransmission time interval with the estimated number of PUs that should have been transmitted during that interval. If a receiver detects missing PDUs, the receiver sends an S-PDU to the transmitter and sets the EPC equal to the number of requested PUs. The EPC timer controls the maximum amount of time that the EPC has to wait before it starts counting down. When the EPC count reaches zero and not all requested PUs have been received correctly, a new S-PDU is transmitted and the EPC is reset accordingly. The EPC timer is then restarted. As such, in accordance with the preferred embodiment, if the EPC counter is used and running, the status report is transmitted to the transmitting side when the EPC counter has expired. This function is mandatory for the receiving side. Table 3 illustrates the functions that can control just when the receiving entity is to transmit a status report to the transmitting side, in accordance with the preferred embodiment of the present invention. One such control function at the receiving side is the receipt of a poll. Assuch, the receiving side sends a status report to the peer entity upon receipt of a poll. The status report is sent immediately to the transmitting side, except when the EPC counter is running. If the EPC counter is being used and running, the receiving side sends the status report after the EPC counter has expired. This function is mandatory for the receiving side. For this embodiment, the EPC counter is started when a status report is transmitted to the peer entity. If the EPC counter expires before all of the AM PDUs requested for retransmission have been received at the receiving side, then the transmitting side transmits a new status report to the peer entity. The EPC counter function is optional for the receiving side. Another function that controls just when the receiving side is to send a status report to the transmitting side is the detection of missing AM PDUs. If the receiving side detects missing AM PDUs, the receiving side transmits the status report immediately, except when the EPC counter is running. If the EPC counter is in use and has been running, the receiving side transmits the status report to the transmitting side after the EPC counter has expired. This function is optional for the receiving side. The receiving side can also send a status report to its peer entity every X SDU. The value of X is determined by a signal from the RRC. For this embodiment, this function is optional for the transmitting side. Similarly, the receiving side can send a status report to the peer entity every X PDU. Again, the value of X is determined by a signal from the RRC, and this function is optional for the receiving side. The receiving side can also send a status report to its peer entity when X% of the transmission window has beenreached. The value of X is determined by a signal from the RRC, and this function is optional for the receiving side. Another function that can control just when the receiving side sends a status report to its peer entity can be based on the use of a timer. In other words, the receiving side sends the status report periodically to the peer entity. The value (duration) of the time period is determined by a signal from the RRC. This function is optional for the receiving side. A T proh i b i t function can also be used to control how often the receiving side is allowed to send a status report to the peer entity. The T pr0hιbιt function is started when a status report is transmitted to the peer entity. As such, the receiving side is not allowed to send status reports to the peer entity while the T pr0h , bιt timer is running. The value of the timer is determined by a signal from the RRC. This function is optional for the receiving side. In accordance with the preferred embodiment, different combinations of the above-described RLC functions can be usedto satisfy retransmission requirements for an ARQ protocol in a more flexible manner than that achieved by the existing protocol. For example, in order to achieve the retransmission scheme set forth in the existing RLC Protocol in a more flexible manner, the following (e.g., acknowledged mode) settings can be signalled by the RRC: (1) Polling should be used; (2) Poll the peer entity every SDU (X=l); (3) T pr0 hι b ι t should be used on the transmitting side; and (4) A status report is transmitted immediately upon detection of one or more missing PDU(s). In addition, the following functions are provided implicitly because they are mandatory: (1) Poll when the last PDU in the transmitter buffer has been transmitted; (2) Poll timer should be used; (3) The transmitting side adjusts the transmission window in accordance with the received status reports; (4) The transmitting side retransmits AM PDUs in accordance with the received status reports; and (5) The receiving side replies immediately with a status report upon receiving a poll. Also in accordance with the preferred embodiment, the following is another example that illustrates how the above-described RLC functions can be used to satisfy retransmission requirements for an ARQ protocol in a more flexible manner than that achieved by the existing protocol. In order to achieve the retransmission scheme using the EPC counter mechanism in a more flexible manner, the following (e.g., acknowledged mode) settings can be signalled by the RRC: (1) Polling should be used; (2) Poll when the transmitting side has reached X% of the transmission window; (3) The receiving side should use the EPC counter mechanism; and (4) The status report is transmitted immediately upon detection of missing PDU(s), except when the EPC counter is running. In addition, the following functions are provided implicitly because they are mandatory: (1) Poll when the last PDU in the transmitter buffer has been transmitted; (2) Poll timer should be used; (3) The transmitting side adjusts the transmission window in accordance with the received status reports; (4) Thetransmitting side retransmits AM PDUs in accordance with the received status reports; and (5) The receiving side replies immediately with a status report upon receiving a poll, except when the EPC counter is running. Although a preferred embodiment of the method and apparatus of the present invention has been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it will be understood that the invention is not limited to the embodiment disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.

Claims: WHAT IS CLAIMED IS: 1. A method for enabling error-free delivery of data between a plurality of peer entities, comprising the steps of: a transmitting peer entity sending a polling request to a receiving peer entity, said polling request requesting a status report; and responsive to said polling request, said receiving peer entity sending said status report to said transmitting peer entity. 2. The method of Claim 1, wherein said transmitting peer entity sends said polling request when a last PDU in a transmission buffer is transmitted. 3. The method of Claim 1, wherein said transmitting peer entity sends said polling request when a status report has not been received by said transmitting peer entity and a polling timer has timed out. 4. The method of Claim 1, wherein said transmitting peer entity sends said polling request when said transmitting peer entity has transmitted a predefined number of PDUs. 5. The method of Claim 1, wherein said transmitting peer entity sends said polling request when said transmitting peer entity has transmitted a predefined number of SDUs. 6. The method of Claim 1 , wherein said transmitting peer entity sends said polling request when said transmitting peer entity has transmitted during a predefined portion of a transmitting window. 7. The method of Claim 1, wherein said transmitting peer entity sends said polling request when said transmitting peer entity has transmitted during a predefined period of time. 8. The method of Claim 1, wherein said transmitting peer entity defers sending said polling request for a predefined period of time. 9. The method of Claim 1, wherein said transmitting peer entity adjusts a transmission window parameter responsive to receiving said status report. 10. The method of Claim 1, wherein said transmitting peer entity retransmits at least one PDU responsive to receiving said status report. 11. The method of Claim 1, wherein said transmitting peer entity retransmits at least one PDU responsive to receiving said status report, if said status report is plausible. 12. The method of Claim 1, wherein said receiving peer entity transmits said status report to said transmitting peer entity if an estimated PDU counter is not counting, said receiving peer entity not sending said status report to said transmitting peer entity if said estimated PDU counter is counting. 13. The method of Claim 1, wherein said receiving peer entity transmits said status report to said transmitting peer entity if said receiving peer entity detects at least one missing or incorrectly received PDU. 14. The method of Claim 1, wherein said receiving peer entity transmits said status report to said transmitting peer entity when a predefined number of PDUs is received. 15. The method of Claim 1, wherein said receiving peer entity transmits said status report to said transmitting peer entity when a predefined number of SDUs is received. 16. The method of Claim 1, wherein said receiving peer entity transmits said status report to said transmitting peer entity responsive to receipt of a poll. 17. The method of Claim 1, wherein said receiving peer entity transmits said status report to said transmitting peer entity when the transmitting peer entity has transmitted during a predefined portion of a transmitting window. 18. The method of Claim 1, wherein said receiving peer entity sends said status report during a predefined period of time. 19. The method of Claim 1, wherein said receiving peer entity defers sending said status report for a predefined period of time. 20. A system for enabling error-free delivery of data between a plurality of peer entities, comprising: a transmitting peer entity; a receiving peer entity; and a communication link between said transmitting peer entity and said receiving peer entity for communicating data therebetween, said transmitting peer entity including means for sending a polling request to said receiving peer entity, said polling request requesting a status report; and said receiving peer entity including means for sending said status report to said transmitting peer entity responsive to said polling request. 21. The system of Claim 20, wherein said transmitting peer entity sends said polling request when a last PDU in a transmission buffer is transmitted. 22. The system of Claim 20, wherein said transmitting peer entity sends said polling request when a status report has not been received by said transmitting peer entity and a polling timer has timed out. 23. The system of Claim 20, wherein said transmitting peer entity sends said polling request when said transmitting peer entity has transmitted a predefined number of PDUs. 24. The system of Claim 20, wherein said transmitting peer entity sends said polling request when said transmitting peer entity has transmitted a predefined number of SDUs. 25. The system of Claim 20, wherein said transmitting peer entity sends said polling request when said transmitting peer entity has transmitted during a predefined portion of a transmitting window. 26. The system of Claim 20, wherein said transmitting peer entity sends said polling request when said transmitting peer entity has transmitted during a predefined period of time. 27. The system of Claim 20, wherein said transmitting peer entity defers sending said polling request for a predefined period of time. 28. The system of Claim 20, wherein said transmitting peer entity adjusts a transmission window parameter responsive to receiving said status report. 29. The system of Claim 20, wherein said transmitting peer entity retransmits at least one PDU responsive to receiving said status report. 30. The system of Claim 20, wherein said transmitting peer entity retransmits at least one PDU responsive to receiving said status report, if said status report is plausible. 31. The system of Claim 20, wherein said receiving peer entity transmits said status report to said transmitting peer entity if an estimated PDU counter is not counting, said receiving peer entity not sending said status report to said transmitting peer entity if said estimated PDU counter is counting. 32. The system of Claim 20, wherein said receiving peer entity transmits said status report to said transmitting peer entity if said receiving peer entity detects at least one missing or incorrectly received PDU. 33. The system of Claim 20, wherein said receiving peer entity transmits said status report to said transmitting peer entity when a predefined number of PDUs is received. 34. The system of Claim 20, wherein said receiving peer entity transmits said status report to said transmitting peer entity when a predefined number of SDUs is received. 35. The system of Claim 20, wherein said receiving peer entity transmits said status report to said transmitting peer entity when the transmitting peer entity has transmitted during a predefined portion of a transmitting window. 36. The system of Claim 20, wherein said receiving peer entity sends said status report during a predefined period of time. 37. The system of Claim 20, wherein said receiving peer entity defers sending said status report for a predefined period of time.

Inventors: BEMING PER, JOHANSSON MATHIAS, KALDEN ROGER, MEYER MICHAEL, RATHONYI BELA, ROOBOL CHRISTIAAN, SACHS JOACHIM, BEMING, PER, JOHANSSON, MATHIAS, KALDEN, ROGER, MEYER, MICHAEL, RATHONYI, BELA, ROOBOL, CHRISTIAAN, SACHS, JOACHIM
Applicants: ERICSSON TELEFON AB L M, TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Application year: 2000
Main classification: H04L1
IPC codes: H04B1, H04L1, H04L12, H04L29, H04Q7