Adaptive root mesh configuration methods and mesh nodes in mesh network
Patent Information
- Application Number
- TW113144316
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2024-07-26
- Filing Date
- 2024-11-18
- Publication Date
- 2026-07-11
- Estimated Expiration
- 2044-11-17
Smart Images

Figure IMG-2_DRAW_113144316-A0305-14-0001-2 
Figure IMG-2_DRAW_113144316-A0305-14-0002-3 
Figure IMG-2_DRAW_113144316-A0305-14-0002-4
Abstract
Description
Technical Field
[0001] This specification is generally related to wireless communication technology. For example, some aspects of this specification relate to the adaptive configuration of wireless mesh networks (WMNs), and / or one or more mesh nodes of a wireless mesh network. Prior Technology
[0002] Wireless mesh networks (WMNs) are communication networks that consist of multiple radio nodes organized into a mesh topology. The mesh topology is rooted in a large number of interconnections between nodes, and each node in the mesh topology can connect to one or more other nodes in the mesh topology. In the context of WMNs, the mesh topology between multiple radio nodes allows multiple different paths to be used between the source and destination. In some examples, WMNs can typically be implemented as low-mobility wireless ad-hoc networks. Mesh infrastructure can be used to achieve long-distance data transmission by dividing each distance into a series of short hops, where multiple intermediate nodes can relay data from one node to another based on forwarding decisions made based on knowledge of each intermediate node's network and / or its mesh topology. For example, using knowledge of the network and / or its mesh topology, each node in the network can dynamically act as a router for each other node.
[0003] The Institute of Electrical and Electronics Engineers (IEEE) 802.11s mesh network is an example of a Wireless Mesh Network (WMN). The IEEE 802.11s wireless mesh network standard defines the interconnection between multiple wireless devices to create a Wireless Local Area Network (WLAN) mesh network. Wireless mesh network devices, also known as mesh stations (STAs) or mesh nodes, form mesh connections with one or more additional mesh STAs associated with the WMN. Multiple mesh connections are formed by interconnecting different pairs of mesh STAs in the WMN. Ad-hoc mobile routing protocols can be used to establish mesh paths (e.g., a mesh path may contain multiple interconnected mesh STAs or multiple mesh connections between nodes in the WMN).
[0004] Multi-hop wireless connections in a mesh infrastructure enable the routing of multiple packets to forward from one node (e.g., the originating node on the WMN) to a destination node (e.g., also on the WMN) via one or more other nodes (e.g., intermediate nodes also on the WMN). The IEEE 802.11s mesh standard requires each node in a mesh network to transmit a beacon at each beacon interval. This beacon, also called a mesh beacon, announces the mesh ID, mesh profile, and power-saving status. The purpose of the IEEE 802.11s mesh beacon is to facilitate mesh network exploration and synchronization among multiple mesh nodes when power-saving mode is enabled. Compared to infrastructure networks, mesh networks operating in the sub-gigahertz (S1G, e.g., 1 GHz or lower) band offer advantages such as long-range wireless communication and enhanced fault tolerance. For example, unlicensed frequency bands below 1 GHz can be used for wireless communication between multiple mesh nodes in a mesh network. Summary of the Invention
[0005] The following is a brief summary of one or more aspects disclosed in this specification. Therefore, it should not be considered a general overview of all aspects under consideration, nor should it be regarded as a key or essential element for identifying the relevant scope of all or any aspect under consideration. Thus, the sole purpose of the following overview is to present, in a concise manner, some concepts of one or more relevant aspects of the mechanisms disclosed in the specification before a detailed description.
[0006] This specification discloses wireless communication systems, methods, and computer-readable media for use in wireless communication networks, such as Wireless Local Area Networks (WLANs). A wireless communication method for a wireless mesh network is described according to at least one example. For example, an adaptive root mesh configuration method for a first mesh node in a mesh network may include: the first mesh node broadcasting a root declaration frame at a configuration time interval based on its configuration and the root mesh node role of the mesh network, wherein the root declaration frame is used to declare the existence of the first mesh node as the root mesh node of the mesh network; the first mesh node receiving multiple path response messages from one or more mesh peers in the mesh network, wherein each path response message responds to a corresponding path request message; determining mesh network update status information based on the multiple path response messages; and configuring the first mesh node as a non-root mesh node or configuring the first mesh node to maintain the root mesh node role, wherein the configuration of the first mesh node as a non-root mesh node or the root mesh node role is determined based on the mesh network update status information.
[0007] In another illustrative example, a first mesh node is provided in a mesh network, the first mesh node comprising: radio frequency (RF) The processor is communicatively coupled to the RF receiver and RF transmitter; and one or more memory groups are communicatively coupled to the processor, storing processor-readable code that, when executed, causes the processor to perform the following actions: based on the configuration of the first mesh node and the root mesh node role of the mesh network, causing the RF transmitter to broadcast a root announcement frame at a configuration time interval, wherein the root announcement frame is used to announce the existence of the first mesh node as the root mesh node of the mesh network; causing the RF receiver to receive multiple path response messages from one or more mesh peers in the mesh network, wherein each path response message responds to a corresponding path request message; determining the mesh network update status information based on the multiple path response messages; and configuring the first mesh node as a non-root mesh node or configuring the first mesh node to maintain the root mesh node role, wherein the configuration of the first mesh node as a non-root mesh node or the root mesh node role is determined based on the mesh network update status information.
[0008] Those skilled in the art can understand the purposes and advantages related to these aspects based on the accompanying diagrams and detailed descriptions. Simple Explanation of the Diagram
[0009] The following description, with reference to the accompanying drawings, details the scope of this application:
[0010] Figure 1A is a block diagram of an example wireless communication network;
[0011] Figure 2A is a block diagram of a wireless communication device that can be implemented as a station (STA) or an access point (AP) according to some embodiments;
[0012] Figure 2B is a schematic block diagram of the receiver data stream architecture of the wireless communication device of Figure 2A according to some embodiments;
[0013] Figure 2C is a schematic block diagram of a transmitter data stream architecture for transmitting radio frequency (RF) signals in a wireless medium according to some embodiments;
[0014] Figure 3 is an example schematic diagram illustrating, according to some embodiments, a moving mesh node leaving a first mesh network associated with a first mesh Basic Service Set (BSS) and heading towards a second mesh network associated with a second mesh BSS;
[0015] Figure 4 is an example signal diagram of mesh pairing signals between first and second mesh nodes according to some embodiments;
[0016] Figure 5 is an example signal diagram of adaptive mesh pairing performed by a mesh STA after reaching the maximum number of peer connections, according to some embodiments;
[0017] Figure 6 is an example schematic diagram of adaptive mesh node management for an MBSS containing multiple root mesh nodes or STAs according to some embodiments;
[0018] Figure 7 is a flowchart illustrating an example of adaptive root mesh configuration for the first mesh node in a mesh network, according to some embodiments;
[0019] Figure 8 is a block diagram illustrating several implementation aspects of a computing system according to some embodiments. Implementation
[0020] The following provides several aspects and embodiments of this specification. Some embodiments can be implemented independently, while others can be combined and implemented by those skilled in the art where readily apparent. The following description is for illustrative purposes only, and specific details are provided to fully understand the various aspects of this invention. However, it will be apparent that these embodiments are not necessarily to be implemented in such exhaustive detail. The accompanying drawings and description are not intended to limit the invention.
[0021] The following description is merely illustrative of various aspects and is not intended to limit the scope, application, or setting of this specification. Rather, the various aspects of the description will provide a framework for implementation by those skilled in the art. It should be understood that the function and arrangement of the elements may be changed without departing from the scope and spirit of the claims. [Overview]
[0022] As mentioned earlier, wireless mesh networks (e.g., WMNs) are typically implemented as low-mobility wireless networks, where individual mesh nodes are expected to move minimally to not at all. For example, many existing methods of connecting to WMNs are implemented with a static or semi-static deployment of multiple individual mesh nodes. WMNs include those based on IEEE 802.11s, where multiple individual mesh nodes form a mesh topology and are interconnected. In these static or semi-static deployments, these individual mesh nodes do not change location, or change location very infrequently. For example, based on the premise that during setup, the mesh nodes are placed in the required rooms of the home and then remain in the same location indefinitely, the Wi-Fi mesh network in the user's home corresponds to a static or semi-static deployment of the mesh network.
[0023] When the locations of individual mesh nodes in a WMN do not change, or change infrequently, the interconnection list maintained in each mesh node can also be expected to change infrequently. The interconnections of a specified mesh node include other mesh nodes in the WMN within the communication distance of that specified mesh node. Furthermore, existing WMNs can also implement the assumption that a specified mesh node of the WMN will have a relatively short interconnection list (e.g., having a relatively small number of intermediate mesh nodes connected to or within the distance of the specified mesh node).
[0024] Accordingly, many WMNs do not include or detail memory management techniques used by mesh nodes to reduce memory overhead or memory storage space required to maintain the corresponding connection list information. Furthermore, statically or semi-statically deployed WMNs traditionally utilize relatively robust and / or fully functional devices as mesh nodes, and the memory overhead for storing mesh connection information (e.g., encryption keys for each other node connected to a designated mesh node stored in low-memory on-chip RAM, and / or other mesh connection information, configured in low-memory on-chip RAM to store keys such as unicast and broadcast keys for each connection) can be relatively low.
[0025] For Internet of Things (IoT) devices and / or other low-power wide-area networking (LPWAN) technologies, the assumptions made by existing technologies and standards for implementing wireless mesh networks (e.g., negligible hardware memory limitations and low mobility of mesh nodes) are often no longer applicable. For example, the basic communication requirements of many IoT applications, devices, deployments, etc., often involve low device complexity and high device mobility to better support large-scale implementations of city-scale IoT applications and / or interconnection between thousands of IoT devices. In a WMN implemented for multiple low-complexity and / or high-mobility devices configured as mesh nodes, the low complexity (e.g., low memory) of the devices speeds up the time it takes for the on-device memory to reach its maximum capacity, and may quickly encounter the hardware memory limitations of the devices—because high mobility causes the devices to frequently "check" and store new connection information for new arrangements of other mesh node devices. Examples of low-complexity and high-mobility wireless devices may include IoT devices, LPWAN devices and / or Wi-Fi HaLow devices (e.g., operating in accordance with the IEEE 802.11ah standard on 900MHz or other S1G unlicensed bands to provide wider range and low-power Wi-Fi networks), and other similar devices.
[0026] Therefore, a system and technology are needed to provide adaptive mesh network configurations usable by mesh nodes in a WMN, such as those that adaptively accept (or reject) pairing requests from other mesh nodes, based on the signal quality of the received signals carried in the pairing request analysis or determination. By adaptively accepting only pairing requests with the strongest connection strength, the memory space required to maintain mesh connectivity / interconnection information in each mesh node can be reduced. This also necessitates systems and technologies for adaptive mesh network configurations usable by WMN mesh nodes, such as those that adaptively terminate established pairings with other mesh nodes when the associated signal strength falls below a configuration threshold. By adaptively terminating low-connection-strength pairings, the memory space required to maintain mesh connectivity / interconnection information in each mesh node can also be reduced.
[0027] This specification discloses systems, methods, apparatuses, and computer-readable media (collectively, the “Systems and Technologies”) for providing innovative and effective adaptive mesh network configuration methods. For example, in some embodiments, an adaptive mesh pairing method for a first mesh node in a mesh network includes receiving a signal from a second mesh node, determining the signal quality of the received signal, and adaptively accepting a pairing request from the second mesh node based on the signal quality of the received signal. In some embodiments, the first mesh node can also adaptively terminate an established pairing with the second mesh node based on the signal quality of the received signal. An embodiment of the signal quality of the received signal is a Received Signal Strength Indicator (RSSI). For example, the first mesh node terminates an established pairing with the second mesh node when the RSSI of a third mesh node's received signal is better than the RSSI of the second mesh node's received signal by at least the configured RSSI margin.
[0028] Another embodiment of the signal quality of the received signal is the Packet Error Rate (PER), and the adaptive mesh pairing method may further include calculating the PER of established connections. The PER is calculated based on the number of lost packets out of the number of transmitted packets. For example, when the PER of a connection is higher than a predetermined PER threshold, the first mesh node terminates the established pairing with the second mesh node. In one embodiment, the adaptive mesh pairing method considers both the RSSI and PER of a connection to establish or terminate a pairing. For example, when the PER of a connection is higher than a predetermined PER threshold and the RSSI is lower than a predetermined RSSI threshold, the first mesh node terminates the established pairing with the second mesh node. In some embodiments, when the signal strength of the received signal is lower than the expected quality level, the first mesh node adds the second mesh node to a blacklist for a timeout period. In some aspects, when the signal strength of the signal received from the second mesh node is still lower than the expected quality level after the timeout, the first mesh node can be configured to terminate the established pairing. In an illustrative example, after the termination of the pairing, the timeout period for adding to the blacklist can be calculated.
[0029] In some aspects of the invention, a first mesh node is provided, comprising a radio frequency (RF) receiver and an RF transmitter, a processor communicatively coupled to the RF receiver and the RF transmitter, and one or more memory groups communicatively coupled to the processor for storing processor-readable code. The first mesh node is configured to receive signals from a second mesh node via the RF receiver, determine the signal strength of the received signals, and, based on the signal strength of the received signals, accept a pairing request from the second mesh node or terminate an established pairing with the second mesh node.
[0030] In other aspects of the invention, there is an adaptive root mesh configuration method corresponding to a first mesh node in a mesh network. Some embodiments of the adaptive root mesh configuration method include broadcasting root declaration frames at configuration time intervals to announce the presence of the first mesh node, receiving path responses from mesh peers in the mesh network (e.g., path responses are sent in response to path request frames, which can be used to populate and / or update the path table of the mesh node), updating the status of the mesh network based on the path responses, and configuring the mesh network to either become a general mesh node or remain as a root mesh node based on the updated status of the mesh network. If the first mesh node remains as a root mesh node in the mesh network, it continues to generate and broadcast root declaration frames at fixed intervals; and if the first mesh node is configured as a general mesh node, it stops generating and broadcasting root declaration frames.
[0031] In some embodiments, the state of the mesh network includes the number of peer mesh nodes directly connected to the first mesh node, or the number of root mesh nodes directly connected to the first mesh node, or both the number of peer mesh nodes directly connected to the first mesh node and the number of root mesh nodes directly connected to the first mesh node. For example, when the number of peer mesh nodes directly connected to the first mesh node is below a threshold and the number of root mesh nodes directly connected to the first mesh node is at least one, the first mesh node is configured as a general mesh node. In another example, when the number of root mesh nodes directly connected to the first mesh node is at least one, the first mesh node is configured as a general mesh node. In one example, when the number of peer mesh nodes directly connected to the first mesh node is above a threshold and the number of root mesh nodes directly connected to the first mesh node is zero, the first mesh node remains as a root mesh node.
[0032] In some aspects of the invention, a first mesh node in a mesh network is provided. The first mesh node includes an RF receiver and an RF transmitter, a processor, and one or more memory banks communicatively coupled to the processor for storing processor-readable code. The first mesh node is configured to have the RF transmitter generate and broadcast root announcement frames at fixed intervals to announce its existence. The RF receiver receives path responses from mesh peers in the mesh network. The mesh network status is updated based on the path responses, and based on the updated mesh network status, the node is configured to either become a general mesh node or remain as a root mesh node. If the first mesh node remains as a root mesh node, it continues to generate and broadcast root announcement frames at fixed intervals; if the first mesh node is configured as a general mesh node, it stops generating and broadcasting root announcement frames. [Example]
[0033] Figure 1 shows a block diagram of an example wireless communication network 100. In some aspects, the wireless communication network 100 may be an example of a Wireless Local Area Network (WLAN). Used here, the WLAN may be a Wi-Fi network. In some examples, the WLAN 100 may be a network implementing at least one of the IEEE 802.11 family of wireless communication protocol standards (e.g., standards defined in the IEEE 802.11-2020 specification or its amendments, including but not limited to 802.11ah, 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be). The WLAN 100 may include at least an access point 102 and multiple associated sites 104. For example, site 104 may include a first site 104a, a second site 104b, a third site 104c, a fourth site 104d, etc. Although only one access point 102 is shown in the diagram, WLAN 100 can actually contain multiple access points 102.
[0034] Any of sites 104a to 104d may be referred to as a Mobile Station (MS), mobile device, mobile handheld device, Access Terminal (AT), User Equipment (UE), Subscriber Station (SS), and / or subscriber unit, etc. Site 104 may represent various devices, such as mobile phones, handheld devices, laptops, computers, tablets, laptops, display devices (e.g., televisions, computer monitors, navigation systems, etc.), music or other audio or stereo devices, remote control devices (“remote controllers”), printers, kitchen or other household appliances, keychains (e.g., for Passive Keyless Entry and Start (PKES) systems), etc.
[0035] The collection of a single access point 102 and its associated sites 104a to 104d can be collectively referred to as a Basic Service Set (BSS), managed by the specific access point 102. Figure 1 further shows an example coverage area 106 of access point 102, which can represent the Basic Service Area (BSA) of WLAN 100. The BSS can be identified by a Service Set Identifier (SSID) for users and by a Basic Service Set Identifier (BSSID) for other devices, which can be the Medium Access Control (MAC) address of access point 102.
[0036] Access point 102 periodically broadcasts beacon frames (“beacons”) containing a BSSID to enable any station within the wireless range of access point 102 (such as one or more, or all, of stations 104a to 104d) to associate with or re-associate with access point 102 to establish individual communication connections (also referred to herein as “Wi-Fi connections”) 108a to 108d. For example, a first station 104a may establish a specific communication connection 108a with access point 102, a second station 104b may establish a specific communication connection 108b with access point 102, a third station 104c may establish a specific communication connection 108c with access point 102, a fourth station 104d may establish a specific communication connection 108d with access point 102, and so on. Stations 104a to 104d may also use the beacon frames broadcast by access point 102 to maintain their respective communication connections 108a to 108d with access point 102. For example, a beacon may contain an identification message of the main channel used by a specific access point 102, as well as a timing synchronization function for establishing or maintaining time synchronization with access point 102. Access point 102 can allow various different sites to access the external network through their respective communication lines 108.
[0037] To establish communication links 108a to 108d with access points 102, each of its respective stations 104a to 104d may perform passive or active scanning operations (“scans”) on frequency channels in one or more frequency bands. For example, to perform a passive scan, each of stations 104a to 104d listens for beacons transmitted from access point 102 at periodic time intervals, called Target Beacon Transmission Time (TBTT). TBTT can be measured in Time Units (TU). In some embodiments, TBTT may be a preset value of 1024 microseconds (µs). In some embodiments, TBTT may be a preset value of 102.4 milliseconds (ms). To perform an active scan, each of stations 104a to 104d may generate a probe request and sequentially send the probe request on each channel to be scanned by access point 102, and listen for probe responses sent from access point 102. Each of sites 104a to 104d can be configured to identify or select an access point 102 to be associated (e.g., based on scan information acquired through passive or active scanning), and to perform authentication and association operations to establish individual communication links 108a to 108d with the selected access point 102. In the final step of the association operation, access point 102 assigns an AID to each of sites 104a to 104d, making access point 102 usable for tracking sites 104a to 104d.
[0038] In some cases, one or more of sites 104a to 104d may have the opportunity to select one from multiple BSSs within the site's range, or from multiple access points 102 within an Extended Service Set (ESS) comprising multiple connected BSSs. The extended network sites associated with WLAN 100 may connect to wired or wireless distributed systems that allow multiple access points 102 to interconnect within the ESS. In some examples, one or more of sites 104a to 104d may be covered by more than one access point 102 and may be associated with different access points 102 at different times for transmission. After being associated with an access point 102, one or more of sites 104a to 104d may also be configured to periodically scan the surrounding signal to search for more suitable access points to associate with. For example, a particular access point 104a to 104d that is moving away from its original associated access point 102 may perform a "roaming" scan to search for another access point with more suitable network characteristics (e.g., a better Received Signal Strength Indicator (RSSI), reduced traffic, etc.).
[0039] In some cases, stations 104a to 104d may form their own network without access point 102 or other devices not belonging to stations 104a to 104d. Examples of such networks are ad hoc networks. Some examples of ad hoc networks are mesh networks and peer-to-peer (P2P) networks. In some cases, ad hoc networks can be implemented within a larger wireless network. In such implementations, stations 104a to 104d can communicate with each other via access point 102 using their respective wireless connections 108a to 108d, and stations 104a to 104d can also communicate with each other using direct wireless connection 110. In some examples, two stations can communicate via direct wireless connection 110 regardless of whether they are associated with and served by the same access point 120. In the aforementioned ad hoc system, one or more of stations 104a to 104d can assume the role previously played by access point 102 in the BSS. Such a site can be called a Group Owner (GO) and can coordinate transmissions within any network. Examples of direct wireless connections 110 may include one or more Wi-Fi direct connections, connections established using Wi-Fi Tunneled Direct Link Setup (TDLS), other P2P group connections, etc.
[0040] Access points 102 and stations 104a to 104d can perform functions and communications using their respective communication connections 108 according to at least one of the IEEE 802.11 wireless communication protocol standards. These standards define WLAN radio and baseband protocols for the PHY and MAC layers. For example, access points 102 and stations 104a to 104d can wirelessly transmit and receive Physical Layer Protocol Data Units (PPDUs) or Physical Layer Convergence Protocol (PLCP) PDUs from each other. Access points 102 and stations 104a to 104d in WLAN 100 can transmit PPDUs on licensed or unlicensed spectrum, which may be a portion of that spectrum, including bands traditionally used by Wi-Fi technology, such as the 2.4 GHz band, 5 GHz band, 60 GHz band, 3.6 GHz band, and sub-1 GHz band. In some embodiments of access points 102 and sites 104a to 104d described herein, other frequency bands may be used for communication, such as the 6 GHz band, which supports both licensed and unlicensed communication. Access points 102 and sites 104a to 104d may also be configured to communicate on other frequency bands, such as shared licensed bands, allowing multiple operators to have licenses to operate in one or more of the same or overlapping frequency bands.
[0041] Each frequency band can contain multiple sub-bands (frequency channels). For example, PPDUs conforming to the IEEE 802.11 standard and specifications can be transmitted over a frequency band divided into multiple 20MHz channels. In these examples, PPDUs are transmitted through a physical channel with a minimum bandwidth of 20MHz, but other channel bandwidths are also possible. In some cases, channel combining can be used to create a larger bandwidth channel, which combines multiple channels with a minimum bandwidth.
[0042] Each PPDU is a composite structure containing a PHY preamble and a payload in the form of a PHY Service Data Unit (PSDU). The information provided in the preamble can be used by the receiving device to decode the data in the PSDU. In the example where PPDUs are transmitted over a combined channel, the preamble field can be duplicated multiple times and transmitted in each of the multiple component channels. The PHY preamble may include a traditional portion (or "traditional preamble") and a non-traditional portion (or "non-traditional preamble"). The traditional preamble can be used for packet detection, automatic gain control, channel estimation, and other purposes. The traditional preamble is also typically used to maintain compatibility with legacy devices. The format, encoding, and provided information of the non-traditional portion of the preamble are based on the specific IEEE 802.11 protocol used to transmit the payload.
[0043] Figure 2A is a block diagram of an example wireless communication device 200 that can be used to implement a site or access point in some examples. The wireless communication device 200 includes a MAC layer and a PHY layer, and conforms to one or more IEEE 802.11 standards.
[0044] The wireless communication device 200 includes a radio frequency (RF) transmitter module 202, an RF receiver module 204, an antenna unit 206, one or more memory banks 208, an input and output interface 210, and a system bus 212. The RF transmitter module 202 and the RF receiver module 204 include a modulator-demodulator device (modem), which modulates one or more carrier signals to encode digital information for data transmission, and demodulates the signals to reconstruct the original digital information for data reception. As shown, the wireless communication device 200 also includes a MAC processor 214, a PHY processor 216, and a host processor 218. These processors can be any type of integrated circuit (IC), application-specific integrated circuit (ASIC), or IC based on a reduced instruction set computer (RISC-V), etc., containing general-purpose processing units.
[0045] Memory 208 stores software and / or computer-readable instructions, including software or computer-readable instructions for implementing at least some functions of the MAC layer. For example, each processor included in the wireless communication device 200 (such as MAC processor 214, PHY processor 216, HOST processor 218, etc.) executes its own software to implement the corresponding communication / application layer functions.
[0046] The PHY processor 216 includes a transmit signal processing unit and a receive signal processing unit (not shown) for managing the interface in conjunction with Wireless Medium (WM). The PHY processor 216 operates PPDUs by exchanging digital samples with a radio module, which includes an RF transmitter 202, an RF receiver 204, an analog-to-digital converter, and a digital filter.
[0047] The MAC processor 214 executes MAC-level instructions and manages the interface between the application software and the Windows Mobile Interface (WM) through the PHY processor 216. The MAC processor 214 coordinates access to the WM, enabling efficient communication between the access point and the STAs within its range. The MAC processor 214 adds header bytes and tail bytes to multiple data units and sends them to the PHY layer for transmission; these data units are provided by higher layers. The reverse process is performed when data is received from the PHY layer. If a received frame contains errors, the MAC processor 214 manages the retransmission of that frame.
[0048] The HOST processor 218 interfaces with the MAC layer and is responsible for running the higher-level functions of the wireless communication device.
[0049] The PHY processor 216, MAC processor 214, HOST processor 218, peripheral bus 220, memory 208, and input / output interface 210 communicate with each other via system bus 212. Peripheral bus 220 connects several peripheral devices to support the core functions of the wireless communication device 200, including timers, interrupts, radio / filter / system registers, counters, Universal Asynchronous Receiver Transmitter (UART), and General Purpose Input / Output (GPIO) interfaces. Memory 208 can store the operating system and applications. In some examples, memory stores record information about acquired frames and packets. Input / output interface unit 210 allows information exchange with the user of the wireless communication device 200. Antenna unit 206 may include a single antenna and / or multiple antennas. For example, multiple antennas can be used to implement Multiple Input Multiple Output (MIMO) technology.
[0050] Figure 2B is a schematic block diagram illustrating a receiver data stream architecture 250 that can be used to receive Wi-Fi packets over a network. In one illustrative embodiment, the receiver data stream architecture 250 of Figure 2B corresponds to or is otherwise associated with the wireless communication device 200 of Figure 2A. In some embodiments, the receiving antenna 252 receives radio signals via WM and converts them into electrical signals; the receiving antenna 252 may be the same as or similar to the antenna 206 of Figure 2A. Before the received signal is converted to a digital equivalent using the analog-to-digital converter 256, the received signal is conditioned by a series of analog filters 254 (analog RF Rx filters as shown). The sampled signal output of the analog-to-digital converter (ADC) 256 is further conditioned by the filter bank 258 before samples are collected into the asynchronous receiving FIFO data structure 260.
[0051] The samples in the first-in-first-out buffer data structure 260 can be accessed by multiple modules. For example, samples can be accessed by a packet detection module and a sub-band module, which can be contained within the lower-level PHY portion 262 shown in FIG2B. In some embodiments, the lower-level PHY portion 262 itself is contained within the PHY processor 216 shown in FIG2A.
[0052] The packet detection module in the lower-layer PHY locale 262 can include hardware and / or implement algorithms to analyze the initial segment of the PPDU in the time domain. Based on the analysis, the packet detection module can be used to identify received frames and synchronize the frequency and timing of the wireless communication device with the received packets. The subband module in the lower-layer PHY locale 262 can include hardware and / or implement algorithms to detect which subchannel in the currently used configuration frequency band is being used to receive packets.
[0053] Once a packet is detected and the associated secondary channel is established, the sample can be forwarded to the upper-layer PHY locale 264. The upper-layer PHY locale 264 can be included within the PHY processor 216 shown in Figure 2A. In some aspects, the upper-layer PHY locale 264 (e.g., with the support of a coprocessor module) can be used to process and decode Orthogonal Frequency Division Multiplexing (OFDM) symbols to reconstruct the complete PPDU. The reconstructed PPDU is output by the upper-layer PHY locale 264 and then processed by the MAC layer processor 266. The MAC layer processor 266 can be used to extract the data payload from the PPDU and provide relevant information to the HOST layer 268 for use.
[0054] In some examples, the MAC layer processor 266 shown in Figure 2B may be the same as or similar to the MAC processor 214 shown in Figure 2A. In some cases, the HOST layer 268 shown in Figure 2B may include, or be the same as or similar to the HOST processor 218 shown in Figure 2A.
[0055] Figure 2C is a schematic block diagram of a transmitter data stream architecture 280 according to some examples, which can be used to transmit radio frequency signals to a wireless medium. More specifically, Figure 2C is a simplified schematic block diagram of a transmitter data stream architecture 280 for transmitting radio signals to a wireless network (WM). Data can be generated from the host or application module 282 and encapsulated by the MAC management module 284 into a MAC level Protocol Data Unit (MPDU), allowing the MPDU to be routed through the wireless network. The PHY module 286 intersects with the WM and compiles a PHY preamble and trailer into the MPDU to produce a PHY PPDU. Typically, the MAC module 284 or PHY module 286 uses a rate control algorithm to establish a modulation coding scheme (MCS) for transmitting packets over the medium. The selected scheme defines the modulation technique and coding rate used for the data to be transmitted to the WM. Based on the selected modulation scheme, such as Quadrature Amplitude Modulation (QAM) 64, the PPDU to be transmitted to the WM is modulated. Encoder module 288 generates a signal corresponding to the points (groups of bits in the PPDU) of the QAM constellation symbol, which can be encoded using polar (r-θ) coordinates and Cartesian (QI) coordinates. Modulation is accomplished by connecting encoder module 288 to a Digital Phase Lock Loop (DPLL) 290. The modulated signal can be filtered by analog filter 292 and transmitted using transmit antenna 294.
[0056] As previously noted, a wireless mesh network (WMN) can be provided as a communication network, comprising multiple mesh nodes organized according to a mesh topology, which corresponds to the interconnection between the various mesh nodes. For example, each of the multiple mesh nodes in the WMN is connected to at least one additional mesh node in the WMN, and more commonly, each mesh node is connected to multiple additional mesh nodes in the WMN (e.g., each mesh node is typically connected to a subset of the multiple mesh nodes in the WMN).
[0057] Multiple mesh nodes communicate with each other using wireless routing, with data packets transmitted through intermediate mesh nodes. The optimal path for data transmission can be dynamically discovered using a mesh routing algorithm, which can be the Hybrid Wireless Mesh Protocol (HWMP) used in IEEE 802.11s. When any mesh node fails, a new path can be automatically formed between the source and destination pairs based on the different combinations of interconnections between the multiple constituent mesh nodes in the WMN / mesh topology. Mesh peering management and path discovery process are two important factors that help form the mesh network and allow peer-to-peer discovery. When mesh peering management and path discovery process are used properly, better results can be achieved in terms of network performance and reliability.
[0058] Four HWMP frames are involved in path discovery processing (e.g., for mesh networks implemented using or according to IEEE 802.11s, or mesh networks performing path discovery using the HWMP mesh detour algorithm), including a Path Request frame, a Path Reply frame, a Path Error frame, and a Root Announcement frame. To optimize mesh networks for best performance, two aspects need to be considered: first, peer-to-peer connection quality, and second, root node designation.
[0059] For example, peer connection quality describes the quality of connections between peer cascade nodes (e.g., first and second cascade nodes directly interconnected via peer connections) (based on or expressed as one or more quantity measures, or other connection quantization quantity measures). In some aspects, the peer-to-peer connection quality can be described based on the Received Signal Strength Indicator—RSSI of the peer-to-peer connection between two cascade nodes. Each node associated with a peer connection is capable of measuring an individual RSSI (e.g., a first peer cascade node capable of measuring the RSSI of a signal received from a second peer cascade node through a peer connection, and / or a second peer cascade node capable of measuring the RSSI of a signal received from a first peer cascade node through a peer connection). Because the peer-to-peer connection quality will have an impact on the overall mesh network performance, the peer-to-peer connection quality of individual peer-to-peer connections between peer-to-peer cascade nodes in a WMN or mesh overlay can be an important consideration used to optimize the overall performance of a mesh network.
[0060] For example, when the first peer cascade node moves away from the (previously) second peer cascade node whose pairing has been established, the peer connection quality between the first and second peer cascade nodes may be reduced and the aggregate mesh network performance decreases. In particular, when the peer cascaded nodes move away from each other, because the two are increasingly separated, the RSSI based on the peer connection decreases and the peer connection quality decreases. As the distance between peer cascade nodes increases, peer cascade nodes with weak signal strength (such as weak or reduced RSSI) occupy the wireless medium for a longer period of time, for example, performing retransmission due to increasing distance of the connection / lower RSSI. Since Wi-Fi and / or other mesh networks do not usually support concurrent transmissions, an increase in the commodity time between peer mesh nodes with weak RSSI peer connections affects (such as decreases) the effectiveness of the media allocated to other peer mesh nodes. The reduced effectiveness of the wireless medium caused by more talk time between low-peer connection quality / low RSSI peer-to-peer connections can have a cumulative effect that ultimately affects the overall network throughput (overall network throughput). Therefore, there is a need for systems and technologies that can be used to better handle the configuration and management of peer cascade nodes (and between peer connections) in order to improve the performance of Mesh Basic Service Set—MBSS.
[0061] In summary, root nodes are designed to reduce pathfinding frames. Mesh gate nodes (which can be the root node of a mesh network / mesh topology) are top-level nodes in a mesh network and use various connection and communication methods to provide connectivity to one or more non-mesh networks (for the entire mesh network and other joined mesh nodes). For example, a mesh gate can provide wired connections to one or more non-mesh networks via a switch, or wireless connections to one or more non-mesh networks or other wireless infrastructure networks via an AP interface, and so on. Accordingly, based on the organization of all mesh nodes as child nodes or leaf nodes of the top-level mesh gate node (e.g., within the mesh topology of the mesh network), the mesh gate node can be configured as a gateway between the mesh network and multiple individual mesh nodes in one or more non-mesh networks. For example, all other mesh nodes in a mesh network can connect to a wired / wireless network via one or more wireless hops of a mesh gate node.
[0062] If the root node in a mesh network is invalid (e.g., because a previously configured / valid mesh root node is offline, or is invalid or unreachable for other reasons), all mesh nodes are configured to use broadcast action frames to search for and explore / discover other peers. In these scenarios, the broadcast action frames emitted by multiple mesh nodes generate a large amount of traffic, potentially overwhelming or saturating the wireless medium (e.g., the traffic corresponding to broadcast action frames may occupy the wireless medium more frequently or in greater quantities compared to data packets). Mesh network root nodes are typically selected manually, such as when setting up the mesh network or during other manual reconfigurations or adjustments. Traditionally, root node configuration in mesh network deployments is static and remains unchanged unless or until the manually selected root node fails. A new root node is selected only when the manually selected root node fails. However, in paradigms where only a few site nodes (such as multiple mesh nodes in a mesh network) move, dynamic root node configuration is required because the high mobility of these mesh nodes and the associated movement events cause the network dynamics to change continuously or frequently. [Adaptive reticular pairing]
[0063] As mentioned earlier, mesh networks are always victims of faulty mesh peers, which are mesh nodes using relatively weak signal strength (e.g., low mesh quality, low RSSI). Transmitting data to and receiving data from these faulty peers can consume significant amounts of communication time over the wireless medium. Identifying and terminating these faulty peers (e.g., terminating their corresponding low-quality / low-RSSI peer connections) is an effective solution, but current mesh network implementations do not address this issue. This is particularly important for sub-gigahertz (S1G) mesh networks, which have greater bandwidth limitations compared to other mesh networks operating at higher frequencies and with greater bandwidth. In some examples, S1G mesh network implementations can implement mesh topologies on IEEE 802.11ah-based networks.
[0064] IEEE 802.11ah, also known as Wi-Fi HaLow, is a wireless network communication protocol that uses sub-gigahertz (S1G) radio signals to provide low power consumption and long-range wireless communication capabilities. Wi-Fi HaLow devices operate in the unlicensed Industrial, Scientific, and Medical (ISM) band below 1 GHz. A Wi-Fi HaLow access point (AP) can provide connectivity for thousands of STAs within a coverage area of approximately one kilometer. Wi-Fi HaLow supports various bandwidths, including 1MHz, 2MHz, 4MHz, 8MHz, and 16MHz, which are approximately an order of magnitude (e.g., 10 times narrower) narrower than the bandwidth used by the IEEE 802.11ac (Wi-Fi 5) standard. Furthermore, the symbol duration of IEEE 802.11ah Wi-Fi HaLow, operating at a 2MHz bandwidth, is nearly 10 times longer than that of IEEE 802.11ac Wi-Fi 5. Therefore, compared to Wi-Fi 5 or other newer Wi-Fi networks, Wi-Fi HaLow networks not only have a significantly narrower bandwidth but also a significantly longer symbol duration within that narrow bandwidth. Consequently, the overall call time in HaLow networks is more limited compared to Wi-Fi 5 networks, and the call time required for each individual data transmission is also longer.
[0065] In some embodiments of the adaptive mesh pairing system and techniques described herein, there are two points in time during pairing and network operation from which mesh nodes can be filtered out of the mesh network (e.g., two points in time or occasions at which paired mesh nodes can be terminated or removed). As explained more in detail later, the Received Signal Strength Indicator (RSSI) and / or Packet Error Rate (PER) associated with peer connections / mesh peer nodes can be considered as factors in two paradigmatic scenarios during the decision-making process of whether to accept a mesh pairing request and / or terminate an established pairing. In some aspects, the RSSI and / or PER associated with a particular mesh node's peer connection can be correspondingly determined or used to determine the corresponding peer connection quality.
[0066] PER can be calculated based on the number of lost packets in the transmitted packets (e.g., PER is the percentage of lost or erroneous packets out of all packets transmitted by / through this peer-to-peer connection). In one embodiment, a configured (or predetermined) threshold can be used to terminate established pairings (such as existing peer connections between first and second peer-to-peer nodes) based on a determination that the PER of a connection connected to this peer node is insufficient. For example, during network operation, a peer connection from the first peer node to the second peer node can be terminated based on a determination that the PER of the peer connection from the first peer node to the second peer node is higher than the configured PER threshold (e.g., based on an upward trend in PER corresponding to low peer connection quality).
[0067] Similarly, a configured or predetermined threshold can be used to terminate an established pairing based on a determination that the RSSI of the peering connection between the first and second mesh nodes has fallen below a configured threshold (e.g., below the minimum configured RSSI value required to maintain the peering connection), or based on a decreasing trend in RSSI corresponding to lower peering quality. In some aspects, PER and RSSI can use separate thresholds. In some examples, during network operation, a pairing connection can be terminated based on either a measured PER exceeding the configured PER threshold or a measured RSSI falling below the configured RSSI threshold. In some examples, during network operation, a pairing connection can be terminated if both conditions are met: a measured PER exceeding the configured PER threshold and a measured RSSI falling below the configured RSSI threshold.
[0068] In some embodiments, RSSI measured between mesh nodes (and corresponding configured RSSI thresholds) can be used to determine whether to accept (or reject) a pairing request from a new mesh node. When a mesh node reaches its maximum capacity for peer connections (e.g., RSSI measured before or after pairing, or PER measured only after pairing has been established), one, both, or more of the RSSI and PER measured between mesh nodes can be used to make a decision related to terminating an established pairing. For example, based on a determination that the measured RSSI associated with a pairing request (or other transmissions received on a connection from a second mesh node to a first mesh node) is higher than or equal to a configured RSSI threshold, the first mesh node may decide that it should accept a pairing request from a second mesh node.
[0069] When terminating an existing peer connection (e.g., an established pair) based on the maximum number of peer connections reached by a mesh node, the mesh node can be configured to select the existing peer connection with the worst or lowest peer connection quality (e.g., based on one, both or more of the measured RSSI and / or PER of the existing peer connection) for termination.
[0070] In some respects, before terminating an existing connection to another mesh node or rejecting a pairing request from another mesh node, a mesh node can be configured to determine that the peer node (about to be disconnected or rejected for pairing) has at least one other established peer connection, such that the disconnection or rejection of a pairing request from another mesh node does not cause that other mesh node and the Mesh Basic Services Set (MBSS) to become completely disconnected.
[0071] In some embodiments, for example, when a requesting peer does not have any other peer connections, a mesh node can be configured to accept pairing requests that would otherwise be rejected (e.g., requests above the PER threshold and / or below the RSSI threshold). Similarly, in some embodiments, when a peer does not have any other peer connections, a mesh node can be configured to maintain (e.g., not terminate or unconnect) its existing pairing with a peer, even if that peer connection should be terminated / unconnected. Consideration of the RSSI and PER parameters of mesh network connections, and the dynamic determination of whether to accept or terminate mesh connections based on the corresponding RSSI and / or PER measurements, can maintain the connection quality of peer connections on the mesh network / mesh topology. By avoiding retransmissions due to low-quality connections, overall mesh network performance can be improved.
[0072] Figure 3 illustrates, according to some embodiments, a mobile mesh node (e.g., a mesh STA) leaving a first mesh network associated with a first Mesh Basic Service Set (MBSS) and heading toward a second mesh network associated with a second MBSS. For example, in the example shown in Figure 3, the first mesh network is associated with a first MBSS-1 (e.g., MBSS-1 310), and the second mesh network is associated with a second MBSS-2 (e.g., MBSS-2 360).
[0073] A moving mesh node that moves away from MBSS-1 310 and toward MBSS-2 360 is shown as a mesh STA Mesh-STA2 (e.g., mesh STA 334-1 in the first position of MBSS-1 310, and mesh STA 334-2 in the second position, moving away from MBSS-1 310 and toward MBSS-2 360). The first mesh network associated with MBSS-1 310 may include mesh gate 320, first mesh STA Mesh-STA1 332, second mesh STA Mesh-STA2 (334-1 in MBSS-1 310, 334-2 after moving away from MBSS-1 310), and third mesh STA Mesh-STA3 336. In the example of Figure 3, the mesh network of MBSS-1 310 is fully connected – there are corresponding mesh connections between each possible combination of the multiple pairs formed from the four participating mesh nodes: mesh gate 320; first STA Mesh-STA1 332; second STA Mesh-STA2 334-2; and third STA Mesh-STA3 336. The second mesh network associated with MBSS-2 360 may include mesh gate 370, first mesh STA Mesh-STA4 382, and second mesh STA Mesh-STA5 384, and can be fully connected between the multiple pairs formed between these three mesh nodes.
[0074] In some respects, Figure 3 illustrates an exemplary scenario where an active mesh node (such as mesh STA-2) leaves the other mesh nodes in mesh network MBSS-1 310, causing the connections to the other mesh nodes to weaken. In this scenario, according to an embodiment of the adaptive mesh pairing method disclosed in the specification, mesh nodes Mesh-Gate 320, Mesh-STA1 332, and Mesh-STA3 336 can terminate their individual connections to active Mesh-STA2 (e.g., their individual peer connections) based on the RSSI or PER (or both) of their individual connections to Mesh-STA2. For example, each other mesh node can check the peer count of Mesh-STA2, and if the peer count is equal to one, the other mesh node will not terminate its individual connection to Mesh-STA2, even if the connection is weak.
[0075] In some respects, when Mesh-STA2 is located at the first position 334-1 in MBSS-1 310, each of the three individual connections to Mesh-STA2 334-1 is able to have an RSSI greater than or equal to the configured RSSI threshold based on the RSSI of each peer connection to Mesh-STA2 334-1 (e.g., the RSSI of the peer connection from Mesh-STA1 332 to Mesh-STA2 334-1, the RSSI of the peer connection from Mesh-STA3 336 to Mesh-STA2 334-1, and the RSSI of the peer connection from Mesh-Gate 320 to Mesh-STA2 334-1, all of which are greater than or equal to the configured RSSI threshold), and / or based on the PER of each peer connection to Mesh-STA2 334-1 being less than or equal to the configured PER threshold (e.g., the PER of the peer connection from Mesh-STA1 332 to Mesh-STA2 334-1). The PER of the peer connection 334-1, the PER of the peer connection from Mesh-STA3 336 to Mesh-STA2 334-1, and the PER of the peer connection from Mesh-Gate 320 to Mesh-STA2 334-1 are all below or equal to the configured PER threshold, and are kept within the first MBSS-1 310.
[0076] After moving from the first position 334-1 to the second position 334-2, each of the remaining mesh nodes in MBSS-1 310 may determine that the quality of the individual peer connection to Mesh-STA2 connected to the second position 334-2 no longer meets or exceeds the minimum required peer connection quality corresponding to the RSSI threshold and / or PER threshold, which are configured to implement the adaptive mesh pairing technique as described in the specification. Based on this determination, each of the remaining mesh nodes of MBSS-1 310 (such as Mesh-STA1 332, Mesh-STA1 336, and / or Mesh-Gate 320) can terminate the individual peer connection to Mesh-STA2 334-2.
[0077] In some respects, the remaining mesh nodes of MBSS-1 310 are able to blacklist mesh node Mesh-STA2 for a timeout period of several seconds. After the timeout period, if the active mesh node Mesh-STA2 has moved back to the coverage area of the mesh network MBSS-1 310 (e.g., if Mesh-STA2 moves from position 334-2 outside MBSS-1 back to position 334-1 within MBSS-1), pairing can be re-established.
[0078] For example, after the timeout period (which is triggered when Mesh-STA2 moves out of MBSS-1 to position 334-2, causing the remaining mesh nodes of MBSS-1 to terminate their individual peer connections to Mesh-STA2), if Mesh-STA2 moves back into MBSS-1 310, Mesh-STA2 can re-establish a pairing with the mesh nodes in the mesh network MBSS-1 310 and become part of the mesh network again.
[0079] If the mobile mesh node Mesh-STA2 moves away from MBSS-1 310 and / or approaches another mesh network MBSS-2 360, the mobile mesh node Mesh-STA2 will join MBSS-2 360, and the mobile mesh node Mesh-STA2 will have better radio connection quality to the mesh nodes in MBSS-2 360 (e.g., a pairing request transmitted by Mesh-STA2 to the mesh nodes in MBSS-2 360 is better than a pairing request transmitted to the mesh nodes in MBSS-1 310).
[0080] In some embodiments, during pairing with a new mesh node, the RSSI associated with the requesting peer can be considered (and, as previously noted, one or both of the RSSI and PER of the mesh node connection can be considered as a decision related to terminating an existing peer connection with another mesh node). In yet another embodiment, during pairing, only RSSI, or only PER, is considered to terminate the existing connection and accept the new peer. For example, a pairing request from a new mesh node is accepted only if the RSSI of the signal received from the new mesh node is higher than a predetermined threshold. In one embodiment, both RSSI and PER are considered when deciding whether to terminate an established peer mesh node. In another embodiment, only RSSI is considered as a basis for termination. In yet another embodiment, only PER is considered as a basis for termination.
[0081] Figure 4 is a signal diagram 400 according to some embodiments, illustrating an example of the signals associated with mesh pairing processing between a first mesh node (e.g., mesh node-1) 402 and a second mesh node (e.g., mesh node-2) 408. In some aspects, the first mesh node 402 may be identical to or similar to the second mesh node 408, and vice versa. In some examples, the first mesh node 402 and / or the second mesh node 408 may be identical to or similar to one or more mesh nodes in Figure 3. For example, the first mesh node 402 and / or the second mesh node 408 may be identical to or similar to one or more of Mesh-STA1 332, Mesh-STA2 334-1 / 334-2, Mesh-STA3 336, Mesh gate 320, Mesh gate 370, Mesh-STA4 382 and Mesh-STA5 384 and / or other similar devices in Figure 3.
[0082] In an illustrative example, the mesh pairing signal processing 400 of Figure 4 may include a scanning and exploration phase 410, an authentication phase 440, a mesh pairing phase 470, and a mesh pairing termination phase 490.
[0083] During the scanning and exploration phase 410, mesh node-1 402 sends broadcast probe requests 412, scans and explores peer mesh nodes 414, and broadcasts mesh beacons 416 to join the mesh network. Specifically, mesh node-1 402 can perform peer mesh node scanning and exploration 414 based on response information received from peer mesh nodes, whereby the response information from the peer mesh nodes responds to the broadcast probe requests sent by mesh node-1 402 in operation 412. Based on the broadcast probe responses received from the explored peer mesh nodes, mesh node-1 402 can start a new mesh network in operation 416. A mesh network can originate from one or more mesh nodes. For example, mesh node-1 402 can start a new mesh network containing only mesh node-1 402, and / or can start a new mesh network containing at least mesh node-1 402, etc. In some examples, mesh node-1 can start a new mesh network containing at least mesh network-1 402 and the peer mesh nodes explored in operation 414. Mesh network-1 402 starts a new mesh network in operation 416, the new mesh network can contain mesh network-1 402, and mesh network-1 402 begins transmitting mesh beacons corresponding to the newly started mesh network.
[0084] Mesh node-2 408 also transmits a broadcast probe request in operation 418, a process identical or similar to that of mesh node-1 402 in operation 412. Based on operation 422, which initiates scanning and exploring mesh peers, mesh node-2 408 is able to transmit the broadcast probe request of operation 418, identical or similar to operation 414 performed by mesh node-1 402 as previously described.
[0085] Since mesh node-1 402 is a neighboring / peer node of mesh node-2 408, broadcast probe requests from mesh node-2 408 can be received by mesh node-1 402. In response (e.g., in operation 418) to the broadcast probe request received from mesh node-2 408, in operation 424, mesh node-1 402 transmits a probe response and mesh network details to mesh node-2 408. In operation 426, mesh node-2 408 determines that a peer node has been discovered based on the probe response 424 received from peer mesh node-1 402.
[0086] In the authentication phase 440 of the mesh pairing signal diagram 400, in operation 442, mesh node-2 408 transmits an authentication management frame (e.g., an AUTH_Mgmt(Commit) frame) to mesh node-1 402. In operation 444, mesh node-1 402 transmits an authentication management frame (e.g., an AUTH_Mgmt(Commit)) to mesh node-2 408. In operation 446, mesh node-2 408 transmits, and mesh node-1 402 receives, an AUTH_Mgmt(Confirm) frame from mesh node-2 408. In operation 448, mesh node-1 402 transmits, and mesh node-2 408 receives, an AUTH_Mgmt(Confirm) frame from mesh node-1 402.
[0087] In the mesh peering phase 470 of mesh peering signal diagram 400, mesh node-2 408 transmits mesh peering management frames to mesh node-1 402 to confirm mesh peering. For example, in operation 472, mesh node-2 408 transmits a Mesh_Peering_Mgmt (PEER_Open) frame to mesh node-1 402. In operation 478, mesh node-1 402 transmits a Mesh_Peering_Mgmt (PEER_Confirm) frame to mesh node-2 408.
[0088] Similarly, in operation 474, mesh node-1 402 transmits a Mesh_Peering_Mgmt(PEER_Open) frame to mesh node-1 408. In operation 476, mesh node-2 408 transmits a Mesh_Peering_Mgmt(PEER_Confirm) frame to mesh node-1 402.
[0089] Mesh node-2 408 successfully joins the mesh network after receiving the mesh pairing management frame (PEER_Confirm) from mesh node-1 402. For example, mesh node-2 408 successfully joins the mesh network after receiving the mesh pairing management frame (PEER_Confirm) from mesh node-1 402 in operation 478.
[0090] In mesh pairing termination phase 490, previously paired mesh pairs are terminated (e.g., pairings between nodes that have successfully completed mesh pairing phase 470 can be terminated). For example, when mesh node-2 408 wishes to terminate its mesh pairing with mesh node-1 402, mesh node-2 408 (e.g., in block 492) can send a mesh pairing management frame (PEER_Close) to mesh node-1 402. Based on the PEER_Close mesh pairing management frame received in operation 492, mesh node-1 402 can terminate or close the peer connection between itself and mesh node-2 408. In operation 494, mesh node-1 402 can send a reply to mesh node-2 408, indicating that the peer connection between mesh node-1 402 and mesh node-2 408 has been closed. For example, in operation 494, mesh node-1 402 can transmit a mesh pairing management frame (PEER_Close) to indicate the successful termination or closure of the peer connection between mesh node-1 402 and mesh node-2 408.
[0091] Figure 5 is a signal diagram 500 according to some embodiments, illustrating an example of adaptive mesh pairing processing when a new peer is discovered after the maximum number of peer connections has been reached. For example, when a new peer mesh STA3 506 is discovered, and based on information that the peer connection to mesh STA1 502 has a weak signal strength, the existing peer mesh STA2 504 is terminated, this processing can be performed by mesh STA1 502. In some aspects, mesh STA1 502, mesh STA2 504 and / or mesh STA3 506 can be the same or similar to each other, and / or can be the same or similar to one or more of Mesh-STA1 332, Mesh-STA2 334-1 / 334-2, Mesh-STA3 336, mesh gate 320, mesh gate 370, Mesh-STA4 382 and Mesh-STA5 384 and / or other similar devices in Figure 3. In some respects, mesh STA1 502, mesh STA2 504 and / or mesh STA3 506 may be identical or similar to mesh STA1 402 and / or mesh STA2 408 in Figure 4.
[0092] In the example of Figure 5, the mesh STA1 502 can include a requester 512, a mac80211 element 514, and an upper-layer MAC driver 516.
[0093] In the first step of the adaptive mesh pairing process 500, the upper MAC driver 516 of mesh STA1 502 is able to receive beacon or probe responses transmitted from mesh STA3 506. In some respects, the upper MAC driver 516 of mesh STA1 502 can be used to determine whether the new peer mesh STA3 506 has a good (e.g., strong) signal strength on the peer connection to mesh STA1 502. Based on the determination that mesh STA3 506 does not have an existing pairing with mesh STA1 502 (e.g., mesh STA3 506 is a new mesh STA peer in relation to mesh STA1 502) and that mesh STA3 506 has a sufficiently good or strong signal strength to be added as a new peer of mesh STA1 502, in step 2, mesh STA1 502 can use the upper-layer MAC driver 516 to check (e.g., determine) whether it can kick out (e.g., terminate) an existing peer of mesh STA1 502 that has a weaker signal strength than the new peer mesh STA3 506, thus allowing the new peer mesh STA3 506 to be allowed as a new peer.
[0094] For example, the upper-layer MAC driver 516 of mesh STA1 502 can be configured to check whether any existing peer connection of mesh STA1 502 has a corresponding signal strength (e.g., RSSI) that is measured or determined to be lower than that of a new peer connection to which a new peer mesh STA3 506 is connected.
[0095] Based on the identification or determination by mesh STA1 502 that an existing peer has a lower signal strength than the new mesh STA3 506 (e.g., mesh STA1 502 can identify existing peer mesh STA2 504 as having a low signal strength, which is lower than the signal strength of the new peer mesh STA3 506), mesh STA1 502 can be configured to transmit a vendor event and the address of the existing peer with the lowest identified signal strength. In an illustrative example, upper-layer MAC driver 516 can transmit the vendor event and the address of the existing peer with the lowest identified signal strength (e.g., mesh STA2 504) to the supplicant 512 of mesh STA1 502.
[0096] When requester 512 of mesh STA1 502 receives a vendor event from upper-layer MAC driver 516, requester 512 closes (e.g., terminates) the peer connection matched by the address identified in the vendor event. In some aspects, requester 512 can close the peer connection at the identified low-signal-strength peer by transmitting a Peering Close Request Frame (e.g., Peering Close Request Frame) to the peer node with the address identified in the vendor event. For example, requester 512 of mesh STA1 502 can transmit a Peering Close Request Frame to mesh STA2 504 to indicate that the peer connection between mesh STA1 502 and mesh STA2 504 has been closed (e.g., terminated) by mesh STA1 502.
[0097] Terminating this peering connection with mesh STA2 504 creates the ability for mesh STA1 502 to establish peering connections with the new mesh STA3 506 (e.g., recall the scenario corresponding to process 500 depicted in Figure 5, where mesh STA1 502 has established the maximum allowed number of peering connections before discovering a new, stronger signal strength peering mesh STA3 506).
[0098] In some respects, after requester 512 transmits a Peering Close Request Frame to terminate the peering connection between mesh STA1 502 and mesh STA2 504, mesh STA1 502 and mesh STA3 506 can then establish a peering connection by exchanging pairing frames. For example, requester 512 can perform processing to establish a new peering connection from mesh STA1 502 to mesh STA3 506, and to exchange pairing frames. Requester 512 is a user space daemon used to maintain wireless connectivity. In some respects, the upper-layer MAC driver 516 forwards the beacon of the new peer mesh STA3 506 to the Mac80211 element 514, and then the Mac80211 element 514 provides NL80211_CMD_PEER_CANDIDATE information to the requester 512. The requester 512 can be configured to establish a peer connection with the new mesh STA3 506 and exchange pairing frames with the new mesh STA3 506. The pairing exchange frames between the requester 512 of mesh STA1 502 and the new mesh STA3 506 may include a pairing open request frame (from requester 512 to mesh STA3 506), a pairing confirm frame (from mesh STA3 506 to requester 512), a pairing open frame (from requester 512 to mesh STA3 506), and a pairing confirm frame (from mesh STA3 506 to requester 512). In the case of mesh STAs, the requester 512 of the mesh STA (e.g., mesh STA1 502) is responsible for (e.g., performing) mesh pairing management and Wi-Fi Protected Access (WPA) key handshake.
[0099] The adaptive mesh pairing system and technology described herein provide an innovative approach to managing weak peer connections in mesh networks. Adaptive mesh pairing technology is particularly useful when on-chip memory lamination can only support a limited number of peer connections. In Internet of Things (IoT) devices, cost and area constraints often result in chips with low memory availability, causing mesh nodes or mesh STA devices to be able to store only a limited number of encryption keys to the destination chip (e.g., a limited number of mesh peer connections can be maintained and stored on the chip's limited available memory). For example, in a mesh network, each mesh STA maintains a unique pairwise transit key (PTK) and a group temporary key (GTK) pair for each connection (unicast). However, it is not always possible to store these key pairs for every peer connection, especially in congested networks where a particular mesh STA may see many neighboring additional mesh STAs that can be configured as peers. When a mesh node reaches the maximum number of peer connections it can support, adaptive mesh pairing can replace peers with weak connections with peers with strong connections to solve this problem.
[0100] In some respects, a mesh node (such as mesh STA1 502) receives a beacon, probe reply, or pairing open frame to see a new peer (such as mesh STA3 506), and then checks whether the signal strength of the new peer (mesh STA3 506) is better than any existing peer by accessing all peer connections (e.g., comparing the signal strength of the new peer with the corresponding signal strength measured or determined by each existing peer of the mesh node).
[0101] The mesh node (Mesh STA1 502) checks the mesh ID of the new peer (Mesh STA3 506) to confirm that the new peer (Mesh STA3 506) wants to join the same MBSS, verifies the existence of the mesh configuration IE, and confirms that the new peer (Mesh STA3 506) is not yet part of the mesh network. The mesh node (Mesh STA1 502) also visits all existing peers, checking the number of peer connections each existing peer has and comparing signal strength. By checking the number of peer connections each existing peer has, the mesh node (Mesh STA1 502) ensures that existing peers are not completely disconnected from the mesh network, resulting in situations where some mesh nodes, although far from all other mesh nodes in the MBSS, can still see a mesh node. For example, if an existing peer has no other peers besides one mesh node, this existing peer will not be terminated and will not be considered as a candidate for termination (e.g., if mesh STA2 504 has no other peers besides mesh STA1 502, mesh STA1 502 will not identify mesh STA2 504 as a candidate for removal / termination. This is because if mesh STA2 504 were considered a candidate for removal / termination, mesh STA2 504 would be removed from the mesh network – instead, mesh STA1 502 could use the next lowest existing peer with other peer connections as a candidate for termination to create the ability to join a new peer mesh STA3 506; or alternatively, if mesh STA1 502 does not have an existing peer with at least one connection to other peers and a lower signal strength than mesh STA3 506, mesh STA1 502 can refuse to join mesh STA3 506). (506 sent pairing request).
[0102] Mesh nodes (Mesh STA1 502) can be configured to perform signal strength (e.g., RSSI) checks to ensure that a new peer (Mesh STA3 506) has a better signal strength than an existing peer (Mesh STA2), which is identified as a candidate for termination. In some cases, the signal strength check can be based on the determination that the new peer (Mesh STA3 506) has a higher signal strength / RSSI than the existing peer (Mesh STA2 504) by at least the configured RSSI margin (e.g., the difference between the RSSI of Mesh STA3 506 and the RSSI of Mesh STA2 504 is greater than or equal to the configured RSSI margin). In an illustrative example, the configured RSSI margin used for signal strength checking can use a preset or configured value of 5, or other exemplary values within the scope of this disclosure. In some cases, signal strength checks can be based on any amount by which the new peer (mesh STA3 506) has a higher signal strength / RSSI than the existing peer (mesh STA2 504) (e.g., the RSSI margin only needs to be positive or higher than 0).
[0103] Signal strength checks can be performed to compare the RSSI of a new peer that will join after the connection to an existing peer (Mesh STA2 504) is closed or terminated, to avoid the ping-pong effect often encountered in Wi-Fi roaming. Once a mesh node (Mesh STA1 502) detects a weak peer, for example, a weak peer (Mesh STA2 504) with a weaker signal strength than the new peer connection, the mesh node (Mesh STA1 502) can be configured to store the address of the weak peer to be kicked out, along with the corresponding timestamp. The upper-layer MAC (UMAC) driver 516 transmits a vendor event to the requester 512, indicating the address of the identified weak peer (Mesh STA2 504). The UMAC driver 516 can be further configured to check the input frames from the kicked-out peer (Mesh STA2 504) after issuing a peer indication to the requester 512. This ensures that a kicked-out peer (mesh STA2 504) will not immediately establish a peering connection (e.g., the kicked-out peer is blacklisted, or otherwise prevented from establishing a peering connection for at least the configured time, which can be a defined or specified time unit (e.g., a configuration timeout or blacklist period), or an indefinite or unspecified time unit). In some examples, the kicked-out peer is prevented from establishing a peering connection within the configuration time interval corresponding to the blacklist period or the timeout. Mesh nodes may allow the kicked-out peer to connect or pair again after the timeout period has arrived or expired.
[0104] After receiving a mesh peering event from the UMAC driver 516, the requester 512 checks if the peer address exists in the record of the Stations (STAs) list maintained by the requester 512, and closes the existing connection by sending a Pair Close Request Frame to the identified existing peer (Mesh STA 504). The Linux stack advertises mesh capability in the beacon that can accept more pairs, and once a peer connection is closed, the mac80211 514 enables the accepting additional peering bit in the beacon's mesh configuration IE. The Mac80211 is a framework that allows developers to use it to write drivers for SoftMAC wireless devices. SoftMAC devices allow for finer-grained control over the hardware, with software handling of 802.11 frame management, including parsing and generating wireless frames. After the existing weak peer connection (to mesh STA1 502) is closed, the mesh node (mesh STA1 502) establishes a peer connection with the new peer (mesh STA3 506).
[0105] Adaptive mesh pairing improves network performance when weak peer connections consume most of the call time with low data transfer rates, impacting other peer connections. It is important that the mesh STA maintains strong connections with good RSSI to avoid affecting data performance. Implementations of the adaptive mesh pairing algorithm kick out a peer only at a single point in time after the blacklist expires, and the mesh STA initiates adaptive mesh pairing. Some other implementations also handle situations where multiple available peers have better signal strength than some existing peer connections. The adaptive mesh pairing algorithm replaces more than one existing peer with a new peer based on the quality of the peer connection. In some implementations, the mesh STA only activates the adaptive mesh pairing algorithm to monitor mesh peer connections when the maximum number of peer connections is reached and a new peer with a better connection exists. In other implementations, the mesh STA continuously monitors existing mesh peer connections and kicks out any existing peers with weak connections. [Adaptive Root Network Node Management]
[0106] Path discovery frames generated by mesh peers to explore other peers can consume significant call time in congested mesh networks. To reduce call time and / or the number of path discovery frames, mesh networks can be configured to include one or more root mesh STAs. For example, as previously noted, root mesh STAs can be selected (e.g., chosen, configured, etc.) for a mesh network, and root mesh STAs can then broadcast root announcement frames to other non-root mesh STAs in the same mesh network. For example, while any mesh STA participating in a mesh network, as described above, can be selected as a root mesh STA (e.g., mesh STAs not acting as mesh gates or ingresses can also be used as root mesh STAs), root mesh STAs are often selected as mesh gates / mesh ingresses for the mesh network.
[0107] The root announcement frame broadcast by the selected root mesh STA is called a Root Announcement (RANN) message. For example, the RANN element can be transmitted in the path selection frame of the IEEE 802.11s Hybrid Wireless Mesh Protocol (HWMP). The RANN element (or other root announcement frames broadcast by the root mesh STA) can indicate information such as the root mesh STA address (e.g., MAC address), whether the root mesh STA is acting as a mesh gate, the interval at which the mesh root STA broadcasts the RANN message, and a jump count field that allows the STAs forwarding the RANN to modify, enabling each STA to determine its distance to the root mesh STA.
[0108] Generally, root announcement frames (such as RANNs) are generated periodically by the root mesh STA and used to announce the existence of the root mesh STA to other peers in the mesh network. Other non-root peers in the mesh network learn mesh paths (e.g., to the root mesh STA) based on path replies transmitted by other mesh peers. The configuration and selection of the root mesh node are usually static, and the role of the root node is not expected to change. Accordingly, after the initial configuration, the RANNs and / or other messages used to identify the root node, its location, and / or path in the configuration typically do not change. However, problems can arise when mesh peers move, because such movement, combined with the static configuration of the root mesh STA, may cause peers to be unable to find the root (or more specifically, the path to the mesh root STA) and / or may cause peers to be unable to find each other in the mesh network. In some respects, the systems and techniques described herein can be used to address this challenge by providing a dynamic approach to discovering appropriate mesh peers that will be designated (e.g., configured, selected, utilized, etc.) as root mesh STAs. The dynamic identification and designation / configuration of root mesh STAs can be performed periodically at configuration or dynamic intervals. For example, for a mesh network, the dynamic identification and designation of root mesh STAs can be continuously performed in response to changes in the mesh network dynamics, as described in more detail in the following paragraphs.
[0109] In an illustrative example, a novel method for dynamically selecting and configuring dynamic root mesh nodes in a mesh network is described to improve the overall performance of the mesh network. Some examples of root mesh node management techniques may involve assigning root mesh nodes and / or releasing existing root mesh nodes based on one or more conditions of the mesh network. In some embodiments, these conditions for assigning and / or releasing root mesh nodes may include (but are not limited to) the number of peer mesh nodes directly connected to the candidate root mesh node, and the number of root mesh nodes directly connected to this candidate root mesh node.
[0110] For example, the situation may include the number of mesh nodes reachable by a candidate root mesh node, where the candidate root mesh node can reach a larger number of mesh nodes in the network, and receives preferences or priorities from different candidate root mesh nodes that reach a smaller number of mesh nodes in the network. Based on the path table information of the candidate root mesh node, the number of mesh nodes reachable from the candidate root mesh node can be determined, whereby the candidate root mesh node maintains and updates the path table information according to path replies sent by other mesh nodes in the network and received by the candidate root mesh node.
[0111] In some embodiments, a non-root mesh node can be designated as a root mesh node based on the determination that it manages too many fronthaul packets. For example, adaptive root mesh node management techniques can determine whether to designate a non-root mesh node as a root mesh node based on call packet count, total call time, or both, where the call packet count and total call time of the non-root mesh node are measured within a measurement window or other pre-determined time interval.
[0112] In some paradigms, a mesh STA can be configured as a root mesh node only if it has more than one peer associated with it and the STA does not have any existing root mesh node in the mesh network with direct access (e.g., no single-hop link). Direct access is defined as a hop distance. This allows for more dynamic management of the mesh network to address peer mobility issues. Once two root mesh nodes are directly connected with a hop distance, root mesh node management techniques can be used and / or configured to stop root advertisements from being transmitted from a root mesh node that has no other connected peers besides other root mesh nodes. This reduces the number of root advertisement (RANN / GANN) broadcast frames in the mesh network.
[0113] Figure 6 is a schematic diagram of an example of adaptive root mesh node management of an MBSS 610 according to some embodiments, the MBSS 610 including multiple root mesh nodes (e.g., also referred to as root mesh STAs). In some aspects, the MBSS 610 may be the same as or similar to one or more of the MBSS-1 310 of Figure 3, the MBSS-2 360 of Figure 3, etc. The MBSS 610 of Figure 6 includes multiple mesh STAs (e.g., root mesh STA1 605, root mesh STA2 634, non-root mesh STA2 642, non-root mesh STA3 643, non-root mesh STA4 644, non-root mesh STA5 645, non-root mesh STA6 636-1, etc.). The mesh STAs included in the MBSS 610 and / or the corresponding mesh network can be of various different types. Furthermore, the mesh STAs included in the MBSS 610 can be configured to different roles. For example, one or more mesh STAs in MBSS 610 can be configured as root mesh nodes and / or one or more mesh STAs in MBSS 610 can be configured as mesh entry nodes.
[0114] For example, the mesh STA1 605 shown in Figure 6 is configured simultaneously as a root mesh node and a mesh ingress node. In its role as a mesh ingress node, the mesh STA1 605 provides connectivity between the MBSS 610 and one or more additional networks. For instance, as a mesh ingress node, the mesh STA1 605 connects the MBSS 610 (and all mesh STAs contained within the MBSS 610) to the Internet gateway 660, enabling Internet connectivity from the Internet gateway 660 to all other mesh nodes in the MBSS 610.
[0115] A mesh network or MBSS can have one root mesh node or multiple root mesh nodes. For example, MBSS 610 includes a first mesh STA 605 and a second mesh STA2 634. In this example, the first mesh STA1 605 is configured as a mesh ingress, and as previously mentioned, the second mesh STA2 634 is not configured as a mesh ingress.
[0116] In an illustrative example, Figure 6 depicts a scenario where, based on the movement of paired mesh node STA6 out of the coverage area of MBSS 610, root mesh STA2 634 is no longer a valid root mesh node. For example, paired mesh node STA6 may move from a first position 636-1 (within the coverage area of MBSS 610) to a second position 636-2 (which may be completely outside the coverage area of MBSS 610, or closer to the edge of the coverage area of MBSS 610 compared to the first position 636-1). When in the first position 636-1, mesh STA6 is a paired mesh node with a peer connection to the second root mesh STA2 634. When in the second position 636-2, for example, if the peer connection quality (e.g., based on RSSI, PER, or both) no longer meets the minimum connection quality thresholds corresponding to Figures 3 to 5 as described above, mesh STA6 may no longer be a paired mesh node of the second root mesh STA2 634.
[0117] In MBSS 610, the root mesh node STA1 605 is also the mesh ingress, providing connectivity to the Internet gateway 660 for all other mesh nodes in MBSS 610. Because all other mesh nodes in MBSS 610 have paths to the root mesh STA1 and the mesh ingress 605, all other mesh nodes in MBSS 610 have paths to the Internet via the Internet gateway 660. These mesh nodes may have direct or indirect paths to the root mesh STA1 and the mesh ingress 605. For example, root mesh STA2 634, the first non-root mesh STA1 641, the second non-root mesh STA2 642, the third non-root mesh STA3 643, the fourth non-root mesh STA4 644, and the fifth non-root mesh STA5 645 all have direct, one-hop paths to the root mesh STA1 and the mesh ingress 605.
[0118] When in position 636-1 (e.g., within MBSS 610), the sixth non-root mesh STA6 does not possess a direct, one-hop path to the root mesh STA1 and mesh ingress 605. Instead, the sixth non-root mesh STA6 connects to the second root mesh STA2 634, which is designated as the root mesh node and a peer mesh node of mesh STA6. Accordingly, mesh STA6 can connect to the mesh network via the second root mesh node provided by root mesh STA2 634. Mesh node STA6 can connect to the mesh network via root mesh STA2 634 and learn paths to all mesh peers in MBSS 610 based on root declarations (e.g., RANN / GANN) from root mesh STA2 and corresponding responses from other peers.
[0119] When mesh STA6 moves away from MBSS 610 (e.g., when mesh STA6 moves from position 636-1 to position 636-2), the root declaration (such as RANN / GANN) of root mesh STA2 634 becomes redundant because there are no other mesh nodes in MBSS 610 that are only connected to root mesh STA2 634. For example, when mesh STA is in position 636-1, it is the only mesh STA that makes root mesh STA2 634 its single-hop paired root node – each of the remaining mesh STAs in MBSS 610 has at least root mesh STA1 and mesh ingress 605 as single-hop paired root nodes.
[0120] Accordingly, when mesh STA6 moves away from or beyond MBSS 610 to the second position 636-2, configuring root mesh STA2 634 as the second root node of MBSS 610 becomes redundant. All other mesh STAs in MBSS 610 can directly receive root declarations from root mesh STA1 and mesh ingress 605. For example, when the first non-root node STA1 641 is connected to both root mesh STA2 634 and root mesh STA1 and mesh ingress 605 via a single-hop pair, receiving root declarations from both root mesh STA2 634 and root mesh STA1 and mesh ingress 605 is redundant and unnecessary for the first non-root node STA1 641. However, existing mesh network implementations use static root node configuration and management, and do not support dynamic / automatic updates and / or reconfigurations of root mesh node roles within a mesh network / MBSS. Therefore, the existing mesh network implementation and static root node configuration and management will maintain the configuration of root mesh STA2 634 as the root node, and even after mesh STA6 leaves, root mesh STA2 634 will no longer be the sole single-hop root node peer of any other non-root mesh node in MBSS 610, and root mesh STA2 634 will continue to periodically broadcast root declarations RANN / GANN.
[0121] When changes in network topology or network dynamics cause existing root nodes to no longer provide a single-hop / direct connection to at least one non-root mesh STA, the systems and techniques described herein can improve the efficiency of mesh root node management and configuration by allowing these root nodes to cease acting as roots. For example, in the example of Figure 6, the first non-root node STA1 641 can receive root declarations only from root mesh STA1 and mesh ingress 605 without any adverse impact on its operation or capabilities to reach root nodes, mesh ingress 605, and / or internet gateway 660. Accordingly, these systems and techniques can treat the departure of mesh STA6 from MBSS 610 as a trigger condition to remove the root role of root mesh STA2 634 or the configuration of the root node of MBSS 610 when mesh STA6 leaves MBSS 610 and moves to the second position 636-2, and root mesh STA2 634 can be reconfigured to start operating as a general (e.g., non-root) mesh node.
[0122] An embodiment of the adaptive root mesh node management method involves changing the root mesh node configuration of the existing root mesh node (e.g., root mesh STA2) to a general (e.g., non-root) mesh node configuration when all non-root mesh nodes are directly connected to an existing root mesh node (e.g., root mesh STA2) and also directly connected to another root mesh node (e.g., root mesh STA1 and mesh ingress 605). This change avoids the periodic transmission of more root advertisement RANN / GANN frames from the existing root mesh node (e.g., root mesh STA2 634), thereby reducing overall network traffic and / or call time on the radio medium used by MBSS 610.
[0123] As described and envisioned in the specification, each mesh node in various embodiments is capable of managing the Medium Access Control (MAC) layer and the Physical Layer (PHY) layer according to the IEEE 802.11 (Wi-Fi) standard. For example, the mesh node can be a mobile device, personal computer, laptop, Internet of Things (IoT) device, wearable device, augmented reality device, video server, or communication device in a vehicle. The mesh node includes a radio frequency (RF) transmitter, an RF receiver, an antenna, one or more memory banks, input and output interfaces, and communication buses. The RF transmitter encodes digital information to transmit data by modulating one or more carrier signals, and the RF receiver reconstructs the original digital information to receive data by demodulating the signals. The mesh node includes a MAC processor, a PHY processor, and a host processor. These processors can be any type of integrated circuit (IC), including general processing units (GPUs), application-specific integrated circuits (ASICs), ICs based on reduced instruction set computer-5 (RISC-V), and other similar devices. The memory bank stores software containing the functionality of the MAC layer. Each processor executes its own software to implement the corresponding communication / application layer functionality. The PHY processor specifically includes transmit signal processing units and receive signal processing units, as well as a management interface and wireless medium (WM). The PHY processor operates Physical layer Protocol Data Units (PPDUs) by exchanging digital samples with the radio module, which includes an RF transmitter, digital-to-analog converters (DACs), an RF receiver, analog-to-digital converters (ADCs), and digital filters. The MAC processor executes instructions at the MAC layer and manages the interface between the application software and the wireless medium through the PHY processor. The MAC processor coordinates access to the wireless medium, enabling efficient communication between mesh nodes within a given distance. The MAC processor provides data from multiple units to higher layers, along with header and trailer bytes, and sends them to the PHY layer for transmission.When receiving data from the PHY layer, the reverse process is performed. If the received frame contains errors, the MAC processor manages the retransmission of the wireless frame. The HOST processor interfaces with the MAC layer and is responsible for running the higher-level functions of the wireless communication device.
[0124] Figure 7 is a flowchart of an example process 700 for an adaptive root mesh configuration of the first mesh node in a mesh network. For example, process 700 can be executed by the first mesh node in a mesh network that is identical or similar to the mesh network associated with MBSS 610 of Figure 6. In one example, the first mesh node may be identical or similar to the root mesh STA2 634 of Figure 6, and / or the root mesh STA1 and mesh inlet 605 of Figure 6. In some aspects, the mesh network may be identical or similar to one or more mesh networks such as MBSS-1 and / or MBSS-2 of Figure 3.
[0125] In block 702, process 700 includes the first mesh node broadcasting a root declaration frame at a configuration time interval based on its configuration and the root mesh node role of the mesh network. The root declaration frame announces the existence of the first mesh node as the root mesh node of the mesh network. In block 704, process 700 includes the first mesh node receiving multiple path response messages from one or more mesh peers in the mesh network. Each path response message responds to a corresponding path request message. In block 706, process 700 includes determining mesh network update status information based on the multiple path response messages. In block 708, process 700 includes configuring the first mesh node as a non-root mesh node or configuring it to maintain its root mesh node role. The configuration of the first mesh node as a non-root or root mesh node is determined based on the mesh network update status information.
[0126] Figure 8 illustrates a computing device architecture 800 for a computing device that can implement one or more of the technologies described above. In some examples, the computing device may include a mobile device, a wearable device, an augmented reality device (such as a Virtual Reality (VR), Augmented Reality (AR), or Mixed Reality (MR) device), a personal computer, a laptop computer, a video server, a vehicle (or a computing device on a vehicle), or other devices. The components shown in the computing device architecture 800 communicate electrically with each other using wiring 805, such as a bus. The computing device architecture 800 includes a processing unit 810 and computing device wiring 805 for coupling various computing device components to the processor 810, which includes computing device memory 815, such as read-only memory (ROM) 820 and random-access memory (RAM) 825.
[0127] The computing device architecture 800 may include a cache of high-speed memory that is directly connected to, close to, or integrated into the processor 810. The computing device architecture 800 may copy data from memory 815 and / or storage device 830 to the cache 812 for fast access by the processor 810. In this way, the cache improves performance and avoids latency for the processor 810 while waiting for data. These components and other engines can control or be configured to control the processor 810 to perform various actions. Other computing device memories 815 may also be used. Memory 815 may contain multiple different types of memory with different performance characteristics. The processor 810 may include any general-purpose processor and hardware or software services, such as services 1 832, service 2 834, and service 3 836 stored in storage device 830, configured to work with a dedicated processor to control the processor 810, wherein software instructions are incorporated into the processor design. The 810 processor can be a standalone system, containing multiple cores or processors, buses, memory controllers, caches, etc. Multi-core processors can be symmetric or asymmetric.
[0128] To enable users to interact with the computing device architecture 800, input device 845 can represent any number of input mechanisms, such as a microphone for receiving voice, a touchscreen for gesture or graphical input, a keyboard, a mouse, motion input, voice, etc. Output device 835 can be one or more output mechanisms known to those skilled in the art, such as a monitor, projector, television, speaker device, etc. In some cases, multi-mode computing devices allow users to provide diverse inputs to communicate with the computing device architecture 800. Communication interface 840 typically controls and manages user inputs and computing device outputs. There are no restrictions on operation on any particular hardware configuration, therefore the basic functions here can be easily replaced with improved hardware or software configurations during development.
[0129] Storage device 830 is non-volatile memory and may be a hard disk or other type of computer-readable media capable of storing computer-accessible data, such as magnetic tape, flash memory card, solid-state drive, digital multifunction disk, card tape, RAM, ROM, and hybrid media. Storage device 830 may include services 832, 834, and 836 for controlling processor 810. Other hardware or software modules or engines are also contemplated. Storage device 830 may be connected to computing device wiring 805. In one aspect, a hardware module implementing a specific function may contain software or processor-readable code stored in a computer-readable medium to perform those functions in conjunction with necessary hardware such as processor 810, wiring 805, output device 835, etc.
[0130] The terms "device" or "module" are not limited to one or a specific number of physical objects (e.g., a smartphone, a controller, a processing system, etc.). As used herein, a device can be any electronic device having one or more components that performs at least some of the functions of the invention as disclosed herein.
[0131] Individual aspects of the invention may be described in the text as processes or methods, and shown as flowcharts or data flow diagrams. While flowcharts may describe operations as sequential processes, multiple operations may be executed in parallel or simultaneously. Furthermore, the order of these operations may be rearranged. The process terminates upon completion of an operation, but may continue with other steps not included in the diagram. A process may correspond to a method, function, program, subroutine, subroutine, etc. When a process corresponds to a function, its termination may correspond to the function returning to the calling function or the main function.
[0132] The technologies described herein can be implemented in electronic hardware, computer software, firmware, or any combination thereof. These technologies can be implemented in any of a variety of devices, such as general-purpose computers, handheld wireless communication devices, or integrated circuits, and have a variety of uses, including applications in handheld wireless communication devices or other devices. Any feature described as a module or component can be implemented together in an integrated circuit device or separately in separate but interoperable logic devices. If implemented in software, these technologies can be implemented at least in part through a computer-readable data storage medium containing program code, which, when executed, performs one or more of the methods described above.
[0133] The code can be executed by a processor, which may include one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits, field-programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Such a processor can be configured to perform any of the techniques described in this disclosure. A general-purpose processor may be a microprocessor; however, in alternative instances, the processor may be any conventional processor, controller, microprocessor, or state machine. The processor may be implemented as a combination of multiple computing devices.
[0134] 100: Wireless communication network 102: Access Point 104a, 104b, 104c, 104d: Sites 106: Coverage Area 108a, 108b, 108c, 108d: Wireless connection 110: Direct wireless connection 200: Wireless communication device 202: Radio Frequency Transmitter Module 204: Radio Frequency Receiver Module 206: Antenna Unit 208: Memory Group 210: Input and Output Interface 212: System Bus 214: Media Access Control Layer Processor 216: Physical Layer Processor 218: Main Processor 220: Surrounding busbars 250: Receiver Data Stream Architecture 252: Receiving Antenna 254: Analog RF Receiver Filter 256: Analog-to-Digital Converter 258: Digital Filter Bank 260: Asynchronous Receive First-In-First-Out Buffer Data Structure 262: Local area of the lower solid layer 264: Local area of upper solid layer 266: Media Access Control Layer 268: Main Layer 280: Transmitter Data Stream Architecture 282: HOST or application module 284: Media Access Control Management Module 286: Entity Layer Management Module 288: Encoder Module 290: Digital Lock-in Circuit 292: Analog Filter 294: Transmitting Antenna 300a: Network Configuration 305: Wi-Fi HaLow network 310: First Mesh Basic Service Set 320: Mesh gate 332, 334-1, 334-2, 336: Network sites 360: The Second Mesh Basic Service Set 370: Mesh gate 382, 384: Network sites 400: Mesh Pairing Signal Processing 402, 408: Mesh nodes 410: Scanning and Exploration Phase 412,414,416,418,422,424,426: Operations 440: Certification Phase 442, 444, 446, 448: Operations 470: Reticulated pairing stage; 472, 474, 476, 478: Operations 490: Termination phase of reticular pairing 492,494: Operations 500: Adaptive reticular pairing processing 502, 504, 506: Mesh sites 512: Requester 514:mac80211 516: Upper-layer media access control driver 610: Network Basic Data Set 605: Root mesh sites and mesh gateways 634: Root Mesh Sites 636-1, 636-2, 641, 642, 643, 644, 645: Network sites 660: Internet Gateway 700: Flowchart for Adaptive Root Network Configuration 702, 704, 706, 708: Squares 800: Computing Device Architecture 805: Wiring 810: Processor 812: Cache 815: Memory 820: Read-only memory 825: Random Access Memory 830: Storage device 832: Service 1 834: Service 2 835: Output device 836: Service 3 840: Communication Interface 845: Input device
Claims
1. An adaptive root network configuration method, wherein the first network node is a network node in a network, the adaptive root network configuration method comprising: The first mesh node, based on its configuration and its role as the root mesh node in the mesh network, broadcasts a root declaration frame at configuration time intervals. The root declaration frame declares the existence of the first mesh node as the root mesh node of the mesh network. The first mesh node receives multiple path response messages from one or more mesh peers in the mesh network, each path response message responding to a corresponding path request message. The first mesh node determines the mesh network's update status information based on the multiple path response messages. It also configures itself as a non-root mesh node or maintains its root mesh node role, where the configuration of the first mesh node as a non-root mesh node or as the root mesh node is determined based on the mesh network's update status information.
2. The adaptive root network configuration method as described in claim 1, wherein, The steps of configuring the first mesh node as the non-root mesh node role or configuring the first mesh node to maintain the root mesh node role include: implementing adaptive root mesh configuration for the first mesh node.
3. The adaptive root network configuration method as described in claim 2, wherein, The adaptive root mesh configuration is determined based on the update status information, and the adaptive root mesh configuration is an indication that the first mesh node will use the non-root mesh node role or the root mesh node role.
4. The adaptive root network configuration method as described in claim 1, wherein: The adaptive root mesh configuration allows the first mesh node to maintain the root mesh node role; and in order to maintain the root mesh node role, the first mesh node is configured to continue generating and broadcasting the root declaration frames at the time intervals specified in the configuration.
5. The adaptive root network configuration method as described in claim 2, wherein, The adaptive root mesh configuration allows the first mesh node to switch from the role of the root mesh node to the role of the non-root mesh node.
6. The adaptive root network configuration method as described in claim 5, wherein, In order to switch from the root mesh node role to the non-root mesh node role, the first mesh node is configured to stop broadcasting the root announcement frame.
7. The adaptive root network configuration method as described in claim 1, wherein, The update status information of the mesh network indicates the number of peer mesh nodes directly connected to the first mesh node, or the number of additional root mesh nodes directly connected to the first mesh node, or the number of peer mesh nodes directly connected to the first mesh node and the number of additional root mesh nodes directly connected to the first mesh node.
8. The adaptive root network configuration method as described in claim 7, wherein, The first mesh node is configured to switch from the root mesh node role to the non-root mesh node role based on the following conditions: the number of peer mesh nodes directly connected to the first mesh node is less than a threshold; and the number of additional root mesh nodes directly connected to the first mesh node is at least one.
9. The adaptive root network configuration method as described in claim 7, wherein, When the number of additional root mesh nodes directly connected to the first mesh node is at least one, the first mesh node is configured as a general mesh node, and the configuration of the first mesh node as the general mesh node corresponds to configuring the first mesh node as the non-root mesh node role.
10. The adaptive root network configuration method as described in claim 7, wherein, The first mesh node is configured to maintain the root mesh node role based on the following conditions: the number of peer mesh nodes directly connected to the first mesh node is higher than a threshold; and the number of additional root mesh nodes directly connected to the first mesh node is zero.
11. The adaptive root network configuration method as described in claim 7, wherein: When there is a one-hop distance between a peer mesh node and the first mesh node, the peer mesh node is directly connected to the first mesh node; and when there is a one-hop distance between an additional root mesh node and the first mesh node, the additional root mesh node is directly connected to the first mesh node.
12. The adaptive root network configuration method as described in claim 1, wherein, The determination of the update status information of the mesh network is also based on the relevant information of the packets forwarded by the first mesh node in the mesh network.
13. The adaptive root network configuration method as described in claim 12, wherein, The update status information of the mesh network is determined based on one or more call packet counts associated with the packets forwarded by the first mesh node, or based on the total call time forwarded by the first mesh node.
14. A first mesh node, in a mesh network, comprising: Radio frequency receivers and radio frequency transmitters; The processor is communicatively coupled to the radio frequency receiver and the radio frequency transmitter; The processor also includes one or more memory groups communicatively coupled to the processor, storing processor-readable code that, when executed, causes the processor to perform the following actions: Based on the configuration of the first mesh node and its root mesh node role, the RF transmitter broadcasts a root announcement frame at configuration time intervals, wherein the root announcement frame announces the existence of the first mesh node as the root mesh node of the mesh network; the RF receiver receives multiple path response messages from one or more mesh peers in the mesh network, wherein each of the multiple path response messages responds to a corresponding path request message; the RF receiver determines the mesh network update status information based on the multiple path response messages; and the RF receiver configures the first mesh node as a non-root mesh node or configures the first mesh node to maintain its root mesh node role, wherein the configuration of the first mesh node as a non-root mesh node or the root mesh node role is determined based on the mesh network update status information.
15. The first mesh node as described in claim 14, wherein, The actions of configuring the first mesh node as the non-root mesh node role or configuring the first mesh node to maintain the root mesh node role include: implementing adaptive root mesh configuration for the first mesh node.
16. The first mesh node as described in claim 15, wherein, The adaptive root mesh configuration is determined based on the update status information, and the adaptive root mesh configuration is an indication that the first mesh node will use the non-root mesh node role or the root mesh node role.
17. The first mesh node as described in claim 15, wherein: The adaptive root mesh configuration allows the first mesh node to maintain the root mesh node role; and in order to maintain the root mesh node role, the first mesh node is configured to continue generating and broadcasting the root declaration frames at the time intervals specified in the configuration.
18. The first mesh node as described in claim 15, wherein, The adaptive root mesh configuration allows the first mesh node to switch from the role of the root mesh node to the role of the non-root mesh node.
19. The first mesh node as described in claim 18, wherein, In order to switch from the root mesh node role to the non-root mesh node role, the first mesh node is configured to stop broadcasting the root announcement frame.
20. The first mesh node as described in claim 14, wherein, The update status information of the mesh network indicates the number of peer mesh nodes directly connected to the first mesh node, or the number of additional root mesh nodes directly connected to the first mesh node, or the number of peer mesh nodes directly connected to the first mesh node and the number of additional root mesh nodes directly connected to the first mesh node.