Method and apparatus for wireless network
By using supervision services and machine learning models in the wireless network to predict the actions of nodes, the network interruption problem caused by changes in radio frequency conditions is solved, and the stability and continuity of the wireless network are achieved.
Patent Information
- Application Number
- CN202180027196.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-30
- Filing Date
- 2021-04-16
- Publication Date
- 2025-08-15
- Estimated Expiration
- 2041-04-16
AI Technical Summary
In an industrial environment, the line of sight between nodes and access points may suddenly change due to the movement of vehicles and containers, resulting in blockage of radio frequency conditions and network interruption. The existing technology is difficult to effectively predict and avoid this situation, causing confusion to network administrators.
The frequency-time Doppler profile information of the endpoint node is obtained through the supervision service of the wireless network, and the action of the node is predicted using machine learning models, prompting the node to roam or adjust the access point before the potentially shadowed area to maintain network connectivity.
It realizes timely adjustments before nodes enter the RF shadow area to avoid network interruptions, improves the stability and continuity of wireless networks, and reduces the trouble caused by network interruptions.
Smart Images

Figure CN115380552B_ABST
Abstract
Description
[0001] Related applications
[0002] This application claims priority to U.S. utility patent application No. 16 / 862,738, filed on April 30, 2020 by Shankar Ramanathan, entitled “ENVIRONMENTAWARE NODE REDUNDANCY AND OPTIMIZED ROAMING,” the contents of which are incorporated herein by reference. Technical Field
[0003] The present disclosure relates generally to computer networks, and more particularly to context-aware node redundancy and optimized roaming. Background Art
[0004] As wireless access points become more common, they are increasingly being deployed in industrial environments. Typically, this is accomplished through the implementation of a wireless mesh, whereby access points relay communications between each other to deliver data to and from clients. This contrasts with traditional enterprise wireless networks.
[0005] Environmental conditions in industrial environments are constantly changing. This applies to a wide variety of use cases, from open-pit mining to container ports. For example, what might be considered perfect line of sight (LoS) between a node and access point can suddenly change when there is a large volume of vehicles, container movement, and so on. This can lead to obstructed LoS and suboptimal radio frequency (RF) conditions in very confined areas. Site surveys are also of little help for highly dynamic and persistent traffic-prone deployments. In such scenarios, nodes often suddenly drop traffic, causing confusion for network administrators, who may mistake obstructed LoS issues for configuration or software-level issues. Summary of the Invention
[0006] According to an embodiment of the present disclosure, a method is provided, comprising: obtaining, by a supervisory service of a wireless network, frequency-time Doppler profile information of an endpoint node, the endpoint node being attached to a first access point in the wireless network; using, by the supervisory service, the frequency-time Doppler profile information of the endpoint node as input to a machine learning model, wherein the machine learning model is trained to output an action of the endpoint node with respect to the wireless network; and causing, by the supervisory service, the action of the endpoint node with respect to the wireless network to be executed.
[0007] According to an embodiment of the present disclosure, a device is provided, comprising: one or more network interfaces for communicating with a wireless network; a processor coupled to the one or more network interfaces and configured to execute one or more processes; and a memory configured to store processes that can be executed by the processor, the processes being configured, when executed, to: obtain frequency-time Doppler profile information of an endpoint node attached to a first access point in the wireless network; use the frequency-time Doppler profile information of the endpoint node as input to a machine learning model, wherein the machine learning model is trained to output actions of the endpoint node with respect to the wireless network; and cause the actions of the endpoint node with respect to the wireless network to be executed. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The embodiments herein may be better understood by referring to the following description in conjunction with the drawings, wherein like reference numerals indicate identical or functionally similar elements, and wherein:
[0009] Figure 1 An example computer network is shown;
[0010] Figure 2 Example network devices / nodes are shown;
[0011] Figure 3 shows an example industrial environment where a wireless mesh network is located;
[0012] Figure 4 An example architecture for context-aware node redundancy and optimized roaming is shown;
[0013] Figure 5 An example machine learning model is shown; and
[0014] Figure 6 An example simplified process for controlling operations in a wireless network is shown. DETAILED DESCRIPTION
[0015] Overview
[0016] Various aspects of the invention are set out in the independent claims and preferred features are set out in the dependent claims. Features of one aspect may be applicable to any aspect alone or in combination with other aspects.
[0017] According to one or more embodiments of the present invention, a supervisory service for a wireless network obtains frequency-time Doppler profile information for an endpoint node attached to a first access point in the wireless network. The supervisory service uses the frequency-time Doppler profile information for the endpoint node as input to a machine learning model. The machine learning model is trained to output an action for the endpoint node with respect to the wireless network. The supervisory service causes the action with respect to the endpoint node to be performed.
[0018] describe
[0019] A computer network is a geographically distributed collection of nodes interconnected by communication links and segments to transmit data between end nodes (e.g., personal computers and workstations) or other devices (e.g., sensors). Various types of networks can be used, ranging from local area networks (LANs) to wide area networks (WANs). LANs typically connect nodes located in the same general physical location (e.g., a building or campus) via dedicated private communication links. WANs, on the other hand, typically connect geographically dispersed nodes via long-distance communication links (e.g., public carrier telephone lines, optical fiber, Synchronous Optical Network (SONET), Synchronous Digital Hierarchy (SDH) links, or Power Line Communication (PLC), among others). Other types of networks, such as field area networks (FANs), neighborhood area networks (NANs), and personal area networks (PANs), may also form components of any given computer network.
[0020] In various embodiments, the computer network may include an Internet of Things network. Roughly speaking, the term "Internet of Things" or "IoT" (or "Internet of Everything" or "IoE") refers to uniquely identifiable objects (things) and their virtual representations in a network-based architecture. Specifically, IoT involves the ability to connect not just computers and communication devices, but more specifically, the ability to connect general "objects" (e.g., lights, appliances, vehicles, heating, ventilation, and air conditioning (HVAC), windows and curtains and blinds, doors, locks, etc.). Thus, the "Internet of Things" generally refers to the interconnection of objects such as sensors and actuators (e.g., smart objects) through a computer network (e.g., through IP), which may be the public Internet or a private network.
[0021] IoT networks often operate within a shared media mesh network (e.g., wireless or PLC networks) and are typically based on so-called low-power lossy networks (LLNs), a type of network where both routers and their interconnections are constrained. This means that LLN devices / routers typically operate under limited conditions, such as processing power, memory, and / or energy (batteries), and their interconnections are characterized by, illustratively, high loss rates, low data rates, and / or instability. IoT networks can consist of tens to thousands or even millions of objects and support point-to-point traffic (between devices within the network), point-to-multipoint traffic (from a central control point, such as a root node, to a subset of devices within the network), and multipoint-to-point traffic (from devices within the network toward the central control point).
[0022] Fog computing is a distributed approach to cloud implementation that acts as an intermediary between local networks (e.g., IoT networks) and the cloud (e.g., centralized and / or shared resources, as those skilled in the art will understand). Generally speaking, fog computing entails using devices at the network edge to provide application services, including computing, networking, and storage, to local nodes in the network, in contrast to cloud-based approaches that rely on remote data centers / cloud environments for services. To this end, fog nodes are functional nodes deployed near fog endpoints to provide computing, storage, and networking resources and services. Multiple fog nodes are organized or configured together to form a fog system to implement a specific solution. In various implementations, fog nodes and fog systems can have the same or complementary functionality. That is, each individual fog node does not necessarily implement the entire range of functionality. Instead, fog functionality can be distributed across multiple fog nodes and systems, which can collaborate to help each other provide the required services. In other words, a fog system can include any number of virtualized services and / or data stores distributed across distributed fog nodes. This can include master-slave, publish-subscribe, or peer-to-peer configurations.
[0023] Low-power lossy networks (LLNs), such as certain sensor networks, can be used in a variety of applications, such as "smart grids" and "smart cities." Many challenges in LLNs have been raised, such as:
[0024] 1) Links are generally lossy, causing packet delivery rate / ratio (PDR) to vary significantly due to various interference sources, for example, significantly affecting the bit error rate (BER);
[0025] 2) Links are generally low bandwidth, so control plane traffic must generally be limited and negligible compared to low-rate data traffic;
[0026] 3) There are many use cases that require specifying a set of link and node metrics, some of which are dynamic and thus require specific smoothing functions to avoid routing instabilities that can significantly consume bandwidth and energy;
[0027] 4) Some applications may require restrictive routing, for example, establishing routing paths that avoid unencrypted links, nodes operating at low energy, etc.
[0028] 5) The size of the network can become very large, e.g., on the order of thousands to millions of nodes; and
[0029] 6) Nodes may be limited by low memory, reduced processing power, or low power (e.g., battery).
[0030] In other words, an LLN is a type of network in which both routers and their interconnections are constrained: LLN routers typically operate under limited conditions, such as processing power, memory, and / or energy (batteries), and their interconnections are characterized by, illustratively, high loss rates, low data rates, and / or instability. An LLN consists of tens to thousands or even millions of LLN routers and supports point-to-point traffic (between devices within the LLN), point-to-multipoint traffic (from a central control point to a subset of devices within the LLN), and multipoint-to-point traffic (from devices within the LLN toward a central control point).
[0031] An example implementation of an LLN is an "Internet of Things" network. Broadly speaking, those skilled in the art may use the term "Internet of Things" or "IoT" to refer to uniquely identifiable objects (things) and their virtual representations in a network-based architecture. Specifically, the next frontier in the development of the Internet is the ability to connect not just computers and communications devices, but more specifically, general "objects" (e.g., lights, appliances, vehicles, HVAC (heating, ventilation, and air conditioning), windows and curtains and blinds, doors, locks, etc.). Thus, the "Internet of Things" generally refers to the interconnection of objects such as sensors and actuators (e.g., smart objects) via computer networks (e.g., IP), which can be the public internet or private networks. Such devices have been used in industry for decades, often in the form of non-IP or proprietary protocols connected to IP networks through protocol conversion gateways. With the emergence of numerous applications such as smart grid advanced metering infrastructure (AMI), smart cities, building and industrial automation, and automotive (for example, where millions of objects can be interconnected to sense information such as power quality, tire pressure and temperature, and actuate engines and lights), extending the IP protocol suite for these networks has become critical.
[0032] Figure 1is a schematic block diagram of an example simplified computer network 100 illustratively including nodes / devices at various levels of the network that are interconnected via various communication methods. For example, the links may be wired links or shared media (e.g., wireless links, PLC links, etc.), wherein certain nodes (such as, for example, routers, sensors, computers, etc.) may communicate with other devices, e.g., based on connectivity, distance, signal strength, current operating status, location, etc.
[0033] Specifically, as shown in the example network 100, three illustrative layers are shown: cloud 110, fog 120, and IoT devices 130. For illustrative purposes, those skilled in the art will appreciate that cloud 110 may include general connectivity via the Internet 112 and may include one or more data centers 114 with one or more centralized servers 116 or other devices. Within fog layer 120, various fog nodes / devices 122 (e.g., having fog modules, as described below) may execute various fog computing resources on network edge devices, rather than executing various fog computing resources on data center / cloud-based servers or endpoint nodes 132 of IoT layer 130 themselves. Data packets (e.g., traffic and / or messages sent between devices / nodes) may be exchanged between nodes / devices of computer network 100 using predefined network communication protocols (e.g., certain known wired protocols, wireless protocols, PLC protocols, or other shared media protocols), as appropriate. In this context, a protocol consists of a set of rules that define how nodes interact with each other.
[0034] Those skilled in the art will appreciate that any number of nodes, devices, links, etc. may be used in a computer network, and the diagram shown here is for simplicity. Furthermore, those skilled in the art will also appreciate that although the network is shown in a particular orientation, network 100 is merely an exemplary illustration and is not intended to limit the present disclosure.
[0035] Predefined network communication protocols may be used where appropriate, such as certain known wired protocols, wireless protocols (e.g., IEEE Std. 802.15.4, Wi-Fi, DECT (Ultra Low Energy, LoRa, etc.), PLC protocols, or other shared media protocols, exchange data packets (e.g., traffic and / or messages) between nodes / devices of the computer network 100. In this context, a protocol consists of a set of rules that define how nodes interact with each other.
[0036] Figure 2 is a schematic block diagram of an example node / device 200 that can be used with one or more embodiments described herein, for example, as described above in Figure 1 The device 200 may include one or more network interfaces 210 (e.g., wired, wireless, PLC, etc.), at least one processor 220, a memory 240, and a power supply 260 (e.g., a battery, a plug-in connector, etc.) interconnected by a system bus 250.
[0037] (One or more) network interface 210 comprises mechanical, electrical and signaling circuit systems for transmitting data through a link coupled to a network. The network interface 210 can be configured to send and / or receive data using a variety of different communication protocols (e.g., TCP / IP, UDP, etc.). It should be noted that the device 200 can have a variety of different types of network connections 210, for example, wireless and wired / physical connections, and the view is shown for illustrative purposes only. In addition, although the network interface 210 is shown separately from the power supply 260, for PLC, the network interface 210 can communicate through the power supply 260, or can be an important part of the power supply. In some specific configurations, the PLC signal can be coupled to the power line that feeds the power supply.
[0038] Memory 240 includes a plurality of storage locations addressable by processor 220 and network interface 210 for storing software programs and data structures associated with the embodiments described herein. Processor 220 may include hardware elements or hardware logic suitable for executing software programs and manipulating data structures 245. An operating system 242, portions of which typically reside in memory 240 and are executed by the processor, functionally organizes the device by, among other things, invoking operations that support software processes and / or services executing on the device. As described herein, these software processes / services may include an illustrative wireless communication process 248. It should be noted that while wireless communication process 248 is shown in centralized memory 240, alternative embodiments provide for specifically operating the process within network interface(s) 210.
[0039] It will be apparent to those skilled in the art that other processors and memory types, including various computer-readable media, can be used to store and execute program instructions related to the techniques described herein. Furthermore, while the description illustrates various processes, it is expressly contemplated that the various processes can be embodied as modules configured to operate according to the techniques herein (e.g., according to the functionality of similar processes). Furthermore, while the processes have been shown separately, it will be understood by those skilled in the art that these processes can be routines or modules within other processes.
[0040] During execution, wireless communication process 248 can facilitate communication between device 200 and the wireless network via network interface(s) 210. Such functions can include, for example, scanning channels, authenticating and attaching device 200 to the wireless network, initiating roaming, thereby switching device 200 from one access point in the wireless network to another access point in the wireless network, and so on. Typically, roaming is triggered when the signal quality of the current access point crosses a defined roaming threshold, prompting the client to seek another access point to attach to. This is often caused by the client physically moving within the wireless network. For example, as a client moves away from its current access point, the signal strength received by its current access point will decrease, while the signal strength received by another access point will increase. Once the signal strength of its current access point crosses its defined roaming threshold, the client will switch to using the other access point.
[0041] In various embodiments, the wireless communication process 248 may use machine learning to determine its control actions (e.g., initiating roaming, scanning channels, staying on a channel, etc.) over time. Generally speaking, machine learning involves the design and development of techniques that take empirical data (e.g., network statistics and performance metrics) as input and identify complex patterns in this data. A very common pattern in machine learning techniques is to use a base model M and, given the input data, optimize its parameters to minimize a cost function associated with M. For example, in the case of classification, model M might be a line that separates the data into two classes (e.g., labels) such that M = a*x + b*y + c, and the cost function would be the number of misclassified points. A learning process then operates by adjusting the parameters a, b, and c to minimize the number of misclassified points. After this optimization phase (or learning phase), model M can be readily used to classify new data points. M is often a statistical model, and the cost function is inversely proportional to the likelihood of M given the input data.
[0042] In various embodiments, the wireless communication process 248 may employ one or more supervised, unsupervised, or semi-supervised machine learning models. Generally speaking, supervised learning requires the use of a training data set, as described above, for training a model to apply labels to the input data. For example, the training data may include sample telemetry data that has been labeled to indicate an acceptable connection to an access point. At the other end of the spectrum are unsupervised techniques that do not require a training label set. Notably, while supervised learning models may look for previously seen patterns that have been labeled, unsupervised models may instead focus on the underlying behavior of the data, such as how the telemetry data sets correlate with each other and / or change over time. Semi-supervised learning models take an intermediate approach, using a significantly reduced labeled training data set.
[0043] Example machine learning techniques that may be employed by the wireless communication process 248 may include, but are not limited to, nearest neighbor (NN) techniques (e.g., k-NN models, replicator NN models, etc.), statistical techniques (e.g., Bayesian networks, etc.), clustering techniques (e.g., k-means, mean-shift, etc.), neural networks (e.g., reserve networks, artificial neural networks, etc.), support vector machines (SVMs), logistic or other regression techniques, Markov models or chains, principal component analysis (PCA) (e.g., for linear models), singular value decomposition (SVD), multi-layer perceptron (MLP) artificial neural networks (ANN) (e.g., for nonlinear models), replicating reserve networks (e.g., for nonlinear models, typically for time series), random forest classification, or the like.
[0044] IoT networks are often implemented as wireless meshes. To extend wireless mesh connectivity to hardwired devices, hardwired devices can utilize access point bridges, such as the Cisco Systems, Inc. Workgroup Bridge (WGB). Generally speaking, an access point bridge is a standalone unit that connects a hardwired network to a wireless mesh by communicating with another access point on the wireless network.
[0045] As an example of connecting hardwired devices to a wireless mesh network, consider Figure 3 As shown, multiple vehicles 302a-302b can be deployed in industrial environment 300. For example, if industrial environment 300 is a mine, vehicles 302a-302b can be trucks or carts. Each of vehicles 302a-302b can include its own hardwired network, such as a controller area network (CAN) bus, Ethernet, etc., to allow various components of the vehicle to communicate with each other. For example, multiple sensors on vehicle 302a can send sensor readings to an onboard navigation system via the local hardwired network of vehicle 302a, which controls the steering and acceleration of vehicle 302a within industrial environment 300.
[0046] It will be understood that different industrial environments may employ different types of nodes (e.g., vehicles 302a-302b), and the teachings herein are not limited to the use cases shown. For example, nodes in other industrial environments may include, but are not limited to, autonomous vehicles (e.g., flying drones, self-driving trucks, etc.), ships, containers, etc.
[0047] Any number of wireless access points 304, such as wireless access points 304a-304b, can be distributed throughout industrial environment 300 to form a wireless mesh network. In some embodiments, access points 304 can be autonomous access points that self-organize into a wireless mesh. For example, some access points 304 can function as mesh access points (MAPs) and arrange themselves into a wireless mesh structure rooted at a root access point (RAP).
[0048] During operation, an access point bridge local to vehicle 302 can attach to one of the access points 304 in the wireless mesh, allowing communications to be wirelessly passed to and from vehicle 302, between the bridge and the wired network on vehicle 302. As vehicle 302 travels within industrial environment 300, it can roam from access point 304 to access point 304 based on the observed radio signal quality of those access points 304.
[0049] Typically, the decision to roam from the current access point 304 being used by the vehicle 302 to another access point 304 is made by comparing a radio signal quality metric of the access point to one or more roaming thresholds. Notably, if a received signal strength indicator (RSSI), signal-to-noise ratio (SNR), etc., crosses a roaming threshold, the vehicle 302 may roam to another access point 304. For example, as the vehicle 302b moves away from the access point 304a, the RSSI measured between it and the access point 304a may drop below a defined roaming threshold, causing the vehicle 302b to roam to another access point 304, such as the access point 304b.
[0050] As mentioned above, environmental conditions in industrial environments are constantly changing. This applies to a wide variety of use cases, from open-pit mining to container ports. For example, what might be considered a perfect line of sight (LoS) between a node and access point can suddenly change when there is a large number of vehicles, movement of containers, etc. This can lead to obstructed LoS and suboptimal radio frequency (RF) conditions in very confined areas, as well as disconnected application(s) associated with the node. Site surveys are also of little help for highly dynamic and persistent traffic-heavy deployments. In such scenarios, nodes often suddenly drop traffic, causing confusion for network administrators, who may mistake obstructed LoS issues for configuration or software-level issues.
[0051] As an illustration, consider Figure 3As shown in the figure, although vehicle 302b would otherwise be considered to be in LoS with access point 304a, its position and the presence of vehicle 302a result in a very poor RSSI due to shadowing. This effect has also been observed in a real-world environment, where a particular truck in an open pit mine was approximately 100 feet from the access point, but one antenna showed no signal, while the other antenna displayed a reading of -42dBm and an overall SNR of 50dB.
[0052] -- Context-aware node redundancy and optimized roaming --
[0053] The technology herein uses machine learning to provide continuous application connectivity in wireless networks, even when a node enters a temporary RF shadow area (e.g., where the LoS to the access point is blocked). Such shadows typically cause the application(s) associated with the node (e.g., telemetry reporting, navigation, etc.) to stop completely, which can be a major interference factor in many use cases. For example, in a mine, a remote-controlled truck may stop completely and need to be manually restarted when it loses connection to the wireless network. In some aspects, the technology herein allows a node to roam early or survive the passage through a temporary shadow area without disconnecting its application(s).
[0054] Illustratively, the techniques described herein may be performed by hardware, software, and / or firmware, e.g., according to wireless communication process 248, which may include computer-executable instructions executed by processor 220 (or a separate processor of network interface 210) to perform functions related to the techniques described herein.
[0055] Specifically, according to various embodiments, a supervisory service for a wireless network obtains frequency-time Doppler profile information for an endpoint node attached to a first access point in the wireless network. The supervisory service uses the frequency-time Doppler profile information for the endpoint node as input to a machine learning model. The machine learning model is trained to output an action for the endpoint node with respect to the wireless network. The supervisory service causes the action for the endpoint node with respect to the wireless network to be performed.
[0056] In terms of operation, Figure 4 An example architecture 400 for context-aware node redundancy and optimized roaming according to various embodiments is shown. Continuing with the example of industrial environment 300, assume there is a group of vehicles 302, including vehicles 302a-302n (e.g., the first through nth vehicles) located throughout an area. Also within the area are a group of wireless access points 304, including access points 304a-304m (e.g., the first through mth access points).
[0057] As shown, the architecture 400 may also include a supervisory service 402 that communicates with the access point 304. For example, the supervisory service 402 may be a network assurance service that receives telemetry data from the access point 304, the telemetry data indicating key performance indicators (KPIs) of the wireless network to assess the health of the wireless network and take corrective action if necessary. In addition, the supervisory service 402 may also receive KPI information that may affect the performance of (one or more) applications associated with the vehicle 302. For example, the supervisory service 402 may receive KPI telemetry data indicating observed SNR, RSSI, retry count, network throughput, etc. In some cases, the network interface of the vehicle 302 may also report KPI data to the supervisory service 402.
[0058] According to various embodiments, the supervisory service 402 may also receive location data indicating the physical location of the vehicles 302. In one embodiment, each vehicle 302 may be equipped with a global positioning system (GPS) receiver and report its GPS coordinates to the supervisory service 402 via its WGB or other wireless interface in communication with the access point 304. In other embodiments, the access point 304 may estimate the location of the vehicle 302 by using triangulation or other location estimation methods and report the location data to the supervisory service 402. Such location data may also be time-stamped to allow the supervisory service 402 to track the location of the vehicles 302 throughout the area over time. In further embodiments, the supervisory service 402 may also obtain location information about the vehicles 302 by using pressure and / or motion sensors, video images, etc. distributed throughout the area or at key / strategic locations.
[0059] The supervision service 402 may also obtain another form of data from the wireless network, which may include Doppler spectrum information about the vehicle 302 captured by the access point 304. More specifically, recent work has shown that different postures of a person can be recognized based on RF / channel state information (CSI). To do this, different frequency-time Doppler profiles are generated from the RF / CSI data of the access point, which are associated with various postures of interest (e.g., a circle gesture, a push gesture, a kick gesture, etc.). In some embodiments, the technology herein proposes extending this gesture recognition method to nodes in the wireless network, such as the vehicle 302. For example, various frequency-time Doppler profiles can indicate various states of the vehicle 302, such as being fully facing the access point 304, facing away from the access point 304, being partially blocked by an object (e.g., another vehicle 302, a fixture, an entity, etc.), and so on.
[0060] More specifically, the Doppler shift is the change in the frequency of a wave as the source and the observation point move relative to each other. This yields the following relationship for a point object moving with velocity v and angle θ relative to the receiver:
[0061]
[0062] Where f is the frequency of the wave, c is the speed of light, and Δf is the change in frequency.
[0063] In the case of Orthogonal Frequency Division Multiplexing (OFDM), which is used in various wireless network protocols (e.g., 802.11a / g / n, WiMAX, etc.), OFDM is used to create multiple subchannels and modulate the data on each subchannel. The transmitter then generates OFDM time-domain symbols by applying a Fast Fourier Transform (FFT) to the bit sequence modulated and transmitted on each subchannel. When the transmitter reuses the same OFDM symbol, it can effectively generate multiple narrowband signals centered on each subchannel. In this scenario, a large FFT can be used to track this narrowband signal to capture the Doppler shift across the various subchannels. However, repeating OFDM symbols also reduces the bandwidth of each subchannel.
[0064] In other cases, arbitrary OFDM symbols can be used by utilizing a data equalization recoder that converts arbitrary OFDM symbols into the same symbol. To do this, such a recoder can apply an FFT to each time domain OFDM symbol to convert it into the frequency domain. The receiver then decodes the modulated bits for each subchannel and reconstructs the transmitted bits by demodulating them and applying a convolution / Viterbi decoder. Using the modulated bits, the receiver can convert each bit to the first OFDM symbol used and equalize each subsequent OFDM symbol with the first symbol. Applying an inverse FFT (IFFT) to each equalized symbol will result in the same scenario as the sender using the same OFDM symbol as described above, but without the corresponding bandwidth loss. To avoid the pilot bits of the OFDM symbol correcting for any frequency variations caused by the vehicle 302, the receiver can also reintroduce phase and amplitude variations that had previously been removed by the decoder during the application of the IFFT.
[0065] The frequency-time Doppler profile (in dB) can be extracted by calculating an FFT sequence for the symbol samples. For example, calculating the FFT over the first half-second interval will yield a Doppler resolution of 2 Hz, which is sufficient to recognize human gestures. Other intervals can be selected as needed based on the node in question (e.g., vehicle 302). This process can then be repeated periodically for the samples (e.g., at 5 ms intervals) to generate an overall frequency-time Doppler profile. These Doppler profiles can then be associated with the different movements and orientations of the nodes in the wireless network.
[0066] In some embodiments, frequency-time Doppler profile information may be calculated directly on access point 304 and provided to supervisory service 402. Alternatively, raw RF data may be provided by access point 304 to supervisory service 402, which may use the raw RF data to calculate the Doppler profile.
[0067] As a result of this data collection, the supervisory service 402 can build a database that associates the KPI telemetry data collected from the wireless network with the corresponding location, movement (e.g., speed, etc.), and / or orientation of the vehicle 302 at that time. By doing so, the supervisory service 402 can learn over time which locations and vehicle orientations are associated with degraded KPIs and application performance.
[0068] In various embodiments, to address RF shadowing and other environmental conditions, the supervisory service 402 can use its collected data to train a machine learning model. For example, the model's training dataset can include collected vehicle location data, Doppler traffic load data, access point association information, etc. Once trained, the supervisory service 402 can use the trained model to obtain a high-level picture of which vehicles 302 will enter the shadowed area before the vehicle 302 reaches the shadowed area, thereby processing the relative position of each vehicle 302 and its adjacent (and associated) access points 304.
[0069] For example, supervisory service 402 can calculate where vehicle 302 will be based on speed, path, and lane taken, and predict a Doppler pattern based on previously learned combinations. If these Doppler predictions appear close to problematic Doppler patterns, supervisory service 402 can initiate corrective action. For example, if vehicles 302 are highly congested in an area prone to shadowing, the machine learning model of supervisory service 402 can identify this situation.
[0070] In another embodiment, the supervisory service 402 can also utilize data from cameras deployed in the network to identify the location of the vehicle 302's interface antenna (e.g., relative to the vehicle's body and its surrounding access points 304). This embodiment is optional but can speed up the learning phase of the model in new environments (e.g., a new pit configuration of a mine, a moved access point 304, etc.).
[0071] Generally speaking, any corrective action initiated by the supervisory service 402 may seek to predict connectivity issues before they occur and move the vehicle 302 to a favorable access point 304 before the corresponding vehicle 302 reaches the shadowed area. In some embodiments, the corrective action may be divided into two phases:
[0072] 1. Client sideOn the client side, the vehicle 302 can avoid roaming to an access point 304 associated with a shadow zone (which may be risky) and stick with its current access point 304 or the next best access point 304 that is not affected by non-LoS. In this embodiment, the client WGB or other wireless interface receives instructions from the supervision service 402, including actions to be taken. For example, the supervision service 402 can instruct a particular vehicle 302 to roam now, temporarily adjust its RSSI roaming threshold to a value of X (e.g., to increase the likelihood that the vehicle 302 will roam, or conversely, increase its "stickiness" to the current access point 304), change its retry maximum count to Y (e.g., to trigger roaming due to a failure before reaching a shadow zone or to survive a shadow zone without recording a failure), combinations thereof, and the like.
[0073] 2. Infrastructure side On the infrastructure side, the supervisory service 402 can also instruct the access point 304 to suppress probe requests / responses from risky nodes to prevent the vehicle 302 from roaming, similar to how band selection and load balancing can be performed in a wireless network. In another case, the supervisory service 402 can instruct the access point 304 to use beamforming techniques such as partial nulling to force the vehicle 302 to roam early before reaching the shadow area. In another case, the supervisory service 402 can instruct the access point 304 to utilize 802.11v technology, such as by using basic service set (BSS) transition management and disassociation on the fly functionality, to influence the vehicle 302 to roam before reaching the shadow area.
[0074] In another embodiment, because the supervisory service 402 model can predict connectivity interruptions or data delays at the application server, the supervisory service 402 can inform the application server to use more buffering when the vehicle 302 is in a shadow zone and that there will be a burst of data when communication is restored. This allows the application to better handle these situations and gives the network greater flexibility in proactively adjusting to these events. This embodiment can be implemented at the application layer or, for TCP-based applications, by manipulating session TCP parameters (e.g., late / early acknowledgments, etc.).
[0075] Figure 5 An example machine learning model 500 is shown that can be used by the supervisory service 402 to control the initiation of its corrective actions according to various embodiments. As shown, the machine learning model 500 can take the form of a neural network, such as a convolutional neural network (CNN), including an input layer 502, one or more hidden layers 504, and an output layer 506.
[0076] During execution, the supervisory service 402 can provide input data 508 to the input layer 506 of the machine learning model 500. Such input data 508 can include any or all data collected or otherwise obtained by the supervisory service 402. For example, the input data 508 can include frequency-time Doppler profile information collected about the vehicle 302, its location information, etc. In turn, the output layer 506 can output one of several actions that can be taken with respect to the vehicle 302 before the vehicle 302 reaches any shadow areas in the area.
[0077] As shown, action 510 may include any or all of the following actions:
[0078] ● roaming —This action may indicate that the vehicle 302 should roam to a different access point 304 before reaching the shadow zone. When the machine learning model 500 selects this action, the supervisory service 402 may send appropriate instructions to the access point 304 and / or the affected vehicle 302 to induce the vehicle 302 to roam (e.g., by lowering its RSSI roaming threshold, inducing the current access point 304 to use beamforming to induce roaming, etc.).
[0079] ● Stay on the channel - This action may indicate that the vehicle 302 should remain on its current channel and attach to its current access point 304. In some cases, this action may be combined with infrastructure-side measures, such as alerting an application server that data from the vehicle 302 is about to be delayed.
[0080] ● scanning —This action may indicate that the vehicle 302 should perform a channel scan to identify other access points 304 in the vicinity.
[0081] In some embodiments, the machine learning model 500 can also use reinforcement learning to continuously improve its efficacy. For example, as the vehicle 302 moves and performs actions 510 in the wireless network, the state of the environment will also change. Therefore, the supervision service 402 will capture additional state data 512. The supervision service 402 can also evaluate a reward function that evaluates whether the action 510 taken produced a desired result (e.g., the vehicle 302 did not lose connectivity when it was in a shadow area, etc.) or an undesirable result (e.g., the vehicle 302 still lost connectivity). Such state data 512 and reward data 514 can be fed as input to the machine learning model 500 to maximize the reward function and learn over time which actions 510 to select under certain conditions.
[0082] Figure 6An example simplified process for controlling operations in a wireless network according to one or more embodiments described herein is shown. Process 600 may begin at step 605 and continue to step 610, where, as described in more detail above, a device (e.g., device 200) may execute stored instructions (e.g., wireless communication process 248) to provide a supervisory service to the wireless network. The supervisory service obtains frequency-time Doppler profile information for an endpoint node attached to a first access point in the wireless network. For example, such an endpoint node may include a truck or other vehicle, a container, etc., moving through locations of the wireless network. In general, the frequency-time Doppler profile information may potentially indicate the position and / or movement of the endpoint node and any other nearby endpoint nodes or other objects. For example, in the case of a truck, certain positions of its bed relative to its access point may obstruct signals from the access point, even if the truck is within the access point's LoS, and this position may be associated with a particular Doppler profile. In various embodiments, the supervisory service may obtain the Doppler profile information directly from one or more access points in the wireless network, or may calculate the Doppler profile information using telemetry data obtained therefrom.
[0083] At step 615, as described above, the supervisory service may use the frequency-time Doppler profile information as input to a machine learning model. In various embodiments, the machine learning model is trained to output actions for the endpoint node with respect to the wireless network. For example, such an action may indicate that the endpoint node should roam to a second wireless access point in the network, such as if the endpoint node approaches a shadow area. In other cases, the action may indicate that the endpoint node should remain attached to its current access point while passing through a shadow area. In another case, the action may indicate that the endpoint node should begin scanning channels. In some embodiments, the model may be further trained using GPS data, camera data (e.g., indicating the location and orientation of the endpoint node), etc., collected from the endpoint nodes in the network.
[0084] At step 620, the supervisory service may cause the endpoint node's actions to be performed, as described in more detail above. In various embodiments, the supervisory service may implement this by sending instructions directly to the endpoint node and / or to (one or more) access points in the wireless network within range of the endpoint node. For example, with respect to an action that includes the endpoint node roaming to a second access point, the supervisory service may instruct the node to increase its RSSI roaming threshold, decrease its maximum retry count, or simply instruct the node to roam before the endpoint node reaches a shadow area in the wireless network. Conversely, the service may instruct the first access point to force the endpoint node to begin roaming, such as by using beamforming (e.g., using partial zeroing) or 802.11v indicators. In other cases, the service may instead determine that the endpoint node should remain attached to the first access point while traversing a shadow area. In such cases, the service may instruct the node to lower its RSSI roaming threshold or increase its maximum retry count, or instruct one or more access points to suppress probe responses to the endpoint node (e.g., preventing the node from roaming). In other embodiments, the service may also notify an application server communicating with the endpoint node to initiate buffering of communications with the endpoint node, such as when the node enters a known shadow area. Then, process 600 ends at step 625 .
[0085] It should be noted that although some steps in process 600 may be optional as described above, Figure 6 The steps shown in the foregoing are examples only, and certain other steps may be included or excluded as needed. In addition, although a particular order of steps is shown, this order is merely illustrative, and any suitable arrangement of steps may be used without departing from the scope of the embodiments herein.
[0086] Thus, the techniques described herein allow for the use of machine learning to mitigate or avoid potential connectivity issues in wireless networks, particularly those caused by shadow areas in the network. In some aspects, frequency-time Doppler profile information can be used to determine the movement and orientation of endpoint nodes in the network, and this information can be fed into a machine learning model to identify corrective actions.
[0087] While illustrative embodiments have been shown and described, it should be understood that various other adaptations and modifications may be made within the intent and scope of the embodiments herein. For example, while the techniques herein are primarily described with respect to certain types of endpoint clients for wireless networks (e.g., trucks and other vehicles), the techniques herein are not limited thereto and are applicable to any other form of mobile endpoint clients. Furthermore, while certain protocols, such as 802.11v, are used herein for illustrative purposes, the techniques herein may also be implemented using other suitable protocols.
[0088] The above description has been made with respect to specific embodiments. However, it is apparent that other changes and modifications may be made to the described embodiments to obtain some or all of their advantages. For example, it is expressly contemplated that the components and / or elements described herein may be implemented as software stored on tangible (non-transient) computer-readable media (e.g., disks / CDs / RAMs / EEPROMs / etc.), which have program instructions executed on computers, hardware, firmware, or a combination thereof. Therefore, this description is to be understood as an example only, and is not intended to limit the scope of the embodiments herein. Therefore, the purpose of the appended claims is to cover all such changes and modifications that fall within the true intent and scope of the embodiments herein.
Claims
1. A method for a wireless network, comprising: obtaining, by a supervisory service of the wireless network, frequency-time Doppler profile information of an endpoint node, the endpoint node being attached to a first access point in the wireless network; using, by the supervisory service, the frequency-time Doppler profile information of the endpoint node as input to a machine learning model, wherein the machine learning model is trained to output an action of the endpoint node with respect to the wireless network; as well as causing, by the supervisory service, actions of the endpoint node with respect to the wireless network to be performed, The action of the endpoint node with respect to the wireless network includes: a) the endpoint node roaming to a second access point before the endpoint node reaches a shadow area in the wireless network; or b) the endpoint node remaining attached to the first access point while passing through the shadow area in the wireless network.
2. The method according to claim 1, wherein The actions of causing the endpoint node to be executed include: The endpoint node is instructed to roam to a second access point in the wireless network, to increase its received signal strength indicator (RSSI) roaming threshold, or to decrease its maximum retry count.
3. The method according to claim 1, wherein The actions of causing the endpoint node to be executed include: The first access point is instructed to force the endpoint node to roam to a second access point using beamforming or an 802.11v indicator.
4. The method according to any one of claims 1 to 3, further comprising: After performing the actions, obtaining status information from the wireless network; and The state information and reinforcement learning are used to adjust the machine learning model.
5. The method according to claim 1, wherein The actions of causing the endpoint node to be executed include: One or more access points in the wireless network are instructed to suppress probe responses to the endpoint node.
6. The method according to claim 1 or 5, wherein: The actions of causing the endpoint node to be executed include: The endpoint node is instructed to lower its received signal strength indicator (RSSI) roaming threshold or increase its maximum retry count.
7. The method according to claim 1, further comprising: An application server in communication with the endpoint node is notified to start buffering of communications with the endpoint node.
8. The method according to claim 1, wherein The machine learning model is trained in part based on global positioning system (GPS) data from endpoint nodes in the wireless network or camera data from cameras deployed to locations of the wireless network.
9. An apparatus for a wireless network, comprising: one or more network interfaces for communicating with the wireless network; a processor coupled to the one or more network interfaces and configured to execute one or more processes; as well as a memory configured to store a process executable by the processor, the process being configured to: obtaining frequency-time Doppler profile information of an endpoint node attached to a first access point in the wireless network; using the frequency-time Doppler profile information of the endpoint node as input to a machine learning model, wherein the machine learning model is trained to output an action of the endpoint node with respect to the wireless network; as well as causing an action of the endpoint node to be performed with respect to the wireless network, The action of the endpoint node with respect to the wireless network includes: a) the endpoint node roaming to a second access point before the endpoint node reaches a shadow area in the wireless network; or b) the endpoint node remaining attached to the first access point while passing through the shadow area in the wireless network.
10. The device according to claim 9, wherein The device causes the action of the endpoint node to be executed in the following manner: The endpoint node is instructed to roam to a second access point in the wireless network, to increase its received signal strength indicator (RSSI) roaming threshold, or to decrease its maximum retry count.
11. The device according to claim 9 or 10, wherein: The device causes the action of the endpoint node to be executed in the following manner: The first access point is instructed to force the endpoint node to roam to a second access point using beamforming or an 802.11v indicator.
12. The device according to claim 9 or 10, wherein The process, when executed, is further configured to: After performing the actions, obtaining status information from the wireless network; and The state information and reinforcement learning are used to adjust the machine learning model.
13. The device according to claim 9, wherein The device causes the action of the endpoint node to be executed in the following manner: One or more access points in the wireless network are instructed to suppress probe responses to the endpoint node.
14. The device according to claim 9 or 13, wherein: The process, when executed, is further configured to: An application server in communication with the endpoint node is notified to start buffering of communications with the endpoint node.
15. The device according to claim 9, wherein The machine learning model is trained in part based on global positioning system (GPS) data from endpoint nodes in the wireless network or camera data from cameras deployed to locations of the wireless network.
16. A tangible, non-transitory computer-readable medium storing program instructions, the program instructions causing a supervisory service for a wireless network to perform a process comprising: obtaining, by a supervisory service of a wireless network, frequency-time Doppler profile information of an endpoint node, the endpoint node being attached to a first access point in the wireless network; using, by the supervisory service, the frequency-time Doppler profile information of the endpoint node as input to a machine learning model, wherein the machine learning model is trained to output an action of the endpoint node with respect to the wireless network; as well as causing, by the supervisory service, actions of the endpoint node with respect to the wireless network to be performed, The action of the endpoint node with respect to the wireless network includes: a) the endpoint node roaming to a second access point before the endpoint node reaches a shadow area in the wireless network; or b) the endpoint node remaining attached to the first access point while passing through the shadow area in the wireless network.
17. A device for a wireless network, comprising: means for obtaining frequency-time Doppler profile information of an endpoint node attached to a first access point in the wireless network; means for inputting the frequency-time Doppler profile information of the endpoint node into a machine learning model, wherein the machine learning model is trained to output an action of the endpoint node with respect to the wireless network; as well as means for causing an action of said endpoint node to be performed with respect to said wireless network, The action of the endpoint node with respect to the wireless network includes: a) the endpoint node roaming to a second access point before the endpoint node reaches a shadow area in the wireless network; or b) the endpoint node remaining attached to the first access point while passing through the shadow area in the wireless network.
18. The apparatus according to claim 17, further comprising means for implementing the method according to any one of claims 2 to 8.
19. A computer program product storing instructions which, when executed by a computer, cause the computer to perform the steps of the method according to any one of claims 1 to 8.
20. A computer-readable medium storing instructions which, when executed by a computer, cause the computer to perform the steps of the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Roaming and transition patterns coding in wireless networks for cognitive visibility
US20180359648A1