Transmitting device, receiving device and corresponding method

The bidirectional link system addresses misalignment and delays in WLANs by transmitting data units once and forwarding them to higher layers, ensuring efficient data stream alignment and reduced delays through enhanced ARQ operations.

JP2025540528APending Publication Date: 2025-12-15SONY GROUP CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025531636
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-12-06
Filing Date
2023-11-28
Publication Date
2025-12-15

AI Technical Summary

Technical Problem

Existing bidirectional communication links in WLANs experience misalignment and delays due to automatic repeat request (ARQ) mechanisms that cause retransmissions, leading to mismatches between downlink and uplink data units or streams.

Method used

Implement a bidirectional link system where data units are transmitted once and immediately removed from the queue upon transmission, with the receiver forwarding all units to higher layers regardless of reception status and providing an indicator for correct/incorrect reception, and the transmitter adapting transmission parameters based on feedback.

Benefits of technology

Minimizes delays and misalignments between data units in bidirectional communication, enhancing ARQ operations to maintain data stream alignment and reduce operational delays.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025540528000001_ABST
    Figure 2025540528000001_ABST
Patent Text Reader

Abstract

A transmitting device including circuitry configured to set up a bidirectional link with a receiving device for transmitting and receiving data units, transmit data units stored in a transmission queue to the receiving device for transmission using the bidirectional link, and delete the transmitted data units from the transmission queue immediately after transmission or if a response instructing the transmitting device to retransmit the data units is not received from the receiving device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a transmitting apparatus, a receiving apparatus, and corresponding methods, and in particular to a method for exchanging data units using a bidirectional link. [Background technology]

[0002] A bidirectional link is defined as a link between two communication devices (e.g., two stations (STAs) or an access point (AP) and an STA), generally referred to herein as a transmitter and a receiver, that is usable in both directions by the application layer, i.e., user data units are communicated / exchanged in both directions. The automatic repeat request (ARQ) mechanism used in current WLAN implementations provides for retransmission of erroneously received or erroneously decoded data units, which can lead to misalignment of downlink and uplink data units. For example, an uplink data unit related to a previously received downlink data unit may be retransmitted at a later time. This may result in successful delivery of the uplink data unit, but may result in misalignment between the downlink and uplink data units or data streams.

[0003] The "Background" discussion provided herein is intended to generally set forth the context of the present disclosure. The work of the currently named inventors, to the extent described in this Background section, and aspects of this specification that may not qualify as prior art at the time of filing, are not admitted expressly or impliedly as prior art against the present invention. Summary of the Invention [Problem to be solved by the invention]

[0004] It is an object to provide a transmitting apparatus, a receiving apparatus, and a corresponding method that contribute to or achieve avoidance or reduction of mismatch between downlink and uplink data units or data streams in a bidirectional link. A further object is to provide a corresponding method, as well as a corresponding computer program and a non-transitory computer-readable recording medium having stored therein a computer program product for implementing the method. [Means for solving the problem]

[0005] According to one aspect, establishing a bidirectional link with a receiving device for transmitting and receiving data units; transmitting data units stored in a transmit queue to a receiving device for transmission using the bidirectional link; - removing a transmitted data unit from the transmission queue immediately after its transmission or if no response is received from the receiving device instructing the transmitting device to retransmit the data unit; A transmitting device including a circuit configuration configured as above is provided.

[0006] According to a further aspect, establishing a bidirectional link with a transmitting device for transmitting and receiving data units; receiving data units from a transmitting device using a bidirectional link; - A receiving device is provided that includes circuitry configured to provide received data units to higher layer processing regardless of the reception status, and to provide a reception status indicator to the higher layer processing together with each data unit, indicating the reception status depending on whether the data unit is received and decoded correctly or incorrectly.

[0007] According to still further aspects, there are provided corresponding methods, computer programs comprising program means for causing a computer to perform the method steps disclosed herein when the computer program is run on a computer, and non-transitory computer readable recording media having stored therein a computer program product which, when run by a processor, causes the computer to perform the method disclosed herein.

[0008] Embodiments are defined in the dependent claims. It is to be understood that the disclosed method, the disclosed computer program, and the disclosed computer-readable recording medium have further embodiments similar and / or identical to the claimed apparatus and those defined in the dependent claims and / or disclosed herein.

[0009] One aspect of the present disclosure is to provide an enhanced ARQ operation that minimizes delay and mismatch between data units (also called bidirectional traffic) carried in each direction of a bidirectional link, including a forward link (from a transmitter to a receiver) and a reverse link (from a receiver to a transmitter). A transmitter typically discards all data units after transmission. Data units are retransmitted only when explicitly directed to do so by the receiver. That is, not all erroneously received or decoded data units are retransmitted. A receiver forwards all data units to upper layers regardless of the reception status that is or should be indicated to the upper layers individually (i.e., even if the reception status is "error").

[0010] The foregoing paragraphs have been provided by way of general introduction and are not intended to limit the scope of the claims that follow. The described embodiments, together with further advantages, will be best understood by reference to the following detailed description taken in conjunction with the accompanying drawings, in which:

[0011] A more complete understanding of the present disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings. [Brief explanation of the drawings]

[0012] [Figure 1] 1 is a schematic diagram showing the system setup and different options for realizing a bidirectional link; [Figure 2] 1 is a diagram of a conventional communication scheme illustrating inconsistencies between data units. [Figure 3] FIG. 3 illustrates the conventional communication scheme shown in FIG. 2 including additional retransmissions. [Figure 4] FIG. 1 illustrates one embodiment of a communication scheme according to the present disclosure. [Figure 5] 1 is a schematic diagram illustrating the general architecture of a communication device according to the present disclosure; [Figure 6] FIG. 10 is a diagram comparing a conventional communication scheme with another embodiment of a communication scheme according to the present disclosure. [Figure 7] FIG. 1 illustrates how a transmitter detects a non-existent bidirectional link. [Figure 8] FIG. 10 is a state machine diagram illustrating the processing of the receiving device. [Figure 9] FIG. 1 is a diagram of another embodiment of a communication scheme according to the present disclosure. [Figure 10] FIG. 10 illustrates another embodiment of a communication scheme according to the present disclosure. [Figure 11] 1 is a flowchart of one embodiment of a transmission method according to the present disclosure. [Figure 12] 1 is a flowchart of one embodiment of a receiving method according to the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0013] Referring now to the drawings, wherein like reference numerals indicate identical or corresponding parts throughout the several views, FIG. 1 is a schematic diagram illustrating a system configuration and different options for realizing a bidirectional link. Such a bidirectional link exists, for example, in bidirectional scenarios such as virtual reality applications, where a downlink is video-rendered according to uplink motion information. While generally capable of transmission and reception, a bidirectional link exists between two communication devices shown in FIG. 1, also referred to herein as a transmitting device STA1 and a receiving device STA2, that can be used in both directions by the application layer to exchange user data units bidirectionally. Such a link can be established, for example, by different technical means (as shown in FIG. 1). Time Division Duplex (TDD) alternates between communication from a first communication device to a second communication device (downlink) and communication from the second communication device to the first communication device (uplink). In TDD, two-way communication resembles time-interlaced one-way communication. In frequency division duplex (FDD), the downlink and uplink exist in different frequency bands. In FDD, the downlink and uplink exist simultaneously, enabling simultaneous two-way communication. -In-Band Full Duplex (IBFD) is similar to FDD, but the frequency bands overlap at least partially.

[0014] 1, a data unit (DU) transmitted by a first communication device STA1 is shown without a prime, and a DU transmitted by a second communication device STA2 is shown with a prime ('). A block acknowledgement (BAck) has a prime if it is a response to a DU that has a prime, and therefore a BAck' is transmitted by STA1 in response to a DU' transmitted by STA2.

[0015] In the following, the period during which bidirectional data transfer occurs is referred to as a bidirectional transmit opportunity (TXOP). The diagrams shown below consider the latter two options, FDD and IBFD, i.e., when bidirectional links exist simultaneously. However, the same problems and solutions exist for TDD, i.e., this disclosure is not limited to the use of FDD and IBFD.

[0016] In links where application layers can exchange data units bidirectionally, downlink and uplink traffic streams originating from the application layer are often related to each other in the sense that an uplink data unit can be considered a response to a previous downlink data unit, and vice versa. For example, the well-known TCP / IP protocol sometimes generates an uplink data unit that acknowledges a previous downlink data unit.

[0017] Because retransmission of data units can lead to misalignment between downlink and uplink data units, the ARQ mechanism of current WLAN implementations should be revised in this regard. For example, an uplink data unit related to a previously received downlink data unit is retransmitted at a later time. This retransmission may lead to successful delivery of the uplink data unit, but it may result in misalignment between the downlink and uplink data units or data streams. In general, different types of misalignment may occur. For example, the order in which data units are transmitted may differ from first-in-first-out (FIFO) and / or there may be certain time dependencies between downlink and uplink data units, causing buffering of received data units to cause unacceptable delays within the application layer. Furthermore, because the ARQ mechanism attempts to preserve the order of data units, not only the retransmitted data unit but also subsequent data units are generally affected.

[0018] FIG. 2 is a diagram illustrating the operation of a conventional communication system, showing mismatches between data units. The first row shows the contents of the receive buffer of the receiving device (STA2), the second row shows the upper layer output of the receiving device, and the third row shows the contents of the receive buffer of the transmitting device (STA1). As shown in FIG. 2, because data unit (DU) #3 was erroneously received by STA2, correctly received DUs #4 and #5 are stored in STA2 for later forwarding to the upper layer. However, data unit (DU') arriving at STA1 continues to be received correctly, causing the (typical) relationship / match between data units DU and DU' to be broken. The receiving device STA2 can check whether a data unit is erroneous, for example, by checking the CRC (Cyclic Redundancy Check) code included in the received data unit (e.g., PPDU (Physical Protocol Data Unit) or MPDU (MAC Protocol Data Unit)) or other data included in the data unit for this purpose.

[0019] 3 is a diagram of the conventional communication scheme shown in FIG. 2, including additional retransmissions. If the incorrectly received data unit (DU#3) is successfully retransmitted (e.g., in response to corresponding information from the transmitting device STA1, e.g., in response to a corresponding Ack), this data unit (DU#3) and all subsequent successfully received data units (DU#4 and #5) are forwarded to upper layers. This can also cause bandwidth problems, as many data units may be released to upper layers at the same time.

[0020] 4 is a diagram of one embodiment of a communication scheme according to the present disclosure. According to the present disclosure, the receiving unit of any communication device participating in a bidirectional TXOP shall generally forward (rather than discard) received data units to upper layers, despite the possibility that the data units may be erroneous. To improve error resilience, the communication device may indicate, as part of separate signaling or via a station management entity (SME), that the currently forwarded data unit is erroneous or which of the forwarded data units are erroneous.

[0021] As shown in FIG. 4, the erroneously received DU#3 is forwarded to the upper layer. Furthermore, as shown in the last line of FIG. 4, an indicator (also referred to herein as a "reception status indicator") is provided to the upper layer, indicating whether the forwarded DU is correct (indicator "correct" in this example) or incorrect (indicator "incorrect" in this example). As shown in FIG. 4, in contrast to the conventional communication schemes shown in FIGS. 2 and 3, the typical relationship is violated only for the erroneous data unit (DU#3), not for other data units. However, the operation of the upper layer must be robust to such errors. For example, the upper layer may consider lost packets as less important (e.g., important L frames vs. less important P frames in video transmission), or the upper layer protocol may include erasure correction codes that can reconstruct the erroneous data unit. In general, the proposed communication scheme is particularly suitable for real-time and fast-response applications that require strict latency constraints but can tolerate some errors, such as VR / AR, video calling, and machine control.

[0022] In bidirectional connections, response frames such as acknowledgements (e.g., the back frame shown in Figure 1) are often transmitted. Such response frames are created by the MAC and often need to be transmitted on each link for regulatory reasons (detecting duplicate transmissions) and to maintain channel access. The content of an acknowledgement frame transmitted in response to one or more received data frames traditionally reflects the actual reception conditions, since it is necessary for a transmitting device receiving such an Ack frame to adapt communication parameters (also called transmission parameters), such as modulation coding scheme (MCS) and spatial streams.

[0023] According to the present disclosure, a transmitting device participating in a bidirectional TXOP generally does not take any action based on the response frame if it is an acknowledgement frame (e.g., Ack or BAck). Thus, in one embodiment, a transmitting device may discard already transmitted data units since there will be no future retransmissions, and generally should not transmit a data unit more than once. Thus, according to one embodiment, no retransmissions are performed, while according to another embodiment, retransmission of one or more data units is performed only if the receiving device explicitly requests retransmission and / or explicitly indicates which one or more data units must be retransmitted in the response (e.g., Ack or BAck). Thus, according to the present disclosure, a transmitting device removes a transmitted data unit from its transmit queue (e.g., removes it from its transmit buffer) immediately after its transmission or if no response is received from the receiving device indicating a retransmission of the data unit.

[0024] The following describes details and embodiments of the present disclosure, and in particular how the receiving device and transmitting device operate. The transmitting device is generally connected to a data unit source (e.g., a server, a user device, a central controller, a machine controller, a content distribution system, a game server, etc.), while the receiving device is connected to a data unit sink (e.g., another user device, a human interface device, VR glasses, a control device, a manufacturing device, an end-user device, etc.). Generally, both the transmitting device and the receiving device have transmission and reception capabilities, for example, the receiving device can send a response frame such as Ack or BAck to the transmitting device.

[0025] FIG. 5 is a schematic diagram of a general architecture of a communication device 10 according to the present disclosure. This architecture applies to both transmitting and receiving devices. The communication device 10 includes a PHY layer 11, a MAC layer 12, and (optionally) a Logical Link Control (LLC) layer 13. These layers allow for the exchange of control information as well as data. The PHY layer 11 and the MAC layer 12 are controlled by a STA Management Entity (SME) 14, which may also control higher layers, such as an application layer 15. Each layer / entity may be implemented by a respective unit or circuitry, such as a processor, processing circuitry, computer, dedicated hardware, or the like, that performs the function of the device. Alternatively, a common unit or circuitry, such as a common processor or computer, may implement one or more of the layers / entities, or separate units or elements that together represent the circuitry may be used.

[0026] Before using the mechanisms described herein, a configuration procedure can be performed in which both STAs are configured to use these mechanisms. The mechanisms for fast forwarding ARQs that are part of this disclosure only apply to user data units, while the usual rules apply to all other frames, such as control or management frames. Furthermore, the proposed mechanisms can only be applied to user data units originating from a particular source and / or sink, which may be defined by a particular traffic identifier (TID).

[0027] On the transmitting side, the MAC transmits each data unit only once and takes no retransmission action upon receipt of an acknowledgment frame indicating an erroneous data unit. However, the transmitting STA can use this information for link adaptation, i.e., to determine the link quality and whether it needs to change its MCS, e.g., to reduce the error rate.

[0028] There are different options for link adaptation. According to one option, the transmitter can receive a suggestion from the receiver to change the MCS to MCS A or to use a specific TXVECTOR. According to another option, the transmitter can count the number of correctly received data units and the number of erroneously received data units over a certain period of time. A ratio can be built and if there are many erroneous data units, the MCS can be changed; if there are many correctly received data units, the MCS is fine and can be maintained or changed to a higher MCS. Thus, both correctly received data units and erroneously received data units (and erroneously received data units that require retransmission) are used.

[0029] Once a data unit is sent, the transmitting STA may discard it from the queue (unless "3-State Ack" is configured, as described below). Furthermore, the transmitting STA transmits data units in a first-in, first-out (FIFO) order.

[0030] Figure 6 compares a conventional communication scheme with another embodiment of a communication scheme according to the present disclosure for frame exchange from STA1 (transmitter) to STA2 (receiver). At the same time, there is a reverse link shown in Figure 1 but not shown in Figure 6. The link shown in Figure 6 corresponds to Link 1 (downlink) in the FDD scenario shown in Figure 1. The top row shows the conventional scheme ("current operation"), and the bottom row shows the proposed scheme ("new operation").

[0031] Initially, four data units (DUs) are stored in a transmitter queue 20 (also called a transmit queue or Tx queue) in a FIFO manner. Once STA1 has acquired channel access and a bidirectional link is established, it begins transmitting DUs in a FIFO manner. According to conventional practices, transmitted DUs remain in the transmitter queue (reflected in the transmitter queue 21) until STA2 transmits a block acknowledgement (BAck) in response to the transmitted DUs, either confirming correct reception or indicating that one or more of the transmitted DUs are in error. This acknowledgement may be in the form of a one-bit indicator, where a first value (e.g., 1) indicates correct reception and a second value (e.g., 0) indicates erroneous transmission. In FIG. 6, such indicators (also called error indicators) are shown below the BAck in the format "(x,y)", where x represents the indicator of the first DU transmitted in the previous interval (or PPDU) and y represents the indicator of the second DU transmitted in the previous interval (or PPDU). This indicator may be sent as part of the BAck or may be sent separately from the BAck as a separate response.

[0032] If it is received correctly, it is deleted from the transmitter queue. In the example of Figure 6, DU#1 is received correctly and is deleted from the transmitter queue after receiving BAck31 (reflected in the transmitter queue 22), but DU#2 is in error and is not deleted from the transmitter queue after receiving BAck31 (also reflected in the transmit queue 22). The reception status is indicated from STA2 to STA1 by the corresponding response "(1, 0)" (shown below BAck31), where 1 indicates correct reception of DU#1 and 0 indicates incorrect reception of DU#2. DU#2 is then retransmitted, followed by DU#3. Both of these are received correctly by STA2, which is confirmed by the following BAck32, so both are deleted from the transmitter queue (reflected in the transmit queue 23).

[0033] According to the proposed scheme, the first transmitter queue 24 is identical to the transmitter queue 21. When a DU is transmitted, it is immediately removed from the transmitter queue (reflected in the transmit queue 25). After DUs #1 and #2 are transmitted, STA2 sends a block acknowledgement (BAck) 34 in response to the DUs. Although BAck 34 indicates that DU #2 is in error, STA1 continues transmitting the next DUs in the queue, namely DU #3 followed by DU #4, both of which are removed from the transmitter queue after transmission (reflected in the transmit queue 26) regardless of the content of the BAck.

[0034] If the transmitter detects that a bidirectional link no longer exists, it can either discard or deprioritize data units belonging to the bidirectional traffic stream. Both options can be selected during configuration and may be implementation dependent. Deprioritizing data units means that data units belonging to the bidirectional traffic stream are not transmitted, and instead data units belonging to other traffic streams are transmitted. Different traffic streams can be distinguished via TID (Traffic Identifier) ​​or SCS ID (Stream Classification Service, also called Stream Identifier).

[0035] A non-existent bidirectional link means that at least one direction of the bidirectional link is not available or is not working as expected. The transmitter can detect a non-existent bidirectional link by one or more of the following options, all of which are shown in Figure 7 (all four cases will not normally occur simultaneously): - Missing a response frame such as a (block) acknowledgment for the first (initial) transmitted data unit after channel access, or missing two response frames for non-first (non-initial) transmitted data units after channel access (Case A in Figure 7). In case of missing or corrupted PPDUs on the reverse link (case B in Figure 7), - if the BAck response to the received data units indicates that all or a certain percentage of the received data units in the last received PPDU are erroneous (unless "3-State Ack" is used) (case C in Figure 7), - In the initialization phase of a bidirectional link, if the reverse link is not established after a certain time interval (i.e., missing PPDUs on the reverse link) (Case D in Figure 7).

[0036] If the MAC layer of the transmitter decides to use aggregation, it shall aggregate only data units belonging to bidirectional traffic, i.e., data units with the same TID within an A-MPDU (Aggregated MAC Protocol Data Unit). Furthermore, the MAC headers of the MPDUs contained in the A-MPDU shall have the same MAC header configuration and content, except for the sequence number. This means in particular that the MAC headers have the same length and, if present, the same optional subfields. If the transmitter decides to transmit the same data unit multiple times, for example to achieve higher reliability, the repetition factor should be exchanged between the transmitter and receiver during configuration, and the same repetition factor should be applied to each data unit (e.g., each data unit appears twice).

[0037] The reasons for these limitations will become clear in the following description of the receiver operation. Within the receiver, special care should be taken to ensure that only data units (in error or not) intended for the receiving STA are forwarded to higher layers. Furthermore, fast forwarding operation should only be used for data units belonging to bidirectional links and existing configurations. For this purpose, a state machine can be used, as shown in Figure 8, which illustrates one embodiment of a receiving method 100 performed by the receiving device.

[0038] If a PPDU is detected, it is first checked whether the PPDU preamble is valid (not erroneous) (step 101), and if so, whether the PPDU is intended for the receiving STA (step 102). The latter check can only be performed for PPDU types that have an indication of the receiving STA in the preamble. If the PPDU preamble is erroneous or the PPDU is intended for a different STA, the PHY layer indicates to the MAC layer and / or SME via the PHY-RXEND.indication primitive that the reception process has ended, optionally with a detailed reason code (step 103).

[0039] As PPDU reception continues, the MAC layer checks whether the first MPDU is erroneous (step 104). If not, it checks in the MAC header whether the MPDU is intended for the receiving STA by evaluating the MAC address, whether a TID is present, and whether it belongs to bidirectional traffic (step 105). If yes, the receiving STA assumes that the MAC header is valid, at least in terms of destination and TID, for all other MPDUs in the PPDU, if any (step 106). The MAC layer then processes the first MPDU and forwards the contained data units to upper layers via an MA-UNITDATA.indication, which includes a valid CRC check result (step 107). If the first MPDU is erroneous, another first MPDU (if present) is determined (step 108). If no other MPDU can be determined or does not exist, the PPDU is considered to be finished, indicated via the PHY-RXEND.indication (step 109).

[0040] After the first MPDU has been successfully detected and forwarded to the upper layer, the presence of a second MPDU is determined (step 110) and processed according to the assumption that the MAC header of the first MPDU applies, at least in terms of destination and TID (step 111). The CRC result, if valid, is reflected in the MA-UNITDATA.indication as well as the extracted data unit. If the CRC is not valid, including the (incorrect) data unit is optional, and extraction of the incorrect data unit is performed according to further settings in the MAC header of the first MPDU, such as the header length and related information (e.g., present subfields). The further MPDU is processed as a second MPDU.

[0041] In this process, the number of MPDUs considered as the first MPDU can be limited during the establishment of a bidirectional link, since no output occurs at the MAC layer during this time that would disrupt the relationship between uplink and downlink data units. The MA-UNITDATA.indication can carry not only the data units and reception status, but also the sequence number from the MAC header, which indicates the order in which the data units were received. The sequence number signaling can replace the reception status signaling in the MA-UNITDATA.indication.

[0042] The receiver MAC layer must report the reception status in the response frame if the received data unit requires an acknowledgement. The reception status reflects the true reception status, and the BAck must include the reception status of the most recently received data unit, i.e., at least the data unit that caused the reception status to be signaled to the upper layer via the MA-UNITDATA.indication, as shown in Figure 8 under "Add to BAck Scoreboard" (steps 112, 113, 116).

[0043] If the receiver detects an MPDU addressed to it but belonging to a non-bidirectional TID (step 114), the receiver performs normal processing, i.e., each MPDU is processed independently until the PPDU is finished (step 115).

[0044] FIG. 9 is a diagram of another embodiment of a communication scheme according to the present disclosure. The implementation of fast forwarding ARQ requires that the upper layers (above MAC) be error resilient. Some upper layer implementations have a limited error resilience, in the sense that a certain error rate can be tolerated, but any error rate above that will cause the application to fail. For such cases, one embodiment can use a "three-state Ack" mechanism, in which the receiver determines the instantaneous error rate. If it falls below a certain threshold, set during the configuration phase, the receiver can request a retransmission of the data unit. Thus, the acknowledgement signaling can signal "no error" (bit value 1 in the error indicator in FIG. 9), "error but do not retransmit" (bit value 0 in the error indicator in FIG. 9), as well as "error and retransmit" (bit value 2 in the error indicator in FIG. 9). Thus, the error indicator can have three states.

[0045] The diagram in Figure 9 illustrates a possible operation under the assumption that the receiver requires at least one correctly received data unit (DU) for each frame exchange or transmitted PPDU by STA1. STA1 transmits DU#1 and DU#2 from the initial TX queue 41 to STA2, but STA2 receives both data units incorrectly. Therefore, because both data units failed, STA2 indicates in the subsequent BAck 51 that both DUs were incorrect, but that only DU#2 should be retransmitted from the left. Therefore, only DU#1 is removed from the TX queue (as reflected by TX queue 42). DU#2 and #3 are then (re)transmitted, and since these are assumed to have been correctly received at STA2, both DUs are removed from the Tx queue (as reflected by TX queue 42) in response to the corresponding BAck 52. Next, STA1 transmits DU#4 and #5 to STA2, but only DU#5 fails. Because DU#4 was correctly received, there is no need to retransmit DU#5. Therefore, the contents of BAck 53 are set appropriately by STA2 so that DUs #4 and #5 are removed from the Tx queue (as reflected by TX queue 44).

[0046] If the sender and receiver agreed to such a "3-State Ack" mechanism during the setup phase, the sender MUST NOT discard a data unit before receiving an Ack response indicating either "no error" or "error but no retransmit" indication for that data unit. If the sender receives an "error and retransmit" indication for a data unit, it MUST transmit this data unit as fast as possible, i.e., ahead of any other data units that are to be transmitted and / or ahead of any other control data units, such as BAcks or trigger frames, that are to be transmitted.

[0047] 10 is a diagram of another embodiment of a communication scheme according to the present disclosure, illustrating misalignment between data units of STA1 and STA2 under the operation of the "3-State Ack" scheme shown in FIG. 9. As shown, retransmission essentially causes a time shift in the typical relationship. Instead of the two data units that would result from retransmission of DU#1 and DU#2, only one data unit misalignment occurs. Depending on the application, this may be less significant to upper layers than having two subsequent data units fail.

[0048] New types of STAs may be deployed to operate using the mechanism disclosed herein. However, WLANs have many legacy devices, and in such cases, two configurations can be used to achieve part of the functionality of Fast Forward ARQ (i.e., the mechanism disclosed herein). In the first configuration, the transmitter can set the lifetime of all data units belonging to a bidirectional link to zero, set the BAck window size to 1, and prohibit data unit fragmentation. Such a BAck window (also called a response window) defines the number of data units whose reception status is reported in a response (frame). For example, if the BAck window is set to N, this means that a response frame after the transmission of one or more data units will contain the reception status of (at least) the last N data units.

[0049] Alternatively, according to the second configuration, the transmitter can set the lifetime of all data units belonging to a bidirectional link to zero and transmit the data units interlaced in Block Ack Request (BAR) frames with DU, BAR as basic elements, as follows: DU, BAR, DU, BAR, DU, BAR... The basic elements must be transmitted together, i.e., in the same PPDU.

[0050] The above configuration specifies that the transmitter discards all data units once transmitted. The receiver forwards all correct (non-error) data units to upper layers. However, erroneous data units are discarded or skipped during the forwarding process, and no indication to upper layers that the data units are erroneous occurs. Furthermore, the response returned from the receiver in the form of an acknowledgement may only contain the reception status of the last received data unit, leaving the transmitter's link adaptation with insufficient data to adequately determine the channel quality. "3-State Ack" is also not generally supported.

[0051] Several different pieces of information may be transmitted by the transmitting and / or receiving devices during the establishment of a bidirectional link or may be included or added to one or more data units. These pieces of information may include one or more of the following: a bidirectional identifier indicating whether one or more data units belong to bidirectional traffic; - a traffic identifier and / or a stream identifier indicating a traffic or transmission stream of bidirectional traffic, - a traffic identifier and / or a stream identifier indicating the type of traffic or transmission stream, a receiver identifier indicating the receiver device to which one or more interactive data units are addressed, an acknowledgement policy identifier indicating the acknowledgement policy that the receiving device applies to acknowledge receipt of the data unit; an error rate threshold above which the receiving device shall send a response to the transmitting device instructing the transmitting device to retransmit the data unit; and - The link quality threshold below which the receiving device shall send a response containing a proposal for new transmission parameters.

[0052] Thus, according to the present disclosure, the transmitting method may be performed by a first communication device operating as a transmitting device, and the receiving method may be performed by a second communication device operating as a receiving device communicating with the first communication device via a bidirectional link.

[0053] A flowchart of an embodiment of a transmission method 200 according to the present disclosure is shown in Figure 11. The transmission method 200 includes a step 201 of setting up a bidirectional link with a receiving device for transmitting and receiving data units, a step 202 of transmitting data units stored in a transmission queue to the receiving device for transmission using the bidirectional link, and a third step 203 of removing the transmitted data units from the transmission queue immediately after transmission or if no response is received from the receiving device instructing the transmitting device to retransmit the data units.

[0054] A flowchart of one embodiment of a receiving method 300 according to the present disclosure is shown in Figure 12. The receiving method 300 includes step 301 of establishing a bidirectional link with a transmitting device for transmitting and receiving data units, step 302 of receiving data units from the transmitting device using the bidirectional link, and step 303 of providing the received data units to upper layer processing regardless of the reception status, and providing a reception status indicator to the upper layer processing together with each data unit, depending on whether the data unit is received and decoded correctly or erroneously.

[0055] In summary, this disclosure addresses MAC layer operations for bidirectional links where data units are exchanged nearly instantaneously between two communicating devices. This avoids operational delays through the MAC layer that may result from ARQ operations. This disclosure proposes an enhanced ARQ operation that minimizes delays and misalignments between data units transmitted in each direction. In one embodiment, the transmitter discards all data units after transmission, while the receiver forwards all data units to higher layers regardless of reception status, as directed by the higher layers. Further embodiments address error handling and three-state acknowledgments.

[0056] Thus, the foregoing discussion discloses and describes merely exemplary embodiments of the present disclosure. As will be understood by those skilled in the art, the present disclosure may be embodied in other specific forms without departing from its spirit or essential characteristics. Accordingly, the disclosure of this disclosure, as well as the other claims, are intended to be illustrative, not limiting, of the scope of the disclosure. This disclosure defines in part the scope of the preceding claim terms, so as to prevent the public from releasing subject matter that includes readily discernible variations of the teachings herein.

[0057] In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single element or other unit may fulfill the functions of several 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.

[0058] To the extent that embodiments of the present disclosure have been described as being implemented, at least in part, by software-controlled data processing apparatus, it will be understood that non-transitory machine-readable media having such software thereon, such as optical disks, magnetic disks, semiconductor memories, etc., are also considered to represent embodiments of the present disclosure. Moreover, such software may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunications systems.

[0059] The elements of the disclosed devices, apparatuses, and systems can be implemented by corresponding hardware and / or software elements, e.g., appropriate circuits or circuitry. A circuit is a structural collection of electronic components, including integrated circuits, including conventional circuit elements, application-specific integrated circuits, standard integrated circuits, application-specific standard products, and field-programmable gate arrays. A circuit further includes a central processing device, a graphics processing device, or a microprocessor that is programmed or configured according to software code. A circuit includes the above-mentioned hardware that executes software, but does not include pure software. A circuit or circuitry can be implemented by a single device or unit, or by multiple devices or units, or by a chipset or processor.

[0060] Below is a list of further embodiments of the disclosed subject matter: 1. - setting up a bidirectional link with a receiving device (STA2) for sending and receiving data units; - transmitting to the receiving device data units stored in a transmit queue for transmission using the bidirectional link; - A transmitting device (STA1) including circuitry configured to delete a transmitted data unit from the transmission queue immediately after its transmission or if a response instructing the transmitting device to retransmit the data unit is not received from the receiving device. 2. A transmitting device as described in embodiment 1, wherein the circuit configuration is configured to delete a transmitted data unit from the transmission queue immediately after its transmission, particularly within a response period, regardless of receipt of a response from the receiving device, the response indicating whether the data unit was received or decoded in error by the receiving device. 3. The circuit configuration is - retransmitting a data unit if a response is received from the receiving device, in particular within a response period, instructing the transmitting device to retransmit said data unit; A transmitting device as described in embodiment 1 or 2, configured to remove the data unit from the transmission queue immediately after its retransmission. 4. A transmitting device as described in embodiment 3, wherein the circuit configuration is configured to transmit data units stored in the transmission queue in a first-in, first-out order and to retransmit any data unit before a subsequent data unit stored in the transmission queue is transmitted. 5. A transmitting device as described in any one of the preceding embodiments, wherein the circuit configuration is configured to adapt one or more transmission parameters of the link to the receiving device based on a response from the receiving device suggesting transmission parameters to be used, and / or instructing the transmitting device to retransmit a data unit, and / or based on a reception response from the receiving device indicating that the data unit was received or decoded in error, and / or indicating that the data unit was received or decoded correctly by the receiving device. 6. A transmitting device as described in any one of the preceding embodiments, wherein the circuit configuration is configured to aggregate one or more data units belonging to bidirectional traffic, particularly having a traffic identifier or stream identifier that identifies the bidirectional traffic, into an aggregated data unit and transmit the aggregated data unit. 7. A transmitting device as described in any one of the preceding embodiments, wherein the circuit configuration is configured to aggregate one or more data units belonging to the bidirectional traffic with data units that do not belong to the bidirectional traffic and transmit the aggregated data units, each data unit carrying a traffic identifier or stream identifier for identifying a type of traffic in the aggregated data unit. 8. The circuit configuration is - detecting whether the bidirectional link is available and operational; - A transmitting device as described in any one of the preceding embodiments, configured to discard or reduce the transmission priority of remaining data units stored in the transmission queue and belonging to the bidirectional traffic if it is detected that the bidirectional link is unavailable and / or not in operation. 9. The circuit configuration is - lack of a response to said transmission of one or more data units from said receiving device within a response period; - a drop of a data unit from the receiving device via a reverse link of the bidirectional link; - receiving one or more erroneous data units from the receiving device via a reverse link of the bidirectional link; receiving at least a predetermined number of erroneous data units from the receiving device via a reverse link of the bidirectional link; receiving a response from the receiving device indicating that some or all of the data units transmitted by the transmitting device are in error; and - Missing reverse link configuration 9. The transmitting device of embodiment 8, configured to detect that the bidirectional link is unavailable and / or not working by detecting one or more of: 10. The circuit configuration is a bidirectional identifier indicating whether one or more data units belong to bidirectional traffic; - a traffic identifier and / or a stream identifier indicating a traffic or transmission stream of bidirectional traffic, - a traffic identifier and / or a stream identifier indicating the type of traffic or transport stream, a receiving device identifier indicating the receiving device to which one or more interactive data units are addressed, an acknowledgement policy identifier indicating the acknowledgement policy that the receiving device applies to acknowledge receipt of the data unit; an error rate threshold above which the receiving device shall send a response to the transmitting device instructing the transmitting device to retransmit the data unit; and a link quality threshold below which the receiving device shall send a response containing suggestions for new transmission parameters; 10. A transmitting device as in any one of the preceding embodiments, configured to transmit one or more of the following to the receiving device as part of setting up the bidirectional link, or to include or add to one or more data units: 11. The circuitry is configured to agree with the receiving device on an acknowledgement policy indicating whether a two-state or three-state acknowledgement policy should be applied by the receiving device; a response is sent by the receiving device according to the two-state acknowledgment policy, the response indicating as a first state if the data unit was correctly received and decoded, or as a second state if the data unit was incorrectly received and / or decoded; A transmitting device as described in any one of the embodiments, wherein in accordance with the three-state acknowledgement policy, in addition to the first and second states, a response is sent by the receiving device indicating when the data unit is to be retransmitted as a third state. 12. The circuit configuration is - setting the lifetime of data units of the bidirectional traffic to zero; setting a response window size to 1, which defines the number of data units for which the reception status is reported in response by the receiving device; prohibiting fragmentation of data units, and - Alternating transmission of data units and acknowledgement requests requesting the receiving device to transmit a response. 10. A transmitting device as described in any one of the preceding embodiments, configured to perform one or more of the following: 13. - setting up a bidirectional link with a transmitting device (STA1) for transmitting and receiving data units; receiving data units from the transmitting device using the bidirectional link; - A receiving device (STA2) including a circuit configuration configured to provide received data units to upper layer processing regardless of the reception state depending on whether the data unit is received and decoded correctly or erroneously, and to provide a reception state indicator indicating the reception state to the upper layer processing together with each data unit. 14. A receiving device as described in embodiment 13, wherein the erroneous data unit is provided to upper layer processing by providing an empty or null data unit. 15. A receiving device as described in embodiment 13 or 14, wherein the circuit configuration is configured, as part of the upper layer processing, to ignore or correct data units for which the reception status indicator indicates that they have been received and / or decoded in error. 16. The circuit configuration is a bidirectional identifier indicating whether one or more data units belong to the bidirectional traffic; - a traffic identifier and / or a stream identifier indicating a traffic or transmission stream of bidirectional traffic, a receiving device identifier indicating a receiving device to which one or more interactive data units are addressed; an acknowledgement policy identifier indicating the acknowledgement policy that the receiving device applies to acknowledge receipt of the data unit; an error rate threshold above which the receiving device shall send a response to the transmitting device instructing the transmitting device to retransmit the data unit; and a link quality threshold below which the receiving device shall send a response containing suggestions for new transmission parameters; 16. A receiving device as described in any one of embodiments 13 to 15, configured to receive one or more of the following from the transmitting device as part of setting up the bidirectional link or to derive them from one or more data units. 17. The circuit configuration is - deriving from the correctly received and decoded first data unit a traffic identifier and / or a stream identifier indicating a traffic or transmission stream and a receiving device identifier indicating a receiving device to which the one or more data units are addressed, -A receiving device as described in any one of embodiments 13 to 16, configured to assume that one or more subsequent received data units, in particular all subsequent data units included in a physical layer protocol data unit (PPDU), belong to the same traffic or transmission stream and are addressed to the same receiving device. 18. A receiving device as described in any one of embodiments 13 to 17, wherein the circuit configuration is configured to, when a data unit transmitted from the transmitting device is received, transmit a response to the transmitting device suggesting transmission parameters to be used by the transmitting device, and / or instructing the transmitting device to retransmit the data unit, and / or indicating that the data unit was received or decoded in error by the receiving device, and / or indicating that the data unit was received correctly. 19. The receiving device of embodiment 18, wherein the circuit configuration is configured to send a response to the transmitting device instructing the transmitting device to retransmit the data unit only if the error rate threshold for the data unit is exceeded. 20. - setting up a bidirectional link with a receiving device (STA2) for sending and receiving data units; - transmitting to the receiving device data units stored in a transmission queue for transmission using the bidirectional link; -A transmission method including deleting a transmitted data unit from the transmission queue immediately after transmission or if no response is received from the receiving device instructing the transmitting device (STA1) to retransmit the data unit. twenty one. - setting up a bidirectional link with a transmitting device (STA1) for transmitting and receiving data units; receiving data units from the transmitting device using the bidirectional link; - providing the received data units to higher layer processing regardless of reception status, and a reception status indicator indicative of the reception status is provided to the higher layer processing together with each data unit depending on whether the data unit is received and decoded correctly or in error. 22. A non-transitory computer-readable recording medium having stored therein a computer program product that, when executed by a processor, causes the method of embodiment 20 or 21 to be performed. 23. A computer program comprising program code means for causing a computer to carry out the steps of embodiment 20 or 21 when the computer program is run on a computer.

Claims

1. - establishing a bidirectional link with a receiving device for transmitting and receiving data units; - transmitting to said receiving device data units stored in a transmission queue for transmission using said bidirectional link; - a transmitting device including circuitry configured to remove a transmitted data unit from the transmission queue immediately after its transmission or if no response is received from the receiving device instructing the transmitting device to retransmit the data unit.

2. 2. The transmitting device of claim 1, wherein the circuit configuration is configured to delete a transmitted data unit from the transmission queue immediately after its transmission, regardless of receipt of a response from the receiving device, particularly within a response period, the response indicating whether the data unit was received or decoded in error by the receiving device.

3. The circuit configuration is - retransmitting a data unit if a response is received from the receiving device, in particular within a response period, instructing the transmitting device to retransmit the data unit; A transmitting device according to claim 1, adapted to remove said data unit from said transmission queue immediately after its retransmission.

4. 4. The transmitting device of claim 3, wherein the circuitry is configured to transmit the data units stored in the transmit queue in a first-in, first-out order and to retransmit any data unit before transmitting a subsequent data unit stored in the transmit queue.

5. 2. The transmitting device of claim 1, wherein the circuitry is configured to adapt one or more transmission parameters of the link to the receiving device based on a response from the receiving device suggesting transmission parameters to use, and / or instructing the transmitting device to retransmit a data unit, and / or based on a reception response from the receiving device indicating that a data unit has been received or decoded in error, and / or indicating that a data unit has been correctly received or decoded by the receiving device.

6. 2. The transmitting device of claim 1, wherein the circuitry is configured to aggregate one or more data units belonging to bidirectional traffic, in particular having a traffic identifier or stream identifier that identifies the bidirectional traffic, into an aggregated data unit and to transmit the aggregated data unit.

7. The circuit configuration is - detecting whether said bidirectional link is available and operational; - A transmitting device as described in claim 1, configured to discard or reduce the transmission priority of remaining data units stored in the transmission queue and belonging to the bidirectional traffic if it is detected that the bidirectional link is not available and / or not in operation.

8. The circuit configuration is - lack of a response to said transmission of one or more data units from said receiving device within a response period; - Dropping of data units from the receiving device via the reverse link of the bidirectional link; - reception of one or more erroneous data units from the receiving device via a reverse link of the bidirectional link; - receiving at least a predetermined number of erroneous data units from the receiving device via a reverse link of the bidirectional link; receiving a response from the receiving device indicating that some or all of the data units transmitted by the transmitting device are in error; and - Missing reverse link configuration 8. The transmitting device of claim 7, configured to detect that the bidirectional link is unavailable and / or not working by detecting one or more of:

9. The circuit configuration is a bidirectional identifier indicating whether one or more data units belong to bidirectional traffic; - a traffic identifier and / or a stream identifier indicating a traffic or transmission stream of bidirectional traffic, - a traffic and / or stream identifier indicating the type of traffic or transport stream, a receiving device identifier indicating the receiving device to which one or more interactive data units are addressed, an acknowledgement policy identifier indicating the acknowledgement policy that the receiving device applies to acknowledge receipt of a data unit; an error rate threshold above which the receiving device shall send a response to the transmitting device instructing the transmitting device to retransmit a data unit; and - a link quality threshold below which the receiving device shall send a response containing a proposal for new transmission parameters 2. The transmitting device of claim 1, configured to transmit one or more of the following to the receiving device as part of setting up the bidirectional link, or to include or add one or more of the following in one or more data units:

10. the circuitry is configured to agree with the receiving device an acknowledgement policy indicating whether a two-state or three-state acknowledgement policy should be applied by the receiving device; a response is sent by the receiving device according to the two-state acknowledgement policy, the response indicating as a first state if the data unit was correctly received and decoded, or as a second state if the data unit was incorrectly received and / or decoded; 2. The transmitting device of claim 1, wherein, according to the three-state acknowledgement policy, in addition to the first and second states, a response is sent by the receiving device indicating when a data unit should be retransmitted as a third state.

11. The circuit configuration is - setting the lifetime of data units of said bidirectional traffic to zero; - setting a response window size to 1, which defines the number of data units for which the reception status is reported in response by the receiving device; prohibiting fragmentation of data units, and - Alternating transmission of data units and acknowledgement requests requesting the receiving device to transmit a response. The transmitting device of claim 1 , configured to perform one or more of the following:

12. - establishing a bidirectional link with a transmitting device for transmitting and receiving data units; - receiving data units from said transmitting device using said bidirectional link; - A receiving device including a circuit arrangement configured to provide received data units to higher layer processing depending on whether the data unit is received and decoded correctly or erroneously, regardless of the reception state, and to provide a reception state indicator indicative of the reception state to the higher layer processing together with each data unit.

13. 13. The receiving apparatus of claim 12, wherein the circuitry is configured, as part of the higher layer processing, to ignore or correct data units that the reception status indicator indicates have been received and / or decoded in error.

14. The circuit configuration is a bidirectional identifier indicating whether one or more data units belong to said bidirectional traffic; - a traffic identifier and / or a stream identifier indicating a traffic or transmission stream of bidirectional traffic, a receiving device identifier indicating the receiving device to which one or more interactive data units are addressed; an acknowledgement policy identifier indicating the acknowledgement policy that the receiving device applies to acknowledge receipt of a data unit; an error rate threshold above which the receiving device shall send a response to the transmitting device instructing the transmitting device to retransmit a data unit; and - a link quality threshold below which the receiving device shall send a response containing a proposal for new transmission parameters 13. The receiving device of claim 12, configured to receive one or more of: from the transmitting device as part of setting up the bidirectional link, or to derive from one or more data units:

15. The circuit configuration is - deriving from the correctly received and decoded first data unit a traffic identifier and / or a stream identifier indicating the traffic or transmission stream and a receiving device identifier indicating the receiving device to which the data unit or units are addressed, - A receiving device as described in claim 12, configured to assume that one or more subsequent received data units, in particular all subsequent data units contained in a physical layer protocol data unit (PPDU), belong to the same traffic or transmission stream and are addressed to the same receiving device.

16. 13. The receiving device of claim 12, wherein the circuit configuration is configured to, when a data unit transmitted from the transmitting device is received, transmit a response to the transmitting device suggesting transmission parameters to be used by the transmitting device, and / or instructing the transmitting device to retransmit the data unit, and / or indicating that the data unit was received or decoded in error by the receiving device, and / or indicating that the data unit was received correctly.

17. 17. The receiving device of claim 16, wherein the circuitry is configured to send a response to the transmitting device instructing the transmitting device to retransmit the data unit only if an error rate threshold for the data unit is exceeded.

18. - establishing a bidirectional link with a receiving device for transmitting and receiving data units; - transmitting to said receiving device data units stored in a transmission queue for transmission using said bidirectional link; - A transmission method comprising removing a transmitted data unit from the transmission queue immediately after its transmission or if no response is received from the receiving device instructing the transmitting device to retransmit the data unit.

19. - establishing a bidirectional link with a transmitting device for transmitting and receiving data units; - receiving data units from said transmitting device using said bidirectional link; - providing the received data units to higher layer processing regardless of reception status, and a reception status indicator indicative of the reception status is provided to the higher layer processing together with each data unit depending on whether the data unit is received and decoded correctly or in error.

20. A non-transitory computer-readable recording medium having stored therein a computer program product that, when executed by a processor, causes the method of embodiment 20 or 21 to be performed.