Resource Unit Allocation in Mesh Networks

By identifying the device bandwidth requirements in the mesh network and dynamically allocating resource units (RUs), data buffering and bottleneck problems caused by channel sharing in the mesh network are solved, and more efficient bandwidth management and network throughput are achieved.

CN115245022BActive Publication Date: 2025-08-12CISCO TECHNOLOGY INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180018587.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-04
Filing Date
2021-03-03
Publication Date
2025-08-12
Estimated Expiration
2041-03-03

AI Technical Summary

Technical Problem

In mesh networks, devices share channels lead to data buffer accumulation and service flow bottlenecks, especially in devices with lower priority in competition or devices receiving data. As network size and complexity increase, service flow bottlenecks are prominent.

Method used

By identifying devices and their bandwidth requirements in a mesh network, dynamic allocation of resource units (RUs) based on demand, optimize bandwidth allocation within a shared channel, including backhaul and access connections, and manage bandwidth allocation using a wireless LAN controller (WLC) to achieve fair and efficient resource allocation.

Benefits of technology

It realizes fair distribution of bandwidth in mesh networks, reduces bottlenecks, supports larger network deployments, and improves overall network throughput and service flow efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115245022B_ABST
    Figure CN115245022B_ABST
Patent Text Reader

Abstract

Resource unit (RU) allocation in a mesh network is provided by: identifying devices in the mesh network that communicate wirelessly on a shared channel, the devices including a first access point (AP), a second AP, and a third AP, the second AP communicating wirelessly with the first AP via a first backhaul connection, and the third AP communicating wirelessly with the first AP via a second backhaul connection; determining a first demand for bandwidth in the shared channel on the first backhaul connection and a second demand for bandwidth on the second backhaul connection; and allocating resource units (RU) to the first backhaul connection based on the first demand relative to a total bandwidth demand in the shared channel, and allocating resource units (RU) to the second backhaul connection based on the second demand relative to the total bandwidth demand in the shared channel, wherein the total bandwidth demand includes the first demand and the second demand.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments presented in this disclosure generally relate to wireless network management. More specifically, embodiments disclosed herein provide demand-based bandwidth management in mesh networks. Background Art

[0002] In a mesh network, several devices share a channel and compete for access to the shared channel, so that only one device is transmitting at any given time. This can cause data to accumulate in the device's buffer, particularly in devices that are given lower priority in the competition or in devices that receive data from multiple devices. Consequently, various traffic bottlenecks may arise at one or more access points (APs) in the mesh network, particularly as the size and complexity of the mesh network grow. BRIEF DESCRIPTION OF THE DRAWINGS

[0003] In order that the above-mentioned features of the present disclosure can be understood in detail, a more particular description of the disclosure, which has been briefly summarized above, may be given by reference to embodiments, some of which are illustrated in the accompanying drawings. It should be noted, however, that the drawings illustrate typical embodiments and are therefore not to be considered limiting; other equally effective embodiments are also contemplated.

[0004] Figure 1 An example mesh network deployment is shown according to an embodiment of the present disclosure.

[0005] Figures 2A to 2C A hierarchy of a mesh network is shown, showing various bandwidth allocations for wireless connections, according to an embodiment of the present disclosure.

[0006] Figure 3 Schematic diagram showing the signaling scope related to over-allocated RUs according to an embodiment of the present disclosure.

[0007] Figure 4 is a flowchart of a method 400 for RU allocation in a mesh network according to an embodiment of the present disclosure.

[0008] Figure 5 The hardware of a computing device according to an embodiment of the present disclosure is shown.

[0009] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the several figures. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation. DETAILED DESCRIPTION

[0010] Overview

[0011] One embodiment presented in the present disclosure provides a method, comprising: identifying a device in a mesh network that performs wireless communications on a shared channel, the device comprising a first access point (AP), a second AP, and a third AP, the second AP performing wireless communications with the first AP via a first backhaul connection, and the third AP performing wireless communications with the first AP via a second backhaul connection; determining a first demand for bandwidth in the shared channel on the first backhaul connection and a second demand for bandwidth on the second backhaul connection; and allocating resource units (RUs) to the first backhaul connection based on the first demand relative to a total bandwidth demand in the shared channel, and allocating resource units (RUs) to the second backhaul connection based on the second demand relative to the total bandwidth demand in the shared channel, wherein the total bandwidth demand includes the first demand and the second demand.

[0012] One embodiment presented in the present disclosure provides a mesh network operating on a shared channel, comprising: a root access point (RAP), the root access point (RAP) being connected to a wireless controller; a first mesh access point (MAP), wherein the first MAP: directly communicates with the RAP via a first backhaul connection; directly communicates with a first user equipment device (UED) via a first access connection, the first UED being associated with the first MAP; and directly communicates with a second UED via a second access connection, the second UED being associated with the first MAP; a second MAP, wherein the second MAP: directly communicates with the RAP via a second backhaul connection; and wherein the wireless controller is configured to: allocate resource units (RUs) to the first backhaul connection, the second backhaul connection, the first access connection, and the second access connection based on relative transmission needs of individual connections among the first backhaul connection, the second backhaul connection, the first access connection, and the second access connection, relative to an overall bandwidth requirement including the first backhaul connection, the second backhaul connection, the first access connection, and the second access connection.

[0013] One embodiment presented in the present disclosure provides a wireless local area network (LAN) controller (WLC) comprising: a processor; and a memory storage device comprising instructions that, when executed by the processor, enable the WLC to perform the following operations: receive demand information from a plurality of access points (APs) comprising a mesh network; and allocate resource units (RUs) to the plurality of APs based on the demand information and based on individual bandwidth demands from individual ones of the plurality of APs relative to an aggregate bandwidth demand from the plurality of APs.

[0014] Example Embodiments

[0015] The present disclosure provides for the management of how bandwidth is distributed in a mesh network. In various embodiments, the present disclosure allows for a more need-based distribution of network resources that results in fewer bottlenecks and the potential for larger-scale deployment of mesh networks. By allocating resource units (RUs) within available channels based on demand, bandwidth can be fairly distributed deep within the mesh network. For example, the RU space can be divided between individual connections based on the expected traffic on the individual connections, and the RU space can be periodically (e.g., every X milliseconds / seconds / minutes) reallocated in response to a device joining / leaving the mesh network (or another event) or observed load (e.g., a buffer status report indicating that the device's buffer is filling up) so that network resources are fairly distributed throughout the mesh network.

[0016] As discussed herein, a RU describes a portion of a wireless spectrum that is won or allocated by a given device for communications conducted by a given device during a given time period. Based on the needs of the device that won the RU or was allocated the RU, the RU can be used for uplink communications, downlink communications, or both (e.g., duplex communications). Since several devices in a mesh network use a shared channel of the wireless spectrum for communication, the RU can assign all or a portion of the available spectrum of a selected channel to one or more devices at a given time. Subportions of a channel or spectrum can be allocated to different devices for different purposes (e.g., uplink versus downlink), and various communication standards and / or channels can allow different numbers of subportions to be used at a given time. Although the present disclosure generally provides examples of RUs that do not specify a time length or a number of subchannels or subcarriers (where a given RU can be a different time length or a different number of subchannels than a subsequent RU), the present disclosure is applicable to such networking standards or deployments where a specified time length or a specified number of subchannels or subcarriers is applied to all or part of the RUs.

[0017] In addition to the payload of transmitted data, the RU may also include various defined parts related to the guard interval, interframe space, and error correction / mitigation, etc., and one of ordinary skill in the art will be able to format the RU according to the relevant communication standards. Therefore, the present disclosure contemplates RUs distributed and formatted according to various schemes and communication standards.

[0018] Figure 1 An example mesh network deployment 100 is shown in accordance with an embodiment of the present disclosure. Several APs 110a-d (collectively, APs 110) provide network connectivity to each other and to various user equipment devices (UEDs) 120a-c (collectively, UEDs 120). Figure 1One deployment of a partially connected mesh network is shown, and the present disclosure can be applied to other deployments having different arrangements that may include more or fewer APs 110 and UEs 120, including fully connected deployments where every node can communicate with every other node.

[0019] AP 110 may include various networking devices configured to provide wireless networks according to various networking standards or radio access technologies (RATs), such as IEEE 802.11 or “WIFI” networks, Networks, "cellular" (including its various generations and subtypes, such as Long Term Evolution (LTE) and Fifth Generation New Radio (5G NR)) networks, Citizens Broadband Radio Service (CBRS) networks, and proprietary networks. About Figure 5 Example hardware that may be included in AP 110 is discussed in greater detail.

[0020] Similarly, UED 120 may include any computing device configured to wirelessly connect to one or more APs 110. Example UED 120 may include, but is not limited to, smartphones, feature phones, tablet computers, laptop computers, desktop computers, and Internet of Things (IoT) devices. Various standards may refer to UED 120 as a client device, user equipment, or mobile station (STA). Figure 5 Example hardware that may be included in UED 120 is discussed in more detail.

[0021] The specific APs 110 in the mesh network deployment 100 include a root AP (RAP) 111 and one or more mesh APs (MAPs) 112. The RAP 111 (e.g., the first AP 110a) is connected to a wireless local area network (LAN) controller (WLC) 130 and provides a wired link for all wireless traffic on the mesh network to be transmitted out of the network (e.g., to an external network such as the Internet via a wired channel). The MAPs 112 (e.g., the second AP 110b through the fourth AP 110d) provide forwarding services from the UEs 120 and / or other MAPs 112 to the RAPs 111 and / or to other devices within the mesh network. For example, the communication path of the third UE 120c to the external network may include the fourth AP 110d, the third AP 110c, and the first AP 110a. In an additional example, the communication path of the third UE 120c to the first UE 120a may include the fourth AP 110d and the third AP 110c.

[0022] The WLC 130 manages the configuration of the APs 110 in the mesh network to ensure that the APs 110 do not interfere with each other and that traffic is properly formatted for routing within the mesh network. In various embodiments, the WLC 130 can control the power level at which the various APs 110 broadcast and can allocate various RUs to the APs 110 (and / or the UEDs 120 associated with those APs 110) to load balance the APs 110 and / or the available spectrum used by the mesh network. In various embodiments, the WLC 130 allocates RUs for communication between devices in the mesh network. In some embodiments, the WLC 130 is connected to the RAP 111 through a wired connection and / or a network switch. Figure 5 Example hardware that may be included in WLC 130 is discussed in greater detail.

[0023] In various embodiments, UEDs 120 may communicate directly with AP 110 or with a Workgroup Bridge (WGB) 140, which provides wireless connectivity to UEDs 120 connected to WGB 140 via a wired link. For example, a user may connect a desktop computer without an integrated wireless communication interface to WGB 140 via an Ethernet cable to connect to a wireless network using the wireless communication interface of WGB 140. In various embodiments, WGB 140 may provide access to a wireless network to one or more UEDs 120 and act as a wired access point that manages and directs traffic to and from each connected UED 120, providing wireless access connectivity to wired clients via a single wireless connection to AP 110. Regardless of the number of UEDs 120 wired to WGB 140, AP 110 wirelessly connected to WGB 140 treats WGB 140 as a single wireless client. The UED 120 and the WGB 130 may be collectively referred to as client devices. Figure 5 Example hardware that may be included in WGB 140 is discussed in greater detail.

[0024] Figures 2A to 2C A mesh network hierarchy 200 is shown, which is based on Figure 1 A mesh network deployment 100 is shown, showing various bandwidth allocations for wireless connections. Although shown as duplex connections, in various embodiments, bandwidth allocations are provided for uplink connections and / or downlink connections. In various embodiments, the mesh network may use a first shared channel for connections of a first directionality (e.g., uplink) and a second shared channel for connections of a second directionality (e.g., downlink), so that a single mesh network may provide several allocations of RUs on different shared channels based on the different needs of the devices for uplink communication or downlink communication. In addition, when two or more shared channels are used (e.g., one for uplink and two for downlink), the WLC 130 can allocate different percentages of RU space in individual shared channels based on the required bandwidth directionality (e.g., uplink demand versus downlink demand).

[0025] The connections between devices can generally be categorized as backhaul connections 210a-c between APs 110 (collectively referred to as backhaul connections 210), or access connections 220a-e (collectively referred to as access connections 220) between APs 110 and UEDs 120 or WGBs 140. Access connections 220 typically carry downlink traffic (i.e., from APs 110 to receiving UEDs 120 or WGBs 140) and / or uplink traffic (i.e., from transmitting UEDs 120 or WGBs 140 to APs 110), while backhaul connections 210 carry traffic between APs 110 in a mesh network.

[0026] Figure 2A A first RU allocation 201 is shown, which provides RUs in the mesh network based on the bandwidth requirements of individual nodes. Because the amount of traffic flowing out of or into the mesh network is typically higher closer to the RAP 111 / first AP 110a (e.g., due to the aggregation of outgoing traffic and the spreading of incoming traffic), a larger amount of RU space is typically allocated to connections closer to the RAP 111 / first AP 110a than to child nodes farther away from the RAP 111 / first AP 110a. However, these RU allocations are not based on the hierarchy of nodes in the mesh network, but rather on the relative demand for bandwidth for communication.

[0027] like Figure 2A As shown, the RU space is allocated such that: the first backhaul connection 210a is allocated 20%, the second backhaul connection 210b is allocated 40%, and the third backhaul connection is allocated 15%. The first backhaul connection 210a and the second backhaul connection 220a are both between the first AP 110a and the AP 110 one hop away (e.g., the second AP 110b and the third AP 110c, respectively), but the first backhaul connection 210a and the second backhaul connection 220a are allocated different amounts of bandwidth based on the bandwidth requirements reported from these APs 110. The bandwidth requirements of an individual node include metrics for the priority of the traffic to be sent (e.g., based on the priority level of the user, device, or application), the amount of traffic to be sent, and the length of time that traffic has been buffered for transmission (e.g., the buffer on a given AP 110 is filled). The individual demand for bandwidth is compared with the network-wide demand for bandwidth so that RUs are allocated overall on the mesh network to obtain optimal traffic flow.

[0028] Figure 2BA second RU allocation 202 is shown that provides RUs in the mesh network based in part on traffic flows in the mesh network that isolate traffic deep within the mesh network hierarchy. In various embodiments, based on the desire that downstream traffic be carried on backhaul connections 210, the portion of RU space allocated to these backhaul connections 210 is greater than or equal to the RU space allocated to downstream connections (e.g., backhaul connections 210 and / or access connections to nodes deeper in the mesh network). However, when a portion of the traffic within the mesh network is peer-to-peer and does not need to be propagated to external networks or APs 110 higher in the network hierarchy, the bandwidth requirements of a given MAP 112 (or series of MAPs 112) may be higher than the bandwidth requirements of connections higher in the network hierarchy. Thus, the backhaul connection 210 to a given MAP 112 is allocated less RU space than the total downstream connections from the given MAP 112 without degrading traffic flow in the network and potentially improving traffic flow in the network.

[0029] For example, relative to Figure 2B The second RU in the allocation 202 to Figure 2A The first RU allocation 201 is considered. Figure 2A In the example, the RU allocations for the fourth access connection 220d and the fifth access connection 220e are each set to 2.5% of the RU space, while in Figure 2B In the example, the RU allocations for the fourth access connection 220d and the fifth access connection 220e are each set to 20% of the RU space. Figure 2A In FIG, the RU allocation for the third backhaul connection 210c is greater than the RU allocation for the access connection 220 originating from the fourth AP 110d (15% > 2.5% + 2.5%), and the RU allocation for the second backhaul connection 210b is greater than the RU allocation for the total downstream connections originating from the third AP 110c (e.g., 50% > 5% + 5% + 15% + 2.5% + 2.5%). In contrast, in Figure 2B , the RU space allocated to the third backhaul connection 210c and the second backhaul connection 210b is less than the RU space allocated to the downstream connections (e.g., 10% < 20% + 20% and 25% < 5% + 10% + 5% + 20% + 20%, respectively).

[0030] Figure 2BThe example RU allocation 202 in FIG. 2 can provide optimal traffic flow when the bandwidth requirements of higher-level nodes are lower than the bandwidth requirements of lower-level nodes due to the isolation of traffic in lower levels. For example, when the fourth UE 120 d and the fifth UE 120 e send data to each other via the fourth AP 110 d without passing through higher levels of the mesh network (e.g., the traffic does not pass through the third AP 110 c or the first AP 110 a), the RU space portion allocated to the fourth access connection 220 d and the fifth access connection 220 e can be greater than the RU space portion allocated to the third backhaul connection 210 c. In other words, the demand for a traffic flow between the fourth UE 120d and the fifth UE 120e does not necessarily bring about the demand for a traffic flow between the fourth AP 110d and the third AP 110c (or between the third AP 110c and the first AP 110a), and therefore the third backhaul connection 210c does not need to be responsible for the traffic (and thus the second backhaul connection 210b does not need to be responsible for the traffic) unless the traffic is expected to be carried on the corresponding backhaul connection. Therefore, when determining the bandwidth requirements in the mesh network, the traffic flow (e.g., the source node, the destination node, and any intermediate nodes) can also be included. Thus, the WLC 130 can avoid allocating RU space to a backhaul connection 210 that is not expected to carry the traffic to a different AP 110 at a higher level in the mesh network, thereby freeing up RU space for use by devices that can use the RU space.

[0031] Figure 2C A third RU allocation 203 is shown that provides for over-assignment of RUs in the mesh network based in part on the location and transmission range of devices within the mesh network. Because RUs allow for subdivision of a shared channel, WLC 130 can allocate portions of the shared channel two or more times when the devices using those portions are out of signaling range of each other. For example, Figure 2CAs shown, when the first UE 120a is out of communication range of the WGB 140, the fourth UE 120d, and the fifth UE 120e, the bandwidth used by the first UE 120a can be reused by the WGB 140, the fourth UE 120d, and / or the fifth UE 120e. Thus, although the WLC 130 has allocated 120% of the available bandwidth to the entire hierarchy 200, the network can be understood as describing two subsets of devices, each using 100% (or less) of the available bandwidth for that subset. Because signals between the first AP 110a and the first UE 120a cannot be received by the subset of devices including the WGB 140, the fourth UE 120d and / or the fifth UE 120e, 20% of the available bandwidth allocated to communications between the first AP 110a and the first UE 120a may also be used by the WGB 140, the fourth UE 120d and / or the fifth UE 120e.

[0032] Figure 3 Figure 2 illustrates the signaling range associated with over-allocated RUs according to an embodiment of the present disclosure. Because individual devices of a mesh network can be distributed throughout a large geographic area, two or more devices at separate locations that are out of signaling range of each other (or the intended receiving device) can simultaneously use the same subcarriers of a shared channel with little or no risk of interfering with each other's communications.

[0033] like Figure 3 As shown, first AP 110a has a first range 310a (generally referred to as range 310), second AP 110b and first UE 120a are within first range 310a, and second UE 120b is not within first range 310a. Second AP 110b has a second range 310b, first AP 110a and second UE 120b are within second range 310b, and first UE 120a is not within second range 310b. First UE 120a has a third range 310c that does not include second UE 120b or second AP 110b, and second UE 120b has a fourth range 310d that does not include first UE 120a or first AP 110a.

[0034] Thus, a first signaling path 320a (generally referred to as signaling path 320) between the first AP 110a and the first UE 120a is spatially isolated or geographically distinct from a second signaling path 320b between the second AP 110b and the second UE 120b. In other words, due to the locations of the devices and the extent of the associated range 310, the first AP 110a is able to send and receive signals with the second AP 110b and the first UE 120a, but not with the second UE 120b; whereas the second AP 110b is able to send and receive signals with the first AP 110a and the second UE 120b, but not with the first UE 120a. Similarly, due to the location of the devices and the breadth of the associated range 310, the first UE 120a is able to send and receive signals with the first AP 110a, but not with the second AP 110b or the second UE 120b; and, the second UE 120b is able to send and receive signals with the second AP 110b, but not with the first AP 110a or the first UE 120a.

[0035] Because the first signaling path 320 and the second signaling path 320 are spatially isolated from each other (e.g., the ranges 310 of the respective devices are geographically different and do not overlap), communications on the first signaling path 320 and the second signaling path 320 do not conflict even if they are sent simultaneously on the same channel. Therefore, the WLC 130 can allocate the same portion of the available spectrum at the overlapping time to the spatially isolated signaling paths 320.

[0036] In various embodiments, the breadth of range 310 is determined based on a signal strength threshold. Accordingly, while devices "outside" a given range 310 may still receive a signal from a transmitting device, the strength of the received signal allows the receiving device to filter out, ignore, or otherwise disregard the impact of the received signal on another signal received from a different device. For example, if a first UE 120 and a second UE 120 both transmit messages simultaneously on the same portion of the spectrum, the first AP 110 and the second AP 110 may each receive both messages. However, the strength of the message from first UE 120a at second AP 110b enables second AP 110b to decipher the message from second UE 120b without errors caused by the message from first UE 120a. Similarly, the strength of the message from second UE 120b at first AP 110a enables first AP 110a to decipher the message from first UE 120a without errors caused by the message from second UE 120b.

[0037] Figure 4 4 is a flow chart of a method 400 for RU allocation in a mesh network according to an embodiment of the present disclosure. Method 400 begins at block 410, where WLC 130 identifies devices in the mesh network. The identified devices may include various APs 110, UEs 120, and WGBs 140, as well as their locations and signaling ranges. WLC 130 may periodically re-identify devices in the mesh network, including their locations and associations between them. In various embodiments, WLC 130 executes method 400 in response to changes in network conditions, including, but not limited to: a new device joining the mesh network, an existing device leaving the mesh network, a device within the mesh network entering or exiting sleep mode, switching an existing UE 120 from associating with one AP 110 to associating with a different AP 110, the passage of a predetermined amount of time, a buffer status of one of the devices exceeding a threshold, a change in the priority level of one of the devices, and the like.

[0038] At block 420, the WLC 130 determines the bandwidth requirements on the mesh network. The WLC 130 determines the individual bandwidth requirements of each AP 110 (including the requirements of any associated UEDs 120 or WGBs 140) while taking into account the overall or aggregate bandwidth requirements of all APs 110 in the mesh network to optimize the throughput of the entire mesh network. Thus, the WLC 130 identifies potential traffic bottlenecks, high-traffic nodes, low-traffic nodes, etc. based on the relative bandwidth requirements along the various signaling paths in the mesh network, thereby being able to allocate the appropriate amount of bandwidth to optimize the overall traffic flow within the network.

[0039] In various embodiments, devices in the mesh network communicate individual bandwidth requirements to the WLC 130 based on one or more of: device / user priority, data consumption rate (e.g., historical, current, or estimated future), traffic or application type (e.g., delay-sensitive, delay-insensitive), buffer or cache utilization, traffic flow (e.g., source node, destination node, intermediate nodes), etc. The WLC 130 aggregates the individual bandwidth requirements to identify the total bandwidth requirements within the network, as well as to identify local requirements along various signaling paths (e.g., for a given subset of nodes in the mesh network, whether traffic can be isolated to a given path deep within the mesh network).

[0040] At block 430, the WLC 130 allocates RUs based on the relative bandwidth requirements within the mesh network. The WLC 130 allocates RUs based on the following: service class, service and / or device priority, amount of buffered or cached traffic, the layout of the mesh network, and previous RU allocations for a given device. The WLC 130 balances the individual needs of the devices against each other to ensure optimal traffic flow on the mesh network as a whole, providing more bandwidth to some services and less bandwidth to other services. For example, if the amount of traffic handled by the first AP 110a is greater than the amount of traffic handled by the second AP 110b, or the traffic handled by the first AP 110a has a higher priority than the traffic handled by the second AP 110b, the WLC 130 may allocate more RUs to the first AP 110a than to the second AP 110b, even when the first AP 110a is lower in the network hierarchy than the second AP 110b and there are fewer devices connected downstream from the first AP 110a than from the second AP 110b. In other words, the WLC 130 allocates RUs based on current bandwidth requirements rather than based on the network hierarchy of the device.

[0041] In various embodiments, the WLC 130 allocates RU space for the access connection 220 to each AP 110, and each AP 110 determines how to distribute the allocated RUs to associated devices or allows associated devices to contend for a portion of the access connection 220. For example, the WLC 130 may allocate 10% of the RU space to a given AP 110 for the access connection 220, and the given AP 110 allocates 5% of the RU space (i.e., half of the 10% allocation) to a first UE 120a for uplink communication, 5% of the RU space to a second UE 120b for downlink communication, and 0% of the RU space to a third UE 120c associated with the given AP 110. In another example, the AP 110 advertises the RU space allocated by the WLC 130 for the access connection 220 to associated devices and manages a contention process for the associated devices to access the RU space. In some embodiments, WLC 130 indicates which associated devices are given access to the allocated RU space.

[0042] Since the backhaul connection 210 is between two APs 110, when the WLC 130 allocates RU space for backhaul communication, the WLC 130 can indicate the communication direction (e.g., X% of the RU space is used for communication from the first AP 110a to the second AP 110b) or allow the APs 110 to compete for access to the allocated RU space.

[0043] At block 440, the WLC 130 may optionally over-allocate RUs to devices with geographically distinct signaling ranges. For example, when the WLC 130 allocates a portion of available spectrum to a first subset of devices that is spatially isolated from a second subset of devices in a mesh network in block 430, the WLC 130 may allocate the same portion of spectrum to the second subset of devices. Because over-allocation of RUs allows additional traffic to flow through the network, the WLC 130 is not required to over-allocate RUs (e.g., if doing so would cause congestion in the network), and block 440 may be omitted from the method 400.

[0044] At block 450, WLC 130 allows devices in the mesh network to send and receive messages according to the RU allocation. In various embodiments, the RU allocation is propagated throughout the mesh network so that each device is informed of which subcarriers and times it is allowed to send messages or should expect to receive messages. Method 400 may then end.

[0045] Figure 5 1. The hardware of a computing device 500 is shown, which can be used in the AP 110, UED 120, WLC 130, or WGB 140 described in this disclosure. The computing device 500 includes a processor 510, a memory 520, and a communication interface 530. The processor 510 can be any processing element capable of performing the functions described herein. The processor 510 represents a single processor, multiple processors, a processor with multiple cores, and combinations thereof. The communication interface 530 facilitates communication between the computing device 500 and other devices. The communication interface 530 represents a wireless communication antenna and various wired communication ports. The memory 520 can be volatile or non-volatile memory and can include RAM, flash memory, cache, disk drives, and other computer-readable memory storage devices. Although the memory 520 is shown as a single entity, the memory 520 can be divided into different memory storage elements, such as RAM and one or more hard drives.

[0046] As shown, the memory 520 includes various instructions that are executable by the processor 510 to provide an operating system 521 for managing various functions of the computing device 500 and one or more applications 522 for providing various functionalities to a user of the computing device 500, including one or more of the functions and functionalities described in the present disclosure.

[0047] In the present disclosure, reference is made to various embodiments. However, the scope of the present disclosure is not limited to the specifically described embodiments. Rather, any combination of the described features and elements, whether or not related to different embodiments, is contemplated to implement and practice the contemplated embodiments. In addition, when the elements of an embodiment are described in the form of "at least one of A and B", it should be understood that embodiments comprising only element A, only element B, and both elements A and B are considered. In addition, although some embodiments disclosed herein can achieve advantages over other possible solutions or prior art, whether a given embodiment achieves a specific advantage does not limit the scope of the present disclosure. Therefore, the aspects, features, embodiments, and advantages disclosed herein are merely illustrative and are not considered to be elements or limitations of the appended claims unless expressly stated in (one or more) claims. Similarly, reference to "the present invention" should not be interpreted as a summary of any inventive subject matter disclosed herein, and should not be considered to be elements or limitations of the appended claims unless expressly stated in (one or more) claims.

[0048] As will be appreciated by those skilled in the art, the embodiments disclosed herein may be embodied as systems, methods, or computer program products. Thus, the embodiments may take the form of entirely hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or embodiments combining software and hardware aspects, which may all be collectively referred to herein as "circuits," "modules," or "systems." Furthermore, the embodiments may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied thereon.

[0049] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0050] The computer program code for performing the operations of the embodiments of the present disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, C++, and traditional procedural programming languages such as the "C" programming language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0051] Various aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments presented in the present disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams and the combination of blocks in the flowchart illustrations and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create a component for implementing the functions / actions specified in the (one or more) blocks of the flowchart illustrations and / or block diagrams.

[0052] These computer program instructions may also be stored in a computer-readable medium that can direct a computer, other programmable data processing device, or other apparatus to operate in a specific manner so that the instructions stored in the computer-readable medium produce an article of manufacture including instructions for implementing the functions / actions specified in (one or more) blocks of the flowchart illustrations and / or block diagrams.

[0053] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other devices to produce a computer-implemented process, such that the instructions that execute on the computer, other programmable data processing apparatus, or other devices provide a process for implementing the functions / actions specified in the flowchart illustration and / or block(s) of the block diagram.

[0054] The flowchart illustrations and block diagrams in the figure illustrate the architecture, function and operation of the possible implementation of the system, method and computer program product according to various embodiments. In this regard, each block in the flowchart illustration or block diagram can represent a part of a module, segment or code, which includes one or more executable instructions for realizing (one or more) specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the block may not appear in the order marked in the figure. For example, the two blocks shown in succession can actually be performed substantially simultaneously, or these blocks can sometimes be performed in reverse order, depending on the functions involved. It should also be noted that each block of the block diagram and / or flowchart illustration and the combination of the blocks in the block diagram and / or flowchart illustration can be realized by a combination of a hardware-based special-purpose system or special-purpose hardware and computer instructions that performs a specified function or action.

[0055] In view of the foregoing, the scope of the present disclosure is determined by the following claims.

Claims

1. A method for communication, comprising: Identifying a device in a mesh network that is in wireless communication on a shared channel, the device comprising a first access point (AP), a second AP, and a third AP, the second AP in wireless communication with the first AP via a first backhaul connection, and the third AP in wireless communication with the first AP via a second backhaul connection, wherein the first AP is at a first level in a network hierarchy of the mesh network, and wherein the second AP is at a second level in the network hierarchy of the mesh network, wherein the first level is higher than the second level; determining a first demand for bandwidth in the shared channel over the first backhaul connection and a second demand for bandwidth over the second backhaul connection; and Resource units RU are allocated to the first backhaul connection based on the first demand relative to the total bandwidth demand for all APs in the mesh network within the shared channel, and resource units RU are allocated to the second backhaul connection based on the second demand relative to the total bandwidth demand, wherein the total bandwidth demand includes the first demand and the second demand, and wherein the first backhaul connection between the first level and the second level is allocated fewer RUs than the combination of RUs allocated to the access connection at the second AP.

2. The method according to claim 1, wherein The first requirement includes: backhaul communication between the second AP and other APs in the mesh network; downlink communications from the second AP to a client device associated with the second AP; and Uplink communication from the client device to the second AP.

3. The method according to claim 1 or 2, further comprising: determining a third demand for bandwidth in the shared channel over a first access connection between the second AP and a first client device; allocating RUs to the first access connection based on the third requirement relative to the total bandwidth requirement within the shared channel; and The total bandwidth requirement includes the third requirement.

4. The method according to claim 1 or 2, wherein: The first requirement is based on the following: the number of communications queued for transmission on the second AP; the age of said communications queued for transmission; as well as The priority level of the communication queued for transmission.

5. The method according to claim 1 or 2, wherein: The second AP wirelessly communicates with a first client device via a first access connection and wirelessly communicates with a second client device via a second access connection, wherein, in response to identifying that communications between the first client device and the second client device do not flow to the first AP, fewer RUs are allocated to the first backhaul connection than to the first access connection and the second access connection combined.

6. The method according to claim 1 or 2, wherein: The second AP performs a first communication with the first device, and the third AP performs a second communication with the second device, wherein the RUs are allocated so that: when a recipient of the first communication and a recipient of the second communication have geographically different ranges from each other, the first communication between the first device and the second AP and the second communication between the second device and the third AP share a given time and a given frequency.

7. The method according to claim 1 or 2, wherein: The second AP communicates wirelessly with at least one of the following: a first user equipment device UED; Fourth AP; and A workgroup bridge WGB performs wired communication with the second UED.

8. The method according to claim 1 or 2, wherein: The first AP is a root AP of the mesh network.

9. A mesh network operating on a shared channel, comprising: A root access point (RAP), connected to a wireless controller, the RAP being at the first level in a network hierarchy; A first mesh access point (MAP), wherein the MAP is at a second level in the network hierarchy, and the first MAP: communicating directly with the RAP via a first backhaul connection; communicating directly with a first user equipment device (UED) via a first access connection, the first UED being associated with the first MAP; and directly communicating with a second UE via a second access connection, the second UE being associated with the first MAP; The second MAP, wherein the second MAP: communicating directly with the RAP via a second backhaul connection; and The wireless controller is configured as follows: Resource units (RUs) are allocated to the first backhaul connection, the second backhaul connection, the first access connection, and the second access connection based on relative transmission needs of individual connections among the first backhaul connection, the second backhaul connection, the first access connection, and the second access connection relative to a total bandwidth requirement for all access points (APs) in the mesh network including the first backhaul connection, the second backhaul connection, the first access connection, and the second access connection, and wherein the first backhaul connection between the first tier and the second tier is allocated fewer RUs than the combination of RUs allocated to the first access connection and the second access connection.

10. The mesh network according to claim 9, wherein: Based on the fact that the traffic flow between the first UE and the second UE does not include the RAP, the number of RUs allocated on the combination of the first access connection and the second access connection is greater than the number of RUs allocated on the first backhaul connection.

11. The mesh network according to claim 9 or 10, wherein: The wireless controller is further configured to reallocate the RUs on the shared channel at a later time period based on the updated demand for data transmission in response to at least one of the following: a predetermined amount of time has passed; A new device joins the mesh network; an existing device leaves the mesh network; and The buffer status report of the first MAP exceeds a threshold.

12. The mesh network according to claim 9 or 10, wherein: The second MAP is connected to a third UED via a third access connection, and based on the bandwidth required by the third UED being greater than the bandwidth required by the first UED or the second UED, the number of RUs allocated to the third access connection is greater than the number of RUs allocated to either the first access connection or the second access connection.

13. The mesh network according to claim 9 or 10, wherein: The wireless controller over-allocates RUs such that a first RU allocated to the first access connection and a second RU allocated to a third access connection between the second MAP and a third UE are transmitted on a shared subcarrier during a shared time.

14. The mesh network according to claim 9 or 10, wherein: The shared channel is used for uplink communication, and wherein the second shared channel is used for downlink communication.

15. A wireless local area network (LAN) controller (WLC), comprising: processor; as well as a memory storage device comprising instructions that, when executed by the processor, enable the WLC to: receiving demand information from a plurality of access points (APs) comprising a mesh network; as well as Based on the demand information and based on individual bandwidth demands of individual APs from the multiple APs, resource units RU are allocated to the multiple APs relative to the total bandwidth demand from the multiple APs for all APs in the mesh network, wherein a first AP from the multiple APs is at a first level in a network hierarchy system of the mesh network, and wherein a second AP from the multiple APs is at a second level in the network hierarchy system, wherein the first level is higher than the second level, and wherein a backhaul connection between a first AP of the first level and a second AP of the second level is allocated fewer RUs relative to the combination of RUs allocated to the access connection at the second AP.

16. The WLC according to claim 15, wherein: The instructions, when executed by the processor, further enable the WLC to over-allocate RUs to the plurality of APs when receiving devices communicating using a shared portion of a frequency spectrum at a shared time are spatially isolated from one another.

17. The WLC according to claim 15 or 16, wherein: When associated devices using the access connection to a first AP are sending traffic that is not carried by a backhaul connection between the first and second APs of the plurality of APs, the individual bandwidth requirements of the backhaul connection are less than the combined bandwidth requirements of the access connections.

18. The WLC according to claim 15 or 16, wherein: The multiple APs include a single root AP RAP and multiple mesh APs MAP, wherein the RAP is connected to an external network via a wired connection, and the RAP is wirelessly connected to at least one MAP among the multiple MAPs via a backhaul connection, and each of the multiple MAPs is wirelessly connected to at least one MAP among the multiple MAPs or the RAP via a corresponding backhaul connection.

19. The WLC of claim 15, wherein: The requirement information includes at least one of the following items: The amount of data that needs to be transferred; the priority of the data; and The age of the data.

20. The WLC of claim 15, wherein: RUs for uplink communication are allocated on a first shared channel in the mesh network, and wherein RUs for downlink communication are allocated on a second shared channel in the mesh network.

21. A computer readable storage device comprising instructions which, when executed by a processor, perform the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Resource allocation in a wireless mesh network environment

    US9072092B1

  • Dynamic rate limiting in wireless mesh networks

    WO2008112664A1

  • Methods and apparatus for backhaul sharing by femtocells

    WO2013138521A1