Patent Description:
Wireless protocols, such as Institute of Electrical and Electronics Engineers (IEEE) <NUM>. 11x protocols, are based on Carrier-sense multiple access with collision avoidance (CSMA/CA) methods. By definition avoiding collision amounts to time sharing forcing one device waiting for other device's transmission to end before starting transmitting, causing thus an unknown delay before each transmission. Hence, Quality of Service (QoS) is not assured as accurate transmission timing cannot be guaranteed.

To mitigate this issue, IEEE <NUM>. 11e standard provides QoS support for wireless local area network (WLAN). The QoS support, referred to as Enhanced Distributed Channel Access (EDCA), is a mandatory mode for MAC in the IEEE <NUM>. 11e standard and assures that high-priority traffic has a higher chance of being sent than low-priority traffic (there are four priority categories), with the effect that a station with high priority traffic waits a little less before it sends its packet, on average, than a station with low priority traffic. Still, in IEEE <NUM>. 11e standard each priority category differs only by the random back-off window which provides statistically higher priority to low latency traffic on top of other traffic. While <NUM>. 11e takes into account a required delay per application, when multiple APs share transmissions with common priority, for instance Video and/or Voice streams, time sharing interference remains a delay forming factor.

Document <CIT> discloses that an aggregated link for multiple channels may be established. The link may be aggregated at an upper medium access control (MAC) entity, which may communicate with multiple lower MAC entities for the channels. The upper MAC entity assigns packet numbers (PNs) to a sequence of MAC service data units (MSDUs) for the aggregated link and allocates the MSDUs to the channels. The PNs enable reordering at a receiving entity. The lower MAC entities assign sequence numbers (SNs) to MAC protocol data units (MPDUs), and the SNs enable acknowledgement at a receiving entity. The MPDUs include the SNs and the corresponding PNs.

Document <NPL>, discloses a packet scheduling strategy over multiple bands for WLAN systems by minimizing the average end-to-end packet latency, and a perpacket scheduling algorithm, called OMMA Leaky Bucket, which distributes the packets over multi bands using the derived optimal distribution and minimizes resequencing delay at the receiver.

Document <CIT> discloses a method including receiving data from an Ethernet layer, the data being identified as eligible for retransmission or not eligible for retransmission; in response to a determination that the data is eligible for retransmission, storing a copy of at least a portion of the data in a retransmission queue; and transmitting the data across a gamma (γ) interface to a packet transfer mode transmission convergence layer.

Advantageous features are defined in the dependent claims. In the following, parts of the description and drawings referring to embodiments not covered by the claims, are not part of the invention, but are illustrative examples necessary for understanding the invention.

The present invention, in some embodiments thereof, relates to multi radio media access control (Multi Radio MAC, MRM) and, more specifically, but not exclusively, to methods and systems for assuring quality of service (QoS) using MRM based devices.

The overlapping basic service set (overlapping BSS, OBSS) problem refers to situations that two or more BSSs, for example units of devices operating with the same medium access characteristics (i.e. radio frequency, modulation scheme etc.) and unrelated to each other, are operating in the same channel and are close enough to capture transmissions of each other physically. As it easily understood, the OBSS problem may severely degrade the network performance.

Some embodiments of the present invention teaches an AP with multiple transceiver modules and a controller that operates the transceiver modules according to a Multi Radio MAC (MRM) layer designed to minimize the effect of OBSS time sharing interference on one wireless communication channel (e.g. <NUM> and/or <NUM> and/or <NUM> megahertz (MHz) and/or <NUM> and/or <NUM>) by using one or more other wireless communication channels. The layer allows using one or more other wireless communication channels for transmitting to a target UE while a certain channel is affected by high OBSS (e.g. interference above a threshold). Similarly, the process allows transmitting on the certain channel when the one or more other channels are affected by high OBSS. These embodiments improve air winning rate and decrease delay.

Reference is now made to <FIG>, which is a schematic illustration of an MRM device <NUM>, such as an AP, which communicates with a target station such as a user equipment (UE), via multiple transmission channels <NUM> with different frequencies, according to some embodiments of the present invention. For brevity, the MRM device <NUM> is at a transmitting side and the target station <NUM> is at a receiving side. The transmission channels <NUM> wirelessly connect the MRM devices <NUM>, <NUM> for simultaneous transmission from the MRM device <NUM> to the other MRM device <NUM>, for instance a target UE.

The MRM device <NUM> includes multiple transceiver modules <NUM>, <NUM> and the target station <NUM> includes multiple transceiver modules <NUM>, <NUM>. A transceiver module is optionally an integrated circuit that includes a network interface controller (NIC), for instance WLAN module, for example IEEE <NUM> radio module. Each of the transceiver modules <NUM>, <NUM>, <NUM>, <NUM> is assigned with another MAC address. For clarity a MAC address may be referred to as the burned-in address, and is also known as an Ethernet hardware address, hardware address, and physical address. Each transceiver module may be implemented by a circuitry executing such that physical layer functions of different PHYs are managed by different transceiver module, optionally executed by the same circuitry.

Optionally, one of the transceiver modules transmits in a frequency of <NUM> gigahertz low band and another of the plurality of transceiver modules transmits in <NUM> gigahertz high band, for example low <NUM> and high <NUM>. Optionally, one of the transceiver modules transmits in a frequency of less than <NUM> gigahertz and another of the plurality of transceiver modules transmits in a frequency of more than <NUM> gigahertz, for example <NUM> and <NUM>. Optionally, one of the transceiver modules further comprises a transceiver module that transmits in a frequency of more than <NUM> gigahertz and less than <NUM> gigahertz. Optionally, one of the transceiver modules further comprises a transceiver module that transmits in a high <NUM> and another that transmits in less a low <NUM>.

Each of the transceiver modules includes a controller <NUM>, <NUM>, such as an integrated circuit which includes one or more microprocessors (e.g. although only one controller <NUM>, <NUM> is depicted each of the multiple transceiver modules <NUM>, <NUM> and includes a controller). The controller <NUM>, <NUM> controls the operation of the respective transceiver module.

The MRM device <NUM> includes a memory <NUM> adapted for aggregating in a shared queue a plurality of packets of a stream data and a queue manager <NUM>, optionally implemented using an processing circuit, for instance one or more microprocessors. This allows executing logic also referred to herein as an MRM layer. The execution of the MRM layer allows managing data traffic, for instance of data streams, through multiple channels established using the multiple independent MAC addresses and PHYs of the transceiver modules <NUM>.

The target station <NUM>, for instance UE, includes a memory <NUM> adapted for aggregating the packets received from using the transceiver modules <NUM> in a shared queue and a queue manager <NUM>, optionally implemented using an processing circuit, for instance one or more microprocessors. This allows retrieving the packets acquired from the multiple transmission channels <NUM>. The queue manager <NUM> is optionally adapted to reorder the plurality of packets in the shared queue for decoding the stream data.

In operation, when data is streamed using the MRM device <NUM>, each of the MRM devices <NUM>, <NUM> access the memory <NUM>, <NUM> to acquire packets aggregated in the shared queue for instance as described below.

While memory <NUM> aggregates in a shared queue a plurality of packets of a stream data received via a computer network <NUM>, memory <NUM> aggregates in a shared queue a plurality of packets of a stream data received via the transmission channels <NUM>. Optionally, the packets are originated from a third party, such as a user datagram protocol (UDP) server <NUM>.

For example, the stream data may be virtual or augmented reality stream of data received over a wide area network (WAN) from one or more remote sources such as streaming services.

Each of the packets of the stream data is encoded with an MRM sequence identifier, for instance in a designated field at the Wi-Fi™ protocol header and/or in a new packet tag. This allows ordering the packets in the shared queue and/or to allocate them form the shared queue according to the MRM sequence, even when some of the packets are returned to the shared queue by one of the transceiver modules after a failed transmission.

In use, each of the transceiver modules of the transmitting side acquires from the shared queue, optionally independently from the other transceiver modules, packets for transmission in one of the transmission channels <NUM>, for instance based on an operation scheme defined by the controller <NUM>. The packets are acquired asynchronously and/or transmitted asynchronously.

Optionally, each of the multiple transceiver modules <NUM>, <NUM> independently implements packet aggregation protocol, for instance media access control protocol data unit (MPDU) or A- MPDU. In such embodiments, multiple packets are acquired from the shared queue for transmission in a transmission session such as a transmission opportunity (TXOP).

Reference is also made to <FIG> which is a flowchart of a method <NUM> for operating an MRM device for wirelessly transmitting stream data received via a computer network <NUM> to a remote target station such as a UE, according to some embodiments of the present invention.

As shown at <NUM>, a plurality of packets of a stream data are received from the computer network <NUM> and aggregated in the shared queue.

As shown at <NUM>, each of the transceiver modules <NUM>, <NUM> of the MRM device is operated independently to maintain simultaneously the transmission channels <NUM> with common target user equipment which is wirelessly connected to the MRM device, each one of the plurality of transmission channels having a different frequency. As shown at <NUM>, in use, the plurality of transceiver modules are operated separately to acquire asynchronously one or more of the plurality of packets from the shared queue for a parallel transmission in the plurality of transmission channels. These packets are then transmitted, for instance based on a WLAN protocol. Each packet maybe encoded with a Wi-Fi header complying with <NUM>. 11xx protocol.

As all the packets are originated from the shared queue, packets of the data stream are not duplicated in the process (remain unduplicated).

Optionally, the controller <NUM> of each of the transceiver modules <NUM> manages a separate traffic flow control mechanism so that packets transmitted in the respective transmission channel <NUM> are assigned with MRM sequence numbers of the specific traffic flow control. Optionally, the queue manager <NUM> manages retries in the transmission channels <NUM> independently from the transceiver modules <NUM>. Optionally, the queue manager <NUM> manages aging of packets transmitted in the transmission channels <NUM> independently from the transceiver modules <NUM>. Optionally, the queue manager <NUM> manages Rx reordering independently from the transceiver modules <NUM>.

Optionally, the controller <NUM> of each of the transceiver modules <NUM> manages content of a block acknowledge (BA) control field to include a Wi-Fi™ sequence number, for instance as defined in existing WLAN standards such as <NUM>. 11a/n/ac/ax.

According to the present invention, the controller <NUM> of each of the transceiver modules <NUM> identifies failed transmission of package(s) on the transmission channel <NUM> it manages and returns them to the shared queue. For instance, when EDCA mechanism is executed, the failed transmission of packages may be identified per Transmission Opportunity (TXOP). Optionally, the controller <NUM> determines whether to return the package(s) identified as failed to be transferred to the shared queue in the memory <NUM> or to perform a retry, for instance as defined in existing WLAN standards such as <NUM>. 11a/n/ac/ax based on presence or absence of a BA timeout. For instance when BA timeout is detected a failed transmission is assumed respective packets are returned to the shared queue with or without sending block acknowledgement request (BAR) as defined in existing WLAN standards such as <NUM>. The returned packets are returned to a place in the shared queue according to their MRM sequence numbers. In such a manner, time based transmission priority such as first in first out can be maintained.

According to some embodiments of the present invention, in use, each of the transceiver modules <NUM> is adapted to receive messages indicative of missing packets from the respective transceiver module <NUM> it communicates with. In such embodiments, in response to receiving these messages, the transceiver modules <NUM> independently access the shared queue to try to acquire and retransmit the missing packets. Optionally, the queue manager receives indication(s) about the missing packets from the transceiver module(s) <NUM> and locates the missing packets in the front of the shared queue (in response to the receipt of the missing packet indications).

Reference is also made to <FIG>, not comprised in the scope of the independent claims, which is a flowchart <NUM> of a method of operating a target station, for example UE, such as <NUM>, with a multi-channel process wherein a plurality of transceiver units, such as <NUM>, asynchronously acquire packets of streamed data transmitted in different frequencies from sources with different MAC addresses, according to some embodiments of the present invention. The <NUM>-<NUM> are performed at the target station side.

As shown at <NUM>, multiple transceiver modules, for instance <NUM>, are assigned with different MAC addresses for establishing the transmission channels <NUM>, for instance as described above. The transmission channels are maintained simultaneously and having different frequencies as described above.

As shown at <NUM>, the plurality of transceiver modules are operated to acquire the packets via the plurality of transmission channels which are established and maintained simultaneously. Each of the transceiver modules is operated separately for acquiring some of the packets of the streamed data in a non synchronic manner.

Optionally, the controller <NUM> of each of the transceiver modules <NUM> manages a separate traffic flow control mechanism so that packets received in the respective transmission channel <NUM> are received independently from the packets received in other transmission channel(s). Optionally, the controller <NUM> of each of the transceiver modules <NUM> tracks received packets and send indication of missing packets, for instance in a BA control field independently from the data flows received by other transceiver modules <NUM>. Optionally, the controller <NUM> of each of the transceiver modules <NUM> input the received packets into the shared queue.

As shown at <NUM>, the plurality of packets of stream data which are received using the transceiver modules are optionally aggregated in the shared queue also referred to as a shared reordering queue. Optionally, each of the plurality of transceiver modules <NUM> adds packets to the shared queue while ignoring BA window limitations and missing packets. Optionally, each of the plurality of transceiver modules <NUM> responds to the received packets with a BA dataset indicating received status per packet; the BA dataset is transmitted over the respective transmission channel. In such a manner, the receiving transceiver modules <NUM> may identify when sent packets have not been arrived, classify them as missing packets and return to the shared queue that is stored in the memory <NUM> of the MRM device. In such a manner, the missing packets can be retransmitted via the same transmission channel or via other transmission channel(s) with different frequency(ies) by the other transceiver modules <NUM>.

Now, as shown at <NUM>, the packets are reordered to reproduce the streamed data, for instance according to their MRM sequence numbers. This allows processing the streamed data for display. This allows outputting the streamed data for presentation (or any other application) by the UE or devices connected to the UE. For example, the streamed data can be presented on a VR headset, displayed on a screen of the UE and/or casted on any presentation means. Optionally, the streamed data can be processed by any application without adaptation or further decoding as the reordered packets are arranged in the original sequence of the streamed data and preferably at the same encoding.

Reference is now made to <FIG> and <FIG> are sequence charts of processes wherein packets of streamed data are transmitted via different channels, for instance from a MRM device <NUM> to a target station <NUM> as defined above, for instance in <FIG>, according to some embodiments of the present invention.

As shown at <NUM>, <NUM>, and <NUM>, packets of streamed data are added to the shared queue at the MRM device <NUM>, for instance packets pushed to the shared queue by a UDP server, for instance a server which is part of a VR cloud. While packets are pushed at a first in first out scheme, retries packets are pushed to the head of the queue, for instance as described above.

In use, as indicated above, while the packets are being pushed to the shared queue, the MRM device <NUM> generates and adds MRM sequence numbers to packets, for instance in a new field at Wi-Fi header or any new tag. One of the transceiver modules, marked as Tx MACn, has a TxOP (e.g. back off (BO) value expired and clear channel assessment (CCA) value OK) acquires packets from the shared queue for packet aggregation, e.g. in A-MPDU. The Tx MACn performs the aggregation while ignoring BA window limitations (e.g. Starting Sequence Number (SSN) and BA agreement are at max window size).

As shown at <NUM>, one of the transceiver modules <NUM>, <NUM> of the target station <NUM>, marked herein as Rx MACn, builds and returns BA bitmap indicating Rx status per packet where SSN is a first packet in current aggregation. The Rx MACn forwards the received packets to the MRM reordering queue optionally without any reordering action. As shown at <NUM>, optionally when a missed packet is detected, the reordering queue is updated. The queue manager of the target station performs reordering based on the MRM sequence number <NUM> (e.g. in a similar manner to a MAC reordering function, optionally using window and wrap around sequence number).

As shown at <NUM>, when the Tx MACn receives the BA bitmap failed packets are pushed back to the front of the shared queue for retry by any of the transceiver units <NUM>, <NUM> (e.g. the same transceiver unit or any other transceiver unit). In case BA Timeout is detected the Tx MACn is not sending BAR as reordering is not done at the low MAC level but by the queue manager <NUM> of the target station level <NUM>.

It should be noted that when any of the processes described in <FIG> are implemented no retries of packets may be reported by the application layer as retries are performed at the MAC level. Also, BAR messages may not sent by the multiple transceiver modules <NUM>, <NUM> when BA messages are not received on last aggregation events. Also new aggregation such as A-MPDU with new packets retrieved from the shared queue (retries or new) is performed after BA timeout is sent with next Wi-Fi Sequence number, see for example <NUM>.

Reference is now made to an exemplary use case wherein the same VR data was transmitted in a first scenario - from a single channel AP to a UE and in a second scenarios - from an MRM device defined as described with reference to <FIG> and <FIG> to a UE defined as described with reference to <FIG> and <FIG>. In this comparison the used MRM device used a transceiver unit transmitting at a high channel of <NUM>@<NUM> and another transceiver unit transmitting at a low channel of <NUM>@<NUM> and the single channel AP used a transceiver unit transmitting at a channel of <NUM>@80NHz. OBSS time sharing interference was applied by AP transmitting at a channel <NUM>@<NUM> and AP transmitting at a channel <NUM>@<NUM>. <FIG> is a graph showing a comparison between the delay caused by applied variable interference in both scenarios. This graph clearly shows how the OBSS time sharing interference almost has no effect in the second scenario implementing aspects of the inventions. Reference is also made to <FIG> which are graphs depicting a comparison between the delay caused by applied variable interference at various megabits per second (Mbps) in <NUM> different scenarios. The first and second scenarios are based on hardware as used in the above first and second scenarios and in the third scenario that hardware includes a target station and an AP that duplicates the streamed data for transmission over different channels with different frequencies, for instance as used in the second scenario. This graph clearly shows how the OBSS time sharing interference almost has no effect in the second scenario implementing aspects of the inventions and how merely duplicating the data for parallel transmission does not reduce the delay much. In the exemplary use cases described in <FIG> <NUM>% (Standard Deviation of <NUM>%) of the examined packets, on average (over <NUM> packets) were received with a delay of less than <NUM> millisecond (ms). Also, usage of multiple channels with only data duplication has shown only minor gain in few use cases.

The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

It is expected that during the life of a patent maturing from this application many relevant methods and systems will be developed and the scope of the term a transceiver, a processor, and a module is intended to include all such new technologies a priori.

This term encompasses the terms "consisting of' and "consisting essentially of'.

Claim 1:
A Multi Radio Media Access Control, MRM, transceiver, comprising:
a plurality of transceiver modules (<NUM>, <NUM>) each assigned with a different Media Access Control, MAC, address; and
a memory (<NUM>) configured to aggregate in a shared queue a plurality of packets of a stream data received via a computer network; (<NUM>)
wherein each of the plurality of transceiver modules (<NUM>, <NUM>) is configured to acquire asynchronously one or more of the plurality of packets from the shared queue for transmission in one of a plurality of transmission channels (<NUM>);
wherein each one of the plurality of transmission channels (<NUM>) has a different frequency;
wherein the plurality of transmission channels (<NUM>) are maintained for simultaneous transmission of the one or more of the plurality of packets acquired from the shared queue to a common target station that is wirelessly connected to the MRM transceiver;
- wherein each of the plurality of packets has a field encoding an MRM sequence identifier to be decoded by the target station for packet reordering; and
- wherein each of the transceiver modules (<NUM>, <NUM>) comprises a controller (<NUM>), wherein the controller (<NUM>) of each of the transceiver modules (<NUM>) is configured to: identify failed transmission of packages on a transmission channel (<NUM>) that it is configured to manage, and return the failed transmitted packages to the shared queue, wherein the returned packets are returned to a place in the shared queue according to their MRM sequence identifier.