Discard mechanism for selective repeat automatic repeat request
Abstract
A more effective discard mechanism forSelective Repeat ARQ is achievable, where thediscard mechamism exhibits a sender-initiateddiscard signaling scheme.The discard mechanism isalso moree effective where it takes intoconsideration the segmentation and reassembly ofupper layer data packets, if such is beingemployed, and where it is able to notify thereceiver when data units bave been discarded atthe sender, regardless whether explicit disscardsignaling from the sender to the receiver isfeasible.

Term
No projected expiry on record.
- Priority
- Filed
- Granted
- Today
5 claims: 5 independent, 0 dependent
- 1一種用在選擇性重覆ARQ中撤銷資料單元的方法,該方法包括下列步驟:由傳送器傳輸一個第一資料單元到接收器;在上述傳輸第一資料單元的同時啟始一個第一定時器;由傳送器傳輸一個第二資料單元到接收器;在接收第二資料單元的同時啟始一個第二定時器;在傳送器端,若在傳送器接收到來自接收器的回應確認表示第一資料單元已被接收之前,對應於第一定時器的一個時間間隔超過時,撤銷該第一資料單元;以及在接收器端,若在第一資料單元被接收之前,對應於第二定時器的一個時間間隔超過時,對第二資料單元執行一個撤銷動作。
- 2一種用在選擇性重覆ARQ中撤銷資料單元的方法,該方法包括下列步驟:由傳送器傳輸多個資料單元到接收器,其中上述多個資料單元的每一個對應於一共同的資料封包,且上述資料單元的每一個均被指定一個代表對應的資料單元被傳輸的順序的序號;在傳輸上述多個資料單元的第一個的同時啟始一個第一定時器;在上述多個資料單元的一個被接收時,當接收器仍期望接收一個序號顯示是在此資料單元之前傳輸的資料單元時,啟始一個第二定時器;在傳送器端,若在第一定時器對應的時間間隔超過前任何上述多個資料單元的其中一個仍未被確認回覆為被接收時,撤銷對應於同一資料封包的上述多個資料單元;以及在接收器端,對應於第二定時器的一個時間間隔超過,且接收器仍期望接收一個序號顯示是在上述多個資料單元的某一個之前傳輸的資料單元時,對此某一個資料單元執行一個撤銷動作。
- 3一種用在選擇性重覆ARQ中撤銷資料單元的方法,該方法包括下列步驟:由傳送器傳輸多個資料單元到接收器,其中傳送器端保存一個定時器,接收器端亦保存一個定時器,其中資料單元的每一個均被指定一個代表對應的資料單元被傳輸的順序的序號;在傳送器端,保存一個變數HSS,代表了在傳送器保存的定時器的目前週期中某一給定的點被傳輸的資料單元中所具有的最高序號;在接收器端保存了兩個變數,HSR1和HSR2,其中HSR1代表了在接收器端保存的定時器的目前週期中某一給定的點所接收的資料單元中所具有的最高序號,而HSR2代表了在接收器端保存的定時器的前一週期中同一點所接收的資料單元中所具有的最高序號;在傳送器保存的定時器的每一週期中的給定點,任何在傳送器端具有較變數HSS小的序號之資料單元會被撤銷,之後,變數HSS會被更改;在接收器端保存的定時器的每一週期中的給定點,任何具有較變數HSR2小的序號之資料單元會被撤銷,之後,變數HSR1和HSR2會被更改。
- 4一種用在選擇性重覆ARQ中撤銷資料單元的方法,該方法包括下列步驟:界定一個傳輸視窗,其中傳輸視窗代表一具有K個可用來由傳送器傳輸到接收器之資料單元的序列,其中每個資料單元均被指定一個代表對應的資料單元被傳輸的順序的序號;在傳送器端,當某個目前位於傳輸視窗中之資料單元的序號顯示其傳輸的順序是在其他所有目前位於傳輸視窗的資料單元之前時,撤銷此資料單元;將傳輸視窗向前移動;界定一個接收視窗,其中接收視窗代表接收器己接收或期望接收的一個序列的資料單元:以及若接收器接收一個具有序號S的資料單元,其中序號S在接收視窗之上,在接收器上執行一個S-K+1序號的撤銷動作。
- 5一種用在選擇性重覆ARQ中撤銷資料單元的方法,該方法包括下列步驟:由傳送器傳輸多個資料單元到接收器,其中上述多個資料單元對應於資料封包,其中每個資料封包可能包含一個或多個資料單元;在傳送器端,儲存一個對應於第一資料封包的第一資料單元,直到接收器完全確認回覆此資料封包為止;在傳送器端,撤銷其序號顯示是在上述第一個資料單元之前傳輸的一個或多個資料單元;在上述的第一個資料單元的標頭部分設定一個撤銷位元:傳輸上述設定其撤銷位元的第一資料單元到接收器端,以通知接收器該一個或多個資料單元已在傳送器被撤銷;以及在接收器對上述的第一資料單元對應的序號作撤銷動作。
Independent claims5
124 paragraphs, as filed
Select retransmission, automatic retransmission and unused cancellation mechanism
<p>ARQ. . . Automatic retransmission request (Automatic.Repeat.Request)</p><p>PDU. . . (protocal.data unit) protocol data unit</p><p>Ack. . . (acknowledgement) Reply</p><p>Nack. . . Negative reply</p><p>TS, TR, TR3, TR4. . . time interval</p><p>S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12. . . Data packet</p><p>HSS, HSR1, HSR2. . . variable</p><p>A, B. . . The highest serial number of the transmitter</p><p>a,b. . . Receiver highest serial number</p><p>R1, R2, R3, R4, R5. . . Point in time</p><p>HDISCARD, HSTART, HSTOP. . . variable</p><p>BM. . . Lowest sequence number</p><p>TP. . . Highest sequence number</p><p>CA, CP. . . point</p>
Read the description of the following illustrations to understand the purpose and advantages of the present invention.
Figures 1A and 1B respectively show the first exemplary embodiment of the present invention and its alternative embodiments, in which the synchronization timer is used to trigger the cancellation of PDU;
Figure 2 shows another embodiment of the present invention, in which a single timer at the transmitter and a single timer at the receiver are used to trigger the cancellation of PDUs;
Figures 3A to 3D show a second exemplary embodiment of the present invention, in which a "window-based" undo mechanism is used;
Figure 4 shows a third exemplary embodiment of the present invention, in which a revocation bit in the header of each PDU is used for the purpose of revocation signaling;
Figure 5 shows the fourth exemplary embodiment of the present invention, in which the revocation bit of each PDU header linked to the first data packet that has not been revoked nor fully responded at the transmitter side may be used as revocation The purpose of the signal;
Figure 6 shows another alternative embodiment of the present invention, in which the transmitter does not need to store the first PDU of an incompletely responded data packet in its buffer.
(Field of Invention)
The present invention relates to the field of remote demand communication, especially to the use of automatic repeat request (ARQ) in wired and radio communication systems and data networks.
(Background of the invention)
Automatic repeat request (ARQ) is a technology often used in telecommunication systems and data networks. It is used to ensure the reliable transmission of protocol data units (PDUs) from one transmitting entity (hereinafter referred to as the transmitter) to another receiving entity (hereinafter referred to as the receiver). Usually ARQ uses error detection codes in the transmission process. This error detection code enables the receiver to determine whether a PDU data is received correctly. ARQ also uses a feedback mechanism (feedbaCk mechanism), which enables the receiver to notify the transmitter whether the PDU has been received correctly. Then the transmitter can decide whether to retransmit the PDU according to the feedback result provided by the receiver.
Generally, there are three main types of ARQ: Stop-and-wait, Go-Back-N, and selective repetition. According to the ARQ that stops and waits, the transmitter will not transmit the PDU to the receiver until it receives a positive acknowledgment from the receiver to indicate that the previous PDU has been received. According to the ARQ back to N, the transmitter may transmit one or more PDUs before it receives an Acknowledgement (Ack) from the receiver related to the previously transmitted PDU. However, if a transmitter receives a negative response (Nack) from the receiver indicating that the previously transmitted PDU has not been received, the transmitter will resend the missing or mistransmitted PDU, as well as all subsequent PDUs, regardless of Are they received correctly. According to selective repetitive ARQ, the receiver provides a combination of Acknowledyement and Positive Acknowledgement. Then the transmitter retransmits those unreceived PDUs, but the transmitter will not retransmit all subsequent PDUs like Go-Back-N ARQ. Of course, there are several different variations for the three main ARQ types.
Usually, the PDU is transmitted from the transmitter to the receiver and is not allowed to be lost. For this reason, the traditional ARQ technology retransmits a PDU until it is received by the receiver and replies to the transmitter. However, unlimited resending is impractical and undesirable. Therefore, sometimes it is more beneficial to end the retransmission process and cancel the PDU.
The mechanism used to withdraw the PDU should of course be able to effectively withdraw the PDU in a timely manner. To achieve this goal, the chance of resending outdated data must be minimized. For example, there are many applications, such as real-time voice or video applications, where the transmitted data is only useful for a very short period of time, after which the data becomes obsolete. Resending these data is not only useless but also wastes network resources and bandwidth.
The mechanism used to revoke PDUs should also revoke PDUs in an efficient manner to avoid or at least reduce the situation that may lead to deadlock. In addition, the cancellation mechanism should provide a cancellation signal technology to prevent, for example, the ambiguity of PDU identification. Before the transmitter actually cancels a PDU, the receiver should reclaim (deallocate) the space of the corresponding input buffer (deallocation). ), or a similar situation. Furthermore, the cancellation mechanism should provide a method to notify the receiver when the transmitter has cancelled the PDU, even if there is no clear signaling method in the agreement.
In addition, the revocation mechanism should consider the segmentation and reassembly of higher-level data packets, such as Internet protocol data packets, where segmentation and reassembly are common techniques used to transmit upper-layer data packets. For the sake of simplicity, the upper-level data packet is hereinafter referred to as "data packet". When using data packet segmentation and reassembly, several PDUs may be needed to transmit the data of a single data packet. Therefore, the receiver must be able to determine the correct PDU sequence and determine which data packet each PDU belongs to. Usually this can be achieved by specifying a sequence number for each PDU, where the sequence number may, for example, range from 0 to 2. <sup>k-1</sup> , According to a format of modulo 2, where k represents the number of bits that make up a sequence number, and by adding a start bit and end bit to the first and last bits of each data packet, respectively The last PDU is reached. The cancellation mechanism must be able to distinguish when the PDU belonging to a certain data packet has been cancelled, and cancel the entire data packet to which the PDU belongs on the transmitter side. Moreover, if the receiver has received any PDU belonging to the data packet, the cancellation mechanism must be able to notify the receiver to also cancel these PDUs.
Of course, there are several known revocation mechanisms used in ARQ, one of which involves a receiver-initiated revocation signaling technology. However, this technique is not very attractive, especially because the transmitter, not the receiver, is a better place to decide how and when to stop resending and withdrawing PDUs.
According to the US Patent Application No. 09/179,952 under review, another revocation mechanism of "ARQ Revocation Capability", one bit in the header of each PDU, called a single bit of the received packet mandatory bit (RPEB) The element is used to inform the receiver that the PDU with a lower sequence number should not be received, and the receiver should accept this out-of-sequence PDU. Although this application does show that RPEB can be used in selective retransmission of ARQ, the application is mainly for the revocation signaling method of Go-Back-N ARQ.
Another revocation mechanism is described in the U.S. Patent Application No. 09/245,866 under review, "Main ARQ Control Flow Containing Cell Revocation". However, in this application, the cancellation mechanism is designed for the main ARQ, a variant of Go-Back-N and selective repeated ARQ.
Therefore, there is an urgent need to provide a revocation mechanism that can achieve the aforementioned various capabilities, in particular, to provide a revocation mechanism that is activated by the transmitter and designed to efficiently and effectively and selectively repeat ARQ operations.
(Invention summary):
The present invention relates to the use of ARQ technology to help ensure reliable transmission of data packets, which here means a protocol data unit (PDU) from the transmitter to the receiver. In essence, the present invention involves a selective repetitive ARQ technology, in which a transmitter-initiated PDU withdrawal mechanism is adopted, especially designed in combination with selective repetitive ARQ.
Therefore, one of the objectives of the present invention is to provide a revocation mechanism for selective repetition of ARQ, and adopts a transmitter-initiated signaling method instead of a receiver-initiated signaling method.
Another object of the present invention is to provide a revocation mechanism for transmitter activation, which is used in selective repeated ARQ considering the segmentation and reassembly of data packets.
Another object of the present invention is to provide a transmitter-initiated cancellation mechanism, which can be used to selectively repeat ARQ, even when there is no explicit cancellation capability.
According to the first aspect of the present invention, the aforementioned and other objectives can be achieved by a method for canceling data units in selective repeated ARQ. The method includes transmitting a first data unit from the transmitter to the receiver and starting a first timer for the transmission of the first data unit. The method also involves transmitting a second data unit from the transmitter to the receiver and starting a second timer regarding the reception of the second data unit. On the transmitter side, if the period corresponding to the first timer expires before the transmitter receives the reply that the first data unit has been received, the first data unit will be cancelled. After that, if the period corresponding to the second timer has expired before the first data unit is received, the receiver will perform an undo action on the second data unit, such as a function of the second data unit.
According to the second aspect of the present invention, the aforementioned object and other objects can be achieved by a method used in selective repeated ARQ to withdraw data units. This method involves the transmission of multiple data units from the transmitter to the receiver, where each data unit is connected to a common data packet, and each data unit is assigned a serial number that represents the order in which the corresponding data unit is transmitted. Furthermore, when the first of the multiple data units is transmitted, a first timer will be started at the same time. If any data unit is received, but the receiver is still waiting for the data unit before the transmission sequence number. When a certain data unit, a second timer will be started. Then, on the transmitter side, if the period corresponding to the first timer has expired and the response of any data unit is not received, all data units with a common data packet will be cancelled. On the receiver side, if the period corresponding to the second timer has expired and the receiver is still waiting for a data unit with an earlier sequence number than the currently received data unit, it will perform a cancellation of the received data unit Action, the function of the data unit so revoked.
According to the third aspect of the present invention, the aforementioned and other objectives can be achieved by a method used in selective repeating ARQ to withdraw data units. This method involves the transmission of multiple data units from the transmitter to the receiver, where the transmitter side saves a timer and the receiver side also saves a timer, and each data unit is assigned a representative of the corresponding data unit. The sequence number of the transmission sequence. In addition, a HSS variable is stored on the transmitter side, where HSS represents the highest sequence number in the data unit that is transmitted at a given point in the current cycle represented by the timer stored by the transmitter. Two variables are saved at the receiver side, HSR1 and HSR2, where HSR1 represents the highest sequence number in the data unit received at a given point in the current cycle represented by the timer saved at the receiver side, And HSR2 represents the highest sequence number in the data unit received at the same point in the previous cycle represented by the timer saved at the receiver. Then, at a given point in each cycle represented by the timer held by the transmitter, any data unit with a serial number smaller than the variable HSS on the transmitter side will be revoked. After that, the variable HSS will be changed. At a given point in each cycle represented by the timer stored at the receiver, any data unit with a smaller sequence number than the variable HSR2 will be cancelled. After that, the variables HSR1 and HSR2 will be changed.
According to the fourth aspect of the present invention, the aforementioned and other objectives can be achieved by a method used in selective repeating ARQ to withdraw data units. This method includes defining a transmission window, where the transmission window represents a sequence of K data units, which can be transmitted from the transmitter to the receiver, and each data unit is assigned a corresponding data unit to be transmitted in order Serial number. On the transmitter side, when the serial number of a data unit indicates that the transmission time of this data unit is earlier than all other data-units currently in the transmission window, this data unit will be cancelled. Then the transmission window continues to move forward. In addition, a receiving window is defined on the receiver side, where the receiving window represents a sequence of data units that the receiver is waiting to receive. If the receiver receives a data unit with a serial number S, and the serial number S is before the receiving window, the receiver will perform a cancellation action, such as the function of the serial number S-K+1.
According to the fifth aspect of the present invention, the aforementioned object and other objects can be achieved by a method for removing data units in selective repeated ARQ. This method includes transmitting multiple data units from a transmitter to a receiver, where multiple data units are accompanied by several data packets, and each data packet may be accompanied by one or several data units. On the transmitter side, the first data sheet <img file="TW477129B_D0001.tif" /> Accompanying a data packet will be stored until the receiver completely responds to the data packet. Then, when the serial numbers of the data units at the transmitter show that they were transmitted before the first data unit, these data units will be revoked. Then a revocation bit in the header of the first data unit is set, and the first data unit is transmitted to the receiver to notify the receiver that one or more data units in the transmitter have been revoked. Finally, an undo action is performed on the receiver side, such as a function accompanying the serial number of the first data unit.
Schematic description
Read the description of the following illustrations to understand the purpose and advantages of the present invention.
Figures 1A and 1B respectively show the first exemplary embodiment of the present invention and its alternative embodiments, in which the synchronization timer is used to trigger the cancellation of PDU;
Figure 2 shows another embodiment of the present invention, in which a single timer at the transmitter and a single timer at the receiver are used to trigger the cancellation of PDUs;
Figures 3A to 3D show a second exemplary embodiment of the present invention, in which a "window-based" undo mechanism is used;
Figure 4 shows a third exemplary embodiment of the present invention, in which a revocation bit in the header of each PDU is used for the purpose of revocation signaling;
Figure 5 shows the fourth exemplary embodiment of the present invention, in which the revocation bit of each PDU header linked to the first data packet that has not been revoked nor fully responded at the transmitter side may be used as revocation The purpose of the signal;
Figure 6 shows another alternative embodiment of the present invention, in which the transmitter does not need to store the first PDU of an incompletely responded data packet in its buffer.
(The legend explains in detail)
The present invention includes selective repetition of ARQ, especially the subsequent cancellation mechanism. In selective repeat ARQ, a receiving entity (hereinafter referred to as the receiver) provides a cumulative confirmation reply signal, a selective negative confirmation reply signal, and a selective positive confirmation reply signal to a transmitting entity (hereinafter referred to as the transmitter) . The selective negative acknowledgement signal informs the transmitter that a particular PDU has not been received by the receiver. The selective positive acknowledgement signal informs the transmitter that a particular PDU has been received by the receiver. The cumulative confirmation response signal informs the transmitter that all PDUs less than or equal to a certain sequence number specified in the cumulative confirmation response signal have been received or cancelled by the receiver. The transmitter can then determine which PDUs can be released from the buffer based on the accumulated confirmation reply signal and the selective positive confirmation reply signal. In contrast, the transmitter can determine which PDUs must be retransmitted based on the selective negative acknowledgement response signal.
Generally, the selective repeat ARQ technology uses a "transmission window" in the transmitter and a "reception window" in the receiver, where the window represents the PDU sequence number of a certain interval that can be used for transmission or reception. However, in order to avoid ambiguity in PDU identification when transmitting two PDUs with the same sequence number in the PDU header, it is necessary to understand that the maximum window size is 2k-1, where each sequence number contains K bits.
According to the first exemplary embodiment of the present invention, a synchronization trigger in the form of a timer is used at the transmitter and receiver to determine which PDUs should be revoked, and the trigger guarantee for a given PDU at the transmitter side It will happen before the trigger of the receiver. Because the cancellation mechanism of the first exemplary embodiment relies on a synchronous timing trigger, it does not require a clear signal to notify the receiver when the transmitter cancels one or more PDUs, thus saving network resources and bandwidth.
As mentioned above, according to the first exemplary embodiment, the synchronization trigger takes the form of a timer, where when a PDU is first transmitted from the transmitter to the receiver, the timer of the transmitter starts to measure a time interval T <sub>s</sub> . Generally, if the time interval T <sub>s</sub> When it has exceeded, the transmitter does not receive a reply from the receiver to indicate that the PDU has been received, and the transmitter will withdraw the PDU. On the receiver side, when the receiver receives a PDU with a sequence number S and lacks at least one PDU with a sequence number less than S, the timer starts to measure a value that is at least T <sub>s</sub> Time interval T of the same length <sub>R</sub> . If the time interval T <sub>R</sub> When the PDU with a sequence number less than S has been exceeded and there is still no PDU, the receiver performs an action called purge (S) below. During the clear (S) action, the PDU that is normally received correctly will be passed to a higher network layer. However, all missing PDUs with a sequence number smaller than S will be released. It should be understood that releasing a PDU at the receiver means reclaiming the input buffer space used by the PDU so that the space can be used by other PDUs. In addition, the receiver replies to all PDUs because the receiver is no longer waiting to receive them. If data packet segmentation and reassembly are used, the action of clearing (S) also includes canceling the received PDUs. These PDUs have sequence numbers less than S and belong to data packets that have not been completely received.
Figure 1A shows a timeline of events to further illustrate the revocation mechanism of the first exemplary embodiment of the present invention. As shown, the leftmost vertical line represents the timeline of events that occurred on the transmitter side, and the rightmost vertical line represents the timeline of events that occurred on the receiver side. In addition, the arrow starting from the receiver indicates that the ARQ message is transmitted back to the transmitter, and the arrow starting from the transmitter indicates that the PDU is transmitted or retransmitted to the receiver.
As shown in Figure 1A, the transmitter first transmits a first PDU S1. While transmitting S1, the transmitter starts a timer to measure the time interval T <sub>s</sub> . Then the transmitter transmits a second PDU S2. When the transmitter starts measuring a new time interval corresponding to the S2 transmission, this part is omitted in Figure 1A for simplicity.
As indicated by the symbol "X", neither S1 nor S2 has successfully received the input buffer of the receiver. Therefore, the ARQ message is sent to the transmitter to notify that the transmitters S1 and S2 have not been successfully received, which is represented by ARQ (Nack S1, S2). Then, as shown in the figure, the transmitter retransmits S1 and S2. When S1 and S2 are retransmitted, only S2 is successfully received. Because there is a missing PDU (ie S1) with a sequence number less than S2 when S2 is received, the receiver starts to measure a time interval T <sub>R.</sub> Then the receiver transmits another ARQ message to the transmitter, informing the transmitter that S1 has not been successfully received but S2 has been successfully received, which is represented by ARQ (NackS1, Ack S2). However, before the transmitter can retransmit S1, the time interval T <sub>S</sub> Exceeded.
Time interval T <sub>S</sub> The exceeding then triggers the transmitter to cancel S1 without retransmitting, as shown in Figure 1A. Then the transmitter transmits S3 and S4. When S4 is received,. The receiver transmits another AIQ message, ARQ (Nack S1, S3; Ack S2, S4), notifying the transmitter that the receiver has not received S1 (it has been revoked by the transmitter) and that the receiver has not received S3. At the same time, this ARQ message also informs the transmitter that the receiver has successfully received S2 and S4. The transmitter retransmits S3 based on this result.
However, before S3 is successfully received, the time interval T <sub>R</sub> Exceeded, causing the receiver to perform a clear (2) action. Therefore, at the receiver, all missing PDUs with a sequence number less than S2 are released. In addition, the receiver transmits another ARQ to the transmitter, informing the transmitter that the receiver has confirmed the reply S1, S2, S3, and S4.
Figure 1B shows a timeline of events to illustrate a cancellation mechanism similar to that shown in Figure 1A, but the cancellation mechanism in Figure 2B considers the segmentation and reassembly of data packets. In the example shown in Figure 2B, each data packet contains three PDUs. For example, a first data packet contains PDU S1, PDU S2, and PDU S3. The following are represented by S1, S2, and S3, where the left and right brackets Represents the first and last PDUs of a given data unit, respectively. However, it should be understood that the data packet may contain more or less than 3 PDUs. Furthermore, it should be understood that the transmitter only needs to save a timer for each data packet.
As shown in Figure 1B, the transmitter first transmits three PDUs related to the first data packet, S1, S2 and S3. According to this replacement cancellation mechanism, the transmitter starts a timer to measure the time interval T while transmitting the first PDU of each data packet (that is, while transmitting S1) <sub>S</sub> . In this example, the receiver only correctly receives S1 and S3, which is S2, as shown by the symbol "x". As shown in the first exemplary embodiment, when the receiver receives a PDU (i.e. S3) and at least one PDU with a smaller sequence number (i.e. S2) is missing, it starts a timer to measure a time interval T <sub>R3</sub> . Now the receiver sends an ARQ message to the transmitter, notifying the transmitter that S1 and S3 have been successfully received, but S2 has not been received. At the same time, the transmitter transmits the next data packet containing S4, S5 and S6, as shown in the figure.
When receiving S4, the receiver starts to measure another time interval T <sub>R4</sub> , Because there is still a lack of S2, which has a smaller serial number than S4. Although not shown, the receiver will also start the timer when receiving S5 and S6. About the same time that the receiver successfully received S4, S5, and S6, the transmitter received an ARQ message, notifying it that the receiver did not receive S2. Therefore, the transmitter retransmits S2 and the first two PDUs, S7 and S8 of the next data packet.
About the same time as the transmitter retransmits S2, the receiver sends another ARQ message to the transmitter, notifying the transmitter that the receiver has successfully received S1 and S3 to S6, but has not received S2. Approximately at the same time the transmitter receives this ARQ message, the time interval T <sub>S</sub> Exceeded. Because S2 has not yet been replied, the transmitter cancels S2 and all other PDUs related to the first material packet (ie, S1 and S3). Because the transmitter cancels S1, S2, and S3, the transmission window advances to new PDUs, such as S9, S10, and S11, where S10 is the first DUU of another data packet.
When the transmitter transmits S9, the receiver does not know that the transmitter cancels S1, S2, and S3, and transmits another ARQ message to the receiver, notifying the transmitter that the receiver has not received S2 and S8. In addition, this ARQ message also knows that the transmitters S1 and S3 to S7 have been successfully received. Soon, the time interval T <sub>R3</sub> Exceeded. Therefore, a clear (3) action is performed at the receiver. According to the action of clear (3), the buffer space allocated to all missing PDUs with a sequence number less than S3 at the receiver side is released. If received or released, any PDUs related to the previous incomplete data packet are cancelled. In the current situation, the action of clearing (3) causes the cancellation of S1 and the release of the space allocated to S2. Then very quickly, the time interval T <sub>R4</sub> It has been exceeded, so the action of clearing (4) is executed at the receiver. Cause the withdrawal of S3, because S3 was received and belonged to the previous incomplete data packet. Then, the receiving window moves forward again.
It should be noted that in the preferred embodiment of the present invention, the advancement of the transmission window and the reception window is in PDU units. Therefore, for example, when the PDU at the bottom of the transmission window is cancelled, the transmission window moves forward by one PDU. However, those skilled in the art should understand that the progress of the transmission window and the reception window can also be in units of data packets. According to this alternative method, the PDU at the bottom of the transmission window may be cancelled, but the transmission window does not advance until all PDUs corresponding to the data packet are cancelled. Of course, the window will advance by the number of PDUs corresponding to the data packet.
According to another alternative cancellation mechanism of the present invention, only a single timer is used in the transmitter and the receiver. However, in order to avoid the synchronization problem, the time constant of the single timer at the receiver must be no less than the single timer at the transmitter. Otherwise, the receiver may revoke a PDU before the transmitter just revokes this PDU (that is, reclaim the buffer space allocated to this PDU). To simplify the description of this replacement cancellation mechanism, the same time constant is specified for the single timer used by the transmitter and receiver.
According to this replacement cancellation mechanism, in addition to saving a single timer in the transmitter and receiver, a variable HSS is also saved, where HSS represents the highest sequence number in the PDU transmitted so far, and the value of HSS is in Each time interval of the single timer of the transmitter will be changed, preferably at the beginning of each time interval. As mentioned earlier, the sequence number ranges from 0 to 2 <sup>k-1</sup> , According to the modulo two format, where k represents the number of bits that make up a serial number. Therefore, it should be understood that the so-called "highest serial number" is not necessarily the largest serial number value, but it is interpreted in a modulo two format. On the other hand, the receiver clearly saves two variables, HSR1 and HSR2, where HSR1 represents the highest sequence number in the PDU received by the receiver at the beginning of the current cycle represented by the timer on the receiver side, and HSR2 It represents the highest sequence number in the PDU received at the beginning of the previous cycle represented by the timer on the receiver side.
Generally, the operation of the second replacement cancellation mechanism is as follows. When the timer of the transmitter starts the current cycle, the transmitter cancels all PDUs in its buffer that have a sequence number lower than the current value of the variable HSS. After that, as mentioned before, the transmitter changes the value of HSS. Therefore, all PDUs that have been sent but have not confirmed the response after at least one full period will be withdrawn. Correspondingly, when the timer on the receiver side starts the current cycle, the receiver cancels all PDUs with a sequence number lower than the current value of the variable HSR2. After that, the receiver changes HSR2 with the value of HSR1, and changes HSR1 with the value of the highest sequence number of any PDU currently received. As a result, the receiver only withdraws PDUs with a sequence number less than the highest sequence number among the PDUs that started to be transmitted to the receiver in the previous cycle, thus preventing the receiver from accidentally withdrawing any PDUs that the transmitter is still trying to transmit or retransmit.
Figure 2 illustrates this replacement cancellation mechanism in more detail, where the vertical axis represents the sequence number of the PDU transmitted from the transmitter to the receiver, and the horizontal axis represents the elapsed time. The time interval between each "dotted line" vertical line represents a complete time period of a single timer in the transmitter, and the time interval between each "dotted line" vertical line represents the time at the receiver A complete time period of a single timer. Furthermore, the "dotted line" diagram represents the highest sequence number of any PDU at the transmitter, and the "dotted line" diagram represents the highest sequence number of any PDU at the receiver.
As shown in Fig. 2, at the beginning of its first cycle, that is, time point S1, the transmitter sets the variable HSS to the highest sequence number in the transmitter. In the example of FIG. 2, at time S1, the highest serial number of the transmitter is "A". The receiver sets the variable HSR1 to the highest sequence number in the receiver at the beginning of its first cycle, that is, at the time point R1. In the example of FIG. 2, at time R1, the highest sequence number of the receiver is "a". Then, at the beginning of the second transmission cycle, at the time point S2, the transmitter cancels all PDUs with a sequence number lower than the value A. These numbers are shown in the figure by hatching covering the lower part of the broken line at time point S2. After that, the transmitter changes the value of the HSS with the value of the highest serial number currently in the transmitter. In the example in Figure 2, this value is "B". At the beginning of the second receiving cycle, the time point is R2, and the receiver sets the value of the variable HSR2 to "a", which is the current value of HSR1. Then the receiver changes the value of HSR1 with the value of the highest sequence number of R1 at the receiver time point. In the example in Figure 2, this value is displayed as "b".
At the beginning of the third transmission cycle, the time point is S3, and the transmitter cancels all PDUs with a sequence number lower than the current value of the HSS. In the example of Fig. 2, the current value of HSS is "B", and the serial numbers smaller than "B" are represented by the hatched line covering the lower part of the dashed line at time point S3. After that, the transmitter changes the value of the number HSS with the value of the highest sequence number at the transmitter time point S3. At the beginning of the third receiving cycle, the time point is R3, and the receiver cancels all PDUs with a lower sequence number than the current variable HSR2 value "a". Sequence numbers smaller than "a" are shown in the figure by a hatched vertical line covering the lower part of the dotted line at time R3. After that, the receiver sets the value of the variable HSR2 with the current value of HSR1 "b". Then the receiver changes the value of HSR1 with the value "c" of the highest sequence number of R3 at the receiver time point.
It can be understood from Figure 2 that the aforementioned procedure continues to be repeated. Furthermore, it should be understood that the aforementioned procedures can be applied even when data packet segmentation and reassembly are used. In this case, the transmitter may cancel the entire data packet containing PDUs with a sequence number smaller than the variable HSS value, and the receiver may cancel the entire data packet containing PDUs with a sequence number smaller than the variable HSR2 value.
According to the second exemplary embodiment of the present invention, a window-based method is adopted to facilitate the cancellation of the sending. In addition, according to this second exemplary embodiment, a transmission window is defined on the transmitter side, where the size of the window is the length of K serial numbers, and the first serial number in the transmission window represents that the transmitter has not yet been confirmed to reply (also That is, the transmitter has not yet received the PDU with the lowest sequence number value among all the PDUs that have not yet been revoked to confirm whether the PDU has been successfully received. In addition, according to this second exemplary embodiment, only the PDU with the sequence number falling in the transmission window can be transmitted. In addition, a receiving window is defined at the receiver, where the size of the window is also the length of K serial numbers.
The value of K must be less than the maximum value of the window size 2 <sup>k-1</sup> . Furthermore, the value of K may be defined in advance or. Negotiation at the beginning. It is also possible that the value of K will dynamically change during transmission. Those skilled in the art should understand that the buffer size of the transmitter and the input buffer of the receiver should be able to accommodate at least K PDUs.
The technical operation according to the second exemplary embodiment is as follows. The transmitter only transmits the PDU of the sequence number that falls in the transmission window. However, when the transmitter cancels the PDU, the transmission window will move forward, so the PDU with a higher sequence number will fall into the transmission window and become available for transmission. The movement of the transmission window is only allowed to the top of the window and does not exceed the serial number corresponding to the cumulative confirmation response point plus the maximum window size (CA+2 <sup>k-1</sup> ) To avoid ambiguity in serial numbers. When the receiver successfully receives a PDU whose sequence number exceeds the reception window, for example, the sequence number of the PDU is S, the receiver performs a clear (S-K+1) action. According to the clear (S-K+1) action, the receiver releases the space allocated to the input buffer of all missing PDUs with sequence number SK less than or equal to SK. If data packet segmentation and reassembly are used, the action of clearing (S-K+1) may also include canceling all missing PDUs with a sequence number less than or equal to S-K and related to incomplete data packets, even if these PDUs It has been received correctly. The receiver can then release or withdraw these PDUs, because these PDUs with a sequence number less than or equal to S-K can no longer exist in the transmission window, so if they are not received, the receiver can no longer expect to receive them.
2A to 3E show the technique according to the second exemplary embodiment. In FIGS. 3A to 3E, the arc corresponding to the V-shaped part of the circle represents the transmission window of the transmitter, and the arc outside the circle represents the receiving window of the receiver. As shown in the figure, the transmission window extends from the point marked BM to the point marked TP, where BM represents the lowest sequence number at the bottom of the transmission window, and TP represents the highest sequence number at the top of the transmission window. In addition, there are CA and CP, where CA represents the cumulative confirmation response point, and all PDUs with a sequence number less than or equal to the corresponding CA have been confirmed as successfully received or cancelled by the receiver. The CP point represents the current index, or corresponds to the sequence number of the next new PDU transmitted from the transmitter to the receiver. In addition, Figures 3A to 3E show several unmarked points along the arc corresponding to the transmission window between BM and CP. These unmarked dots represent PDUs that have been transmitted but have not yet been acknowledged as successfully received.
Figure 3A shows an initial situation where the receiving window is located before the transmitting window. The reason why the receiving window is ahead of the transmission window is usually because the ARQ message confirms that one or more PDUs of the reply transmitter have not been received. As a result, these ARQ messages are received and processed at the transmitter, thus advancing the CA point and the transmission window, as shown in Figure 3B. In fact, the transmitter may continue to transmit PDUs whose transmission window is less than or equal to the highest sequence number. This situation is shown in Figure 3C, where the CP point actually overlaps the TP point. At this point, the teleporter was delayed. This means that the transmitter cannot transmit any new PDUs until the transmission window advances. Of course, the transmitter can continue to retransmit the PDU whose sequence number is in the current transmission window and has not yet confirmed the reply.
To avoid too long a delay, the transmitter can decide to cancel one or more PDUs located at the bottom of the transmission window, as shown in Figure 3D. This decision may be based, for example, on the basis that the transmitter has retransmitted one or more PDUs several times, or on the basis that the time interval for one or more PDUs has been exceeded. Figure 3D also shows that by canceling one or more PDUs located at the bottom of the transmission window, the transmission window can continue to advance. In this way, the new PDU will fall into the transmission window so the transmitter will not be delayed.
At this point, the receiving window lags behind the transmitting window. However, receiving a PDU that exceeds the receiving window triggers the receiver to perform a cancellation action. For example, if a PDU with a sequence number of S is received at the TP point in Fig. 3E, the receiver performs a clear (S-K+1) action, which corresponds to a clear (BM) action, in which all items with a value smaller than that correspond to the bottom of the transmission window The PDU of the sequence number of the BM point is cancelled, which causes the transmission window to be aligned with the receiving window. Then the receiver will release or cancel all PDUs with a sequence number of SK or less. If these PDUs correspond to a complete data packet, they will be passed to a higher network layer for processing or transmitted to the receiver in the next segment. As mentioned earlier, PDUs with sequence numbers less than or equal to SK must be placed under the transmission window by definition and cannot be transmitted in rounds. Therefore, if these PDUs have not been received correctly, there is no chance that they will be successfully retransmitted and received. After the elimination action, the receiving window can move forward as shown in the figure.
In the first and second exemplary embodiments, as well as the aforementioned alternative embodiments, explicit signaling is not used. This means that no extra bandwidth is used to inform the receiver that some PDUs have been cancelled by the transmitter. The main advantage achieved by these embodiments is that bandwidth can be used more effectively. This may be particularly useful when bandwidth is limited or expensive, and it is usually the case. However, if bandwidth is not limited or, for example, speed is more important than effective use of bandwidth, another cancellation mechanism may be used, in which a clear signaling method is used to notify the receiver that certain PDUs have been cancelled by the transmitter .
The multiple exemplary embodiments described below, unlike the previous embodiments, rely on an explicit signaling method to notify the receiver when the transmitter cancels one or more PDUs. In these exemplary embodiments, the header of each PDU includes the hereinafter referred to as the revocation bit and the data valid bit. When the revocation bit in the header of a given PDU is set, a signal will be sent to the receiver to notify the receiver that all PDUs with a sequence number smaller than this PDU have been revoked by the transmitter. Therefore, the receiver should no longer expect to receive these PDUs. Then the receiver can perform a cancellation action to move the receiving window forward. If the data valid bit is used in addition to the cancel bit, and the data valid bit in the header of a given PDU is set, a signal will be sent to notify the receiver that the loading part of the PDU contains user data. Correspondingly, when the data valid bit is reset, a signal will be sent to inform the receiver that the loading part of the PDU does not contain user data, and the receiver should only process the header part of the PDU, and then cancel the PDU. Obviously, the difference between the following exemplary embodiments is whether only one revocation bit is used, or both the revocation bit and the data valid bit are used. All the following example embodiments differ from the foregoing example embodiments in that the foregoing example embodiments neither use the revocation bit nor the data valid bit.
According to the third exemplary embodiment of the present invention, a bit extension is used in the header portion of each PDU to facilitate revocation signaling, where the bit extension is a revocation bit as described above. In addition, according to the third exemplary embodiment of the present invention, the transmitter stores the first PDU of any data packet that is not fully acknowledged in the buffer until the PDU is fully acknowledged (ie, completely received or Revoked). Therefore, if the transmitter transmits all PDUs related to a data packet to the receiver, and the transmitter receives a selective positive confirmation response from the receiver, indicating that the first PDU has been received correctly, the transmitter will first A PDU is stored in the buffer until the entire data packet is fully acknowledged (that is, until all the remaining PDUs are acknowledged by the receiver by sending selective or cumulative positive acknowledgement responses). A further requirement of this third exemplary embodiment is that after the transmitter performs a cancellation action, it will continue to store at least one valid PDU in its refill. It should be noted here that some types of memory management systems require PDUs related to the same data packet to be stored together, so all PDUs related to the same data packet can be configured and recycled at the same time. It should also be noted that this third exemplary embodiment can lead to the use of such a memory management system.
The revocation mechanism of this third exemplary embodiment operates as follows. When the transmitter revokes a PDU related to a given data packet, a clear revocation signal is generated. This revocation signal appears in the form of a PDU, which is referred to as a revocation signal PDU hereinafter, in which the revocation bit in the header part of the revocation signal PDU is set. If the transmitter has the first unrevoked PDU and its sequence number falls within the range of the transmission window, the revocation signal PDU is the first unrevoked PDU. However, if the transmitter does not have the first unrevoked PDU, or the first unrevoked PDU cannot be transmitted because the sequence number is not within the transmission window, the revocation signal PDU is the latest stored PDU. When the first unrevoked PDU is transmitted later, the revocation bit will be set.
In addition, according to this third exemplary embodiment, if the transmitter receives an ARQ message from the receiver, it indicates that the receiver has not confirmed that the reply has been cancelled by the transmitter, and a minimum value has passed since the transmitter transmitted the last cancellation signal PDU. Time interval T <sub>min</sub> When the time, the transmitter will regenerate a cancel signal PDU. However, it should be noted that the regenerated revocation signal PDU may be different from the previous revocation signal PDU, because the previous revocation signal PDU has been mapped to a data packet with a fully confirmed response. The revocation signal PDU must be regenerated to ensure that the receiver is notified that the previous PDU has been cancelled by the transmitter, even if the previous revocation signal is not successfully received by the receiver. Time T <sub>min</sub> The value of should be a constant, and the time T <sub>min</sub> The value of should be at least as long as the time required to transmit a signal back and forth between the transmitter and receiver.
Furthermore, the third exemplary embodiment requires that the first uncancelled PDU is the first PDU related to a data packet, and it is stored in the buffer until all PDUs related to the data packet are responded. If this is not the case, the receiver may receive a PDU with the revocation bit set, and this PDU is not the first PDU in a data packet. When receiving the cancel signal PDU, the receiver will perform a cancel action to cause the first PDU of the data packet to be canceled. The advantage of this third exemplary embodiment is that a reliable revocation signal mechanism can be provided by simply extending the header of each PDU by one bit.
FIG. 4 shows the cancellation mechanism of the third exemplary embodiment, where the leftmost vertical line represents the timeline of events that occurred at the transmitter, and the rightmost vertical line represents the timeline of events that occurred at the receiver. In addition, the PDU sequence number that appears on the right side of the rightmost vertical line represents the PDU sequence number that has been successfully received by the receiver in the input line punch, and the PDU sequence number that appears on the left of the leftmost vertical line represents the PDU sequence number stored in the transmitter. PDU in the buffer. The brackets indicate the beginning and end of each data packet. For example, the sequence numbers S7, S8, and S9 correspond to the first data packet <sub>,</sub> The second and third PDU. In addition, the arrow sent by the receiver represents, for example, an ARQ message containing, for example, a selective positive confirmation reply signal, a selective negative confirmation reply signal, and/or a cumulative confirmation reply signal. The arrow sent by the transmitter represents the PDU being transmitted or retransmitted, where an asterisk (*) after some PDU sequence number indicates that a certain PDU has not been successfully received. Finally, the letter "D" after the IDU serial number indicates that the corresponding IDU is a revocation signal PDU.
Initially, Figure 4 shows that the receiver's input buffer contains PDUs with sequence numbers S2 and S4. Then, Figure 4 shows that the receiver transmits an ARQ message to the transmitter, indicating that all PDUs starting with the sequence number SO have been accumulated acknowledgment replies. Among them, S2 and S4 were confirmed to be affirmative, while S1, S3, and S5 to S8 were negatively confirmed. Therefore, the buffer of the transmitter continues to store S1, S3 and S5 to S8. S9 is also included in the buffer. In addition, the transmitter saves S4, because S4 is the first PDU corresponding to the data packet for which the reply has not been fully confirmed. As explained earlier, the transmitter will continue to store S4 until all IDUs corresponding to this data packet have been confirmed four times.
The transmitter responds by retransmitting S1, S3 and S5 to S8. As shown in the figure, S1, S5, and S8 were successfully received, but S3, S6, and S7 were not successfully received. So now the input buffer of the receiver contains S1, S2, S4, S5 and S8. The receiver's response is to transmit an ARQ message, accumulate confirmation responses to all PDUs starting from S2, confirm confirmation responses S4, S5 and S8, and negative confirmation responses S3, S6 and S7.
When the transmitter receives the last ARQ message containing the accumulated confirmation response starting from S2, although S1 has been confirmed by the receiver, the transmitter continues to store S1 for the same reason as that of storing S4 as explained earlier. . Therefore, the buffer of the transmitter now contains S3, S6, S7 and S9, as well as S1 and S4. Then the transmitter tries to retransmit S3, S6, S7 and S9. As shown in the figure, only S7 was successfully received. Therefore, the input buffer of the receiver now contains S1, S2, S4, S5, S7 and S8. Then the next ARQ message sent to the transmitter contains a cumulative confirmation response of PDUs starting from S2, positive confirmation responses S4, S5, S7 and S8, and negative confirmation responses S3 and S6. At this point, as shown in the figure, the transmitter withdraws the PDUs from S1 to S3. The transmitter may decide to cancel after a certain time interval expires or after several unsuccessful retransmissions, for example, S3. In addition, although S7 has been successfully received, the transmitter continues to store S7 until the data packet corresponding to S7 is fully acknowledged. The buffer of the transmitter also contains S6 and S9. The transmitter now uses S4 to transmit the cancellation signal PDU (labeled S4D). The transmitter uses S4 as the revocation signal PDU because it is the first PDU of the first incompletely acknowledged reply data packet. In addition, the transmitter retransmits S6 and S9, as shown in the figure, only S6 is successfully received. As a result, the receiver's input punch now contains S1, S2, and S4 to S8. Therefore, the receiver transmits an ARQ message including the accumulated confirmation reply starting from S2 to the transmitter, positive confirmation reply S4 to S8, and negative confirmation reply S3 and S9.
The negative acknowledgement response in the ARQ message S3 informs the transmitter that the revocation signal PDU S4D has not been successfully received by the receiver. However, because S6 has been successfully received, the entire data packet containing S4 to S6 has been acknowledged, so the transmitter releases S6 and S4. Then the transmitter regenerates the revocation signal PDU to inform the receiver which PDUs have been cancelled by the transmitter, but this time the transmitter uses S7 (marked as S7D) as the revocation signal PDU, as shown in the figure. In addition, the transmitter retransmits S9. Upon receiving the cancellation signal PDUs S7D and S9, the receiver performs the clear (7) action, causing all PDUs with a sequence number less than S7 on the receiver side to be cancelled. In addition, because the entire data packet containing S7 to S9 has been successfully received, the receiver can also cancel S7 to S9. Therefore, the receiver transmits an ARQ message to the transmitter, including the accumulated message to S9.
It should be understood that when the transmitter withdraws the PDU from its buffer, the transmission window moves forward, thus allowing the transmitter to transmit a new PDU. Similarly, when the receiver cancels the PDU, the receiving window also moves forward, and then the technique described in the third exemplary embodiment continues to operate as described above.
According to the fourth exemplary embodiment of the present invention, a bit extension of the header portion of each PDU is used again to facilitate the de-signaling operation, where this bit is extended to a de-signaling bit. In this embodiment, the usage of the undo bit is somewhat different from that in the previous embodiment. In this example, the transmitter cancels the PDU of a data packet. The transmitter sets the revocation bit of all PDUs in this data packet. The data packet is the first data packet that has not been revoked or fully acknowledged. If there is no such data packet in the transmitter, the transmitter will set the revocation bit of all PDUs of the next available data packet. Even in the process of retransmission, the revocation bit of these PDUs still maintains the set state. Furthermore, if this PDU for the first revocation data packet cannot be transmitted, it may be because it exceeds the range of the transmitter window or has not reached the transmitter. The transmitter uses the last stored PDU as the revocation signal PDU (that is, The PDU with the highest sequence number in the transmission window). And, when the transmitter receives a negative confirmation response from the receiver about a revoked PDU, and the time interval T since the last time the transmitter generated the revoke signal <sub>min</sub> When it has exceeded, the transmitter will regenerate the cancellation signal.
When receiving a PDU with a revocation bit set, the receiver cancels all PDUs of data packets that were not completely received before the data packet containing the PDU with the revocation bit. When at least one cancel bit of the PDU in the receiver buffer is set, the receiver completes the cancel action by saving the following variables: HDISCARD, HSATRT, and HSTOP. In more detail, the value of the variable HDISCARD represents the highest sequence number in the PDU with the revocation bit in the input buffer. The value of the variable USTART represents the sequence number of the PDU that has the highest value and does not exceed the value of HDISCARD among the PDUs with the start bit set. The value of the variable HSTOP represents the sequence number of the PDU with the highest value and less than the value of HDISCARD among the PDUs with the stop bit set. It should be noted that if there is no PDU conforming to the HSTART or HSTOP standard rate, the values of the variables HSTART and HSTOP are set to the sequence number at the bottom of the receiving window minus one. In this way, basically these variables will not have an effect on the algorithm of the undo action. When the cancel bit of the PDU in the input buffer of at least one receiver is set, when the receiver receives a PDU that increases any of the aforementioned variables HDISCARD, HSTART or HSTOP, it will perform a clear (maximum (HSTART) ,HSTOP+1)) action.
According to this fourth exemplary embodiment, when the receiver receives a PDU with a sequence number S and with both the cancel bit and the start bit set, it will perform a clear (S) action. However, if the transmitter has never sent such PDUs, because they have been acknowledged and released by the transmitter, the PDUs after the data packet will also send a revocation signal. Then, when the data packet is completely received by the receiver, the presence of at least one PDU with its revocation bit set to ensure that a purification action with the first PDU sequence number in the data packet is executed. However, before the complete data packet is received, the receiver can perform a "partial clear" action, that is, a clear action with a lower sequence number is used.
FIG. 5 shows the fourth exemplary embodiment, in which the leftmost vertical line represents the timeline of events occurring at the transmitter, and the rightmost vertical line represents the timeline of events occurring at the receiver. In addition, the serial number that appears on the left of the leftmost vertical line represents the PDU currently stored in the transmitter's buffer, and the serial number that appears on the right of the rightmost vertical line represents that it has been successfully received by the receiver in the input buffer PDU sequence number. In addition, the arrow emitted by the right vertical line represents the ARQ message, and the arrow emitted by the leftmost vertical line represents the transmitted or retransmitted PDU. Finally, the brackets indicate the first and last PDUs of a certain data packet. For example, PDUS7 is the first PDU of the corresponding data packet. Therefore, the start bit of the header part of S7 should be set. On the contrary, the last PDU of the same data packet of PDUS9 is shown in the left parenthesis. Therefore, the stop bit in the header of S9 should be set.
As shown in Figure 5, only PDU S2 and PDU S4 are successfully received and stored in the receiver's input buffer. Therefore, the receiver transmits an ARQ message to the transmitter, including a cumulative response greater than S0, a selective positive confirmation response regarding S2 and S4, and a negative confirmation response regarding S1, S3, S5 to S8. When receiving this ARQ message, the transmitter releases S2 and S4, as shown in the buffer content of the transmitter, and retransmits S1, S3, S5 to S8. However, the appearance of an asterisk (*) means that S1 and S7 have not been successfully received, while S3, S5, S6 and S8 have been successfully received. Because PDUs with no cancel bit set are currently stored in the receiver, the values of the variables HDISCARD, HSTART and HSTOP are interpreted as "don'tcare" and are therefore ignored.
Now the receiver transmits another ARQ message to the transmitter. This ARQ message provides a cumulative response greater than S0, including selective positive confirmation responses for S2 to S6 and S8, and a negative confirmation response for S1 and S7. At this point, the teleporter cancels S1. Of course, the decision to withdraw may be based on a pre-defined number of retransmissions or the expiration of a pre-defined time interval. Since S3, S5, and S6 have been successfully received and confirmed the reply, the transmitter also releases these PDUs from its buffer, leaving the data packet containing S7 to S9 as the next uncancelled and incompletely confirmed reply data packet. Therefore, the revocation bit of the header part of both S7 and S9 is set before retransmission. Then the transmitter retransmits S7D and S9D, where the "D" letter indicates that the cancel bit is set. In addition, the transmitter already contains data packets from S10 to S12, so the transmitter also transmits these PDUs to the receiver. However, as shown in the figure, S7D and S12 were not successfully received. Therefore, the only received PDU with the revocation bit set is S9D.
When receiving S9D, the receiver sets the value of the variable HDISCARD to g, the value of the variable HSTART to 4, and the value of the variable HSTOP to 6. Then, this value triggers the receiver to perform the clear (7) action. Because the data packets containing S4, S5, and S6 are completely and successfully received, they are sent to the higher network layer as shown in the figure. Therefore, the result of the operation (7) is cleared, leaving S2 and S3 to be cancelled. The receiver then transmits an ARQ message to the transmitter, which includes a cumulative confirmation response greater than S6, selective positive confirmation responses for S8 to S11, and selective negative confirmation responses for S7 and S12.
When the latest ARQ message is received by the receiver, the transmitter releases S9D, S10 and S11, leaving only S7D and S12. Therefore, the transmitter retransmits S7D and S12. When the two PDUs are successfully received, the receiver can transmit data packets containing S7D to S9D and S10 to S12 to the higher network layer. As a result, the receiver transmits the next ARQ message, which includes a cumulative confirmation response greater than S12. When receiving this ARQ message, the transmitter can clear its buffer as shown in the figure.
Another alternative to the revocation mechanism of the aforementioned third and fourth embodiments is to use an extra bit extension in the header part of each PDU. This extra bit is the valid data bit that has been previously defined. Therefore, the header part of each PDU contains the revocation bit and the data valid bit.
This replacement mechanism works as follows. When there is no unacknowledged PDU in the buffer of the transmitter after the transmitter performs a deactivation action, the first PDU that has not been deactivated is called a "dummy" PDU. The data valid bit in the header part of a dummy PDU is reset, and the revocation bit is set. Furthermore, the sequence number of the dummy PDU is one number higher than the last withdrawn PDU, and then the dummy PDU is transmitted if its sequence number is in the transmission window.
When the data valid bit is used, there is no need to save at least one PDU (that is, the last stored PDU) in the transmission buffer after the cancel action. In this alternative embodiment, the last stored PDU is replaced by the PDU that entered the window last, and the PDU that entered the window last is defined as the PDU with the highest sequence number in the transmission window. When the last PDU that enters the window during transmission, its material valid bit will be reset.
When a PDU with a sequence number of S is received and its data valid bit is reset and the cancel bit is set, the receiver performs a clear (S) action. The receiver will not acknowledge this PDU in the selective or cumulative acknowledgement response.
The difference between this alternative embodiment and the previous embodiment is that the data valid bit provides a way to cancel sending without sending any user material. The advantage of this alternative embodiment is that even in the cancel sending buffer After the previous PDU, the receiver can be notified to cancel the previous PDU of the transmitter. Therefore, the receiver's buffer can be recycled immediately and used to put other PDUs.
According to another alternative revocation mechanism similar to the revocation mechanism described in the aforementioned third exemplary embodiment, the transmitter does not need to maintain the first PDU of an incompletely responded data packet. If this first PDU has been replied, the transmitter may or may not continue to store it in the buffer. The main difference between this replacement cancellation mechanism and the cancellation mechanism described in the third exemplary embodiment is that when the transmitter cancels the PDU and the first uncancelled PDU can be transmitted (because it is in the transmission window), the cancellation signal PDU is the first An unrevoked PDU. If the loading part of the PDU can be used by the transmitter, because it has not yet been acknowledged or has been acknowledged but is still stored in the buffer, the transmitter will transmit the PDU and its loading part and set the data valid bit, otherwise its data The effective bit is reset. The advantage of this replacement cancellation mechanism is that only a small amount of memory is needed in the transmitter and receiver, because the cancellation signal can be transmitted immediately and because the transmitter does not need to save the PDU that has confirmed the reply.
Figure 6 shows this alternative cancellation mechanism, where the leftmost vertical line represents the timeline of events delivered at the transmitter, and the rightmost vertical line represents the timeline of events that occurred at the receiver. In addition, the sequence number that appears on the right of the rightmost vertical line represents the sequence number of the PDU that has been successfully received by the receiver in the input buffer, and the sequence number that appears on the left of the leftmost vertical line represents the current storage in the transmitter's buffer PDU. In addition, the arrow sent by the receiver represents the ARQ message, and the arrow sent by the transmitter represents the transmitted or retransmitted PDU. Finally, the brackets represent the beginning and end of each material package.
As shown in Figure 6, the receiver's input buffer initially contains PDUS2 and S4. The receiver then transmits an ARQ message to the transmitter. This ARQ message contains all cumulative confirmation replies starting from sequence number S0, including selective positive confirmation replies on S2 and S4, and selective negative confirmation replies from S1, S3 and S5 to S8 Reply. When the transmitter receives the selective affirmative reply regarding S2 and S4, as shown in the figure, the transmitter releases S2 and S4 from its buffer. Then the transmitter retransmits S1, S3 and S5 to S8. The asterisk (*) that appears after S3, S6, and S7 indicates the result of retransmission. These PDUs were not successfully received. However, S1, S5 and S8 were successfully received.
After the last retransmission, the receiver's input buffer contains S1, S2, S4, S5 and S8. The receiver then transmits another ARQ message to the transmitter. This ARQ message contains a cumulative confirmation response starting from sequence number S2, selective positive confirmation responses for S4, S5 and S8, and selective negative confirmation responses for S3, S6 and S7 Reply. When the transmitter receives this ARQ message, it releases S1 and S5, and cancels S3. The decision to withdraw S3 is based on a pre-defined number of retransmissions or the expiration of a pre-defined time interval. Therefore, as shown in the figure, the buffer of the transmitter now contains S6, S7 and S9. Then the transmitter uses S4 to generate a revocation signal PDU (labeled as S4D), because it is the first unrevoked PDU. It should be noted that the cancellation signal PDU S4D in FIG. 6 is contained in a square. This square is used to indicate that the data valid bit in the header part of this PDU has been reset, so the data contained in the load part of this PDU will be ignored. in addition. The transmitter retransmits S6 and S7, and transmits S9 for the first time. As shown in the figure, S7 and S9 were successfully received, but the revocation signal PDUs S4D and S6 were not received.
Now the input buffer of the receiver contains S1, S2, S4, S5, S7 to S9. Then the receiver transmits an ARQ message to the transmitter, including a cumulative confirmation response of all PDUs starting from S2, negative confirmation responses S3 and S6, and positive confirmation responses S4, S5, S7 to S9. Since the transmitter has been notified that S7 and S9 have been successfully received, S7 and S9 can be released. However, because the ARQ message only cumulatively confirms the reply to the PDU starting from S2, the transmitter knows that the revocation signal PDU S4D has not reached the receiver. Therefore, the transmitter retransmits S4D and S6 that was not successfully received. Similarly, it should be noted that the cancellation signal PDU S4D in FIG. 6 is contained in a square. This square is used to indicate that the data valid bit in the header part of this PDU has been reset, so the data contained in the load part of this PDU will be ignored. This time, both S4D and S6 are successfully received, so the receiver performs the action of clear (4), so S1 to S3 are cancelled. In addition, because the receiver has successfully received S4 to S6 and S7 to S9, the two data packets about these PDUs can be passed to the higher network layer and the ARQ message can be transmitted back to the transmitter, which includes a large to S9 The cumulative confirmation response.
The invention and several reference embodiments have been described here. However, those skilled in the art should understand that the present invention may be implemented in other forms different from the foregoing embodiments without departing from its spirit. The several embodiments described above are for illustration and should not be regarded as a limitation of the present invention.
The scope of the present invention is defined by the following patent application scope, rather than the foregoing description, and includes all equivalent implementations and all changes included in the patent application scope.
Schematic description
Figures 1A and 1B respectively show the first exemplary embodiment of the present invention and its alternative embodiments, in which the synchronization timer is used to trigger the cancellation of PDU;
Figure 2 shows another embodiment of the present invention, in which a single timer at the transmitter and a single timer at the receiver are used to trigger PDL cancellation;
Figures 3A to 3E show a second exemplary embodiment of the present invention, in which a "window-based" revocation mechanism is used;
Figure 4 shows a third exemplary embodiment of the present invention, in which a revocation bit in the header of each PDU is used for the purpose of revocation signaling;
Figure 5 shows the fourth exemplary embodiment of the present invention, in which the revocation bit of each PDU header linked to the first data packet that has not been revoked nor fully responded at the transmitter side may be used as revocation The purpose of the signal;
Figure 6 shows another alternative embodiment of the present invention, in which the transmitter does not need to store an incomplete response data packet first in its buffer.
Symbol description of main components
ARQ. . . Automatic retransmission request (Automatic.Repeat.Request)
PDU. . . (protocal.data unit) protocol data unit
Ack. . . (acknowledgement) Reply
Nack. . . Negative reply
TS, TR, TR3, TR4. . . time interval
S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12. . . Data packet
HSS, HSR1, HSR2. . . variable
A, B. . . The highest serial number of the transmitter
a,b. . . Receiver highest serial number
R1, R2, R3, R4, R5. . . Point in time
HDISCARD, HSTART, HSTOP. . . variable
BM. . . Lowest sequence number
TP. . . Highest sequence number
CA, CP. . . point
100 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39 Sheet 40 Sheet 41 Sheet 42 Sheet 43 Sheet 44 Sheet 45 Sheet 46 Sheet 47 Sheet 48 Sheet 49 Sheet 50 Sheet 51 Sheet 52 Sheet 53 Sheet 54 Sheet 55 Sheet 56 Sheet 57 Sheet 58 Sheet 59 Sheet 60 Sheet 61 Sheet 62 Sheet 63 Sheet 64 Sheet 65 Sheet 66 Sheet 67 Sheet 68 Sheet 69 Sheet 70 Sheet 71 Sheet 72 Sheet 73 Sheet 74 Sheet 75 Sheet 76 Sheet 77 Sheet 78 Sheet 79 Sheet 80 Sheet 81 Sheet 82 Sheet 83 Sheet 84 Sheet 85 Sheet 86 Sheet 87 Sheet 88 Sheet 89 Sheet 90 Sheet 91 Sheet 92 Sheet 93 Sheet 94 Sheet 95 Sheet 96 Sheet 97 Sheet 98 Sheet 99 Sheet 100
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9998379B2 | Cited by | United States of America | Applicant |
12 members in 8 offices
Priority claims1
| Document | Office | Kind | Date |
|---|---|---|---|
| 27325999 | United States of America | A |
Members12
| Document | Office | Kind | |
|---|---|---|---|
| CA2397778A1 | Canada | A1 | |
| WO0057594A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU4154200A | Australia | A | |
| EP1161810A1 | European Patent Office (EPO) | A1 | |
| TW477129BThis record | Taiwan Province of China | B | |
| AR029344A1 | Argentina | A1 | |
| US6621796B1 | United States of America | B1 | |
| EP1161810B1 | European Patent Office (EPO) | B1 | |
| DE60030094D1 | Germany | D1 | |
| EP1720279A1 | European Patent Office (EPO) | A1 | |
| DE60030094T2 | Germany | T2 | |
| CA2397778C | Canada | C |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Expiration of patent term of an invention patentMK4A | MK4A | |
| Issue of patent certificate for granted invention patentGrantedGD4A | GD4A |
Numbers
- Publication
- 477129
- Application
- 89103550
Titles4
- Chinese
- 選擇重發自動重發耍未用撤銷機制
- English
- DISCARD MECHANISM FOR SELECTIVE REPEAT AUTOMATICREPEAT REQUEST
- Unlabeled
- 選擇重發自動重發耍未用撤銷機制
- Unlabeled
- Select retransmission, automatic retransmission and unused cancellation mechanism
Classification
- CPC, 6
- H04L1/1848
- H04L1/1621
- H04L1/1635
- H04L1/1809
- H04L1/1832
- H04L1/1838
- IPC, 2
- H04L1 16
- H04L1 18