WO2021133259A1 - Cyclic traffic flow transmission in a wireless communication network - Google Patents

Cyclic traffic flow transmission in a wireless communication network Download PDF

Info

Publication number
WO2021133259A1
WO2021133259A1 PCT/SG2020/050783 SG2020050783W WO2021133259A1 WO 2021133259 A1 WO2021133259 A1 WO 2021133259A1 SG 2020050783 W SG2020050783 W SG 2020050783W WO 2021133259 A1 WO2021133259 A1 WO 2021133259A1
Authority
WO
WIPO (PCT)
Prior art keywords
traffic flow
access time
channel access
assigned channel
node
Prior art date
Application number
PCT/SG2020/050783
Other languages
French (fr)
Inventor
Raymond Jayaraj S/O JAYABAL
Sumei Sun
Chin Ming Pang
Yugang Ma
Wang Cho Cheng
Leng Meng GOH
Original Assignee
Agency For Science, Technology And Research
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agency For Science, Technology And Research filed Critical Agency For Science, Technology And Research
Publication of WO2021133259A1 publication Critical patent/WO2021133259A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/04Scheduled access

Definitions

  • the present invention generally relates to cyclic traffic flow transmission in a wireless communication network, and more particularly, a method of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel, and a node configured to transmit a cyclic traffic flow in a wireless communication network using a channel.
  • Cyclical traffic flows are typical in many applications, and more particularly, in applications where delay performance is of utmost importance, such as in industrial process control systems.
  • the conventional Hyperchannel protocol (which may also be referred to herein as the original Hyperchannel protocol, or simply as the Hyperchannel protocol) is a contention-free Carrier Sense Multiple Access (CSMA) Medium Access Control (MAC) protocol which on its own has sub-optimal delay performance.
  • CSMA Carrier Sense Multiple Access
  • MAC Medium Access Control
  • MAC protocols that are most prevalently deployed for this use case are based on three main protocols (or schemes):
  • Contention-based CSMA protocol In this protocol, in general, nodes sense the transmission medium for other nodes’ transmissions, and randomly defer transmissions to minimize probability of collided transmissions.
  • the contention-based CSMA protocol can be found in the IEEE 802.11 DCF protocol.
  • Time-Division Multiple Access (TDMA) protocol In this protocol, in general, each flow is assigned transmission slots, which recur in a fixed manner. The interval between the slots may or may not be adjusted to match the packet generation time and interval for the traffic flow.
  • TDMA protocol can be found in the LTE/5G, WirelessHART and RT-WiFi protocols.
  • Polled-MAC protocol In this protocol, in general, a central arbiter triggers each node to send a packet by sending a poll frame. Examples of this protocol are in the IEEE 802.11 Point Coordination Function (PCF) and IEEE 802.1 lax and 802.11be protocols.
  • PCF Point Coordination Function
  • IEEE 802.1 lax and 802.11be protocols Examples of this protocol are in the IEEE 802.11 Point Coordination Function (PCF) and IEEE 802.1 lax and 802.11be protocols.
  • Contention-based CSMA protocol Backoff delays and retransmissions due to algorithmic collisions (ergo, self-inflicted).
  • Poll frames not only require a central arbiter to transmit, but also incur additional overhead. In addition, poll frames are subject to loss and require retransmissions.
  • a method of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel comprising: obtaining, at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determining, at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determining, at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
  • a node configured to transmit a cyclic traffic flow in a wireless communication network comprising a plurality of nodes, the plurality of nodes comprising the node, using a channel
  • the node comprising: a memory; and at least one processor communicatively coupled to the memory and configured to: obtain, at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determine, at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determine, at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the
  • a computer program product embodied in one or more non-transitory computer-readable storage mediums, comprising instructions executable by at least one processor of a node of a plurality of nodes in a wireless communication network to perform a method of transmitting a cyclic traffic flow by the node using a channel, the method comprising: obtaining, at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determining, at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determining, at the node and at the current sensing slot of the channel, whether to transmit a data packet
  • FIG. 1 depicts a schematic flow diagram of a method of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel, according to various example embodiments of the present invention
  • FIG. 2 depicts a schematic drawing of a node configured to transmit a cyclic traffic flow in a wireless communication network comprising a plurality of nodes, the plurality of nodes comprising the node, using a channel, according to various embodiments of the present invention
  • FIG. 3 depicts a schematic block diagram of an exemplary computer system which the node configured to transmit a cyclic traffic flow in a wireless communication network according to various embodiments of the present invention may be embodied in or as;
  • FIG. 4 depicts a schematic block diagram of a wireless communication network comprising a plurality of nodes, each node being configured as described with reference to FIG. 2 for transmitting a cyclic traffic flow in the wireless communication network;
  • FIG. 5 depicts a schematic drawing of a hyperchannel carrier-sensing slot order based on the conventional Hyperchannel protocol
  • FIG. 6 depicts a schematic drawing of a slot assignment for a plurality of cyclic traffic flows based on a modified Hyperchannel protocol according to various example embodiments of the present invention
  • FIG. 7 depicts a schematic flow diagram of a method of transmitting a cyclic traffic flow (corresponding to the modified Hyperchannel protocol) by a node of a plurality of nodes in a wireless communication network using a channel, according to various example embodiments of the present invention
  • FIG. 8 depicts a schematic drawing illustrating an example computation of the start time and the end time of an assigned air-time (AAT) for a cyclic traffic flow, according to various example embodiments of the present invention
  • FIG. 9 depicts an example simulation network topology employed for a simulation performed according to various example embodiments of the present invention.
  • FIGs. 10 to 13 show graphs of comparisons of the 99.7th percentile end-to-end packet delays for the modified Hyperchannel protocol (denoted as TGT-HC) according to various example embodiments of the present invention versus the various conventional simulated protocols and an ideal single-server first-come-first-serve (FCFS) protocol; and
  • FIG. 14 depicts a Table highlighting several key points that can be observed from the delay performance graphs shown in FIGs. 10 to 13.
  • Various embodiments of the present invention relate to cyclic traffic flow transmission in a wireless communication network, and more particularly, a method of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel, and a node configured to transmit a cyclic traffic flow in a wireless communication network using a channel.
  • MAC Medium Access Control
  • CSMA Carrier Sense Multiple Access
  • TDMA Time-Division Multiple Access
  • Polled-MAC Polled-MAC protocol
  • various embodiments of the present invention provide a method of transmitting cyclic traffic flow(s) in a wireless communication network using a channel, and node(s) configured to transmit cyclic traffic flow(s) in the wireless communication network using the channel, that seek to overcome, or at least ameliorate, one or more of the deficiencies of conventional methods (or schemes) of transmitting cyclic traffic(s) in a wireless communication network, such as but not limited to improving delay performance in transmitting cyclic traffic flows in a wireless communication network.
  • the method of transmitting cyclic traffic flow(s) in a wireless communication network is advantageously able to obtain a delay performance that is near ideal for cyclical traffic flow(s).
  • FIG. 1 depicts a schematic flow diagram of a method 100 of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel, according to various embodiments of the present invention.
  • the method 100 comprises: obtaining (at 102), at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determining (at 104), at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determining (at 106), at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned
  • the plurality of cyclic traffic flows admitted into the wireless communication network may refer to the plurality of cyclic traffic flows existing in the wireless communication network.
  • the sensing slot assignment according to the method 100 is determined based an assigned channel access time sublist comprising one or more cyclic traffic flows determined to be active at the current sensing slot of the channel (e.g., the assigned channel access time sublist may thus be referred to as an active assigned channel access time list)
  • the sensing slot assignment according to the method 100 is no longer fixed (e.g., no longer the fixed sensing slot assignment as shown in FIG. 5 according to the conventional Hyperchannel protocol whereby each sensing slot is permanently indexed to a corresponding node) but advantageously changes (or adapts) based on cyclic traffic flows in the wireless communication network that are deemed active at the current sensing slot.
  • the sensing slot assignment according to the method 100 is advantageously adaptable or dynamic with respect to active cyclic traffic flows in the wireless communication network, which has been found to significantly improve the delay performance in transmitting cyclic traffic flows in a wireless communication network.
  • the current sensing slot is a sensing slot of an idle period of the channel.
  • each of the plurality of assigned channel access time information comprises a first parameter and a second parameter relating to a start time and an end time of an assigned channel access time for the corresponding cyclic traffic flow.
  • the above-mentioned obtaining (at 102), at the node and at the current sensing slot of the channel, the assigned channel access time list comprises: for each of the plurality of cyclic traffic flows without a valid assigned channel access time information associated therewith, determining the assigned channel access time information for the cyclic traffic flow, comprising the first parameter and the second parameter relating to the start time and the end time of the assigned channel access time for the cyclic traffic flow.
  • the above-mentioned determining the assigned channel access time information for the cyclic traffic flow comprises determining the first parameter and the second parameter thereof based on a traffic generation time information for the cyclic traffic flow.
  • the above-mentioned determining the first parameter and the second parameter of the assigned channel access time information for the cyclic traffic flow comprises determining a next packet generation time for the cyclic traffic flow based on the traffic generation time information for the cycle traffic flow, the traffic generation time information comprising a first parameter relating to a packet generation interval of the cyclic traffic flow, a second parameter relating to a maximum physical layer frame transmission duration of the cyclic traffic flow and a third parameter relating to a hypothetical first packet generation time of the cyclic traffic flow.
  • the first and second parameters of the assigned channel access time information for the cyclic traffic flow is determined based on the next packet generation time for the cyclic traffic flow.
  • the above-mentioned obtaining (at 102), at the node and at the current sensing slot of the channel, the assigned channel access time list further comprises sorting the plurality of assigned channel access time information for the plurality of cyclic traffic flows in the assigned channel access time list based on a time order of the first parameter of each of the plurality of assigned channel access time information to obtain a sorted assigned channel access time list.
  • the above-mentioned determining (at 104), at the node and at the current sensing slot of the channel, the assigned channel access time sublist is based on the sorted assigned channel access time list.
  • the above-mentioned time order is an increasing (or ascending) time order of the first parameter of each of the plurality of assigned channel access time information.
  • the above-mentioned determining the second parameter of the assigned channel access time information for the cyclic traffic flow comprises: determining whether an overlap (i.e., with respect to time) exists between the assigned channel access time for the cyclic traffic flow and the assigned channel access time for an immediately preceding cyclic traffic flow in the sorted assigned channel access time list; and determining the second parameter of the assigned channel access time information based on an amount (e.g., time period or duration) of the overlap if the overlap exists.
  • each of the one or more of the plurality of cyclic traffic flows is determined to be active at the current sensing slot of the channel if the assigned channel access time for the cyclic traffic flow overlaps (i.e., with respect to time) with the current sensing slot.
  • the overlap may be a partial overlap or a complete overlap.
  • the method 100 further comprises: determining, at the node and at the current sensing slot of the channel, a traffic flow priority list based on the assigned channel access time sublist, the traffic flow priority list comprising one or more traffic flow indices corresponding to the one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel.
  • the above- mentioned determining (at 106), at the node and at the current sensing slot of the channel, whether to transmit the data packet of the cyclic traffic flow at the end of the current sensing slot is based on the traffic flow priority list.
  • the above-mentioned determining (at 106), at the node and at the current sensing slot of the channel, whether to transmit the data packet of the cyclic traffic flow at the end of the sensing slot is based on whether the cyclic traffic flow has associated therewith a traffic flow index that matches an output of a function based on the traffic flow priority list, a length of the traffic flow priority list and a number of idle slots of the channel that has lapsed since an end of an immediately previous transmission in the channel.
  • FIG. 2 depicts a schematic drawing of a node 200 configured to transmit a cyclic traffic flow in a wireless communication network comprising a plurality of nodes, the plurality of nodes comprising the node 200, using a channel, according to various embodiments of the present invention, such as corresponding to the method 100 of transmitting a cyclic traffic flow as described hereinbefore according to various embodiments of the present invention.
  • the node 200 comprises: a memory 202; and at least one processor 204 communicatively coupled to the memory 202 and configured to: obtain, at the node 200 and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determine, at the node 200 and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determine, at the node 200 and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
  • the at least one processor 204 may be configured to perform the required functions or operations through set(s) of instructions (e.g., software modules) executable by the at least one processor 204 to perform the required functions or operations. Accordingly, as shown in FIG.
  • the node 200 may comprise an assigned channel access time list module (or an assigned channel access time list circuit) 206 configured to obtain, at the node 200 and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; an assigned channel access time sublist module (or an assigned channel access time sublist circuit) 208 configured to determine, at the node 200 and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and a transmission determining module (or a transmission determining circuit) 210 configured to determine, at the node 200 and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
  • the above-mentioned modules are not necessarily separate modules, and two or more modules may be realized by or implemented as one functional module (e.g., a circuit or a software program) as desired or as appropriate without deviating from the scope of the present invention.
  • the assigned channel access time list module 206, the assigned channel access time sublist module 208 and/or the transmission determining module 210 may be realized (e.g., compiled together) as one executable software program (e.g., software application or simply referred to as an “app”), which for example may be stored in the memory 202 and executable by the at least one processor 204 to perform the functions/operations as described herein according to various embodiments.
  • the transmission determining module 210 determines to transmit the data packet of the cyclic traffic flow at the end of the current sensing slot
  • the data packet may be transmitted at the end of the current sensing slot via a wireless data transmitter or transceiver (not shown) of the node 200.
  • the system 200 corresponds to the method 100 of transmitting a cyclic traffic flow as described hereinbefore with reference to FIG. 1, therefore, various functions or operations configured to be performed by the least one processor 204 may correspond to various steps of the method 100 as described hereinbefore according to various embodiments, and thus need not be repeated with respect to the node 200 for clarity and conciseness.
  • various embodiments described herein in context of the methods are analogously valid for the respective systems or devices (e.g., the node 200), and vice versa.
  • the memory 202 may have stored therein the assigned channel access time list module 206, the assigned channel access time sublist module 208 and/or the transmission determining module 210, which respectively correspond to various steps of the method 100 as described hereinbefore according to various embodiments, which are executable by the at least one processor 204 to perform the corresponding functions/operations as described herein.
  • a computing system, a controller, a microcontroller or any other system providing a processing capability may be provided according to various embodiments in the present disclosure.
  • Such a system may be taken to include one or more processors and one or more computer-readable storage mediums.
  • the node 200 described hereinbefore may include a processor (or controller) 204 and a computer-readable storage medium (or memory) 202 which are for example used in various processing carried out therein as described herein.
  • a memory or computer-readable storage medium used in various embodiments may be a volatile memory, for example a DRAM (Dynamic Random Access Memory) or a non-volatile memory, for example a PROM (Programmable Read Only Memory), an EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), or a flash memory, e.g., a floating gate memory, a charge trapping memory, an MRAM (Magnetoresistive Random Access Memory) or a PCRAM (Phase Change Random Access Memory).
  • DRAM Dynamic Random Access Memory
  • PROM Programmable Read Only Memory
  • EPROM Erasable PROM
  • EEPROM Electrical Erasable PROM
  • flash memory e.g., a floating gate memory, a charge trapping memory, an MRAM (Magnetoresistive Random Access Memory) or a PCRAM (Phase Change Random Access Memory).
  • a “circuit” may be understood as any kind of a logic implementing entity, which may be special purpose circuitry or a processor executing software stored in a memory, firmware, or any combination thereof.
  • a “circuit” may be a hard-wired logic circuit or a programmable logic circuit such as a programmable processor, e.g., a microprocessor (e.g., a Complex Instruction Set Computer (CISC) processor or a Reduced Instruction Set Computer (RISC) processor).
  • a “circuit” may also be a processor executing software, e.g., any kind of computer program, e.g., a computer program using a virtual machine code, e.g., Java.
  • a “module” may be a portion of a system according to various embodiments in the present invention and may encompass a “circuit” as above, or may be understood to be any kind of a logic-implementing entity therefrom.
  • the present specification also discloses a system (e.g., which may also be embodied as a device or an apparatus), such as the node 200, for performing the operations/functions of the method(s) described herein.
  • a system e.g., which may also be embodied as a device or an apparatus
  • Such a system may be specially constructed for the required purposes, or may comprise a general purpose computer or other device selectively activated or reconfigured by a computer program stored in the computer.
  • the algorithms presented herein are not inherently related to any particular computer or other apparatus.
  • Various general-purpose machines may be used with computer programs in accordance with the teachings herein. Alternatively, the construction of more specialized apparatus to perform the required method steps may be appropriate.
  • the present specification also at least implicitly discloses a computer program or software/functional module, in that it would be apparent to the person skilled in the art that the individual steps of the methods described herein may be put into effect by computer code.
  • the computer program is not intended to be limited to any particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and coding thereof may be used to implement the teachings of the disclosure contained herein.
  • the computer program is not intended to be limited to any particular control flow. There are many other variants of the computer program, which can use different control flows without departing from the spirit or scope of the invention.
  • modules described herein may be software module(s) realized by computer program(s) or set(s) of instructions executable by a computer processor to perform the required functions, or may be hardware module(s) being functional hardware unit(s) designed to perform the required functions. It will also be appreciated that a combination of hardware and software modules may be implemented.
  • a computer program/module or method described herein may be performed in parallel rather than sequentially.
  • Such a computer program may be stored on any computer readable medium.
  • the computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a general purpose computer.
  • the computer program when loaded and executed on such a general-purpose computer effectively results in an apparatus that implements the steps of the methods described herein.
  • a computer program product embodied in one or more non-transitory computer-readable storage medium, comprising instructions (e.g., the assigned channel access time list module 206, the assigned channel access time sublist module 208 and/or the transmission determining module 210) executable by at least one processor of a node of a plurality of nodes in a wireless communication network to perform a method 100 of transmitting a cyclic traffic flow by the node as described hereinbefore with reference to FIG. 1.
  • various computer programs or modules described herein may be stored in a computer program product receivable by a system therein, such as the node 200 as shown in FIG. 2, for execution by at least one processor 204 of the system 200 to perform the required or desired functions.
  • the software or functional modules described herein may also be implemented as hardware modules. More particularly, in the hardware sense, a module is a functional hardware unit designed for use with other components or modules. For example, a module may be implemented using discrete electronic components, or it can form a portion of an entire electronic circuit such as an Application Specific Integrated Circuit (ASIC). Numerous other possibilities exist. Those skilled in the art will appreciate that the software or functional module(s) described herein can also be implemented as a combination of hardware and software modules.
  • ASIC Application Specific Integrated Circuit
  • the node 200 may be realized by any computer system (e.g., which may also be embodied as a device or an apparatus) including at least one processor and a memory, such as a computer system 300 as schematically shown in FIG. 3 as an example only and without limitation.
  • Various methods/steps or functional modules e.g., the assigned channel access time list module 206, the assigned channel access time sublist module 208 and/or the transmission determining module 210) may be implemented as software, such as a computer program being executed within the computer system 300, and instructing the computer system 300 (in particular, one or more processors therein) to conduct the methods/functions of various embodiments described herein.
  • the computer system 300 may comprise a computer module 302, input modules, such as a keyboard 304 and a mouse 306, and a plurality of output devices such as a display 308, and a printer 310.
  • the computer module 302 may be connected to a computer network 312 via a suitable transceiver device 314, to enable access to e.g., the Internet or other network systems such as Local Area Network (LAN) or Wide Area Network (WAN).
  • the computer module 302 in the example may include a processor 318 for executing various instructions, a Random Access Memory (RAM) 320 and a Read Only Memory (ROM) 322.
  • the computer module 302 may also include a number of Input/Output (I/O) interfaces, for example I/O interface 324 to the display 308, and I/O interface 326 to the keyboard 304.
  • I/O Input/Output
  • the components of the computer module 302 typically communicate via an interconnected bus 328 and in a manner known to the person skilled in the relevant art.
  • FIG. 4 depicts a schematic drawing of a wireless communication network 400 comprising a plurality of nodes, each node 200 being configured as described hereinbefore with reference to FIG. 2 according to various example embodiments of the present invention for transmitting a cyclic traffic flow in the wireless communication network 400.
  • the wireless communication network 400 may further comprise an access point 402 communicatively coupled (or connected) to the plurality of nodes so as to allow the plurality of nodes to be communicatively coupled (or connected) to a wired network.
  • Each node 200 may be any computing system (which may also be embodied as a device or apparatus) having wireless communication capabilities and the plurality of nodes may be geographically distributed. Accordingly, each node 200 is configured to be capable of transmitting and receiving data packets in the wireless communication network 400 using a channel (e.g., a single physical or logical channel).
  • a channel e.g., a single physical or logical channel
  • any reference to an element or a feature herein using a designation such as “first” “second”, and so forth does not limit the quantity or order of such elements or features, unless stated or the context requires otherwise.
  • such designations are used herein as a convenient method of distinguishing between two or more elements or instances of an element.
  • a reference to first and second elements does not necessarily mean that only two elements can be employed, or that the first element must precede the second element.
  • a phrase referring to “at least one of’ a list of items refers to any single item therein or any combination of two or more items therein.
  • Various example embodiments relate to a modification of the conventional Hyperchannel MAC protocol for advantageously obtaining a delay performance that is near ideal for traffic flows that are cyclical.
  • the conventional Hyperchannel MAC protocol was adopted by the Network Systems Corporation for networking mainframe computers in the 70s. This protocol is one of several well-known contention-free CSMA protocols that exists in the computer networking literature. Other notable protocols include the Assigned Slot Listen- Before-Talk (ASLBT) protocol, the Broadcast Recognizing Access Method (BRAM) protocol, and the Mini-slotted Alternating Priorities (MSAP) protocol. In each of these protocols, where collision-free operation is indicated, nodes take turn to sense the channel and transmit in a conflict-free sequence.
  • ASLBT Assigned Slot Listen- Before-Talk
  • BRAM Broadcast Recognizing Access Method
  • MSAP Mini-slotted Alternating Priorities
  • N the number of participating nodes which are duly indexed 0 to N-l as well and assigned the slots with the same index. If a node has a packet to transmit, it first senses the channel during its assigned slot, and transmits right at the end of the slot only if it is idle throughout the duration of the slot.
  • the channel is also divided into cyclically numbered sensing slots, and each node is assigned an index which identifies which slot it owns.
  • a key difference however is that whereas in the ASLBT protocol the slotting is contiguous regardless of channel state, in the BRAM and conventional Hyperchannel protocols, it only starts and persists when the channel becomes and remains idle.
  • the conventional Hyperchannel protocol the first slot right after the channel becomes idle is always indexed 0, such that the node indexed 0 is always the first to be able to access the channel after a busy period.
  • the index for the first slot increments after each channel busy period, such that all nodes have equal priority to access the channel.
  • the MSAP protocol is similar to the BRAM protocol in this fashion, except that whereas in the BRAM protocol a node transmits only once and then relinquishes the channel for the next node in sequence to transmit, in the MSAP protocol, the node continually transmits and retransmits all the packets that were generated before it gained access to the channel via the CSMA operation.
  • Contention-free CSMA protocols have a clear advantage over contention-based CSMA protocols (e.g., as shown in performance results obtained from example simulations performed according to various example embodiments as will be described later below). Nonetheless, adaptations for improving delay performance have mostly been proposed for contention-based CSMA protocols, such as the Virtual-Time CSMA (VT-CSMA) protocol, the Hybrid CSMA (HCSMA) protocol and the Sticky CSMA/CA protocol.
  • VT-CSMA Virtual-Time CSMA
  • HCSMA Hybrid CSMA
  • Sticky CSMA/CA protocol the Sticky CSMA/CA protocol.
  • the packet generation time is mapped directly to its deferment period.
  • the concept of a virtual clock is introduced. Initially running in lockstep with the actual clock, this virtual clock is suspended whenever the channel is busy. When the channel is idle, the clock runs at Rv times the rate of the actual clock where Rv > 1. If it catches up with the actual clock, then it remains back in lockstep with it. When the virtual clock reaches a packet's generation time, that packet is transmitted. In this way, if the packet generation times differ by at least the duration required for accurate channel sensing times Rv, then collision is completely avoided. But since packet generation times are outside the control of the protocol, collisions can thus still occur.
  • HCSMA and Sticky-CSMA/CA protocols are hybrid protocols.
  • the HCSMA protocol uses p-persi stent CSMA but switches to MSAP or BRAM when collisions occur to avoid further collisions and thus reduce retransmission delays.
  • a node first uses CSMA/CA RTS/CTS signalling to reserve a recurring TDMA slot for its traffic flow.
  • the interval between the recurring TDMA slots are fixed according to the packet generation interval, which is also fixed and common to all nodes.
  • a node In establishing its TDMA reservation, a node avoids initiating its Request-To- Send/Clear-To-Send (RTS/CTS) signalling in TDMA slots already owned by other nodes by keeping a history of idle/busy period of the channel for a duration equal to an integral multiple of the common packet generation interval.
  • RTS/CTS Request-To- Send/Clear-To-Send
  • various example embodiments provide a method of transmitting cyclic traffic flow(s) in a wireless communication network using a channel which improves delay performance for contention-free CSMA MAC protocols, and in particular, corresponding to the above-mentioned modified Hyperchannel protocol (or technique).
  • FIG. 5 depicts a schematic drawing of a hyperchannel carrier-sensing slot order based on the conventional Hyperchannel protocol.
  • Various example embodiments provide a modified application of the Hyperchannel protocol based on replacing node indices with traffic flow indices 0, 1, 2, ... F- 1, thereby, for example, allowing the modified Hyperchannel protocol to support the transmission of multiple traffic flows from the same node.
  • the overall channel access protocol (or scheme or technique) may be represented by a function which, given the hyperchannel priority list P hc , its length /.
  • a traffic flow index/ and the number (.s) of idle slots lapsed since the end of the last transmission returns an output or a result (e.g., a boolean value) indicating whether the node can transmit the traffic flow indexed / if that traffic flow has a packet waiting to be transmitted.
  • a result e.g., a boolean value
  • the modified Hyperchannel access function canTxHc ⁇ returns true so the node can transmit the data packet.
  • modifications to the conventional Hyperchannel protocol may include:
  • the idle period is split into sensing slots indexed according to a list of Assigned Air- Times (AATs) active at the time of the current sensing slot (e.g., corresponding to the assigned channel access time sublist as described hereinbefore according to various embodiments).
  • AATs Assigned Air- Times
  • a cyclic traffic flow may be determined to be active at a current sensing slot if the AAT (e.g., corresponding to the assigned channel access time as described hereinbefore according to various embodiments) for the cyclic traffic flow overlaps (with respect to time) with the current sensing slot.
  • the overlap may be a partial overlap or a complete overlap.
  • the cyclic traffic flow may be determined to be active at the current sensing slot if the start time of the AAT (e.g., corresponding to the first parameter of the assigned channel access time information) for the cyclic traffic flow is before the end time of the current sensing slot and the end time of the AAT (e.g., corresponding to the second parameter of the assigned channel access time information) for the cyclic traffic flow is after the start time of the current sensing slot.
  • start time of the AAT e.g., corresponding to the first parameter of the assigned channel access time information
  • the start time of the AAT for the cyclic traffic flow may be before or at the start time of the current sensing slot and the end time of the AAT for the cyclic traffic flow may be within the current sensing slot, or the start time of the AAT for the cyclic traffic flow may be within the current sensing slot and the end time of the AAT for the cyclic traffic flow may be after the end time of the current sensing slot.
  • the start time of the AAT for the cyclic traffic flow may be before or at the start time of the current sensing slot, and the end time of the AAT for the cyclic traffic flow may be after the end time of the current sensing slot.
  • Each node with traffic flow to transmit is configured to update and sort its AAT list (e.g., corresponding to the assigned channel access time list as described hereinbefore according to various embodiments associated with the node) in an ascending order of start time at the end of every sensing slot.
  • AAT list e.g., corresponding to the assigned channel access time list as described hereinbefore according to various embodiments associated with the node
  • a node may have 0, 1 or more traffic flows, and each traffic flow may be assigned an AAT at any given time.
  • the node may sense the i-th sensing slot if the i-th sensing slot is entered. If the node finds the i-th sensing slot idle, it may then transmit that the data packet of the traffic flow at the end of the sensing slot.
  • FIG. 6 depicts a schematic drawing of an example resultant slot assignment for a plurality of cyclic traffic flows (e.g., FLOW1, FLOW3 and FLOW5) based on the above-mentioned modified Hyperchannel protocol according to various example embodiments of the present invention.
  • the example sensing slot order of the slot assignment shown in FIG. 6 may also be referred to as the traffic generation time-Hyperchannel (TGT-HC) carrier-sensing slot order, since the slot assignment is based on the TGTs for the traffic flows admitted to the wireless communication network.
  • TGT-HC traffic generation time-Hyperchannel
  • DATA1, DAT A3 and DATA5 associated with three cyclic traffic flows (FLOW1, FLOW3 and FLOW5) are depicted to have occurred, each data frame transmission having been responded to by a recipient node with an acknowledgement frame (ACK).
  • ACK acknowledgement frame
  • These three data frame transmissions DATA1, DATA3, DATA5 may occur during three AATs, respectively, namely, AAT1, AAT3 and AAT5, with each data frame transmission conveying a packet from the corresponding traffic flow.
  • the three AATs may each have a starting time determined by the associated TGT, namely, TGT1, TGT3 and TGT5, respectively.
  • each sensing slot is shown indexed with a number corresponding to the index of the traffic flow from which a packet is to be transmitted at the end of the sensing slot (if there is a packet awaiting transmission). For example, for a sensing slot indexed 5, a packet from traffic flow FLOW5 awaiting transmission may be transmitted at the end of the sensing slot.
  • the active AAT list may thus only include AAT5 information (e.g., start time and end time of AAT5).
  • the node which owns traffic flow FLOW5 may thus sense this first sensing slot 602 and transmits the packet (DATA5) awaiting transmission in traffic flow FLOW5 at the end of the sensing slot 602, since the AAT5 information is the first (and only) entry in the active AAT list.
  • the channel may then enter a second idle period.
  • traffic flows FLOW5 and FLOW3 are both active.
  • the active AAT list at this point in time may include the AAT5 information and the AAT3 information (e.g., two entries for the AAT5 information and AAT3 information, respectively, each entry including start time and end time of the corresponding AAT).
  • AAT5 since AAT5 has the earlier starting time, AAT5 has a first position (e.g., corresponding to the earliest time or the most priority) in the AAT list, whereas AAT3 having a later starting time than AAT5 holds a second position (e.g., immediately after AAT5).
  • the node owning traffic flow FLOW5 may sense the channel since AAT5 is at the first position in the active AAT list at the time of the first sensing slot 616. But since the node has already transmitted the packet from the traffic flow FLOW5 that was awaiting transmission, it does not transmit any packet at the end of the first sensing slot 616, thus allowing the second sensing slot 618 to be entered.
  • both traffic flows FLOW5 and FLOW3 are still the only traffic flows that are active, so the active AAT list still comprises the AAT5 information and the AAT3 information, in the same list order.
  • the node that owns traffic flow FLOW3 transmits the data frame conveying the packet from traffic flow FLOW3 awaiting transmission (DATA3), since the second entry in the active AAT list is the AAT3 information corresponding to the traffic flow FLOW3, and the channel was sensed to be idle during the second sensing slot 618.
  • the channel may then enter into a third idle period.
  • the active AAT list comprises the AAT5 information, the AAT3 information and the AAT1 information, in this list order (i.e., the AAT5 information first) since the start time for AAT5 is ahead of the start time for AAT3, and likewise the start time for AAT3 is ahead of the start time for AAT1.
  • the node (or nodes) owning traffic flows FLOW5, FLOW3 refrains from transmitting packets since packets from these two traffic flows have already been transmitted and there are no other packets awaiting transmitting therefrom.
  • the node owning traffic flow FLOW 1 transmits its packet (DATA1) since AAT1 is at the third position in the active AAT list at the time of the third sensing slot 626. After the data packet for traffic flow FLOW1 (DATA1) has been acknowledged (ACK), the channel may then enter the fourth and final idle period.
  • the active AAT list may now only include the AAT3 information and the AAT1 information, in this list order (i.e., the AAT3 information first). Since the AAT3 information is the first entry in the active AAT list, the node owning traffic flow FLOW3 may sense the first sensing slot 632. Likewise, since the AAT1 information is the second entry in the active AAT list, the node owning traffic flow FLOW1 may sense the second sensing slot 624.
  • the third sensing slot 636 is entered.
  • the node that owns the traffic flow FLOW3 senses again, since the AAT3 information is the first entry in the active AAT list at the time of the third sensing slot 636, and by way of the modulo operation, for example, expressed in the Equation (2) mentioned hereinbefore, the third sensing slot 636 corresponds to the first position in the active AAT list at the time of the third sensing slot 636.
  • the node owning traffic flow FLOW1 senses again in the fourth sensing slot 638, since by way of the above-mentioned modulo operation, the fourth sensing slot 638 corresponds to the second position in the active AAT list at the time of the fourth sensing slot 638. After the fourth sensing slot 638 in the fourth and final idle period, only the traffic flow FLOW1 remains active. As such, the active AAT list may then only include the AAT1 information. By way of the above-mentioned modulo operation, all subsequent sensing slots may then each correspond to the first and only position in the active AAT list. Accordingly, only the node owning traffic flow FLOW 1 senses the channel in the remaining sensing slots trailing to the end of the depicted sequence.
  • the sensing slot assignments are no longer fixed.
  • the order of the sensing slot assignments according to the modified Hyperchannel protocol advantageously changes according to which traffic flows in the AAT list of the node are active at a current time (i.e., at the time of the current sensing slot), and is prioritised based on which AAT in the active AAT list of the node has an earlier start time.
  • the carrier-sensing and subsequent transmissions may follow the conventional Hyperchannel protocol.
  • the method of transmitting cyclic traffic flows in a wireless communication network may utilize the above-mentioned function canTxHcQ in the Equation (1) mentioned hereinbefore to determine if a particular node is able to transmit a traffic flow (i.e., data packet awaiting transmission from the traffic flow) based the number of idle slots that have lapsed since the last transmission in the channel.
  • a traffic flow i.e., data packet awaiting transmission from the traffic flow
  • the priority list Phc may be computed at the end of each idle slot based on the AAT list of the node.
  • the AAT list may in turn be derived based on the traffic generation times (TGTs) for all the traffic flows admitted to (i.e., existing in) the wireless communication network.
  • TGTs traffic generation times
  • FIG. 7 depicts a schematic flow diagram of the method 700 of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel (corresponding to the above-mentioned modified Hyperchannel protocol), according to various example embodiments of the present invention.
  • the method 700 may be performed on each node of the plurality of nodes of the wireless communication network.
  • the method 700 comprising a plurality of steps are shown in FIG. 7 and are denoted by STEP 0 702, STEP 1 704, STEP 2 706, STEP 3 708, STEP 4 710, STEP 5 712, STEP 6 714.
  • certain steps of the method 700 may include a plurality of sub-steps. Each of the plurality of steps will now be described in further details below according to various example embodiments of the present invention.
  • an event signal may be used to trigger the computation procedure.
  • a system clock may be running on each node which provides synchronized timing for all operations across all nodes in the wireless communication network. This clock, together with the current state of the channel, may be used to derive the above-mentioned event signal.
  • the event signal may be generated in the following manner. The channel state may be polled at every tick of the clock. When the channel turns from busy to idle, the time that this happens may be recorded as a parameter, such as mediumldleStartTime .
  • mediumldleDuration currentTime - mediumldleStartTime
  • the duration mediumldleDuration may be used to determine the number of idle slots that has lapsed, as follows:
  • the event signal may be generated.
  • the procedure of determining whether to transmit at a node may take time to complete
  • the event signal may be generated earlier by applying an adjustment factor to the time computations.
  • next packet generation times for all traffic flows which AAT is yet to be assigned or has expired (e.g., corresponding to without a valid assigned channel access time information as described hereinbefore according to various embodiments) is computed.
  • every node obtains information regarding the packet generation times of every traffic flow admitted into the network.
  • this information is encapsulated in the TGT descriptor (e.g., corresponding to the traffic generation time information as described hereinbefore according to various embodiments) which may comprise the following:
  • the traffic flow s packet generation interval Ti (e.g., corresponding to the first parameter relating to a packet generation interval of the cyclic traffic flow as described hereinbefore according to various embodiments).
  • the traffic flow’s maximum PHY-layer transmit duration T dat (e.g., corresponding to the second parameter relating to a maximum physical layer frame transmission duration of the cyclic traffic flow as described hereinbefore according to various embodiments).
  • this parameter may typically be set to the minimum PHY frame length required to transmit the flow’s maximum length packet at the lowest modulation rate.
  • first fictional generation time T f (e.g., corresponding to a third parameter relating to a hypothetical first packet generation time of the cyclic traffic flow as described hereinbefore according to various embodiments).
  • next packet generation time may thus be computed using the following equation, if the current time is t:
  • T g ceil((t - T f )/Ti) X Ti + T f .
  • the traffic flows are sorted by ascending order of its AAT’s start time, then iterate throught each traffic flow to perform STEP 4710.
  • FIG. 8 depicts a schematic drawing illustrating an example computation of the start time and the end time of an AAT according to various example embodiments of the present invention.
  • an AAT sublist (which may be referred to as an active AAT list) comprising (e.g., consisting only of) the traffic flows which are deemed active at the time the procedure is invoked.
  • a traffic flow may be determined to be active at a current sensing slot if the AAT for the cyclic traffic flow overlaps (e.g., partially or completely overlaps) with the current sensing slot.
  • the cyclic traffic flow may be determined to be active at the current sensing slot if a start time of the AAT for the cyclic traffic flow is before or at the start time of the current sensing slot, and the end time of the AAT for the cyclic traffic flow is after the end time of the current sensing slot.
  • TGT-HC The modified Hyperchannel protocol
  • RT-WIFI RT- Wi-Fi protocol
  • 802.11 -DCF protocol 802.11 -DCF
  • HC conventional Hyperchannel protocol
  • ASLBT ASLBT protocol
  • MSAP MSAP protocol
  • CSMA-TGT CSMA-TGT
  • FCFS single-server first-come-first-serve
  • Ideal FCFS an ideal single-server first-come-first-serve (FCFS) scheme
  • the simulation results from this FCFS scheme provides a benchmark for the best possible (albeit unrealistic) performance that can be achieved.
  • the bundled IEEE 802.11 Physical Layer (PHY) was used as the transceiver and the PHY layer was set to operate at the lowest 802.1 lg bitrate of 6 Mbps.
  • the default sensing slot duration of 20 ps and Short-Interframe-Interval (SIF) i.e., the interval between data and acknowledgement frame transmissions
  • an example simulation network topology as shown in FIG. 9 was used, in which a multitude of wireless clients are connected to a server via a single access point (AP).
  • the server and AP are connected via a lGbps Ethernet link.
  • Each wireless client is spawned randomly within a 300 m by 300 m area to the left of the AP, as if they are in a square hall of the dimension with the AP mounted on one wall.
  • transmit power for clients and AP were set to 30 mW to ensure that all transmissions can be sensed and received correctly by any node in the network when the frame error rate (FER) was set to zero.
  • FER frame error rate
  • Packet losses were simulated by randomly forcing the received frame to be erroneous at each receiver based on FER setting for the simulation.
  • a 100- byte UDP packet was generated every 10 ms for each node to transmit.
  • the packet generation intervals were set to be asynchronous across different flows by randomizing their initial starting time.
  • Maximum retry count was left at a default value of 7.
  • the simulation was iterated for 1 to 30 wireless clients, 0% to 20% FER in steps of 5% and 30 random generator seeds. In each iteration, the simulation was executed until 100,000 packets have been generated and transmitted.
  • the statistics collected were the minimum, maximum, average, median, 95th and 99.7th percentile for the end-to-end packet delay, retry count and packet queue length.
  • FIGs. 10 to 13 show graphs of comparisons of the 99.7th percentile end-to-end packet delay for the modified Hyperchannel protocol according to various example embodiments versus the above-mentioned simulated conventional protocols and the ideal FCFS scheme. From the graphs shown in FIGs. 10 to 13, it can be seen that the delay performance of the modified Hyperchannel protocol according to various example embodiments is advantageously closest to that of the FCFS scheme compared to all the above-mentioned simulated conventional protocols, matching it at 0% FER. In particular, FIG.
  • FIG. 10 depicts a graph of a comparison of the 99.7th Percentile Packet Delay for TGT-HC versus other simulated protocols under varying number of nodes at 0% FER
  • FIG. 11 depicts a graph of a comparison of the 99.7th Percentile Packet Delay for TGT-HC versus other simulated protocols under varying number of nodes at 5% FER
  • FIG. 12 depicts a graph of a comparison of the 99.7th Percentile Packet Delay for TGT-HC versus other simulated protocols under varying number of nodes at 10% FER
  • FIG. 13 depicts a graph of a comparison of the 99.7th Percentile Packet Delay for TGT-HC versus other simulated protocols under varying number of nodes at 20% FER.
  • FIG. 14 depicts a Table showing several points in the delay performance graphs for comparison.
  • the Table shows comparisons of maximum number of supported flows and 99.7th percentile packet delays for TGT-HC versus WiFi, RT-WiFi and MSAP at selected points in the delay bound graphs. From the Table shown in FIG. 14, the following key points can be observed:
  • the maximum number of 10 ms cyclic traffic flows that can be accommodated by TGT-HC (27 flows) at 5% FER is about twice that of conventional Wi-Fi (15 flows) or RT-WiFi (13 flows), and equal to what can also be supported by MSAP (27 flows).
  • the number of flows supported by TGT-HC (21 flows) exceeds 3 times that of the conventional Wi-Fi (4 flows) or RT-WiFi (6 flows), but less by than MSAP (22 flows) by one.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

There is provided a method of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel. The method includes: obtaining, at the node and at a current sensing slot of the channel, an assigned channel access time list including a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determining, at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist including one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determining, at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist. There is also provided one or more corresponding nodes in a wireless communication network, each node being configured to transmit a cyclic traffic flow in the wireless communication network using a channel.

Description

CYCLIC TRAFFIC FLOW TRANSMISSION IN A WIRELESS COMMUNICATION
NETWORK
CROSS-REFERENCE TO RELATED APPLICATION [0001] This application claims the benefit of priority of Singapore Patent Application No. 10201913586V, filed 27 December 2019, the contents of which being hereby incorporated by reference in its entirety for all purposes.
TECHNICAL FIELD
[0002] The present invention generally relates to cyclic traffic flow transmission in a wireless communication network, and more particularly, a method of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel, and a node configured to transmit a cyclic traffic flow in a wireless communication network using a channel.
BACKGROUND
[0003] Cyclical traffic flows are typical in many applications, and more particularly, in applications where delay performance is of utmost importance, such as in industrial process control systems. On the other hand, the conventional Hyperchannel protocol (which may also be referred to herein as the original Hyperchannel protocol, or simply as the Hyperchannel protocol) is a contention-free Carrier Sense Multiple Access (CSMA) Medium Access Control (MAC) protocol which on its own has sub-optimal delay performance.
[0004] Presently, in relation to the use of a single physical or logical channel for the transmission of cyclic traffic flows, MAC protocols that are most prevalently deployed for this use case are based on three main protocols (or schemes):
• Contention-based CSMA protocol: In this protocol, in general, nodes sense the transmission medium for other nodes’ transmissions, and randomly defer transmissions to minimize probability of collided transmissions. As an example, the contention-based CSMA protocol can be found in the IEEE 802.11 DCF protocol.
• Time-Division Multiple Access (TDMA) protocol: In this protocol, in general, each flow is assigned transmission slots, which recur in a fixed manner. The interval between the slots may or may not be adjusted to match the packet generation time and interval for the traffic flow. As examples, the TDMA protocol can be found in the LTE/5G, WirelessHART and RT-WiFi protocols.
• Polled-MAC protocol: In this protocol, in general, a central arbiter triggers each node to send a packet by sending a poll frame. Examples of this protocol are in the IEEE 802.11 Point Coordination Function (PCF) and IEEE 802.1 lax and 802.11be protocols.
[0005] However, each of the above-mentioned protocols have their own drawbacks when applied in the above-mentioned use case, such as:
• Contention-based CSMA protocol: Backoff delays and retransmissions due to algorithmic collisions (ergo, self-inflicted).
• TDMA protocol: Problem in deciding the optimal transmission slot duration to accommodate retransmissions.
• Polled-MAC protocol: Poll frames not only require a central arbiter to transmit, but also incur additional overhead. In addition, poll frames are subject to loss and require retransmissions.
[0006] A need therefore exists to provide a method of transmitting cyclic traffic flow(s) in a wireless communication network using a channel, and node(s) configured to transmit cyclic traffic flow(s) in the wireless communication network using the channel, that seek to overcome, or at least ameliorate, one or more of the deficiencies of conventional methods (or schemes) of transmitting cyclic traffics in a wireless communication network, such as but not limited to improving delay performance in transmitting cyclic traffic flows in a wireless communication network. It is against this background that the present invention has been developed.
SUMMARY
[0007] According to a first aspect of the present invention, there is provided a method of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel, the method comprising: obtaining, at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determining, at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determining, at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
[0008] According to a second aspect of the present invention, there is provided a node configured to transmit a cyclic traffic flow in a wireless communication network comprising a plurality of nodes, the plurality of nodes comprising the node, using a channel, the node comprising: a memory; and at least one processor communicatively coupled to the memory and configured to: obtain, at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determine, at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determine, at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
[0009] According to a third aspect of the present invention, there is provided a computer program product, embodied in one or more non-transitory computer-readable storage mediums, comprising instructions executable by at least one processor of a node of a plurality of nodes in a wireless communication network to perform a method of transmitting a cyclic traffic flow by the node using a channel, the method comprising: obtaining, at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determining, at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determining, at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
BRIEF DESCRIPTION OF THE DRAWINGS [0010] Embodiments of the present invention will be better understood and readily apparent to one of ordinary skill in the art from the following written description, by way of example only, and in conjunction with the drawings, in which:
FIG. 1 depicts a schematic flow diagram of a method of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel, according to various example embodiments of the present invention;
FIG. 2 depicts a schematic drawing of a node configured to transmit a cyclic traffic flow in a wireless communication network comprising a plurality of nodes, the plurality of nodes comprising the node, using a channel, according to various embodiments of the present invention;
FIG. 3 depicts a schematic block diagram of an exemplary computer system which the node configured to transmit a cyclic traffic flow in a wireless communication network according to various embodiments of the present invention may be embodied in or as;
FIG. 4 depicts a schematic block diagram of a wireless communication network comprising a plurality of nodes, each node being configured as described with reference to FIG. 2 for transmitting a cyclic traffic flow in the wireless communication network;
FIG. 5 depicts a schematic drawing of a hyperchannel carrier-sensing slot order based on the conventional Hyperchannel protocol;
FIG. 6 depicts a schematic drawing of a slot assignment for a plurality of cyclic traffic flows based on a modified Hyperchannel protocol according to various example embodiments of the present invention;
FIG. 7 depicts a schematic flow diagram of a method of transmitting a cyclic traffic flow (corresponding to the modified Hyperchannel protocol) by a node of a plurality of nodes in a wireless communication network using a channel, according to various example embodiments of the present invention;
FIG. 8 depicts a schematic drawing illustrating an example computation of the start time and the end time of an assigned air-time (AAT) for a cyclic traffic flow, according to various example embodiments of the present invention;
FIG. 9 depicts an example simulation network topology employed for a simulation performed according to various example embodiments of the present invention;
FIGs. 10 to 13 show graphs of comparisons of the 99.7th percentile end-to-end packet delays for the modified Hyperchannel protocol (denoted as TGT-HC) according to various example embodiments of the present invention versus the various conventional simulated protocols and an ideal single-server first-come-first-serve (FCFS) protocol; and
FIG. 14 depicts a Table highlighting several key points that can be observed from the delay performance graphs shown in FIGs. 10 to 13.
DETAILED DESCRIPTION
[0011] Various embodiments of the present invention relate to cyclic traffic flow transmission in a wireless communication network, and more particularly, a method of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel, and a node configured to transmit a cyclic traffic flow in a wireless communication network using a channel.
[0012] For example, as described in the background, various conventional Medium Access Control (MAC) protocols (or schemes) have been applied for the use of a single physical or logical channel for the transmission of cyclic traffic flows, such as the contention- based Carrier Sense Multiple Access (CSMA) protocol, the Time-Division Multiple Access (TDMA) protocol and the Polled-MAC protocol. However, when applied in such a use case, such conventional contention-based MAC protocols suffer from various drawbacks, including relatively poor delay performance in transmitting cyclic traffic flows in the wireless communication network.
[0013] Accordingly, various embodiments of the present invention provide a method of transmitting cyclic traffic flow(s) in a wireless communication network using a channel, and node(s) configured to transmit cyclic traffic flow(s) in the wireless communication network using the channel, that seek to overcome, or at least ameliorate, one or more of the deficiencies of conventional methods (or schemes) of transmitting cyclic traffic(s) in a wireless communication network, such as but not limited to improving delay performance in transmitting cyclic traffic flows in a wireless communication network. In particular, in various embodiments, the method of transmitting cyclic traffic flow(s) in a wireless communication network according to various embodiments of the present invention is advantageously able to obtain a delay performance that is near ideal for cyclical traffic flow(s).
[0014] FIG. 1 depicts a schematic flow diagram of a method 100 of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel, according to various embodiments of the present invention. The method 100 comprises: obtaining (at 102), at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determining (at 104), at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determining (at 106), at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
[0015] In various embodiments, the plurality of cyclic traffic flows admitted into the wireless communication network may refer to the plurality of cyclic traffic flows existing in the wireless communication network.
[0016] Accordingly, since the sensing slot assignment according to the method 100 is determined based an assigned channel access time sublist comprising one or more cyclic traffic flows determined to be active at the current sensing slot of the channel (e.g., the assigned channel access time sublist may thus be referred to as an active assigned channel access time list), the sensing slot assignment according to the method 100 is no longer fixed (e.g., no longer the fixed sensing slot assignment as shown in FIG. 5 according to the conventional Hyperchannel protocol whereby each sensing slot is permanently indexed to a corresponding node) but advantageously changes (or adapts) based on cyclic traffic flows in the wireless communication network that are deemed active at the current sensing slot. As a result, the sensing slot assignment according to the method 100 is advantageously adaptable or dynamic with respect to active cyclic traffic flows in the wireless communication network, which has been found to significantly improve the delay performance in transmitting cyclic traffic flows in a wireless communication network. These advantages or technical effects will become more apparent to a person skilled in the art as the method 100 of transmitting a cyclic traffic flow is described in more detail according to various embodiments and example embodiments of the present invention.
[0017] In various embodiments, the current sensing slot is a sensing slot of an idle period of the channel.
[0018] In various embodiments, each of the plurality of assigned channel access time information comprises a first parameter and a second parameter relating to a start time and an end time of an assigned channel access time for the corresponding cyclic traffic flow.
[0019] In various embodiments, the above-mentioned obtaining (at 102), at the node and at the current sensing slot of the channel, the assigned channel access time list comprises: for each of the plurality of cyclic traffic flows without a valid assigned channel access time information associated therewith, determining the assigned channel access time information for the cyclic traffic flow, comprising the first parameter and the second parameter relating to the start time and the end time of the assigned channel access time for the cyclic traffic flow. [0020] In various embodiments, the above-mentioned determining the assigned channel access time information for the cyclic traffic flow comprises determining the first parameter and the second parameter thereof based on a traffic generation time information for the cyclic traffic flow.
[0021] In various embodiments, the above-mentioned determining the first parameter and the second parameter of the assigned channel access time information for the cyclic traffic flow comprises determining a next packet generation time for the cyclic traffic flow based on the traffic generation time information for the cycle traffic flow, the traffic generation time information comprising a first parameter relating to a packet generation interval of the cyclic traffic flow, a second parameter relating to a maximum physical layer frame transmission duration of the cyclic traffic flow and a third parameter relating to a hypothetical first packet generation time of the cyclic traffic flow. In this regard, the first and second parameters of the assigned channel access time information for the cyclic traffic flow is determined based on the next packet generation time for the cyclic traffic flow.
[0022] In various embodiments, the above-mentioned obtaining (at 102), at the node and at the current sensing slot of the channel, the assigned channel access time list further comprises sorting the plurality of assigned channel access time information for the plurality of cyclic traffic flows in the assigned channel access time list based on a time order of the first parameter of each of the plurality of assigned channel access time information to obtain a sorted assigned channel access time list. In this regard, the above-mentioned determining (at 104), at the node and at the current sensing slot of the channel, the assigned channel access time sublist is based on the sorted assigned channel access time list.
[0023] In various embodiments, the above-mentioned time order is an increasing (or ascending) time order of the first parameter of each of the plurality of assigned channel access time information. Furthermore, the above-mentioned determining the second parameter of the assigned channel access time information for the cyclic traffic flow comprises: determining whether an overlap (i.e., with respect to time) exists between the assigned channel access time for the cyclic traffic flow and the assigned channel access time for an immediately preceding cyclic traffic flow in the sorted assigned channel access time list; and determining the second parameter of the assigned channel access time information based on an amount (e.g., time period or duration) of the overlap if the overlap exists.
[0024] In various embodiments, each of the one or more of the plurality of cyclic traffic flows is determined to be active at the current sensing slot of the channel if the assigned channel access time for the cyclic traffic flow overlaps (i.e., with respect to time) with the current sensing slot. For example, the overlap may be a partial overlap or a complete overlap. [0025] In various embodiments, the method 100 further comprises: determining, at the node and at the current sensing slot of the channel, a traffic flow priority list based on the assigned channel access time sublist, the traffic flow priority list comprising one or more traffic flow indices corresponding to the one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel. In this regard, the above- mentioned determining (at 106), at the node and at the current sensing slot of the channel, whether to transmit the data packet of the cyclic traffic flow at the end of the current sensing slot is based on the traffic flow priority list.
[0026] In various embodiments, the above-mentioned determining (at 106), at the node and at the current sensing slot of the channel, whether to transmit the data packet of the cyclic traffic flow at the end of the sensing slot is based on whether the cyclic traffic flow has associated therewith a traffic flow index that matches an output of a function based on the traffic flow priority list, a length of the traffic flow priority list and a number of idle slots of the channel that has lapsed since an end of an immediately previous transmission in the channel. [0027] FIG. 2 depicts a schematic drawing of a node 200 configured to transmit a cyclic traffic flow in a wireless communication network comprising a plurality of nodes, the plurality of nodes comprising the node 200, using a channel, according to various embodiments of the present invention, such as corresponding to the method 100 of transmitting a cyclic traffic flow as described hereinbefore according to various embodiments of the present invention. The node 200 comprises: a memory 202; and at least one processor 204 communicatively coupled to the memory 202 and configured to: obtain, at the node 200 and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determine, at the node 200 and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determine, at the node 200 and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
[0028] It will be appreciated by a person skilled in the art that the at least one processor 204 may be configured to perform the required functions or operations through set(s) of instructions (e.g., software modules) executable by the at least one processor 204 to perform the required functions or operations. Accordingly, as shown in FIG. 2, the node 200 may comprise an assigned channel access time list module (or an assigned channel access time list circuit) 206 configured to obtain, at the node 200 and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; an assigned channel access time sublist module (or an assigned channel access time sublist circuit) 208 configured to determine, at the node 200 and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and a transmission determining module (or a transmission determining circuit) 210 configured to determine, at the node 200 and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist. [0029] It will be appreciated by a person skilled in the art that the above-mentioned modules are not necessarily separate modules, and two or more modules may be realized by or implemented as one functional module (e.g., a circuit or a software program) as desired or as appropriate without deviating from the scope of the present invention. For example, the assigned channel access time list module 206, the assigned channel access time sublist module 208 and/or the transmission determining module 210 may be realized (e.g., compiled together) as one executable software program (e.g., software application or simply referred to as an “app”), which for example may be stored in the memory 202 and executable by the at least one processor 204 to perform the functions/operations as described herein according to various embodiments.
[0030] In various embodiments, if the transmission determining module 210 determines to transmit the data packet of the cyclic traffic flow at the end of the current sensing slot, the data packet may be transmitted at the end of the current sensing slot via a wireless data transmitter or transceiver (not shown) of the node 200.
[0031] In various embodiments, the system 200 corresponds to the method 100 of transmitting a cyclic traffic flow as described hereinbefore with reference to FIG. 1, therefore, various functions or operations configured to be performed by the least one processor 204 may correspond to various steps of the method 100 as described hereinbefore according to various embodiments, and thus need not be repeated with respect to the node 200 for clarity and conciseness. In other words, various embodiments described herein in context of the methods are analogously valid for the respective systems or devices (e.g., the node 200), and vice versa.
[0032] For example, in various embodiments, the memory 202 may have stored therein the assigned channel access time list module 206, the assigned channel access time sublist module 208 and/or the transmission determining module 210, which respectively correspond to various steps of the method 100 as described hereinbefore according to various embodiments, which are executable by the at least one processor 204 to perform the corresponding functions/operations as described herein.
[0033] A computing system, a controller, a microcontroller or any other system providing a processing capability may be provided according to various embodiments in the present disclosure. Such a system may be taken to include one or more processors and one or more computer-readable storage mediums. For example, the node 200 described hereinbefore may include a processor (or controller) 204 and a computer-readable storage medium (or memory) 202 which are for example used in various processing carried out therein as described herein. A memory or computer-readable storage medium used in various embodiments may be a volatile memory, for example a DRAM (Dynamic Random Access Memory) or a non-volatile memory, for example a PROM (Programmable Read Only Memory), an EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), or a flash memory, e.g., a floating gate memory, a charge trapping memory, an MRAM (Magnetoresistive Random Access Memory) or a PCRAM (Phase Change Random Access Memory).
[0034] In various embodiments, a “circuit” may be understood as any kind of a logic implementing entity, which may be special purpose circuitry or a processor executing software stored in a memory, firmware, or any combination thereof. Thus, in an embodiment, a “circuit” may be a hard-wired logic circuit or a programmable logic circuit such as a programmable processor, e.g., a microprocessor (e.g., a Complex Instruction Set Computer (CISC) processor or a Reduced Instruction Set Computer (RISC) processor). A “circuit” may also be a processor executing software, e.g., any kind of computer program, e.g., a computer program using a virtual machine code, e.g., Java. Any other kind of implementation of the respective functions which will be described in more detail below may also be understood as a “circuit” in accordance with various alternative embodiments. Similarly, a “module” may be a portion of a system according to various embodiments in the present invention and may encompass a “circuit” as above, or may be understood to be any kind of a logic-implementing entity therefrom.
[0035] Some portions of the present disclosure are explicitly or implicitly presented in terms of algorithms and functional or symbolic representations of operations on data within a computer memory. These algorithmic descriptions and functional or symbolic representations are the means used by those skilled in the data processing arts to convey most effectively the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities, such as electrical, magnetic or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated.
[0036] Unless specifically stated otherwise, and as apparent from the following, it will be appreciated that throughout the present specification, discussions utilizing terms such as “obtaining”, “determining”, “sorting”, “transmitting” or the like, refer to the actions and processes of a computer system, or similar electronic device, that manipulates and transforms data represented as physical quantities within the computer system into other data similarly represented as physical quantities within the computer system or other information storage, transmission or display devices.
[0037] The present specification also discloses a system (e.g., which may also be embodied as a device or an apparatus), such as the node 200, for performing the operations/functions of the method(s) described herein. Such a system may be specially constructed for the required purposes, or may comprise a general purpose computer or other device selectively activated or reconfigured by a computer program stored in the computer. The algorithms presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose machines may be used with computer programs in accordance with the teachings herein. Alternatively, the construction of more specialized apparatus to perform the required method steps may be appropriate.
[0038] In addition, the present specification also at least implicitly discloses a computer program or software/functional module, in that it would be apparent to the person skilled in the art that the individual steps of the methods described herein may be put into effect by computer code. The computer program is not intended to be limited to any particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and coding thereof may be used to implement the teachings of the disclosure contained herein. Moreover, the computer program is not intended to be limited to any particular control flow. There are many other variants of the computer program, which can use different control flows without departing from the spirit or scope of the invention. It will be appreciated by a person skilled in the art that various modules described herein (e.g., the assigned channel access time list module 206, the assigned channel access time sublist module 208 and/or the transmission determining module 210) may be software module(s) realized by computer program(s) or set(s) of instructions executable by a computer processor to perform the required functions, or may be hardware module(s) being functional hardware unit(s) designed to perform the required functions. It will also be appreciated that a combination of hardware and software modules may be implemented.
[0039] Furthermore, one or more of the steps of a computer program/module or method described herein may be performed in parallel rather than sequentially. Such a computer program may be stored on any computer readable medium. The computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a general purpose computer. The computer program when loaded and executed on such a general-purpose computer effectively results in an apparatus that implements the steps of the methods described herein.
[0040] In various embodiments, there is provided a computer program product, embodied in one or more non-transitory computer-readable storage medium, comprising instructions (e.g., the assigned channel access time list module 206, the assigned channel access time sublist module 208 and/or the transmission determining module 210) executable by at least one processor of a node of a plurality of nodes in a wireless communication network to perform a method 100 of transmitting a cyclic traffic flow by the node as described hereinbefore with reference to FIG. 1. Accordingly, various computer programs or modules described herein may be stored in a computer program product receivable by a system therein, such as the node 200 as shown in FIG. 2, for execution by at least one processor 204 of the system 200 to perform the required or desired functions.
[0041] The software or functional modules described herein may also be implemented as hardware modules. More particularly, in the hardware sense, a module is a functional hardware unit designed for use with other components or modules. For example, a module may be implemented using discrete electronic components, or it can form a portion of an entire electronic circuit such as an Application Specific Integrated Circuit (ASIC). Numerous other possibilities exist. Those skilled in the art will appreciate that the software or functional module(s) described herein can also be implemented as a combination of hardware and software modules.
[0042] In various embodiments, the node 200 may be realized by any computer system (e.g., which may also be embodied as a device or an apparatus) including at least one processor and a memory, such as a computer system 300 as schematically shown in FIG. 3 as an example only and without limitation. Various methods/steps or functional modules (e.g., the assigned channel access time list module 206, the assigned channel access time sublist module 208 and/or the transmission determining module 210) may be implemented as software, such as a computer program being executed within the computer system 300, and instructing the computer system 300 (in particular, one or more processors therein) to conduct the methods/functions of various embodiments described herein. The computer system 300 may comprise a computer module 302, input modules, such as a keyboard 304 and a mouse 306, and a plurality of output devices such as a display 308, and a printer 310. The computer module 302 may be connected to a computer network 312 via a suitable transceiver device 314, to enable access to e.g., the Internet or other network systems such as Local Area Network (LAN) or Wide Area Network (WAN). The computer module 302 in the example may include a processor 318 for executing various instructions, a Random Access Memory (RAM) 320 and a Read Only Memory (ROM) 322. The computer module 302 may also include a number of Input/Output (I/O) interfaces, for example I/O interface 324 to the display 308, and I/O interface 326 to the keyboard 304. The components of the computer module 302 typically communicate via an interconnected bus 328 and in a manner known to the person skilled in the relevant art.
[0043] FIG. 4 depicts a schematic drawing of a wireless communication network 400 comprising a plurality of nodes, each node 200 being configured as described hereinbefore with reference to FIG. 2 according to various example embodiments of the present invention for transmitting a cyclic traffic flow in the wireless communication network 400. As shown in FIG. 4, the wireless communication network 400 may further comprise an access point 402 communicatively coupled (or connected) to the plurality of nodes so as to allow the plurality of nodes to be communicatively coupled (or connected) to a wired network. It will be appreciated by a person skilled in the art that the present invention is not limited to the number of nodes and their arrangements in the wireless communication network, and any number of nodes and various arrangements may be implemented in the wireless mesh network as desired or appropriate. Each node 200 may be any computing system (which may also be embodied as a device or apparatus) having wireless communication capabilities and the plurality of nodes may be geographically distributed. Accordingly, each node 200 is configured to be capable of transmitting and receiving data packets in the wireless communication network 400 using a channel (e.g., a single physical or logical channel).
[0044] It will be appreciated by a person skilled in the art that the terminology used herein is for the purpose of describing various embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
[0045] Any reference to an element or a feature herein using a designation such as “first” “second”, and so forth does not limit the quantity or order of such elements or features, unless stated or the context requires otherwise. For example, such designations are used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not necessarily mean that only two elements can be employed, or that the first element must precede the second element. In addition, a phrase referring to “at least one of’ a list of items refers to any single item therein or any combination of two or more items therein.
[0046] In order that the present invention may be readily understood and put into practical effect, various example embodiments of the present invention will be described hereinafter by way of examples only and not limitations. It will be appreciated by a person skilled in the art that the present invention may, however, be embodied in various different forms or configurations and should not be construed as limited to the example embodiments set forth hereinafter. Rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art.
[0047] In particular, for better understanding of the present invention and without limitation or loss of generality, various example embodiments of the present invention will now be described with respect to the above-mentioned channel (through which the cyclic traffic flows are transmitted/received) being a hyperchannel and the method of transmitting a cyclic traffic flow in a wireless communication network being based on the conventional Hyperchannel MAC protocol (e.g., a modification of the conventional Hyperchannel MAC protocol). However, it will be appreciated by a person skilled in the art that the present invention is not necessarily limited to such a particular implementation. As mentioned hereinbefore, the conventional Hyperchannel MAC protocol may also be referred to herein as the original Hyperchannel protocol or simply as the Hyperchannel protocol.
[0048] Various example embodiments relate to a modification of the conventional Hyperchannel MAC protocol for advantageously obtaining a delay performance that is near ideal for traffic flows that are cyclical. The conventional Hyperchannel MAC protocol was adopted by the Network Systems Corporation for networking mainframe computers in the 70s. This protocol is one of several well-known contention-free CSMA protocols that exists in the computer networking literature. Other notable protocols include the Assigned Slot Listen- Before-Talk (ASLBT) protocol, the Broadcast Recognizing Access Method (BRAM) protocol, and the Mini-slotted Alternating Priorities (MSAP) protocol. In each of these protocols, where collision-free operation is indicated, nodes take turn to sense the channel and transmit in a conflict-free sequence. [0049] In the ASLBT protocol, for example, various example embodiments note that regardless whether it is idle or busy, the channel time is divided into regular sensing slots and cyclically indexed from 0 to N-l. In the collision-free mode, N equals the number of participating nodes which are duly indexed 0 to N-l as well and assigned the slots with the same index. If a node has a packet to transmit, it first senses the channel during its assigned slot, and transmits right at the end of the slot only if it is idle throughout the duration of the slot.
[0050] In the BRAM, conventional Hyperchannel and MSAP protocols, various example embodiments note that the channel is also divided into cyclically numbered sensing slots, and each node is assigned an index which identifies which slot it owns. Various example embodiments note that a key difference however is that whereas in the ASLBT protocol the slotting is contiguous regardless of channel state, in the BRAM and conventional Hyperchannel protocols, it only starts and persists when the channel becomes and remains idle. In the conventional Hyperchannel protocol, the first slot right after the channel becomes idle is always indexed 0, such that the node indexed 0 is always the first to be able to access the channel after a busy period. In this way, a node with lower index is always given a higher priority to access the channel than a node with a higher index. In the BRAM protocol, the index for the first slot increments after each channel busy period, such that all nodes have equal priority to access the channel. The MSAP protocol is similar to the BRAM protocol in this fashion, except that whereas in the BRAM protocol a node transmits only once and then relinquishes the channel for the next node in sequence to transmit, in the MSAP protocol, the node continually transmits and retransmits all the packets that were generated before it gained access to the channel via the CSMA operation.
[0051] Contention-free CSMA protocols have a clear advantage over contention-based CSMA protocols (e.g., as shown in performance results obtained from example simulations performed according to various example embodiments as will be described later below). Nonetheless, adaptations for improving delay performance have mostly been proposed for contention-based CSMA protocols, such as the Virtual-Time CSMA (VT-CSMA) protocol, the Hybrid CSMA (HCSMA) protocol and the Sticky CSMA/CA protocol.
[0052] In the VT-CSMA protocol, the packet generation time is mapped directly to its deferment period. To facilitate this protocol, the concept of a virtual clock is introduced. Initially running in lockstep with the actual clock, this virtual clock is suspended whenever the channel is busy. When the channel is idle, the clock runs at Rv times the rate of the actual clock where Rv > 1. If it catches up with the actual clock, then it remains back in lockstep with it. When the virtual clock reaches a packet's generation time, that packet is transmitted. In this way, if the packet generation times differ by at least the duration required for accurate channel sensing times Rv, then collision is completely avoided. But since packet generation times are outside the control of the protocol, collisions can thus still occur.
[0053] HCSMA and Sticky-CSMA/CA protocols, on the other hand, are hybrid protocols. The HCSMA protocol uses p-persi stent CSMA but switches to MSAP or BRAM when collisions occur to avoid further collisions and thus reduce retransmission delays. As for the Sticky-CSMA/CA protocol, a node first uses CSMA/CA RTS/CTS signalling to reserve a recurring TDMA slot for its traffic flow. The interval between the recurring TDMA slots are fixed according to the packet generation interval, which is also fixed and common to all nodes. In establishing its TDMA reservation, a node avoids initiating its Request-To- Send/Clear-To-Send (RTS/CTS) signalling in TDMA slots already owned by other nodes by keeping a history of idle/busy period of the channel for a duration equal to an integral multiple of the common packet generation interval.
[0054] In contrast, various example embodiments provide a method of transmitting cyclic traffic flow(s) in a wireless communication network using a channel which improves delay performance for contention-free CSMA MAC protocols, and in particular, corresponding to the above-mentioned modified Hyperchannel protocol (or technique).
[0055] In the conventional Hyperchannel protocol, the idle period after each transmission is split into multiple sensing slots indexed 0, 1, 2, ... N- 1, repetitively. Furthermore, nodes are also permanently indexed 0, 1, 2, ... N- 1, and perform carrier-sensing on the slot with the same index, such as shown in FIG. 5. In particular, FIG. 5 depicts a schematic drawing of a hyperchannel carrier-sensing slot order based on the conventional Hyperchannel protocol. [0056] Various example embodiments provide a modified application of the Hyperchannel protocol based on replacing node indices with traffic flow indices 0, 1, 2, ... F- 1, thereby, for example, allowing the modified Hyperchannel protocol to support the transmission of multiple traffic flows from the same node. Accordingly, from an implementation perspective according to various example embodiments, the order of sensing slot assignment in this case may be expressed as a priority list T = [0, 1, 2, ... F- 1], where the z-th element of the list equals z, that is, /V[z] = i. Meanwhile, the overall channel access protocol (or scheme or technique) may be represented by a function which, given the hyperchannel priority list Phc , its length /./¾, a traffic flow index/ and the number (.s) of idle slots lapsed since the end of the last transmission, returns an output or a result (e.g., a boolean value) indicating whether the node can transmit the traffic flow indexed / if that traffic flow has a packet waiting to be transmitted. For example, the function may be expressed as: canTxHc(Phc, Lphc.f s) = true if /= P/,c[(s-\ ) odulo L/>/, \ false otherwise
(Equation 1)
[0057] By way of an example only and without limitaiton, consider a wireless communication network with 10 traffic flows indexed as 0 to 9, respectively, where only the traffic flow indexed 6 has a data packet to transmit and the number of idle slots that have lapsed is 17. According to various example embodiments, for this traffic flow with index 6, the above-mentioned function may thus be invoked by the node with the following parameters or values Phc = [0, 1, 2, ... 9], Lphc = 10,/= 6, 5 = 17 to determine if the node should transmit the data packet from the traffic flow:
Phc[{s-\) modulo Lphc\ modulo 10]
Figure imgf000020_0001
(Equation 2)
[0058] In this example, the modified Hyperchannel access function canTxHc } returns true so the node can transmit the data packet.
[0059] Accordingly, in various example embodiments, modifications to the conventional Hyperchannel protocol may include:
• The idle period is split into sensing slots indexed according to a list of Assigned Air- Times (AATs) active at the time of the current sensing slot (e.g., corresponding to the assigned channel access time sublist as described hereinbefore according to various embodiments). In this regard, a cyclic traffic flow may be determined to be active at a current sensing slot if the AAT (e.g., corresponding to the assigned channel access time as described hereinbefore according to various embodiments) for the cyclic traffic flow overlaps (with respect to time) with the current sensing slot. For example, the overlap may be a partial overlap or a complete overlap. Accordingly, in various embodiments, the cyclic traffic flow may be determined to be active at the current sensing slot if the start time of the AAT (e.g., corresponding to the first parameter of the assigned channel access time information) for the cyclic traffic flow is before the end time of the current sensing slot and the end time of the AAT (e.g., corresponding to the second parameter of the assigned channel access time information) for the cyclic traffic flow is after the start time of the current sensing slot. For example, for a partial overlap, the start time of the AAT for the cyclic traffic flow may be before or at the start time of the current sensing slot and the end time of the AAT for the cyclic traffic flow may be within the current sensing slot, or the start time of the AAT for the cyclic traffic flow may be within the current sensing slot and the end time of the AAT for the cyclic traffic flow may be after the end time of the current sensing slot. For example, for a complete overlap, the start time of the AAT for the cyclic traffic flow may be before or at the start time of the current sensing slot, and the end time of the AAT for the cyclic traffic flow may be after the end time of the current sensing slot.
• Each node with traffic flow to transmit, is configured to update and sort its AAT list (e.g., corresponding to the assigned channel access time list as described hereinbefore according to various embodiments associated with the node) in an ascending order of start time at the end of every sensing slot.
• A node may have 0, 1 or more traffic flows, and each traffic flow may be assigned an AAT at any given time. In various example embodiments, if any one of the node’s traffic flow(s) has its AAT at the i-th position in the active AAT list, and that traffic flow has a data packet awaiting transmission, then the node may sense the i-th sensing slot if the i-th sensing slot is entered. If the node finds the i-th sensing slot idle, it may then transmit that the data packet of the traffic flow at the end of the sensing slot.
[0060] As an illustrative example and without limitation, FIG. 6 depicts a schematic drawing of an example resultant slot assignment for a plurality of cyclic traffic flows (e.g., FLOW1, FLOW3 and FLOW5) based on the above-mentioned modified Hyperchannel protocol according to various example embodiments of the present invention. The example sensing slot order of the slot assignment shown in FIG. 6 may also be referred to as the traffic generation time-Hyperchannel (TGT-HC) carrier-sensing slot order, since the slot assignment is based on the TGTs for the traffic flows admitted to the wireless communication network. [0061] In particular, in FIG. 6, for illustration purpose only, three data frame transmissions (DATA1, DAT A3 and DATA5) associated with three cyclic traffic flows (FLOW1, FLOW3 and FLOW5) are depicted to have occurred, each data frame transmission having been responded to by a recipient node with an acknowledgement frame (ACK). These three data frame transmissions DATA1, DATA3, DATA5 may occur during three AATs, respectively, namely, AAT1, AAT3 and AAT5, with each data frame transmission conveying a packet from the corresponding traffic flow. As shown in FIG. 6, the three AATs may each have a starting time determined by the associated TGT, namely, TGT1, TGT3 and TGT5, respectively. After a data transmission (DATA) and before an acknowledgement (ACK), the channel may be in an idle period during which sensing on a slot-by-slot basis according to various example embodiments of the present invention may take place. In FIG. 6, each sensing slot is shown indexed with a number corresponding to the index of the traffic flow from which a packet is to be transmitted at the end of the sensing slot (if there is a packet awaiting transmission). For example, for a sensing slot indexed 5, a packet from traffic flow FLOW5 awaiting transmission may be transmitted at the end of the sensing slot.
[0062] In the example slot assignment shown in FIG. 6, at a first sensing slot 612 during a first idle period of the idle periods shown in FIG. 6, it can be seen that only the traffic flow FLOW5 is active, with its period or duration shown (AAT5). At this point in time, the active AAT list may thus only include AAT5 information (e.g., start time and end time of AAT5). Based on this active AAT list, the node which owns traffic flow FLOW5 may thus sense this first sensing slot 602 and transmits the packet (DATA5) awaiting transmission in traffic flow FLOW5 at the end of the sensing slot 602, since the AAT5 information is the first (and only) entry in the active AAT list. After the packet (DATA5) for FLOW5 has been acknowledged (ACK), the channel may then enter a second idle period. According to various example embodiments, during the first sensing slot 616 of the sensing slots in the second idle period, traffic flows FLOW5 and FLOW3 are both active. Accordingly, the active AAT list at this point in time may include the AAT5 information and the AAT3 information (e.g., two entries for the AAT5 information and AAT3 information, respectively, each entry including start time and end time of the corresponding AAT). In various example embodiments, since AAT5 has the earlier starting time, AAT5 has a first position (e.g., corresponding to the earliest time or the most priority) in the AAT list, whereas AAT3 having a later starting time than AAT5 holds a second position (e.g., immediately after AAT5). During the first sensing slot 616, the node owning traffic flow FLOW5 may sense the channel since AAT5 is at the first position in the active AAT list at the time of the first sensing slot 616. But since the node has already transmitted the packet from the traffic flow FLOW5 that was awaiting transmission, it does not transmit any packet at the end of the first sensing slot 616, thus allowing the second sensing slot 618 to be entered.
[0063] During the second sensing slot 618, both traffic flows FLOW5 and FLOW3 are still the only traffic flows that are active, so the active AAT list still comprises the AAT5 information and the AAT3 information, in the same list order. At the end of the second sensing slot 618, the node that owns traffic flow FLOW3 transmits the data frame conveying the packet from traffic flow FLOW3 awaiting transmission (DATA3), since the second entry in the active AAT list is the AAT3 information corresponding to the traffic flow FLOW3, and the channel was sensed to be idle during the second sensing slot 618. After the data packet (DATA3) for traffic flow FLOW3 has been acknowledged (ACK), the channel may then enter into a third idle period.
[0064] At the first, second and third sensing slots 622, 624 and 626 of the third idle period, all three traffic flows FLOW5, FLOW3, FLOW1 are active, and so the active AAT list comprises the AAT5 information, the AAT3 information and the AAT1 information, in this list order (i.e., the AAT5 information first) since the start time for AAT5 is ahead of the start time for AAT3, and likewise the start time for AAT3 is ahead of the start time for AAT1. In the first two slots 622, 624, the node (or nodes) owning traffic flows FLOW5, FLOW3 refrains from transmitting packets since packets from these two traffic flows have already been transmitted and there are no other packets awaiting transmitting therefrom. At the end of the third sensing slot 626 however, the node owning traffic flow FLOW 1 transmits its packet (DATA1) since AAT1 is at the third position in the active AAT list at the time of the third sensing slot 626. After the data packet for traffic flow FLOW1 (DATA1) has been acknowledged (ACK), the channel may then enter the fourth and final idle period.
[0065] During the first to fourth sensing slots 632, 634, 636, 638 in the fourth idle period, only traffic flows FLOW3 and FLOW1 are active, since traffic flow FLOW5 has expired during the transmission of the preceding ACK frame. Therefore, the active AAT list may now only include the AAT3 information and the AAT1 information, in this list order (i.e., the AAT3 information first). Since the AAT3 information is the first entry in the active AAT list, the node owning traffic flow FLOW3 may sense the first sensing slot 632. Likewise, since the AAT1 information is the second entry in the active AAT list, the node owning traffic flow FLOW1 may sense the second sensing slot 624. But since both traffic flows FLOW3 and FLOW1 have already transmitted their awaiting packets, no further transmissions occur and the third sensing slot 636 is entered. At the third sensing slot 636, the node that owns the traffic flow FLOW3 senses again, since the AAT3 information is the first entry in the active AAT list at the time of the third sensing slot 636, and by way of the modulo operation, for example, expressed in the Equation (2) mentioned hereinbefore, the third sensing slot 636 corresponds to the first position in the active AAT list at the time of the third sensing slot 636. Likewise, the node owning traffic flow FLOW1 senses again in the fourth sensing slot 638, since by way of the above-mentioned modulo operation, the fourth sensing slot 638 corresponds to the second position in the active AAT list at the time of the fourth sensing slot 638. After the fourth sensing slot 638 in the fourth and final idle period, only the traffic flow FLOW1 remains active. As such, the active AAT list may then only include the AAT1 information. By way of the above-mentioned modulo operation, all subsequent sensing slots may then each correspond to the first and only position in the active AAT list. Accordingly, only the node owning traffic flow FLOW 1 senses the channel in the remaining sensing slots trailing to the end of the depicted sequence.
[0066] Accordingly, as can be seen from FIG. 6, the sensing slot assignments are no longer fixed. In particular, the order of the sensing slot assignments according to the modified Hyperchannel protocol advantageously changes according to which traffic flows in the AAT list of the node are active at a current time (i.e., at the time of the current sensing slot), and is prioritised based on which AAT in the active AAT list of the node has an earlier start time. In various example embodiments, in general, other than the differences mentioned herein, the carrier-sensing and subsequent transmissions may follow the conventional Hyperchannel protocol.
[0067] Accordingly, in various example embodiments, the method of transmitting cyclic traffic flows in a wireless communication network may utilize the above-mentioned function canTxHcQ in the Equation (1) mentioned hereinbefore to determine if a particular node is able to transmit a traffic flow (i.e., data packet awaiting transmission from the traffic flow) based the number of idle slots that have lapsed since the last transmission in the channel. In particular, based on the modifications of the coventional Hyperchannel protocol according to various example embodiments, the priority list Phc (or transmission priority list) is no longer a fixed list where Phc = [0,1,2, ... -l] In contrast, the priority list Phc may be computed at the end of each idle slot based on the AAT list of the node. The AAT list may in turn be derived based on the traffic generation times (TGTs) for all the traffic flows admitted to (i.e., existing in) the wireless communication network.
[0068] FIG. 7 depicts a schematic flow diagram of the method 700 of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel (corresponding to the above-mentioned modified Hyperchannel protocol), according to various example embodiments of the present invention. In various example embodiments, the method 700 may be performed on each node of the plurality of nodes of the wireless communication network. For illustration purpose and for better understanding but without limitation, the method 700 comprising a plurality of steps are shown in FIG. 7 and are denoted by STEP 0 702, STEP 1 704, STEP 2 706, STEP 3 708, STEP 4 710, STEP 5 712, STEP 6 714. As can been seen from FIG. 7, certain steps of the method 700 may include a plurality of sub-steps. Each of the plurality of steps will now be described in further details below according to various example embodiments of the present invention.
[0069] In relation to STEP 0 702, as the computation procedure is carried out on a idle slot by idle slot basis, an event signal may used to trigger the computation procedure. In various example embodiments, a system clock may be running on each node which provides synchronized timing for all operations across all nodes in the wireless communication network. This clock, together with the current state of the channel, may be used to derive the above-mentioned event signal. In various example embodiments, the event signal may be generated in the following manner. The channel state may be polled at every tick of the clock. When the channel turns from busy to idle, the time that this happens may be recorded as a parameter, such as mediumldleStartTime . While the channel remains idle, the current time may be subtracted from this recorded mediumldleStartTime time to obtain the duration, mediumldleDuration , that has lapsed since the channel turned idle, which may be expressed as: mediumldleDuration = currentTime - mediumldleStartTime
(Equation 3)
[0070] In turn, the duration mediumldleDuration may be used to determine the number of idle slots that has lapsed, as follows:
5 = ( nt)floor(max(0, mediumldleDur - fixedDelay)/ slotDuration )
(Equation 4)
[0071] Accordingly, whenever the value 5 changes, the event signal may be generated. In various example embodiments, as the procedure of determining whether to transmit at a node may take time to complete, the event signal may be generated earlier by applying an adjustment factor to the time computations.
[0072] In relation to STEP 1 704, the next packet generation times for all traffic flows which AAT is yet to be assigned or has expired (e.g., corresponding to without a valid assigned channel access time information as described hereinbefore according to various embodiments) is computed. To facilitate this operation, every node obtains information regarding the packet generation times of every traffic flow admitted into the network. In various example embodiments, this information is encapsulated in the TGT descriptor (e.g., corresponding to the traffic generation time information as described hereinbefore according to various embodiments) which may comprise the following:
• The traffic flow’s packet generation interval Ti (e.g., corresponding to the first parameter relating to a packet generation interval of the cyclic traffic flow as described hereinbefore according to various embodiments).
• The traffic flow’s maximum PHY-layer transmit duration Tdat (e.g., corresponding to the second parameter relating to a maximum physical layer frame transmission duration of the cyclic traffic flow as described hereinbefore according to various embodiments). In various example embodiments, this parameter may typically be set to the minimum PHY frame length required to transmit the flow’s maximum length packet at the lowest modulation rate.
• A parameter defined herein as “first fictional generation time” Tf (e.g., corresponding to a third parameter relating to a hypothetical first packet generation time of the cyclic traffic flow as described hereinbefore according to various embodiments). In this regard, Tf is basically the time of the traffic flow’s first packet generation time had the traffic flow been active since the start of the node’s synchronization clock. If the generation time of any of the traffic flow’s packet, Tg, is known, then Tf can be obtained via the equation Tf = [(Tg/Ti) - floor(Tg/Ti)] X Ti.
[0073] Using the Ti and Tf value, the next packet generation time may thus be computed using the following equation, if the current time is t:
Tg = ceil((t - Tf)/Ti) X Ti + Tf.
(Equation 5)
[0074] In relation to STEP 2 706, for traffic flows which are yet to have an AAT, or which current AAT has expired, update its AAT start time (e.g., corresponding to the first parameter of the assigned channel access time information as descdribed hereinbefore according to various embodiments) to coincide with its traffic flow’s next packet generation time as computed in STEP 1 702.
[0075] In relation to STEP 3 708, the traffic flows are sorted by ascending order of its AAT’s start time, then iterate throught each traffic flow to perform STEP 4710.
[0076] In relation to STEP 4 710, for each AAT which start time has been updated, nominally set the AAT duration to the period needed to complete the maximum number of retransmissions, for example, (1 + maxRetries) X (Tdat + TSif + Tack + TSif), where maxRetries is the maximum number of retransmissions, Tdat and Tack the PHY-layer transmit duration for the traffic flow’s packet and the acknowledgement frame from the receiver, and TSif is the minimum required spacing between frame transmissions. If the AAT overlaps with the previous AAT in the sorted AAT list, add the duration of the overlap (e.g., corresponding to the amount of overlap as described hereinbefore according to various embodiments) to the AAT’s duration. Limit the AAT duration to lower than the traffic’s generation interval Ti, for example, set it to b.Tί if it exceeds b.Tί, where b e [0,1). By way of an example only and without limitation, FIG. 8 depicts a schematic drawing illustrating an example computation of the start time and the end time of an AAT according to various example embodiments of the present invention.
[0077] In relation to STEP 5 712, from the full AAT list of traffic flows sorted by increasing order of AAT start time, form an AAT sublist (which may be referred to as an active AAT list) comprising (e.g., consisting only of) the traffic flows which are deemed active at the time the procedure is invoked. As described hereinbefore, a traffic flow may be determined to be active at a current sensing slot if the AAT for the cyclic traffic flow overlaps (e.g., partially or completely overlaps) with the current sensing slot. Accordingly, in various example embodiments, the cyclic traffic flow may be determined to be active at the current sensing slot if a start time of the AAT for the cyclic traffic flow is before or at the start time of the current sensing slot, and the end time of the AAT for the cyclic traffic flow is after the end time of the current sensing slot.
[0078] In relation to STEP 6 714, using the AAT sublist of traffic flows with active AATs obtained in STEP 5 712 as or to form the Hyperchannel priority list Phc (e.g., corresponding to determining a traffic flow priority list based on the assigned channel access time sublist as described hereinbefore according to various embodiments), the length of the sublist as the length of the priority list Lphc, the idle slot count as the idle slot count 5 and the flow index as the flow index/ invoke the channel access function for the modified Hyperchannel protocol, for example, canTxHc(Phc ^Phcfs) according to Equation (1) mentioned hereinbefore for each traffic flow belonging to the node to determine if the node should transmit a packet for the flow.
[0079] The modified Hyperchannel protocol (“TGT-HC”) according to various example embodiments was implemented and simulated on the OMNeT network simulation platform. As a comparison, several other conventional protocols were also simulated, namely, the RT- Wi-Fi protocol (“RT-WIFI”), the 802.11 -DCF protocol (“802.11 -DCF”), the conventional Hyperchannel protocol (“HC”), the ASLBT protocol (“ASLBT”), the MSAP protocol (“MSAP”), the CSMA-TGT protocol (“CSMA-TGT”). As a reference for the best possible performance, an ideal single-server first-come-first-serve (FCFS) scheme (“Ideal FCFS”) in which a later node is able to know that it is next to transmit without engaging in any carrier sensing operation, was also simulated. The simulation results from this FCFS scheme provides a benchmark for the best possible (albeit unrealistic) performance that can be achieved. Furthermore, the bundled IEEE 802.11 Physical Layer (PHY) was used as the transceiver and the PHY layer was set to operate at the lowest 802.1 lg bitrate of 6 Mbps. The default sensing slot duration of 20 ps and Short-Interframe-Interval (SIF) (i.e., the interval between data and acknowledgement frame transmissions) of 10 ps was used.
[0080] For the simulation scenario, an example simulation network topology as shown in FIG. 9 was used, in which a multitude of wireless clients are connected to a server via a single access point (AP). The server and AP are connected via a lGbps Ethernet link. Each wireless client is spawned randomly within a 300 m by 300 m area to the left of the AP, as if they are in a square hall of the dimension with the AP mounted on one wall. Furthermore, transmit power for clients and AP were set to 30 mW to ensure that all transmissions can be sensed and received correctly by any node in the network when the frame error rate (FER) was set to zero. Packet losses were simulated by randomly forcing the received frame to be erroneous at each receiver based on FER setting for the simulation. To simulate the traffic flows, a 100- byte UDP packet was generated every 10 ms for each node to transmit. The packet generation intervals were set to be asynchronous across different flows by randomizing their initial starting time. Maximum retry count was left at a default value of 7. The simulation was iterated for 1 to 30 wireless clients, 0% to 20% FER in steps of 5% and 30 random generator seeds. In each iteration, the simulation was executed until 100,000 packets have been generated and transmitted. The statistics collected were the minimum, maximum, average, median, 95th and 99.7th percentile for the end-to-end packet delay, retry count and packet queue length. Overall throughput and packet loss rates for each iteration were also collected. FIGs. 10 to 13 show graphs of comparisons of the 99.7th percentile end-to-end packet delay for the modified Hyperchannel protocol according to various example embodiments versus the above-mentioned simulated conventional protocols and the ideal FCFS scheme. From the graphs shown in FIGs. 10 to 13, it can be seen that the delay performance of the modified Hyperchannel protocol according to various example embodiments is advantageously closest to that of the FCFS scheme compared to all the above-mentioned simulated conventional protocols, matching it at 0% FER. In particular, FIG. 10 depicts a graph of a comparison of the 99.7th Percentile Packet Delay for TGT-HC versus other simulated protocols under varying number of nodes at 0% FER, FIG. 11 depicts a graph of a comparison of the 99.7th Percentile Packet Delay for TGT-HC versus other simulated protocols under varying number of nodes at 5% FER, FIG. 12 depicts a graph of a comparison of the 99.7th Percentile Packet Delay for TGT-HC versus other simulated protocols under varying number of nodes at 10% FER, and FIG. 13 depicts a graph of a comparison of the 99.7th Percentile Packet Delay for TGT-HC versus other simulated protocols under varying number of nodes at 20% FER.
[0081] FIG. 14 depicts a Table showing several points in the delay performance graphs for comparison. In particular, the Table shows comparisons of maximum number of supported flows and 99.7th percentile packet delays for TGT-HC versus WiFi, RT-WiFi and MSAP at selected points in the delay bound graphs. From the Table shown in FIG. 14, the following key points can be observed:
• The 99.7th percentile delay bound for TGT-HC (2.6 ms) for 25 nodes at 5% FER is half that of MSAP (5.5 ms), its closest rival. At 20% FER the delay bound is reduced somewhat significantly, namely, from 6.6 ms to 3.8 ms.
• The maximum number of 10 ms cyclic traffic flows that can be accommodated by TGT-HC (27 flows) at 5% FER is about twice that of conventional Wi-Fi (15 flows) or RT-WiFi (13 flows), and equal to what can also be supported by MSAP (27 flows). At 20% FER, the number of flows supported by TGT-HC (21 flows) exceeds 3 times that of the conventional Wi-Fi (4 flows) or RT-WiFi (6 flows), but less by than MSAP (22 flows) by one.
[0082] While embodiments of the invention have been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. The scope of the invention is thus indicated by the appended claims and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced.

Claims

CLAIMS What is claimed is:
1. A method of transmitting a cyclic traffic flow by a node of a plurality of nodes in a wireless communication network using a channel, the method comprising: obtaining, at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determining, at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determining, at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
2. The method according to claim 1, wherein the current sensing slot is a sensing slot of an idle period of the channel.
3. The method according to claim 1, wherein each of the plurality of assigned channel access time information comprises a first parameter and a second parameter relating to a start time and an end time of an assigned channel access time for the corresponding cyclic traffic flow.
4. The method according to claim 3, wherein said obtaining, at the node and at the current sensing slot of the channel, the assigned channel access time list comprises: for each of the plurality of cyclic traffic flows without a valid assigned channel access time information associated therewith, determining the assigned channel access time information for the cyclic traffic flow, comprising the first parameter and the second parameter relating to the start time and the end time of the assigned channel access time for the cyclic traffic flow.
5. The method according to claim 4, wherein said determining the assigned channel access time information for the cyclic traffic flow comprises determining the first parameter and the second parameter thereof based on a traffic generation time information for the cyclic traffic flow.
6. The method according to claim 5, wherein said determining the first parameter and the second parameter of the assigned channel access time information for the cyclic traffic flow comprises determining a next packet generation time for the cyclic traffic flow based on the traffic generation time information for the cycle traffic flow, the traffic generation time information comprising a first parameter relating to a packet generation interval of the cyclic traffic flow, a second parameter relating to a maximum physical layer frame transmission duration of the cyclic traffic flow and a third parameter relating to a hypothetical first packet generation time of the cyclic traffic flow, and the first and second parameters of the assigned channel access time information for the cyclic traffic flow is determined based on the next packet generation time for the cyclic traffic flow.
7. The method according to claim 4, wherein said obtaining, at the node and at the current sensing slot of the channel, the assigned channel access time list further comprises sorting the plurality of assigned channel access time information for the plurality of cyclic traffic flows in the assigned channel access time list based on a time order of the first parameter of each of the plurality of assigned channel access time information to obtain a sorted assigned channel access time list, and said determining, at the node and at the current sensing slot of the channel, the assigned channel access time sublist is based on the sorted assigned channel access time list.
8. The method according to claim 7, wherein the time order is an increasing time order of the first parameter of each of the plurality of assigned channel access time information, and said determining the second parameter of the assigned channel access time information for the cyclic traffic flow comprises: determining whether an overlap exists between the assigned channel access time for the cyclic traffic flow and the assigned channel access time for an immediately preceding cyclic traffic flow in the sorted assigned channel access time list; and determining the second parameter of the assigned channel access time information based on an amount of the overlap if the overlap exists.
9. The method according to claim 7, wherein each of the one or more of the plurality of cyclic traffic flows is determined to be active at the current sensing slot of the channel if the assigned channel access time for the cyclic traffic flow overlaps with the current sensing slot.
10. The method according to claim 9, further comprising: determining, at the node and at the current sensing slot of the channel, a traffic flow priority list based on the assigned channel access time sublist, the traffic flow priority list comprising one or more traffic flow indices corresponding to the one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel, wherein said determining, at the node and at the current sensing slot of the channel, whether to transmit the data packet of the cyclic traffic flow at the end of the current sensing slot is based on the traffic flow priority list.
11. The method according to claim 10, wherein said determining, at the node and at the current sensing slot of the channel, whether to transmit the data packet of the cyclic traffic flow at the end of the sensing slot is based on whether the cyclic traffic flow has associated therewith a traffic flow index that matches an output of a function based on the traffic flow priority list, a length of the traffic flow priority list and a number of idle slots of the channel that has lapsed since an end of an immediately previous transmission in the channel.
12. A node configured to transmit a cyclic traffic flow in a wireless communication network comprising a plurality of nodes, the plurality of nodes comprising the node, using a channel, the node comprising: a memory; and at least one processor communicatively coupled to the memory and configured to: obtain, at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determine, at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determine, at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
13. The node according to claim 12, wherein each of the plurality of assigned channel access time information comprises a first parameter and a second parameter relating to a start time and an end time of an assigned channel access time for the corresponding cyclic traffic flow.
14. The node according to claim 13, wherein said obtain, at the node and at the current sensing slot of the channel, the assigned channel access time list comprises: for each of the plurality of cyclic traffic flows without a valid assigned channel access time information associated therewith, determining the assigned channel access time information for the cyclic traffic flow, comprising the first parameter and the second parameter relating to the start time and the end time of the assigned channel access time for the cyclic traffic flow.
15. The node according to claim 14, wherein said determining the assigned channel access time information for the cyclic traffic flow comprises determining the first parameter and the second parameter thereof based on a traffic generation time information for the cyclic traffic flow.
16. The node according to claim 15, wherein said determining the first parameter and the second parameter of the assigned channel access time information for the cyclic traffic flow comprises determining a next packet generation time for the cyclic traffic flow based on the traffic generation time information for the cycle traffic flow, the traffic generation time information comprising a first parameter relating to a packet generation interval of the cyclic traffic flow, a second parameter relating to a maximum physical layer frame transmission duration of the cyclic traffic flow and a third parameter relating to a hypothetical first packet generation time of the cyclic traffic flow, and the first and second parameters of the assigned channel access time information for the cyclic traffic flow is determined based on the next packet generation time for the cyclic traffic flow.
17. The node according to claim 14, wherein said obtain, at the node and at the current sensing slot of the channel, the assigned channel access time list further comprises sorting the plurality of assigned channel access time information for the plurality of cyclic traffic flows in the assigned channel access time list based on a time order of the first parameter of each of the plurality of assigned channel access time information to obtain a sorted assigned channel access time list, and said determine, at the node and at the current sensing slot of the channel, the assigned channel access time sublist is based on the sorted assigned channel access time list.
18. The node according to claim 17, wherein each of the one or more of the plurality of cyclic traffic flows is determined to be active at the current sensing slot of the channel if the assigned channel access time for the cyclic traffic flow overlaps with the current sensing slot.
19. The node according to claim 18, wherein the at least one processor is further configured to: determine, at the node and at the current sensing slot of the channel, a traffic flow priority list based on the assigned channel access time sublist, the traffic flow priority list comprising one or more traffic flow indices corresponding to the one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel, wherein said determine, at the node and at the current sensing slot of the channel, whether to transmit the data packet of the cyclic traffic flow at the end of the current sensing slot is based on the traffic flow priority list.
20. A computer program product, embodied in one or more non-transitory computer- readable storage mediums, comprising instructions executable by at least one processor of a node of a plurality of nodes in a wireless communication network to perform a method of transmitting a cyclic traffic flow by the node using a channel, the method comprising: obtaining, at the node and at a current sensing slot of the channel, an assigned channel access time list comprising a plurality of assigned channel access time information for a plurality of cyclic traffic flows admitted into the wireless communication network, respectively; determining, at the node and at the current sensing slot of the channel, an assigned channel access time sublist based on the assigned channel access time list, the assigned channel access time sublist comprising one or more of the plurality of cyclic traffic flows determined to be active at the current sensing slot of the channel; and determining, at the node and at the current sensing slot of the channel, whether to transmit a data packet of the cyclic traffic flow at an end of the current sensing slot based on the assigned channel access time sublist.
PCT/SG2020/050783 2019-12-27 2020-12-25 Cyclic traffic flow transmission in a wireless communication network WO2021133259A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG10201913586V 2019-12-27
SG10201913586V 2019-12-27

Publications (1)

Publication Number Publication Date
WO2021133259A1 true WO2021133259A1 (en) 2021-07-01

Family

ID=76573877

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2020/050783 WO2021133259A1 (en) 2019-12-27 2020-12-25 Cyclic traffic flow transmission in a wireless communication network

Country Status (1)

Country Link
WO (1) WO2021133259A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130201974A1 (en) * 2012-02-06 2013-08-08 Qualcomm Incorporated Systems and methods for reducing collisions after traffic indication map paging
CN104581954A (en) * 2013-10-28 2015-04-29 株式会社理光 Channel scheduling method and wireless communication equipment
US20170127443A1 (en) * 2012-08-16 2017-05-04 Kt Corporation Channel access method in wireless lan system
US20180132234A1 (en) * 2016-11-09 2018-05-10 Dave Cavalcanti Enhanced wireless networks for time sensitive applications
US20180152965A1 (en) * 2012-06-13 2018-05-31 Kt Corporation Method of accessing channel in wireless local area network system
US20190289625A1 (en) * 2012-06-19 2019-09-19 Electronics And Telecommunications Research Institute Device and method for controlling slot-based channel access in wireless lan system, and slot-based channel access terminal in wireless lan

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130201974A1 (en) * 2012-02-06 2013-08-08 Qualcomm Incorporated Systems and methods for reducing collisions after traffic indication map paging
US20180152965A1 (en) * 2012-06-13 2018-05-31 Kt Corporation Method of accessing channel in wireless local area network system
US20190289625A1 (en) * 2012-06-19 2019-09-19 Electronics And Telecommunications Research Institute Device and method for controlling slot-based channel access in wireless lan system, and slot-based channel access terminal in wireless lan
US20170127443A1 (en) * 2012-08-16 2017-05-04 Kt Corporation Channel access method in wireless lan system
CN104581954A (en) * 2013-10-28 2015-04-29 株式会社理光 Channel scheduling method and wireless communication equipment
US20180132234A1 (en) * 2016-11-09 2018-05-10 Dave Cavalcanti Enhanced wireless networks for time sensitive applications

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JAYABAL RAYMOND J., LAU CHIEW TONG: "On the exact expression for single-stage CSMA/ CA 's idle period distribution", COMPUTERS AND MATHEMATICS WITH APPLICATIONS, vol. 64, no. 5, 30 September 2012 (2012-09-30), pages 1343 - 1351, XP055834954, ISSN: 0898-1221, DOI: 10.1016/J.CAMWA. 2012.03.07 8 *
JAYABAL RAYMOND J.; SUMEI SUN; MING PANG CHIN; QINGJUN ZHANG; YUGANG MA; CHO CHENG WANG; MENG GOH LENG: "CSMA-TGT: Carrier-Sense Multiple Access with Transmission Guiding Tracks", 2019 IEEE VTS ASIA PACIFIC WIRELESS COMMUNICATIONS SYMPOSIUM (APWCS), 28 August 2019 (2019-08-28), pages 1 - 5, XP033622677, DOI: 10.1109/VTS-APWCS.2019.8851629 *

Similar Documents

Publication Publication Date Title
EP2413649B1 (en) Wireless communication method and system with collision avoidance protocol
US9380577B2 (en) Method and device for collaborative data communication in a radio network
EP1622313A1 (en) Radio communication system, radio communication device, radio communication method, and computer program
Moraes et al. VTP-CSMA: A virtual token passing approach for real-time communication in IEEE 802.11 wireless networks
CN102484607B (en) Communication method in a profinet communication system
CN111556528B (en) Channel state judgment method based on frequency hopping time hopping pattern under self-organizing network
CN113853828B (en) RTA Queue Management in Wireless Local Area Network (WLAN) Stations
Cheng et al. Adopting IEEE 802.11 MAC for industrial delay-sensitive wireless control and monitoring applications: A survey
CN101715241B (en) Method and device for media access control of distributed wireless local area network
Zhao et al. E-MAC: An evolutionary solution for collision avoidance in wireless ad hoc networks
Hui et al. Designing improved MAC packet schedulers for 802.11 e WLAN
Amuru et al. To send or not to send-learning MAC contention
CN102202348A (en) Data packet sending method and access point
Tuysuz et al. A beacon-based collision-free channel access scheme for IEEE 802.11 WLANs
WO2021133259A1 (en) Cyclic traffic flow transmission in a wireless communication network
Yang et al. ACK-based adaptive backoff for random access protocols
Martorell et al. Non-saturated IEEE 802.11 networks. A hierarchical 3D Markov model
Farag et al. PR-CCA MAC: A prioritized random CCA MAC protocol for mission-critical IoT applications
Lusty et al. TTWiFi: time-triggered communication over WiFi
Hoffmann et al. Prioritized medium access in ad-hoc networks with a SystemClick model of the IEEE 802.11 n MAC
Jayabal et al. CSMA-TGT: Carrier-sense multiple access with transmission guiding tracks
Garcés et al. Collision avoidance and resolution multiple access (CARMA)
Patel et al. An adaptive contention slot selection mechanism for improving the performance of IEEE 802.11 DCF
Joon et al. Modelling of IEEE 802.11 DCF in the presence of hidden nodes
Andreev et al. Calculation of transmission probability in heterogeneous ad hoc networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20907033

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20907033

Country of ref document: EP

Kind code of ref document: A1