Fine timing measurements in companies with high bandwidth channels
By dynamically switching WLAN channel widths for FTM bursts and non-FTM operations, the method optimizes FTM accuracy and network performance in wireless networks, addressing the challenges of resource allocation and measurement errors.
Patent Information
- Application Number
- DE102021127628
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-04-14
- Filing Date
- 2021-10-25
- Publication Date
- 2026-02-19
- Estimated Expiration
- 2041-10-25
AI Technical Summary
Existing Fine Timing Measurement (FTM) techniques in wireless networks face challenges in optimizing channel width for precise positioning while minimizing impact on network performance and resource utilization, leading to increased processing load and measurement errors.
The method involves selectively switching the channel width of a WLAN channel to a higher bandwidth (e.g., 80 MHz) for FTM bursts and reverting to a lower bandwidth (e.g., 20 or 40 MHz) for non-FTM operations, optimizing resource allocation and reducing measurement errors.
This approach enhances FTM accuracy in wireless networks by allowing precise positioning without adversely affecting non-FTM operations, thus balancing resource utilization and network performance.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND
[0001] A computer network comprises a variety of network devices such as access points, controllers, gateways, switches, etc., which perform various network operations, such as network access, authentication, and forwarding of network traffic to ensure connectivity. A wireless local area network (WLAN) can include a variety of access points (APs) as WLAN components. These APs can be deployed within a network.
[0002] Client devices such as laptops, personal computers, and smartphones connect to network devices to exchange data with the network. Various positioning techniques can be used to determine the position / location of a wireless communication device (e.g., a WLAN device) based on the reception of wireless communication signals. For example, positioning techniques can utilize one or more Fine Timing Measurement (FTM) sessions between a client device and one or more access points. FTM-based positioning techniques can use one or more message exchanges to determine the time of arrival (TOA), round-trip time (RTT), or time difference of arrival (TDOA) of the wireless communication signals. The RTT, TOA, and TDOA information can be used to determine the position of a wireless communication device within a wireless communication network.These factors, in conjunction with the known positions of one or more stations in the wireless network, can be used to determine the location of the wireless communication device.
[0003] US 2018 / 0310133 A1 describes a procedure on an access point that can determine the availability of the access point (AP) for positioning at an initial time and, at least partially based on this determination, transmit information indicating the AP's availability for positioning. The transmitted information may include one or more of the following: STA-AP positioning availability, STA-AP positioning capability, whether AP-AP positioning is in progress, and / or the next scheduled AP-AP ranging session.
[0004] IEEE Standard for Information Technology - Telecommunications and Information Exchange between Systems Local and Metropolitan Area Networks - Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications refers to technical corrections and clarifications to the IEEE 802.11 standard for wireless local area networks (WLANs) as well as improvements to the existing MAC (Medium Access Control) and PHY (Physical Layer) functions.
[0005] WO 2019 / 083419A1 describes a procedure executed by an initiating communication node to facilitate positioning in a Wi-Fi communication network. The procedure of WO 2019 / 083419A1 involves sending a request to initiate a positioning procedure and information about an initial set of frequency bands over which the initiating communication node can communicate, to a responding communication node.The procedure of WO 2019 / 083419A1 further comprises receiving second pieces of information from the responding communication node, relating to a second set of frequency bands over which the responding communication node can communicate, and triggering the start of the position determination procedure based on the received second set of information, such that the position determination procedure is carried out over at least one frequency band of a third set of frequency bands, which occurs in both the first set of frequency bands and the second set of frequency bands. IBRAHIM, Mohamed et al.: Verification: accuracy evaluation of WiFi fine time measurements on an open platform, in: Proceedings of the 24th annual international conference on mobile computing and networking, 29 October - 2 November 2018, p.417-427 refers to an open platform for experimenting with precise time measurements and a general, repeatable and accurate measurement framework for evaluating time-based distance measurement systems.
[0006] HORN, Berthold KP: Doubling the accuracy of indoor positioning: frequency diversity, in: Sensors, Vol. 20, 2020, No. 5, p. 1489 refers to a method for doubling the accuracy of indoor positioning by weighted averages of measurements with uncorrelated errors obtained in different channels. SHORT DESCRIPTION
[0007] A method according to claims 1 to 11, an access point according to claims 12 to 17 and a non-transitory computer-readable medium according to claims 18 and 19 is disclosed. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The present disclosure is described in detail in accordance with one or more different embodiments with reference to the following figures. The figures serve only for illustration and represent only typical or exemplary embodiments. Fig. This shows an example of a network configuration that can be implemented for an organization such as a company, an educational institution, a government agency, a health institution, or another type of organization. Fig. is a block diagram of an exemplary computer component or device for processing FTM requirements according to an embodiment. The Fig. and Fig. show an example of a method for processing FTM requirements according to one embodiment. Fig. shows a block diagram of an exemplary computer system in which the embodiments described here can be implemented.
[0009] The figures are not exhaustive and do not limit the present revelation to the exact form that is disclosed. DETAILED DESCRIPTION
[0010] Fine Timing Measurement (FTM) can be used by wireless stations (STAs) and wireless access points (APs) to estimate the distance between them. FTM allows a client device or AP to determine its distance to another AP by measuring the duration of a time frame for radio wave transmission that travels back and forth between the client device or AP and the other AP.
[0011] In an example of measuring the distance between a client device and an access point (AP) using FTM, the client device can send a distance measurement request to the AP to initiate an FTM session. Within the FTM session, an exchange of FTM messages takes place between the client device and the AP, based on which the distance between them is estimated. The AP receiving the distance measurement request allocates its computational resources and time slots to process the FTM message exchange within the FTM session. The more distance measurement requests the AP receives, the more computational resources and time slots are consumed, which can increase the AP's processing load and thus impact its traffic handling performance. Therefore, it is necessary to optimally balance the use of AP resources for FTM and non-FTM functions, such as...The provision of enterprise services, the operation of connected stations, the provision of high-priority traffic, network scanning, etc. On the other hand, it is also important to make optimal use of FTM measurements to reduce measurement error margins and increase accuracy.
[0012] The IEEE 802.11 standards define several different radio frequency (RF) bands, such as the 2.4 GHz and 5 GHz bands, for use in wireless communication. Each frequency band is divided into multiple channels. In some examples, the channels may have a channel width of 20 MHz, 40 MHz, 80 MHz, or 160 MHz. Channels with a wider channel width can offer higher throughput. Generally, wireless enterprises use 20 MHz or 40 MHz channels for operation, especially in dense environments, which minimizes interference, allows for spatial reuse, improves spectrum efficiency, and reduces negative impacts on the performance of neighboring access points. Using 20 MHz or 40 MHz channels can also provide a greater number of channels and better coverage, particularly in dense enterprise environments. On the other hand, using a wider channel width (e.g., 20 MHz) allows for greater throughput.80 MHz) offers optimal FTM accuracy for location-based applications in indoor environments. In some examples, FTM-based positioning techniques can exhibit a precision error of less than one meter on 80 MHz channels, while they can have a higher error margin on narrower channels (e.g., 20 MHz or 40 MHz). Therefore, there is a need to optimize FTM accuracy for access points in enterprise environments while minimizing the impact on network performance.
[0013] This disclosure includes techniques for selectively switching / upgrading the channel width of a WLAN channel on which the access point (AP) operates to a higher channel width (e.g., 80 MHz) to perform an FTM burst. After the FTM burst is complete, the channel width is switched back to its previous value. In this way, this disclosure can facilitate the execution of FTM bursts in a high-bandwidth channel (e.g., 80 MHz), thereby achieving high accuracy in site measurements, while non-FTM functions run in a low-bandwidth channel (20 or 40 MHz) that is optimal for the AP's enterprise functions.
[0014] In one example, an access point (AP) might receive a distance measurement request from a client device to initiate a front-to-ground measurement (FTM) session. The FTM request is a request to initiate the session to determine the distance between the requesting device and the AP. In response to receiving the FTM request, the AP can change the channel width of a wireless channel on which it operates. In this example, the wireless channel on which the AP is configured to route traffic and perform business functions is also referred to as the AP's home channel. The AP can change the home channel's channel width from a first channel width to a second channel width for conducting the FTM session, with the second channel width being wider than the first. The first channel width refers to a preconfigured channel width of the wireless channel on which the AP operates.In some examples, the first channel width might be 20 MHz or 40 MHz, and the second channel width 80 MHz. In response to the termination of an FTM burst associated with the FTM session, the AP may revert the WLAN channel width to the first channel width to perform non-FTM operations.
[0015] In this disclosure, a distance measurement request is processed, and an FTM session can be initiated based on this request after the channel width has been increased. This ensures that FTM messages are exchanged in a high-bandwidth channel (e.g., 80 MHz), enabling higher precision in FTM-based positioning. Furthermore, restoring the channel width to its previous value after the FTM burst has ended allows the AP to perform non-FTM operations at lower channel widths (e.g., 20 MHz or 40 MHz), thus enabling enterprise functions. Therefore, the techniques presented here allow for precise FTM-based positioning without impacting the AP's non-FTM operations.The presented techniques for selectively changing channel width can also enable the access point (AP) to efficiently utilize the RF spectrum by using different channel widths for performing FTM and non-FTM functions. This allows for a balanced distribution of the access point's RF spectrum and computing resources for FTM and non-FTM functions, such as providing enterprise services, servicing connected stations, delivering high-priority traffic, scanning the network, and so on. Because the AP's home channel width is switched to a higher value, the AP's home channel remains constant, thus avoiding unnecessary channel switching by the AP and preventing the loss of transmit time or connection to connected clients that might otherwise occur due to channel switching.
[0016] Changing the channel width in response to receiving a distance measurement request to initiate an FTM session, and restoring the channel width to its original value after the FTM session has completed, differs from traditional FTM techniques in several ways. In traditional FTM methods, the access point (AP) receiving the distance measurement request can initiate the FTM session on a channel with a preconfigured channel width. In this traditional system, the channel width is not changed or switched before the FTM session is initiated. Rather, the AP in the traditional system may attempt to initiate the FTM session on a channel with a preconfigured channel width, such as 20 MHz or 40 MHz for enterprise applications. This can lead to high precision errors in the positioning of wireless devices using traditional FTM techniques.
[0017] The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and in the following description to refer to identical or similar parts. Although several examples are described in the description, modifications, adaptations, and other implementations are possible. Accordingly, the following detailed description does not limit the disclosed examples. Instead, the appropriate scope of the disclosed examples can be defined by the accompanying claims.
[0018] Before describing in detail the embodiments of the disclosed systems and methods, it is useful to describe an exemplary network installation with which these systems and methods could be implemented in various applications. Fig. This diagram shows an example of a network configuration 100 that can be implemented for an organization, such as a business, educational institution, government agency, healthcare facility, or other organization. This diagram illustrates an example of a configuration implemented in an organization with multiple users (or at least multiple client devices 110) and potentially multiple physical or geographic locations 102, 132, 142. The network configuration 100 can include a primary location 102 that communicates with a network 120. The network configuration 100 can also include one or more remote locations 132, 142 that connect to the network 120.
[0019] The primary location 102 can encompass a primary network, such as an office network, a home network, or another network installation. The primary network 102 can also be a private network, for example, one that may include security and access controls to restrict access to authorized users. These authorized users might include, for example, employees of a company at the primary location 102, residents of a house, customers of a company, and so on.
[0020] In the example shown, the primary site 102 contains a control unit 104 that communicates with the network 120. The control unit 104 can provide communication with the network 120 for the primary site 102, although it need not be the only point of communication with the network 120 for the primary site 102. A single control unit 104 is shown, although the primary site may include multiple control units and / or multiple communication points with the network 120. In some embodiments, the control unit 104 communicates with the network 120 via a router (not shown). In other embodiments, the control unit 104 provides router functions to the devices at the primary site 102.
[0021] The controller 104 can configure and manage network devices, for example at the main site 102, and can also manage network devices at remote sites 132 and 134. The controller 104 can configure and / or manage switches, routers, access points, and / or network-connected client devices. The controller 104 can itself be an access point or provide the functionality of one.
[0022] The controller 104 can communicate with one or more switches 108 and / or wireless access points (APs) 106a-c. The switches 108 and the wireless APs 106a-c provide network connections to various client devices 110a-j. Through a connection to a switch 108 or AP 106a-c, a client device 110a-j can access network resources, including other devices in the (primary site 102) network and in the network 120.
[0023] Examples of client devices include: desktop computers, laptops, servers, web servers, authentication servers, Authentication, Authorization, and Accounting (AAA) servers, Domain Name System (DNS) servers, Dynamic Host Configuration Protocol (DHCP) servers, Internet Protocol (IP) servers, Virtual Private Network (VPN) servers, network policy servers, mainframes, tablet computers, e-readers, netbook computers, televisions and similar displays (e.g., smart TVs), content receivers, set-top boxes, personal digital assistants (PDAs), mobile phones, smartphones, smart terminals, silent terminals, virtual terminals, video game consoles, virtual assistants, Internet of Things (IoT) devices, and the like. Client devices can also be referred to as stations (STAs).
[0024] Within primary site 102, a switch 108 is included as an example access point to the network established at primary site 102 for wired client devices 110i-j. The client devices 110i-j can connect to the switch 108 and access other devices within network configuration 100 via the switch 108. The client devices 110i-j can also access network 120 via the switch 108. The client devices 110ij can communicate with the switch 108 via a wired connection 112. In the example shown, the switch 108 communicates with the control unit 104 via a wired connection 112, although this connection could also be wireless.
[0025] The wireless access points (APs) 106a-c are another example of an access point to the network set up at the main site 102 for client devices 110a-h. The APs 106a-c can control network access for the client devices 110a-h and authenticate the client devices 110a-h for connection to the APs and, through the APs, to other devices within the network configuration 100. Each of the APs 106a-c can be a combination of hardware, software, and / or firmware configured to provide wireless network connectivity for wireless client devices 110a-h. In the example shown, the APs 106a-c can be managed and configured by the controller 104. The APs 106a-c communicate with the controller 104 and the network via connections 112, which can be either wired or wireless interfaces.
[0026] Network configuration 100 can include one or more remote sites 132. A remote site 132 can be located in a different physical or geographic location than the primary site 102. In some cases, the remote site 132 may be in the same geographic location or possibly the same building as the primary site 102, but it will not have a direct connection to the primary site 102's network. Instead, the remote site 132 may use a connection through another network, such as network 120. A remote site 132, as described in Fig. The remote location shown could be, for example, a satellite office, another floor, or another suite in a building, etc. The remote location 132 can contain a gateway device 134 for communication with the network 120. A gateway device 134 can be a router, a digital-to-analog modem, a cable modem, a DSL modem, or another network device configured to communicate with the network 120. The remote location 132 can also contain a switch 138 and / or an access point 136, which communicates with the gateway device 134 either via wired or wireless connections. The switch 138 and the access point 136 provide network connectivity for various client devices 140a-d.
[0027] In various embodiments, the remote site 132 can communicate directly with the primary site 102, allowing client devices 140a-d at the remote site 132 to access the network resources at the primary site 102 as if they were located at the primary site 102. In such embodiments, the remote site 132 is managed by the control unit 104 at the primary site 102, and the control unit 104 provides the necessary connectivity, security, and accessibility that enable communication between the remote site 132 and the primary site 102. Once the remote site 132 is connected to the primary site 102, it can function as part of a private network provided by the primary site 102.
[0028] In various embodiments, the network configuration 100 can include one or more smaller remote sites 142, each comprising only a gateway device 144 for communication with the network 120 and a wireless access point 146 through which various client devices 150a-b access the network 120. Such a remote site 142 could, for example, be the home of a single employee or a temporary remote office. The remote site 142 can also communicate with the main site 102, allowing the client devices 150ab at the remote site 142 to access the network resources at the main site 102 as if these client devices 150ab were located at the main site 102. The remote site 142 can be managed by the controller 104 at the main site 102 to enable this transparency.After connecting to the main site 102, the remote site 142 can function as part of a private network provided by the main site 102.
[0029] Network 120 can be a public or private network, such as the internet or another communications network, that enables connection between the various locations 102, 130 to 142, and access to the servers 160a-b. Network 120 can include third-party telecommunications lines, such as telephone lines, broadcast coaxial cables, fiber optic cables, satellite communications, cellular communications, and the like. Network 120 can contain any number of intermediate network devices, such as switches, routers, gateways, servers, and / or controllers, which are not directly part of Network Configuration 100 but facilitate communication between the various parts of Network Configuration 100 and between Network Configuration 100 and other units connected to the network. Network 120 can contain various content servers 160ab.Content servers 160a-b can include various providers of downloadable multimedia and / or streaming content, including audio, video, graphics, and / or text content, or any combination thereof. Examples of content servers 160ab include web servers, streaming radio and video providers, and cable and satellite television providers. Client devices 110a-j, 140a-d, and 150a-b can request and access the multimedia content provided by content servers 160a-b.
[0030] Fig. Figure 1 is a block diagram of an exemplary computer component or device 200 for handling FTM requirements according to one embodiment. In one example, the computer component 200 can function as a network device, as described in the embodiments described herein. Examples of the network device can be access points, Layer 3 switches, and routers. In another example, the computer component 200 can function as a client device, such as a computer, a smartphone, etc., that connects to the network device.
[0031] In the example implementation of Fig. The computer component 200 comprises a hardware processor 202 and a machine-readable storage medium 204. The hardware processor 202 may be one or more central processing units (CPUs), semiconductor-based microprocessors, and / or other hardware devices capable of retrieving and executing instructions stored in the machine-readable storage medium 204. The hardware processor 202 can retrieve, decode, and execute instructions, such as instructions 206-210, to control processes or operations for handling distance measurement requests to initiate an FTM session. Alternatively or additionally to retrieving and executing instructions, the hardware processor 202 may include one or more electronic circuits comprising electronic components for performing the functionality of one or more instructions, such as…a Field Programmable Gate Array (FPGA), an application-specific integrated circuit (ASIC), or other electronic circuits.
[0032] A machine-readable storage medium, such as the machine-readable storage medium 204, can be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. The machine-readable storage medium 204 can be, for example, random access memory (RAM), non-volatile random access memory (NVRAM), electrically erasable programmable solid-state memory (EEPROM), a storage device, an optical disk, or the like. In some embodiments, the machine-readable storage medium 204 can be a non-transient storage medium, the term "non-transient" excluding the transitive transmission signals. As detailed below, the machine-readable storage medium 204 can be encoded with executable instructions, such as instructions 206-210.
[0033] Although the in Fig. While the steps shown are to be performed in a specific order, this order is not the only one in which the steps can be executed. Each step can be performed in any order and at any time; it can be repeated and / or performed by one or more suitable devices. The Fig. The process described is also described in Fig. described, but with a different level of detail.
[0034] In step 206, computer component / device 200 receives a range request to initiate an FTM session. The FTM session can involve an exchange of multiple message frames between an initiating WLAN station (STA) and a responding STA. In one example, the initiating WLAN station could be an access point (AP) or a client device, such as a laptop, desktop, smartphone, etc. Computer component / device 200 can be the responding STA. Examples of the responding STA include an AP. In another example, a client device might attempt to establish an FTM session with the AP to determine the distance between the client device and the AP. In another example, the client device might have previously connected to the AP, which receives the distance request. Based on the distance query, the AP can determine a burst duration, which specifies the timeframe for conducting the FTM session.The FTM session generally takes the form of burst transmissions. A burst transmission is the transmission of a relatively high bandwidth over a short period. Burst transmission involves the intermittent, asynchronous transfer of a specific amount of data. Burst transmissions can occur at regular or irregular intervals. The duration of an FTM session is referred to as the burst duration or simply the FTM burst. During an FTM burst, one or more FTM-based messages can be exchanged between two WiFi stations. Although this description assumes that the distance request originates from a client device, in an example, the distance request could also originate from another access point.
[0035] In step 208, in response to receiving the range request, the channel width of a WLAN channel on which the AP is operating (i.e., the home channel) is changed from a first channel width to a second channel width to conduct the FTM session. The second channel width is larger than the first channel width. In one example, the second channel width is 80 MHz. When the range measurement request is received on the home channel (i.e., the WLAN channel on which the AP is operating), the home channel's channel width is switched to the second channel width. This allows the AP to initiate the FTM session on the home channel with the second channel width. Alternatively, the access point can change the channel width by using the "Format and Bandwidth" field in an FTM response sent by the access point.
[0036] In step 210, in response to the termination of an FTM burst associated with the FTM session, the WLAN channel width is reset to the first channel width to allow the AP to perform non-FTM operations. These non-FTM operations can include enterprise functions, traffic forwarding, network scanning, and more. For example, the first channel width could be 20 MHz or 40 MHz.
[0037] The Fig. and Fig. This document presents an example of Method 300 for processing FTM distance measurement requests according to one embodiment. Method 300 can be executed by a network device, such as an access point, switch, or router. Although the examples described here assume that Method 300 is executed by a network device, Method 300 can also be executed by client devices such as PCs, laptops, smartphones, etc. The steps of Method 300 described here can be performed by a client device accordingly. Method 300 can be implemented by one or more processing resources or one or more computing devices using any suitable hardware, a non-transitory machine-readable medium, or a combination thereof.In one example, Method 300 can be executed by computer-readable instructions, which include instructions stored on a medium and capable of being executed by a processing resource, such as the hardware processor 202, or a computer device / component, such as the computer component 200. Although Method 300 is described in connection with the aforementioned computer component 200, other suitable systems can also be used to execute Method 300. It can be assumed that the processes involved in Method 300 can be executed based on instructions stored on a non-transient computer-readable medium. The non-transient computer-readable medium can include, for example, digital storage, magnetic storage media such as magnetic disks and tapes, hard disks, or optically readable digital data storage media.
[0038] Referring to Fig. , in block 302, an AP, such as one of the APs 106a-c from Fig. , a distance measurement request to initiate an FTM session from a client device, such as one of the client devices 110a-j from Fig. , received. In one example, the AP can perform non-FTM functions, such as traffic forwarding, enterprise operations, etc., on a WLAN channel, for example, channel 36, in the 5 GHz frequency band, where the operational channel has a channel width of 20 MHz. The operational channel width can also be referred to as a first channel width. In another example, client device 110a can send a distance measurement request to AP 106a to measure the distance between the client device and AP 106a. Client device 110a can be associated / connected to AP 106a. In another example, the distance measurement request can include an FTM request framework containing FTM parameters to be negotiated with the AP. The FTM parameters can include, for example, a value for the burst duration, an exponent value for the number of bursts, a minimum delta FTM value, an ASAP (As Soon As Possible) value, a value for FTMs per burst, an FTM frame format, etc.The FTM burst duration can be determined based on one or more of the FTM parameters included in the distance measurement request. For example, the distance measurement request could also include a "Format and Bandwidth" field specifying the bandwidths supported by the requesting device.
[0039] Upon receiving a distance measurement request, block 304 checks whether a channel scan is in progress or whether the access point (AP) should perform one. Channel scans can be performed based on channel types, priorities, and channel groups. During a channel scan, the AP can visit each channel sequentially, and the primary channel can be changed after each visit. In one example, if the AP is performing a channel scan and the distance measurement request is received on a channel the AP is currently scanning, the distance measurement request is rejected, as shown in block 306. In another example, if the AP is scheduling a channel scan and the distance request is received on the home channel, the distance request is rejected, as shown in block 306.By rejecting distance measurement requests during channel scans, the AP's non-FTM functions can be prioritized, thereby reducing the negative impact on the AP's network performance.
[0040] In response to the finding that a channel scan is not in progress or scheduled (the "NO" branch of block 304), block 308 checks whether the access point (AP) is serving high-priority traffic. In some examples, high-priority traffic might include voice / video, VoIP, online gaming, media streaming services, and so on. In one example, high-priority traffic might be classified based on a Differentiated Services Code Point (DSCP) code included in an Internet Protocol (IP) packet header. In another example, high-priority traffic might be sensitive traffic that the operator expects to be delivered on time. Traffic management systems can be configured to guarantee the quality of service for these selected applications or at least prioritize them over other traffic classes.In one example, high-priority traffic served by the access point (AP) is identified. High-priority traffic can be identified by identifiers in the packets transmitted through the AP. The AP can classify traffic as high-priority based on several factors, such as port number, protocol, byte frequency, and packet size. Based on these factors, an access point can implement traffic management schemes or policies to classify traffic and serve it accordingly. In some examples, network traffic can be classified as sensitive traffic and best-effort traffic. Examples of sensitive traffic include VoIP, online gaming, video conferencing, and web browsing. The traffic management systems are configured to guarantee the quality of service (QoS) for these selected applications or at least prioritize them over other traffic classes.Best-effort traffic refers to all other types of non-harmful traffic. This is traffic that, in the service provider's opinion, is not affected by QoS parameters (such as jitter, packet loss, and latency). Examples of best-effort traffic include peer-to-peer and email applications. Traffic management systems are configured to allocate access device resources to best-effort traffic after sensitive traffic has been prioritized. Thus, high-priority traffic in this example can also include sensitive traffic. In one example, network traffic served by the access point can be classified as high-priority or best-effort using service differentiation techniques. For instance, a DSCP, a packet header value in an IP packet, can be used to request (for example) high priority or best-effort delivery for network traffic.
[0041] In response to the finding that the AP is serving high-priority traffic (the "YES" branch of block 308), the distance measurement request is rejected in block 306. Rejecting the distance measurement request while simultaneously processing high-priority traffic gives high-priority traffic processing a higher priority than FTM requests, thus balancing the distribution of AP resources between FTM and non-FTM functions. In response to the finding that the access point is not serving high-priority traffic (the "NO" branch of block 308), block 310 checks whether the traffic load exceeds a traffic load threshold. In one example, the traffic load threshold is approximately 10 megabytes per second (MBPS).If it is determined that the traffic load is higher than the traffic load threshold (“JA” branch of Block 310), the distance measurement request in Block 306 is rejected, thus preventing AP overload.
[0042] In response to the finding that the traffic load is less than or equal to the traffic load threshold (the "NO" branch of block 310), block 312 checks whether the AP has buffered data for associated client devices in a power-saving (PS) state. A client device's PS state can indicate a power-saving mode in which some components / peripherals, such as display units and hard drives, are powered off, while others, such as random access memory (RAM) and processing units, continue to operate at reduced power. For example, the AP might use the traffic indication map (TIM) bitmap to indicate to a system information access point (STA) in the PS state that the AP has buffered data for it. The AP periodically transmits the TIM bitmap as an information element in its beacons. The TIM bitmap contains a multitude of bits, each representing an association ID (AID) of an STA.Thus, a portion of the TIM bitmap, representing STAs for which the AP has buffered data, is transmitted with the beacons. Based on the TIM bitmap sent in a beacon, the AP can determine whether it has buffered data waiting to be transmitted to associated client devices in PS (Power-On Self) state.
[0043] In response to the finding that the AP has buffered data for associated client devices in PS state (the "YES" branch of block 312), the distance measurement request in block 306 is rejected. In response to the finding that the AP does not have buffered data for associated client devices in PS state (the "NE1N" branch of block 312), block 314 checks whether the WLAN channel on which the AP is operating, i.e., the home channel, is a DFS (Dynamic Frequency Selection) channel. DFS refers to a channel allocation scheme that can allow the use of WLAN channels that are generally reserved for radar equipment. Thus, by using DFS channels, underserved frequencies can be utilized, which can increase the number of available channels. DFS also allows an AP to detect radar signals and change its operating frequency to avoid interference.Because DFS channels are generally used for radar equipment, various radio regulatory bodies, such as the Federal Communications Commission (FCC), establish different conditions and guidelines for their use. For example, the FCC may require that a Channel Availability Check (CAC) be performed before transmitting on DFS channels after a channel change. Therefore, if the AP's home channel is a DFS channel and the channel width of such a channel is changed to conduct an FTM session, a CAC must be performed before initiating an FTM burst to comply with FCC guidelines. Consequently, the AP may not be able to initiate the FTM burst immediately after changing the channel width, as it must perform a CAC after the change and before initiating the FTM burst.The time required by the access point (AP) to complete the channel width change, the command and control acquisition (CAC), and the forward time measurement (FTM) burst can be longer than the AP's beacon interval. Therefore, if the DFS channel width changes, the AP might be busy performing the CAC and a subsequent FTM burst, consequently missing the transmission of a beacon frame. To prevent this scenario, upon detecting that the AP is operating on a DFS channel (the "JA" branch of block 314), the FTM session is initiated in block 316 on the home channel without changing the channel width.
[0044] In response to the detection that the AP is not operating on the DFS channel, block 318 checks whether the client device requesting the FTM session supports a high channel width, such as the second channel width (e.g., 80 MHz), i.e., whether it can operate on it. For example, the AP can determine whether the client device supports the second channel width by examining the information in the "Format and Bandwidth" field of the distance measurement request sent by the client device.
[0045] In response to the detection that the client device does not support the second channel width (the "NO" branch of block 318), the FTM session can be initiated in the channel where the AP is operating with the first channel width or its preconfigured channel width, as shown in block 316. In response to the detection that the client device does support the second channel width, non-FTM traffic, such as video, voice, audio, online media streaming, online gaming, etc., is queued in the AP (block 320). For example, the non-FTM traffic can be buffered in a queue in the AP and be ready for transmission once the home channel reverts to its previous channel width (i.e., the first channel width).
[0046] Once non-FTM traffic is queued at the AP, the channel width in block 322 is changed from the first channel width to the second channel width to conduct the FTM session. The first channel width refers to a preconfigured channel width of the WLAN channel on which the AP operates. In response to the channel width change, the FTM session can be initiated in the channel with the second channel width in block 324, thus conducting the FTM session in the second channel width, which is higher than the first channel width and consequently facilitates precise location measurements. In block 326, a check is performed to see if an FTM burst of the FTM session has completed. After the FTM burst is complete (the "yes" branch of block 326), the channel width of the AP's home channel is reset to the first channel width in block 328 to allow the AP to conduct non-FTM operations.
[0047] Fig.Figure 400 shows a block diagram of an example computer system 400 in which the embodiments described here can be implemented. The computer system 400 comprises a bus 402 or other communication mechanism for transmitting information, and one or more hardware processors 404 connected to the bus 402 for processing information. The hardware processor(s) 404 can be, for example, one or more general-purpose microprocessors.
[0048] The Computer System 400 also includes main memory 406, such as random access memory (RAM), a cache, and / or other dynamic memory devices connected to bus 402 to store information and instructions to be executed by processor 404. Main memory 406 can also be used to store temporary variables or other intermediate information during the execution of instructions to be carried out by processor 404. When such instructions are stored in memory media accessible to processor 404, the Computer System 400 becomes a specialized machine adapted to perform the operations specified in the instructions.
[0049] The Computer System 400 further includes a read-only memory (ROM) 408 or other static storage device connected to bus 402 to store static information and instructions for the processor 404. A storage device 410, such as a magnetic disk, an optical disk, or a USB flash drive, etc., is provided and connected to bus 402 to store information and instructions.
[0050] The computer system 400 can be connected via bus 402 to a display 412, such as a liquid crystal display (LCD) (or a touchscreen), to show information to a computer user. An input device 414, including alphanumeric and other keys, is coupled to bus 402 to transmit information and command selections to the processor 404. Another type of user input device is the cursor control 416, such as a mouse, trackball, or cursor direction keys, for transmitting directional information and command selections to the processor 404 and for controlling cursor movement on the display 412. In some embodiments, the same directional information and command selections as with cursor control can be implemented by receiving touch inputs on a touchscreen without a cursor.
[0051] The Computer System 400 can include a user interface module for implementing a graphical user interface, which can be stored on a mass storage device as executable software code that is executed by the computer device(s). This and other modules can include components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
[0052] In general, the words "component," "system," "database," and the like, as used here, can refer to logic embodied in hardware or firmware, or to a collection of software instructions that may have entry and exit points and are written in a programming language such as Java, C, or C++. A software component may be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language such as BASIC, Perl, or Python. It is understood that software components may be invoked by other components or by themselves, and / or may be invoked in response to detected events or interruptions. Software components configured to run on computer devices may be stored on a computer-readable medium, such as...Software code may be provided on a compact disc, digital video disc, flash drive, magnetic disk, or other tangible medium, or as a digital download (and may initially be stored in a compressed or installable format that requires installation, decompression, or decryption before execution). Such software code may be stored partially or entirely in the memory of the executing computer device for execution by the computer device. Software instructions may be embedded in firmware, such as an EPROM. Furthermore, the hardware components may consist of interconnected logic units such as gates and flip-flops, and / or programmable units such as programmable gate arrays or processors.
[0053] The computer system 400 can implement the techniques described herein using custom hard-wired logic, one or more ASICs or FPGAs, firmware, and / or program logic, which, in combination with the computer system, make the computer system 400 a specialized machine or program it. According to one embodiment, the techniques described herein are executed by the computer system 400 in response to the processor(s) 404, which executes one or more sequences of instructions contained in the main memory 406. Such instructions may be read into the main memory 406 from another storage medium, such as the storage device 410. The execution of the instruction sequences contained in the main memory 406 causes the processor(s) 404 to perform the process steps described herein.In alternative embodiments, hard-wired circuits can be used instead of, or in combination with, software instructions.
[0054] The term "non-volatile media" and similar terms as used here refer to all media that store data and / or instructions that cause a machine to operate in a particular way. Such non-volatile media can include both non-volatile and volatile media. Non-volatile media include, for example, optical or magnetic disks, such as Storage Device 410. Volatile media include dynamic storage, such as Main Memory 406. Common forms of non-volatile media include, for example, floppy disks, flexible disks, hard disks, solid-state drives, magnetic tapes or other magnetic data storage media, CD-ROMs, other optical data storage media, physical media with hole patterns, RAM, PROM and EPROM, FLASH-EPROM, NVRAM, other memory chips or cartridges, and their networked versions.
[0055] Non-transient media differ from transmission media but can be used in conjunction with them. Transmission media are involved in the transfer of information between non-volatile media. Examples of transmission media include coaxial cable, copper and fiber optic cables, including the wires that make up the 402 bus. Transmission media can also take the form of sound or light waves, such as those generated in data communication via radio waves and infrared.
[0056] The Computer System 400 also includes a communication interface 418, which is connected to bus 402. The network interface 418 provides a two-way data communication connection to one or more network connections that are connected to one or more local area networks (LANs). For example, the communication interface 418 could be an ISDN (Integrated Services Digital Network) card, a cable modem, a satellite modem, or a modem to establish a data communication connection to a corresponding type of telephone line. Another example: the network interface 418 could be a LAN (Local Area Network) card to establish a data communication connection to a compatible LAN (or a WAN component for communication with a WAN). Wireless connections can also be implemented.In each of these implementations, the network interface 418 sends and receives electrical, electromagnetic, or optical signals that transmit digital data streams with various types of information.
[0057] A network connection typically enables data communication over one or more networks to other data devices. For example, a network connection might establish a connection over a local area network to a host computer or to data devices operated by an Internet service provider (ISP). The ISP, in turn, provides data communication services over the worldwide packet data communication network, commonly known today as the "Internet." Both the local area network and the Internet use electrical, electromagnetic, or optical signals to transmit digital data streams. The signals across the various networks, the signals on the network connection, and the communication interface 418, which transmit digital data to and from the computer system 400, are examples of transmission media.
[0058] The computer system 400 can send messages and receive data, including program code, via the network(s), network connection, and communication interface 418. In the internet example, a server could transmit requested code for an application program via the internet, the ISP, the local network, and communication interface 418. The received code can be executed by the processor 404 upon receipt and / or stored in the memory device 410 or other non-volatile memory for later execution.
[0059] Each of the processes, methods, and algorithms described in the preceding sections can be embodied in code components and fully or partially automated, executed by one or more computer systems or processors using computer hardware. These computer systems or processors can also be operated in a cloud computing environment or as Software as a Service (SaaS). The processes and algorithms can be partially or fully implemented in application-specific circuits. The various features and procedures described above can be used independently or combined in various ways.Various combinations and subcombinations are said to fall within the scope of this disclosure, and certain procedural or process blocks may be omitted in some implementations. The methods and processes described herein are also not restricted to any particular order, and the associated blocks or states may be executed in other suitable orders, in parallel, or otherwise. Blocks or states may be added to or removed from the disclosed examples. The execution of certain operations or processes may be distributed across computer systems or computer processors, not just on a single machine, but distributed across a number of machines.
[0060] As used herein, a circuit can be implemented in any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logic components, software routines, or other mechanisms can be implemented to form a circuit. In implementation, the various circuits described herein can be implemented as discrete circuits, or the described functions and features can be partially or completely distributed across one or more circuits.Even if various features or functional elements are individually described or claimed as separate circuits, these features and functions may be shared by one or more common circuits, and such a description is not intended to require or imply that separate circuits are necessary to implement these features or functions. If a circuit is implemented wholly or partially in software, that software may be implemented to operate with a computer or processing system capable of performing the described functions, such as the Computer System 400.
[0061] The term "or" used here can be understood in both an inclusive and an exclusive sense. Furthermore, the description of resources, processes, or structures in the singular is not to be understood as excluding the plural. Conditional expressions, such as "may," "could," "might," or "can," are, unless expressly stated otherwise or understood differently in context, generally to be understood as meaning that certain embodiments include certain features, elements, and / or steps, while other embodiments do not.
[0062] Unless explicitly stated otherwise, the terms and expressions used in this document, as well as their variations, are to be understood as open and not restrictive. For example, the term "including" is to be understood as "including, without limitation" or the like. The term "example" is used to provide illustrative examples of the subject under discussion, not to create an exhaustive or limiting list. The terms "a" or "an" are to be understood as "at least one," "one or more," or similar. The presence of expansive words and expressions such as "one or more," "at least," "but not limited to," or other similar expressions in some cases is not to be understood as implying that the narrower case is intended or required when such expansive expressions are absent.
[0063] Although implementations of the present subject matter have been described in a language specific to structural features and / or methods, it should be noted that the present subject matter is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed and explained in connection with a few embodiments of the present subject matter.
Claims
[1] A method (300) comprising the following: Received (302), through an access point (AP), a distance measurement request to initiate a fine time measurement (FTM) session, wherein the distance measurement request originates from a client device; in response to receiving the distance measurement request, determine (310) whether a traffic load at the AP is higher than a traffic load threshold; in response to the finding that the traffic load is higher than the traffic load threshold, Reject (306) the distance measurement request; In response to determining that the traffic load is less than or equal to the traffic load threshold, the AP changes (322) a channel width of a WLAN (Wireless Local Area Network) channel on which the AP is operating, from a first channel width to a second channel width to conduct the FTM session, the second channel width being greater than the first channel width; and In response to the termination of an FTM burst associated with the FTM session, Restore (328) by the AP, the WLAN channel width is reduced to the first channel width to allow the AP to perform non-FTM operations. [2] The method of claim 1, further comprising: Before changing the channel width, place (320) the non-FTM traffic in the AP into a queue. [3] The method according to claim 2, further comprising: In response to the restoration of channel width, re-initiating transmission of queued non-FTM traffic in the WLAN channel. [4] The method according to claim 1, further comprising: In response to the change in channel width, initiate (324) the FTM session in the WLAN channel with the second channel width. [5] The method according to claim 1, further comprising: in response to receiving the distance measurement request, determine (304) whether a channel scan of the AP is scheduled or is currently being performed; and In response to the determination that the channel scan is planned or is currently being carried out, the distance measurement request is rejected (306). [6] The method according to claim 1, further comprising: In response to receiving the distance measurement request, determine (308) whether the AP is serving high-priority traffic, identifying high-priority traffic based on at least one of the following: port number, protocol, byte frequencies, packet sizes, or Differentiated Services Code Point (DSCP) in an Internet Protocol (IP) packet header; and in response to the determination that the AP serves traffic with high priority, Reject (306) the distance measurement request. [7] The method according to claim 1, further comprising: In response to receiving the distance measurement request, determine (312), based on Traffic Indication Map (TIM) information, whether the AP has buffered data for associated client devices in a power-saving (PS) state; and In response to the determination that the AP has buffered data for associated client devices in the PS state, reject (306) the distance measurement request. [8] The method according to claim 1, further comprising: before changing the channel width, Determine (318) whether the client device is operable in the second channel width; and In response to the determination that the client device is not operable in the second channel width, initiate (316) the FTM session in the WLAN channel with the first channel width. [9] The method of claim 1, further comprising: Before changing the channel width, determine that the WLAN channel on which the AP is operating is a Dynamic Frequency Selection (DFS) channel; and Initiating the FTM session based on the distance measurement request in the WLAN channel with the first channel width. [10] The method according to claim 1, wherein the second channel width is 80 megahertz (MHz) and the first channel width is 20 MHz or 40 MHz. [11] The method according to claim 1, wherein the AP operates in the 5 GHz frequency band. [12] An access point (AP) (200), comprising: a processor (202); and a memory (204) coupled to the processor (202), in which instructions are stored that can be executed by the processor (202) to: to receive a distance measurement request to initiate a fine time measurement (FTM) session (206), wherein the distance measurement request originates from a client device; in response to receiving the distance measurement request, to determine whether a traffic load at the AP is higher than a traffic load threshold; In response to the finding that the traffic load is higher than the traffic load threshold, the distance measurement request is rejected; in response to determining that the traffic load is less than or equal to the traffic load threshold, to change the channel width of a WLAN (Wireless Local Area Network) channel on which the AP is operating from a first channel width to a second channel width to carry out the FTM session (208), the second channel width being greater than the first channel width; and in response to the termination of an FTM burst associated with the FTM session, to restore the WLAN channel width to the first channel width to allow the AP to perform non-FTM operations (210). [13] The AP (200) according to claim 12, wherein the processor (202) further serves to queue non-FTM traffic of the AP in the WLAN channel before changing the channel width. [14] The AP (200) according to claim 13, wherein the processor (202) further serves to re-initiate a transmission of the queued non-FTM traffic in the WLAN channel in response to the restoration of the channel width. [15] The AP (200) according to claim 12, wherein the processor (202) further serves to initiate the FTM session in the WLAN channel with the second channel width in response to a change in the channel width. [16] The AP (200) according to claim 12, wherein the processor (202) further serves to determine whether a channel scan of the AP is planned or is currently being performed, in response to receiving the distance measurement request; and to reject the distance measurement request, in response to determining that the channel scan is planned or is currently being performed. [17] The AP (200) according to claim 12, wherein the processor (202) further serves to determine whether the AP is serving high-priority traffic in response to receiving the distance measurement request, wherein the high-priority traffic is identified based on at least one of the following information: port number, protocol, byte frequencies, packet sizes, or Differentiated Services Code Point (DSCP) in an Internet Protocol (IP) packet header; and to reject the distance measurement request in response to determining that the AP is serving high-priority traffic. [18] A non-transitory computer-readable medium (204; 406) comprising computer-readable instructions, wherein the computer-readable instructions, when executed by a processor (202; 404), cause the processor (202; 404) to: to receive a distance measurement request to initiate a fine time measurement (FTM) session, where the distance measurement request originates from a client device; in response to receiving the distance measurement request, to determine whether a traffic load at the AP is higher than a traffic load threshold; in response to the finding that the traffic load is higher than the traffic load threshold, to reject the distance measurement request; In response to determining that the traffic load is less than or equal to the traffic load threshold, change the channel width of a WLAN (Wireless Local Area Network) channel on which the AP is operating from a first channel width to a second channel width to conduct the FTM session, with the second channel width being greater than the first channel width; and in response to the termination of an FTM burst associated with the FTM session, to restore the WLAN channel width to the first channel width to allow the AP to perform non-FTM operations. [19] The non-transitory computer-readable medium according to claim 18, wherein the computer-readable instructions further cause the processor (202; 404) to queue non-FTM traffic of the AP in the WLAN channel before changing the channel width.
Citation Information
Patent Citations
Wireless network positioning
US20180310133A1
Methods and nodes for facilitating positioning determination in a WI-FI communication network
WO2019083419A1