Enhanced management of ACs in multi-user EDCA transmission mode in wireless networks
11595996 · 2023-02-28
Assignee
Inventors
Cpc classification
H04W72/0453
ELECTRICITY
H04W28/0268
ELECTRICITY
International classification
H04W28/02
ELECTRICITY
H04W72/0453
ELECTRICITY
Abstract
To avoid blocking node AC queues in the degraded MU EDCA mode due to regular OFDMA transmission of data from another AC queue in resource units provided by an AP, the present invention proposes to use a dedicated HEMUEDCATimer for each AC queue, in order for them to be able to exit the degraded MU EDCA mode independently of the other AC queues. In this respect, upon successfully transmitting data stored in two or more traffic queues, in each of one or more accessed resource units provided by the AP within one or more transmission opportunities, the node sets each traffic queue transmitting in the accessed resource unit in the degraded MU EDCA mode for a predetermined degrading duration counted down by a respective timer associated with the transmitting traffic queue. Next, upon expiry of any timer, the node switches back the associated traffic queue to the conventional EDCA mode.
Claims
1. A communication device comprising: a first communication unit configured to communicate in compliance with Enhanced Distributed Channel Access (EDCA) based on a first contention parameter; a transmission unit configured to transmit data to another communication device in a resource unit in compliance with IEEE802.11 standard series; a second communication unit configured to communicate in compliance with the EDCA based on a second contention parameter during a first period corresponding to a first access category in a case where the transmission unit transmits data in the first access category to the other communication device in the resource unit, and to communicate in compliance with the EDCA based on a third contention parameter during a second period corresponding to a second access category in a case where the transmission unit transmits data in the second access category to the other communication device in the resource unit; and a switching unit configured to switch communication of the data in the first access category from communication by the second communication unit to communication by the first communication unit in compliance with the EDCA based on the first contention parameter in a case where the second communication unit transmits the data in the first access category in the resource unit and the first period elapses and to switch communication of the data in the second access category from communication by the second communication unit to communication by the first communication unit in compliance with the EDCA based on the first contention parameter in a case where the second communication unit transmits the data in the second access category in the resource unit and the second period elapses.
2. The communication device according to claim 1, wherein the first period is different from the second period.
3. The communication device according to claim 1, wherein the first period and the second period are calculated based on values received from the other communication device and parameters depending on an access category.
4. The communication device according to claim 1, further comprising a first receiving unit configured to receive a value of the first period and a value of the second period from the other communication device.
5. The communication device according to claim 1, wherein the second communication unit communicates in a Multi-User Enhanced Distributed Channel Access (MUEDCA) mode in compliance with the IEEE802.11 standard series.
6. The communication device according to claim 1, further comprising a second receiving unit configured to receive a beacon frame including information about the first contention parameter, the second contention parameter and the third contention parameter from the other communication device.
7. The communication device according to claim 1, wherein the second communication unit communicates in compliance with the EDCA based on the second contention parameter during the first period in a case where the second communication unit successfully transmits the data in the first access category in the resource unit, and wherein the second communication unit communicates in compliance with the EDCA based on the third contention parameter during the second period in a case where the second communication unit successfully transmits the data in the second access category in the resource unit.
8. The communication device according to claim 1, wherein the second contention parameter and the third contention parameter include a minimum value CWmin and a maximum value CWmax of a contention window.
9. The communication device according to claim 1, wherein the first contention parameter includes a parameter for each access category.
10. The communication device according to claim 1, wherein the other communication device is an access point in compliance with the IEEE802.11 standard series.
11. The communication device according to claim 1, wherein the first communication unit transmits at least one of a Request-To-Send (RTS) signal and a Clear-To-Send (CTS) signal in communication in compliance with the EDCA.
12. The communication device according to claim 1, further comprising a timer configured to count down the first period.
13. The communication device according to claim 1, further comprising: a first queue configured to store the data in the first access category; and a second queue configured to store the data in the second access category.
14. The communication device according to claim 1, wherein the first access category and the second access category are any one of AC_VO (Voice), AC_VI (Video), AC_BE (Best Effort), and AC_BG (Background).
15. A control method of a communication device, the control method comprising: communicating in compliance with Enhanced Distributed Channel Access (EDCA) based on a first contention parameter; transmitting data to another communication device in a resource unit in compliance with IEEE802.11 standard series; communicating in compliance with the EDCA based on a second contention parameter during a first period corresponding to a first access category in a case where data in the first access category is transmitted to the other communication device in the resource unit, and communicating in compliance with the EDCA based on a third contention parameter during a second period corresponding to a second access category in a case where data in the second access category is transmitted to the other communication device in the resource unit; switching communication of the data in the first access category from communication in compliance with the EDCA based on the second contention parameter to communication in compliance with the EDCA based on the first contention parameter in a case where the data in the first access category is transmitted in the resource unit and the first period elapses and switching communication of the data in the second access category from communication in compliance with the EDCA based on the third contention parameter to communication in compliance with the EDCA based on the first contention parameter in a case where the data in the second access category is transmitted in the resource unit and the second period elapses.
16. A non-transitory computer readable storage medium storing a program to cause a computer to execute a control method of a communication device, the control method comprising: communicating in compliance with Enhanced Distributed Channel Access (EDCA) based on a first contention parameter; transmitting data to another communication device in a resource unit in compliance with IEEE802.11 standard series; communicating in compliance with the EDCA based on a second contention parameter during a first period corresponding to a first access category in a case where data in the first access category is transmitted to the other communication device in the resource unit, and communicating in compliance with the EDCA based on a third contention parameter during a second period corresponding to a second access category in a case where data in the second access category is transmitted to the other communication device in the resource unit; switching communication of the data in the first access category from communication in compliance with the EDCA based on the second contention parameter to communication in compliance with the EDCA based on the first contention parameter in a case where the data in the first access category is transmitted in the resource unit and the first period elapses and switching communication of the data in the second access category from communication in compliance with the EDCA based on the third contention parameter to communication in compliance with the EDCA based on the first contention parameter in a case where the data in the second access category is transmitted in the resource unit and the second period elapses.
17. A communication device comprising: a first communication unit configured to communicate in compliance with Enhanced Distributed Channel Access (EDCA) based on a first contention parameter when transmitting data in a first category, and to communicate in compliance with the EDCA based on a second contention parameter when transmitting data in a second category; a transmission unit configured to transmit data to another communication device in a resource unit in compliance with IEEE802.11 standard series; a second communication unit configured to communicate in compliance with the EDCA based on a third contention parameter during a first period corresponding to the first access category in a case where the transmission unit transmits the data in the first access category to the other communication device in the resource unit, and to communicate in compliance with the EDCA based on a fourth contention parameter during a second period corresponding to the second access category in a case where the transmission unit transmits the data in the second access category to the other communication device in the resource unit; and a switching unit configured to switch communication of the data in the first access category from communication by the second communication unit to communication by the first communication unit in compliance with the EDCA based on the first contention parameter in a case where the second communication unit transmits the data in the first access category in the resource unit and the first period elapses and to switch communication of the data in the second access category from communication by the second communication unit to communication by the first communication unit in compliance with the EDCA based on the second contention parameter in a case where the second communication unit transmits the data in the second access category in the resource unit and the second period elapses.
18. A control method of a communication device, the control method comprising: communicating in compliance with Enhanced Distributed Channel Access (EDCA) based on a first contention parameter when transmitting data in a first category, and communicating in compliance with the EDCA based on a second contention parameter when transmitting data in a second category; transmitting data to another communication device in a resource unit in compliance with IEEE802.11 standard series; communicating in compliance with the EDCA based on a third contention parameter during a first period corresponding to the first access category in a case where the data in the first access category is transmitted to the other communication device in the resource unit, and communicating in compliance with the EDCA based on a fourth contention parameter during a second period corresponding to the second access category in a case where the data in the second access category is transmitted to the other communication device in the resource unit; switching communication of the data in the first access category from communication in compliance with the EDCA based on the third contention parameter to communication in compliance with the EDCA based on the first contention parameter in a case where the data in the first access category is transmitted in the resource unit and the first period elapses and switching communication of the data in the second access category from communication in compliance with the EDCA based on the fourth contention parameter to communication in compliance with the EDCA based on the second contention parameter in a case where the data in the second access category is transmitted in the resource unit and the second period elapses.
19. A non-transitory computer readable storage medium storing a program to cause a computer to execute a control method of a communication device, the control method comprising: communicating in compliance with Enhanced Distributed Channel Access (EDCA) based on a first contention parameter when transmitting data in a first category, and communicating in compliance with the EDCA based on a second contention parameter when transmitting data in a second category; transmitting data to another communication device in a resource unit in compliance with IEEE802.11 standard series; communicating in compliance with the EDCA based on a third contention parameter during a first period corresponding to the first access category in a case where the data in the first access category is transmitted to the other communication device in the resource unit, and communicating in compliance with the EDCA based on a fourth contention parameter during a second period corresponding to the second access category in a case where the data in the second access category is transmitted to the other communication device in the resource unit; switching communication of the data in the first access category from communication in compliance with the EDCA based on the third contention parameter to communication in compliance with the EDCA based on the first contention parameter in a case where the data in the first access category is transmitted in the resource unit and the first period elapses and switching communication of the data in the second access category from communication in compliance with the EDCA based on the fourth contention parameter to communication in compliance with the EDCA based on the second contention parameter in a case where the data in the second access category is transmitted in the resource unit and the second period elapses.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Further advantages of the present invention will become apparent to those skilled in the art upon examination of the drawings and detailed description. Embodiments of the invention will now be described, by way of example only, and with reference to the following drawings.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
DETAILED DESCRIPTION
(21) The invention will now be described by means of specific non-limiting exemplary embodiments and by reference to the figures.
(22)
(23) Access to the shared radio medium to send data frames is based on the CSMA/CA technique, for sensing the carrier and avoiding collision by separating concurrent transmissions in space and time.
(24) Carrier sensing in CSMA/CA is performed by both physical and virtual mechanisms. Virtual carrier sensing is achieved by transmitting control frames to reserve the medium prior to transmission of data frames.
(25) Next, a source or transmitting node, including the AP, first attempts, through the physical mechanism, to sense a medium that has been idle for at least one DIFS (standing for DCF InterFrame Spacing) time period, before transmitting data frames.
(26) However, if it is sensed that the shared radio medium is busy during the DIFS period, the source node continues to wait until the radio medium becomes idle.
(27) To access the medium, the node starts a countdown backoff counter designed to expire after a number of timeslots, chosen randomly in a so-called contention window [0, CW], CW (integer). This backoff mechanism or procedure, also referred to as channel access scheme, is the basis of the collision avoidance mechanism that defers the transmission time for a random interval, thus reducing the probability of collisions on the shared channel. After the backoff time period (i.e. the backoff counter reaches zero), the source node may send data or control frames if the medium is idle.
(28) One problem of wireless data communications is that it is not possible for the source node to listen while sending, thus preventing the source node from detecting data corruption due to channel fading or interference or collision phenomena. A source node remains unaware of the corruption of the data frames sent and continues to transmit the frames unnecessarily, thus wasting access time.
(29) The Collision Avoidance mechanism of CSMA/CA thus provides positive acknowledgement (ACK) of the sent data frames by the receiving node if the frames are received with success, to notify the source node that no corruption of the sent data frames occurred.
(30) The ACK is transmitted at the end of reception of the data frame, immediately after a period of time called Short InterFrame Space (SIFS).
(31) If the source node does not receive the ACK within a specified ACK timeout or detects the transmission of a different frame on the channel, it may infer data frame loss. In that case, it generally reschedules the frame transmission according to the above-mentioned backoff procedure.
(32) To improve the Collision Avoidance efficiency of CSMA/CA, a four-way handshaking mechanism is optionally implemented. One implementation is known as the RTS/CTS exchange, defined in the 802.11 standard.
(33) The RTS/CTS exchange consists in exchanging control frames to reserve the radio medium prior to transmitting data frames during a transmission opportunity called TXOP in the 802.11 standard, thus protecting data transmissions from any further collisions. The four-way CTS/RTS handshaking mechanism is well known, and thus not further described here. Reference is made to the standard for further details
(34) The RTS/CTS four-way handshaking mechanism is very efficient in terms of system performance, in particular with regard to large frames since it reduces the length of the messages involved in the contention process.
(35) In detail, assuming perfect channel sensing by each communication node, collision may only occur when two (or more) frames are transmitted within the same time slot after a DIFS (DCF inter-frame space) or when the backoff counters of the two (or more) source nodes have reached zero nearly at the same time. If both source nodes use the RTS/CTS mechanism, this collision can only occur for the RTS frames. Fortunately, such collision is early detected by the source nodes upon not receiving a CTS response.
(36) Management of quality of service (QoS) has been introduced at node level in such wireless networks, through well-known EDCA mechanism defined in the IEEE 802.11e standard.
(37) Indeed, in the original DCF standard, a communication node includes only one transmission queue/buffer. However, since a subsequent data frame cannot be transmitted until the transmission/retransmission of a preceding frame ends, the delay in transmitting/retransmitting the preceding frame prevented the communication from having QoS.
(38)
(39) The 802.11e standard relies on a coordination function, called hybrid coordination function (HCF), which has two modes of operation: enhanced distributed channel access (EDCA) and HCF controlled channel access (HCCA).
(40) EDCA enhances or extends functionality of the original access DCF method: EDCA has been designed to support prioritized traffics similar to DiffSery (Differentiated Services), which is a protocol for specifying and controlling network traffic by class so that certain types of traffic get precedence.
(41) EDCA is the dominant channel access scheme or mechanism in WLANs because it features a distributed and easily deployed mechanism. The scheme contends for access to at least one communication channel of the communication network using contention parameters, in order for the node to transmit data stored locally over an accessed communication channel.
(42) The above deficiency of failing to have satisfactory QoS due to delay in frame retransmission has been solved with a plurality of transmission queues/buffers.
(43) QoS support in EDCA is achieved with the introduction of four Access Categories (ACs), and thereby of four corresponding transmission/traffic queues or buffers (210). Usually, the four ACs are the following in decreasing priority order: voice (or “AC_VO”), video (or “AC_VI”), best effort (or “AC_BE”) and background (or “AC_BG”).
(44) Of course, another number of traffic queues may be contemplated.
(45) Each AC has its own traffic queue/buffer to store corresponding data frames to be transmitted on the network. The data frames, namely the MSDUs, incoming from an upper layer of the protocol stack are mapped onto one of the four AC queues/buffers and thus input in the mapped AC buffer.
(46) Each AC has also its own set of queue contention parameters, and is associated with a priority value, thus defining traffics of higher or lower priority of MSDUs. Thus, there is a plurality of traffic queues for serving data traffic at different priorities. The queue contention parameters usually include CW.sub.min, CW.sub.max, AIFSN and TXOP_Limit parameters for each traffic queue. CW.sub.min and CW.sub.max are the lower and higher boundaries of a selection range from which the EDCA contention window CW is selected for a given traffic queue. AIFSN stands for Arbitration Inter-Frame Space Number, and defines a number of time slots (usually 9 μs), additional to a DIFS interval (the total defining the AIFS period), the node must sense the medium as idle before decrementing the queue backoff value/counter associated with the traffic queue considered. TXOP_Limit defines the maximum size of a TXOP the node may request.
(47) That means that each AC (and corresponding buffer) acts as an independent DCF contending entity including its respective queue backoff engine 211. Thus, each queue backoff engine 211 is associated with a respective traffic queue 210 for using queue contention parameters and setting a respective queue backoff value/counter (randomly selected from the CW), to be used to contend for access to at least one communication channel in order to transmit data stored in the respective traffic queue over an accessed communication channel.
(48) The contention window CW and the queue backoff value/counter are known as EDCA variables.
(49) It results that the ACs within the same communication node compete one with each other to access the wireless medium and to obtain a transmission opportunity, using the conventional EDCA access scheme as explained above for example.
(50) Service differentiation between the ACs is achieved by setting different queue backoff parameters between the ACs, such as different CW.sub.min, CW.sub.max, AIFSN and/or different transmission opportunity duration limits (TXOP_Limit). This contributes to adjusting QoS.
(51) The usage of the AIFSN parameter and queue backoff values to access the medium in the EDCA mechanism is described below with reference to
(52)
(53) In this table, typical respective values for aCWmin and aCWmax are defined in the above-mentioned standard as being respectively 15 and 1023. Other values may be set by a node in the network (typically an Access Point) and shared between the nodes. This information may be broadcast in a beacon frame.
(54) To determine the delay, AIFS[i], between the detection of the medium being free and the beginning of the queue backoff value decrementing for traffic queue ‘i’, the node multiplies the value indicated in the AIFSN parameter for traffic queue ‘i’, i.e. AIFSN[i], by a time slot duration (typically 9 micro second), and adds this value to a DIFS duration.
(55) As shown in
(56) This decrementing deferring mechanism, additional to the use of an on-average lower CW, makes that high priority traffic in EDCA has a higher chance to be transmitted than low priority traffic: a node with high priority traffic statistically waits a little less before it sends its packet, on average, than a node with low priority traffic.
(57) The EDCA queue backoff values or counters thus play two roles. First, they drive the nodes in efficiently accessing the medium, by reducing risks of collisions. Second, they offer management of quality of service, QoS, by mirroring the aging of the data contained in the traffic queue (the more aged the data, the lower the backoff value) and thus providing different priorities to the traffic queues through different values of the EDCA parameters (especially the AIFSN parameter that delays the start of the decrementing of the EDCA queue backoff values).
(58) Referring to
(59) Buffers AC1 and AC0 are reserved for best effort (AC_BE) and background (AC_BG) traffic. They have, respectively, the last-but-one lowest priority and the lowest priority.
(60) Each data unit, MSDU, arriving at the MAC layer from an upper layer (e.g. Link layer) with a priority is mapped into an AC according to mapping rules.
(61) When the backoff procedure for a traffic queue (or an AC) ends, the MAC controller (reference 704 in
(62) Since the ACs operate concurrently in accessing the wireless medium, it may happen that two ACs of the same communication node have their backoff ending simultaneously. In such a situation, a virtual collision handler (212) of the MAC controller operates a selection of the AC having the highest priority (as shown in
(63) Then, the virtual collision handler commands those ACs having lower priorities to start again a backoff operation using an increased CW value.
(64) The QoS resulting from the use of the ACs may be signalled in the MAC data frames, for instance in a QoS control field included in the header of the IEEE 802.11e MAC frame.
(65) To meet the ever-increasing demand for faster wireless networks to support bandwidth-intensive applications, 802.11ac is targeting larger bandwidth transmission through multi-channel operations.
(66) IEEE 802.11ac introduces support of a restricted number of predefined subsets of 20 MHz channels to form the sole predefined composite channel configurations that are available for reservation by any 802.11ac node on the wireless network to transmit data.
(67) The predefined subsets are shown in the Figure and correspond to 20 MHz, 40 MHz, 80 MHz, and 160 MHz channel bandwidths, compared to only 20 MHz and 40 MHz supported by 802.11n. Indeed, the 20 MHz component channels 300-1 to 300-8 are concatenated to form wider communication composite channels.
(68) In the 802.11ac standard, the channels of each predefined 40 MHz, 80 MHz or 160 MHz subset are contiguous within the operating frequency band, i.e. no hole (missing channel) in the composite channel as ordered in the operating frequency band is allowed.
(69) The 160 MHz channel bandwidth is composed of two 80 MHz channels that may or may not be frequency contiguous. The 80 MHz and 40 MHz channels are respectively composed of two frequency-adjacent or contiguous 40 MHz and 20 MHz channels, respectively. However the present invention may have embodiments with either composition of the channel bandwidth, i.e. including only contiguous channels or formed of non-contiguous channels within the operating band.
(70) A node is granted a TXOP through the enhanced distributed channel access (EDCA) mechanism on the “primary channel” (400-3). Indeed, for each composite channel having a bandwidth, 802.11ac designates one channel as “primary” meaning that it is used for contending for access to the composite channel. The primary 20 MHz channel is common to all nodes (STAs) belonging to the same basic set, i.e. managed by or registered with the same local Access Point (AP).
(71) However, to make sure that no other legacy node (i.e. not belonging to the same set) uses the secondary channels, it is provided that the control frames (e.g. RTS frame/CTS frame) reserving the composite channel are duplicated over each 20 MHz channel of such composite channel.
(72) As addressed earlier, the IEEE 802.11 ac standard enables up to four, or even eight, 20 MHz channels to be bound. Because of the limited number of channels (19 in the 5 GHz band in Europe), channel saturation becomes problematic. Indeed, in densely populated areas, the 5 GHz band will surely tend to saturate even with a 20 or 40 MHz bandwidth usage per Wireless-LAN cell.
(73) Developments in the 802.11ax standard seek to enhance efficiency and usage of the wireless channel for dense environments.
(74) In this perspective, one may consider multi-user (MU) transmission features, allowing multiple simultaneous transmissions to/from different users in both downlink (DL) and uplink (UL) directions with a main node, usually an AP. In the uplink, multi-user transmissions can be used to mitigate the collision probability by allowing multiple nodes to simultaneously transmit to the AP.
(75) To actually perform such multi-user transmission, it has been proposed to split a granted 20 MHz channel (400-1 to 400-4) into sub-channels 410 (elementary sub-channels), also referred to as sub-carriers or resource units (RUs), that are shared in the frequency domain by multiple users, based for instance on Orthogonal Frequency Division Multiple Access (OFDMA) technique.
(76) This is illustrated with reference to
(77) The multi-user feature of OFDMA allows, a node, usually an access point, AP, to assign different RUs to different nodes in order to increase competition. This may help to reduce contention and collisions inside 802.11 networks.
(78) Contrary to MU downlink OFDMA wherein the AP can directly send multiple data to multiple nodes (supported by specific indications inside the PLCP header), a trigger mechanism has been adopted for the AP to trigger MU uplink communications from various nodes.
(79) To support a MU uplink transmission (during a TxOP pre-empted by the AP), the 802.11ax AP has to provide signalling information for both legacy nodes (non-802.11ax nodes) to set their NAV and for 802.11 ax nodes to determine the Resource Units allocation.
(80) In the following description, the term legacy refers to non-802.11 ax nodes, meaning 802.11 nodes of previous technologies that do not support OFDMA communications.
(81) As shown in the example of
(82) Based on an AP's decision, the trigger frame TF may define a plurality of resource units (RUs) 410, or “Random RUs”, which can be randomly accessed by the nodes of the network. In other words, Random RUs designated or allocated by the AP in the TF may serve as basis for contention between nodes willing to access the communication medium for sending data. A collision occurs when two or more nodes attempt to transmit at the same time over the same RU.
(83) In that case, the trigger frame is referred to as a trigger frame for random access (TF-R). A TF-R may be emitted by the AP to allow multiple nodes to perform MU UL (Multi-User UpLink) random access to obtain an RU for their UL transmissions.
(84) The trigger frame TF may also designate Scheduled resource units, in addition to or in replacement of the Random RUs. Scheduled RUs may be reserved by the AP for certain nodes in which case no contention for accessing such RUs is needed for these nodes. Such RUs and their corresponding scheduled nodes are indicated in the trigger frame. For instance, a node identifier, such as the Association ID (AID) assigned to each node upon registration, is added, in the TF frame, in association with each Scheduled RU in order to explicitly indicate the node that is allowed to use each Scheduled RU.
(85) An AID equal to 0 may be used to identify random RUs.
(86) The multi-user feature of OFDMA allows the AP to assign different RUs to different nodes in order to increase competition. This may help to reduce contention and collisions inside 802.11 networks.
(87) In the example of
(88) Of course the number of RUs splitting a 20 MHz channel may be different from four. For instance, between two to nine RUs may be provided (thus each having a size between 10 MHz and about 2 MHz).
(89) Once the nodes have used the RUs to transmit data to the AP, the AP responds with an acknowledgment ACK (not show in the Figure) to acknowledge the data on each RU, making it possible for each node to know when its data transmission is successful (reception of the ACK) or not (no ACK after expiry of a time-out).
(90) Document IEEE 802.11-15/1105 provides an exemplary random allocation procedure that may be used by the nodes to access the Random RUs indicated in the TF. This random allocation procedure, referred to as RU contention scheme, is managed by a dedicated RU access module separate from the above-mentioned channel access module and is configured to manage access to at least one resource unit provided by another node (usually the AP) within a transmission opportunity granted to the other node on the communication channel, in order to transmit data stored locally over an accessed resource unit. Preferably, the RU access module includes an RU backoff engine separate from the queue backoff engines, which uses RU contention parameters, including a computed RU backoff value, to contend for access to the random RUs.
(91) In other words, the RU contention scheme is based on a new backoff counter, referred to as the OFDMA or RU backoff counter/value (or OBO), inside the 802.11 ax nodes for allowing a dedicated contention when accessing a random RU to send data.
(92) Each node STA1 to STAn is a transmitting node with regards to receiving AP, and as a consequence, each node has an active RU backoff engine separate from the queue backoff engines, for computing an RU backoff value (OBO) to be used to contend for access to at least one random resource unit splitting a transmission opportunity granted on the communication channel, in order to transmit data stored in either traffic queue AC.
(93) The random allocation procedure in this document comprises, for a node of a plurality of nodes having an active RU backoff value OBO, a first step of determining from the trigger frame the random sub-channels or RUs of the communication medium available for contention, a second step of verifying if the value of the active RU backoff value OBO local to the considered node is not greater than a number of detected-as-available random RUs, and then, in case of successful verification, a third step of randomly selecting a random RU among the detected-as-available random RUs for sending data. In case the second step is not verified, a fourth step (instead of the third) is performed in order to decrement the RU backoff value OBO by the number of detected-as-available RUs.
(94) As shown in the Figure, some Resource Units may not be used (410u) because no node with an RU backoff value OBO less than the number of available random RUs has randomly selected one of these random RUs, whereas some other have collided (as example 410c) because two of these nodes have randomly selected the same RU.
(95) The MU Uplink (UL) medium access scheme, including both scheduled RUs and random RUs, proves to be very efficient compared to conventional EDCA access scheme. This is because the number of collisions generated by simultaneous medium access attempts and the overhead due to the medium access are both reduced.
(96) However, the EDCA access scheme and MU UL OFDMA/RU access scheme have to coexist, in particular to allow legacy 802.11 nodes to access the medium and to allow even the 802.11ax nodes to initiate communication with nodes other than the AP.
(97) Although the EDCA access scheme taken alone provides a fair access to the medium throughout all the nodes, its association with the MU UL OFDMA/RU access scheme introduces a drift in fairness. This is because, compared to the legacy nodes, the 802.11ax nodes have additional opportunities to send data through the resource units offered in the transmission opportunities granted to another node, in particular to the AP.
(98) To restore some fairness between the nodes, solutions have been proposed,
(99) For instance in co-pending UK application No 1612151.9 filed on 13 Jul. 2016, a current value of at least one EDCA parameter is modified into different values (MU EDCA parameters), upon successfully transmitting data over an accessed resource unit (i.e. through UL OFDMA transmission). This is to reduce a probability for the node to access a communication channel through (conventional EDCA) contention.
(100) In this framework, a mechanism has been proposed to reduce the node's probability of EDCA-based transmission (i.e. using the EDCA medium access scheme) as soon as the node successfully uses the MU UL mechanism to transmit its data. This reduction is made by modifying the well-known EDCA parameters.
(101) The proposed mechanism, as described in document IEEE 802.11-16/1180 entitled “Proposed text changes for MU EDCA parameters”, sets each transmitting traffic queue in a MU EDCA mode in response to successfully transmitting the data in the accessed MU UL OFDMA resource unit. The setting is done for a predetermined duration, known as HEMUEDCATimer. The MU EDCA mode is a mode in which the respective EDCA parameters are set to MU values different from legacy values used in a different legacy EDCA mode.
(102) To switch from legacy EDCA contention access mode to the MU EDCA mode, the node may modify its EDCA parameters (AIFSN, CW.sub.min and/or CW.sub.max) for all the traffic queues having successfully transmitted some data in the accessed resource unit. The switch back to the legacy EDCA mode may occur upon expiry of the HEMUEDCATimer, being noted that this timer is reset to its initial value each time the node transmits again new data (from either AC) during newly accessed resource units provided by the AP. The initializing value of HEMUEDCATimer is suggested to be high (e.g. tens of milliseconds) in order to encompass several new opportunities for MU UL transmissions.
(103) The MU values for the EDCA parameters may be transmitted by the AP in a Dedicated Information Element, typically sent within a beacon frame broadcasting network information to the nodes.
(104) The disclosed approach suggests increasing only the value of AIFSN for each transmitting traffic queue, while keeping CW.sub.min, and CW.sub.max unchanged. As the corresponding AIFS period increases, each traffic queue in the MU EDCA mode is prevented (or at least substantially delayed) from having its queue backoff value or counter been decremented upon sensing the medium free again. New accesses to the medium using EDCA access scheme are statistically substantially reduced, or even no longer possible, during the above-mentioned predetermined duration.
(105) The MU-mode AIFSN value may be very restrictive. So, in high density environment where the medium is busy most of the time (and thus remain free for very short time), the node in MU EDCA mode must wait for the corresponding very restrictive AIFS period, and thus does not decrement the backoff value of the AC queue in MU EDCA mode very often. The result is that the node cannot EDCA-contend for access to the medium very often.
(106) Note that a specific configuration in the publication tends to totally prevent (except if the network is not used at all) the transmitting traffic queues from EDCA-accessing the medium while in the MU EDCA mode. The AP specifies this particular operating mode by indicating a specific value of the AIFSN parameter (typically 0) in the set of MU EDCA parameters. Such specific value means for the node that it shall use a very high value for its AIFSN, which value is equal to the HEMUEDCATimer as transmitted by the AP (it is reminded its value should be high, about tens of milliseconds, to be compared to less than 0.1 millisecond for the worst AIFS[i] in the legacy EDCA mode).
(107) Unfortunately, as long as the node regularly accesses OFDMA RUs to transmit data, its traffic queues in the MU EDCA mode remain in the same MU mode. This applies in particular for those traffic queues in the MU mode that do not even send any data in the accessed OFDMA RUs over a potential lengthy period of regular OFDMA accesses. This is contrary to the QoS principle as described in the 802.11e standard.
(108) This situation is now illustrated with reference to
(109) In the scenario of this Figure, the AP 501 polls a node 502 by sending a standardized Trigger Frame 1300 requesting the node to transmit some QoS data coming from the AC_VI access category. This may be done by providing one or more Scheduled RUs to that node. The category may be indicated in the “Preferred AC” field 1330 shown in
(110) After a SIFS time, node 502 initiates a MU UL OFDMA transmission 510 by picking up some QoS data (511) from solicited traffic queue AC_VI. In this exemplary scenario, there is not enough QoS data ready to be sent in the solicited traffic queue AC_VI. In this context, node 502 is allowed to retrieve other QoS data (512) from a higher-priority traffic queue, for instance the AC_VO access category in the example. This data retrieval rule makes it possible to maximize bandwidth usage as specified in the 802.11 standard.
(111) Thus, node 502 transmits AC_VI data 511 and AC_VO data 512 to the AP using the scheduled RU. The corresponding two transmitting traffic queues, AC_VI and AC_VO, thus switch to the MU EDCA mode (symbolized by white figures in black boxes), in which node 502 now uses MU EDCA parameters for each of these transmitting traffic queues. Particularly, higher values for the AIFSN parameter may be used, and optionally for the CW.sub.min and CW.sub.min parameters.
(112) In parallel, the HEMUEDCATimer 590 is launched to count down when node 502 will be allowed to switch back to the legacy EDCA mode with legacy EDCA parameters. The switch back may occur after a predetermined duration expires, i.e. when the HEMUEDCATimer reaches 0.
(113) However, the HEMUEDCATimer is reinitialized to its initial value (the predetermined duration) each time node 502 transmits data in an accessed resource unit provided by the AP within any subsequent transmission opportunity granted to the AP on the communication channel. In other words, the timer is reinitialized each time node 502 is polled again by the AP.
(114) This occurs in the example of
(115) Node 502 again transmits QoS data 520 from the AC_VI access category and the HEMUEDCATimer 590 is reinitialized to its initial value, the predetermined duration. The same occurs when AP 501 polls again node 502 to send new QoS data from AC_VI access category, by sending a new trigger frame 1300-3.
(116) In this scenario, node 502 is regularly polled by the AP for OFDMA transmission of QoS data from AC_VI. Finally, as long as enough data are provided by the AC_VI category, the AC_VO category is never involved in a new OFDMA transmission and remains blocked in the MU EDCA mode.
(117) In addition, due to its MU-mode AIFSN value (usually more restrictive value, i.e. high value), the traffic queue AC_VO is prevented (or severely delayed) from decrementing the associated backoff value for EDCA-contending the medium.
(118) It results that the AC_VO category, which by essence has the highest QoS priority, remains locked in the MU EDCA mode without having new EDCA opportunities to send its data. The QoS requirements of 802.11 ax thus remain severely deteriorated.
(119) It is within this framework that the present invention proposes to restore QoS fairness by breaking the unicity of the HEMUEDCATimer by which the traffic queues in MU mode are locked in case of regular node polling by the AP.
(120) In particular, upon (preferably successfully) transmitting data stored in two or more traffic queues, in each of one or more accessed resource units provided by another node within one or more transmission opportunities granted to the other node on the communication channel, node 502 may set each transmitting traffic queue (i.e. transmitting in the accessed resource unit) in a MU EDCA mode, different from the legacy EDCA mode, for a predetermined duration counted down by a respective timer associated with the transmitting traffic queue. Next, upon expiry of any timer, node 502 may switch back the associated traffic queue to the legacy EDCA mode in which the respective EDCA parameters are set back to the legacy values.
(121) The present invention thus provides the node with a plurality of timers, each one being associated with one of the traffic queues. As a specific HEMUEDCATimer is dedicated for each AC queue, the latter can exit the MU EDCA mode independently of the other AC queues. QoS at AC queue level is thus restored.
(122) The result of one implementation of the present invention is now illustrated with reference to
(123) After the first TF 1300, both transmitting traffic queues, AC_VI and AC_VO, are in the MU EDCA mode. Their respective HEMUEDCATimer, 591 for AC_VI and 592 for AC_VO, are started simultaneously to count down when each respective traffic queue is allowed to switch back to the legacy EDCA mode with legacy EDCA parameters.
(124) According to the invention, the evolving of these separate timers is independent one of the other.
(125) As explained below, different predetermined durations may be used to initialize the two timers associated with AC_VI and AC_VO. This is to improve the QoS management.
(126) Thus, when the next TF 1300-2 is received and AC_VI data are transmitted in the accessed OFDMA RU as required by the AP, HEMUEDCATimer 591 associated with AC_VI is reinitialized with its corresponding initial predetermined duration, while HEMUEDCATimer 592 associated with AC_VO continues elapsing (because no VO data have been transmitted in the accessed RU following TF 1300-2).
(127) As a consequence, HEMUEDCATimer 592 associated with AC_VO expires before HEMUEDCATimer 591 associated with AC_VI, loosening the MU EDCA constraints on traffic queue AC_VO. Practically, traffic queue AC_VO is switched back to the legacy EDCA mode in which legacy EDCA parameters are used. The backoff value of the AC_VO traffic queue can thus be decreased as normal way allowing the AC_VO queue to efficiently contend the medium.
(128)
(129) Optionally, the communication device 600 may also include the following components: a data storage means 604 such as a hard disk, for storing computer programs for implementing methods according to one or more embodiments of the invention; a disk drive 605 for a disk 606, the disk drive being adapted to read data from the disk 606 or to write data onto said disk; a screen 609 for displaying decoded data and/or serving as a graphical interface with the user, by means of a keyboard 610 or any other pointing means.
(130) The communication device 600 may be optionally connected to various peripherals, such as for example a digital camera 608, each being connected to an input/output card (not shown) so as to supply data to the communication device 600.
(131) Preferably the communication bus provides communication and interoperability between the various elements included in the communication device 600 or connected to it. The representation of the bus is not limiting and in particular the central processing unit is operable to communicate instructions to any element of the communication device 600 directly or by means of another element of the communication device 600.
(132) The disk 606 may optionally be replaced by any information medium such as for example a compact disk (CD-ROM), rewritable or not, a ZIP disk, a USB key or a memory card and, in general terms, by an information storage means that can be read by a microcomputer or by a microprocessor, integrated or not into the apparatus, possibly removable and adapted to store one or more programs whose execution enables a method according to the invention to be implemented.
(133) The executable code may optionally be stored either in read only memory 607, on the hard disk 604 or on a removable digital medium such as for example a disk 606 as described previously. According to an optional variant, the executable code of the programs can be received by means of the communication network 603, via the interface 602, in order to be stored in one of the storage means of the communication device 600, such as the hard disk 604, before being executed.
(134) The central processing unit 611 is preferably adapted to control and direct the execution of the instructions or portions of software code of the program or programs according to the invention, which instructions are stored in one of the aforementioned storage means. On powering up, the program or programs that are stored in a non-volatile memory, for example on the hard disk 604 or in the read only memory 607, are transferred into the random access memory 612, which then contains the executable code of the program or programs, as well as registers for storing the variables and parameters necessary for implementing the invention.
(135) In a preferred embodiment, the apparatus is a programmable apparatus which uses software to implement the invention. However, alternatively, the present invention may be implemented in hardware (for example, in the form of an Application Specific Integrated Circuit or ASIC).
(136)
(137) The PHY layer block 703 (here an 802.11 standardized PHY layer) has the task of formatting frames, modulating frames on or demodulating frames from any 20 MHz channel or the composite channel, and thus sending or receiving frames over the radio medium used 100. The frames may be 802.11 frames, for instance medium access trigger frames TF 430 to define resource units in a granted transmission opportunity, MAC data and management frames based on a 20 MHz width to interact with legacy 802.11 stations, as well as of MAC data frames of OFDMA type having smaller width than 20 MHz legacy (typically 2 or 5 MHz) to/from that radio medium.
(138) The MAC layer block or controller 702 preferably comprises a MAC 802.11 layer 704 implementing conventional 802.11ax MAC operations, and an additional block 705 for carrying out, at least partially, the invention. The MAC layer block 702 may optionally be implemented in software, which software is loaded into RAM 512 and executed by CPU 511.
(139) Preferably, the additional block, referred to as MU EDCA mode management module 705 implements the part of the invention that regards node 600, i.e. managing the switching between the two legacy and MU EDCA modes, and handling the various timers used to control each traffic queue in the MU EDCA mode.
(140) From the AP perspective, this MU EDCA mode management module 705 may be provided to send, to the nodes, the set of legacy values of the EDCA parameters and the set of MU values of the EDCA parameters, different from the set of legacy values, and a set of initializing values for the HEMUEDCATimers to drive the nodes entering the MU EDCA mode to remain in such mode at least the corresponding duration. These values thus drive each node in configuring itself when one of its traffic queues switches between a legacy EDCA mode in which the respective EDCA parameters are set to the legacy values and a MU EDCA mode, to be maintained during a predetermined duration initialized based on the associated initializing value and counted down by an associated timer, in which the respective EDCA parameters are set to the MU values.
(141) MAC 802.11 layer 704 and MU EDCA mode management module 705 interact one with the other in order to provide management of the channel access module handling the queue backoff engines and a RU access module handling the RU backoff engine as described below.
(142) On top of the Figure, application layer block 701 runs an application that generates and receives data packets, for example data packets of a video stream. Application layer block 701 represents all the stack layers above MAC layer according to ISO standardization.
(143) Embodiments of the present invention are now illustrated using various exemplary embodiments. Although the proposed examples use the trigger frame 430 (see
(144) These embodiments are mainly described in the context of IEEE 802.11ax by considering OFDMA resource units. Application of the invention is however not limited to the IEEE 802.11ax context.
(145) Also the present invention does not necessarily rely on the usage of a MU access scheme as described in 802.11ax. Any other RU access scheme defining alternate medium access schemes allowing simultaneous access by the nodes to the same medium can also be used.
(146) The set of MU values may be more restrictive than the set of legacy values, resulting for a traffic queue being in the MU EDCA mode to access less often the medium using EDCA contention access scheme.
(147) However, the set of MU values may be more permissive in some embodiments.
(148) For the sake of clarity, the explanations below focus on a set of MU values that is more restrictive. In this context, the MU EDCA mode is referred to as the “degraded” mode, while the legacy EDCA mode is referred to as “non-degraded” mode.
(149)
(150) As mentioned above, the node includes a channel access module and possibly an RU access module, both implemented in the MAC layer block 702. The channel access module includes:
(151) a plurality of traffic queues 210 for serving data traffic at different priorities;
(152) a plurality of queue backoff engines 211, each associated with a respective traffic queue for using EDCA parameters, in particular for computing a respective queue backoff value, to be used to contend for access to at least one communication channel in order to transmit data stored in the respective traffic queue. This is the EDCA access scheme.
(153) According to embodiments of the present invention, each queue backoff engine 211 has its own HEMUEDCATimer 2110. It means the node comprises a plurality of timers, each one associated with one of the traffic queues.
(154) Also an EDCA mode switch 213 is provided in the node that handles the switching between the degraded MU EDCA mode and the legacy EDCA mode, by updating the EDCA parameters according to the teachings of the invention. The EDCA mode switch operates responsive to each OFDMA transmission in a RU by the node.
(155) The RU access module includes an RU backoff engine 800 separate from the queue backoff engines, for using RU contention parameters, in particular for computing an RU backoff value, to be used to contend for access to the OFDMA random resource units defined in a received TF (sent by the AP for instance), in order to transmit data stored in either traffic queue in an OFDMA RU. The RU backoff engine 800 is associated with a transmission module, referred to as OFDMA muxer 801. For example OFDMA muxer 801 is in charge, when the RU backoff value OBO described below reaches zero, of selecting data to be sent from the AC queues 210.
(156) The conventional AC queue back-off registers 211 drive the medium access request along EDCA protocol (channel contention access scheme), while in parallel, the RU backoff engine 800 drives the medium access request onto OFDMA multi-user protocol (RU contention access scheme).
(157) As these two contention access schemes coexist, the source node implements a medium access mechanism with collision avoidance based on a computation of backoff values: a queue backoff counter value corresponding to a number of time-slots the node waits (in addition to a DIFS period), after the communication medium has been detected to be idle, before accessing the medium. This is EDCA, regardless of whether it is in a degraded or non-degraded state; an RU backoff counter value (OBO) corresponding to a number of idle random RUs the node detects, after a TXOP has been granted to the AP or any other node over a composite channel formed of RUs, before accessing the medium. This is OFDMA. A variant to counting down the OBO based on the number of idle random RUs may be based on a time-based countdown.
(158)
(159) At the very beginning, none traffic queue 210 stores data to transmit. As a consequence, no queue backoff value 211 has been computed. It is said that the corresponding queue backoff engine or corresponding AC (Access Category) is inactive. As soon as data are stored in a traffic queue, a queue backoff value is computed (from corresponding queue backoff parameters), and the associated queue backoff engine or AC is said to be active.
(160) When a node has data ready to be transmitted on the medium, the data are stored in one of the AC queue 210, and the associated backoff 211 should be updated.
(161) At step 901, new data are received from an application running on the device (from application layer 701 for instance), from another network interface, or from any other data source. The new data are ready to be sent by the node.
(162) At step 902, the node determines in which AC queues 210 the data should be stored. This operation is usually performed by checking the TID (Traffic Identifier) value attached to the data (according to the matching shown in
(163) Next, step 903 stores the data in the determined AC queue. It means the data are stored in the AC queue having the same data type as the data.
(164) At step 904, conventional 802.11 AC backoff computation is performed by the queue backoff engine associated with the determined AC queue.
(165) If the determined AC queue was empty just before the storage of step 903 (i.e. the AC is originally inactive), then there is a need to compute a new queue backoff value for the corresponding backoff counter.
(166) The node thus computes the queue backoff value as being equal to a random value selected in range [0, CW], where CW is the current value of the CW for the Access Category considered (as defined in 802.11 standard). It is recalled here that the queue backoff value will be added to the AIFSN (which may be degraded in the MU EDCA mode) in order to implement the relative priorities of the different access categories. CW is a congestion window value that is selected from selection range [CW.sub.min, CW.sub.max], where both boundaries CW.sub.min and CW.sub.max (possibly degraded) depend on the Access Category considered.
(167) As a result the AC is made active.
(168) The above parameters CW, CW.sub.min, CW.sub.max, AIFSN, and Backoff value form the EDCA parameters and variables associated with each AC. They are used to set the relative priorities to access the medium for the different categories of data.
(169) The EDCA parameters have usually a fixed value (e.g. CW.sub.min, CW.sub.max, and AIFSN), while the EDCA variables (CW and backoff value) evolve over time and medium availability. As readily apparent from the above, the present invention provides evolution of the EDCA parameters through the switching between degraded and non-degraded parameter values.
(170) Also step 904 may include computing the RU backoff value OBO if needed. An RU backoff value OBO needs to be computed if the RU backoff engine 800 was inactive (for instance because there were no data in the traffic queues until previous step 903) and if new data to be addressed to the AP have been received.
(171) The RU backoff value OBO may be computed in a similar fashion as the EDCA backoff value, i.e. using dedicated RU contention parameters, such as a dedicated contention window [0, CWO] and a selection range [CWO.sub.min, CWO.sub.max].
(172) Note that some embodiments may provide distinction between data that can be sent through resource units (i.e. compatible with MU UL OFDMA transmission) and those that cannot. Such decision can be made during step 902, and a corresponding marking item can be added to the stored data.
(173) In such a case, the RU backoff value OBO is computed only if the newly stored data are marked as compatible with MU UL OFDMA transmission.
(174) Next to step 904, the process of
(175) Once data are stored in the AC queues, the node may access the medium directly through EDCA access scheme (either with the legacy EDCA mode or with the degraded MU EDCA mode) as illustrated below with reference to
(176)
(177) Steps 1000 to 1020 describe a conventional waiting introduced in the EDCA mechanism to reduce the collision on a shared wireless medium. In step 1000, node 600 senses the medium waiting for it to become available (i.e. detected energy is below a given threshold on the primary channel).
(178) When the medium becomes free during an AIFS[i] period (including a DIFS period and the AIFSN[i] period—see
(179) Next, at step 1020, node 600 determines if at least one of the AC backoff counters reaches zero.
(180) If no AC queue backoff reaches zero, node 600 waits for another backoff timeslot (typically 9 μs), and thus loops back to step 1000 in order to sense the medium again during the next backoff timeslot. This makes it possible to decrement the AC backoff counters at each new backoff timeslot when the medium is sensed as idle, as soon as their respective AIFS[i] have expired.
(181) If at least one AC queue backoff reaches zero, step 1030 is executed in which node 600 (more precisely virtual collision handler 212) selects the active AC queue having a zero queue backoff counter and having the highest priority.
(182) At step 1040, an appropriate amount of data is selected from this selected AC for transmission, to match the bandwidth of the TXOP.
(183) Next, at step 1050, node 600 initiates an EDCA transmission, in case for instance an RTS/CTS exchange has been successfully performed to have a TXOP granted. Node 600 thus sends the selected data on the medium, during the granted TXOP.
(184) Next, at step 1060, node 600 determines whether or not the EDCA transmission has ended, in which case step 1070 is executed.
(185) At step 1070, node 600 updates the contention window CW of the selected traffic queue, based on the status of transmission (positive or negative ack, or no ack received). Typically, node 600 doubles the value of CW if the transmission failed, until CW reaches the maximum value CW.sub.max (either degraded or not) which depends on the AC type of the data. On the other hand, if the EDCA transmission is successful, the contention window CW is set to the minimum value CW.sub.min (either degraded or not) which is also dependent on the AC type of the data.
(186) Next, if the selected traffic queue is not empty after the EDCA data transmission, a new associated queue backoff counter is randomly selected from [0,CW], similar to step 904. This ends the process of
(187)
(188) At step 1110, the node determines whether a trigger frame is received from the access point in the communication network, the trigger frame reserving a transmission opportunity granted to the access point on the communication channel and defining resource units, RUs, forming the communication channel. If so, the node analyses the content of the received trigger frame.
(189) At step 1120, the node determines whether or not it can transmit data over one of the RUs defined in the received trigger frame. The determination may involve one or both of two conditions, regarding in particular the type of RUs.
(190) By analysing the content of the received TF, the node determines whether or not a defined RU is a scheduled resource unit assigned by the access point to the node. This may be done by looking for its own AID in the received TF, which AID is associated with a specific scheduled RU to be used for MU UL OFDMA transmission.
(191) Also, by analysing the content of the received TF, the node determines whether or not one or more random RUs are defined in the TF, i.e. RUs the access of which is made through contention using dedicated RU contention parameters (including the above-mentioned OBO value 800). In that case, the node also determines whether or not its current OBO value 800 allows one random RU to be selected (for instance if OBO 800 is less than the number of random RUs in the TF).
(192) If one scheduled RU is assigned to the node or the latter is allowed (after contention) to access one random RU, the node determines the size of the random/scheduled RU or RUs to be used and step 1130 is executed. Otherwise, the node decrements the RU backoff value OBO 800 based on the number of random resource units defined in the received trigger frame, and the process ends as the node cannot access any RU defined by the received TF.
(193) At step 1130, the node selects at least one of the traffic queues 210 from which the data to be transmitted are selected, and adds data of the selected queue or queues to the transmission buffer until the quantity of data reaches the size of the selected resource unit to be used.
(194) Various criteria to select a current traffic queue may be involved.
(195) For instance, this may be done by:
(196) selecting a traffic queue 210 having the lowest associated queue backoff value. The selection of the traffic queue thus depends on the values of the EDCA backoffs 211, thereby guaranteeing that the node respects the EDCA principle and that correct QoS is implemented for its data);
(197) selecting randomly one non-empty traffic queue from the traffic queues;
(198) selecting a traffic queue storing the biggest amount of data (i.e. the most loaded);
(199) selecting a non-empty traffic queue having the highest associated traffic priority (given the AC categories shown in
(200) selecting a non-empty traffic queue associated with a data type matching a data type associated with the resource unit over which the data to select are to be transmitted. Such specified data type may be a traffic queue indicated by the AP in the trigger frame, for instance using the Preferred AC field 1340 of
(201) Next to step 1130, step 1140 provides that the node sets or updates a list of emitting/transmitting queues by inserting the current traffic queue from which the data selected in step 1130 come. The list keeps the order of insertion of the emitting/transmitting queues, so that for instance a primary emitting/transmitting queue (first queue selected on step 1030) and subsequent emitting/transmitting queues can be easily identified.
(202) In addition, the node may store during step 1140 an item of information representing the amount of data thus selected from the current traffic queue, for transmission in the RU. For instance, then node updates the list of emitting queues by also inserting the quantity of data selected from the current traffic queue.
(203) This list of emitting/transmitting queues can be implemented through a table containing for each traffic queue, the rank of the transmitting queue (which may be simplified to “primary” or “secondary” queue) and the quantity of data put in the transmission buffer.
(204) At step 1150, the node determines whether or not the amount of data stored in the transmission buffer is enough to fill the selected resource unit.
(205) If not, there is still room for additional data in the resource unit. Thus the process loops back to step 1130 during which another traffic queue may be selected, using the same selection criteria. In such a way, the transmission buffer is progressively filled up to reach the selected resource unit size.
(206) One may thus note that a plurality of transmitting traffic queues of the same node may be involved during a MU UL OFDMA transmission, thereby resulting in having the plurality of queues entering the MU EDCA mode.
(207) In a variant which avoids mixing data from two or more traffic queues (i.e. the data for the selected RU are selected from a single traffic queue), padding data may be added to entirely fill the selected RU. This is to ensure the whole RU duration has energy that can be detected by legacy nodes.
(208) In another variant implementing a specific data aggregation rule, if the first selected traffic queue has not data enough to fully fill in the accessed resource unit, data from higher priority traffic queues may be selected.
(209) Once, the transmission buffer is full for the selected RU, step 1160 initiates the MU UL OFMDA transmission of the data stored in the transmission buffer, to the AP. The OFDMA transmission is based on the OFDMA sub-channel and modulation defined in the received trigger frame and especially in the RU definition.
(210) Next, once the transmission has been performed, and preferably upon successful transmission (i.e. an acknowledgment is received from the AP), step 1170 determines the new value or values to be applied to one or more EDCA parameters of the traffic queue or queues, in order to modify it or them into penalized value or values.
(211) The transmitting queues added in the list at step 1140 thus enter the MU EDCA mode, meaning that their EDCA or “queue contention” parameter set should be modified, in particular into degraded parameter values to be determined. One or more transmitting queues may already be in the MU EDCA mode. However, the degraded parameter values are also to be determined (they may be modified by a beacon frame recently received with new degraded values).
(212) During step 1170, the degraded parameter values are determined.
(213) In embodiments, the degraded values of the EDCA parameters include a degraded Arbitration Inter-Frame Space Number, AIFSN, compared to non-degraded values of the EDCA parameters used for the traffic queue not set in the MU EDCA mode. In other words, the AIFSNs of the transmitting queues are set to degraded values.
(214) In some embodiments, AIFSN is the only one parameter modified when switching into the MU EDCA mode. It means the degraded values of the EDCA parameters include the same lower boundary CW.sub.min and/or higher boundary CW.sub.max as the non-degraded values used for legacy EDCA mode, both CW.sub.min and CW.sub.max defining a selection range from which a size of the contention window is selected.
(215) The degraded values used for this step are preferably selected in the last received Dedicated Information Element, usually forming part of a beacon frame transmitted by the AP. Thus, for a node periodically receiving a beacon frame from the access point, each beacon frame broadcasting network information about the communication network to the plurality of nodes, a received beacon frame thus includes, usually in addition to non-degraded (or legacy EDCA) values, the degraded values for the EDCA parameters of the plurality of traffic queues switching into the MU EDCA mode.
(216) If such degraded values are not received from the AP, by-default values as described in the standard may be used.
(217) Step 1170 also includes determining the predetermined degrading duration HEMUEDCATimer[AC] value for each transmitting traffic queue AC. This duration defines the period during which the node must remain in the MU EDCA mode for the associated degraded traffic queue. This information may also be obtained from the AP, for instance from a specific Dedicated Information Element of a received beacon frame as depicted in
(218) Next to step 1170, step 1180 actually replaces the current values of the EDCA parameters associated with the transmitting traffic queue(s) by the degraded values determined at step 1170.
(219) In case parameters CW.sub.min and/or CW.sub.max have new values, the current CW of one or more traffic queues may be out-of-date. In that case, a new CW may be selected from newly defined range [CW.sub.min, CW.sub.max].
(220) Next, at step 1190, the timer 2110 associated with each transmitting traffic queue 210 is initialized by the respective predetermined degrading duration HEMUEDCATimer[AC] as determined at step 1170. The timer 2110 is then launched and progressively elapses as the time goes.
(221) Note that if the timer was already elapsing when step 1180 is performed (meaning the associated traffic queue was already in the MU EDCA mode), the timer is reinitialized (i.e. reset) again to the HEMUEDCATimer[AC] value in order to keep the node in MU EDCA mode for a next HEMUEDCATimer[AC] period. This is the case of timer 591 in the example of
(222)
(223) Thus at step 1210, it is checked whether or not HEMUEDCATimer[AC] has lapsed/expired, i.e. has reached the value 0.
(224) In the affirmative, the traffic queue AC is switched back to the EDCA mode at step 1220. This may include resetting the EDCA parameters to non-degraded values, for instance as those provided by the AP to the nodes using the beacon frame of
(225) Note that due to the re-initialization of the timer at each new step 1190, the expiry of HEMUEDCATimer[AC] only occurs when no data from traffic queue AC is transmitted, from the node, in any OFDMA resource unit provided by the AP within subsequent TXOPs granted to the AP during the predetermined degrading duration.
(226) Next, the process ends at step 1230.
(227) The process of
(228)
(229) The trigger frame 1300 is composed of a dedicated field 1310 called User Info Field. This field contains a “Trigger dependent Common info” field 1320 which contains the “AC Preference Level” field 1330 and “Preferred AC” field 1340.
(230) The Preferred AC field 1340 is a 2-bit field indicating the AC queue (value from 0 to 3) from which data should be sent by the node on the RU allocated to that node in the trigger frame.
(231) The AC preference Level field 1330 is a bit indicating if the value of the Preferred AC field 1340 is meaningful or not. If the field 1340 is set to 1, then the node should take into account the preferred AC field 1340 when selecting data at step 1130. If the field 1330 is set to 0, the node is allowed to send data from any AC queue, regardless of the preferred AC field 1340 value.
(232) The other fields of the trigger frame are defined in the 802.11ax standard.
(233) The AP may also be in charge of broadcasting the EDCA parameters for both EDCA mode and MU EDCA mode, as well as one or more initializing values to be used to initialize or reset the timers 2110 associated with the traffic queues 210. The AP preferably performs the broadcasting using a well-known beacon frame, dedicated to configure all the nodes in an 802.11 cell. Note the if the AP fails to broadcast the EDCA parameters, the nodes are configured to fall-back to by-default values as defined in the 802.11ax standard.
(234)
(235) Fields 1411, 1412, 1413, 1414 describes the parameters associated with each traffic queue 210. For each traffic queue, a subfield 1415 includes the EDCA parameters: AIFSN as a delay before starting to decrease the associated backoff value, the ECWmin and ECWmax as the values of the minimum CW.sub.min and maximum CW.sub.max contention window and finally the TXOP limit as the maximum transmitting data time for an 802.11 device.
(236) All the others fields of the information element are those described in the 802.11 standard.
(237)
(238) The dedicated information element 1420 includes, for each AC queue, the degraded EDCA parameters (1421,1422,1423,1424) to be used by the nodes in the MU EDCA mode. It also includes a subfield 1425 specifying the common initializing value for the HEMUEDCATimers.
(239) Each subfield 1421,1422,1423,1424 includes the degraded AIFSN value for the corresponding traffic queue, as well as the degraded ECWmin value and degraded ECWmax value (they can be the same as the legacy EDCA values).
(240) In this embodiment, the predetermined degrading durations used to initialize the timers HEMUEDCATimer[AC] associated with respective traffic queues AC are computed from the common initializing value 1425 received from the AP and from an adjusting parameter specific to each respective traffic queue.
(241) By using different adjusting parameters, different predetermined degrading durations used to initialize the timers associated with two respective traffic queues may be obtained.
(242) In one embodiment, the common initializing value as provided by the AP can be multiplied by a constant value (adjusting parameter) based on the priority of each traffic queue AC. For instance, the constant value can be equal to 1 for AC_VO and AC_VI access categories and equal to 3 for AC_BE and AC_BG access categories.
(243)
(244) The dedicated information element 1430 includes, for each AC queue, a set of degraded parameters (1431,1432,1433,1434) to be used by the nodes in the MU EDCA mode. It also includes a subfield 1425 specifying the common initializing value for the HEMUEDCATimers.
(245) Each subfield 1431,1432,1433,1434 includes the degraded AIFSN value for the corresponding traffic queue, as well as the degraded ECWmin value and degraded ECWmax value (they can be the same as the legacy EDCA values), and finally the initializing value to be used for HEMUEDCATimer of the traffic queue concerned.
(246) It means that the AP is in charge of computing and then of sending a dedicated initializing value for each traffic queue. In this embodiment, the predetermined degrading durations used to initialize the timers HEMUEDCATimer[AC] associated with respective traffic queues are set to respective initializing values directly received from the AP.
(247) To improve the QoS management, the initializing values computed by the AP are preferably based on the priority of each AC.
(248) Although the present invention has been described hereinabove with reference to specific embodiments, the present invention is not limited to the specific embodiments, and modifications will be apparent to a skilled person in the art which lie within the scope of the present invention.
(249) For instance, while the EDCA parameters and the degraded MU EDCA parameters are broadcasted in dedicated Information Elements of the same beacon frame in the above explanations, variations may contemplate alternating between a beacon frame sending the EDCA parameters and another beacon frame broadcasting the degraded MU EDCA parameters.
(250) Many further modifications and variations will suggest themselves to those versed in the art upon making reference to the foregoing illustrative embodiments, which are given by way of example only and which are not intended to limit the scope of the invention, that being determined solely by the appended claims. In particular the different features from different embodiments may be interchanged, where appropriate.
(251) 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. The mere fact that different features are recited in mutually different dependent claims does not indicate that a combination of these features cannot be advantageously used.