Wireless Mesh Network

By adopting a dual-channel backhaul architecture in the mesh network, data packets are bypassed from full backhaul links to channels with sufficient air-interface resources, the data discarding problem caused by competition in the mesh network due to air-interface resource, and improve throughput and system stability.

CN115918140BActive Publication Date: 2025-07-18ALCATEL LUCENT SHANGHAI BELL CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080102684.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-02
Publication Date
2025-07-18
Estimated Expiration
2040-07-02

AI Technical Summary

Technical Problem

In a mesh network, because the backhaul link and the fronthaul link share the same Wi-Fi chip and work on the same channel, air interface resources are competition, resulting in data packet discarding when the cache is full, affecting network throughput and stability.

Method used

Using a dual-channel backhaul architecture, WDS link is established on 2.4GHz and 5GHz channels. Through allocation policies and numbering schemes, data packets are bypassed from full backhaul links to another backhaul link with sufficient air interface resources, avoiding data dropping and improving throughput and system stability.

Benefits of technology

It significantly improves the throughput of the mesh network and enhances the stability of the system, makes full use of the air interface resources of the two channels, and avoids data discarding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115918140B_ABST
    Figure CN115918140B_ABST
Patent Text Reader

Abstract

Exemplary embodiments of the present disclosure relate to an apparatus, a method, a device, and a computer-readable storage medium for dual-channel backhaul in a mesh network. The method includes: generating, at a first device, a first transmission queue including a plurality of data packets to be transmitted to a second device on a first backhaul link; allocating at least one data packet from the plurality of data packets according to a determination that satisfies an allocation policy; generating a second transmission queue including the at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; and transmitting, on the first backhaul link, the plurality of data packets except the at least one data packet to the second device and transmitting, on the second backhaul link, the at least one data packet to the second device. Through such a dual-channel backhaul architecture, channel resources on two channels can be fully utilized for backhaul. The solution proposed by the present disclosure, through an allocation policy and a numbering scheme, bypasses a part of data packets from one backhaul link to another backhaul link before the radio resources on one backhaul link are exhausted, without discarding backhaul data. In this way, the throughput of the entire mesh network can be significantly improved, and the system is more stable.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to the field of wireless mesh networks, and more particularly to devices, methods, apparatuses, and computer-readable storage media for dual-channel backhaul in a mesh network. Background Art

[0002] A mesh network is a dynamic network structure that includes multiple access point (AP) nodes and can be continuously expanded. Some of the AP nodes include 2.4G Wi-Fi chip sets and 5G chip sets, and can thus operate in the 2.4GHz and 5GHz frequency bands, such as dual-band routers, repeaters, etc. In this case, a wireless distribution system (WDS) link of the mesh network can be established on both the 2.4G and 5G chip sets simultaneously. To avoid network loopback problems, the mesh network only allows one of the WDS links in every two AP nodes to be activated at a time to transmit data packets. This WDS link is also referred to as a backhaul (BH) link. The other WDS link is in a standby state.

[0003] The connection between a terminal device and an AP node is referred to as a fronthaul (FH) link. Since the BH link and the FH link of the same AP node share the same Wi-Fi chip and operate on the same channel, they utilize the air interface resources in a time-division multiplexing manner. In addition, the AP nodes in the mesh network may compete with each other for air interface resources. In the case of insufficient air interface resources, the cache of the AP may be full before the backhaul data packets in the cache are transmitted. Therefore, the data packets that have not been transmitted may be discarded by the AP. As a result, the performance of the entire mesh network, such as the throughput of the mesh network, may be severely degraded. Summary of the Invention

[0004] Generally speaking, the exemplary embodiments of the present disclosure provide a solution for dual-channel backhaul.

[0005] In a first aspect, a first device is provided. The first device includes: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code are configured to, together with the at least one processor, cause the first device to: generate a first transmission queue including a plurality of data packets to be transmitted to a second device on a first backhaul link; select at least one data packet from the plurality of data packets according to a determination that meets an allocation policy; generate a second transmission queue including the at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; and transmit the plurality of data packets other than the at least one data packet to the second device on the first backhaul link, and transmit the at least one data packet to the second device on the second backhaul link.

[0006] In a second aspect, a second device is provided. The second device includes: at least one processor; and at least one memory, the at least one memory including computer program code; the at least one memory and the computer program code are configured to, together with the at least one processor, cause the second device to: receive a plurality of data packets transmitted by a first device on both a first backhaul link and a second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; generate a first receive queue including at least one of the plurality of data packets received on the first backhaul link; generate a second receive queue including the plurality of data packets received on the second backhaul link except for the at least one data packet; and aggregate the data packets in the second receive queue into the first receive queue.

[0007] In a third aspect, a method is provided. The method includes: generating, at a first device, a first transmission queue including a plurality of data packets to be transmitted to a second device on a first backhaul link; allocating at least one data packet from the plurality of data packets according to a determination that satisfies an allocation policy; generating a second transmission queue including the at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; and transmitting the plurality of data packets except for the at least one data packet to the second device on the first backhaul link and transmitting the at least one data packet to the second device on the second backhaul link.

[0008] In a fourth aspect, a method is provided. The method includes: receiving, at the second device, a plurality of data packets transmitted by a first device on both a first backhaul link and a second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; generating a first receive queue including at least one of the plurality of data packets received on the first backhaul link; generating a second receive queue including the plurality of data packets received on the second backhaul link except for the at least one data packet; and aggregating the data packets in the second receive queue into the first receive queue.

[0009] In a fifth aspect, there is provided an apparatus, comprising: means for generating a first transmission queue including a plurality of data packets to be transmitted on a first backhaul link to a second device; means for allocating at least one data packet from the plurality of data packets according to a determination that an allocation policy is satisfied; means for generating a second transmission queue including the at least one data packet, the second transmission queue to be transmitted on a second backhaul link different from the first backhaul link to the second device; and means for transmitting the plurality of data packets other than the at least one data packet to the second device on the first backhaul link and transmitting the at least one data packet to the second device on the second backhaul link.

[0010] In a sixth aspect, there is provided an apparatus, comprising: means for receiving a plurality of data packets transmitted by a first device on both a first backhaul link and a second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; means for generating a first reception queue including at least one data packet among the plurality of data packets received on the first backhaul link; means for generating a second reception queue including the plurality of data packets other than the at least one data packet received on the second backhaul link; and means for aggregating the data packets in the second reception queue into the first reception queue.

[0011] In a seventh aspect, there is provided a computer-readable medium having stored thereon a computer program, which when executed by at least one processor of a device causes the device to perform the method according to the third aspect.

[0012] In an eighth aspect, there is provided a computer-readable medium having stored thereon a computer program, which when executed by at least one processor of a device causes the device to perform the method according to the fourth aspect.

[0013] In a ninth aspect, there is provided a computer program, comprising instructions for causing an apparatus to perform at least the following operations: generating a first transmission queue including a plurality of data packets to be transmitted on a first backhaul link to a second device; allocating at least one data packet from the plurality of data packets according to a determination that an allocation policy is satisfied; generating a second transmission queue including the at least one data packet, the second transmission queue to be transmitted on a second backhaul link different from the first backhaul link to the second device; and transmitting the plurality of data packets other than the at least one data packet to the second device on the first backhaul link and transmitting the at least one data packet to the second device on the second backhaul link.

[0014] In a tenth aspect, there is provided a computer program comprising instructions for causing a device to perform at least the following operations: receiving a plurality of data packets transmitted by a first device on both a first backhaul link and a second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; generating a first receive queue comprising at least one of the plurality of data packets received on the first backhaul link; generating a second receive queue comprising the plurality of data packets received on the second backhaul link except for the at least one data packet; and aggregating the data packets in the second receive queue into the first receive queue.

[0015] In an eleventh aspect, there is provided a computer-readable medium comprising program instructions for causing a device to at least perform the following operations: generating a first transmission queue comprising a plurality of data packets to be transmitted to a second device on a first backhaul link; allocating at least one data packet from the plurality of data packets according to a determination that satisfies an allocation policy; generating a second transmission queue comprising the at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; and transmitting the plurality of data packets except for the at least one data packet to the second device on the first backhaul link and transmitting the at least one data packet to the second device on the second backhaul link.

[0016] In a twelfth aspect, there is provided a computer-readable medium comprising program instructions for causing a device to at least perform the following operations: receiving a plurality of data packets transmitted by a first device on both a first backhaul link and a second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; generating a first receive queue comprising at least one of the plurality of data packets received on the first backhaul link; generating a second receive queue comprising the plurality of data packets received on the second backhaul link except for the at least one data packet; and aggregating the data packets in the second receive queue into the first receive queue.

[0017] In a thirteenth aspect, a non-transitory computer-readable medium is provided, including program instructions for causing a device to perform at least the following operations: generating a first transmission queue including a plurality of data packets to be transmitted to a second device on a first backhaul link; allocating at least one data packet from the plurality of data packets according to a determination that satisfies an allocation policy; generating a second transmission queue including the at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; and transmitting the plurality of data packets other than the at least one data packet to the second device on the first backhaul link and transmitting the at least one data packet to the second device on the second backhaul link.

[0018] In a fourteenth aspect, a non-transitory computer-readable medium is provided, including program instructions for causing a device to perform at least the following operations: receiving a plurality of data packets transmitted by a first device on both a first backhaul link and a second backhaul link, the first backhaul link being established with a first radio frequency and the second backhaul link being established with a second radio frequency different from the first radio frequency; generating a first reception queue including at least one data packet among the plurality of data packets received on the first backhaul link; generating a second reception queue including the plurality of data packets other than the at least one data packet received on the second backhaul link; and aggregating the data packets in the second reception queue into the first reception queue.

[0019] Other features and advantages of the embodiments of the present disclosure will also be apparent from the following description of specific embodiments in conjunction with the accompanying drawings, which illustrate the principles of the embodiments of the present disclosure by way of example. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Embodiments of the present disclosure are presented by way of example and their advantages are explained in more detail below with reference to the accompanying drawings, in which

[0021] Figure 1 a schematic diagram of an exemplary environment of a wireless distribution system is shown;

[0022] Figure 2 a schematic diagram of a backhaul data discard process between a transmitter (TX) AP and a receiver (RX) AP in a WDS is shown;

[0023] Figure 3 a schematic diagram of another exemplary environment of a wireless distribution system is shown;

[0024] Figure 4 a schematic diagram of a communication environment in which some embodiments of the present disclosure can be implemented is shown;

[0025] Figure 5A schematic diagram of a dual-channel backhaul architecture of a device suitable for implementing exemplary embodiments of the present disclosure is shown;

[0026] Figure 6 A flowchart of an exemplary method for dual-channel backhaul according to some exemplary embodiments of the present disclosure is shown;

[0027] Figure 7 A schematic diagram of a data number field in a MAC header of data according to some exemplary embodiments of the present disclosure is shown;

[0028] Figure 8 A flowchart of an exemplary method for dual-channel backhaul according to some exemplary embodiments of the present disclosure is shown;

[0029] Figure 9 An exemplary signaling diagram showing an exemplary process for dual-channel backhaul according to some embodiments of the present disclosure is shown;

[0030] Figure 10 A simplified block diagram of a device suitable for implementing exemplary embodiments of the present disclosure is shown; and

[0031] Figure 11 A block diagram of an exemplary computer-readable medium according to some embodiments of the present disclosure is shown;

[0032] In all the drawings, the same or similar reference numerals denote the same or similar elements. Detailed Description of the Invention

[0033] The principles of the present disclosure will now be described with reference to some exemplary embodiments. It should be understood that these embodiments are described only for illustrative purposes and to assist those skilled in the art in understanding and implementing the present disclosure, and not to impose any limitation on the scope of the present disclosure. The disclosure described herein can be implemented in various ways other than those described below.

[0034] In the following description and claims, unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains.

[0035] References in this disclosure to "one embodiment", "an embodiment", "exemplary embodiment", etc. indicate that the described embodiment may include a particular feature, structure, or characteristic, but not necessarily every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an exemplary embodiment, it is considered within the knowledge of those skilled in the art to combine such feature, structure, or characteristic with other embodiments, whether or not explicitly described.

[0036] It should be understood that although terms such as "first" and "second" may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish the functions of various elements. As used herein, the term "and / or" includes any and all combinations of one or more of the listed terms.

[0037] The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit the exemplary embodiments. 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 should also be understood that the terms "comprises", "comprising", "has", "having", "includes" and / or "including" when used herein specify the presence of the stated features, elements and / or components, etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.

[0038] As used in this application, the term "circuit" may refer to one or more or all of the following:

[0039] (a) A pure hardware circuit implementation (such as an implementation with only analog and / or digital circuits) and

[0040] (b) A combination of hardware circuit and software, such as (where applicable):

[0041] (i) A combination of analog and / or digital hardware circuit and software / firmware, and

[0042] (ii) Any part of a hardware processor (including a digital signal processor), software and memory with software, which work together to cause a device (such as a mobile phone or a server) to perform various functions and

[0043] (c) A hardware circuit and / or a processor, such as a microprocessor or a part of a microprocessor, which requires software (e.g., firmware) to operate, but the software may not be present when it is not required to operate.

[0044] This circuit definition applies to all uses of the term in this application, including in any claims. As a further example, as used in this application, the term "circuit" also encompasses an implementation of only a hardware circuit or a processor (or processors) or a part of a hardware circuit or a processor and its (or their) accompanying software and / or firmware. For example and if applicable to a particular claim element, the term "circuit" also encompasses a baseband integrated circuit or a processor integrated circuit for a mobile device or a similar integrated circuit in a server, a cellular network device or other computing or network devices.

[0045] As used herein, the term "communication network" refers to a network that complies with any suitable communication standard, such as a wireless local area network based on the 802.11 protocol, a fifth-generation (5G) system, Long Term Evolution (LTE), LTE-Advanced (LTE-A), Wideband Code Division Multiple Access (WCDMA), High Speed Packet Access (HSPA), NarrowBand Internet of Things (NB-IoT), and the like. Further, the communication between the terminal device and the network device in the communication network can be performed according to any suitable generation of communication protocol, including but not limited to the first generation (1G), second generation (2G), 2.5G, 2.75G, third generation (3G), fourth generation (4G), 4.5G, future fifth-generation (5G) New Radio (NR) communication protocol, and / or any other protocol currently known or to be developed in the future. Embodiments of the present disclosure can be applied to various communication systems. Given the rapid development of communications, there will of course also be future types of communication technologies and systems through which the present disclosure can be embodied. It should not be regarded as limiting the scope of the present disclosure to the above systems.

[0046] As used herein, the terms "network device" and "second device" refer to nodes in a communication network through which a terminal device accesses the network and receives services. The network device can refer to a base station (BS) or an access point (AP), for example, Node B (NodeB or NB), evolved Node B (eNodeB or eNB), NR next-generation base station (gNB), remote radio unit (RRU), radio header (RH), remote radio head (RRH), repeater, router, forwarder, low-power node (such as a femto base station, pico base station, etc.), depending on the terminology and technology of the application. It is allowed to define the network device as part of the gNB, for example, in the CU / DU split, in which case the network device is defined as gNB-CU or gNB-DU.

[0047] The term "terminal device" refers to any terminal device capable of wireless communication. By way of example and not limitation, a terminal device may also be referred to as a communication device, user equipment (UE), user station (SS), portable user station, mobile station (MS), or access terminal (AT). Terminal devices may include, but are not limited to, mobile phones, cellular phones, smart phones, Internet Protocol voice (VoIP) phones, wireless local loop phones, tablet computers, wearable terminal devices, personal digital assistants (PDAs), portable computers, desktop computers, image capture terminal devices such as digital cameras, game terminal devices, music storage and playback devices, in-vehicle wireless terminal devices, wireless endpoints, mobile stations, laptop embedded equipment (LEE), laptop mounted equipment (LME), USB protectors, smart devices, wireless client premise equipment (CPE), Internet of Things (IoT) devices, watches or other wearable devices, head-mounted displays (HMDs), vehicles, drones, medical devices and applications (e.g., remote surgery), industrial devices and applications (e.g., robots and / or other wireless devices operating in an industrial and / or automation processing chain environment), consumer electronic devices, devices operating on commercial and / or industrial wireless networks, etc. A terminal device may also correspond to the mobile termination (MT) part of an integrated access and backhaul (IAB) node (also referred to as a relay node). In the following description, the terms "terminal device", "communication device", "terminal", "user equipment", and "UE" may be used interchangeably.

[0048] Although the functions described herein may be performed in fixed and / or wireless network nodes in various exemplary embodiments, in other exemplary embodiments, the functions may be implemented in a user equipment device such as a cellular phone or a tablet computer or a laptop computer or a desktop computer or a mobile IoT device or a fixed IoT device. The user equipment device may, for example, be optionally equipped with corresponding capabilities as described in connection with fixed and / or wireless network nodes. The user equipment device may be a user equipment and / or a control device such as a chipset or a processor configured to control the user equipment when installed in the user equipment. Examples of such functions include a bootstrapping server function and / or a home subscriber server, which may be implemented in the user equipment device by providing software to the user equipment device, the software being configured to cause the user equipment device to perform from the viewpoint of these functions / nodes.

[0049] Figure 1 A schematic diagram of an exemplary environment of a wireless distribution system is shown. As Figure 1As shown, in the WDS 100, the master AP 104 is connected to the Internet 102 and an IPTV server (not shown) through an Ethernet port. The master AP 104 can establish a WDS link with each of the slave APs 106 and 108 on both the 2.4 GHz and 5 GHz channels, where the 5 GHz WDS link is selected for the backhaul link. The master AP 104 establishes a fronthaul link with the terminal devices 112 and 114 to transmit two video streams. The slave APs 106 and 108 establish fronthaul links with the terminal devices 116 to 128 on the 5 GHz WDS link. For example, the slave APs 106 and 108 can transmit video streams to the tablets 116, 118, 124, and 126, and provide Internet services to the mobile phones 122 and 128 respectively. When the two backhaul links and eight fronthaul links work simultaneously on the 5G channel, the mesh network 100 may face serious video stuttering problems when playing ultra-high definition (UHD) IPTV videos.

[0050] Figure 2 A schematic diagram showing the backhaul data discard process between the transmitter (TX) AP and the receiver (RX) AP in the WDS is shown. For the purpose of discussion, reference will be made to Figure 1 Describe process 200. Process 200 may involve the transmitter AP 104 and the receiver AP 106, and the 5 GHz WDS link is selected as the backhaul link. Each of the APs 104 and 106 includes at least a network stack for registering a wireless interface to transmit / receive data packets, and a backhaul transmit / receive queue dedicated to caching the backhaul data to be transmitted / received on the 5 GHz WDS link. For example, the transmitter AP 104 generates backhaul data to be transmitted to the receiver AP 106. As Figure 2 shown, the backhaul data is delivered to the network stack and cached in the backhaul transmit queue 1. Then, the transmitter AP 104 transmits the backhaul data on the 5 GHz WDS link. From the perspective of the receiver AP 106, when the backhaul data is received on the 5 GHz WDS link, the backhaul data is cached in the backhaul receive queue. Then, the backhaul data is delivered to the application of the receiver AP 106 through the network stack. However, as described above, due to the bottleneck of a single air interface, when the air interface resources are insufficient to transmit the data packets stored in the backhaul transmit queue, some of the data packets are discarded when the cache is full.

[0051] Figure 3 A schematic diagram showing another exemplary environment of the wireless distribution system is shown. As Figure 3As shown, the master AP 302 establishes WDS links with the slave APs 304 and 306 on the 2.4 GHz and 5 GHz channels, and the 5 GHz WDS link is selected for BH. Two terminal devices 308 and 312 respectively establish Wi-Fi connections with the slave APs 304 and 306 on the 5 GHz channel, and run a speed test tool to monitor the maximum throughput of the network 300. Although for an 802.11ac 80M 2*2 AP, the theoretical maximum throughput is about 600M, it is found in actual tests that the actual maximum TP is only 200M+. This is because the backhaul and fronthaul of the network work on the same channel (i.e., the 5 GHz channel), and the competition between the backhaul and fronthaul causes each of them to occupy less than 50% of the air interface resources.

[0052] In order to solve the deficiency of the air interface resources for the backhaul of multiple AP nodes, the embodiments of the present application provide a solution for implementing dual-channel backhaul in a mesh network. In the dual-channel backhaul architecture, by relying on the WDS links established on both the 2.4 GHz and 5 GHz channels, the AP can transmit data packets in parallel on the two channels for backhaul, and can make full use of the air interface resources of the two radios. Therefore, the throughput of the entire mesh network can be improved without causing network loopback problems, and the system is more stable.

[0053] Figure 4 A schematic diagram of a communication environment in which some embodiments of the present disclosure can be implemented is shown. As Figure 1 shown, the communication network 400 can be a wireless mesh network and includes a first device 410 acting as a transmitter device and a second device 420 acting as a receiver device. It should be understood that the communication network 400 may also include one or more terminal devices and network devices (not shown). The first device 410 and the second device 420 can be dual-channel AP nodes in WDS, such as a master AP and a slave AP. The first device 410 and the second device 420 can communicate with each other via two backhaul links (i.e., the 2.4 GHz WDS link and the 5 GHz WDS link). It should be understood that Figure 4 the number of devices in is given for illustrative purposes and does not imply any limitation to the present disclosure. The communication network 400 may include any suitable number of network devices and / or terminal devices adapted to implement specific embodiments of the present disclosure.

[0054] As Figure 4As shown, the first device 410 includes at least a network stack 411, also known as the Linux network stack layer, Wi-Fi drivers 412, and Wi-Fi radio modules 416 and 417. Similarly, the second device 420 includes at least a network stack 421, also known as the Linux network stack layer, Wi-Fi drivers 422, and Wi-Fi radio modules 426 and 427. The first device 410 and the second device 420 may also include a Peripheral Component Interconnect Express (PCIE) driver (not shown).

[0055] Wireless interfaces 413-1 and 413-2 are registered to the network stack 411 of the first device 410 for transmitting and receiving data packets. The Wi-Fi driver 412, also known as the Wi-Fi driver layer, includes a Wi-Fi transmission queue 414-1 on 5G and a Wi-Fi transmission queue 414-2 on 2.4G (collectively referred to as "Wi-Fi TX queue 414") and a backhaul transmission queue 415-1 on 5G and a backhaul transmission queue 415-2 on 5G (collectively referred to as "backhaul TX queue 415") for storing backhaul data packets. The logical communication between the Wi-Fi host (not shown) and the Wi-Fi radio modules 416 and 417 is performed through the Wi-Fi TX queue 414. The Wi-Fi chipset can communicate with the AP via the PCIE interface and register time slots on the PCIE driver. By registering time slots, data packets are transmitted between the Wi-Fi host and the Wi-Fi radio modules 416 and 417. The Wi-Fi radio modules 416 and 417 include Wi-Fi firmware (not shown) for implementing data modulation and demodulation. The Wi-Fi radio modules 416 and 417 can transmit data packets to the corresponding channels and receive data from the same channels through the radio frequency modules on the radio modules 416 and 417.

[0056] Similar to the above configuration of the first device 410, the wireless interfaces 423-1 and 423-2 are registered to the network stack 421 of the second device 420 for transmitting and receiving data packets. The Wi-Fi driver 422 includes a Wi-Fi receive queue 424-1 on 5G and a Wi-Fi receive queue 424-2 on 2.4G (collectively also referred to as "Wi-Fi RX queue 424") and a backhaul receive queue 425-1 on 2.4G and a backhaul receive queue 425-2 on 5G (collectively also referred to as "backhaul RX queue 425") for storing backhaul data packets. The logical communication between the Wi-Fi host (not shown) and the Wi-Fi radio modules 426 and 427 is performed through the Wi-Fi RX queue 424. The Wi-Fi chipset can communicate with the AP via the PCIE interface and register time slots on the PCIE driver. By registering time slots, data packets are transmitted between the Wi-Fi host and the Wi-Fi radio modules 426 and 427. The Wi-Fi radio modules 426 and 427 include Wi-Fi firmware (not shown) for implementing data modulation and demodulation. The Wi-Fi radio modules 426 and 427 can transmit data packets to the corresponding channels and receive data from the same channels through the radio frequency modules on the radio modules 426 and 427.

[0057] It should be understood that the first device 410 and the second device 420 are also capable of receiving and transmitting data packets on the WDS link. Therefore, the first device 410 may also include a Wi-Fi receive queue (not shown) for storing data packets received on two WDS links respectively, and a backhaul receive queue (not shown) for storing backhaul data packets filtered from the data packets stored in the Wi-Fi receive queue. Similarly, the second device 420 may also include a Wi-Fi transmit queue (not shown) for storing data packets to be transmitted on two WDS links respectively, and a backhaul transmit queue (not shown) for storing backhaul data packets filtered from the data packets stored in the Wi-Fi transmit queue. The present disclosure is not limited to this aspect.

[0058] It should also be understood that Figure 4 the number of network devices, terminal devices, and serving cells shown is given for illustrative purposes and does not imply any limitation.

[0059] Figure 5 A schematic diagram of a dual-channel backhaul architecture of a device suitable for implementing an exemplary embodiment of the present disclosure is shown. The device 500 can be considered as an exemplary embodiment of the first device 410 and the second device 420 as Figure 4 shown. Therefore, the device 500 can be implemented at or at least as part of the first device 410 and the second device 420.

[0060] AsFigure 5 As shown, device 500 can be configured with four layers, namely, the Linux network stack layer 511, the Wi-Fi driver layer 512, the PCIE driver layer 530, and the radio layer 532. Device 500 is capable of operating at dual frequencies, where wireless interfaces 513-1 and 513-2 are registered in the network stack 511. Wireless interfaces 513-1 and 513-2 are used to connect the network stack 511 to the Wi-Fi driver 512. The Wi-Fi driver layer 512 includes backhaul transmit / receive queues 515-1 and 515-2 corresponding to a first backhaul link (e.g., a 5GHz WDS link) and a second backhaul link (e.g., a 2.4GHz WDS link). Time slots 1 and 2 corresponding to the first and second backhaul links are registered with the PCIE driver layer 530. The Wi-Fi radio layer 532 includes Wi-Fi radio modules 416 and 417 for transmitting and receiving data packets on the first backhaul link and the second backhaul link, respectively.

[0061] In some embodiments, device 500 can establish WDS links with a 5GHz radio and a 2.4GHz radio and activate the 5GHz WDS link and the 2.4GHz WDS link for backhaul. In this architecture, at least a portion of the backhaul data bypasses from the backhaul transmit / receive queue 515-2 to the backhaul transmit / receive queue 515-1, and thus data packets will be transmitted on the first backhaul link (e.g., a 5GHz WDS link) and the second backhaul link (e.g., a 2.4GHz WDS link).

[0062] Reference is made below to Figures 6 to 9 a detailed description of the principles and specific implementations of the present disclosure. Figure 6 FIG. shows a flowchart of an exemplary method for dual-channel backhaul according to some exemplary embodiments of the present disclosure. In some embodiments, method 600 can be implemented at an access point device, such as Figure 4 the first device 410 shown. Additionally or alternatively, method 600 can also be implemented at Figure 4 other AP nodes not shown. For the purpose of discussion, without loss of generality, method 600 will be described with reference to Figure 4 the execution by the first device 410.

[0063] At 610, the first device 410 generates a first transmission queue including a plurality of data packets to be transmitted on the first backhaul link to the second device 420. In some embodiments, the first device 410 may establish 2.4GHz and 5GHz WDS links with the second device 420. For example, the 5GHz WDS link is initially selected for backhaul. After obtaining the backhaul data packets to be transmitted to the second device 420, the first device 410 may deliver the data packets into the network stack. The backhaul data packets are stored in the Wi-Fi transmission queue through the wireless interface corresponding to the 5GHz WDS link, and then filtered and cached in the first backhaul transmission queue specific to the 5GHz WDS link.

[0064] In some embodiments, the first device 410 may configure a plurality of data packets with a transmitter address and a receiver address associated with the first backhaul link when generating the first backhaul transmission queue. In some other embodiments, the first device 410 may also configure an index of the plurality of data packets for numbering purposes.

[0065] For example, the first device 410 may configure the sequence number of the MAC headers of the plurality of data packets. By configuring the 802.11 MAC header sequence number of the backhaul data, the backhaul data packets to be transmitted on the 2.4GHz WDS link and the 5GHz WDS link can be identified and numbered. Alternatively, the quality of service (QoS) control field of the 802.11 MAC header includes 8 - 15 unused bits. In this case, the first device 420 may configure at least one bit in the QoS field of the MAC header for numbering the backhaul data. For yet another example, an index field for numbering the backhaul data may be added to the data segment header of the backhaul data packet. Figure 7 A schematic diagram of a data numbering field in the MAC header of data according to some exemplary embodiments of the present disclosure is shown.

[0066] In the case where the air interface resources of the current backhaul link have been exhausted and the first device 410 and / or the first backhaul transmission queue of the first device 410 cannot cache more data packets, the first device 410 may bypass the excessive data packets into another channel (i.e., the second backhaul link). To this end, the first device 410 may utilize an allocation policy to determine whether to allocate the backhaul data packets from the first backhaul transmission queue to the second backhaul transmission queue.

[0067] In some embodiments, the first device 410 may determine the amount of the plurality of data packets in the first backhaul transmission queue and compare the amount with a predetermined threshold. If the amount of the backhaul data packets in the first backhaul transmission queue exceeds the predetermined threshold, the first device 410 may determine that the allocation policy is satisfied.

[0068] In some other embodiments, the first device 410 may determine the depth of the first backhaul transmission queue and compare the depth with a predetermined threshold depth. If the depth of the first backhaul transmission queue exceeds the predetermined threshold depth, the first device 410 may determine that the allocation policy is satisfied.

[0069] If the allocation policy is satisfied, then at 620, the first device 410 selects at least one data packet from the plurality of data packets. Without bypassing the at least one data packet from the first backhaul transmission queue to the second backhaul transmission queue, these data packets should have been discarded due to memory overflow.

[0070] At 630, the first device 410 generates a second backhaul transmission queue including the at least one data packet. The second transmission queue will be transmitted to the second device 420 on a second backhaul link (e.g., 2.4 GHz WDS link) different from the first backhaul link (e.g., 5 GHz WDS link).

[0071] Since each Wi-Fi radio of the first device 410 corresponds to a unique MAC address, in the case where at least a portion of the backhaul data packets in the first backhaul transmission queue are allocated to the second backhaul transmission queue, the transmitter address and receiver address of the partial backhaul data packets need to be replaced with the MAC addresses corresponding to the second backhaul link. The first device 410 may convert the transmitter address and receiver address configured with the transmission of the at least one data packet from the transmitter address and receiver address of the transmission associated with the first backhaul link to the transmitter address and receiver address of the transmission associated with the first backhaul link.

[0072] At 640, the first device 410 transmits a plurality of data packets other than the at least one data packet to the second device 420 on the first backhaul link, and transmits the at least one data packet to the second device 420 on the second backhaul link. In some embodiments, the first device 410 and the second device 420 may transmit and receive backhaul data packets based on a sliding window mechanism. For example, by setting a sliding window, the receiving device 420 may report all previously received backhaul data packets and move the sliding window after receiving the last data packet allowed by the sliding window. Additionally or alternatively, the first device 410 and the second device 420 may transmit and receive backhaul data packets based on a timeout mechanism. In this case, after receiving a backhaul data packet within the sliding window, the second device 420 may refresh the waiting time. Once the timeout is triggered and no more data packets are received, all previously received data packets will be uploaded and the sliding window will move forward.

[0073] Figure 8FIG. 0 shows a flowchart of an exemplary method for dual-channel backhaul according to some exemplary embodiments of the present disclosure. In some embodiments, method 800 may be implemented at an access point device, such as Figure 4 the second device 420 shown. Additionally or alternatively, method 800 may also be implemented at Figure 4 other AP nodes not shown in Figure 4 For the purpose of discussion, without loss of generality, method 800 will be described as performed by the first device 410.

[0074] At 810, the second device 420 receives a plurality of data packets transmitted by the first device 410 on both a first backhaul link and a second backhaul link. The first backhaul link is established at a first radio frequency (e.g., 5 GHz), and the second backhaul link is established at a second radio frequency different from the first radio frequency (e.g., 2.4 GHz).

[0075] At 820, the second device 420 generates a first receive queue including at least one data packet among the plurality of data packets received on the first backhaul link. At 830, the second device 420 generates a second receive queue including the plurality of data packets received on the second backhaul link except for the at least one data packet.

[0076] In some embodiments, the second device 420 may store the data packets received on the first backhaul link in a Wi-Fi receive queue corresponding to the first backhaul link, and store the data packets received on the second backhaul link in a Wi-Fi receive queue corresponding to the second backhaul link. After filtering, the data packets may then be cached in a backhaul receive queue specific to the first backhaul link and a backhaul receive queue specific to the second backhaul link.

[0077] At 840, the second device 420 aggregates the data packets in the second receive queue into the first receive queue. In some embodiments, the second device 420 may transfer the data packets in the second receive queue to the first receive queue in a shared memory manner. When aggregating the data packets in the first backhaul receive queue, the second device 420 may sort the data packets based on the indexes of the plurality of data packets.

[0078] In some embodiments, the second device 420 may deliver the aggregated data packets to the network stack via a wireless interface corresponding to the first backhaul link and then to the application of the second device 420.

[0079] With such a dual-channel backhaul architecture, the channel resources on both channels can be fully utilized for backhaul. In the solution proposed by the present disclosure, through an allocation strategy and a numbering scheme, a part of the data packets is bypassed from one backhaul link to another backhaul link before the air interface resources on one backhaul link are exhausted, without discarding the backhaul data. In this way, the throughput of the entire mesh network can be significantly improved and the system is more stable.

[0080] Figure 9 An exemplary signaling diagram showing an exemplary process for dual-channel backhaul according to some embodiments of the present disclosure is shown. For the purpose of discussion, reference will be made to Figure 4 and Figure 5 to describe process 800. Process 900 may involve a first device 410 and a second device 420.

[0081] At 905, the first device 410 generates a first transmission queue. The first transmission queue may include a plurality of data packets to be transmitted to the second device 420. At 910, if the first device 410 determines that the allocation strategy is satisfied, the first device 410 selects at least one data packet from the plurality of data packets. At 915, the first device 410 generates a second transmission queue. The second transmission queue includes the at least one data packet selected at 610. At 920, the first device 410 transmits a plurality of data packets other than the at least one data packet to the second device 420 on a first backhaul link, and transmits the at least one data packet to the second device 420 on a second backhaul link. The first backhaul link is established at a first radio frequency (e.g., 5 GHz), and the second backhaul link is established at a second radio frequency (e.g., 2.4 GHz). The second device 420 receives the plurality of data packets transmitted by the first device 410 on both the first backhaul link and the second backhaul link. At 925, the second device 420 generates a first reception queue. The first reception queue includes at least one data packet among the plurality of data packets received on the first backhaul link. At 930, the second device 420 generates a second reception queue. The second reception queue includes the plurality of data packets received on the second backhaul link other than the at least one data packet. At 835, the second device 420 aggregates the data packets in the second reception queue into the first reception queue.

[0082] In some exemplary embodiments, a device (e.g., the first device 410) capable of performing method 600 may include means for performing the corresponding steps of method 600. The device may be implemented in any suitable form. For example, the device may be implemented in a circuit or a software module. The device may be implemented as or included in the first device 410. In some embodiments, the device may include at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to cause the device to perform in conjunction with the at least one processor.

[0083] In some exemplary embodiments, the device includes: means for generating a first transmission queue including a plurality of data packets to be transmitted on a first backhaul link to a second device; means for selecting at least one data packet from the plurality of data packets based on a determination that an allocation policy is satisfied; means for generating a second transmission queue including the at least one data packet, the second transmission queue to be transmitted on a second backhaul link different from the first backhaul link to the second device; and means for transmitting the plurality of data packets other than the at least one data packet on the first backhaul link to the second device and transmitting the at least one data packet on the second backhaul link to the second device.

[0084] In some exemplary embodiments, the means for generating the first transmission queue includes: means for configuring a transmitter address and a receiver address associated with the first backhaul link for the plurality of data packets; and means for configuring an index for the plurality of data packets.

[0085] In some exemplary embodiments, the means for configuring the index for the plurality of data packets includes one of the following: means for configuring a sequence number of a MAC header of the plurality of data packets; means for configuring at least one bit in a quality of service field of the MAC header of the plurality of data packets; and means for adding an index field to the plurality of data packets.

[0086] In some exemplary embodiments, the means for generating the second transmission queue includes: means for converting a transmitter address and a receiver address configured for the at least one data packet from a transmitter address and a receiver address associated with the first backhaul link to a transmitter address and a receiver address associated with the second backhaul link.

[0087] In some exemplary embodiments, the device further includes: means for determining an amount of the plurality of data packets in the first transmission queue; and means for determining that the allocation policy is satisfied based on a determination that the amount of the plurality of data packets in the first transmission queue exceeds a predetermined threshold.

[0088] In some exemplary embodiments, the apparatus further comprises: means for determining the depth of the first transmission queue; and means for determining that the allocation policy is satisfied based on a determination that the depth of the first transmission queue exceeds a predetermined threshold depth.

[0089] In some exemplary embodiments, the apparatus further comprises: means for establishing a first backhaul link with the second device at a first radio frequency; means for establishing a second backhaul link with the second device at a second radio frequency different from the first radio frequency; and means for configuring the first backhaul link as active and the second backhaul link as standby.

[0090] In some exemplary embodiments, both the first device and the second device are access point devices of a wireless distribution system.

[0091] In some exemplary embodiments, a device (e.g., the second device 420) capable of performing method 800 may include means for performing the corresponding steps of method 800. The device may be implemented in any suitable form. For example, the device may be implemented in a circuit or a software module. In some embodiments, the device may include at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to cause the device to be executed in conjunction with the at least one processor. The device may be implemented as or included in the second device 420.

[0092] In some exemplary embodiments, the apparatus includes: means for receiving a plurality of data packets transmitted by a first device on both a first backhaul link and a second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; means for generating a first receive queue including at least one of the plurality of data packets received on the first backhaul link; means for generating a second receive queue including the plurality of data packets received on the second backhaul link other than the at least one data packet; and means for aggregating the data packets in the second receive queue into the first receive queue.

[0093] In some exemplary embodiments, the apparatus further comprises: means for establishing the first backhaul link with the first device at a first radio frequency; means for establishing the second backhaul link with the first device at a second radio frequency different from the first radio frequency; and means for configuring the first backhaul link as active and the second backhaul link as standby.

[0094] In some exemplary embodiments, the apparatus further includes means for transmitting the aggregated data in packets to an application of the second device.

[0095] In some exemplary embodiments, the means for aggregating the data packets in the second receive queue into the first receive queue includes: means for sorting the data packets in the first receive queue and the second receive queue based on indices of the plurality of data packets; and means for storing the sorted plurality of data packets in the first receive queue.

[0096] In some exemplary embodiments, the indices of the plurality of data packets are indicated by one of the following: a sequence number of the MAC header of the plurality of data packets; at least one bit in a quality of service field of the MAC header of the plurality of data packets; and an index field in the plurality of data packets.

[0097] In some exemplary embodiments, both the first device and the second device are access point devices of a wireless distribution system.

[0098] Embodiments of the present disclosure provide a computer program including instructions for causing a device to perform at least the following operations: generating a first transmission queue including a plurality of data packets to be transmitted to a second device on a first backhaul link; allocating at least one data packet from the plurality of data packets according to a determination that an allocation policy is satisfied; generating a second transmission queue including the at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; and transmitting the plurality of data packets except the at least one data packet to the second device on the first backhaul link, and transmitting the at least one data packet to the second device on the second backhaul link.

[0099] Embodiments of the present disclosure provide a computer program including instructions for causing a device to perform at least the following operations: receiving a plurality of data packets transmitted by a first device on both a first backhaul link and a second backhaul link, the first backhaul link being established with a first radio frequency and the second backhaul link being established with a second radio frequency different from the first radio frequency; generating a first receive queue including at least one data packet of the plurality of data packets received on the first backhaul link; generating a second receive queue including the plurality of data packets received on the second backhaul link except the at least one data packet; and aggregating the data packets in the second receive queue into the first receive queue.

[0100] Embodiments of the present disclosure provide a computer-readable medium including program instructions for causing a device to at least perform the following: generating a first transmission queue including a plurality of data packets to be transmitted to a second device on a first backhaul link; allocating at least one data packet among the plurality of data packets according to a determination that an allocation policy is satisfied; generating a second transmission queue including the at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; and transmitting the plurality of data packets other than the at least one data packet to the second device on the first backhaul link and transmitting the at least one data packet to the second device on the second backhaul link.

[0101] Embodiments of the present disclosure provide a computer-readable medium including program instructions for causing a device to at least perform the following: receiving a plurality of data packets transmitted by a first device on both a first backhaul link and a second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; generating a first reception queue including at least one data packet among the plurality of data packets received on the first backhaul link; generating a second reception queue including the plurality of data packets other than the at least one data packet received on the second backhaul link; and aggregating the data packets in the second reception queue into the first reception queue.

[0102] Embodiments of the present disclosure provide a non-transitory computer-readable medium including program instructions for causing a device to at least perform the following: generating a first transmission queue including a plurality of data packets to be transmitted to a second device on a first backhaul link; allocating at least one data packet from the plurality of data packets according to a determination that an allocation policy is satisfied; generating a second transmission queue including the at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; and transmitting the plurality of data packets other than the at least one data packet to the second device on the first backhaul link and transmitting the at least one data packet to the second device on the second backhaul link.

[0103] Embodiments of the present disclosure provide a non-transitory computer-readable medium including program instructions for causing a device to at least perform the following: receiving a plurality of data packets transmitted by a first device on both a first backhaul link and a second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; generating a first receive queue including at least one of the plurality of data packets received on the first backhaul link; generating a second receive queue including the plurality of data packets received on the second backhaul link except for the at least one data packet; and aggregating the data packets in the second receive queue into the first receive queue.

[0104] Figure 10 FIG. 4 is a simplified block diagram of a device 1000 suitable for implementing embodiments of the present disclosure. The device 1000 may be provided to implement a communication device, e.g., a first device 410 and a second device 420 as shown in Figure 4 FIG. 4. As shown, the device 1000 includes one or more processors 1010, one or more memories 1040 coupled to the processors 1010, and one or more transmitters and / or receivers (TX / RX) 1040 coupled to the processors 1010.

[0105] The TX / RX 1040 is for bi-directional communication. The TX / RX 1040 has at least one antenna to facilitate communication. The communication interface may represent any interface necessary for communicating with other network elements.

[0106] The processor 1010 may be of any type suitable for a local technical network and may include one or more of the following, as non-limiting examples: a general-purpose computer, a special-purpose computer, a microprocessor, a digital signal processor (DSP), and a processor based on a multi-core processor architecture. The device 1000 may have multiple processors, such as an application specific integrated circuit chip that is time-dependent on a clock of a synchronous master processor.

[0107] The memory 1020 may include one or more non-volatile memories and one or more volatile memories. Examples of non-volatile memories include, but are not limited to, read-only memory (ROM) 1024, electrically programmable read-only memory (EPROM), flash memory, hard disk, compact disc (CD), digital video disc (DVD), and other magnetic storage devices and / or optical storage devices. Examples of volatile memories include, but are not limited to, random access memory (RAM) 1022 and other volatile memories that do not persist during a power-down duration.

[0108] The computer program 1030 includes computer-executable instructions executed by an associated processor 1010. The program 1030 can be stored in the ROM 1020. The processor 1010 can perform any suitable actions and processes by loading the program 1030 into the RAM 1020.

[0109] Embodiments of the present disclosure can be implemented by the program 1030 such that the device 1000 can execute references Figure 6 and Figure 8 any of the processes of the present disclosure discussed. Embodiments of the present disclosure can also be implemented by hardware or by a combination of software and hardware.

[0110] In some embodiments, the program 1030 can be tangibly embodied in a computer-readable medium, which can be included in the device 1000 (such as in the memory 1020) or in other storage devices accessible to the device 1000. The device 1000 can load the program 1030 from the computer-readable medium into the RAM 1022 for execution. The computer-readable medium can include any type of tangible non-volatile memory, such as ROM, EPROM, flash memory, hard disk, CD, DVD, etc. Figure 11 An example of a computer-readable medium 1100 in the form of a CD or DVD is shown. The computer-readable medium has the program 1030 stored thereon.

[0111] Generally, the various embodiments of the present disclosure can be implemented in hardware or in special-purpose circuits, software, logic, or any combination thereof. Some aspects can be implemented in hardware, while other aspects can be implemented in firmware or software, which can be executed by a controller, a microprocessor, or other computing devices. Although the various aspects of the embodiments of the present disclosure are shown and described as block diagrams, flowcharts, or using some other graphical representation, it should be understood that, by way of non-limiting example, the blocks, devices, systems, techniques, or methods described herein can be implemented in hardware, software, firmware, special-purpose circuits or logic, general-purpose hardware or a controller or other computing devices, or some combination thereof.

[0112] The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer-readable storage medium. The computer program product includes computer-executable instructions, such as instructions included in program modules, which are executed on a target real or virtual processor in a device to perform as described above with reference to Figure 6 and Figure 8The methods 600 and 800 described. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The functionality of program modules may be combined or split among program modules as needed in various embodiments. The machine-executable instructions of program modules may be executed within local or distributed devices. In a distributed device, program modules may be located in local and remote storage media.

[0113] Program code for performing the methods of the present disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing device such that the program code, when executed by the processor or controller, causes the functions / operations specified in the flowchart and / or block diagram to be implemented. The program code may execute entirely on the machine, execute partly on the machine as a stand-alone software package, execute partly on the machine and partly on a remote machine, or execute entirely on the remote machine or server.

[0114] In the context of the present disclosure, computer program code or related data may be carried by any suitable carrier such that a device, apparatus, or processor can perform the various processes and operations described above. Examples of carriers include signals, computer-readable media, etc.

[0115] A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable medium may include, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a computer-readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0116] Furthermore, although operations are described in a particular order, this should not be construed as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed to obtain the desired result. In some cases, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features specific to particular embodiments. Certain features described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments.

[0117] Although the present disclosure has been described in language specific to structural features and / or methodological acts, it is to be understood that the disclosure defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as exemplary forms of implementing the claims.

Claims

1. A first device for communication, comprising: At least one processor; And At least one memory, the at least one memory including computer program code; The at least one memory and the computer program code are configured to, together with the at least one processor, cause the first device to: Generate a first transmission queue including a plurality of data packets to be transmitted to a second device on a first backhaul link; Select at least one data packet from the plurality of data packets according to a determination that meets an allocation policy; Generate a second transmission queue including the selected at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; And Transmit the plurality of data packets except the selected at least one data packet to the second device on the first backhaul link, and simultaneously transmit the selected at least one data packet to the second device on the second backhaul link; Wherein the first device generates the first transmission queue by: Configuring a transmitter address and a receiver address associated with the first backhaul link for the plurality of data packets; and Configuring an index for the plurality of data packets; Wherein the first device generates the second transmission queue by: Converting the transmitter address and the receiver address configured for the selected at least one data packet from the transmitter address and the receiver address associated with the first backhaul link to the transmitter address and the receiver address associated with the second backhaul link.

2. The first device according to claim 1, wherein the first device is caused to configure the index for the plurality of data packets by one of the following: Configuring a sequence number of the MAC header of the plurality of data packets; Configuring at least one bit in a quality of service field of the MAC header of the plurality of data packets; and Adding an index field to the plurality of data packets.

3. The first device according to claim 1, wherein the first device is further caused to: Determine an amount of the plurality of data packets in the first transmission queue; Determine that the allocation policy is met according to a determination that the amount of the plurality of data packets in the first transmission queue exceeds a predetermined threshold.

4. The first device according to claim 1, wherein the first device is further caused to: Determine a depth of the first transmission queue; and Determine that the allocation policy is met according to a determination that the depth of the first transmission queue exceeds a predetermined threshold depth.

5. The first device according to claim 1, wherein the first device is further caused to: Establish the first backhaul link with the second device at a first radio frequency; Establish the second backhaul link with the second device at a second radio frequency different from the first radio frequency; And Configure the first backhaul link as active and configure the second backhaul link as standby.

6. The first device according to claim 1, wherein both the first device and the second device are access point devices of a wireless distribution system.

7. The first device according to claim 1, wherein the first device is further caused to: Receive a plurality of data packets transmitted simultaneously by the second device on both a first backhaul link and a second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; Generate a first receive queue including at least one of the plurality of data packets received on the first backhaul link; Generate a second receive queue including the plurality of data packets received on the second backhaul link except for the at least one data packet; And Aggregate the data packets in the second receive queue into the first receive queue.

8. The first device according to claim 7, wherein the first device is further caused to: Establish the first backhaul link with the second device at a first radio frequency; Establish the second backhaul link with the second device at a second radio frequency different from the first radio frequency; And Configure the first backhaul link as active and configure the second backhaul link as standby.

9. The first device according to claim 7, wherein the first device is further caused to: Transmit the aggregated data packets to an application of the first device.

10. The first device according to claim 7, wherein the first device causes the data packets in the second receive queue to be aggregated into the first receive queue by: Sorting the data packets in the first receive queue and the second receive queue based on an index of the plurality of data packets; and Storing the sorted plurality of data packets in the first receive queue.

11. The first device according to claim 10, wherein the index of the plurality of data packets is indicated by one of the following: The sequence number of the MAC header of the plurality of data packets; At least one bit in the quality of service field of the MAC header of the plurality of data packets; and An index field in the plurality of data packets.

12. The first device according to claim 7, wherein the first device and the second device are both access point devices of a wireless distribution system.

13. A method for communication, comprising: At a first device, generate a first transmission queue including a plurality of data packets to be transmitted to a second device on a first backhaul link; Select at least one data packet from the plurality of data packets according to a determination that satisfies an allocation policy; Generate a second transmission queue including the selected at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; And Transmit the plurality of data packets except for the selected at least one data packet to the second device on the first backhaul link and simultaneously transmit the selected at least one data packet to the second device on the second backhaul link; Wherein generating the first transmission queue includes: Configure a transmitter address and a receiver address associated with the first backhaul link for the plurality of data packets; and Configure an index for the plurality of data packets; Wherein generating the second transmission queue includes: Convert the transmitter address and the receiver address configured for the selected at least one data packet from the transmitter address and the receiver address associated with the first backhaul link to the transmitter address and the receiver address associated with the second backhaul link.

14. The method according to claim 13, wherein configuring the index of the plurality of data packets includes one of the following; Configure the sequence number of the MAC header of the plurality of data packets; Configure at least one bit in the quality of service field of the MAC header of the plurality of data packets; and Add an index field to the plurality of data packets.

15. The method according to claim 13, further comprising: Determine the quantity of the plurality of data packets in the first transmission queue; Determine that the allocation policy is satisfied based on the determination that the quantity of the plurality of data packets in the first transmission queue exceeds a predetermined threshold queue depth.

16. The method according to claim 13, further comprising: Determine the depth of the first transmission queue; And Determine that the allocation policy is satisfied based on the determination that the depth of the first transmission queue exceeds a predetermined threshold queue depth.

17. The method according to claim 13, further comprising: Establish a first backhaul link with the second device at a first radio frequency; Establish the second backhaul link with the second device at a second radio frequency different from the first radio frequency; And Configure the first backhaul link as active and configure the second backhaul link as standby.

18. The method according to claim 13, wherein the first device and the second device are both access point devices of a wireless distribution system.

19. The method according to claim 13, further comprising: At the first device, receive a plurality of data packets transmitted simultaneously by the second device on both the first backhaul link and the second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; Generate a first receive queue including at least one of the plurality of data packets received on the first backhaul link; Generate a second receive queue including the plurality of data packets received on the second backhaul link except for the at least one data packet; And Aggregate the data packets in the second receive queue into the first receive queue.

20. The method according to claim 19, further comprising: Establish the first backhaul link with the second device at a first radio frequency; Establish the second backhaul link with the second device at a second radio frequency different from the first radio frequency; And Configure the first backhaul link as active and configure the second backhaul link as standby.

21. The method according to claim 19, further comprising: Transmit the aggregated data packets to an application of the first device.

22. The method according to claim 19, wherein the first device aggregates the data packets in the second receive queue into the first receive queue by: sorting the data packets in the first receive queue and the second receive queue based on the indexes of the plurality of data packets; and storing the sorted plurality of data packets in the first receive queue.

23. The method according to claim 22, wherein the indexes of the plurality of data packets are indicated by one of the following: the sequence numbers of the MAC headers of the plurality of data packets; at least one bit in the quality of service field of the MAC headers of the plurality of data packets; and index fields in the plurality of data packets.

24. The method according to claim 19, wherein the first device and the second device are both access point devices of a wireless distribution system.

25. A device for communication, comprising: means for generating, at a first device, a first transmission queue including a plurality of data packets to be transmitted to a second device on a first backhaul link; means for selecting at least one data packet from the plurality of data packets according to a determination that meets an allocation policy; means for generating a second transmission queue including the selected at least one data packet, the second transmission queue to be transmitted to the second device on a second backhaul link different from the first backhaul link; and means for transmitting, on the first backhaul link, the plurality of data packets other than the selected at least one data packet to the second device and, simultaneously, transmitting the selected at least one data packet to the second device on the second backhaul link; wherein the means for generating the first transmission queue comprises: means for configuring the plurality of data packets with a transmitter address and a receiver address associated with the first backhaul link; and means for configuring indexes of the plurality of data packets; wherein the means for generating the second transmission queue comprises: means for converting the transmitter address and the receiver address configured for the selected at least one data packet from the transmitter address and the receiver address associated with the first backhaul link to the transmitter address and the receiver address associated with the second backhaul link.

26. A wireless distribution system, comprising: a first device according to any one of claims 1-6; and a second device, the second device comprising: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code are configured to, with the at least one processor, cause the second device to: receive a plurality of data packets transmitted simultaneously by the first device on both a first backhaul link and a second backhaul link, the first backhaul link being established at a first radio frequency and the second backhaul link being established at a second radio frequency different from the first radio frequency; generate a first receive queue including at least one data packet of the plurality of data packets received on the first backhaul link; Generate a second receive queue that includes the plurality of data packets received on the second feedback link, excluding the at least one data packet; and Aggregate the data packets in the second receive queue into the first receive queue.

27. A non-transitory computer-readable medium comprising program instructions for causing a device to at least perform the following operations: Generate a first transmission queue that includes a plurality of data packets to be transmitted to a second device on a first feedback link; Select at least one data packet from the plurality of data packets based on a determination that satisfies an allocation policy; Generate a second transmission queue that includes the selected at least one data packet, the second transmission queue to be transmitted to the second device on a second feedback link different from the first feedback link; And Transmit the plurality of data packets excluding the selected at least one data packet to the second device on the first feedback link and, simultaneously, transmit the selected at least one data packet to the second device on the second feedback link; Wherein generating the first transmission queue includes: Configure a transmitter address and a receiver address associated with the first feedback link for the plurality of data packets; and Configure an index for the plurality of data packets; Wherein generating the second transmission queue includes: Convert the transmitter address and the receiver address configured for the selected at least one data packet from the transmitter address and the receiver address associated with the first feedback link to the transmitter address and the receiver address associated with the second feedback link.

28. The non-transitory computer-readable medium according to claim 27, further comprising program instructions for causing the device to at least perform the following operations: Receive a plurality of data packets transmitted by the second device simultaneously on both a first feedback link and a second feedback link, the first feedback link being established at a first radio frequency and the second feedback link being established at a second radio frequency different from the first radio frequency; Generate a first receive queue that includes at least one data packet of the plurality of data packets received on the first feedback link; Generate a second receive queue that includes the plurality of data packets received on the second feedback link, excluding the at least one data packet; And Aggregate the data packets in the second receive queue into the first receive queue.

Citation Information

Patent Citations

  • Wireless mesh double-frequency backhaul performance optimization method, server and storage medium

    CN111132197A

  • Method and apparatus for improving quality of service over meshed bachaul facilities in a wireless network

    US20060083186A1

  • Hybrid mesh network

    US20150055506A1