CN113906700A - Apparatus and method for communicating acknowledgements in a network transport protocol - Google Patents

Apparatus and method for communicating acknowledgements in a network transport protocol Download PDF

Info

Publication number
CN113906700A
CN113906700A CN202080017528.3A CN202080017528A CN113906700A CN 113906700 A CN113906700 A CN 113906700A CN 202080017528 A CN202080017528 A CN 202080017528A CN 113906700 A CN113906700 A CN 113906700A
Authority
CN
China
Prior art keywords
network device
status information
information
ranges
data packets
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.)
Granted
Application number
CN202080017528.3A
Other languages
Chinese (zh)
Other versions
CN113906700B (en
Inventor
鲁文·科恩
本-沙哈尔·贝尔彻
利奥·赫尔莫什
塔尔·米兹拉希
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113906700A publication Critical patent/CN113906700A/en
Application granted granted Critical
Publication of CN113906700B publication Critical patent/CN113906700B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/1607Details of the supervisory signal
    • H04L1/1621Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/1607Details of the supervisory signal
    • H04L1/1664Details of the supervisory signal the supervisory signal being transmitted together with payload signals; piggybacking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/1607Details of the supervisory signal
    • H04L1/1685Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal

Abstract

The present application relates to protocols for ensuring data reliability in communication networks. To this end, the present disclosure proposes a first network device for: receiving a data packet from a second network device; and determining a set of data packets that were not correctly received at the first network device. In particular, the first network device is configured to transmit one or more status information to the second network device, wherein the one or more status information indicates a subset of the set of data packets. In addition, the present application also proposes a second network device, configured to: transmitting the data packet to the first network device; receiving one or more status information from a first network device; and, accordingly, retransmitting the subset of data packets to the first network device.

Description

Apparatus and method for communicating acknowledgements in a network transport protocol
Technical Field
The present application relates to communication networks and, more particularly, to data reliability in data transmission of communication networks. The present application presents an apparatus and method for communicating acknowledgement information in a compact and continuous manner.
Background
In data networks, it is often necessary to ensure data reliability when two computers communicate with each other. To this end, the sender appends a sequence number to each packet and the receiver informs the sender which packets have been received and which packets have been lost. The sender must retransmit the lost data packet until the receiver receives the entire data packet.
Protocols for ensuring data reliability can be divided into three broad categories: Stop-and-Wait, backoff N frame (go-back-N), and Selective-Repeat.
In the stop equation, the transmitting side transmits a packet and waits for an Acknowledgement (ACK) of the packet. Once the ACK arrives at the sender, it transmits the next packet. If no ACK is received, it retransmits the previous packet again.
In the rollback N frame, the receiver receives only the packet with the packet number N +1 after receiving all the packets before the packet number N. If packet N +1 is not received, but a packet with a higher sequence number, e.g., N +2, is received, the receiver discards the out-of-order packet. When the sender is informed that packet N +1 is lost, it knows that it must not only retransmit this packet, but also transmit all subsequent packets. The stop equation is actually a special case of rewinding N frames, where N ═ 1.
In selective retransmission, the receiver is willing to receive out of order packets. The receiver places the packets in a reorder buffer. Then, it notifies only the sender of the information of the lost packet, and the sender retransmits only the lost packet.
It is noted that selective retransmission is a more efficient protocol because only packets that do not reach the receiver are retransmitted. However, selective retransmission is more difficult to implement than fallback N frames for two main reasons. The first is that selective retransmission requires the receiver to store out-of-order packets in a special buffer until the missing packet is received (which cannot pass the out-of-order packet to the application). The second reason is to inform the sender which packets have been received and which packets have been lost, which is a difficult task in an asynchronous and unreliable network. In particular, it is possible that the receiver informs the sender that a data packet is lost, and that (re-) transmission of this data packet can reach the receiver very quickly. Therefore, it is always difficult for the sender of selective retransmission to decide whether to obey the retransmission request.
Disclosure of Invention
In view of the above limitations, embodiments of the present application are directed to an improved scheme for ensuring data reliability. In particular, it is an object to provide a generic protocol that ensures data reliability and makes it applicable to cases where a large number of lost data packets and the number of bits for ACK information is limited. One object is to achieve a compact and consistent representation of the ACK range.
This object is achieved by the embodiments provided in the appended independent claims. The dependent claims define further advantageous embodiments of the embodiments.
In particular, embodiments of the present application propose several algorithms for determining which missed ranges to report in the ACK. In addition, the embodiment of the application also provides a flexible method for triggering the ACK.
A first aspect of the present application provides a first network device configured to: receiving a data packet from a second network device; determining a set of data packets that were not correctly received on the first network device; and transmitting one or more status messages to the second network device, wherein the one or more status messages indicate a subset of the set of packets.
By being configured to report only a portion of the lost data packets, the first network device (recipient) provides a compact solution for ensuring data stability. In particular, the solution ensures data reliability and is applicable in the case of a large number of lost packets.
In one embodiment of the first aspect, the set of packets includes N ranges, N being a positive integer, each range includes one or more consecutive packets, and the one or more status information indicates a subset of the N ranges.
Generally, the purpose of the status information is to inform the sender which packets were sent and which were lost before the polling information was correctly received. Embodiments of the present application propose to report only a subset of the missing ranges in the status information.
In one embodiment of the first aspect, the one or more status information further indicates a last received data packet.
Optionally, the first network device may further indicate a sequence number (e.g., a positive integer L) of a last received data packet in the status information. It is noted that this is to inform the sender (i.e. the second network device) that the receiver (i.e. the first network device) has received all data packets before the data packet number L, except for the loss range reported in the status information.
In an embodiment of the first aspect, the first network device is further configured to select, as the subset indicated in the one or more status information, the first X ranges from the N ranges, where X is a positive integer smaller than N.
According to a first algorithm, the first network device may always report the first loss range in the status information. Notably, it allows the sender (i.e., the second network device) to retransmit the first loss range as early as possible.
In one embodiment of the first aspect, the maximum number of ranges indicated in the one or more status information is Y, Y being a positive integer, and if Y is greater than X, the first network device is further configured to: further selecting Y-X ranges from the N ranges using a round robin strategy, or further randomly selecting Y-X ranges from the N ranges; and using the selected top X ranges and Y-X ranges as a subset indicated in the one or more status information.
For example, the missing range may be gap 1, gap 2, gap 3, gap 4 and gap 5, and Y ═ 2 and X ═ 1. According to this algorithm, the first status information will report gap 1 (the first missing range) and another gap, randomly selected from gap 2, gap 3, gap 4 and gap 5.
In an embodiment of the first aspect, the first network device is further configured to select, using a polling policy, the first X ranges from the N ranges as the subset indicated in the one or more status information, X being a positive integer smaller than N.
According to the present algorithm, if the range of losses is, for example, gap 1, gap 2, gap 3, gap 4 and gap 5, and the receiver can report only two gaps, it reports gap 1 and gap 2 in the first state information, gap 3 and gap 4 in the second state information, gap 5 and gap 1 in the third state information, and so on.
In one implementation of the first aspect, the first network device is configured to: randomly selecting X ranges from the N ranges as the subset indicated in the one or more status information, X being a positive integer less than N.
According to this algorithm, the lost range may be randomly selected by the first network device.
In an embodiment of the first aspect, each range of the N ranges is associated with a probability parameter, and the first network device randomly selects X ranges from the N ranges based on the probability parameter.
That is, the first network device may assign different weights to different ranges of loss. For example, a first range may be randomly selected using the assigned weights/probabilities, and then a second range may be selected. Alternatively, if the first range is selected again, the algorithm may make another random selection until a different range is selected. Optionally, the probability may be adjusted according to the first selection.
In one implementation of the first aspect, the first network device is configured to: indicating a missing range of the N ranges by indicating a sequence of first missing data packets of the missing range and a number of missing data packets after the first missing data packet; or a sequence of first missing data packets indicating said missing range and a sequence of last missing data packets indicating said missing range.
It is noted that when reporting the missing range, the gap may be shown in different ways. Preferably, to report the gap in minimum bit usage, the beginning and end of the packet sequence number may be used. Alternatively, the gap may be shown using the beginning of the lost sequence and a counter indicating how the packet was lost from that point.
In one implementation of the first aspect, the first network device is configured to receive one or more requests for the status information from the second network device; and
transmitting one or more of the status information to the second network device in response to each request.
Alternatively, the status information may be reported to the sender in response to a request from the sender.
In one embodiment of the first aspect, at least one of the one or more requests is polling information or data information.
For example, the extent of the transmission loss is in the status information in response to polling information or data information (as in Transmission Control Protocol (TCP)).
In one implementation of the first aspect, the first network device is configured to periodically transmit the one or more status messages to the second network device.
Possibly, the status information may be sent periodically without polling information.
In one implementation of the first aspect, the first network device is configured to piggyback the one or more status information on one or more data packets of the second network device.
Alternatively, the status information may not necessarily be separate information, i.e. may instead be piggybacked on a data package.
In an embodiment of the first aspect, at least one of the one or more status information further includes an indication that the information included in the at least one status information is partial information, and the first network device is further configured to: transmitting one or more of the following status information including remaining information to the second network device.
Optionally, the second network device, i.e. the sender, may be notified whether the information of the status information is partial information or complete information.
In one embodiment of the first aspect, the one or more status information includes a bitmap indicating a subset of the data packets and, optionally, one or more data packets received at the first network device.
Alternatively, a bitmap covering a range of specific sequence numbers may be used to expose the missing range. For example, the bitmap for each missing data packet may be a "0" and the bitmap for each non-missing data packet may be a "1".
A second aspect of the present application provides a second network device for transmitting a data packet to a first network device; receiving one or more status information from the first network device, wherein the one or more status information indicates a subset of a set of data packets, wherein the set of data packets was not correctly received at the first network device; and retransmitting the subset of data packets to the first network device.
The second network device (sender) may obtain status information confirming a partially lost data packet. Accordingly, the reported lost data packet should be retransmitted to the first network device (receiver).
In one embodiment of the second aspect, the second network device is further configured to transmit one or more requests for status information to the first network device; and receiving one or more status information from the first network device in response to each request.
In one embodiment of the second aspect, at least one of the one or more requests is polling information or data information.
In one embodiment of the second aspect, the second network device is further configured to receive one or more data packets from the first network device, wherein the one or more status information is piggybacked on the one or more data packets.
In an embodiment of the second aspect, at least one of the one or more status messages further includes an indication that the at least one status message includes information that is part of the information, and the second network device is further configured to: one or more of the following status information including remaining information is received from the first network device.
A third aspect of the present disclosure provides a method performed by a first network device, wherein the method comprises receiving a data packet from a second network device; determining that a set of data packets was not correctly received at the first network device; and transmitting one or more status information to the second network device, wherein the one or more status information indicates a subset of the set of data packets.
Embodiments of the third aspect may correspond to embodiments of the first network device of the first aspect described above. The method of the third aspect and embodiments thereof achieve the same advantages and effects as the first network device of the first aspect and embodiments thereof described above.
A fourth aspect of the present disclosure provides a method performed by a second network device, wherein the method comprises: transmitting the data packet to the first network; receiving one or more status information from the first network device, wherein the one or more status information indicates a subset of a set of data packets, wherein the set of data packets was not correctly received at the first network device; and retransmitting the subset of data packets to the first network device.
Embodiments of the fourth aspect may correspond to embodiments of the second network device of the second aspect described above. The method of the fourth aspect and embodiments thereof achieve the same advantages and effects as the second network device of the second aspect and embodiments thereof described above.
A fifth aspect of the disclosure provides a computer program product comprising program code for performing, when running on a processor, the method of any implementation form of the third aspect and the third aspect, or any implementation form of the fourth aspect and the fourth aspect.
It should be noted that all devices, elements, units and methods described herein may be implemented in software or hardware elements or any combination thereof. All steps performed by the various entities described in this application, as well as the functions to be performed by the various entities described, are intended to mean that the various entities are used to perform the various steps and functions. Even if in the following description of specific embodiments the specific functions or steps performed entirely by an external entity are not reflected in the description of specific detailed elements of the entity performing the specific steps or functions, it should be clear to a person skilled in the art that these methods and functions can be implemented in corresponding software or hardware elements or any type of combination thereof.
Drawings
The foregoing aspects and embodiments of the present disclosure will be explained in the following description of specific embodiments, taken in conjunction with the accompanying drawings, wherein:
fig. 1 illustrates the ambiguity problem of the selective retransmission method.
Fig. 2 shows an example of a selective retransmission method.
Fig. 3 shows an example of a selective retransmission method.
Fig. 4 shows an example of the checkpoint mode approach.
Fig. 5 illustrates a first network device according to an embodiment of the disclosure.
Fig. 6 shows an algorithm according to an embodiment of the present disclosure.
Fig. 7 shows another algorithm according to an embodiment of the present disclosure.
Fig. 8 illustrates a second network device according to an embodiment of the disclosure.
Fig. 9 illustrates a method according to an embodiment of the present disclosure.
Fig. 10 illustrates a method according to an embodiment of the present disclosure.
Detailed Description
Illustrative embodiments of a method, apparatus and program product for efficient transmission of data packets in a communication system are described herein with reference to the accompanying drawings. While this description provides detailed examples of possible implementations, it should be noted that these details are merely exemplary in nature and in no way limit the scope of the application.
Furthermore, one embodiment/example may relate to other embodiments/examples. For example, any description including, but not limited to, terms, elements, procedures, descriptions, and/or technical advantages mentioned in one embodiment/example applies to other embodiments/examples.
As is well known, protocols for ensuring data reliability can be divided into three broad categories: stop equation, backoff N frames, and selective retransmission. Among these protocols, selective retransmission is a more efficient protocol.
For example as in the case shown in figure 1. In particular, upon receiving packet 4, the receiving side knows that packet 3 is lost because if not, it should be received before packet 4. The receiver needs to notify the sender accordingly. It may send a negative ack (nack), or, alternatively, the receiver may inform the sender of all packets it has received and packets it has not received. This information may be named ACK/NACK.
When the sender receives this ACK/NACK information, it will retransmit packet 3. But after some time it receives another ACK/NACK indicating that data packets 5-6 are also lost. The ACK/NACK also informs that packet 3 is (still) lost. When the receiving side receives the ACK/NACK, it does not know what state the copy of the retransmitted data packet 3 is. On the one hand, if it ignores the fact that the ACK/NACK indicates that packet 3 is (still) lost, it will never know that a duplicate of retransmitted packet 3 is lost. On the other hand, if it retransmits packet 3 again, but the receiver has received the previous retransmission, then this second retransmission is a waste of resources.
One way to resolve the above "ACK/NACK" ambiguity is to report each missing data packet only once per ACK/NACK and indicate which ones the receiver has correctly received. Fig. 2 shows a case where the transmitting side transmits NACK only for a new gap. It is noted that gaps occur when packets are not contiguous.
In addition, the sender needs to know whether retransmission of a previously NACK-directed packet (i.e., a packet indicated with NACK) is also lost. One promising way to achieve this goal is to associate a logical timer with each retransmission. That is, if no ACK acknowledgement is made for a particular retransmission (i.e., the packet indicated with an ACK) within the timeout period, the process is repeated. Fig. 3 shows an example. It is noted that fig. 3 does not show all ACK information that has been sent or can be sent. A NACK is typically sent when the sender detects a new interval in the sequence number. An ACK may be sent whenever the sender receives a data packet.
However, the above method has two problems. First, it requires many logical timers. The operation of these timers is difficult, especially when the protocol is implemented in hardware. Second, the protocol requires adjusting timeouts, which is a very difficult task. Especially since the Round Trip Time (RTT) may vary often in practice. Notably, the RTT is the time taken to transmit a signal plus the time taken to receive an ACK for the signal. A wrong estimate of RTT may result in unnecessary retransmissions (if the timeout is too short) or additional delays (if the timeout is too long).
Checkpoint mode (CPM) is another method to achieve selective repetition. In particular, CPM uses three types of control information: (1) polling information, which is periodically sent by a sender; (2) status (STAT) information sent by the recipient as a reply to the received polling information; and (3) Unsolicited Status (USTAT) information, sent by the receiver whenever a new gap in the sequence number of the received packet is detected.
Typically, the sender maintains two sequence number counters. The first counter is used for the sequence number assigned to the data packet. It is called the information sequence number (MSN). The second counter is for the sequence number assigned to the polling message. It is therefore called the polling information sequence number (PMSN).
When the sender sends a new packet, it appends a new MSN to the new packet and increments the MSN counter. If the receiver detects a new gap in the received packet, it sends a USTAT message and tells the sender what the detected gap is. The sender then retransmits the lost packet using its original MSN. Sometimes, the sender creates and sends new polling information to the receiver. One polling message assigns one PMSN, which is equal to the PMSN of the last polling message + 1. The poll information also contains a Max-MSN field, which is the MSN of the last transmitted new packet.
When the sender first sends a packet, or as a retransmission, it associates the PMSN of the last transmitted poll with the MSN of the packet. Such an association may be stored in the memory of the sender.
When the receiving party receives the polling message, it responds with STAT information. The purpose of the STAT information is to inform the sender which packets have been correctly received and which packets have been lost before sending the poll message. Generally, STAT information has three fields: (a) PMSN copied from polling information of STAT responses; (b) a Max-MSN value, which is also copied from the polling information; (c) a list of packets with sequence numbers less than the Max-MSN that have not been received by the receiver.
Some rules for retransmission in the protocol are as follows. First, the sender always follows every USTAT message unless the sender has retransmitted a packet reported to be lost (which would occur if packet X was lost and the sender sent a poll message before sending packet (X +1) — therefore, the first report on lost packet X was received by STAT instead of USTAT). This is to ensure that for each of these retransmitted data packets received by the receiver, it will be the first time such data packet was received by the receiver. Second, when STAT information is received, for each packet reporting a loss, the sender retransmits the packet if and only if the PMSN associated with this packet is less than the PMSN associated with the poll/STAT handshake.
The above protocol was developed in accordance with the layer two protocol and it assumes that the data packets are received in sequence. Under this assumption, the above retransmission rules ensure that all data packets will eventually be received by the receiver and that the sender does not unnecessarily retransmit any data packets.
Fig. 4 shows an example of the CPM method. In this example, the USTAT information is used not only to report new gaps, but also to report correctly received packets. For example, packet 3 is lost, and when the receiving side receives packet 4, it sends USTAT information reporting this loss. When the sender receives the USTAT message, it immediately retransmits packet 3. On the other hand, the USTAT information reporting the loss of packets 5 and 6 is lost, and therefore these packets are only retransmitted after the next successful poll/STAT handshake.
The first polling message reception PMSN is 1, requesting the receiver to report missing packets up to sequence number 7. When the sender receives STAT information in response to this polling information, the sender is waiting for ACKs with respect to packets 1-8. All these packets are associated with PMSN 1 at the sender, except 3 and 8 for PMSN 2, because their last transmission occurs after the first poll transmission. As shown in table 1.
Data packet number (MSN) 1 2 3 4 5 6 7 8
PMSN 1 1 2 1 1 1 1 2
Table 1: status of sender Window
When the sender receives STAT information in response to the first poll, the STAT information reports that packets 3, 5, and 6 are lost. By comparing the PMSN of the STAT information (i.e., PMSN 1) with the PMSNs associated with packets 3, 5, and 6 (i.e., 2, 1, and 1, respectively), the sender knows that the last transmission of packet 3 occurred after the transmission of the polling information to which the STAT information responded. This means that the STAT information does not actually indicate whether the last transmission of 3 was successful or not. Thus, the sender ignores the request for retransmission of packet 3 (and, in fact, does not have to retransmit the packet because the last retransmission has been correctly received), but it obeys the retransmission requests for packets 5 and 6.
The retransmission of the data packet 6 is lost. But no USTAT will be sent after this loss because it is only sent the first time each packet is transmitted. The sender then continues to send new data packets (e.g., packet 9). When the maximum MSN is 9, the first STAT information is transmitted. The STAT information of the response indicates that packet 6 is still missing. By comparing the PMSN of the second STAT message (i.e., PMSN 2) with the PMSN associated with packet 6, when the STAT message is received (i.e., PMSN 1), the sender knows that the last transmission was lost and it will transmit the packet a third time.
It can be seen that when the receiver needs to indicate which data packets have been received and which have been lost, there may be situations where the number of NACK ranges that the receiver can report is limited. This limitation may have many reasons, for example, the implementation allocates a fixed length field for the NACK range in the packet header. For example, the field can accommodate up to X ranges, e.g., X ═ 3. In another example, the protocol may be implemented by hardware, and for convenience, STATs with the largest number X of the NACK range may be generated.
Reliable transport protocols, such as TCP, fast user datagram protocol network connection (QUIC), and remote direct data access (RDMA) use acknowledgment scopes. In particular, each range is a set of consecutive data packets or frames that have been successfully received (or a set of unsuccessfully received data packets). Each range of acknowledged packets has a corresponding "gap" in the received packet/frame. Each endpoint in the transport protocol sends an acknowledgement to the peer endpoint.
It is noted that if there are a large number of "gaps" in the received data packet, the acknowledgement message sent from the receiver to the sender may require a large number of fields (and thus a large number of bits to be transmitted in each direction). However, the number of bits in the ACK message should be relatively small to avoid overhead on the line and to allow a limited number of bits per packet that can be parsed by the hardware implementation. Currently, there is still no known solution to this problem.
Fig. 5 illustrates a first network device 500 according to an embodiment of the disclosure. First network device 500 may include processing circuitry (not shown) to perform, carry out, or initiate various operations of first network device 500 as described herein. The processing circuitry may include hardware and software. The hardware may include analog circuits or digital circuits, or both. The digital circuitry may include components such as Application Specific Integrated Circuits (ASICs), field programmable arrays (FPGAs), Digital Signal Processors (DSPs) or multifunction processors. The first network device 500 may further comprise a memory circuit storing one or more instructions executable by the processor or by the processing circuit, in particular under control of software. For example, the memory circuit may include a non-transitory storage medium storing executable software code that, when executed by a processor or processing circuit, causes various operations of the first network device 500 to be performed. In one embodiment, a processing circuit includes one or more processors and non-transitory memory coupled to the one or more processors. The non-transitory memory may carry executable program code that, when executed by the one or more processors, causes the first network device 500 to perform, or initiate the operations or methods described herein.
To address the foregoing limitations and deficiencies, embodiments of the present disclosure propose several alternative algorithms for deciding which ranges to include in the NACK field of a STAT message. The algorithm may be implemented by the first network device 500.
In particular, the first network device 500 is configured to receive a data packet 501 from the second network device 510. Thus, in particular, the first network device 500 may be referred to as a "receiver" and the second network device may be referred to as a "sender" as compared to the receiver and sender shown in previous figures. The first network device 500 is also configured to determine that a set of data packets was not correctly received at the first network device. Then, in particular, the first network device 500 is configured to transmit one or more status information 502 to the second network device 510, wherein the one or more status information 502 indicates a subset of the set of data packets.
Embodiments of the present disclosure provide several algorithms for the case where the NACK field in the STAT information or any other message reporting a missing range does not report the entire missing range.
In particular, the manner in which the gap or range is reported will not be limited to the examples given, but may also include:
1. the beginning and end of a packet sequence number.
2. The beginning of the packet sequence number and a counter indicating how many packets are lost from that point on are processed in gaps.
3. Relative numbering from the beginning of the missing sequence reported at the beginning.
4. In a bitmap covering a range of sequence numbers, each missing packet is a "0" and each non-missing packet is a "1".
Algorithm 1:
the first algorithm is that the receiver, i.e. the first network device 500, always reports the first loss range.
Fig. 6 illustrates an example of a first range in report status information according to an embodiment of the present disclosure. For simplicity, the USTAT information is not shown in this and all subsequent figures (it can be assumed that all of this information is lost and that they do not affect the examples). In this embodiment, there are four loss ranges: 2-3, 5-6, 8-9 and 11. Fig. 6 shows that the sender, i.e. the first network device 500 shown in fig. 5, may report only two ranges in the status information, i.e. one or more status information shown in fig. 5, and it always reports the first two ranges.
Typically, each state information 502 contains two parameters (e.g., fields): ACK and NACK. The semantics of this information are that the status information sender (first network device 500) receives all the data packets to the data packet number ACK, except the data packet indicated in the NACK field. This means that when the NACK field is changed, the ACK field also needs to be adjusted accordingly. For this reason, the value of the ACK field in the first state information in fig. 6 is 7 instead of 10.
It is to be noted that this status information has to be read in the following way: the receiving side receives all the packets up to packet number 7 except 2-3 and 5-6. It should be noted that the status of packets with sequence numbers greater than 7 is not reported.
This algorithm has a significant impact. I.e. it allows the sender, i.e. the second network device 510, to retransmit the first lost range as early as possible. However, this may delay the time until all lost ranges are retransmitted. As can be seen from fig. 6, one RTT is required for retransmitting packets from the first two losses, and another RTT is required for retransmitting packets from the last two losses. Thus, if there are N missing scopes, the recipient, i.e., the first network device 510, may report X missing scopes per STAT. N/X STATs are required to report all missing ranges.
And 2, algorithm:
in this algorithm, the first network device 500 uses a round robin policy between the lost ranges according to an embodiment of the present disclosure. This means that if it has 5 missing ranges: gap 1, gap 2, gap 3, gap 4 and gap 5, but the first network device may report only two gaps, then it reports gap 1 and gap 2 in the first status information, gap 3 and gap 4 in the second status information, gap 5 and gap 1 in the third status information, and so on.
Fig. 7 shows an example of the algorithm 2 according to this embodiment. It is assumed that the NACK field can report a maximum of two missing ranges. When the first STAT is sent, there are 3 missing ranges: 2-3, 5-6 and 8-9. The NACK field of this STAT reports the first two missing ranges. When the second STAT is sent, there are 4 missing ranges: 2-3, 5-6, 8-9 and 11. Since the first two ranges are reported in the first STAT, the second STAT reports the subsequent two ranges. When the third STAT is sent, there is only one missing range and the range is reported.
Since only partial information is sent in the NACK field, the ACK field must be adjusted accordingly. For this reason, ack of the second STAT is 1. The STAT indicates that all packets up to number 1 have been received (i.e., packet 1 only), and 8-9 and 11 are lost. The STAT is unable to convey more information. However, since the previous STAT indicated that all packets up to packet number 7, except 2-3 and 5-6, have been received, the receiving party already knows that packets 1, 4, and 7 have been correctly received.
That is, optionally, at least one of the one or more status information 502 may further include an indication that the information included in the at least one status information is partial information. Accordingly, the first network device 500 may be further configured to send one or more of the following status messages 502 including the remaining information to the second network device 510.
Algorithm 3:
according to an embodiment of the present disclosure, in this algorithm, when the first network device 500 needs to transmit a STAT having up to X NACK ranges, but it has N > X missing ranges, it randomly selects X ranges from the N missing ranges and reports them.
For example, assuming that STAT has to be sent, the loss ranges are slot 1, slot 2, slot 3, slot 4, and slot 5, but the receiver may report only two lost ranges. It randomly selects 2 ranges, e.g., gap 3 and gap 5, and reports them. When it has to send the next STAT, the loss ranges are slot 1, slot 2, slot 3, slot 4 and slot 5. It randomly selects 2 ranges, e.g., gap 3 and gap 7, and reports them.
And algorithm 4:
according to an embodiment of the present disclosure, the algorithm is similar to algorithm 2, except that the first network device assigns different weights to different ranges of loss.
For example, when STAT information must be sent, the loss ranges are slot 1, slot 2, slot 3, slot 4, and slot 5. The first network device 500 may report only two loss ranges. Assume that the first network device 500 wants to report an early loss range with a higher probability than a late loss range. Thus, it can assign probabilities as follows: gap 10.6, gap 20.2, gap 30.1, gap 40.08 and gap 50.02 (note that the sum of the probabilities is 1). The first range is randomly selected using the above probability and then the second range is selected. If the first range is selected again, the method may make another random selection until a different range is selected. Alternatively, the probability may be adjusted according to the first selection.
And algorithm 5:
according to an embodiment of the present disclosure, algorithm 5 aims to maximize the amount of information sent in the STAT information. Thus, the first network device 500 may select the range with the largest lost packet.
For example, if packets 1-10, 20-25, and 40-60 are lost, only one range can be included. First network device 500 may choose to include the last range 40-60 included in state information 502. Alternatively, the information may be sent as a bitmap and the complete information at the first network device is the next expected packet, numbered 500, and displayed from the complete bitmap in the packet as:
500 501 502 503 504 505 506 507 508 509
0 0 1 1 0 1 1 1 0 1
for example, if the state information 502 may comprise a 6-bit bitmap. Then, a possible way for the first network device 500 is to send information about 500-.
And 6, algorithm:
it may be desirable to report the maximum number of missing ranges using STAT information rather than focusing on the first missing range. However, sometimes it is important to ensure that information about the first range is successfully delivered even if STAT information is lost.
In accordance with previous embodiments of the present disclosure, algorithm 1 allows the first network device 500 to decide that the first X missing ranges of STAT reports are those with the smallest sequence numbers. Further, if the STAT information may include Y > X ranges, the remaining Y-X ranges may be further selected in the loop according to the present embodiment.
In one example, the range of losses may be gap 1, gap 2, gap 3, gap 4 and gap 5, X ═ 1 and Y ═ 2. According to this embodiment, the first STAT information will report gap 1 and gap 2, the second will report gap 1 and gap 3, the third will report gap 1 and gap 4, the fourth will report gap 1 and gap 5, the fifth will report gap 1 and gap 2, and so on.
And algorithm 7:
according to an embodiment of the present disclosure, the algorithm is similar to algorithm 6, except that the remaining Y-X ranges are randomly selected among the missing ranges that are not the first X ranges.
Algorithm 8:
according to an embodiment of the present disclosure, the algorithm is similar to algorithm 6 or 7, except that the remaining Y-X ranges are selected according to the "maximum range" described in algorithm 5.
Algorithm 9:
according to an embodiment of the present disclosure, in the algorithm, some STAT information may be sent back according to each polling information sent. In particular, the STAT information may have a particular internal sequence that indicates that a small number of STAT information are incremental. That is, the previous STAT may indicate whether there are additional packets ("pointers" to the next packet).
As previously mentioned, existing protocols propose sending multiple STAT messages back-to-back, or by reporting the last NACK range except for the first missing packet sequence number. In contrast, embodiments of the present disclosure describe the range sent in the STAT message in response to the polling message. The same approach can be used for ACK messages sent periodically (no poll messages), or response data messages (such as TCP).
It is noted that the ranges described in the present invention may be positive ranges, specifying received packets, or negative ranges, specifying non-received packets. Further, the ACK range may be sent in STAT information or may be carried on a data packet (as in TCP selective ACK (sack)).
Fig. 8 illustrates a second network device 510 according to an embodiment of the disclosure. The second network device 510 may include processing circuitry (not shown) for performing, carrying out, or initiating the various operations of the first network device 500 described herein. The processing circuitry may include hardware and software. The hardware may include analog circuits or digital circuits, or both. The digital circuitry may include components such as Application Specific Integrated Circuits (ASICs), field programmable arrays (FPGAs), Digital Signal Processors (DSPs) or multifunction processors. The second network device 510 may also comprise memory circuitry storing one or more instructions executable by the processor or by the processing circuitry, in particular under control of software. For example, the memory circuit may include a non-transitory storage medium storing executable software code that, when executed by a processor or processing circuit, causes various operations of the first network device 510 to be performed. In one embodiment, a processing circuit includes one or more processors and non-transitory memory coupled to the one or more processors. The non-transitory memory may carry executable program code that, when executed by the one or more processors, causes the first network device 510 to perform, or initiate the operations or methods described herein.
In particular, the second network device 510 is configured to transmit the data packet 501 to the first network device 500. Thus, in particular, the second network device 510 may be referred to as a "sender" and the first network device 500 may be referred to as a "receiver" as compared to the sender and receiver shown in previous figures. In addition, the second network device is configured to receive one or more status messages 502 from the first network device 500. In particular, the one or more status information 502 indications indicate a subset of a set of data packets, wherein the set of data packets was not correctly received at the first network device 500. Accordingly, the second network device 510 is configured to retransmit the subset of data packets to the first network device 500. Possibly, as shown in fig. 5, the first network device 500 is a first network device, and the second network device 510 may be the second network device 510 shown in fig. 5.
The second network device 510 (sender) may obtain status information confirming that a portion of the lost data packet was lost. Accordingly, the reported lost data packet should be retransmitted to the first network device 500 (receiver).
Optionally, second network device 510 is configured to transmit one or more requests for state information 502 to first network device 500. Further, the second network device 510 is configured to receive one or more status information 502 from the first network device 500 in response to each request.
In particular, at least one of the one or more requests is polling information or data information.
Possibly, the second network device 510 may also be configured to receive one or more data packets from the first network device 500, wherein the one or more status information 502 is piggybacked onto the one or more data packets.
It is noted that at least one of the one or more state information 502 may further include an indication that the information included in the at least one state information 502 is partial information. In particular, the second network device 510 is also configured to receive one or more of the following status information 502, including the remaining information received from the second network device 500.
It can be seen that the traffic is bi-directional, so each endpoint is both a sender and a receiver. Possibly, as shown in fig. 5, the first network device 500 may be the second network device 510 shown in fig. 8 in a particular embodiment.
Fig. 9 illustrates a method 900 according to an embodiment of the disclosure. In a particular embodiment of the present disclosure, the method 900 is performed by the first network device 500 shown in fig. 5. The method 900 includes: step 901, receiving a data packet 501 from a second network device 510; step 902, determining a set of data packets that are not correctly received at the first network device 500; step 903, transmitting one or more status information 502 to the second network device 510, wherein the one or more status information 502 indicates a subset of a set of data packets. Possibly, the second network device 510 is a second network device as shown in fig. 5 or fig. 8.
Fig. 10 shows a method 1000 according to an embodiment of the present disclosure. In certain embodiments of the present disclosure, the method 1000 is performed by the second network device 510 shown in fig. 8. The method 100 comprises: step 1001, transmitting a data packet 501 to a first network device 500; step 1002, receiving one or more status information 502 from a first network device 500, wherein the one or more status information 502 indicates a subset of a set of data packets, wherein the set of data packets was not correctly received at the first network device 500; step 1003, retransmitting the subset 501 of the data packets to the first network device 500. Possibly, the first network device 500 is a first network device as shown in fig. 5 or fig. 8.
The disclosure has been described in connection with various embodiments and implementations as examples. Other variations will be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure, and the independent claims. In the claims and the description the term "comprising" does not exclude other elements or steps and the "a" or "an" does not exclude a plurality. A single element or other unit may fulfill the functions of several entities or items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Furthermore, any of the methods according to embodiments of the present invention may be implemented in a computer program having code means which, when run by processing means, causes the processing means to perform the steps of the method. The computer program is embodied in a computer readable medium of a computer program product. The computer-readable medium may include substantially any memory, such as, for example, ROM (read-only memory), PROM (programmable read-only memory), EPROM (erasable PROM), flash memory, EEPROM (electrically erasable PROM), or hard disk drive.
Furthermore, the skilled person realizes that embodiments of the first network device 500 and the second network device 510 comprise the necessary communication capabilities in the form of, for example, functions, means, units, elements, etc. for performing the present solution, respectively. Examples of other such devices, units, elements and functions are: processors, memories, buffers, control logic, encoders, decoders, rate matchers, down-matcher, mapping units, multipliers, decision units, selection units, switches, interleavers, deinterleavers, modulators, demodulators, inputs, outputs, antennas, amplifiers, receiver units, transmitter units, DSPs, TCM encoders, TCM decoders, power supply units, feeds, communication interfaces, communication protocols etc., all suitably arranged together for performing the present solution.
In particular, the processors of first network device 500 and second network device 510 may include, for example, one or more instances of a Central Processing Unit (CPU), a Processing Unit, a Processing Circuit, a processor, an Application Specific Integrated Circuit (ASIC), a microprocessor, or other Processing logic that may interpret and execute instructions. Thus, the expression "processor" may denote a processing circuit comprising a plurality of processing circuits, e.g. any, some or all of the processing circuits described above. The processing circuitry may also perform data processing functions for inputting, outputting, and processing data, including data buffering and device control functions, such as call processing control, user interface control, and the like.

Claims (23)

1. A first network device (500) for:
receiving a data packet (501) from a second network device (510);
determining a set of data packets that were not correctly received at the first network device (500); and
transmitting one or more status information (502) to the second network device (510), wherein the one or more status information (502) indicates a subset of the set of data packets.
2. The first network device (500) of claim 1, wherein the set of data packets includes N ranges, N being a positive integer, each range including one or more consecutive data packets, and the one or more status information (502) indicates a subset of the N ranges.
3. The first network device (500) of claim 1 or 2, wherein the one or more status information (502) further indicates a last received data packet.
4. The first network device (500) of claim 2 or 3, configured to:
selecting a first X number of ranges from the N ranges as a subset indicated in the one or more status information (502), X being a positive integer less than N.
5. The first network device (500) of claim 4, wherein the maximum number of ranges that can be indicated in the one or more status information (502) is Y, Y being a positive integer, and, if Y is greater than X, the first network device (500) is further configured to:
further selecting Y-X ranges from the N ranges using a round robin strategy, or further randomly selecting Y-X ranges from the N ranges; and
using the selected top X ranges and Y-X ranges as a subset indicated in the one or more status information (502).
6. The first network device (500) of claim 2 or 3, further configured to:
selecting, using a round robin policy, the first X ranges from the N ranges as a subset indicated in the one or more state information (502), X being a positive integer less than N.
7. The first network device (500) of claim 2 or 3, further configured to:
randomly selecting X ranges from the N ranges as a subset indicated in the one or more state information (502), X being a positive integer less than N.
8. The first network device (500) of claim 7, wherein each range of the N ranges is associated with a probability parameter, and wherein the first network device is further configured to:
randomly selecting X ranges from the N ranges based on the probability parameter.
9. The first network device (500) of any of claims 2 to 8, configured to:
indicating a missing range of the N ranges by
A sequence of first missing data packets indicating the missing range and a number of missing data packets following the first missing data packet of the missing range; or
A sequence of first missing data packets indicating the missing range and a sequence of last missing data packets indicating the missing range.
10. The first network device (500) of any of claims 1-9, configured to:
receiving one or more requests for the state information (502) from the second network device (510); and
transmitting one or more of the status information to the second network device (510) in response to each request.
11. The first network device (500) of claim 10, wherein at least one of the one or more requests is polling information or data information.
12. The first network device (500) of any of claims 1-11, further configured to:
periodically transmitting the one or more status information (502) to the second network device (510).
13. The first network device (500) of any of claims 1-12, further configured to:
piggybacking the one or more status information (502) onto one or more data packets of the second network device (510).
14. The first network device (500) of any of claims 1-13, wherein at least one of the one or more status information (502) further comprises an indication that the information comprised by the at least one status information (502) is partial information, and wherein the first network device (500) is further configured to:
transmitting one or more of the following status information (502) including remaining information to the second network device (510).
15. The first network device (500) of any of claims 1-14, wherein the one or more status information (502) comprises a bitmap indicating a subset of the data packets and, optionally, one or more data packets received at the first network device (500).
16. A second network device (510) for:
transmitting a data packet (501) to a first network device (500);
receiving one or more status information (502) from the first network device (500), wherein the one or more status information (502) indicates a subset of a set of data packets, wherein the set of data packets was not correctly received at the first network device (500); and
retransmitting the subset of data packets (501) to the first network device (500).
17. The second network device (510) of claim 16, configured to:
transmitting one or more requests for the state information (502) to the first network device (500); and
in response to each request, one or more status information (502) is received from the first network device (500).
18. The second network device (510) of claim 17, wherein at least one of the one or more requests is polling information or data information.
19. The second network device (510) of claim 16, configured to:
receiving one or more data packets from the first network device (500), wherein the one or more status information (502) is piggybacked onto the one or more data packets.
20. The second network device (510) according to any of claims 16-19, wherein at least one of the one or more status information (502) further comprises an indication that the at least one status information (502) comprises information that is part of the information, and wherein the second network device (510) is further configured to:
receiving one or more of the following status information (502) including remaining information from the first network device (500).
21. A method (900) comprising:
receiving (901) a data packet (501) from a second network device (510);
determining (902) that a set of data packets was not correctly received at the first network device (500); and
transmitting one or more status information (502) to the second network device (510), wherein the one or more status information (502) indicates a subset of the set of data packets.
22. A method (1000) comprising:
transmitting (1001) a data packet (501) to a first network device (500);
receiving (1002) one or more status information (502) from the first network device (500), wherein the one or more status information (502) indicates a subset of a set of data packets, wherein the set of data packets was not correctly received at the first network device (500); and
retransmitting (1003) the subset of data packets to the first network device (500).
23. A computer program product comprising program code for performing the method according to claim 21 or 22 when the program code runs on a processor.
CN202080017528.3A 2020-05-05 2020-05-05 Apparatus and method for delivering acknowledgements in a network transport protocol Active CN113906700B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/062425 WO2021223853A1 (en) 2020-05-05 2020-05-05 Device and method for delivering acknowledgment in network transport protocols

Publications (2)

Publication Number Publication Date
CN113906700A true CN113906700A (en) 2022-01-07
CN113906700B CN113906700B (en) 2023-09-12

Family

ID=70554072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080017528.3A Active CN113906700B (en) 2020-05-05 2020-05-05 Apparatus and method for delivering acknowledgements in a network transport protocol

Country Status (2)

Country Link
CN (1) CN113906700B (en)
WO (1) WO2021223853A1 (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1354931A (en) * 1999-04-09 2002-06-19 艾利森电话股份有限公司 Method for minimizing feedback responses in ARQ protocols
CN101132259A (en) * 2006-08-23 2008-02-27 上海贝尔阿尔卡特股份有限公司 Method for controlling data retransmission at final retransmission time in wireless network
CN101213856A (en) * 2005-05-04 2008-07-02 Lg电子株式会社 Method of transmitting control information in wireless communication system and transmission window updating method using the same
CN101346925A (en) * 2005-11-30 2009-01-14 诺基亚公司 Apparatus, method and computer program product providing retransmission utilizing multiple ARQ mechanisms
US9490850B1 (en) * 2011-11-28 2016-11-08 Google Inc. Method and apparatus for decoding packetized data
US20170041766A1 (en) * 2015-08-05 2017-02-09 Qualcomm Incorporated Media access control segmentation and packet data convergence protocol delivery notification with enhanced component carriers
CN107204834A (en) * 2017-05-25 2017-09-26 复旦大学 A kind of control method of the express network transmitting based on UDT agreements
US20180262950A1 (en) * 2015-09-25 2018-09-13 Nokia Solutions And Networks Oy Enhancement of pdcp status report
US20190052409A1 (en) * 2017-08-08 2019-02-14 Telefonaktiebolaget Lm Ericsson (Publ) Status Reporting in a Wireless Communication System
CN109905447A (en) * 2017-12-11 2019-06-18 华为技术有限公司 Information transmission method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3445020B1 (en) * 2016-05-18 2020-10-21 Samsung Electronics Co., Ltd. Method and apparatus for performing efficient layer 2 function in mobile communication system
KR102317479B1 (en) * 2017-05-05 2021-10-26 노키아 테크놀로지스 오와이 Reporting radio link control status

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1354931A (en) * 1999-04-09 2002-06-19 艾利森电话股份有限公司 Method for minimizing feedback responses in ARQ protocols
CN101213856A (en) * 2005-05-04 2008-07-02 Lg电子株式会社 Method of transmitting control information in wireless communication system and transmission window updating method using the same
CN101346925A (en) * 2005-11-30 2009-01-14 诺基亚公司 Apparatus, method and computer program product providing retransmission utilizing multiple ARQ mechanisms
CN101132259A (en) * 2006-08-23 2008-02-27 上海贝尔阿尔卡特股份有限公司 Method for controlling data retransmission at final retransmission time in wireless network
US9490850B1 (en) * 2011-11-28 2016-11-08 Google Inc. Method and apparatus for decoding packetized data
US20170041766A1 (en) * 2015-08-05 2017-02-09 Qualcomm Incorporated Media access control segmentation and packet data convergence protocol delivery notification with enhanced component carriers
US20180262950A1 (en) * 2015-09-25 2018-09-13 Nokia Solutions And Networks Oy Enhancement of pdcp status report
CN107204834A (en) * 2017-05-25 2017-09-26 复旦大学 A kind of control method of the express network transmitting based on UDT agreements
US20190052409A1 (en) * 2017-08-08 2019-02-14 Telefonaktiebolaget Lm Ericsson (Publ) Status Reporting in a Wireless Communication System
CN109905447A (en) * 2017-12-11 2019-06-18 华为技术有限公司 Information transmission method and device

Also Published As

Publication number Publication date
CN113906700B (en) 2023-09-12
WO2021223853A1 (en) 2021-11-11

Similar Documents

Publication Publication Date Title
US6424625B1 (en) Method and apparatus for discarding packets in a data network having automatic repeat request
CN101232445B (en) Communication terminal, congestion control method
KR100635012B1 (en) Method for creating feedback message for ARQ in mobile communication system
US20080195912A1 (en) Method of communicatoin
US20070291646A1 (en) Retransmission control method and device
JPH03165139A (en) Data communication method and data communication system
JP2012529800A (en) Message resending method and apparatus
CN101969371A (en) User data packet protocol-based method for realizing high-speed reliable transmission of network data
US11463339B2 (en) Device and method for delivering acknowledgment in network transport protocols
CN111193577A (en) Network system communication method and communication device using transmission timeout
US10461892B2 (en) Low latency communications
CN112383622A (en) Reliable transport protocol and hardware architecture for data center networking
US10110350B2 (en) Method and system for flow control
Maisuria et al. Overview of techniques for improving QoS of TCP over wireless links
KR20060079570A (en) Apparatus and method for a retransmission of a data in a communication system
CN113906700B (en) Apparatus and method for delivering acknowledgements in a network transport protocol
CN115812284A (en) Apparatus and method for transmitting acknowledgements in a network transport protocol
US20220158771A1 (en) Method of enabling harq, network entity and computer program
JP2009081567A (en) Retransmission control system, retransmission control method, transmitter and receiver
WO2023016646A1 (en) A device and method for remote direct memory access
CN113286000A (en) Data receiving and transmitting method and device applied to power unidirectional transmission system
US20230327812A1 (en) Device and method for selective retransmission of lost packets
KR100780921B1 (en) System and method for sctp transmission using chunk checksum in wireless internet system
JP2000059347A (en) Method and device for radio communication
WO2023011712A1 (en) A device and method for remote direct memory access

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant