Failure conditions for fine timing measurement (FTM) protocol

Techniques for positioning with Fine Timing Measurement (FTM) messages are disclosed. An example of a wireless transceiver system for providing a FTM response message is configure to receive a FTM request from an initiating station, the FTM request may include a minimum delta FTM value, a number of bursts exponents value, and a As Soon As Possible (ASAP) value. The transceiver may send a first FTM response message indicating the FTM session is terminated if the wireless transceiver is incapable of meeting the minimum delta FTM value and the number of bursts exponents value, and send a second FTM response message including a status value based on the ASAP value in the FTM request if the wireless transceiver is capable of meeting the minimum delta FTM value and the number of bursts exponents value.

BACKGROUND

Embodiments of the inventive subject matter generally relate to the field of wireless communication and, more particularly, to resolving ambiguities in Fine Timing Measurement (FTM) procedures.

Various positioning techniques can be employed for determining the position of a wireless communication device (e.g., a wireless local area network (WLAN) device) based on receiving wireless communication signals. For example, positioning techniques can utilize one or more Fine Timing Measurement (FTM) sessions between a mobile device and one or more access points. The positioning techniques may utilize one or more measurement exchanges to determine time of arrival (TOA), the round trip time (RTT) of wireless communication signals, received signal strength indicator (RSSI), or the time difference of arrival (TDOA) of the wireless communication signals. The RTT, RSSI, TOA, and TDOA information may be used to determine the position of a wireless communication device in a wireless communication network. These factors may be used in conjunction with the known positions of one or more stations in the wireless network to derive the location of the wireless communication device.

SUMMARY

An example of a wireless transceiver system for providing a Fine Timing Measurement (FTM) response message in a FTM session according to the disclosure includes a memory, at least one processor operably coupled to the memory and configure to receive a FTM request from an initiating station, such that the FTM request includes a minimum delta FTM value, a number of bursts exponents value, and a As Soon As Possible (ASAP) value, determine if the wireless transceiver system is capable of meeting the minimum delta FTM value and the number of bursts exponents value, send a first FTM response message indicating the FTM session is terminated if the wireless transceiver is incapable of meeting the minimum delta FTM value and the number of bursts exponents value, and send a second FTM response message including a status value based on the ASAP value in the FTM request if the wireless transceiver is capable of meeting the minimum delta FTM value and the number of bursts exponents value.

Implementations of such a wireless transceiver system may include one or more of the following features. The status value in the second FTM response message may indicate the FTM session is terminated if the ASAP value in the FTM request indicates a false state and the wireless transceiver system is incapable of processing any non-ASAP parameters. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a false state and the wireless transceiver system is capable of processing all non-ASAP parameters included in the FTM request. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a false state, the wireless transceiver system is incapable of processing all non-ASAP parameters included in the FTM request, and a Go Ahead condition is met. The status value in the second FTM response message may indicate the FTM session is terminated if the ASAP value in the FTM request indicates a true state and the wireless transceiver system is incapable of processing any ASAP parameters. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a true state and the wireless transceiver system is capable of processing all ASAP parameters included in the FTM request. The status value in the second FTM response message indicates that a measurement exchange will begin if the ASAP value in the FTM request indicates a true state, the wireless transceiver system is incapable of processing all ASAP parameters included in the FTM request, and a Go Ahead condition is met. The at least one processor may be further configured to determine the minimum delta FTM value, the number of bursts exponents value, and the As Soon As Possible (ASAP) value from the FTM request and may store the respective values in the memory.

An example of a method for providing a Fine Timing Measurement (FTM) response message in a FTM session with a wireless transceiver system according to the disclosure includes receiving a FTM request from an initiating station, such that the FTM request includes a minimum delta FTM value, a number of bursts exponents value, and a As Soon As Possible (ASAP) value, determining if the wireless transceiver system is capable of meeting the minimum delta FTM value and the number of bursts exponents value, sending a first FTM response message indicating the FTM session is terminated if the wireless transceiver system is incapable of meeting the minimum delta FTM value and the number of bursts exponents value, and sending a second FTM response message including a status value based on the ASAP value in the FTM request if the wireless transceiver system is capable of meeting the minimum delta FTM value and the number of bursts exponents value.

Implementations of such a method may include one or more of the following features. The status value in the second FTM response message may indicate the FTM session is terminated if the ASAP value in the FTM request indicates a false state and the wireless transceiver system is incapable of processing any non-ASAP parameters. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a false state and the wireless transceiver system is capable of processing all non-ASAP parameters included in the FTM request. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a false state, the wireless transceiver system is incapable of processing all non-ASAP parameters included in the FTM request, and a Go Ahead condition is met. The status value in the second FTM response message may indicate the FTM session is terminated if the ASAP value in the FTM request indicates a true state and the wireless transceiver system is incapable of processing any ASAP parameters. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a true state and the wireless transceiver system is capable of processing all ASAP parameters included in the FTM request. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a true state, the wireless transceiver system is incapable of processing all ASAP parameters included in the FTM request, and a Go Ahead condition is met. The minimum delta FTM value, the number of bursts exponents value, and the As Soon As Possible (ASAP) value from the FTM request may be determined and the respective values stored in a memory.

An example of a non-transitory processor-readable storage medium comprising instructions for providing a Fine Timing Measurement (FTM) response message in a FTM session with a wireless transceiver system according to the disclosure includes code for receiving a FTM request from an initiating station, such that the FTM request includes a minimum delta FTM value, a number of bursts exponents value, and a As Soon As Possible (ASAP) value, code for determining if the wireless transceiver system is capable of meeting the minimum delta FTM value and the number of bursts exponents value, code for sending a first FTM response message indicating the FTM session is terminated if the wireless transceiver system is incapable of meeting the minimum delta FTM value and the number of bursts exponents value, and code for sending a second FTM response message including a status value based on the ASAP value in the FTM request if the wireless transceiver system is capable of meeting the minimum delta FTM value and the number of bursts exponents value.

Implementations of such a non-transitory processor-readable storage medium may include one or more of the following features. The status value in the second FTM response message may indicate the FTM session is terminated if the ASAP value in the FTM request indicates a false state and the wireless transceiver system is incapable of processing any non-ASAP parameters. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a false state and the wireless transceiver system is capable of processing all non-ASAP parameters included in the FTM request. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a false state, the wireless transceiver system is incapable of processing all non-ASAP parameters included in the FTM request, and a Go Ahead condition is met. The status value in the second FTM response message may indicate the FTM session is terminated if the ASAP value in the FTM request indicates a true state and the wireless transceiver system is incapable of processing any ASAP parameters. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a true state and the wireless transceiver system is capable of processing all ASAP parameters included in the FTM request. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a true state, the wireless transceiver system is incapable of processing all ASAP parameters included in the FTM request, and a Go Ahead condition is met. The non-transitory processor-readable storage medium may include code for determining the minimum delta FTM value, the number of bursts exponents value, and the As Soon As Possible (ASAP) value from the FTM request and code for storing the respective values in a memory.

An example of an apparatus for providing a Fine Timing Measurement (FTM) response message in a FTM session according to the disclosure includes means for receiving a FTM request from an initiating station, such that the FTM request includes a minimum delta FTM value, a number of bursts exponents value, and a As Soon As Possible (ASAP) value, means for determining if the apparatus is capable of meeting the minimum delta FTM value and the number of bursts exponents value, means for sending a first FTM response message indicating the FTM session is terminated if the apparatus is incapable of meeting the minimum delta FTM value and the number of bursts exponents value, and means for sending a second FTM response message including a status value based on the ASAP value in the FTM request if the apparatus is capable of meeting the minimum delta FTM value and the number of bursts exponents value.

An example of a client station for use in a Fine Timing Measurement (FTM) exchange according to the disclosure includes a memory, at least one processor operably coupled to the memory and configured to generate a FTM request including a minimum delta FTM value, a number of bursts exponents value, and a As Soon As Possible (ASAP) value, send the FTM request to a responding station, receive a first FTM response message from the responding station indicating the FTM session is terminated if the responding station is incapable of meeting the minimum delta FTM value and the number of bursts exponents value, and receive a second FTM response message from the responding station including a status value based on the ASAP value in the FTM request if the responding station is capable of meeting the minimum delta FTM value and the number of bursts exponents value.

Implementations of such a client station may include one or more of the following features. The status value in the second FTM response message may indicate the FTM session is terminated if the ASAP value in the FTM request indicates a false state and the responding station is incapable of processing any non-ASAP parameters. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a false state and the responding station is capable of processing all non-ASAP parameters included in the FTM request. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a false state, the responding station is incapable of processing all non-ASAP parameters included in the FTM request, and a Go Ahead condition is met. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a true state and the responding station is capable of processing all ASAP parameters included in the FTM request. The status value in the second FTM response message may indicate that a measurement exchange will begin if the ASAP value in the FTM request indicates a true state, the responding station is incapable of processing all ASAP parameters included in the FTM request, and a Go Ahead condition is met. The FTM session may be used to determine the position of the client station.

An example of a method for determining a position of a client station according to the disclosure includes generating a Fine Timing Measurement (FTM) request including a minimum delta FTM value, a number of bursts exponents value, and a As Soon As Possible (ASAP) value, sending the FTM request to a responding station, receiving a first FTM response message from the responding station indicating the FTM session is terminated if the responding station is incapable of meeting the minimum delta FTM value and the number of bursts exponents value, receiving a second FTM response message from the responding station including a status value based on the ASAP value in the FTM request if the responding station is capable of meeting the minimum delta FTM value and the number of bursts exponents value, performing one or more FTM exchanges with the responding station based on the second FTM response message, and determining the position of the client station based on the one or more FTM exchanges.

Items and/or techniques described herein may provide one or more of the following capabilities, as well as other capabilities not mentioned. Consistent FTM status fields may be established. Ambiguities in FTM messages may be resolved. FTM message exchange failure cases may be addressed. Capabilities of a station may be transmitted. Messages between incompatible stations may be reduced. Network message traffic may be reduced. Further, it may be possible for an effect noted above to be achieved by means other than that noted, and a noted item/technique may not necessarily yield the noted effect.

DETAILED DESCRIPTION

The description that follows includes exemplary systems, methods, techniques, instruction sequences, and computer program products that embody techniques of the present inventive subject matter. However, it is understood that the described embodiments may be practiced without these specific details. For instance, although examples utilize Fine Timing Measurement (FTM) exchanges for positioning wireless local area network (WLAN) devices, embodiments are not so limited. In other embodiments, the positioning information may be provided by other wireless standards and devices (e.g., WiMAX devices). In other instances, well-known instruction instances, protocols, structures, and techniques have not been shown in detail in order not to obfuscate the description.

In wireless communication networks, determining the position of an electronic device, such as a wireless transceiver system with wireless communication capabilities (e.g., within an indoor or outdoor environment), can be a desired feature for users of the communication device (e.g., station) and operators of the wireless communication network. In some systems, round-trip time (RTT) techniques can be implemented for determining the position of the communication device. For example, the communication device can transmit a request message to a station and can receive a response message from the station. The range between the communication device and the station may be determined by measuring the round trip time between the request messages and the corresponding response messages. The position of the communication device can be determined by comparing the RTT information to the known locations of one or more stations. In some systems, time of arrival (TOA) and/or time difference of arrival (TDOA) techniques may be implemented for determining the position of the communication device. As examples, and not limitations, the processes described in U.S. Pat. No. 8,457,655, titled “Hybrid time of arrival based positioning system,” and U.S. Pat. No. 8,521,181, titled “Time of arrival based positioning system” may be used. In general, a communication device may determine its position based on the difference between the ranges from each of the stations to the communication device. Typically, a communication device will initiate RTT, TOA, or TDOA positioning operations by transmitting a FTM request message to one or more stations. A FTM session may be used to determine RTT and/or TDOA timing information associated with the respective access points. A position calculation unit in the communication device may determine the position of the communication device based on RTT and/or TDOA information derived from the FTM session.

A FTM session between an initiating station and a responding station generally begins with a FTM request message sent from the initiating station. The FTM request message may include data fields based on a network standard. For example, the FTM request message may include Fine Timing Measurement Parameters such a described in the IEEE P802.11 standard. The information contained in the FTM request message may then be processed by a responding station to generate a FTM Response message. The FTM Response message is generally referred to as a FTM_1 message. In some circumstances, the capabilities (e.g., configurations) of the initiating station and the responding station are not aligned and a FTM message exchange may not, or should not, occur. For example, some of the parameters in the FTM request may not be compatible with algorithms operating on the responding station. In such a case, the FTM session should be terminated to avoid additional incompatible message traffic from utilizing the available bandwidth. The early termination of FTM sessions may minimize the impact of communication device transmissions on the traffic load of the wireless communication network.

Referring toFIG. 1A, an example block diagram of a wireless local area network capable of exchanging FTM messages between network stations is shown. The network100includes three exemplary stations: a first access point102, a second access point104, a client station120. The number of access points and client stations in the network100is exemplary only as the techniques provided herein may be used with networks comprising multiple stations. The first access point102and the second access point104may be an advanced WLAN access points capable of determining their own positions (e.g., a self-locating access point). The access points may be configured to communicate with one or more other access points in the network100(e.g., via a first communication path112). In some implementations, access points can be arranged that one access point can be designated as a master access point, and the other access points can be designated as target access points. The client station120can be any suitable electronic device (e.g., a notebook computer, a tablet computer, a netbook, a mobile phone, a gaming console, a personal digital assistant (PDA), inventory tag, etc.) with WLAN communication capabilities. Furthermore, inFIG. 1A, the client station120is within the communication range of the first access point102(e.g., via a second communication path114), and the second access point104(e.g., via a third communication path116).

An access point or the client station may initiate a FTM message exchange with another station in the network100. A FTM message request may conform in part to network standards (e.g., IEEE 802.11). The term “initiating station” is used to describe the station that sends a FTM request message, and the term “responding station” is used to describe the station that responds with a FTM response message (e.g., a FTM_1 message). A FTM exchange may occur between the first access point102and the second access point104, or between the client station120and either of access points. The first access point102, the second access point104, or the client station120may determine position information (e.g., RTT and/or TDOA information) based on a FTM exchange. The access points and/or client station may initiate additional FTM exchanges with other stations in the network100.

A station in the network100may be configured to determine a position based, at least in part, on the information included in a FTM session. In some implementations, a station may use the position information associated with another station (e.g., latitude, longitude, altitude), in combination with the TDOA timing information, and/or the RTT timing information to construct a “positioning equation” in terms of the range between the stations in the network100. For example, on determining the position information associated with another station, the TDOA timing information, and the RTT timing information associated with three other stations, a station may use three positioning equations to determine its three-dimensional position. In other implementations, the station may determine a position based on network station position information, the TDOA timing information, and the RTT timing information associated with any suitable number of other stations. For example, a position can be based on two independent positioning equations from the station position information, the TDOA timing information, and the RTT timing information associated with two target stations to determine a two-dimensional position of the initiating station.

Referring toFIG. 1B, an example network diagram of a wireless local area network including a position server is shown. The network150includes the first access point102, the second access point104, a position server152, and a communication path154. The position server152is a computing device including at least one processor and a memory and is configured to execute computer executable instructions. For example, a position server152comprises a computer system including a processor, non-transitory memory, disk drives, a display, a keyboard, a mouse. The processor is preferably an intelligent device, e.g., a personal computer central processing unit (CPU) such as those made by Intel® Corporation or AMD®, a microcontroller, an application specific integrated circuit (ASIC), etc. The memory includes random access memory (RAM) and read-only memory (ROM). The disk drives include a hard-disk drive, a CD-ROM drive, and/or a zip drive, and may include other forms of drives. The display is a liquid-crystal display (LCD) (e.g., a thin-film transistor (TFT) display), although other forms of displays are acceptable, e.g., a cathode-ray tube (CRT). The keyboard and mouse provide data input mechanisms for a user. The position server152stores (e.g., in the memory) processor-readable, processor-executable software code containing instructions for controlling the processor to perform functions described herein. The functions may assist in the implementation FTM message exchanges between network stations (e.g., first access point102, second access point104, client station120). The software can be loaded onto the memory by being downloaded via a network connection, uploaded from a disk, etc. Further, the software may not be directly executable, e.g., requiring compiling before execution. Network stations may be configured to communicate with the position server152to exchange FTM and other position information via the communication path154. The communication path154can be a wide area network (WAN) and can include the internet. The position server152can include a data structure (e.g., relational database, flat files) to store station position information. For example, the position server152can include station position information (e.g., lat./long., x/y), RTT information, SIFS information, and other information associated with a network station (e.g., SSID, MAC address, uncertainty value, coverage area, etc.). A network station may communicate with the position server152and may retrieve, for example, station position information, SIFS information and RTT information for use in network station positioning solutions. The configuration of the position server152as a remote server is exemplary only, and not a limitation. In an embodiment, the position server152may be connected directly to a network station, or the functionality may be included in a network station. More than one position server may be used. The position server152may include one or more databases containing position information associated with other stations on additional networks. In an example, the position server152is comprised of multiple server units.

Referring toFIG. 2a conceptual diagram of a FTM exchange including an exemplary FTM frame format is shown. The diagram200includes two network stations: an initiating station202and a responding station204. The initiating station202and the responding station204may be an access point (e.g.,102,104) or a client station120in the network100. The initiating station202sends a FTM Request message206to the responding station204. The responding station204may send an acknowledgement (ACK) message207. The FTM request message206may include a FTM frame format220. The fields in the FTM frame format220may be based on a communication protocol (e.g., IEEE P802.11) and may include parameters such as: category, public action, trigger, LCI measurement request, location civic measurement request, and one or more FTM parameters elements. For example, the FTM parameters elements may include an Number of Bursts Exponent value, and Minimum Delta FTM value, and an As Soon As Possible (ASAP) value (e.g., IEEE 802.11, sec. 8.4.2.166). Other parameters may also be included the FTM frame format220based on the type/version of the protocol being used by the network stations. The responding station204is configured to generate a FTM_1 Response message208based on the information included in the received FTM frame format220. The responding station204then sends the FTM_1 Response message208to the initiating station202. The initiating station202may acknowledge receipt of the FTM_1 Response message208with an acknowledgment (ACK) message209.

Referring toFIG. 3, with further references toFIG. 2, a process300for generating a status value based on a received FTM request message includes the stages shown. The process300, however, is exemplary only and not limiting. The process300may be altered, e.g., by having stages added, removed, or rearranged. The responding station204may be a first access point102, a second access point104, or a client station120.

At stage302, the responding station204is configured to receive the FTM Request message206, including the parameters indicated in the FTM frame format220. The initiating station202can request the responding station204to start a burst instance “as soon as possible” by setting the ASAP field to a value representing a true state (e.g., a value of 1). In general, the ASAP value indicates the initiating station's request to start the first burst instance of the FTM session as soon as possible. The responding station204may parse the FTM frame format220and determine a value for the ASAP frame element at stage303. If the ASAP value represents a true state (e.g., equal to 1), then the process proceeds to stage308. If the ASAP value is not true (i.e., a false state, not equal to 1), then the process proceeds to stage304.

At stages304and308, the responding station204is configured to determine if the parameters received in the FTM request message206are capable of being processed by the responding station204. In this context, the term capable means that the responding station204is able to fulfill the request by the initiating station202. If the responding station204is not capable of processing the parameters, then a status field in the FTM_1 Response message208is set to a value to indicate that the responding station204is incapable of responding to the request, and that the requesting station should not send the same request again. Referring toFIG. 5, a collection of values, descriptions and values are shown. The values indicate numbers between 0 and 7. These numbers are exemplary only as any data field (e.g., number, character, string, etc. . . . ) may be used as an index for the corresponding description and status information. Thus, the status value of 3 at stage306is exemplary only and is used to indicate that the responding station204is incapable of responding to the request, and that the requesting station should not send the same request again. The status value of 3 also indicates a status that ends the FTM session between the initiating station202and the responding station204. If the responding station204is capable of processing the parameters, then the process proceeds to stages310and312respectively.

At stage310, the responding station204is configured to determine if all of the non-ASAP parameters are acceptable values (e.g., within expected ranges). If all of the non-ASAP parameters are accepted, then at stage314the status field in the FTM_1 Response message208is set to a value to indicate that the responding station204is ASAP incapable, all non-ASAP fields are accepted, and measurement exchanges with an ASAP=0 will begin. Referring again toFIG. 5, an exemplary status value of 5 indicates the responding station204is ASAP incapable, all non-ASAP fields are accepted, and measurement exchanges with an ASAP=0 will begin. If the responding station204does not accept the non-ASAP parameters in the FTM request message206, then the process proceeds to stage318.

At stage312, the responding station204is configured to determine if all of the ASAP parameters are acceptable values. If all of the ASAP parameters are accepted, then at stage316the status field in the FTM_1 Response message208is set to a value indicating that the responding station204is ASAP capable, all fields are accepted, and a measurement exchange is about to begin. Referring again toFIG. 5, an exemplary status value of 1 indicates the responding station204is ASAP capable, all fields are accepted, and measurement exchange is about to begin. If the responding station204does not accept the ASAP parameters in the FTM request message206, then the process proceeds to stage320.

At stages318and320, the responding station204is configured to determine if a Go Ahead condition is met. In an example, a Go Ahead condition may be an indication (i.e., flag, variable) to indicate that a FTM session will begin (i.e., FTM measurement information will be exchanged). The Go Ahead conditions for each of stage318and320may be different. If the respective Go Ahead condition is met at either stage318or stage320, the responding station204sets the status field in the FTM_1 Response message208at stage324to a value indicating to the initiating station202that one or more fields in the FTM Request message206are overridden and measurement exchanges are about to begin. Referring toFIG. 5, a status value of 2 indicates to the initiating station202that one or more fields in the FTM Request message206are overridden and measurement exchanges are about to begin. If the respective Go Ahead conditions are not met at stage318or stage320, then the status values are set at stage322or stage326respectively. Referring toFIG. 5, a status value of 4 indicates the responding station204is ASAP incapable, the request failed, and the initiating station202should not send a new request for some period of time (e.g., a [Value] of seconds, where [Value] is a variable length such as 1, 2, 5, etc. . . . seconds). A status value of 6 indicates the responding station204is ASAP capable, the request failed, and the initiating station202should not send a new request for some period of time (e.g., a [Value] of seconds). A status value of either 4 or 6 ends the FTM session.

When the initiating station202requests ASAP false (e.g., equal to 0), then all status values are possible since the status value depends on whether the responding station204is ASAP true (e.g., equal to 1) capable or not. When the initiating station202requests ASAP true (e.g., equal to 1), if the responding station204is capable of ASAP, then the status should be limited to the status information associated with status values of 1, 2, 3, 6, else if the responding station204is not capable of ASAP, then the status should be limited to the status information associated with status values 2, 3, 4, 5.

In operation, referring toFIG. 4A, with further reference toFIGS. 2 and 3, a process400for sending a FTM Response with a Status Value includes the stages shown. The process400, however, is exemplary only and not limiting. The process400may be altered, e.g., by having stages added, removed, or rearranged.

At stage402, the responding station204is configured to receive the FTM request message206from the initiating station202. The FTM request message206may include a FTM frame format220. The fields in the FTM frame format220may be based on a communication protocol (e.g., IEEE P802.11). Other fields may also be included in the FTM request message206.

At stages404and406, the responding station204is configured to parse the FTM request message206and determine values for the minimum delta FTM (Min Delta FTM) and Number of Bursts Exponent respectively. The Min Delta FTM value may indicate the minimum time between consecutive fine timing measurement frames. It may be measured from the start of an FTM frame to the start of the following FTM frame. Units are typically in 100 microseconds. If the Min Delta FTM value in the FTM request message206is too large (e.g., greater than 25.5 ms) then at stage410the status value in the FTM_1 Response message208is set to a value indicating that the responding station204is incapable of responding to the request, and that the requesting station should not send the same request. The Number of Bursts Exponent value may indicate how many bursts (2^exponent) are requested/allocated if included in a FTM Request/FTM frame respectively. If the Number of Bursts Exponent equal zero, the status value in the FTM_1 Response message208is set at stage410to a value indicating that the responding station204is incapable of responding to the request, and that the requesting station should not send the same request again. Referring toFIG. 5, an exemplary status value of 3 indicates that the responding station204is incapable of responding to the request, and that the requesting station should not send the same request again. The status value of 3 ends the FTM session between the initiating station202and the responding station204. If the Min Delta FTM value is not too large, and the Number of Bursts Exponent=0, then the process continues to stage408.

At stage408, the responding station is configured to determine a status value based on a received ASAP value in the FTM request message206. The status value determined at stage408is based on the process300described in regards toFIG. 3. At stage412, the responding station is configured to send the FTM Response message208to the initiating station. The FTM Response message may include additional fields such as described in an appropriate network protocol (e.g., IEEE 802.11).

When the responding station204is ASAP capable and accepts all the parameters in the FTM request message206, the responding station204shall send a Status Indication field to indicate ASAP capable, successful, and the FTM session continues. When the responding station204is ASAP incapable and accepts all of the non-ASAP parameters, then responding station204shall send the Status Indication field to indicate ASAP incapable, successful, and the FTM session continues. When the responding station204is ASAP capable and is unable to fulfill the FTM session, the responding station204shall send the Status Indication filed to indicate ASAP capable, request failed and the FTM session ends. When the responding station204is ASAP incapable and is unable to fulfill the FTM session, the responding station204shall send the Status Indication field to indicate ASAP incapable, request failed and the FTM session ends. When the responding station204is ASAP incapable and is able to fulfill the non-ASAP parameter requests, the responding station204shall send the Status Indication field to indicate ASAP incapable, successful, and the FTM session continues. Regardless of the ASAP capability, when the responding station204is unable to meet the Min Delta FTM or Number of Bursts Exponent=0 constraints, it shall send the Status indication field to indicate that the request incapable and the FTM session ends.

In operation, referring toFIG. 4B, with further reference toFIGS. 2, 3 and 4A, a process450for sending a FTM Response from a wireless transceiver system includes the stages shown. The process450, however, is exemplary only and not limiting. The process450may be altered, e.g., by having stages added, removed, or rearranged. For example, the determining process of stage454is optional. The wireless transceiver system may be an access point, a client device, a mobile station, or other networked system.

At stage452, the wireless transceiver system is configured to receive a FTM request from an initiating station. The FTM request may be the FTM request message206from the initiating station202and may include a FTM frame format220. The fields in the FTM frame format220may be based on a communication protocol (e.g., IEEE P802.11). Other fields may also be included in the FTM request message206. The FTM request may include a minimum delta FTM value, a number of bursts exponents value, and a As Soon As Possible (ASAP) value.

In an embodiment, at optional stage454, the wireless transceiver system may be configured to determine the minimum delta FTM value, the number of bursts exponents value, and the As Soon As Possible (ASAP) value from the FTM request. For example, the wireless transceiver system may parse the FTM request message206and determine the minimum delta FTM value, a number of bursts exponents value, and an ASAP value. The respective values may be stored in a memory device and may be used as variables in functional operations. Determining and storing the values is optional as information within the FTM request may be obtained when required at other stages in the process450.

At stage456, the wireless transceiver system may be configured to determine if it is capable of meeting the minimum delta FTM value and the number of bursts exponents value. For example, if the minimum delta FTM value in the received FTM request is too large (e.g., greater than 25.5 ms), then the wireless transceiver system may be incapable of responding to the request. If the number of bursts exponent value equals zero, the wireless transceiver may be incapable of responding to the request. If the wireless transceiver system is incapable of meeting either the minimum delta FTM value, or the number of bursts exponents value, the process continues to stage458. If the wireless transceiver system is capable of meeting the minimum delta FTM value and the number bursts exponents value, then the process continues to stage460.

At stage458, the wireless transceiver system is configured to send a first FTM response message indicating the FTM session is terminated if the wireless transceiver system is incapable of meeting the minimum delta FTM value and the number of bursts exponents value. For example, if the minimum delta value in the received FTM request is too large, a status value in the first FTM Response message may be set to a value indicating that the wireless transceiver system is incapable of responding to the request, and that the requesting station should not send the same request. Similarly, if the number of bursts exponent value equals zero, the status value in the corresponding first FTM Response message may be set to a value indicating that the responding station204is incapable of responding to the request, and that the requesting station should not send the same request again. The first FTM response message may be an FTM_1 message and may include additional fields such as described in an appropriate network protocol (e.g., IEEE 802.11).

At stage460, the wireless transceiver is configured to send a second FTM response message including a status value based on the ASAP value in the FTM request if the wireless transceiver system is capable of meeting the minimum delta FTM value and the number of bursts exponents value. The second FTM response message is an alternative to the first FTM response message described at stage458. For example, the responding station204may utilize the ASAP value determined at optional stage454to determine a status value. The status value determined at stage460may be based on the process300described in regards toFIG. 3. The second FTM response message may be an FTM_1 message and may include additional fields such as described in an appropriate network protocol (e.g., IEEE 802.11).

Embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments of the inventive subject matter may take the form of a computer program product embodied in any tangible medium of expression having computer usable program code embodied in the medium. The described embodiments may be provided as a computer program product, or software, that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic device(s)) to execute (e.g., perform) a process according to embodiments, whether presently described or not, since every conceivable variation is not enumerated herein. A machine-readable medium includes any mechanism for storing or transmitting information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). A machine-readable medium may be a non-transitory processor-readable storage medium, a machine-readable storage medium, or a machine-readable signal medium. A machine-readable storage medium may include, for example, but is not limited to, magnetic storage medium (e.g., floppy diskette); optical storage medium (e.g., CD-ROM); magneto-optical storage medium; read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; or other types of tangible medium suitable for storing electronic instructions. A machine-readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, an electrical, optical, acoustical, or other form of propagated signal (e.g., carrier waves, infrared signals, digital signals, etc.). Program code embodied on a machine-readable signal medium may be transmitted using any suitable medium, including, but not limited to, wireline, wireless, optical fiber cable, RF, or other communications medium.

Referring toFIG. 6Ais a block diagram of one embodiment of a wireless transceiver system600for use in generating a FTM Response message. In some implementations, the wireless transceiver system600may be a station in the network100, such as the client station120. In some embodiments, the wireless transceiver system600may be the first access point102and the second access point104, or other networked system embodied in a device such as a notebook computer, a tablet computer, a netbook, a mobile phone, a smart phone, a gaming console, a personal digital assistant (PDA), or an inventory tag. The wireless transceiver system600may be other electronic systems such as a Home Node B (HNB) device with a wireless transceiver and positioning capabilities (e.g., a type of access point). The wireless transceiver system600includes a processor unit602(possibly including multiple processors, multiple cores, multiple nodes, and/or implementing multi-threading, etc.). The wireless transceiver system600includes a memory unit606. The memory unit606may be system memory (e.g., one or more of cache, SRAM, DRAM, zero capacitor RAM, Twin Transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM, etc.) or any one or more of the above already described possible realizations of machine-readable media. The wireless transceiver system600also includes a bus610(e.g., PCI, ISA, PCI-Express, HyperTransport®, InfiniBand®, NuBus, AHB, AXI, etc.), and network interfaces604that include at least one of a wireless network interface (e.g., a WLAN interface, a Bluetooth® interface, a WiMAX interface, a ZigBee® interface, a Wireless USB interface, etc.) and a wired network interface (e.g., an Ethernet interface, etc.).

The wireless transceiver system600also includes a communication unit608. The communication unit608comprises a positioning unit612, a receiver614, a transmitter616, and one or more antennas618. The transmitter616, the antennas618, and the receiver614form a wireless communication module (with the transmitter616and the receiver614being a transceiver620). The transmitter616and the receiver614are configured to communicate bi-directionally with one or more stations via a corresponding antenna618. In some embodiments, the wireless transceiver system600can be configured as a WLAN station with positioning determining capabilities (e.g., a type of access point). The positioning unit612can utilize the FTM session information exchanged with the stations to determine RSS, TOA and/or TDOA timing information associated with the access points. The positioning unit612can determine the position of the wireless transceiver system600based, at least in part, on the TOA/TDOA timing information, and the position information, as described above. In an embodiment, the stations may use their processing capabilities to execute their respective operations described above. Any one of these functionalities may be partially (or entirely) implemented in hardware and/or on the processor unit602. For example, the functionality may be implemented with an application specific integrated circuit, in logic implemented in the processor unit602, in a co-processor on a peripheral device or card, etc. Further, realizations may include fewer or additional components not illustrated inFIG. 6A(e.g., video cards, audio cards, additional network interfaces, peripheral devices, etc.). The processor unit602, the memory unit606, and the network interfaces604are coupled to the bus610. Although illustrated as being coupled to the bus610, the memory unit606may be coupled to the processor unit602.

Referring toFIG. 6B, an example of a wireless transceiver system such as an access point650comprises a computer system including a processor651, memory652including software654, a transmitter656, antennas658, and a receiver660. The access points102,104may be configured as the access point650ofFIG. 6B. The transmitter656, antennas658, and the receiver660form a wireless communication module (with the transmitter656and the receiver660being a transceiver662). The transmitter656is connected to one of the antennas658and the receiver660is connected to another of the antennas658. Other example access points may have different configurations, e.g., with only one antenna658, and/or with multiple transmitters656and/or multiple receivers660. The transmitter656and the receiver660are configured such that the access point650can communicate bi-directionally with the client station120via the antennas658. The processor651is preferably an intelligent hardware device, e.g., a central processing unit (CPU) such as those made by ARM®, Intel® Corporation, or AMD®, a microcontroller, an application specific integrated circuit (ASIC), etc. The processor651could comprise multiple separate physical entities that can be distributed in the access point650. The memory652includes random access memory (RAM) and read-only memory (ROM). The memory652is a processor-readable storage medium that stores the software654which is processor-readable, processor-executable software code containing processor-readable instructions that are configured to, when executed, cause the processor651to perform various functions described herein (although the description may refer only to the processor651performing the functions). Alternatively, the software654may not be directly executable by the processor651but configured to cause the processor651, e.g., when compiled and executed, to perform the functions.

As used herein, including in the claims, unless otherwise stated, a statement that a function or operation is “based on” an item or condition means that the function or operation is based on the stated item or condition and may be based on one or more items and/or conditions in addition to the stated item or condition.

Further, more than one invention may be disclosed.