KR100486033B1 - Applicable pdu range test and calculation for window-based polling - Google Patents
Applicable pdu range test and calculation for window-based polling Download PDFInfo
- Publication number
- KR100486033B1 KR100486033B1 KR10-2002-0075932A KR20020075932A KR100486033B1 KR 100486033 B1 KR100486033 B1 KR 100486033B1 KR 20020075932 A KR20020075932 A KR 20020075932A KR 100486033 B1 KR100486033 B1 KR 100486033B1
- Authority
- KR
- South Korea
- Prior art keywords
- polling
- pdu
- value
- layer
- sequence number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1685—Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
전송기는 프로토콜 데이터 유닛들(protocol data units : PDUs)을 전송할 수 있다. 각각의 PDU는 n-비트 시퀀스 넘버(n-bit sequence number)를 갖는다. n-비트 시퀀스 넘버인 파라미터 S에 따라 폴링(polling)이 수행되어야 하는지를 결정하는 폴링 결정 방법(polling decision method)이 제공된다. 만일 다음에 전송되어야 할 PDU가 재전송 PDU(re-transmitted PDU)가 아니고 상기 폴링 결정 방법이 상기 PDU의 시퀀스 넘버에 따라 폴링이 트리거링(triggering)되어야 한다는 것을 가리킨다면, 폴링은 트리거링된다. 상기 폴링 결정 방법은 폴링이 트리거링되어야 하는지를 결정하기 위해 다음 방정식을 사용한다. 여기에서 S는 다음에 나가는 PDU의 시퀀스 넘버이다. : t = ((2n + 1 + S- VT(A)) mod 2n)/VT(WS)The transmitter may send protocol data units (PDUs). Each PDU has an n-bit sequence number. A polling decision method is provided for determining whether polling should be performed according to parameter S, which is an n-bit sequence number. If the PDU to be transmitted next is not a re-transmitted PDU and the polling determination method indicates that polling should be triggered according to the sequence number of the PDU, polling is triggered. The polling determination method uses the following equation to determine if polling should be triggered. Where S is the sequence number of the next PDU. t = ((2 n + 1 + S- VT (A)) mod 2 n ) / VT (WS)
Description
본 발명은 무선 통신 프로토콜에 관한 것이다. 더 구체적으로는, 본 발명은 전송기가 수신기의 수신 상태(receiving status)를 요구하는 폴링 동작을 올바르게 트리거링(triggering)하는 방법 및 시스템을 공개한다.The present invention relates to a wireless communication protocol. More specifically, the present invention discloses a method and system in which a transmitter correctly triggers a polling operation requiring a receiving status of a receiver.
많은 통신 프로토콜들은 전형적으로 통신에 3-계층 접근 방법(3-layered approach)을 이용한다. 도1을 참조하라. 도1은 상기 통신 프로토콜에서의 3 계층들의 블록 다이아그램이다. 통상의 무선 환경에서, 제1 스테이션 10은 하나 또는 그이상의 제2 스테이션들 20과 무선 통신한다. 상기 제1 스테이션 10상의 애플리케이션 13은 메시지 11을 작성하고 상기 메시지 11 을 계층 3 인터페이스 12에 전달함으로써 그것을 상기 제2 스테이션 20으로 전달되도록 한다. 상기 계층 3 인터페이스 12 는 상기 제1 스테이션 10 및 상기 제2 스테이션 20 사이의 계층 3 동작들을 제어할 목적으로 계층 3 시그널링 메시지들(signaling messages)을 또한 발생시킬 수 있다. 상기 계층 3 시그널링 메시지의 예는 키 변화들(key changes)을 암호화(ciphering)하기 위한 요구이고, 키 변화들은 상기 제1 스테이션 10 및 제2 스테이션 20 둘 모두의 각각의 계층 3 인터페이스들 12 및 22에 의해 발생된다. 상기 계층 3 인터페이스 12는 계층 2 서비스 데이터 유닛들 SDUs 14의 형태로 메시지 11 또는 계층 3 시그널링 메시지 12a 중 어느 하나를 계층 2 인터페이스 16으로 전달한다. 계층 2 SDUs 14는 어떤 길이이든 될 수 있다. 계층 2 인터페이스 16은 상기 SDUs 14를 하나 또는 그이상의 계층 2 프로토콜 데이터 유닛들(PDUs) 18로 작성한다. 각각의 계층 2 PDU 18은 고정된 길이이고, 계층 1 인터페이스 19로 전달된다. 상기 계층 1 인터페이스 19는 물리적 계층이고, 데이터를 상기 제2 스테이션 20으로 전송한다. 상기 전송된 데이터는 상기 제2 스테이션 20의 계층 1 인터페이스 29에 의해 수신되고 하나 또는 그이상의 PDUs 28로 재구성되어, 상기 계층 2 인터페이스 26까지 전달된다. 상기 계층 2 인터페이스 26은 상기 PDUs 28을 수신하고 그들로부터 하나 또는 그이상의 계층 2 SDUs 24를 어셈블링(assembling)한다. 상기 계층 2 SDUs 24는 상기 계층 3 인터페이스 22까지 전달된다. 그리고 이번에는 반대로, 상기 계층 3 인터페이스 22는 상기 계층 2 SDUs 24를 상기 제1 스테이션 10 상에서 상기 애플리케이션 13에 의해 발생된 오리지날 메시지 11과 동일해야 하는 메시지 21 또는 상기 계층 3 인터페이스 12에 의해 발생된 오리지날 시그널링 메시지 12a와 동일해야 하고 상기 계층 3 인터페이스 22에 의해 처리되는 계층 3 신호 메시지 22a 중 둘 중의 하나로 변환시킨다. 상기 수신된 메시지 21은 상기 제2 스테이션 20 상의 애플리케이션 23으로 전달된다.Many communication protocols typically use a three-layered approach to communication. See FIG. 1. 1 is a block diagram of three layers in the communication protocol. In a typical wireless environment, first station 10 is in wireless communication with one or more second stations 20. Application 13 on the first station 10 composes message 11 and forwards the message 11 to layer 3 interface 12 for delivery to the second station 20. The layer 3 interface 12 may also generate layer 3 signaling messages for the purpose of controlling layer 3 operations between the first station 10 and the second station 20. An example of the layer 3 signaling message is a request to cipher key changes, the key changes being the respective layer 3 interfaces 12 and 22 of both the first station 10 and the second station 20. Is caused by. The layer 3 interface 12 delivers either message 11 or layer 3 signaling message 12a to layer 2 interface 16 in the form of layer 2 service data units SDUs 14. Layer 2 SDUs 14 can be any length. Layer 2 interface 16 creates the SDUs 14 into one or more Layer 2 protocol data units (PDUs) 18. Each Layer 2 PDU 18 is of fixed length and conveyed to Layer 1 interface 19. The layer 1 interface 19 is a physical layer and transmits data to the second station 20. The transmitted data is received by layer 1 interface 29 of the second station 20 and reconstructed into one or more PDUs 28 and forwarded to the layer 2 interface 26. The Layer 2 interface 26 receives the PDUs 28 and assembles one or more Layer 2 SDUs 24 from them. The layer 2 SDUs 24 are carried up to the layer 3 interface 22. And this time, on the contrary, the layer 3 interface 22 may cause the layer 2 SDUs 24 to be identical to the original message 11 generated by the application 13 on the first station 10 or the original message generated by the layer 3 interface 12. It must be identical to the signaling message 12a and converted to one of the two Layer 3 signaling messages 22a handled by the Layer 3 interface 22. The received message 21 is delivered to application 23 on the second station 20.
상기 계층 2 인터페이스가 특별한 관심이 되고, 상기 계층 2 인터페이스는 애플리케이션들의 상대적으로 하이-엔드(high-end) 데이터 전송 및 수신 요구들과 물리적 전송 및 수신 과정의 로우-레벨 요구들 사이에서 버퍼로서 동작한다. 이하에서, 용어 "PDU"는 계층 2 PDUs를 가리키도록 사용되고, 용어 "SDU"는 계층 2 SDUs를 가리키도록 사용된다. 도2를 참조하자. 도2는 계층 2 관점으로부터의 전송/수신 과정의 다이아그램이다. 기지국 또는 이동국 둘 중 어느 하나가 될 수 있는 전송기 30의 계층 2 인터페이스 32는 계층 3 인터페이스 33으로부터 SDUs 34의 스트링을 수신한다. SDUs 34는 1부터 5까지 순차적으로 정렬되고, 동일하지 않은 길이들이다. 상기 계층 2 인터페이스 32는 SDUs 34의 스트링을 PDUs 36의 스트링으로 변환시킨다. 상기 계층 2 PDUs 36은 순차적으로 1부터 4까지 정렬되고, 모두 동일한 길이이다. 그리고 나서 PDUs 36의 스트링은 전송을 위해 계층 1 인터페이스 31로 보내진다. 역과정이 수신기 엔드(receiver end) 40에서 일어난다. 상기 수신기는 계층 2 PDUs 46의 수신된 스트링을 계층 2 SDUs 44의 수신된 스트링으로 어셈블링하는 수신기 계층 2 인터페이스 42를 갖고 또한 기지국 또는 이동국 중 어느 하나가 될 수 있다. 특별한 운반 모드들(special transport modes) 하에서, 다중 계층 프로토콜은 수신기 계층 2 인터페이스 42가 SDUs 44를 계층 3 인터페이스 43으로 차례로 부여할 것을 주장한다. 즉, 계층 2 인터페이스 42는 상기 SDUs 44를 SDU 1으로 시작하고 SDU 5로 끝나는 SDUs 44의 순차적 순서로 계층 3 인터페이스 43에 부여해야 한다. SDUs 44의 순서는 혼동되어 뒤섞이지 않을 것이고, 후속하는 SDU도 모든 이전 SDUs가 전달될 때까지 계층 3으로 전달되지 않을 것이다. Of particular interest is the layer 2 interface, which acts as a buffer between the relatively high-end data transmission and reception requests of applications and the low-level requests of the physical transmission and reception process. do. In the following, the term "PDU" is used to refer to Layer 2 PDUs, and the term "SDU" is used to refer to Layer 2 SDUs. See FIG. 2. 2 is a diagram of a transmit / receive process from a layer 2 perspective. Layer 2 interface 32 of transmitter 30, which may be either a base station or a mobile station, receives a string of SDUs 34 from layer 3 interface 33. SDUs 34 are arranged sequentially from 1 to 5 and are of unequal lengths. The layer 2 interface 32 converts the string of SDUs 34 into the string of PDUs 36. The layer 2 PDUs 36 are sequentially arranged from 1 to 4, all of the same length. The string of PDUs 36 is then sent to Layer 1 interface 31 for transmission. The reverse process occurs at receiver end 40. The receiver has a receiver layer 2 interface 42 that assembles the received strings of layer 2 PDUs 46 into the received strings of layer 2 SDUs 44 and may also be either a base station or a mobile station. Under special transport modes, the multi-layer protocol asserts that receiver layer 2 interface 42 will in turn assign SDUs 44 to layer 3 interface 43. That is, the layer 2 interface 42 should assign the SDUs 44 to the layer 3 interface 43 in the sequential order of the SDUs 44 starting with SDU 1 and ending with SDU 5. The order of SDUs 44 will not be confused and mixed up, and subsequent SDUs will not be delivered to Layer 3 until all previous SDUs have been delivered.
라인 전송들에 있어서는, 상기 요구는 상대적으로 달성하기 쉽다. 그러나, 무선 전송들의 잡음 환경에 있어서는, 기지국 또는 이동국이 될 수 있는 수신기 40은 종종 데이터를 잃는다. 따라서 PDUs 46의 수신된 스트링에 있는 어떤 계층 2 PDUs는 잃어질 것이다. 그래서, 계층 2 SDUs 44가 차례로 부여되는 것을 보증하는 것은 중대한 도전에 직면한다. 무선 프로토콜들은 그러한 문제들에 힘을 쏟도록 조심스럽게 설계된다. 일반적으로 얘기해서, 데이터를 전송 및 수신하기 위한 2개의 넓은 모드들이 있다. : 즉, AM 운반(acknowledged mode transport) 및 UM 운반(unacknowledged mode transport)이다. AM 데이터에 대해, 수신기 40은 성공적으로 수신된 계층 2 PDUs 46을 가리키기 위해 특별한 계층 2 승인 신호(special layer 2 acknowlegement signal)를 전송기 30으로 보낸다. 어떤 그러한 시그널링도 UM 데이터에 대해서는 수행되지 않는다. 본 발명의 목적을 위해, 단지 AM 데이터가 고려된다. 도1을 참고하여 도3을 참조하라. 도3은 여기에서 참조로서 포함된 3GPPTM TS 25.322 명세서에 정의된 것과 같이 AM 데이터 PDU 50의 단순화된 블록 다이아그램이다. 일반적으로, 2개 타입의 PDUs가 있다. : 즉, 제어 PDU 또는 데이터 PDU이다. 제어 PDUs는 수신된 데이터를 승인하기 위해 사용되는 위에서 언급된 계층 2 승인 신호와 같이, 데이터 전송 및 수신 프로토콜들을 제어하기 위해 계층 2 인터페이스들 16 및 26에 의해 사용된다. 이것은 계층 3 인터페이스들 2 및 22 시그널링 메시지들 12a 및 22a의 교환과 다소 유사하다. 그러나, 계층 2 인터페이스들 16 및 26은 계층 3 시그널링 메시지들 12a 및 22a를 해석하거나 인식하지 않는다. 반면에, 계층 2 인터페이스들 16 및 26은 계층 2 제어 PDUs를 인식하고, 계층 2 제어 PDUs를 계층 3 인터페이스들 12 및 22까지 전달하지 않는다. 데이터 PDUs는 AM 데이터를 전송하기 위해 사용된다. AM 데이터는 재어셈블링되고 계층 3에 부여된다. 예시 PDU 50은 데이터 PDU이고, 계층 2 프로토콜에 의해 정의되다시피, 몇몇 필드들로 나누어진다.For line transmissions, this requirement is relatively easy to achieve. However, in the noisy environment of wireless transmissions, receiver 40, which may be a base station or a mobile station, often loses data. Thus any layer 2 PDUs in the received string of PDUs 46 will be lost. So, ensuring that Layer 2 SDUs 44 are in turn faced a significant challenge. Wireless protocols are carefully designed to focus on such issues. Generally speaking, there are two wide modes for sending and receiving data. Ie, AM transport (acknowledged mode transport) and UM transport (unacknowledged mode transport). For AM data, receiver 40 sends a special layer 2 acknowledgment signal to transmitter 30 to indicate successfully received layer 2 PDUs 46. No such signaling is performed for UM data. For the purposes of the present invention, only AM data is considered. See FIG. 3 with reference to FIG. 1. 3 is a simplified block diagram of AM data PDU 50 as defined in the 3GPP ™ TS 25.322 specification incorporated herein by reference. In general, there are two types of PDUs. That is, it is a control PDU or data PDU. Control PDUs are used by layer 2 interfaces 16 and 26 to control data transmission and reception protocols, such as the layer 2 grant signal mentioned above used to acknowledge received data. This is somewhat similar to the exchange of Layer 3 interfaces 2 and 22 signaling messages 12a and 22a. However, layer 2 interfaces 16 and 26 do not interpret or recognize layer 3 signaling messages 12a and 22a. On the other hand, layer 2 interfaces 16 and 26 recognize layer 2 control PDUs and do not carry layer 2 control PDUs up to layer 3 interfaces 12 and 22. Data PDUs are used to transmit AM data. AM data is reassembled and given to Layer 3. Example PDU 50 is a data PDU and is divided into several fields, as defined by the Layer 2 protocol.
제1 필드 51는 PDU 50가 데이터 또는 제어 PDU 중 어느 하나인 것을 가리키는 단일 비트이다. 데이터/제어 비트 51가 세트되는 때에(즉, 1과 같을 때), PDU 50는 AM 데이터 PDU로서 표시된다. 상기 제2 필드 52는 시퀀스 넘버 필드 52이고, 12 비트 길이이다. 연속적인 PDUs 18, 28은 후속적으로 더 높은 시퀀스 넘버들 52를 갖고, 이러한 방법으로 상기 제2 스테이션 20은 계층 2 SDUs 24를 형성하기 위해 계층 2 PDUs 28을 올바르게 재어셈블링할 수 있다. 예를 들어, 만일 제1 PDU 18이 536과 같은 시퀀스 넘버 52를 가지고 전송된다면, 후속적으로 다음 PDU 18는 537과 같은 시퀀스 넘버 52를 가지고 전송될 것이고, 계속 그런 식일 것이다. 그들 각각의 시퀀스 넘버들 52에 따라 그들의 올바른 후속적 순서로 수신된 데이터 PDUs 50을 어셈블링함으로써, SDU 데이터의 올바른 재구성이 보증된다. 시퀀스 넘버 52는 재전송된 PDUs 50이 다른 수신된 PDUs 50에 대해 그들의 올바른 후속적 포지션에 삽입되도록 할 수 있다. 이러한 방법으로, 데이터의 재전송이 지원된다. 단일 폴링 비트(single polling bit) 53은 시퀀스 넘버 필드 52에 뒤따르고, 세트될 때는 수신기(즉, 제2 스테이션 20)가 제어 PDU의 일종인 승인 상태 PDU(acknowlegenemt status PDU)를 가지고 응답해야 한다는 것을 가리키고, 이것은 나중에 소개될 것이다. 제1 스테이션 10은 제2 스테이션 20이 승인 상태 제어 PDU를 보내도록 요구하기 위해 폴링 비트 53을 1로 세트한다. 비트 54는 유지되고 0으로 클리어(clear)된다. 다음 비트 55a는 확장 비트이고, 세트가 되는 때는 뒤따르는 길이 지시자(length indicator : LI)의 존재를 가리킨다. LI는 7 비트 길이 또는 15 비트 길이 중 어느 하나가 될 수 있고, 계층 2 PDU 50 내에서 계층 2 SDU의 엔딩 포지션을 가리키도록 사용된다. 만일 단일 SDU가 PDU 50 의 데이터 영역 58을 완전히 채운다면, 비트 55a는 0이 될 것이고, 그럼으로써 어떤 LI도 존재하지 않는 것을 가리키게 된다. 그러나, 예시 PDU 50에서 상기 계층 2 PDU 50에서 끝나는 2개의 계층 2 SDUs가 있다. : 즉, SDU_1 57a 및 SDU_2 57b이다. 따라서, SDU_1 57a 및 SDU_2 57b의 각각의 끝들을 가리키는 2개의 LIs가 있어야 한다. 상기 PDU 50을 뒤따르는 PDU(즉, 후속적으로 나중에, 시퀀스 넘버 52에 의해 지시되다시피)는 SDU_3 57c에 대한 LI를 보유할 것이다. 제1 LI, LI1은 확장 비트 필드 55a를 뒤따르는 필드 56a에 있고, SDU_1 57a의 끝을 표시한다. LI1 56a는 필드 56b에 있는 또 다른 LI, LI2의 존재를 가리키는 세트된 확장 비트 55b를 갖는다. LI2 56b는 SDU_2 57b의 엔딩 포지션을 가리킨다. 그리고 더 이상의 LIs가 없다는 것을 의미하는, 그래서 데이터 영역 58이 시작하고 있다는 것을 나타내는 클리어된 확장 비트 55c를 갖는다. 데이터 영역 58은 실제의 SDU 데이터를 보유하기 위해 사용된다.The first field 51 is a single bit indicating that the PDU 50 is either a data or control PDU. When data / control bit 51 is set (ie equal to 1), PDU 50 is indicated as an AM data PDU. The second field 52 is a sequence number field 52 and is 12 bits long. Consecutive PDUs 18, 28 subsequently have higher sequence numbers 52, and in this way the second station 20 can correctly reassemble Layer 2 PDUs 28 to form Layer 2 SDUs 24. For example, if the first PDU 18 is sent with a sequence number 52 such as 536, then the next PDU 18 will be sent with a sequence number 52 such as 537, and so on. By assembling the received data PDUs 50 in their correct subsequent order according to their respective sequence numbers 52, correct reconstruction of the SDU data is ensured. Sequence number 52 may allow retransmitted PDUs 50 to be inserted into their correct subsequent positions relative to other received PDUs 50. In this way, retransmission of data is supported. The single polling bit 53 follows the sequence number field 52, and when set, indicates that the receiver (i.e., the second station 20) must respond with an acknowledgment status PDU, which is a kind of control PDU. Pointing, this will be introduced later. The first station 10 sets the polling bit 53 to 1 to request the second station 20 to send an admission status control PDU. Bit 54 is retained and cleared to zero. The next bit 55a is an extension bit and, when set, indicates the presence of the following length indicator (LI). LI can be either 7 bits long or 15 bits long and is used to indicate the ending position of a layer 2 SDU within a layer 2 PDU 50. If a single SDU fills data area 58 of PDU 50 completely, bit 55a will be zero, thereby indicating that no LI exists. However, in the example PDU 50 there are two Layer 2 SDUs ending at the Layer 2 PDU 50. That is, SDU_1 57a and SDU_2 57b. Therefore, there should be two LIs pointing to the respective ends of SDU_1 57a and SDU_2 57b. The PDU following the PDU 50 (ie subsequently as indicated later by sequence number 52) will retain the LI for SDU_3 57c. The first LI and LI1 are in the field 56a following the extended bit field 55a and indicate the end of SDU_1 57a. LI1 56a has a set extension bit 55b indicating the presence of another LI, LI2 in field 56b. LI2 56b indicates the ending position of SDU_2 57b. And has a cleared extension bit 55c which means there are no more LIs, so that data area 58 is starting. Data area 58 is used to hold actual SDU data.
도3을 참고하여 도4를 참조하라. 도4는 무선 통신 시스템 60에 있는 수신기 64 및 전송기 65의 단순화된 블록 다이아그램이다. 수신기 64 및 전송기 65 둘 모두는 그 안에서 그들이 각각 PDUs 50을 수신하고 PDUs 50을 전송하기를 기대하는 윈도우들을 갖는다. 수신기 64는 2개의 상태 변수들(VR(R) 62 및 VR(MR) 63)에 의해 경계 지워진 수신 윈도우 61을 갖는다. VR(R) 62는 수신 윈도우 61의 시작을 표시하고, VR(MR) 63은 수신 윈도우 61의 끝을 표시한다. 수신기 64는 순차적으로 VR(R) 62 상 또는 후 및 순차적으로 VR(MR) 63 전에 있는 시퀀스 넘버들 52를 갖는 PDUs 50만을 받아들일 것이다. VR(MR) 63에 보유된 시퀀스 넘버 값은 수신 윈도우 61 내에 있는 것으로 고려되지 않는다. 유사하게, 전송기 65는 2개의 상태 변수들(VT(A) 67 및 VT(MS) 68)에 의해 경계 지워진 전송 윈도우 66을 갖는다. VT(A) 67은 전송 윈도우 66의 시작을 표시하고, VT(MS) 68은 전송 윈도우 66의 끝을 표시한다. 전송기 65는 전송 윈도우 66의 범위 내에 있는, 즉, 순차적으로 VT(A) 67 상 또는 후 및 순차적으로 VT(MS) 68 전에 있는 시퀀스 넘버들 52를 갖는 PDUs 50만을 전송할 것이다.See FIG. 4 with reference to FIG. 3. 4 is a simplified block diagram of receiver 64 and transmitter 65 in a wireless communication system 60. Both receiver 64 and transmitter 65 have windows within which they expect to receive PDUs 50 and transmit PDUs 50, respectively. Receiver 64 has a receive window 61 bounded by two state variables VR (R) 62 and VR (MR) 63. VR (R) 62 marks the start of the receive window 61 and VR (MR) 63 marks the end of the receive window 61. Receiver 64 will only accept PDUs 50 with sequence numbers 52 that are sequentially on or after VR (R) 62 and sequentially before VR (MR) 63. The sequence number value held in VR (MR) 63 is not considered to be within the receive window 61. Similarly, transmitter 65 has a transmission window 66 bounded by two state variables VT (A) 67 and VT (MS) 68. VT (A) 67 marks the beginning of the transmission window 66 and VT (MS) 68 marks the end of the transmission window 66. Transmitter 65 will only transmit PDUs 50 with sequence numbers 52 that are within the range of transmission window 66, that is, sequentially or after VT (A) 67 and sequentially before VT (MS) 68.
수신 윈도우 61은 고정된 수신 윈도우 사이즈를 갖는다. 수신 윈도우 사이즈는 상태 변수들 VR(R) 62 및 VR(MR) 63에 의해 범위 지워진 단순히 시퀀스 넘버 값들의 수이다. 즉, VR(MR) 63은 언제나 VR(R) 62로부터 고정된 시퀀스 넘버 값 거리 만큼 떨어진 것으로 유지되고, 이것은 다음과 같이 수학적으로 표현된다. :Receive window 61 has a fixed receive window size. The receive window size is simply the number of sequence number values bounded by state variables VR (R) 62 and VR (MR) 63. In other words, VR (MR) 63 is always kept away from VR (R) 62 by a fixed sequence number value distance, which is expressed mathematically as follows. :
VR(MR) = VR(R) + 수신 윈도우 사이즈 (1)VR (MR) = VR (R) + Receive Window Size (1)
시퀀스 넘버 52는 12-비트 넘버이기 때문에, 식(1)은 참 12-비트 덧셈(true 12-bit addition)이고, 따라서 오버플로우(overflow) 상에서의 롤오버(rollover)를 겪을 수 있다. 결론적으로, VR(MR) 63이 언제나 VR(R) 62보다 숫적으로 더 큰 값을 포함하지는 않는다. 유사하게, 전송 윈도우 66은 상태 변수들 VT(A) 67 및 VT(MS) 68에 의해 범위 지워진 시퀀스 넘버 값들의 넘버를 가리키는 전송 윈도우 사이즈 상태 변수 VT(WS) 66a를 갖는다. 상태 변수 VT(WS) 66a는 계층 3에 의해 공급된 구성된 전송 윈도우 사이즈로 세트된 초기값을 갖는다. 위에서와 같이, 이것은 다음과 같이 수학적으로 표현된다. :Since sequence number 52 is a 12-bit number, equation (1) is a true 12-bit addition, and thus may experience a rollover on overflow. In conclusion, VR (MR) 63 does not always contain numerically larger values than VR (R) 62. Similarly, transmission window 66 has a transmission window size state variable VT (WS) 66a indicating the number of sequence number values delimited by state variables VT (A) 67 and VT (MS) 68. The state variable VT (WS) 66a has an initial value set to the configured transmission window size supplied by layer 3. As above, this is represented mathematically as: :
VT(MS) = VT(A) + VT(WS) (2)VT (MS) = VT (A) + VT (WS) (2)
그리고 다시, 식(2)로부터의 결과는 오버플로우에 의한 롤오버를 겪을 수 있다. 수신기 64는 명시적으로 전송기 65가 VT(WS) 66a의 값을 변화시키도록 요구할 수 있다. 그러나, 상기 요구된 VT(WS) 66a의 값은 원래 구성되었던 전송 윈도우 사이즈, 즉, 전송기의 계층 3에 의해 지시된 사이즈보다 더 클 수 없다. And again, the result from equation (2) may be subject to rollover by overflow. Receiver 64 may explicitly require transmitter 65 to change the value of VT (WS) 66a. However, the value of the required VT (WS) 66a cannot be larger than the transmission window size that was originally configured, i.e. the size indicated by layer 3 of the transmitter.
수신기 64는 전송기 65로부터 PDUs 50을 수신하기 때문에, 수신기 64는 모든 선행하는 PDUs 50이 성공적으로 수신되었던 순차적으로 가장 이른 시퀀스 넘버 52를 반영하기 위해 상태 변수 VR(R)의 값을 업데이트 할 것이다. 다른 식으로 얘기해서, VR(R) 62는 수신기 64가 수신하기를 기다리고 있는 순차적으로 가장 이른 PDU 50의 시퀀스 넘버 52를 언제나 보유한다. 상기 PDU 50의 성공적인 수신이 있자마자, 수신기 64는 상태 변수 VR(R) 62를 수신될 필요가 있는 다음 PDU 50의 시퀀스 넘버 값 52로 전진시키고, 상태 변수 VR(MR) 63은 그에 따라 식 (1)을 이용하여 업데이트된다. 이러한 방법으로, 수신 윈도우 61은 PDUs 50이 전송기 65로부터 스트리밍되어 들어옴에 따라 수신기 64에 의해 전진된다. 전송기 65는 명시적으로 수신기 64가 계층 2 시그널링 PDU를 가지고 수신 윈도우 61을 전진시키도록 요구할 수 있다는 것이 또한 인식되어야 한다. 그러나, 이것은 본 발명과 관련이 없다. Since receiver 64 receives PDUs 50 from transmitter 65, receiver 64 will update the value of state variable VR (R) to reflect the sequential earliest sequence number 52 in which all preceding PDUs 50 were successfully received. In other words, VR (R) 62 always retains the sequence number 52 of the earliest PDU 50 in sequence that receiver 64 is waiting to receive. As soon as there is a successful reception of the PDU 50, the receiver 64 advances the state variable VR (R) 62 to the sequence number value 52 of the next PDU 50 that needs to be received, and the state variable VR (MR) 63 accordingly becomes Is updated using 1). In this way, receive window 61 is advanced by receiver 64 as PDUs 50 are streamed from transmitter 65. It should also be appreciated that transmitter 65 may explicitly require receiver 64 to advance the receive window 61 with a layer 2 signaling PDU. However, this is not related to the present invention.
전송 윈도우 66은 전송기 65가 수신기 64로부터 계층 2 승인 상태 PDU를 수신할 때 전진된다. 계층 2 승인 상태 PDU는 상태 변수 VR(R) 62의 가장 최근의 값을 보유하고, 수신기 64에 의해 정기적 인터벌들로, 또는 전송기 65로부터의 명시적 요구에 응답하여 보내진다. 승인 상태 PDU는 잃어버린 것으로 알려지고(왜냐하면, 예를 들어, 순차적으로 이후의 PDUs는 이미 수신되었기 때문이다.), 결론적으로 재전송되어야 하는 수신 윈도우 61 내의 PDUs를 또한 가리킬 것이다. 그리고 나서 전송기 65는 승인 상태 PDU에 보유된 값과 동일한 상태 변수 VT(A) 67을 세트할 것이고, 이것은 효과적으로 VR(R) 62와 동일하게 VT(A) 67을 세트한다. 그에 따라 전송기 65는 식 (2)를 이용하여 상태 변수 VT(MS) 68을 업데이트한다. 이러한 방법으로, 전송 윈도우 66이 수신 윈도우 61 뒤에 단지 한 비트 지체되는(lag) 경향을 가지고, 전송 윈도우 66 및 수신 윈도우 61은 로크 스텝(lock step)으로 서로 앞으로 이동한다. Transmit window 66 is advanced when transmitter 65 receives a Layer 2 acknowledge status PDU from receiver 64. The Layer 2 grant status PDU holds the most recent value of state variable VR (R) 62 and is sent by receiver 64 at regular intervals or in response to an explicit request from transmitter 65. The acknowledgment status PDUs are known to be missing (because, for example, subsequent PDUs have already been received in sequence) and will eventually point to PDUs in the receive window 61 that must be retransmitted. Transmitter 65 will then set the state variable VT (A) 67 equal to the value held in the grant status PDU, which effectively sets VT (A) 67 equal to VR (R) 62. Transmitter 65 accordingly updates state variable VT (MS) 68 using equation (2). In this way, the transmit window 66 tends to lag just one bit behind the receive window 61, and the transmit window 66 and the receive window 61 move forward with each other in a lock step.
전송기 65는 부가적인 상태 변수 VT(S) 69를 갖는다. 전송기 65는 전송 윈도우 66 내에 놓여 있는 PDUs 50을 전송하기 시작한다. 전송기 65는 상태 변수 VT(A) 67에 의해 주어진 시퀀스 넘버 52를 갖는 PDU 50을 가지고 시작하고, 그것이 VT(MS) 68 바로 앞에 있는 시퀀스 넘버 52를 갖는 PDU 50에 이르기까지 순차적으로 전방으로 작업한다. 즉, 전송기 65는 PDUs 50을 순차적으로 전송하고, VT(A)에서 시작하고 VT(MS)-1에서 끝난다. 상태 변수 VT(S) 69는 전송될 다음 PDU 50의 시퀀스 넘버 52를 보유한다. 그래서, VT(A) 67 상 또는 순차적으로 VT(A) 67 후, 및 VT(S)-1 상 또는 순차적으로 VT(S)-1 전의 시퀀스 넘버들 52를 갖는 PDUs 50은 적어도 한번 전송되었고, 그들이 승인 상태 PDU를 통해 수신기 64에 의해 승인될 때까지 재전송 버퍼 66b에 저장된다. 만일 VT(A) 67과 동일한 시퀀스 넘버 52를 갖는 PDU 50이 승인된다면, VT(A) 67은 재전송 버퍼 66b 내의 다음 순차적으로 가장 이른 시퀀스 넘버 값으로 업데이트된다. VT(S) 69 상 또는 후의 시퀀스 넘버들을 갖는 PDUs 50은 전송기 65에 의해 아직 전송되지 않았다. Transmitter 65 has an additional state variable VT (S) 69. Transmitter 65 begins transmitting PDUs 50 that lie within transmission window 66. Transmitter 65 starts with PDU 50 with sequence number 52 given by state variable VT (A) 67 and works forward sequentially until it reaches PDU 50 with sequence number 52 immediately preceding VT (MS) 68. . That is, transmitter 65 transmits PDUs 50 sequentially, starting at VT (A) and ending at VT (MS) -1. The state variable VT (S) 69 holds the sequence number 52 of the next PDU 50 to be transmitted. Thus, PDUs 50 having sequence numbers 52 on VT (A) 67 or sequentially after VT (A) 67 and on VT (S) -1 or before VT (S) -1 have been transmitted at least once, They are stored in retransmission buffer 66b until they are approved by receiver 64 via the grant status PDU. If PDU 50 with the same sequence number 52 as VT (A) 67 is approved, then VT (A) 67 is updated with the next sequentially earliest sequence number value in retransmission buffer 66b. PDUs 50 with sequence numbers above or after VT (S) 69 have not yet been sent by transmitter 65.
전송 윈도우 66이 전진하는 것을 보증하기 위해, 전송기 65는 때때로 수신기 64가 승인 상태 PDU를 보내도록 요구해야 한다. 이것은 폴링(polling)이라 불리우며, 폴링 비트 53를 통해 구현된다. 전송기 65가 수신기를 폴링할 시간이라고 결정하면, 전송기 65는 1로 세트된 폴링 비트 53을 가지고 다음 나가는 PDU 50, 즉, 상태 변수 VT(S) 69에 의해 지시된 PDU 50, 또는 재전송 버퍼 66b에 있는 PDU 50을 보낼 것이다. 세트된 폴링 비트 53을 갖는 어떤 PDU 50을 수신하자마자, 수신기 64는 승인 상태 PDU를 보냄으로써 응답한다. 승인 상태 PDU는 상태 변수 VR(R) 62의 가장 최근의 값을 포함할 것이고, 전송기 65는 전송 윈도우 66을 전진시키기 위해 상태 변수 VT(A) 67에 대해 이를 순차적으로 사용할 것이다. 언제 수신기 64를 폴링할 것인지를 결정하기 위해 다양한 방법들이 전송기 65에 의해 사용될 수 있다. 예를 들어, 전송기 65는 타이머에 기초한 폴링을 사용할 수 있다. 타이머에 기초한 폴링에서 폴링은 규칙적인, 정기적인 인터벌들로 수행된다. 대안적으로, 전송기 65는 윈도우에 기초한 폴링을 사용할 수 있고, 윈도우에 기초한 폴링에서 전송 윈도우 66의 특정 퍼센트가 전송되는 경우 전송기 65는 수신기 64를 폴링한다. To ensure that transmission window 66 advances, transmitter 65 must sometimes require receiver 64 to send an acknowledgment status PDU. This is called polling and is implemented through polling bit 53. If transmitter 65 determines it is time to poll the receiver, transmitter 65 has the polling bit 53 set to 1 to the next outgoing PDU 50, i.e., PDU 50 indicated by status variable VT (S) 69, or retransmission buffer 66b. Will send the PDU 50. Upon receiving any PDU 50 with the set polling bit 53, receiver 64 responds by sending an acknowledgment status PDU. The acknowledge status PDU will contain the most recent value of state variable VR (R) 62 and transmitter 65 will use it sequentially for state variable VT (A) 67 to advance the transmission window 66. Various methods may be used by transmitter 65 to determine when to poll receiver 64. For example, transmitter 65 may use polling based on a timer. In timer based polling, polling is performed at regular, regular intervals. Alternatively, transmitter 65 may use window based polling, and transmitter 65 polls receiver 64 when a certain percentage of the transmission window 66 is transmitted in window based polling.
윈도우에 기초한 폴링에 대해, VT(S) 69를 이용하는 폴링 함수가 폴링 테스트 값 "t"를 얻기 위해 사용된다. :For window based polling, a polling function using VT (S) 69 is used to obtain the polling test value “t”. :
t = PollingFunction(VT(S)) (3)t = PollingFunction (VT (S)) (3)
폴링 값은 주어지고, 이것은 적어도 한번이라도 보내진 전송 윈도우 66의 단순한 퍼센트이다. 예를 들어, 폴링 값을 60 %로 세팅할 수 있는데, 이것은 만일 전송 윈도우 66의 60% 또는 그이상이 적어도 한번 보내졌다면 폴링이 수행되어야 한다는 것을 가리킨다. 만일 상기 식 (3)으로부터의 "t"가 폴링 값을 초과하면 폴링이 유발된다. "t" 때문에 폴링이 유발되면, 폴링 비트 53은 다음 나가는 PDU 50에 대해 세트된다. 폴링 비트 53은 그것이 세트되거나 클리어되거나 상관없이 아무튼 언제나 전송되기 때문에, 폴링 비트 53을 세트함으로써 폴링을 트리거링하는 것은 어떤 전파 자원들도 구속하지 않는다. 그러나, 승인 상태 PDU를 통해 폴링 비트 53에 응답하는 것은 전파 자원들을 구속한다. 그래서, 폴링 비트 53이 쉽게 변화하도록 세트되어서는 안된다. The polling value is given, which is a simple percentage of the transmission window 66 sent at least once. For example, you can set the polling value to 60%, which indicates that polling should be performed if 60% or more of the transmission window 66 has been sent at least once. If "t" from Eq. (3) exceeds the polling value, polling is triggered. If polling is triggered because of "t", polling bit 53 is set for the next outgoing PDU 50. Since polling bit 53 is always transmitted no matter whether it is set or cleared, triggering polling by setting polling bit 53 does not constrain any propagation resources. However, responding to polling bit 53 via the grant status PDU constrains propagation resources. So the polling bit 53 should not be set to change easily.
그러나, VT(S)가 VT(A) 67에 대해 충분히 전진된 값에 이르고 그래서 폴링이 트리거링된 후, VT(A) 67이 전진되지 않는 경우들에 대해서, 상태 변수들 VT(S) 69 및 VT(WS) 66a는 변화하지 않기 때문에 재전송 버퍼 66b에 있는 어떤 재전송된 PDU는 폴(poll)을 트리거링할 것이다. 이러한 종류의 폴링의 트리거링은 전파 자원들의 효율적인 이용의 저하로 이어질 수 있고(세트된 폴링 비트 53에 응답하여 후속하는 승인 상태 PDUs로), 따라서 바람직하지 않다. 부가적으로, 상태 변수 VT(S) 69의 업데이트의 정확한 타이밍은 다소 모호할 수 있다. 어떤 구현들에 대해서는, 관련된 PDU 50이 구성되는 경우에 VT(S) 69가 업데이트된다(즉, 증가된다.). 다른 구현들에 있어서는, VT(S) 69는 관련된 PDU 50이 전송되거나 계층 1 인터페이스로 보내질 때까지 업데이트되지 않는다. 이것은 적합성 테스팅(conformance testing)에 있어서의 어려움들로 이어질 수 있다.However, for cases where VT (S) reaches a sufficiently advanced value for VT (A) 67 and so after polling is triggered, VT (A) 67 is not advanced, state variables VT (S) 69 and Since VT (WS) 66a does not change, any retransmitted PDU in retransmission buffer 66b will trigger a poll. Triggering of this kind of polling can lead to a degradation of the efficient use of propagation resources (with subsequent grant status PDUs in response to the set polling bit 53) and is therefore undesirable. In addition, the exact timing of the update of the state variable VT (S) 69 may be somewhat ambiguous. For some implementations, the VT (S) 69 is updated (ie increased) when the associated PDU 50 is configured. In other implementations, VT (S) 69 is not updated until the associated PDU 50 is sent or sent to the layer 1 interface. This can lead to difficulties in conformance testing.
따라서, 불필요한 폴들을 회피하는 전송기에 대한 무선 통신 프로토콜에 있어서의 폴링 요구의 트리거링을 결정하기 위한 방법을 제공하는 것이 본 발명의 주된 목적이다. 그리고 이것은 모든 구현들을 통해서 일관성 있다.It is therefore a primary object of the present invention to provide a method for determining triggering of a polling request in a wireless communication protocol for a transmitter that avoids unnecessary polls. And this is consistent across all implementations.
간단히 요약해서, 본 발명의 바람직한 실시예는 전송기에 대한 무선 통신 프로토콜에 있어서의 폴링 요구의 트리거링을 결정하기 위한 방법을 공개한다. 전송기는 프로토콜 데이터 유닛들(PDUs)을 전송할 수 있다. 각각의 PDU는 n-비트 시퀀스 넘버를 갖는다. n-비트 시퀀스 넘버인 파라미터 S에 따라 폴링이 수행되어야 하는지를 결정하는 폴링 결정 방법이 제공된다. 만일 다음에 전송될 PDU가 재전송된 PDU가 아니고 폴링 결정 방법은 폴링이 PDU의 시퀀스 넘버에 따라 트리거링되어야 한다고 가리킨다면 폴링은 트리거링된다. 폴링 결정 방법은 폴링이 트리거링되어야 하는지를 결정하기 위해 다음 방정식을 이용한다. : t = ((2n + 1 + S - VT(A)) mod 2n)/VT(WS) 여기에서 S는 다음에 나가는 PDU의 시퀀스 넘버이다.In brief summary, a preferred embodiment of the present invention discloses a method for determining triggering of a polling request in a wireless communication protocol for a transmitter. The transmitter may send protocol data units (PDUs). Each PDU has an n-bit sequence number. A polling determination method is provided for determining whether polling should be performed according to parameter S which is an n-bit sequence number. Polling is triggered if the next PDU to be transmitted is not a retransmitted PDU and the polling determination method indicates that polling should be triggered according to the sequence number of the PDU. The polling determination method uses the following equation to determine if polling should be triggered. t = ((2 n + 1 + S-VT (A)) mod 2 n ) / VT (WS) where S is the sequence number of the next exiting PDU.
본 발명의 여러 가지 목적들은 다양한 도면들로 예시된 뒤따르는 바람직한 실시예의 상세한 설명을 읽은 후 당업자들에게 의심할 여지없이 명백하게 될 것이다. Various objects of the present invention will no doubt become apparent to those skilled in the art after reading the following detailed description of the preferred embodiment illustrated in the various figures.
뒤따르는 설명에서, 3GPPTM 명세서 TS 25.322에 공개된 통신 프로토콜이 예로서 사용된다. 그러나, 전송된 데이터의 수신을 승인하는 폴링을 요구하는 무선 통신 프로토콜은 본 발명의 폴-트리거링 방법을 이용할 수 있다는 것은 당업자에게 명백하여야 한다. 뒤따르는 상세한 설명에 있는 전송기들 및 수신기들은 셀룰러 전화들, PDAs(personal data assistants), PCs(personal computers), 또는 무선 통신 프로토콜을 이용하는 다른 디바이스들을 포함할 수 있다는 것이 더 인식되어야 한다.In the description that follows, the communication protocol disclosed in the 3GPP ™ specification TS 25.322 is used as an example. However, it should be apparent to those skilled in the art that a wireless communication protocol requiring polling to acknowledge receipt of transmitted data may utilize the poll-triggering method of the present invention. It should further be appreciated that the transmitters and receivers in the detailed description that follow may include cellular telephones, personal data assistants (PDAs), personal computers (PCs), or other devices using a wireless communication protocol.
다음의 방정식을 이용함으로써, 재전송되지 않은 PDUs만에 대해 전송기에 대한 폴링 요구의 트리거링을 결정하는 것이 본 발명의 방법이다. :By using the following equation, it is the method of the present invention to determine the triggering of the polling request for the transmitter for only PDUs that are not retransmitted. :
t = {(2n + 1 + S - VT(A)) mod 2n}/VT(WS) (4)t = {(2 n + 1 + S-VT (A)) mod 2 n } / VT (WS) (4)
재전송된 PDUs는 "재전송 버퍼에 있는 마지막 PDU" 이벤트와 같은 다른 폴링 트리거들에 의해 1로 세트된 그들의 관련된 폴링 비트들 53을 가지고 전송될 수 있다. 그러나, 재전송된 PDUs는 본 발명에 의한 폴링 동작을 트리거링하지 않는다. 방정식 (4) 안에 있는 "S"는 폴링 비트 53이 "t"에 기초하여 세트되거나 클리어되는 PDU의 시퀀스 넘버이다. "n"은 시퀀스 넘버 "S"의 비트-사이즈이다. 바람직한 실시예에서, 시퀀스 넘버 "S"는 12-비트 값이고, 그래서 "n"은 12이다. Retransmitted PDUs may be sent with their associated polling bits 53 set to 1 by other polling triggers, such as the “last PDU in retransmission buffer” event. However, retransmitted PDUs do not trigger the polling operation according to the present invention. "S" in equation (4) is the sequence number of the PDU whose polling bit 53 is set or cleared based on "t". "n" is the bit-size of the sequence number "S". In a preferred embodiment, the sequence number "S" is a 12-bit value, so "n" is 12.
방정식 (4)를 더 잘 이해하기 위해, 도5를 참조하라. 도5는 본 발명의 방법을 이용하는 무선 통신 시스템 70의 단순화된 블록 다이아그램이다. 무선 통신 시스템 70은 수신기 80 및 전송기 90을 포함한다. 전송기 90 및 수신기 80 둘 모두는 3-층의 통신 프로토콜을 이용한다. 전송기 90에서, 계층 3 인터페이스 93은 계층 2 서비스 데이터 유닛들(PDUs) 93a를 전송을 위해 계층 2 인터페이스 92에 전달한다. 계층 2 인터페이스 92는 SDUs 93a를 전송을 위해 계층 1 인터페이스 91로 전달되는 계층 2 프로토콜 데이터 유닛들(PDUs) 92a로 작성한다. PDUs 92a는 선행 기술의 설명에서 논의된 것과 동일한 포맷을 갖고, 따라서 여기에서 더 이상 상세화될 필요는 없다. 특히, 각각의 PDU 92a는 전송된 PDUs 92a의 스트림에 있는 PDU 92a의 연속된 순서를 식별하는 n-비트 시퀀스 넘버 52를 갖는다. 바람직한 실시예에 대해, n은 12이고, 그래서 PDUs 92a에 대한 시퀀스 넘버들은 0에서 4095까지의 순환적 범위를 갖는다. 각각의 PDU 92a는 또한 수신기 80을 폴링하기 위해 전송기 90에 의해 세트될 수 있는 폴링 비트 53을 갖는다. 선행 기술에서 논의되다시피, 전송기 90이 그것의 전송 윈도우 94를 전진시키기 위해 수신기 80은 승인 상태 PDU를 가지고 세트된 폴링 비트 53에 응답한다. To better understand equation (4), see FIG. 5 is a simplified block diagram of a wireless communication system 70 using the method of the present invention. The wireless communication system 70 includes a receiver 80 and a transmitter 90. Both transmitter 90 and receiver 80 use a three-layer communication protocol. At transmitter 90, layer 3 interface 93 delivers layer 2 service data units (PDUs) 93a to layer 2 interface 92 for transmission. Layer 2 interface 92 writes SDUs 93a into Layer 2 protocol data units (PDUs) 92a that are delivered to layer 1 interface 91 for transmission. PDUs 92a have the same format as discussed in the description of the prior art, and therefore do not need to be detailed any more here. In particular, each PDU 92a has an n-bit sequence number 52 that identifies the contiguous order of PDU 92a in the stream of transmitted PDUs 92a. For the preferred embodiment, n is 12, so the sequence numbers for PDUs 92a have a recursive range from 0 to 4095. Each PDU 92a also has a polling bit 53 that can be set by transmitter 90 to poll the receiver 80. As discussed in the prior art, the receiver 80 responds to the polling bit 53 set with the grant status PDU for the transmitter 90 to advance its transmission window 94.
전송 윈도우 94는 상태 변수들 VT(A) 95, VT(WS) 96 및 VT(MS) 97에 의해 정의된다. 전송기 90은 전송 윈도우 94 내에 있는 시퀀스 넘버들 52를 갖는 PDUs 92a만을 전송할 것이다. 상태 변수 VT(A) 95는 전송 윈도우 94의 시작 값을 표시한다. 상태 변수 VT(WS) 96은 전송 윈도우 94의 사이즈를 표시하고, 이것은 단순히 전송 윈도우 94에 의해 범위 지워진 시퀀스 넘버 값들 52의 수이다. 상태 변수 VT(MS) 97은 전송 윈도우 94의 끝을 표시하고, 그래서 단지 VT(A) 95 및 VT(WS) 96의 합이다. 오버플로우 때문에, VT(MS) 97 내에 보유된 값은 VT(A) 95 내에 보유된 값보다 더 클 필요는 없다. 끝으로, 상태 변수 VT(S) 98은 전송될 라인에 있어서 다음에 있는 PDU 92a의 시퀀스 넘버 52를 보유한다. VT(S) 98은 언제나 순차적으로 VT(A) 95 상 또는 VT(A) 후 및 순차적으로 VT(MS) 97 상 또는 VT(MS) 전에 있을 것이다. 상태 변수들 VT(A) 95, VT(WS) 96, VT(MS) 97 및 VT(S) 98은 선행 기술의 설명에서 논의된 것과 기능적으로 동일하다. The transmission window 94 is defined by state variables VT (A) 95, VT (WS) 96 and VT (MS) 97. Transmitter 90 will only transmit PDUs 92a with sequence numbers 52 that are within transmission window 94. State variable VT (A) 95 indicates the start value of the transfer window 94. State variable VT (WS) 96 indicates the size of transmission window 94, which is simply the number of sequence number values 52 delimited by transmission window 94. The state variable VT (MS) 97 marks the end of the transfer window 94, so it is only the sum of VT (A) 95 and VT (WS) 96. Because of the overflow, the value held in VT (MS) 97 need not be greater than the value held in VT (A) 95. Finally, the state variable VT (S) 98 holds sequence number 52 of the next PDU 92a in the line to be transmitted. VT (S) 98 will always be sequentially after VT (A) 95 or after VT (A) and sequentially before VT (MS) 97 or before VT (MS). The state variables VT (A) 95, VT (WS) 96, VT (MS) 97 and VT (S) 98 are functionally the same as discussed in the description of the prior art.
전송기 90은 또한 테스트 값 t 99a를 계산하기 위해 사용되는 계산 유닛 99를 포함한다. 전송기 90이 수신기 80을 폴링할 것인지 결정하기 위해 t 99a의 값은 계층 3 인터페이스 93에 의해 공급되는 폴링 값 93b에 대해 비교된다. 만일 폴링이 수행되어야 한다면 폴링 비트 53은 순차적으로 발생되고 전송되는 PDU 98p에서 세트된다. 테스트 값 t 99a는 윈도우에 기초한 폴링에 대해 사용되고, t 99a에 대한 값을 발생시키기 위해 계산 유닛은 상태 변수들 VT(A) 95, VT(WS) 96, PDU 98p 내에 보유된 시퀀스 넘버 S 98s, 및 방정식 (4)를 이용한다. 폴링 값 93b는 전송 윈도우 94의 전송 퍼센트를 가리킨다. 즉, 폴링 값 93b는 전송기 90에 의해 전송된 전송 윈도우 94에 있는 PDUs 92a의 퍼센트를 가리킨다. 만일 t 99a의 값이 폴링 값 93b를 초과하거나 그와 같다면, 폴링 요구는 PDU 98p의 폴링 비트 53을 1로 세트함으로써 트리거링된다. 즉, 다음과 같다. :The transmitter 90 also includes a calculating unit 99 used to calculate the test value t 99a. The value of t 99a is compared against the polling value 93b supplied by layer 3 interface 93 to determine whether transmitter 90 will poll receiver 80. If polling should be performed, polling bit 53 is set in PDU 98p, which is generated and transmitted sequentially. The test value t 99a is used for window based polling, and the calculation unit generates the state variable VT (A) 95, VT (WS) 96, sequence number S 98s, held in PDU 98p, to generate a value for t 99a. And equation (4). Polling value 93b indicates the transmission percentage of transmission window 94. That is, polling value 93b indicates the percentage of PDUs 92a in transmission window 94 sent by transmitter 90. If the value of t 99a exceeds or equals the polling value 93b, the polling request is triggered by setting polling bit 53 of PDU 98p to one. That is as follows. :
1) 만일 PDU 98p가 재전송된 PDU 92a 라면, PDU 98p에 대한 폴링 비트 53은 본 발명에 의해 1로 세트되도록 요구되지 않는다. 만일 PDU 98p가 처음 전송되고 있다면, 폴링 비트 53은 테스트 값 t 99a 및 폴링 값 93b에 따라 세트된다. 1) If PDU 98p is a retransmitted PDU 92a, the polling bit 53 for PDU 98p is not required to be set to 1 by the present invention. If PDU 98p is being transmitted for the first time, polling bit 53 is set according to test value t 99a and polling value 93b.
2) 만일 요구된다면, 테스트 값 t 99a는 상기 방정식 (4)를 사용하여 발생된다. 방정식 (4)의 파라미터들은 상태 변수들 VT(A) 95, VT(WS) 96, 고려되는 PDU 98p의 시퀀스 넘버 S 98s, 및 시퀀스 넘버 S 98s의 비트 사이즈 n으로부터 얻어진다. 2) If required, the test value t 99a is generated using equation (4) above. The parameters of equation (4) are obtained from state variables VT (A) 95, VT (WS) 96, sequence number S 98s of PDU 98p under consideration, and bit size n of sequence number S 98s.
3) 테스트 값 t 99a가 폴링 값 93b와 같거나 초과하고, PDU 98p가 재전송된 PDU 92a가 아니라면, PDU 98p에 대한 폴링 비트 53은 폴링을 트리거링하기 위해 1로 세트될 것이다. 3) If test value t 99a is equal to or exceeds polling value 93b and PDU 98p is not a retransmitted PDU 92a, polling bit 53 for PDU 98p will be set to 1 to trigger polling.
도5를 참고하여 도6을 참조하라. 도6은 본 발명의 방법의 플로우차트이고, 본 발명의 방법은 폴링이 전송기 90에 의해 트리거링 되어야하는지를 결정하기 위해 계산 유닛 99에 의해 구현된다. 상기 단계들은 이하에서 설명된다. :See FIG. 6 with reference to FIG. 5. 6 is a flowchart of the method of the present invention, which is implemented by calculation unit 99 to determine if polling should be triggered by transmitter 90. The steps are described below. :
100 : 폴링 비트 53이 세트되거나 클리어되는 PDU 98p를 얻는다. 100: Obtain PDU 98p, where polling bit 53 is set or cleared.
110 : 만일 단계 100에서 얻어진 PDU 98p가 재전송된 PDU 98p라면, 단계 180으로 간다. 그렇지 않으면, 단계 120으로 나아간다. 110: If the PDU 98p obtained in step 100 is a retransmitted PDU 98p, go to step 180. Otherwise, go to Step 120.
120 : 전송 윈도우 94에 대한 현재 값들을 얻고, 전송 윈도우 94에 대한 현재 값들은 상태 변수들 VT(A) 95 및 VT(WS) 96으로부터의 값들을 포함하고, 부가적으로 단계 100으로부터 얻어진 PDU 98p로부터의 시퀀스 넘버 S 98s를 추출한다. 120: Obtain current values for transmission window 94, current values for transmission window 94 include values from state variables VT (A) 95 and VT (WS) 96, and additionally, PDU 98p obtained from step 100. Extract sequence number S 98s from.
130 : 제1 값 x가 계산된다. 값 x는 시퀀스 넘버 S 98s 및 상태 변수 VT(A) 95의 차에 (2n + 1)을 더한 값이다. n 값은 시퀀스 넘버 S 98s의 비트 사이즈이고, 그래서 바람직한 실시예에서는 12이다. 결론적으로, 4097이 (S - VT(A))에 더해진다.130: The first value x is calculated. The value x is the difference between the sequence number S 98s and the state variable VT (A) 95 plus (2 n + 1). The n value is the bit size of the sequence number S 98s, so 12 in the preferred embodiment. In conclusion, 4097 is added to (S-VT (A)).
140 : 제2 값 y가 계산된다. y의 값은 상기 제1 값 x와 2n의 모듈러스(modulus)이다. 그래서 상기 제2 값 y는 x mod 4096 이다.140: The second value y is calculated. The value of y is a modulus of the first value x and 2 n . So the second value y is x mod 4096.
150 : 테스트 값 t 99a는 상기 제2 값 y를 상태 변수 VT(WS) 96으로 나눔으로써 얻어진다. 테스트 값 t 99a는 PDU 98p에 대해 분수 형태로 전송 윈도우 94의 현재 전송 퍼센트를 가리킨다. 150: The test value t 99a is obtained by dividing the second value y by the state variable VT (WS) 96. Test value t 99a indicates the current transmission percentage of transmission window 94 in fractional form for PDU 98p.
160 : 테스트 값 t 99a를 폴링 값 93b와 비교한다. 폴링 값은 0에서 100의 형태로 퍼센트로서 저장되기 때문에, t 99a의 값은 상기 비교를 수행하기 위해 100에 의해 곱해진다. 160: Compare the test value t 99a with the polling value 93b. Since the polling value is stored as a percentage in the form of 0 to 100, the value of t 99a is multiplied by 100 to perform the comparison.
170 : 만일 t 99a에 의해 나타난 바와 같이 전송 퍼센트가 폴링 값 93b 보다 크거나 같다면, 폴링은 전송기 90에 대해 트리거링된다. PDU 98p에 대한 폴링 비트 53은 1로 세트된다. 170: If the transmission percentage is greater than or equal to the polling value 93b as indicated by t 99a, polling is triggered for transmitter 90. Polling bit 53 for PDU 98p is set to one.
180 : 만일 t 99a에 의해 나타난 바와 같이 전송 퍼센트가 폴링 값 93b 보다 작거나, PDU 98p가 재전송된 PDU 98p라면, 어떤 폴링도 요구되지 않는다. 180: If the transmission percentage is less than the polling value 93b as indicated by t 99a or if PDU 98p is a retransmitted PDU 98p, no polling is required.
190 : 폴링 결정 방법의 끝. 다음 PDU 98p에 대해, 상기 과정이 단계 100으로부터 반복된다. 190: End of polling method. For the next PDU 98p, the process is repeated from step 100.
선행 기술에 반해, 본 발명은 다음 방정식에 따라 테스트 값 t를 계산하기 위해 계산 유닛을 사용한다. :In contrast to the prior art, the present invention uses a calculation unit to calculate the test value t according to the following equation. :
t = {(2n + 1 + S - VT(A)) mod 2n}/VT(WS)t = {(2 n + 1 + S-VT (A)) mod 2 n } / VT (WS)
상기 공식은 고려되는 PDU에 대해 전송기의 전송 윈도우의 전송 퍼센트를 정확하게 산출한다. 그래서 전송기는 정확하게 폴링 요구를 트리거링할 것이다. 그러나, 만일 상기 방정식들에 있는 고려 하의 PDU가 재전송된 PDU가 아니라면, 폴링은 단지 수행될 것이다. 폴링은 재전송된 PDUs로 트리거링되지 않는다. 이러한 방법으로, 전파 자원들의 불필요한 사용이 회피된다. 그럼으로써 더 효율적인 무선 전송 시스템이 보장된다. 상태 변수 VT(S) 98의 현재 값보다 PDU 98p 내에 삽입된 실제 시퀀스 넘버 S 98s를 사용함으로써, VT(S) 98의 값의 구현 모호성들이 회피된다. 적합성 테스팅은 결과적으로 더 쉽게 만들어진다. The formula accurately calculates the transmission percentage of the transmitter's transmission window for the PDU under consideration. So the transmitter will trigger the polling request correctly. However, if the PDU under consideration in the above equations is not a retransmitted PDU, polling will only be performed. Polling is not triggered with retransmitted PDUs. In this way, unnecessary use of propagation resources is avoided. This ensures a more efficient wireless transmission system. By using the actual sequence number S 98s inserted into the PDU 98p rather than the current value of the state variable VT (S) 98, implementation ambiguities of the value of VT (S) 98 are avoided. Conformance testing is made easier as a result.
테스트 값이 전송된 전송 윈도우의 퍼센트를 정확하게 되돌려 보내고, VT(S)가 구현에서 구현마다 어떻게 변화하는지에 상관없이 PDU의 폴링 비트가 올바르게 세트되도록 유발하는 것이 본 발명의 이점이다. 부가적으로, 폴링 비트가 처음으로 전송된 PDUs에 대해서만 세트되는 것을 보증함으로써, 불필요한 폴링 및 응답 절차들이 제거된다. 그래서 전파 자원들의 더 효율적인 사용을 보증하게 된다. It is an advantage of the present invention that the test value returns exactly the percentage of the transmitted window sent and causes the polling bit of the PDU to be set correctly regardless of how the VT (S) varies from implementation to implementation. In addition, by ensuring that the polling bit is set only for the first transmitted PDUs, unnecessary polling and response procedures are eliminated. This ensures more efficient use of propagation resources.
당업자들은 본 발명의 가르침들을 유지하면서도 디바이스의 수많은 수정들 및 변형들이 만들어질 수 있음을 쉽게 알 수 있을 것이다. 따라서, 상기 공개는 첨부된 청구범위의 경계 및 범위에 의해서만 한정되는 것으로 취급되어야 한다.Those skilled in the art will readily appreciate that numerous modifications and variations of the device may be made while retaining the teachings of the present invention. Accordingly, the above disclosure should be treated as limited only by the scope and scope of the appended claims.
도1은 3-계층 통신 프로토콜의 블록 다이아그램이고,1 is a block diagram of a three-layer communication protocol,
도2는 계층 2 관점으로부터의 전송/수신 과정의 단순화된 다이아그램이고,2 is a simplified diagram of a transmit / receive process from a layer 2 perspective,
도3은 AMD(acknowledged mode data) PDU(protocol data unit)의 블록 다이아그램이고,3 is a block diagram of an acknowledged mode data (AMD) protocol data unit (PDU),
도4는 무선 통신 시스템에 있어서의 수신기 및 전송기의 단순화된 블록 다이아그램이고,4 is a simplified block diagram of a receiver and a transmitter in a wireless communication system,
도5는 본 발명에 따른 무선 통신 시스템의 단순화된 블록 다이아그램이고, 그리고5 is a simplified block diagram of a wireless communication system in accordance with the present invention, and
도6은 본 발명의 방법의 플로우차트이다.6 is a flowchart of the method of the present invention.
* 도면의 주요 부분에 대한 부호의 설명** Explanation of symbols for main parts of the drawing
PDU : 50PDU: 50
폴링 비트 : 53Polling bit: 53
수신기 : 80Receiver: 80
전송기 : 90Transmitter: 90
Claims (4)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2002-0075932A KR100486033B1 (en) | 2002-12-02 | 2002-12-02 | Applicable pdu range test and calculation for window-based polling |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2002-0075932A KR100486033B1 (en) | 2002-12-02 | 2002-12-02 | Applicable pdu range test and calculation for window-based polling |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20040048154A KR20040048154A (en) | 2004-06-07 |
| KR100486033B1 true KR100486033B1 (en) | 2005-05-03 |
Family
ID=37343060
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR10-2002-0075932A Expired - Fee Related KR100486033B1 (en) | 2002-12-02 | 2002-12-02 | Applicable pdu range test and calculation for window-based polling |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100486033B1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100947530B1 (en) * | 2007-05-15 | 2010-03-12 | 이노베이티브 소닉 리미티드 | Method and apparatus for polling data transmission status in wireless communication system |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20020003726A (en) * | 2000-07-01 | 2002-01-15 | 서평원 | Method for confirming receiving of Protocol data |
| US20020142731A1 (en) * | 2001-04-02 | 2002-10-03 | Jiang Sam Shiaw-Shiang | Window-based polling scheme for a wireless communications protocol |
| KR20030042847A (en) * | 2001-11-24 | 2003-06-02 | 엘지전자 주식회사 | Polling method of Protocol Data Unit of transmission buffer |
| KR20030084422A (en) * | 2002-04-26 | 2003-11-01 | 엘지전자 주식회사 | Polling method of radio link control |
-
2002
- 2002-12-02 KR KR10-2002-0075932A patent/KR100486033B1/en not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20020003726A (en) * | 2000-07-01 | 2002-01-15 | 서평원 | Method for confirming receiving of Protocol data |
| US20020142731A1 (en) * | 2001-04-02 | 2002-10-03 | Jiang Sam Shiaw-Shiang | Window-based polling scheme for a wireless communications protocol |
| KR20030042847A (en) * | 2001-11-24 | 2003-06-02 | 엘지전자 주식회사 | Polling method of Protocol Data Unit of transmission buffer |
| KR20030084422A (en) * | 2002-04-26 | 2003-11-01 | 엘지전자 주식회사 | Polling method of radio link control |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20040048154A (en) | 2004-06-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6996063B2 (en) | Applicable PDU range test and calculation for window-based polling | |
| US7839838B2 (en) | Enhanced polling method for preventing deadlock in a wireless communications system | |
| KR100434054B1 (en) | Polling method of radio link control | |
| KR100779753B1 (en) | Method and apparatus for polling transmission status in a wireless communication system | |
| US8098664B2 (en) | Retransmission-request transmitting method and receiving side apparatus | |
| US6687248B2 (en) | Sequence number ordering in a wireless communications system | |
| US6922393B2 (en) | Data discarding request acknowledgement in a wireless communications protocol | |
| CN100361481C (en) | Method, device and transmitter for transmitting data from transmitter to receiver | |
| US7411979B2 (en) | Enhanced SDU discard procedure for a special data segmentation in a wireless communications system | |
| US20080056148A1 (en) | Wireless communication method and apparatus for reducing data retransmission | |
| USRE40077E1 (en) | Window-based polling scheme for a wireless communications protocol | |
| KR100605318B1 (en) | Status report missing detection in a communication system | |
| KR100486033B1 (en) | Applicable pdu range test and calculation for window-based polling | |
| JP3862648B2 (en) | Protocol data unit range testing and calculation method applied to window-based polling | |
| EP1424815B1 (en) | Method for requesting status reports in acknowledged mode data transfer | |
| KR100344979B1 (en) | Discard procedure for service data unit in radio link control | |
| TW589843B (en) | Applicable PDU range test and calculation for window-based polling | |
| CN100469074C (en) | Test method and calculation method of protocol data range suitable for window frame polling method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R14-asn-PN2301 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| FPAY | Annual fee payment |
Payment date: 20110329 Year of fee payment: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| FPAY | Annual fee payment |
Payment date: 20140317 Year of fee payment: 12 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| FPAY | Annual fee payment |
Payment date: 20170320 Year of fee payment: 13 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 13 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R14-asn-PN2301 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20180421 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20180421 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |