Estimating user risk based on wireless position determination

By generating and aggregating location probability surfaces and combining them with motion estimation, the problem of noise influence in wireless device location determination is solved, enabling more accurate proximity estimation and infectious disease risk assessment.

CN114173283BActive Publication Date: 2026-04-10JUNIPER NETWORKS INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
JUNIPER NETWORKS INC
Filing Date
2020-11-12
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing technologies for determining the location of wireless devices are greatly affected by noise, leading to inaccurate proximity estimation and making it difficult to effectively manage the risk of infectious diseases.

Method used

By generating a location probability surface (LPS), multiple probability surfaces are aggregated based on wireless signal strength measurement and motion estimation to improve the accuracy of location determination, reduce the impact of noise, generate a synthetic location probability surface and a predicted location probability surface, and combine them with the motion probability surface for accurate proximity estimation.

Benefits of technology

It improves the accuracy of wireless device location determination, reduces the impact of noise on proximity estimation, and enables more accurate assessment of proximity risk between individuals, supporting infectious disease management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114173283B_ABST
    Figure CN114173283B_ABST
Patent Text Reader

Abstract

Embodiments are disclosed for estimating a risk associated with a user of a wireless device. In some embodiments, the risk relates to a risk of being infected with an infectious disease. In some embodiments, locations of a plurality of wireless devices are estimated based on signal strengths of signals associated with the devices. A neighboring device is identified based on a highest probability region of a device, the highest probability region of the device being determined based on the associated signals. A measure of proximity to the other device is then determined based on a probability that each device is in the neighboring region. The risk is then based on the measure of proximity. In some embodiments, a risk of a first user associated with a first wireless device is based in part on a risk of a second user within a proximity of the first user.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to wireless communications, and more specifically to methods and / or apparatuses for estimating a risk of user exposure of a wireless device to an infectious disease. BACKGROUND

[0002] Wireless devices have become essential to people's lives. As such, people often carry their wireless devices with them while on the move and traveling. There are a variety of technologies available to identify the location of an individual based on the location of the wireless device associated therewith. Location determination functionality associated with wireless devices holds promise to help manage social distancing. BRIEF DESCRIPTION OF DRAWINGS

[0003] Figure 1 is an overview of the system implemented in the disclosed one or more embodiments.

[0004] Figure 2 is an aggregation of multiple location probability surfaces.

[0005] Figure 3 is a diagram of the data flow implemented in the disclosed one or more embodiments.

[0006] Figure 4 is an example probability curve for a single dimension of signal strength error.

[0007] Figure 5 is a graphical representation of the probability of an example two-dimensional location probability surface.

[0008] Figure 6 is a graphical representation of a composite location probability surface.

[0009] Figure 7 illustrates an example shift in the location probability curve resulting from projected motion of the wireless terminal.

[0010] Figure 8 illustrates a simplified velocity probability in a single direction.

[0011] Figure 9 illustrates a two-dimensional motion (Vx, & Vy) probability surface.

[0012] Figure 10 shows an example message portion implemented in the disclosed one or more embodiments.

[0013] Figure 11 shows an example data structure implemented in the disclosed one or more embodiments.

[0014] Figure 12 is a flowchart of a method for estimating the location of a wireless terminal.

[0015] Figure 13A Transmitting devices and receiving devices within a plurality of zones are shown.

[0016] Figure 13B is a flowchart of a method for determining a motion probability surface.

[0017] Figure 14 is a flowchart of a method for applying a motion probability surface to a synthetic position probability surface.

[0018] Figure 15 is a flowchart of a method for determining a motion probability surface.

[0019] Figure 16 is a flowchart of a method for determining a hybrid position probability surface.

[0020] Figure 17 is an overview of a system implemented in one or more disclosed embodiments.

[0021] Figures 18A-18C Aggregation of a plurality of position probability surfaces is shown.

[0022] Figure 18D is a simplified graphical representation of proximity probability for an example one-dimensional position probability curve.

[0023] Figure 19 is a flowchart of an example method for identifying neighbors.

[0024] Figure 20 is a graphical representation of an example time series of proximity probability and a time series of synthetic proximity probability.

[0025] Figure 21 is a flowchart of an example method for estimating proximity probability between a device and one or more of its neighboring devices.

[0026] Figure 22 An example data structure implemented in one or more disclosed embodiments is shown.

[0027] Figure 23 is a flowchart of an example method for determining infection risk.

[0028] Figure 24 A block diagram illustrating an example machine upon which any one or more of the techniques (e.g., methodologies) discussed herein can perform is diagrammed. DETAILED DESCRIPTION

[0029] Example embodiments determine a probability that two or more wireless devices, or alternatively users associated with these wireless devices, are within a predefined proximity of each other for at least a predefined duration of time. To control infectious diseases, information about proximity of individuals can be helpful.

[0030] Some disclosed embodiments determine proximity between individuals via wireless signals (e.g., Wi-Fi, Bluetooth, etc.). Wireless signals are used to estimate the location of devices associated with individuals. Some embodiments estimate location based on the strength of wireless signals received from known locations (e.g., access points at known locations). Some embodiments then estimate the distance to the known location based on the signal strength, and then apply a conventional triangulation-based approach to the distance to determine the location. As discussed further below, some other embodiments measure the phase offset between signals received at two antennas of a wireless device to estimate the wireless device location.

[0031] Once the location of each individual's wireless device is determined, proximity between any two devices is computed based on the estimated locations of these devices. Problems can arise with RSSI-based location estimation, as the location determination can be affected by noise included in the RSSI measurements. Similar problems exist with phase-difference-of-signal-received-at-multiple-antennas-based location estimation. Disclosed embodiments address this problem by delivering more accurate proximity estimates. This improved accuracy is based at least in part on the aggregation of probabilities associated with multiple possible device locations. Multiple probabilities of multiple location determinations are aggregated. Additionally, when estimating the risk associated with a first wireless device, any noise associated with the signaling used to determine the location is mitigated by aggregating probabilities across multiple devices in the vicinity of the first wireless device.

[0032] Unlike transitional systems that determine the location of a wireless terminal using a triangulation-based approach (e.g., averaging the area defined by the intersection of the circles of radius Dist i Unlike transitional systems that determine the location of a wireless terminal using a triangulation-based approach (e.g., averaging the area defined by the intersection of the circles of radius Dist

[0033] LPS represents a plurality of probabilities that the wireless terminal is located within a corresponding plurality of geographic regions. The plurality of geographic regions can be represented as a grid in a data structure such as a two-dimensional array. In some embodiments, for example, the grid can represent a two-dimensional geographic region that is 50 x 50 meters in total, and each cell in the grid or region is 0.5 x 0.5 meters. Other grids and cell / region sizes are within the scope of the disclosed embodiments. In some embodiments, each of the plurality of geographic regions is a two-dimensional geographic region. In some other embodiments, each of the plurality of geographic regions is a three-dimensional geographic volume. Thus, in some embodiments, the location probability surface represents probabilities that the WT is located in each of a plurality of different geographic volumes, for example, 50 x 50 x 50 meters, where each volume or region of the plurality of regions represents a region of 0.5 x 0.5 x 0.5 meters in this example. Other region sizes can be contemplated and are within the scope of the disclosed embodiments.

[0034] To generate the LPS, the disclosed embodiments receive signal strength measurements from the wireless terminal. In the discussion below, the signal strength measurements are referred to as SS Meas . The signal strength measurement is a measurement of a signal generated and transmitted by a wireless transmitter and received by the wireless terminal. In some embodiments, a received signal strength indication (RSSI) represents the signal strength measurement.

[0035] From the signal strength measurements, the disclosed embodiments determine a plurality of probabilities that the wireless terminal is located within each geographic region of a corresponding plurality of geographic regions.

[0036] A general equation that describes the behavior of a radio signal is as follows:

[0037] SS i = PLE * log(Dist i ) + Int + Dir i Equation 1

[0038] where:

[0039] SS i : signal strength of the i-th wireless transmitter experienced (and measured) by the wireless terminal,

[0040] PLE: path loss exponent; (e.g., line of sight loss is -20db; for environments with attenuation, < -20db, e.g., signals transmitted through a semi-transparent object),

[0041] Dist i : distance between the wireless terminal and the i-th transmitter,

[0042] Int: intercept function of the power of the transmitter,

[0043] Dir i: direction adjustment, which is reflected in the gain of the antenna in the direction along the path between the ith transmitter and the wireless terminal.

[0044] As part of determining the probabilities in the position probability surface, the disclosed embodiments determine an expected signal strength for each of the plurality of regions. The expected signal strength for a region is based on one or more of the transmit power of the wireless transmitter and the distance between the wireless transmitter and the respective region. Thus, for example as described in Equation 1 above, these embodiments determine each respective expected signal strength measurement based on the respective distance between the respective region and the wireless transmitter. In some embodiments, the distance between the respective region and the wireless transmitter is determined based on the known locations of both the respective region and the wireless transmitter. For example, some embodiments receive configuration information defining the locations of the known wireless transmitters. Additionally, these embodiments receive configuration input defining the locations of the plurality of regions. In some embodiments, the locations of the plurality of regions are inferred based on the locations of the known wireless transmitters (e.g., the geographic regions between the known wireless transmitters are divided into the plurality of regions).

[0045] The signal strength measurements of the wireless terminal are affected by noise. In certain environments, measuring the signal strength includes approximately six (6) db of noise (SD = 6 db). Thus, the difference between SS Meas and SS Exp may be attributed to noise. There are one or more additional factors, including multipath, gain of the receiver, and other parameters associated with the channel model. Gaussian noise can cause the difference between SS Exp and SS meas .

[0046] According to Equation 2 below, some disclosed embodiments then determine the difference between the measured signal strength and the expected signal strength:

[0047] SS Error = SS Exp - SS Meas Equation 2

[0048] where:

[0049] SS Error : the difference between the expected signal strength and the measured signal strength,

[0050] SS Exp : the expected signal strength value, as computed via Equation 1, in some embodiments, and

[0051] SS Meas : the measured signal strength value (measured by the wireless terminal).

[0052] In some embodiments, since the noise level can be empirically measured to be approximately six (6) db, it is assumed that SSError The probability curve for Sigma = 6 is a Gaussian curve. In some other embodiments, other curves can be used. For SS Error For each dimension of SS

[0053] Thus, to generate the location probability surface, the expected signal strength of the signal in each of the plurality of regions is determined. In at least some embodiments, this determination is based at least on the location of the wireless transmitter that generated the signal. A corresponding difference between the expected signal strength of a region and the measured signal strength is also determined. The probability that the wireless terminal is located in each region is then determined based on the corresponding difference.

[0054] Some disclosed embodiments determine a plurality of location probability surfaces, one surface for each wireless transmitter that is received and measured by the wireless terminal. To support this, the wireless terminal performs a plurality of signal strength measurements (one for each wireless transmitter). In some embodiments, these signal strength measurements are transmitted by the wireless terminal to the network management system for further processing. The signal strength measurements are used to determine a signal strength error for each cell. The signal strength error is then used to determine the probability that the mobile device is located in each particular cell. Throughout this disclosure, these probability surfaces are referred to as P i (S S Exp -SS Meas ), where the index i represents the ith dimension of the signal strength measurement on which the probability surface is derived.

[0055] Some wireless terminal embodiments determine signal strength measurements periodically, iteratively, continuously, or according to a command from a user. These measurements are then transmitted to the network management system. For each dimension of the measured signal strength and for each cell in the grid, the system calculates the probability that the wireless terminal is located in the particular cell based on the value of the particular dimension of the SS Error value. The system then transmits the calculated probability to the wireless terminal.

[0056] To determine the probability that the wireless terminal is located within a particular region or cell of the grid, some embodiments multiply the corresponding probability values from the plurality of location probability surfaces. In this context, a corresponding value is a value that represents a probability value within an equivalent region or grid cell. One or more disclosed embodiments implement this method via the following Equation 3:

[0057] P x,y = P1, x, y * P2, x, y *.... * P n-1,x,y * P n,x,y Equation 3

[0058] where:

[0059] P x,y : probability that the wireless terminal is in a cell associated with x, y coordinates,

[0060] P1,x,y: probability that the wireless terminal is in a cell x, y based on a first dimension of SS Error

[0061] P2,x,y: probability that the wireless terminal is in a cell x, y based on a second dimension of SS Error

[0062] P n-1,x,y : probability that the wireless terminal is in a cell x, y based on an (n-1)th dimension of SS Error

[0063] P n,x,y : probability that the wireless terminal is in a cell x, y based on an nth dimension of SS Error

[0064] * - multiplication operator.

[0065] Since the probabilities of each location probability surface are independent, the peaks or maximum probabilities within each location probability surface can be different. Thus, the cell-by-cell multiplication of the n surfaces results in a new probability surface that can have multiple peaks and valleys. This new probability surface is referred to in this disclosure as a composite location probability surface. Some embodiments determine an estimated location of the wireless terminal based on the composite location probability surface. For example, in some embodiments, the region corresponding to the highest probability in the composite location probability surface is used as the estimated location of the wireless terminal. In some other embodiments, a weighted value for each region or cell of the composite location probability surface is used to estimate the location of the wireless terminal. For example, in some aspects, a weighted value along the first or second dimension can be determined for each cell or region (e.g., regions with higher associated probabilities can be weighted more heavily than regions with lower associated probabilities).

[0066] The above explanation treats each region or cell of the location probability surface and / or the composite location probability surface as a singular point, evaluating the expected signal strength at the center of the region. Some other embodiments can perform this calculation in a continuous domain. In this case, for each dimension of the ith received signal, the probability that the wireless terminal is in a particular region (e.g., cell x, y) is computed as:

[0067] P x,y,i = ∫ x ∫ y P x,y , (SS Exp - SS Meas ​​​​dxdy Equation 4

[0068] In some embodiments, the position probability surface(s) and / or the composite position probability surface are computed periodically (e.g., once per second) based on updated signal strength measurements performed by the wireless terminal and reported to the network management server.

[0069] Some disclosed embodiments generate a predicted position probability surface for a future time (e.g., T+1) based on information available at a prior time (e.g., T). The predicted position probability surface at time T+1 is then used to generate a blended position probability surface at time T+1. The blended position probability surface at time T+1 can also be generated based on a composite position probability surface for time T+1.

[0070] The predicted position probability surface is generated based on an estimate of the motion of the wireless terminal. The estimate of motion is based, in part, on accelerometer and / or gyroscope information received from the wireless terminal itself. In at least some embodiments, the estimate of motion is also based on prior blended position probability surfaces for the wireless terminal. Thus, for example, in some embodiments, the estimate of motion for time T+2 is based on one or more blended position probability surfaces for times T=0 and / or T=1.

[0071] Each estimate of motion for the wireless terminal is associated with a probability that the respective estimate of motion is accurate for the wireless terminal. In some embodiments, the combination of estimates of motion and their associated probabilities can be organized into a motion probability surface. Each cell of the surface represents a set of motion parameters for the wireless terminal and the probability that those parameters accurately represent the motion of the wireless terminal.

[0072] In some embodiments, the estimate of motion is generated based on motion information received from the wireless terminal. The information received from the wireless terminal can include an acceleration in each of the x, y, and z dimensions. In some embodiments, accuracy associated with each acceleration measurement is also obtained from the wireless terminal. In some other embodiments, the accuracy information is configured or hard-coded at the network management system performing these calculations. The acceleration measurements provided by the wireless terminal are applied to a distribution (e.g., Gaussian) in order to generate a plurality of different estimates of motion (and their associated probabilities), any one of which can reflect the true motion of the wireless terminal at the applicable time. For example, in at least some embodiments, the estimate of motion and its associated probability take the form [Vx, Vy, Vz, Prob], where Vx is the velocity in the X direction, Vy is the velocity in the Y direction, Vz is the velocity in the Z direction, and Prob is the probability that the wireless terminal is exhibiting the motion described by [Vx, Vy, Vz]. In some embodiments, only two-dimensional motion is estimated. In these embodiments, the estimate of motion and its associated probability take the form [Vx, Vy, Prob] in at least some embodiments.

[0073] Equation 5 below provides an example equation that illustrates generation of a motion probability surface. Equation 5 is used in at least some disclosed embodiments:

[0074]

[0075] where:

[0076] P m (t): motion probability surface at time t,

[0077] P blended (t): mixed location probability surface at time t,

[0078] WT acc : velocity or acceleration information from the wireless terminal (e.g., Vx, Vy, Vz or Ax, Ay, Az),

[0079] Aggregated mixed location probability surface operator. In some embodiments, the aggregated mixed location probability surface operator averages the probabilities in corresponding regions or cells of two mixed location probability surfaces,

[0080] Operator for applying motion information from the wireless terminal (WT acc ) to the aggregated mixed location probability surface (generated via ). One embodiment of Figure 13B is described below.

[0081] Note that in some embodiments, multiple previous mixed location probability surfaces are used when generating a motion probability surface. For example, additional surfaces P blended (t-2), P blended (t-3), and / or P blended -x(t-4) can be utilized to generate P m (t+1).

[0082] Some estimates apply multiple motion estimates (e.g., motion probability surfaces) to one or more previous mixed location probability surfaces to generate a predicted location probability surface. Equation 6 below gives an example of generating a predicted location probability surface:

[0083]

[0084] where:

[0085] P predicted (t+1): predicted location probability surface of the wireless terminal at time t+1, ​

[0086] P blended (t): a mixture position probability surface at time t,

[0087] Motion operator. The following Figure 14 describes one embodiment, and

[0088] P m (t): a motion probability surface at time t

[0089] The operations of Equation 6 are illustrated in Figure 3 discussed below. In some embodiments, the mixture position probability surface at time t is based on the predicted position probability surface at time t and the synthesized position probability surface at time t. This is shown via Equation 7 below:

[0090]

[0091] where:

[0092] P blended (t): a mixture position probability surface at time t,

[0093] P predicted (t): a predicted position probability surface at time t, and

[0094] P composite (t): a synthesized position probability surface at time t, and

[0095] Mixture operator for combining the predicted position probability surface and the synthesized position probability surface. In one example embodiment, averaging corresponding probabilities in the predicted position probability surface and the synthesized position probability surface.

[0096] In some embodiments, the mixture position probability surface at time t is generated via a weighted sum of the predicted position probability surface and the synthesized position probability surface at time t. Equation 8 below illustrates this:

[0097] P blended (t) = a * P composite (t) + b * P predicted (t) Equation 8

[0098] where:

[0099] P blended (t): a mixture position probability surface at time t,

[0100] P composite (t): a synthesized position probability surface at time t,

[0101] P predicted (t): predicted position probability surface at time t,

[0102] a and β: parameters, e.g., a + β = 1. In some embodiments, the value of each of a and β is 0.5.

[0103] Some embodiments use the blended position probability surface at time t + 1 and the motion probability surface at time t + 1 to estimate a predicted position probability surface of the device at time t + 2. Some disclosed embodiments iteratively compute new blended position probability surfaces, motion estimates, predicted position probability surfaces, and blended position probability surfaces, and iteratively estimate the position of the mobile terminal based on these iteratively determined data structures.

[0104] In some embodiments, the position of the device is determined to be in the region with the greatest probability. One embodiment of such a method is represented by the following Equation 9:

[0105] {x, y}(t) = Max(P Blended (t)) Equation 9

[0106] where:

[0107] {x, y}(t): estimated position of the device at time t,

[0108] P blended (t): blended position probability surface at time t, and

[0109] Max(P Blended (t)): the Max function returns the identification (e.g., x, y coordinates) of the maximum probability in P Blended (t).

[0110] Some embodiments rank the regions according to their associated probabilities. A highest ranked set of these regions (e.g., the k regions) is then selected. The position is then based on the k regions with the highest rank (rather than on regions with a rank lower than the kth highest region). One embodiment of this method is mathematically represented by the following Equation 10:

[0111]

[0112] where:

[0113] x, y(location): estimated position based on blended position probability surface,

[0114] k: limit on the number of maximum probabilities considered when determining the estimated position,

[0115] (x i, y i ): x, y coordinates of the i-th ranked peak, and

[0116] P(x i , y i ): probability that the wireless terminal is at location x i , y i .

[0117] Figure 1 is an overview of a system 100 implemented in one or more disclosed embodiments. The system 100 includes four access points 102a-d. Each of the four access points 102a-d generates a corresponding signal 104a-d. The signal 104a, the signal 104b, the signal 104c, and the signal 104d are received by a wireless terminal 106. The wireless terminal 106 measures the strength of each signal 104a-d and generates a message 108 indicating the signal strength. For example, Figure 1 The message 108 is shown indicating a received signal strength indication (RSSI) of the signal from access point 102a and a second RSSI value of the signal from access point 102b. The RSSI is merely one example of a signal strength measurement, and some other embodiments use a different measurement of signal strength.

[0118] The wireless terminal 106 transmits the message 108 to a network management system 110. The network management system 110 uses the signal strength measurements included in the message 108 to estimate the location or geographic position of the wireless terminal 106. In some embodiments, the network management system 110 divides a geographic region 112 into a plurality of regions. In Figure 1 Regions 114a, 114b, and 114c are shown in FIG. 1 14, while other regions within the geographic region 112 are not labeled to preserve clarity of the figure. In some disclosed embodiments, the network management system 110 calculates a probability that the wireless terminal 106 is located in each of a plurality of regions, including regions 114a-c. These probabilities are based on the signals 104a-d received by the wireless terminal 106. In particular, the probabilities are based on the strength of the signals 104a-d measured by the wireless terminal. In some embodiments, the access points 102a-d are at known locations. Thus, the distance between each access point 102a-d and each region (e.g., 114a-c) can be determined by the network management system. From these distances, the network management system 110 determines the expected signal strength of the signals received from each access point 102a-d in each region (e.g., 114a-c). By comparing the expected received signal strength to the signal strength measured by the wireless terminal, the network management system can determine the probability that the wireless terminal is located in that region.

[0119] In some embodiments, these probabilities are refined via other probabilities of the wireless terminal's location based on motion information of the wireless terminal. For example, in some embodiments, the wireless terminal provides motion information 109 in message 108 to the network management system. In some other embodiments, a different message is used to provide motion information 109 from the wireless terminal 106 to the network management system 110. In some embodiments, the wireless terminal 106 derives motion information from an accelerometer integrated into the wireless terminal 106.

[0120] In some embodiments, the motion of the wireless terminal 106 is inferred by the network management system 110 via sequential determinations of changes in the wireless terminal's location, as explained further below.

[0121] Figure 2 An aggregation of multiple location probability surfaces is shown. As discussed above with respect to Figure 1 the network management system 110 determines multiple probabilities of the wireless terminal 106 being within a corresponding plurality of regions (e.g., regions 114a-c). Figure 2 Multiple location probability surfaces 202a-d are shown. Each location probability surface 202a-d is generated based on signals from a different wireless transmitter. For example, in one embodiment, each location probability surface 202a-d is generated based on signals from access point 102a-d, respectively. Each location probability surface 202a-d includes a plurality of probabilities. This plurality of probabilities is shown in Figure 2 via a grid-like structure of location probability surface 202a, labeled grid 204. The probabilities included in each location probability surface 202a-d are not shown graphically, so the location probability surfaces appear flat to simplify the illustration.

[0122] Each cell of grid 204 represents a different probability included in the location probability surface. Each probability corresponds to a region, such as regions 114a-c discussed above with respect to Figure 1 In other words, each probability represents a likelihood that the wireless terminal 106 is within the region corresponding to the cell containing the probability. In at least some disclosed embodiments, multiple location probability surfaces (e.g., 202a-d) are generated. Each location probability surface is generated based on one or more single signal strength measurements of signals from a single wireless transmitter (e.g., any of AP 102a, AP 102b, AP 102c, or AP 102d) by the wireless terminal 106. Thus, Figure 2 Each of location probability surfaces 202a, 202b, and 202c can be generated based on signal strength measurements of different signals generated by different wireless transmitters.

[0123] Figure 2The plurality of position probability surfaces 202a-d are shown aggregated to generate a composite position probability surface 214. Each cell of the composite position probability surface 214 (e.g., cell 215) has a corresponding cell in each of the position probability surfaces (e.g., cell 211d of position probability surface 202d, cell 211a of position probability surface 202c, and cell 211a of position probability surface 202a). For clarity, the corresponding cells are not labeled for position probability surface 202b. The cells correspond because each represents an equivalent region or location. In at least some embodiments, aggregating the corresponding probabilities in the plurality of position probability surfaces includes multiplying the probabilities. Thus, for example, aggregating two or more position probability surfaces includes, for each of a plurality of regions represented by the two position probability surfaces, aggregating a first probability and a second probability corresponding to the respective regions represented by the two or more position probability surfaces. Then, in at least some embodiments, the position estimate of the wireless terminal is based on the aggregated first probability and second probability. In some embodiments, the position estimate is based on more than just the first probability and the second probability, e.g., these embodiments aggregate more than two position probability surfaces.

[0124] Figure 3 is a diagram of the data flow in the processing pipeline implemented in one or more disclosed embodiments. The processing pipeline is shown operating on several types of data at each of five time bases T0-T5 shown on a time axis 302. The elapsed time between each of the time bases T0-T5 is equal. The amount of elapsed time between each time base can vary according to embodiments. Some embodiments generate a new set of data sets (e.g., composite position probability surfaces, motion probability surfaces, predicted position probability surfaces, and hybrid position probability surfaces) every second, every five seconds, every ten seconds, every 30 seconds, every minute, or any elapsed time period. Various embodiments acquire new accelerometer measurements from the wireless terminal at different intervals or equal intervals (discussed further below).

[0125] Although in some embodiments each type of data shown is generated at each time base T0-T4, some data is omitted from the figure for clarity. Figure 3 The data flow 300 is shown including composite position probability surfaces 304a-e, accelerometer information 305b-e, motion probability surfaces 306b-e, predicted position probability surfaces 307d-e, and hybrid position probability surfaces 308a-e.

[0126] In some embodiments, any of the composite position probability surfaces 304a-e are similar to the composite position probability surface 214 discussed above with respect to Figure 2 Figure 3 ​Motion probability surfaces 306b-e are also shown. (Another motion probability surface, labeled 306a, is omitted from the figure for clarity.) Each accelerometer information 305b-e is generated from motion information provided by a wireless terminal whose location is estimated by Figure 3 The data flow 300 shown estimates. At each time period T0-T4, Figure 3 The wireless terminal is shown as having provided corresponding motion information, such as acceleration information, represented by each accelerometer information 305b-e.

[0127] Each motion probability surface 306b-e is generated based on motion information received from a mobile device, represented as accelerometer information 305b-e. For example, in at least some embodiments, the accelerometer information 305b-e indicates velocity in each of the X, Y, and Z directions. According to some other embodiments, the accelerometer information 305b-e represents acceleration in the X, Y, and Z directions. In at least some embodiments, the motion probability surfaces 306b-e are also generated based on one or more hybrid location probability surfaces from a previous time period. For example, Figure 3 The motion probability surface 306c is shown as being generated based at least on the hybrid location probability surfaces 308a and 308b (see, e.g., equation 5 above). The motion probability surface 306d is generated based on one or more of the hybrid location probability surfaces 308a, 308b, and 308c. Figure 3 The lines indicating the dependence of the motion probability surface 306d on any of the hybrid location probability surfaces 308a, 308b, or 308c are omitted from the middle of the figure to preserve the clarity of the figure.

[0128] Each of the motion probability surfaces 306b-d is then used, in at least some embodiments, to generate a corresponding predicted location probability surface, such as Figure 3 The predicted location probability surface 307d is shown as being generated via the motion probability surface 306c (as shown, at time T3) (see also equation 6 above). The predicted location probability surface 307d is then used, along with the synthesized location probability surface 304d (which is based on signal strength measurements corresponding to time T3) to generate the hybrid location probability surface 308d (see also equation 7 discussed above). Although the arrows show the particular data flow used to generate the hybrid location probability surface 308d in at least some embodiments, the reader will recognize that similar data flows will be employed to generate each of the hybrid location probability surfaces 308a-e. However, the arrows showing all of these data flows are omitted for clarity.

[0129] Thus, Figure 3Some embodiments are described as how the first, second, third, and then fourth synthetic position probability surfaces 304a, 304b, 304c, and 304d are generated step-by-step or iteratively. Each of these synthetic position probability surfaces is associated with a particular time reference denoted as times TO-T4 in Figure 3 The multiple motion probability estimates for the wireless terminal at each time reference are also generated. In FIG. 3, this information is denoted as motion probability surfaces 306b-e. In some embodiments, the motion estimates are denoted as motion probability surfaces. In some other embodiments, the motion estimates are denoted via structures other than motion probability surfaces. The hybrid position probability surfaces and the motion probability surfaces are then used to generate a predicted position probability surface for a subsequent time period. When the subsequent time period arrives, the predicted position probability surface for the subsequent time period and the synthetic position probability surface for that time period are then used to generate the hybrid position probability surface for that time period. Figure 3

[0130] Note that, Figure 3 The above discussion describes operations when the data stream 300 has reached a fully initialized or steady-state mode of operation. Those skilled in the art will appreciate that when any one or more of the disclosed embodiments are first initialized, the data stream pipeline for multiple time periods such as TO-T4 can not be available. Thus, certain operations discussed above are not performed if the data is not available. For example, the first hybrid position probability surface generated by the disclosed embodiments is not based on a prior hybrid position probability surface because that data is not available. Similarly, a predicted position probability surface is not available when the first hybrid position probability surface is generated because the predicted position probability surface is typically created for a future time reference. Thus, at least in some embodiments, when the first hybrid position probability surface is generated, it can simply be a copy of the corresponding synthetic position probability surface (e.g., the hybrid position probability surface 308a is generated based on the synthetic position probability surface 304a without using a predicted position probability surface).

[0131] Figure 4 is a plot 400 of an example probability curve for a single dimension of P(SS Error A Gaussian probability curve is shown, but some other embodiments can provide alternative probability distributions.

[0132] Figure 5 is a graphical representation 500 of probabilities for an example two-dimensional position probability surface. The probabilities 502 take on a donut shape. The donut shape shows a ring 504 of relatively higher probability locations for the subject device with the surrounding area exhibiting lower probabilities.

[0133] Figure 6 ​is a graphical representation 600 of an example position probability surface. As described above, the position probability surface 602 is generated based on the difference between the expected received signal strength values and the measured received signal strength values for a plurality of regions.

[0134] Figure 7 One-dimensional position probability curves for a device at times t and t+1 are shown. The first curve plot 700a and the second curve plot 700b show an example shift in the position probability curve due to the wireless terminal moving at a determined velocity of d meters / second. Since some embodiments estimate the velocity as a deterministic number (d meters / second), the shape of the derived position probability curve at time t+1 is the same as the shape of the position probability curve at time t. Since the device moves at a velocity of d meters / second, the position at time t+1 is given by L(t+1) = L(t) + 1*d, and the probability P(L(t+1)) that the device is at any given location is the same probability curve P(L(t)) shifted d to the right. This is also illustrated above with reference to Equation 6.

[0135] Figure 8 is a plot 800 showing a simplified velocity probability in a single direction. The plot shows an average velocity of s meters / second with the highest probability. However, the device can travel at a higher or lower velocity than s meters / second with a lower probability. Estimating a predicted position probability surface for the device at time t+1 based on the blended position probability surface at time t using the motion probability curve results in a predicted position probability surface at time t+1 that looks different than the position probability surface at time t or the blended position probability surface at time t.

[0136] Figure 9 is a plot 900 showing an example two-dimensional motion probability surface 902. In some embodiments, each cell of the motion probability surface indicates a velocity and direction, e.g., via Vx and Vy values. In some other embodiments, the motion probability is computed for three-dimensional space, e.g., for Vx, Vy, and Vz.

[0137] Returning to the example of a two-dimensional motion probability surface, each cell of the motion probability surface also indicates the probability that the wireless terminal will exhibit motion consistent with the motion estimate indicated by the cell. Figure 9 A simplified two-dimensional representation of the motion probability surface is shown because it is difficult to clearly show a three-dimensional surface in a written document. The height of the motion probability surface 902 indicates the probability that the wireless terminal will exhibit motion parameters (e.g., V x , V y ) corresponding to the cell.

[0138] Figure 10Example message portions implemented in one or more disclosed embodiments are shown. In some embodiments, the message portions are transmitted by a wireless terminal (e.g., 106) to a network management system (e.g., 110). The message portion 1000 includes a wireless terminal identifier field 1005, a speed / direction field 1020, an accuracy field 1025, and a signal strength measurement number field 1030. A variable number of field pairs, such as field pair 1034a and field pair 1034b, follow the signal strength measurement number field 1030. Each field pair includes a signal strength field (e.g., 10351,..., 1035 n ) and a transmitter ID field (e.g., transmitter ID field 10371,..., transmitter ID field 1037 n ).

[0139] The wireless terminal identifier field 1005 uniquely identifies a wireless terminal (e.g., 106) (e.g., via the wireless terminal's station address). The speed / direction field 1020 indicates the speed and direction (e.g., V x , V y , V z ) of the wireless terminal identified via the wireless terminal identifier field 1005. The accuracy field 1025 indicates the variability or accuracy of the speed / direction information included in field 1020. In some embodiments, the wireless terminal is configured with parameters that define the accuracy field 1025. In some embodiments, the wireless terminal obtains the accuracy information stored by the accuracy field 1025 via a hard-coded value (e.g., a value that is hard-coded and obtained from a built-in accelerometer). In some embodiments, the accuracy field 1025 indicates a value for a probability distribution used to generate a motion value, as discussed herein with respect to motion probability surfaces and, for example, the Figure 15 discussion below.

[0140] Alternatively, the speed / direction field provides an indication of acceleration along X, Y, and Z obtained from an internal accelerometer (such as a gyroscope) of the mobile device.

[0141] Figure 11 Example data structures implemented in one or more disclosed embodiments are shown. While the data structures are discussed as relational database tables, those skilled in the art will appreciate that the disclosed embodiments can use a variety of different data structure types, including traditional in-memory data structures (such as linked lists, arrays, graphs, trees), or unstructured data structures, hierarchical data stores, object-oriented data stores, serialized data stores, or any other data structure architecture.

[0142] Figure 11Wireless transmitter table 1102, location probability surface table 1112, motion probability surface table 1122, signal table 1142, and surface mapping table 1152 are shown. Wireless transmitter table 1102 indicates the locations of known wireless transmitters. Wireless transmitter table 1102 includes transmitter identifier field 1104, transmit power field 1106, and transmitter location field 1108. Transmitter identifier field 1104 uniquely identifies a wireless transmitter. Transmit power field 1106 indicates the power level used by the transmitter identified via field 1104. At least some disclosed embodiments use the transmit power information included in transmit power field 1106 to determine the expected signal strength of a wireless transmitter in different areas at different distances from the wireless transmitter. Transmitter location field 1108 indicates the geographic location of the wireless transmitter (e.g., latitude, longitude, and altitude, e.g., above ground level, value). At least some disclosed embodiments use the transmitter location information included in transmitter location field 1108 to calculate the distance between a wireless transmitter and different areas (e.g., 114a-c) within a geographic area (e.g., 112).

[0143] Location probability surface table 1112 includes surface identifier field 1114, surface type field 1115, grid / cell identifier field 1116, location / area coordinate field 1118, and probability field 1119. Surface identifier field 1114 uniquely identifies a surface. The identified surface can be a location probability surface (based on signal strength information from a single wireless transmitter), a composite location probability surface (based on multiple location probability surfaces), a predicted location probability surface, or a hybrid location probability surface. Surface type field 1115 indicates the type of the surface. For example, in various embodiments, surface type field 1115 indicates whether the surface identified via field 1114 is a location probability surface, a predicted location probability surface, a hybrid location probability surface, or a composite location probability surface. Grid / cell identifier field 1116 uniquely identifies a cell / grid or area included in the surface. For example, in some embodiments, field 1116 identifies a grid / cell or area within a location probability surface identified via field 1114. Location / area coordinate field 1118 indicates the location of the cell / grid or area identified via field 1116. For example, in some embodiments, field 1118 indicates the latitude, longitude, and altitude of a cell / grid or area within a location probability surface identified via field 1114. Probability field 1119 indicates the probability of a wireless transmitter being located within the cell / grid or area identified via field 1116. For example, in some embodiments, field 1119 indicates the probability of a wireless transmitter being located within a cell / grid or area within a location probability surface identified via field 1114. Figure 1One of the regions 114a-c is shown. The location / region coordinate field 1118 defines the boundary of the region corresponding to the grid or cell identified in field 1116. For example, in some embodiments, field 1118 defines the coordinates of the center of a geographic region (e.g., any of 114a-c). The probability field 1119 stores the probability value of a wireless terminal being located within this region (represented by the grid / cell identified via the grid / cell identifier field 1116). Note that each row of the example location probability surface table 1112 represents a single cell in the probability surface. Therefore, a surface typically comprising multiple cells is represented by the location probability surface table 1112 via multiple rows, each row having an equal surface identifier field 1114 value but a different grid / cell ID field 1116 value. Other methods of representing probability surfaces are contemplated in the disclosed embodiments, and these other methods are not limited to those described in the original text. Figure 11 The provided example represents a limitation.

[0144] Motion probability surface table 1122 includes a motion probability surface identifier field 1124, a motion estimation identifier field 1126, a motion estimation field 1128, and a probability field 1129. The motion probability surface identifier field 1124 uniquely identifies the motion probability surface. For example, in some embodiments, the motion probability surface of a particular wireless terminal is defined at each time reference (such as...). Figure 3 Generated at the time reference T0-T4 shown. In some embodiments, the motion probability surface ID 1124 is equivalent to a unique wireless terminal ID, such as... Figure 10 The wireless terminal ID is 1005. Some embodiments generate motion probability surfaces for multiple different wireless terminals. Each of these different motion probability surfaces is distinguished and identified via a motion probability surface identifier field 1124, which identifies a specific wireless terminal associated with the aforementioned motion probability surface. A motion estimation identifier field 1126 uniquely identifies a specific unit or motion estimate / probability included in the motion probability surface. A motion estimation field 1128 indicates a possible motion estimate of the wireless terminal at a specific time. In some embodiments, the motion estimation field 1128 is transmitted via V... x V y and V zSome other embodiments use other parameters to represent motion. The probability field 1129 stores a probability that the wireless terminal at a particular time exhibits motion corresponding to the motion specified by the motion estimate field 1128. Note that each row of the motion probability surface table 1122 represents a single cell in a motion probability surface. Thus, a motion probability surface that typically includes multiple cells is represented by the motion probability surface table 1122 via multiple rows, each row having the same surface identifier field 1124 value, but a different motion value ID field 1126. The disclosed embodiments contemplate other methods of representing a motion probability surface, and these other methods are not limited by the examples provided. Figure 11 The examples provided are not intended to limit the scope of the disclosed embodiments.

[0145] The signal table 1142 includes a measurement identifier field 1144, a transmitter identifier field 1145, a wireless terminal identifier field 1146, a measurement field 1147, and a measurement time field 1148. The measurement identifier field 1144 uniquely identifies a particular signal measurement. The transmitter identifier field 1145 identifies the wireless transmitter that generated the signal. The wireless terminal identifier field 1146 identifies the wireless terminal that measured the signal. The measurement field 1147 stores the value of the signal measured by the wireless terminal (identified via 1146) from the transmitter identified via the transmitter identifier field 1145. The measurement time field 1148 identifies the time at which the network management system (e.g., 110) performed or received the measurement.

[0146] The surface mapping table 1152 includes a surface identifier field 1154 and a wireless transmitter identifier field 1156. The surface identifier field 1154 uniquely identifies a probability surface. In some embodiments, the surface identifier field 1154 cross-references the surface identifier field 1114. The wireless transmitter identifier field 1156 identifies a wireless transmitter. In some embodiments, the wireless transmitter identifier field 1156 identifies the wireless transmitter from which a signal was measured to generate the surface identified by the surface identifier field 1154.

[0147] Figure 12 is a flowchart of a method for estimating a location of a wireless terminal. In some embodiments, one or more of the functions discussed below with respect to Figure 12 and the method 1200 are performed by hardware processing circuitry. For example, in some embodiments, instructions (e.g., 2424 discussed below with respect to Figure 24 ) stored in electronic memory (e.g., 2404 and / or 2406 discussed below with respect to Figure 24 ) configure hardware processing circuitry (e.g., 2402 discussed below with respect to Figure 24 ) to perform one or more of the functions discussed below.

[0148] After operation 1205 begins, the method 1200 moves to operation 1210, in which a signal strength value is received. In some embodiments, the signal strength value is represented via a received signal strength indication (RSSI). The signal strength represents the strength of a signal received by the wireless terminal that originated from a wireless transmitter. The signal strength is measured by the wireless terminal (e.g., 106). For example, as discussed above with respect to Figure 1 Regardless of the discussion, the wireless terminal 106 receives a signal from one or more wireless transmitters, such as one or more access points 102a-d. In some embodiments, the signal strength value is received by the network management system 110 from the wireless terminal (e.g., 106). In some embodiments, the signal strength value is received in a message. In some embodiments, the message is received indirectly from the wireless terminal via an access point (e.g., 102a-d).

[0149] In operation 1215, a signal strength error for a plurality of regions in the geographic region is determined. For example, as discussed above with respect to Figure 1 Regardless of the discussion, the geographic region is divided into a plurality of regions (e.g., 114a-c). The expected signal strength for each region is determined based on the distance between the wireless transmitter and a center point or other representative point of the respective region. In some embodiments, the expected signal strength is also based on the transmission power of the wireless transmitter. For example, in some embodiments, the network management system 110 receives transmission power information from one or more access points 102a-d. In some embodiments, the network management system (e.g., 110) controls the transmission power of the APs. Then, based on the distance between the wireless transmitter and the region, the transmission power information is used to determine the expected signal strength for each region. Then, operation 1215 correlates the received signal strength value of operation 1210 with the expected signal strength to determine a signal strength error for the region. For example, in some embodiments, the difference between the received signal strength and the expected signal strength for the region is determined. In some embodiments, the difference is the signal strength error. In some embodiments, the absolute value of the difference is the signal strength error. In some embodiments, the error for each region is determined according to Equation 2 discussed above. Thus, when determining the probability that the wireless terminal is located in each region corresponding to a cell or grid location of the location probability surface, each probability of the location probability surface is based on the respective difference between the signal strength measurement on which the surface is based and the expected signal strength of the wireless terminal when located in the region corresponding to the respective probability.

[0150] In operation 1220, a probability surface is generated based on the errors. The probability surface defines a correspondence between each region (e.g., any of 114a-c) and a probability that the wireless terminal is located in that region. Thus, the probability surface defines a probability for each region of the surface. In some embodiments, the probability is inversely proportional to the error for that region. Thus, a region with a low error is more likely to represent the location of the wireless terminal than a region with a high error. Some embodiments use a Gaussian estimation to generate the probability for a region based on the error for that region.

[0151] Decision operation 1225 determines whether there are additional signal measurements available. For example, additional signal measurements can be made on signals generated by other wireless transmitters (e.g., different wireless transmitters for each iteration of operations 1210, 1215, and 1220). If there are additional signal measurements, method 1200 returns to operation 1210 and an additional location probability surface is generated. Otherwise, method 1200 moves from decision operation 1225 to operation 1230, which aggregates the location probability surfaces generated in the iterations of operations 1210, 1215, and 1220 described above. For example, some embodiments aggregate the corresponding probabilities in the first and second location probability surfaces. In some embodiments, aggregating the location probability surfaces includes multiplying the probabilities in corresponding cells or grids of each surface (e.g., probabilities related to the same region, grid, or cell of different probability surfaces).

[0152] In operation 1235, a composite location probability surface is determined based on the aggregation. In other words, the composite location probability surface is composed of the aggregated probabilities of operation 1230. Thus, corresponding cells of the location probability surfaces are aggregated and the resulting value (probability) is stored in the corresponding cell of the composite location probability surface.

[0153] In operation 1240, a predicted location probability surface is obtained. The predicted location probability surface is described below with respect to Figure 14 The generation of the predicted location probability surface is further described. As discussed above with respect to Figure 3 The predicted location probability surface is generated based on the motion probability surface (or motion estimate for the WT) and one or more blended location probability surfaces from a previous time period or time reference. Equation 6 provides one example embodiment of how the predicted location probability surface is generated.

[0154] As noted above, the motion probability surface defines possible motion directions and magnitudes, and the probability that the wireless terminal has each defined direction and magnitude at a corresponding time. Thus, each cell or grid of the motion probability surface indicates a velocity direction and magnitude (e.g., Vx, Vy, Vz), and the probability that the wireless terminal moves with that velocity magnitude and direction during a relevant time period. Motion probability surfaces are discussed in this disclosure. Although some embodiments use motion probability surfaces to represent possible motion values, other data structures are used in some other embodiments. For example, in some embodiments a multi-dimensional array is used, where the probabilities and motion values are defined by each "row" of the multi-dimensional (e.g., column) array.

[0155] In operation 1245, a blended location probability surface is determined. The blended location probability surface is based on the composite location probability surface determined in operation 1235. As noted above, for example with respect to Figure 3 The blended location probability surface is also based on the predicted location probability surface, as discussed above, for example with respect to Figure 14 One embodiment of generating the predicted location probability surface based on the motion probability surface is discussed below. Other methods are within the scope of the disclosed embodiments.

[0156] In operation 1250, a location of the wireless terminal is determined based on the blended location probability surface. For example, in some embodiments, as noted above, the region in the blended location probability surface having the highest indicated probability associated with it is used as the estimated location. If multiple regions have the same highest probability, a region aggregating the two regions can be used as the estimated location. In some embodiments, the regions represented by the blended location probability surface are ranked according to their associated probabilities. A predetermined number of regions or a predetermined percentage of regions having the greatest probabilities are identified. The identified regions are then used to determine the location estimate, while the other regions are excluded from the location estimate. In some other embodiments, a weighted average of contiguous regions is used to estimate the location of the wireless terminal. After the location of the wireless terminal is estimated, the method 1200 moves to end block 1255.

[0157] Figure 13A A transmitting device and a receiving device within a plurality of regions are shown. Figure 13A A geographic region 1385 is shown divided into a plurality of regions (e.g., region 1370). Figure 13A Two devices are also shown, a transmitting device 1372 and a receiving device 1374. The transmitting device 1372 includes a plurality of transmitting elements. In Figure 13AIn the illustrated embodiment, the transmitting device 1372 includes four transmitting elements: transmitting element 1380a, transmitting element 1380b, transmitting element 1380c, and transmitting element 1380d. The receiving device 1374 includes multiple receiving elements. In the illustrated embodiment, the receiving device includes four receiving elements, including receiving element 1380e, receiving element 1380f, receiving element 1380g, and receiving element 1380h. In at least some embodiments, each of the multiple transmitting elements is located in a different region of a multiple regions. For example, Figure 13A The transmitting element 1380a is shown located in region 1382a. The transmitting element 1380b is located in region 1382b. The transmitting element 1380c is located in region 1382c. The transmitting element 1380d is located in region 1382d. Similarly, each of the multiple receiving elements is located in a separate region of a multiple regions 1385. The receiving element 1380e is located in region 1382e. The receiving element 138f is located in region 1382f. The receiving element 1380g is located in region 1382g. The receiving element 1380h is located in region 1382h.

[0158] Figure 13A Each of the transmitting device 1372 and the receiving device 1374 is also shown as having a corresponding reference point, shown as reference point 1376 for the transmitting device 1372 and reference point 1378 for the receiving device 1374. Some embodiments disclosed maintain layout information for each of the devices 1372 and 1374. The layout information for the transmitting device 1372 defines the relative location of each of the transmitting elements 1380a-d from the reference point 1376. The layout information for the receiving device 1374 defines the relative location of each of the receiving elements 1380e-h from the reference point 1378.

[0159] As described above, in at least some embodiments, the transmitting device 1372 transmits one or more signals to the receiving device 1374. These signals are received at each of the receiving elements 1382e-h. Because the receiving elements are located at different distances from any of the transmitting elements 1380a-d, the signals are received at each of the receiving elements 1382e-h with a different phase. Thus, in some embodiments, phase difference information is generated, the phase difference information describing the difference in phase of the signals received by the receiving elements 1380e-h from the one or more transmitting elements 1380a-d.

[0160] In at least some embodiments, the location of each of the receiving elements 1380e-h is known. In other words, some embodiments store data indicating that receiving element 1380e is located in region 1382e, receiving element 1380f is located in region 1382f, receiving element 1380g is located in region 1382g, and receiving element 1380h is located in region 1382h. In another example embodiment, data indicating the x, y, and z coordinates and orientation of the receiving wireless device is stored. Based on these known locations of each of the receiving elements 1382e-h, some embodiments generate, for each of the plurality of regions 1385, an expected phase difference that would be experienced by the receiving device 1374 resulting from a signal transmitted from each of the plurality of regions 1385. Thus, in some embodiments, the transmitting device transmits at least one signal from each of the transmitting elements 1382a-d, the at least one signal being received by at least two of the receiving elements 1380e-h. By comparing the phase difference of the received signals to the expected phase difference generated for each of the plurality of regions 235, the disclosed embodiments are able to identify in which region each of the transmitting elements 1382a-d is located.

[0161] Once the location of each of the transmitting elements 1380a-d is known (e.g., regions 1382a-d, respectively), some disclosed embodiments determine the orientation of the transmitting device 1372 based on the known locations of the transmitting elements 1380a-d.

[0162] For example, the distance between the times at which the waveforms reach the respective receiving elements of the receiver is:

[0163] At = ti - t2= (Di - D2) / S wave = AD / S wave Equation 11

[0164] where:

[0165] At: the difference in time at which the waveforms reach the two receiving elements,

[0166] AD: the difference between the distances traveled by the signal / wave,

[0167] ti: the travel time of the waveform from the transmitting element to the first receiving element,

[0168] t2: the travel time of the waveform from the transmitting element to the second receiving element,

[0169] Di: the distance from the transmitting element to the first receiving element,

[0170] D2: the distance from the transmitting element to the second receiving element,

[0171] S wave The speed at which the waveform passes through the medium

[0172] The speed at which a wave travels through a medium is related to the frequency of the wave.

[0173] S wave =f wave *λ Equation 12

[0174] in:

[0175] S wave The speed at which the waveform passes through the medium.

[0176] f wave The frequency of the wave.

[0177] λ: Wavelength of the wave.

[0178] The duration of a wave is related to its frequency by the following equation:

[0179] T = 1 / f wave Equation 13

[0180] The duration of a wave can also be represented by 360 degrees or 2π degrees.

[0181] Substituting equation 13 into equation 12, we get:

[0182] Δt=t1-t2=ΔD / S wave =ΔD / (f wave *λ) Equation 14

[0183] And using the relationship in Equation 13, we obtain

[0184] Δt=ΔD*T / λ=ΔD*2π / λ Equation 15

[0185] or

[0186] ΔD=λ*Δt / T=λ*Δφ / 2π Equation 16a

[0187] or

[0188] Δφ=2π*ΔD / λ Equation 16b

[0189] in:

[0190] Δφ: The phase difference between the arrival times of the waveform at the two receiving elements.

[0191] Some embodiments rely on the following equation 17 to determine the location of the wireless device:

[0192]

[0193] in:

[0194] Position: a description of the position of the device antenna,

[0195] Position Min(): a position of an antenna that minimizes the term in ( ), and

[0196] f(d i ): a function of the distance between the estimated positions of the antennas and the physical distance of the antennas.

[0197] In some embodiments, the function f(d i ) is the mean square of the distance function. In another embodiment, the function f(d i ) is the absolute value. Other functions are contemplated by the disclosed embodiments.

[0198] Figure 13B is a flowchart of a method for determining motion estimates for a wireless terminal. The motion estimates define a plurality of possible different sets of motion parameters for the wireless terminal. For example, in some embodiments, each set of motion parameters indicates a direction and a magnitude for the wireless terminal (e.g., via Vx, Vy, and Vz values). Associated with each motion estimate is a probability that the wireless terminal exhibits motion according to the motion estimate. In some embodiments, the plurality of motion estimates and probabilities for a wireless terminal at a particular time are represented as a motion probability surface. The motion probability surface generally defines the possible motion of the wireless terminal at a particular time. For example, if a first hybrid position probability surface and a second hybrid position probability surface are determined for a first time period and a second time period, respectively, the motion probability surface can determine the possible motion of the wireless terminal during a time that spans the first time period and the second time period to help explain how the wireless terminal moved between a position estimate provided by the first hybrid probability surface and a second position estimate provided by the second hybrid position probability surface.

[0199] In some embodiments, one or more functions discussed below with respect to Figure 13B and method 300 are performed by hardware processing circuitry. For example, in some embodiments, instructions (e.g., 2424 discussed below with respect to Figure 24 ) stored in electronic memory (e.g., 2404 and / or 2406 discussed below with respect to Figure 24 ) configure hardware processing circuitry (e.g., 2402 discussed below with respect to Figure 24 ) to perform one or more functions discussed below.

[0200] After starting operation 1305, in operation 1310, one or more hybrid position probability surfaces are determined for the wireless terminal. For example, as discussed above with respect to Figure 3As discussed above, when generating the motion probability surface 306c or motion estimates and probabilities organized in another form, the hybrid location probability surfaces 308a and 308b are provided as input. The above discussion regarding Figure 12 An example of determining a hybrid location probability surface is described above with respect to operation 1245.

[0201] In operation 1325, motion information is received from the wireless terminal. In various embodiments, the motion information indicates one or more of a velocity of the wireless terminal, acceleration information of the wireless terminal, and a direction of the wireless terminal. In at least some embodiments, the motion information indicates the acceleration of the wireless terminal in three dimensions. In some embodiments, the motion information also indicates variability or accuracy of the direction, velocity, and / or acceleration information.

[0202] In operation 1330, a motion estimate is generated based on the received motion information and one or more hybrid location probability surfaces. In some embodiments, the motion estimate determines velocity in two or three dimensions based on a location estimate derived from each hybrid location probability surface (e.g., the highest probability region in each surface, or other methods described above). These velocity estimates are then augmented by integrating acceleration information over a time period to which the velocity estimate pertains. In some embodiments, acceleration information received from the wireless terminal (e.g., via operation 1325) is integrated over half of the applicable time period, and added to the velocity estimate derived from the hybrid probability surface. Given that accelerometers in wireless terminals are prone to drift, augmenting the velocity estimate provided by the hybrid location probability surface by integrating acceleration over a single time period prevents the accumulation of error that would otherwise occur if the acceleration were integrated over multiple time periods.

[0203] As described above, in some embodiments, the motion estimate generated in operation 1330, and its associated probability, are represented as a motion probability surface. One embodiment of operation 1330 is discussed below with respect to Figure 15 and method 1500. In operation 1335, a probability of each motion estimate is determined. In some embodiments, operation 1335 causes the probability of the motion estimate to generally conform to a predetermined distribution, such as a Gaussian distribution. After operation 1335 is complete, method 1300 moves to end operation 1340.

[0204] Figure 14 is a flowchart of a method for generating a predicted location probability surface. As discussed above with respect to Figure 3 the predicted location probability surface is generated at a first time reference (or time period), and the probability surface of the wireless terminal is predicted at a future time reference (or time period). For example, Figure 14A blended position probability surface for time Tl is shown. Reference is made to the motion probability surface for time Tl, and reference is made to the predicted position probability surface for time T2. These different time references associated with these various surfaces are consistent with the explanation above, Figure 3 Figure 3 A blended position probability surface 308c from time reference T2 and a motion estimate 306c (in at least some embodiments represented as a motion probability surface) from time reference T2 are shown for generating a predicted position probability surface 307d for time reference T3.

[0205] In some embodiments, one or more functions discussed below with respect to Figure 14 and method 1400 are performed by hardware processing circuitry. For example, in some embodiments, instructions (e.g., 2424 discussed below with respect to Figure 24 ) stored in electronic memory (e.g., 2404 and / or 2406 discussed below with respect to Figure 24 ) configure hardware processing circuitry (e.g., 2402 discussed below with respect to Figure 24 ) to perform one or more functions discussed below.

[0206] After start operation 1405, method 1400 moves to operation 1410 where a region or location cell is selected in the blended position probability surface. A blended position probability surface is generated for time T = 1.

[0207] In operation 1415, a cell in the motion probability surface is selected. The motion probability surface is for time T = 1. In operation 1420, the probability defined by the selected motion cell is obtained. The motion estimate of the wireless terminal defined by the cell is also obtained. In various embodiments, the motion estimate defines a velocity (e.g., V x , V y , V z ) in one or more of the x, y, and z directions.

[0208] In operation 1425, a new position is determined based on the selected location cell and motion information. For example, operation 1425 determines a new position or resulting region by determining which region the wireless terminal will be located in when it exhibits the motion defined by the motion estimate for a particular time interval. In some embodiments, the time interval is the elapsed time between two sequentially determined blended position probability surfaces (e.g., the elapsed time between t = 1 and t = 2).

[0209] ​In operation 1430, a probability is determined that the wireless terminal moved to a new location cell. The probability is based on two probabilities. The first probability is the probability associated with the selected location cell (e.g., from operation 1410). The second probability is associated with the selected cell of the motion probability surface (e.g., via operation 1415). The two probabilities are aggregated (e.g., multiplied in some embodiments) to arrive at a probability that the wireless terminal in the selected location exhibits motion and moved to a new location. In operation 1435, the resulting probability is associated with the cell corresponding to the new location.

[0210] Decision operation 1440 determines whether there are additional motion estimates (e.g., cells in the motion probability surface) to evaluate. If so, processing returns to operation 1415 and a different motion estimate (e.g., cell in the motion probability surface) is selected. Otherwise, method 1400 moves from decision operation 1440 to decision operation 1445.

[0211] Decision operation 1445 determines whether there are additional areas or cells in the hybrid location probability surface to process. If not, method 1400 moves to operation 1450. Otherwise, processing returns to operation 1410 and a different area or cell is selected.

[0212] In operation 1450, the corresponding probabilities determined by operations 1430 / 1435 are aggregated. In other words, the probabilities associated with the same area or cell in the new predicted location probability surface are aggregated (e.g., added). In other words, if two or more motion estimates included in the motion probability surface have equivalent resulting areas, the probabilities associated with these motion estimates are aggregated and assigned to the corresponding area in the predicted location probability surface. Thus, the predicted location probability surface indicates the probability that the wireless terminal will be located in a particular area based on the aggregated probability for that area. The new predicted location probability surface corresponds to the location of the WT at time T2 (e.g., one time period after the hybrid location probability surface of operation 1410 and one time period after the motion estimate or motion probability surface of operation 1415). After operation 1450, method 1400 moves to end operation 1455.

[0213] Figure 15 is a flowchart of a method for determining a plurality of different motion estimates for a wireless terminal. In some embodiments, the motion estimates are represented as motion probability surfaces. In some other embodiments, the motion estimates for a wireless terminal are represented as a set of data values defining the motion estimate and the probability that the WT will move in a particular velocity and direction, e.g., using an array or other data structure configured to store a plurality of data values. In some embodiments, the following references to motion probability surfaces refer to motion estimates represented as a set of data values. Figure 15One or more functions discussed with respect to method 1500 are performed by hardware processing circuitry. For example, in some embodiments, instructions (e.g., instructions 2424 discussed below with respect to 2404 and / or 2406) stored in electronic memory (e.g., 2402 discussed below with respect to 2402) configure hardware processing circuitry (e.g., 2402 discussed below with respect to 2402) to perform one or more functions discussed below. Figure 24 For example, in some embodiments, instructions (e.g., instructions 2424 discussed below with respect to 2404 and / or 2406) stored in electronic memory (e.g., 2402 discussed below with respect to 2402) configure hardware processing circuitry (e.g., 2402 discussed below with respect to 2402) to perform one or more functions discussed below. Figure 24 For example, in some embodiments, instructions (e.g., instructions 2424 discussed below with respect to 2404 and / or 2406) stored in electronic memory (e.g., 2402 discussed below with respect to 2402) configure hardware processing circuitry (e.g., 2402 discussed below with respect to 2402) to perform one or more functions discussed below. Figure 24 For example, in some embodiments, instructions (e.g., instructions 2424 discussed below with respect to 2404 and / or 2406) stored in electronic memory (e.g., 2402 discussed below with respect to 2402) configure hardware processing circuitry (e.g., 2402 discussed below with respect to 2402) to perform one or more functions discussed below.

[0214] After start operation 1505, method 1500 moves to operation 1510. In operation 1510, probability distribution parameters for motion of the wireless terminal are determined. In some aspects, the probability distribution parameters are determined based on variability information in the motion of the wireless terminal. For example, in some aspects, the probability distribution parameters are based on accuracy field 1025. In some aspects, the probability distribution parameters define a type of probability distribution. For example, in some embodiments, the probability distribution parameters define whether the probability distribution is a Gaussian distribution, a Cauchy distribution, a Berns- Fisher distribution, a Laplace distribution, or any other type of probability distribution.

[0215] In operation 1515, boundary parameters for the motion are determined. For example, in some embodiments, an average motion value or a mean motion value is determined. In some embodiments, a limit on the motion is determined. For example, some embodiments of operation 1515 determine motion values (e.g., motion estimate field 1128) that define lower and upper percentiles of the distribution. In some embodiments, the motion estimate limit is based on the lower and upper percentiles. In some embodiments, the limit is based on a multiple of the standard deviation of the motion values. For example, some embodiments limit the generated motion estimate to be no more than five standard deviations from the average motion estimate.

[0216] In operation 1520, a motion estimate is generated (e.g., as stored in motion estimate field 1128). In some embodiments, the motion estimate is generated based on the determined motion boundary and distribution parameters. In some embodiments, the motion estimate is generated based on one or more hybrid position probability surfaces, as described above with respect to Figure 3 For example, in some embodiments, the motion estimate is generated based on acceleration information provided by the wireless terminal (e.g., as described above with respect to operation 1325). This is also referenced above with respect to operation 1310.

[0217] In operation 1525, the motion values are associated with motion probabilities according to the distribution parameters. For example, in a normal or Gaussian distribution, values closer to the mean are more numerous than values further from the mean. Thus, operation 1525 associates motion values with their probability of occurrence in order to construct a probability distribution of motion values according to the motion parameters (variance, bounds, median, or mean) and the distribution parameters. Thus, the result of operation 1525 is motion estimates and associated motion probabilities. Thus, the motion estimates included in the motion probability surface have associated motion probabilities.

[0218] Decision operation 1530 determines whether more motion values are needed to complete the distribution. If more values are needed, method 1500 returns to operation 1520. Otherwise, method 1500 moves from decision operation 1530 to end operation 1535.

[0219] Figure 16 is a flowchart of a method for determining a possible hybrid surface for a wireless terminal based on a predicted position probability surface and a synthesized position probability surface. For example, method 1600 discussed below with respect to Figure 16 represents one example embodiment of how a hybrid position probability surface 308d can be generated based on a predicted position probability surface 307d and a synthesized position probability surface 304d.

[0220] In some embodiments, one or more functions discussed below with respect to Figure 16 and method 1600 are performed by hardware processing circuitry. For example, instructions (e.g., 2424 discussed below with respect to Figure 24 stored in electronic memory (e.g., 2404 and / or 2406 discussed below with respect to Figure 24 configure hardware processing circuitry (e.g., 2402 discussed below with respect to Figure 24 to perform one or more functions discussed below.

[0221] After start operation 1605, method 1600 moves to operation 1610. In operation 1610, a synthesized position probability surface is obtained. For example, in some embodiments, operation 1610 includes operations 1210-1235 discussed above with respect to Figure 12

[0222] Operation 1615 obtains a predicted position probability surface. In some embodiments, operation 1615 obtains a predicted position probability surface according to method 1400 discussed above with respect to Figure 14 For example, in some embodiments, the predicted position probability surface for time T is based on one or more hybrid position probability surfaces for times T-l, T-2, etc., and a motion surface generated at time T-l or a motion estimate for the mobile terminal at time T-l.

[0223] ​Operation 1620 generates a blended location probability surface for time T based on the predicted location probability surface and the synthesized location probability surface. In some embodiments, operation 1620 averages corresponding cells or regions of each of the synthesized location probability surface and the predicted location probability surface to generate corresponding cells or regions of the blended location probability surface. In this case, a corresponding cell is a cell that represents an equivalent geographic region. In some embodiments, a weighted average is used to generate the blended location probability surface, with probabilities indicated by the synthesized location probability surface being given a first weight and probabilities indicated by the predicted location probability surface being given a different second weight. After operation 1620 is completed, method 1600 moves to end operation 1635.

[0224] Figure 17 FIG. 17 is an overview of a system 1700 implemented in one or more embodiments disclosed. System 1700 includes three access points (APs) 1702a-c. Each of the four access points 1702a-c generates a corresponding wireless signal 1704a-c. Signals 1704a, 1704b, and 1704c are received by wireless terminals 1706a-c. Wireless terminals 1706a-c measure the strength of each of the signals 1704a-c and generate messages 1708a-c that indicate the strength of the signals transmitted by one or more of the APs 1702a-c. For example, Figure 17 Message 1708a is shown indicating the signal strength (e.g., RSSI) of the signals transmitted by each of the access points 1702a-c as seen by wireless terminal 1706a. Message 1708b is transmitted by wireless terminal 1706b and indicates signal strength information for signals received by wireless terminal 1706b from one or more of the access points 1702a-c. Message 108c is transmitted by wireless terminal 1706c and indicates signal strength information for signals received by wireless terminal 1706c from access points 1702a-c. RSSI is just one example of a signal strength measurement, and some other embodiments use a different measurement for signal strength. In some example implementations, wireless terminals 1706a-c use messages 1708a-c to communicate accelerometer and / or velocity information to NMS 110.

[0225] Wireless terminals 1706a-c transmit messages 1708a-c to NMS 110. Although the messages are depicted as being sent directly to the proximity server, it can be appreciated that the messages are actually communicated through the APs to which the devices 1706a-s are associated. NMS 110 uses the signal strength measurements included in messages 1708a-c to estimate the location or geographic position of each of the wireless terminals 1706a-c. In some embodiments, NMS 110 divides geographic region 1712 into a plurality of regions 1714a-n. Figure 17Geographical regions 1714a, 1714b, and 1714c are illustrated, but other regions within geographical region 1712 are not labeled to keep the figure clear. In some embodiments disclosed, NMS 110 calculates, for each wireless terminal 1706a-c, a probability that wireless terminal 1706 is located in each of a plurality of regions, including regions 1714a-c. These probabilities are based on signals 1704a-c received by wireless terminal 1706a-c. In particular, the probabilities are based on the strength of signals 1704a-c measured by the wireless terminal. In some embodiments, access points 1702a-c are at known locations. Thus, the distance between each access point 1702a-c and each region (e.g., 1714a-c) can be determined. From these distances, the expected signal strength of a signal received at each region (e.g., 1714a-c) from each of access points 1702a-c is determined. By comparing the expected signal strength to the signal strength measured by the wireless terminal, the probability of the wireless terminal being in a region can be determined.

[0226] In some embodiments, these probabilities are refined via additional probabilities of the location of the wireless terminal, the additional probabilities being based on motion information for the wireless terminal. For example, in some embodiments, the wireless terminal provides motion information (e.g., information extracted from an accelerometer inside the device) to NMS 110 in a message (e.g., 1708a-c). In some other embodiments, a different message is used to provide motion information from wireless terminal 1706a-c to NMS 110. In some embodiments, wireless terminal 1706a-c derives motion information from an accelerometer integrated into one or more wireless terminals 1706a-c.

[0227] In some embodiments, as explained in incorporated disclosure, the motion of any one or more of wireless terminals 1706a-c is determined by NMS 110 based on changes in the order of the locations of the wireless terminal.

[0228] Figure 18A Graphical representation 1800a of probabilities of an example two-dimensional location probability surface based on signal strength received from a single AP. X-axis 1812 and Y-axis 1814 define a location or region in which a device is estimated to be located. Z-axis 1810 represents the probability that the device is located in the region or location. Probability surface 1802a exhibits a donut shape. The donut shape illustrates a ring 1804 of relatively high probability locations for the subject device, with the surrounding region exhibiting lower probabilities.

[0229] Figure 18Bis a graphical representation 1800b of the probability of the example two-dimensional location probability surface based on the signal strengths received from the two APs. The X-axis 1822 and Y-axis 1824 define a location or area in which the device is estimated to be located. The Z-axis 1820 represents the probability that the device is located in the area or location. The probability surface 1802b exhibits a ridge. The ridge illustrates a peak 1828 of relatively high probability locations for the subject device, with the surrounding area exhibiting lower probabilities. Note that the addition of the second AP increases the probability of the device being in a particular area, so the probability associated with the peak of the ridge is higher than the probability associated with Figure 18A the ring.

[0230] Figure 18C is a graphical representation 1800c of the probability of the example two-dimensional location probability surface based on the received signal strength measurements of the signals received from the three APs. The X-axis 1832 and Y-axis 1834 define a location or area in which the device is estimated to be located. The Z-axis 1830 represents the probability that the device is located in the area or location. The probability surface 1802c exhibits a peak. The peak illustrates a maximum 1838 of relatively high probability locations for the subject device, with the surrounding area exhibiting lower probabilities. Note that the addition of the third AP increases the probability of the device being in a particular area, so the probability associated with the peak is higher than the probability associated with Figure 18B the ridge.

[0231] Figure 18D is a simplified graphical representation of the proximity probability of an example one-dimensional location probability curve. As described above, in some embodiments, a network management system (such as the NMS 110 of Figure 17 determines a location probability surface (such as the probability surfaces 1802a, 1802b, 1802c) for each of the wireless devices (such as the devices 1706a-c).

[0232] Figure 18D includes an X-axis 1840 and a Y-axis 1842. The Y-axis 1842 represents the magnitude of the probability that a device is located in a location indicated by the X-axis 1840. The plot 1800d shows a location probability curve 1850 for a first device (e.g., the wireless terminal 1706a) in a plurality of locations represented by the X-axis 1840. The probability peaks at a location 1852, so the location 1852 is the highest probability location of the first device. Figure 17 Figure 17 a second probability curve 1854 represents the probability associated with the location of a second device (e.g., the wireless terminal 1706b). The second probability curve 1854 peaks at a location 1856, so, in some embodiments, the location 1856 is estimated to be the location of the second device.

[0233] ​Distance 1858 represents the distance between the highest probability location 1852 of the first device and the highest probability location 1856 of the second device. In some embodiments, distance 1858 is compared to a predefined threshold to determine whether the first device and the second device are neighboring devices.

[0234] Figure 18D A large region is identified in which there is a non-zero probability that the first device is present. There is also a non-zero probability that the second device is in the vicinity of the region. Probability 1861 is shown, representing a probability that the first device is located in location 1860, and a probability 1866 that the second device is located in location 1861, where location 1860 and location 1861 are in the vicinity of each other. Thus, there is a non-zero probability that the first device and the second device are in the vicinity of each other. Not only can the two devices be in the vicinity of each other, but there is a non-zero probability that they are at the same location. Specifically, for example, the first device's location probability curve 1850 indicates that the first device has a probability 1861 of being located at location 1860. The second device has a probability 1864 of being located at location 1860. Since both probability 1861 and probability 1864 are non-zero, Figure 18D The probability that the first wireless device and the second wireless device are in the vicinity of each other is non-zero.

[0235] Figure 19 is a flowchart of a method for identifying a neighbor device. In some embodiments, one or more functions discussed below with respect to Figure 19 The one or more functions discussed with respect to method 1900 are performed by hardware processing circuitry. For example, in some embodiments, instructions (e.g., 2424 discussed below with respect to Figure 24 are stored in electronic memory (e.g., 2404 and / or 2406 discussed below with respect to Figure 24 configure the hardware processing circuitry (e.g., 2402 discussed below with respect to Figure 24 to perform one or more functions discussed with respect to Figure 19

[0236] After starting operation 1905, method 1900 moves to operation 1910. In operation 1910, a first location probability surface of the first wireless device is determined. For example, as described above, in some embodiments, the first location probability surface includes a plurality of probabilities indicating a probability that the first wireless device is located in a corresponding first plurality of geographic regions. In some embodiments, the probability that the first wireless device is located in each region is based on a phase difference of a signal transmitted by and / or received from the first wireless device. In some embodiments, the probability is based on a signal strength measurement made by the first wireless device of a signal received from a plurality of access points, where the access points are located at known locations.

[0237] ​In operation 1915, a first highest probability region is determined from the first location probability surface. The first highest probability region represents the region having the highest probability of the first device location when compared to other regions in the first plurality of geographic regions.

[0238] In operation 1920, a second device is selected from the list of devices. In some embodiments, the list of devices includes devices managed by the NMS 110. For example, in some embodiments, the device includes one or more of the wireless terminals 1706a-c.

[0239] In operation 1930, a second location probability surface for the selected second wireless device is determined. Similar to the first location probability surface discussed above, the second location probability surface is based on signal strength measurements and / or phase difference measurements associated with the selected (second) wireless device. The second location probability surface specifies a probability of the second wireless device being located in each of a second plurality of regions.

[0240] In operation 1940, a second highest probability region is determined based on the second location probability surface. The second highest probability region represents the region in the second plurality of regions most likely to include the selected (second) wireless device.

[0241] In operation 1950, a distance between the first highest probability region for the first wireless device and the second highest probability region for the selected second device is determined.

[0242] Decision operation 1960 evaluates whether the determined distance is below a predefined distance threshold. If the distance is less than the threshold, the method 1900 moves to operation 1970, which adds the selected device to the neighbor list for the first wireless device. Otherwise, the method 1900 moves from decision operation 1960 to decision operation 1980 without performing operation 1970.

[0243] In decision operation 1980, it is determined whether to evaluate additional devices relative to whether any remain as neighbors of the first wireless device. For example, some embodiments of decision operation 1980 evaluate whether all devices in a list of devices maintained by the NMS 110 have been evaluated relative to the first wireless device and the method 1900. If devices remain, the method 1900 returns to operation 1920 and selects a different second wireless device for evaluation. If no other devices remain for evaluation, the method 1900 moves from 1980 to end operation 1990.

[0244] In some embodiments, the method 1900 operates periodically to determine an updated list of neighbors of the first wireless device. In some embodiments, the method 1900 operates for each wireless device managed by the NMS 110 during each iteration. In some embodiments, the periodicity is ten seconds. In some embodiments, each iteration utilizes Equation 20 discussed below to determine a probability that two devices are within a predefined distance Tl, resulting in, for example, the probability time series discussed below with respect to Figure 20

[0245] Figure 20 is a graphical representation 2000 of the proximity probability and the time series of aggregated proximity probabilities. Time is shown horizontally with respect to the X axis 420. Four time periods T0, Tl, T2, and T3 are shown. Five different time series are also shown, labeled 2002a-e. The horizontally shown time series 2002a represents the probability that the devices Dl and D2 are within the proximity defined by the threshold Distl during each of the time periods T0, Tl, T2, and T3.

[0246] Figure 20 A sliding aggregation window 2040 is also illustrated. The aggregation window 2040 in this illustration includes three time period probabilities, for example resulting in an aggregation of the probabilities determined during time periods T0, Tl, and T2. Other sum window sizes are contemplated.

[0247] Some embodiments generate an alert if a first user (e.g., Dl in Figure 20 ) is within a threshold proximity of a second user (e.g., D2 in Figure 20 ) associated with a second wireless device. Some embodiments maintain a risk associated with each of the first and second users. The risk assessment is then applied with the probability that the first user is within the proximity of the second user to determine a risk of the communicable disease for each user. For some diseases, transmission only occurs if the first user is within the proximity of the second person identified as being at a relatively high risk for a duration longer than a time span of n time periods within the example time series shown in Figure 20 If the aggregation of the probabilities within the aggregation window 2040 exceeds a threshold Thres2, some embodiments generate an alert.

[0248]

[0249] where:

[0250] Alert(i) = True(): indicates an alert generated for user i at time t when the item in the brackets is true,

[0251] ​Thres2: a threshold for generating a cumulative proximity alert,

[0252] Pi,j(k): the probability of user i being in proximity of user j at time k, and

[0253] the sum of probabilities over a sliding sum window of size n,

[0254] Pj: the risk associated with user j (e.g., as indicated by field 2206, discussed below).

[0255] Some embodiments compare the aggregation of proximity probabilities within a time series to a predefined threshold. If the aggregated value exceeds the predefined threshold, an alert is generated. In some embodiments, the aggregation includes a filter that evaluates the cumulative impact over a longer time. In one particular implementation, the aggregation filter is a low-pass filter, e.g.,

[0256] Alert(i) = True(O(t) > T3) Equation 19a

[0257] and

[0258] O(t) = a*Pi,j(t)*Pj + (1-a)*O(t-1) Equation 19b

[0259] where:

[0260] Alert(i) = True(): alerts user i at time t when the item in the parentheses is true,

[0261] O(t): the output of the low-pass filter at time t,

[0262] T3: a threshold for generating a cumulative proximity alert,

[0263] Pi,j(k): the probability of user i being in proximity of user j at time t, and

[0264] a: a coefficient of the low-pass filter, in some embodiments a < 1,

[0265] Pj: the risk associated with user of device j (e.g., as discussed below with respect to field 2206).

[0266] Some embodiments generate an alert during a single time period (e.g., such as in a single day, or a single week, or a single month, or a single quarter, or a single year). Figure 20During each of the illustrated time periods To, Ti, T2, or T3 (during a single time period), relationships between the first wireless device and multiple other wireless devices are tracked. For example, some embodiments aggregate probabilities of exposure to multiple devices within a single time period. Appropriate thresholds are then applied to these aggregated probabilities within a single time period to determine whether the user associated with the first wireless device is associated with a relatively high risk. Some embodiments then generate an alert based on this determination.

[0267] Returning to Figure 17 The risk associated with the first user of wireless terminal 1706a relates at least in part to the first user being within the proximity of the second and third users of wireless terminals 1706b and 1706c, respectively. Thus, being within the relatively close proximity of multiple users within a single time period represents a greater risk than being within the relatively close proximity of multiple users during different (non-overlapping) time periods. Moreover, in some embodiments, a first risk associated with being within the proximity of multiple users during a single time period is greater than a second risk associated with being within the proximity of these multiple users during different time periods.

[0268] As Figure 20 illustrated in some embodiments, multiple time series of probabilities are generated. Figure 20 Four time series are illustrated, the four time series indicating proximity probabilities of device Di to each of other device D2 (time series 2002a), device D3 (time series 2002b), device D4 (time series 2002c), and device D5 (time series 2002d).

[0269] The following Equation 20 describes the determination of a proximity measure of two devices being within distance T1 of each other:

[0270] P(d(i,j) < T1) = ∑ allk ·∑ allk&l (Pi(reg.k) * Pj(reg.l)) Equation 20

[0271] Where:

[0272] d(i,j): distance between neighboring devices i and j,

[0273] T1: proximity threshold,

[0274] k & l: indices of regions that are within distance T1 (or shorter) of each other,

[0275] Pi(reg.k): a measure of the probability of device i being in region k,

[0276] Pj(reg.l): a measure of the probability of device j being in region l,

[0277] P(d(i,j) < T1): a measure of the probability that the distance between devices i and j is less than the proximity threshold.

[0278] Some embodiments determine the probability that a particular first wireless device is proximate to at least one device during a time period according to the following Equation 21:

[0279] Proximate i (t) = 1 - (1 - P i,j (t))*(1 - P i,j+1 (t))*... *(1 - P i,j+m-1 (t))) Equation 21

[0280] where:

[0281] Proximate i (t): a measure of the probability that device i is proximate to at least one other device during time t

[0282] m: a measure of the number of devices that are neighbors of device i (e.g., within a threshold distance of device i), or some other measure of proximity,

[0283] Pi,j(t): the probability that device i is in proximity of device j at time t,

[0284] Proximity: a proximity indicator. For example, when Pi,j(t) > a predefined threshold, device i is in close proximity of device j,

[0285] j,..., j+m-1: j to j+m-1 are indices of the m devices that are in proximity of device i, and

[0286] (1 - P i,j (t)): the probability that devices i and j are not in close proximity at time t.

[0287] To assess the cumulative risk introduced due to being in close proximity to one or more users, some embodiments augment Equation 21 by incorporating the risk associated with each other device that the first wireless device can have been in proximity to. In at least some embodiments, the risk assessment of the first wireless device (e.g., device i) is determined by evaluating the following Equation 22:

[0288] Risk(i) = 1 - (1 - R j (t)*P i,j (t))*(1 - R j+1 (t)*P i,j+1 (t))*... *(1 - R j+m-1 (t)*P i,j+m-1(t)))

[0289] Equation 22

[0290] where:

[0291] Risk(i): a measure of risk associated with device i (and its associated user),

[0292] Rj(t): a measure of risk associated with device j (e.g., and / or its associated user) at time t (e.g., as discussed below with respect to field 2206), and

[0293] Other terms: as discussed above with respect to Equation 14.

[0294] The risk assessment of Equation 22 is then used in some embodiments to generate an alert to the user of device i (e.g., via Equation 18). In some embodiments, the alert is generated when the following condition evaluates to a true value:

[0295]

[0296] where:

[0297] Alert(i) = True(): defines the condition under which the alert function alert() returns a true value. The alert function receives an input parameter i identifying the user at time t,

[0298] Thres4: a threshold for generating a cumulative proximity alert,

[0299] Risk i(k): a measure of risk of device i at time k, and

[0300] a sum of risks over a sliding summation window of size n.

[0301] Figure 20 A time series 2002e showing probabilities that a device is proximate to any other device is shown. Each probability in the series is labeled Prox t where t is the applicable time period. In some embodiments, each Prox t element of time series 2002e is determined according to Equation 21 discussed above.

[0302] The proximity probabilities included in time series 2002e can be processed by a filter that incorporates multiple previous proximity probabilities, such as the low-pass filter used in Equations 19a and 19b above. Accordingly, one embodiment generates an alert according to the following Equations 24a-b:

[0303] Alert(i) = True(O(t) > T5) Equation 24a

[0304] and

[0305] O(t) = a * Proximatei(k) + (1 - a) * O(t - 1) Equation 24b

[0306] where:

[0307] Alert(i) = True(): Alert user i at time t when the item in the brackets is true,

[0308] O(t): Output of the low-pass filter at time t,

[0309] T5: Threshold for generating a cumulative proximity alert,

[0310] Proximatei(k): Probability of device i being in proximity of one or more devices (e.g., see Equation 21 above), and

[0311] a: Coefficient of the low-pass filter when a < 1.

[0312] Figure 20 A time series 2002f is also shown. The time series 2002f has elements representing a measure of risk associated with a particular wireless device, and in some embodiments, by implication, a measure of risk associated with a user of the particular wireless device. In some embodiments, each element of the time series 2002f is determined via Equation 22 discussed above.

[0313] Figure 21 is a flowchart of a method for estimating a probability of proximity between a device and one or more of its neighboring devices. In some embodiments, one or more of the functions discussed below with respect to Figure 21 and method 2100 are performed by hardware processing circuitry. For example, in some embodiments, instructions (e.g., 2424 discussed below with respect to Figure 24 ) stored in electronic memory (e.g., 2404 and / or 2406 discussed below with respect to Figure 24 ) configure hardware processing circuitry (e.g., 2402 discussed below with respect to Figure 24 ) to perform one or more of the functions discussed with respect to Figure 21 .

[0314] Method 2100 begins at start operation 2105 and then moves to operation 2110. In operation 2110, neighbor devices of a first wireless device are determined. In some embodiments, operation 2110 operates in accordance with method 1900 discussed above with respect to Figure 19 . Some embodiments take into account relationships between the first wireless device and other wireless devices that are not necessarily neighbor devices of the first wireless device.

[0315] In operation 2120, a neighbor device is selected from the neighbor devices determined in operation 2110. In operation 2130, a proximity probability for the first device and the selected neighbor device is determined. In some embodiments, the proximity probability is determined in accordance with the discussion above Figure 20 with respect to one or more of time series 2002a-d.

[0316] Decision operation 2140 determines whether additional neighbor devices of the first wireless device are to be processed by method 2100. If additional neighbor devices need to be processed (e.g., not all neighbor devices have been evaluated by method 2100), method 2100 moves from decision operation 2140 to operation 2120, in which an additional neighbor device is selected. Otherwise, method 2100 moves from decision operation 2140 to operation 2150, which determines a cumulative proximity measurement. In some embodiments, operation 2150 operates in accordance with any one or more of the methods discussed above Figure 20 with respect to one or more of time series 2002a-e.

[0317] In operation 2160, an aggregation of the cumulative proximity measurements is determined. For example, in some embodiments, operation 2160 aggregates the cumulative proximity probabilities for a device (e.g., device Dl) over an aggregation window, such as aggregation window 2040 described above Figure 20 with respect to equation 19 and / or equations 24a-b described above, the aggregation applies a temporal weighting to the elements of the time series. For example, some embodiments discount older elements relative to newer elements. Figure 20

[0318] Decision operation 2170 determines whether the aggregation determined in operation 2160 is greater than a predefined threshold. If not, method 2100 moves from decision operation 2170 to decision operation 2190. If the aggregation exceeds the threshold, method 2100 moves to operation 2180, which generates an alert based on the aggregation. In some embodiments, the alert uses any known messaging technology, such as an email, a text, a social network-based message, or any other messaging technology. In some embodiments, the alert is generated to a user of the first wireless device.

[0319] ​Decision operation 2190 determines whether method 2100 should continue iterating. In some embodiments, the decision to iterate or not is based on whether a shutdown event or a reconfiguration event has been detected. If further iteration is not needed, method 2100 moves to end operation 2195. Otherwise, method 2100 returns to operation 2110. While method 2100 provides an example of evaluating a single first device, method 2100 is still performed on multiple wireless devices managed by NMS 110 in some embodiments, regardless of whether the aggregate of accumulated proximity probabilities exceeds a threshold.

[0320] Figure 22 Example data structures implemented in the disclosed one or more embodiments are shown. While the example data structures in Figure 22 are described as relational database tables, the disclosed embodiments contemplate using any data structure architecture, and Figure 22 are provided as merely one possible implementation.

[0321] Figure 22 User table 2200, device table 2210, risk table 2220, location probability surface table 2230, and pairing table 2240 are shown. User table 2200 includes user identifier field 2202, user information field 2204, and current risk field 2206. User identifier field 2202 uniquely identifies a particular user. User information field 2204 includes user information for the user. For example, in some embodiments, authentication credentials for the user identified via user identifier field 2202 are stored in user information field 2204. Current risk field 2206 stores a current assessment of the user identified by user identifier field 2202's risk of infection with a disease. In some embodiments, a risk associated with a first user is incorporated into a risk assessment for a second user determined to be within a proximity of the first user.

[0322] Device table 2210 includes device identifier 2212, user identifier field 2214, and unique user identifier field 2216. Device identifier field 2212 uniquely identifies a wireless device such as any one of wireless terminals 1702a-c of Figure 17 User identifier field 2214 identifies a user associated with the device identified via field 2212. In at least some embodiments, user identifier field 2214 is cross-referencable with user identifier field 2202.

[0323] Risk table 2220 includes a user identifier field 2222, a risk field 2224, and a time identifier field 2226. User identifier field 2222 uniquely identifies a user. User identifier field 2222 is cross-referenced with other user identifier fields, such as user identifier field 2202 and / or user identifier field 2214. Risk field 2224 identifies a user's (identified via field 2222) historical risk assessments during the period identified by time identifier field 2226. In some embodiments, a moving window of risk assessments is used to determine a user's current risk. For example, in some embodiments, a moving window of risks over the past fourteen days is used to assess a user's current risk. In some embodiments, multiple rows in risk table 2220 for a specific user are used to store the risk assessments included in the moving window of risks. For example, in some embodiments, risk assessments for one or more users are periodically determined, and these periodically determined risk assessments are stored in risk table 2220. When determining a "current" risk or for a "current" periodically determined risk, each periodic determination also consults previous risk determinations. In some embodiments, operation 2330, discussed below, performs these functions to determine risks associated with a user.

[0324] Location probability surface table 2230 includes a surface identifier field 2231, a device identifier field 2232, a region identifier field 2234, a probability field 2236, and a time identifier field 2238. The surface identifier field 2231 uniquely identifies a specific surface. The device identifier field 2232 uniquely identifies a specific wireless device. The region identifier field 2234 uniquely identifies a specific region among multiple regions. In some embodiments, the region identifier field 2234 defines the geographic coordinates of the region. The probability field 2236 stores the probability that the device identified by the device identifier field 2232 is located in the region identified by the region identifier field 2234. The time identifier field 2238 indicates the period during which the probability is valid. In some embodiments, the time identifier field 2238 identifies which period in a time series the probability applies to. For example, regarding... Figure 20 The time identifier field 2238 identifies one of T0, T1, T2, or T3. For relational database table implementations (such as...), Figure 22 For example, in relational database tables (such as location probability surface table 2230), multiple rows represent multiple entries in the identified surface. Thus, for example, in some embodiments, a location probability surface with multiple regions is represented by multiple rows of location probability surface table 2230, one row for each region.

[0325] Pairing table 2240 stores information related to device pairs. Specifically, as mentioned above... Figure 20Some embodiments discussed generate a time series of proximity measurements. In some embodiments, an entry in the pairing table 2240 stores a single proximity measurement between a pair of devices. The pairing table 2240 includes a first device identifier field 2242 and a second device identifier field 2244. Each of the first device identifier field and the second device identifier field identifies a device included in a pair of devices. A proximity measurement field 2246 stores a proximity measurement between the pair of devices. In some embodiments, the proximity measurement stored in the proximity measurement field 2246 is generated according to any of the methods described above with respect to Figure 20 The proximity measurement stored in the proximity measurement field 2246 is generated according to any of the methods described above with respect to Figure 20 , the time identifier field 2249 identifies one of T0, T1, T2, or T3.

[0326] Figure 23 is a flowchart of a method for determining a user infection risk. In some embodiments, one or more functions discussed below with respect to Figure 23 and the method 2300 are performed by hardware processing circuitry. For example, in some embodiments, instructions (e.g., 2424 discussed below with respect to Figure 24 ) stored in electronic memory (e.g., 2404 and / or 2406 discussed below with respect to Figure 24 ) configure hardware processing circuitry (e.g., 2402 discussed below with respect to Figure 24 ) to perform one or more functions discussed with respect to Figure 23 .

[0327] After starting operation 2305, the method 2300 moves to operation 2310. In operation 2310, a first position probability surface for a first wireless device is determined. In some embodiments, the first position probability surface is determined based on signal strength measurements of signals associated with the first wireless device. In some embodiments, the first wireless device transmits and / or receives the signals on which the measurements are based. In some embodiments, the first position probability surface is generated according to the data flow described above with respect to Figure 3 The first position probability surface indicates a probability that the first wireless device is located in each of a first plurality of regions. In some embodiments, the first position probability surface is based on phase differences of one or more signals received at multiple antennas of the device.

[0328] In operation 2315, a second position probability surface for a second wireless device is determined. In some embodiments, the second position probability surface is determined based on signal strength measurements of signals associated with the second wireless device. In some embodiments, the second wireless device transmits and / or receives the signals on which the measurements are based. In some embodiments, the second position probability surface is generated according to the data flow described above with respect to Figure 3The described data stream generates a second location probability surface. The second location probability surface indicates a probability that the second wireless device is located in each of a second plurality of regions. In some embodiments, the second location probability surface is based on phase differences of one or more signals received at multiple antennas of the device.

[0329] In operation 2320, a measure of proximity between the first wireless device and the second wireless device is determined. The measure of proximity is based on the first location probability surface and the second location probability surface. In some embodiments, the measure of proximity aggregates a time series of probability determinations regarding proximity of the first wireless device and proximity of the second wireless device. As described above, in some embodiments, the aggregation of the time series of proximity determinations utilizes a filter such as discussed with respect to Equations 19a-b and / or Equation 24. In some embodiments, less recent proximity determinations are discounted relative to more recent proximity determinations.

[0330] Some embodiments generate pairs of regions. The first region of the pair identifies a region of the first plurality of regions. The second region of each pair identifies a region of the second plurality of regions. In some embodiments, the generated pairs of regions include regions that are within a predefined threshold distance of each other (pairs of regions that are farther apart from each other are not represented by the generated pairs). A first probability that the first wireless device is located in the first region of the pair is then multiplied by a second probability that the second wireless device is located in the second region of the pair. This multiplication is performed for each pair, and then the products are aggregated. In some embodiments, the measure of proximity is based on the aggregation of the products.

[0331] In some embodiments, the measure of proximity is a proximity probability based on proximity of the first wireless device to a plurality of other wireless devices including the second wireless device. For example, the proximity probability can further incorporate measures of proximity between the first wireless device and third, fourth, and / or fifth wireless devices. In some embodiments, the proximity probability indicates a probability that the first wireless device is proximate to at least one other device.

[0332] In some embodiments, the method 2300 determines a highest probability location of the first wireless device and a second highest probability location of the second wireless device. In some embodiments, the highest probability location of the first wireless device is a region having a highest associated probability defined by the first location probability surface. In some embodiments, the highest probability location of the second wireless device is a second region having a highest associated probability defined by the second location probability surface. In some embodiments, the determination of the measure of proximity is based on whether the highest probability location of the first wireless device and the highest probability location of the second wireless device are within a predefined distance threshold of each other. For example, some embodiments first filter pairs of devices based on the highest probability locations (e.g., regions) of the pairs of devices. For example, as discussed above with respect to Equation 24, some embodiments filter pairs of devices based on whether the highest probability locations of the pairs of devices are within a predefined distance threshold of each other. Figure 19As discussed, devices are considered neighbors if the distance between their highest probability locations is less than a distance threshold. If devices are not considered neighbors, then, for example, in operation 2320, a measure of the proximity between the two devices is not determined. In this case, at least in some embodiments, operation 2330 is not performed with respect to these device pairs.

[0333] In operation 2330, a first risk of infection for a first user associated with a first wireless device is determined. In some embodiments, the first user is identified via a device table (such as those described above). Figure 22 The devices discussed (Table 2210) are identified. In some embodiments, the first risk of infection is also based on a second risk associated with a second user. The second user is associated with a second wireless device. In some embodiments, the first risk is also based on a prior assessment of the risk (e.g., a third risk) of the first user. Some embodiments determine the first risk according to Equation 22 discussed above. Some embodiments consider the risks associated with multiple different users other than the first and second users discussed above. For example, if the first user is within a predefined threshold proximity of 5, 10, 20, or 50 users, or any number of users between any of the above numbers, the risk associated with each of these users is also considered when determining the first risk. In some embodiments, each risk of each of these users is reduced based on the probability that the first user is within the distance of the corresponding user, using probabilities derived from the location probability surfaces of the first user and the corresponding user, according to Equation 22.

[0334] Some embodiments generate alerts based on a first risk of infection. For example, if the first risk is higher than a predefined threshold risk level, some embodiments generate emails, text messages, or other messages. Some embodiments generate alerts according to equations 23a and / or 23b and / or 24a and / or 24b discussed above.

[0335] Some embodiments of method 2300 operate iteratively, and thus generate a time series of measures of proximity between the first wireless device and the second and / or other additional wireless devices. In some embodiments, the risk associated with the user of the first wireless device is also iteratively determined. Therefore, a time series of risk assessments for the user of the first wireless device is then generated through iterative execution of method 2300. For example Figure 20Specifically, time series 2002e demonstrates periodic or iterative execution of method 2300 to generate a proximity-determined time series. Time series 2002f also demonstrates periodic or iterative execution of method 2300 to generate a risk-determined time series. Note that in some embodiments, method 2300 generates the risk-determined time series based on a corresponding time series determined with respect to probability measurements of one or more other wireless devices. For example, some embodiments determine the risk associated with the first user at time T0 based on one or more proximity determinations of the following: proximity determination between the first wireless device and the second wireless device at time T0 (e.g., similar to...). Figure 20 P in 0D1D2 ), determining the proximity between the first and third wireless devices at time T0 (e.g., similar to Figure 20 P in 0D1D3 ), determining the proximity between the first and fourth wireless devices at time T0 (e.g., similar to Figure 20 P in 0D1D4 Then, regarding time periods T1, T2, and T3, as shown in... Figure 20 As shown, similar risk assessments are made for the first user during periodic periods.

[0336] Therefore, in some embodiments, time series of measurements are generated periodically or at least over multiple non-overlapping time periods. Some embodiments then aggregate these proximity measures across the time series (e.g., time series 2002e). Thus, for example, in some embodiments, time series of the proximity measures between a first wireless device and a second wireless device are aggregated. In some embodiments, a second time series of the proximity measures between a first wireless device and a third wireless device is aggregated. In some embodiments, as described above (e.g., Equation 21), corresponding measures in the first and second time series are aggregated to generate a time series of probabilistic proximity measures. After operation 2330 completes, method 2300 proceeds to termination operation 2340.

[0337] Figure 24 A block diagram of an example machine 2400 is illustrated, on which any one or more of the techniques (e.g., methods) discussed herein can be performed. Machine 2400 (e.g., a computer system) may include a hardware processor 2402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), main memory 2404, and static memory 2406, some or all of which may communicate with each other via interconnect links 2408 (e.g., a bus).

[0338] Specific examples of the primary storage 2404 include random access memory (RAM), and semiconductor-based memory devices, in some embodiments, which can include both volatile, such as registers, and nonvolatile, such as cache. Specific examples of the secondary storage 2406 include nonvolatile memory, including, for example, semiconductor-based memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; RAM; and CD-ROM and DVD-ROM disks.

[0339] The machine 2400 can also include a display device 2410, an input device 2412, e.g., a keyboard, and a user interface (UI) navigation device 2414, e.g., a mouse. In one example, the display device 2410, input device 2412 and UI navigation device 2414 are a touch screen display. The machine 2400 can additionally include a mass storage (e.g., drive unit) 2416, a beacon signal generation device 2418, a network interface device 2420, and one or more sensors 2421, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensor. The machine 2400 can include an output controller 2428, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.). In some embodiments, the hardware processor 2402 and / or instructions 2424 can include processing circuitry and / or transceiver circuitry.

[0340] The mass storage device 2416 can include a machine readable medium 2422 on which is stored one or more sets of data structures or instructions 2424 (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The machine readable medium 2422, in at least some embodiments, is non-transitory. The instructions 2424 may

[0341] Specific examples of machine readable media can include non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; RAM; and CD-ROM and DVD-ROM disks.

[0342] Although the machine-readable medium 2422 is illustrated as a single medium, the term“machine-readable medium” can include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) configured to store the instructions 2424.

[0343] The apparatus of the machine 2400 can be one or more of hardware processing circuits 2402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), one or more hardware memories (including one or more of main memory 2404 and static memory 2406). In some embodiments, the apparatus of the machine 2400 also includes one or more sensors 2421, network interface devices 2420, one or more antennas 2460, display devices 2410, input devices 2412, UI navigation devices 2414, mass storage devices 2416, instructions 2424, beacon signal generation devices 2418, and output controllers 2428. The apparatus can be configured to perform one or more of the methods and / or operations disclosed herein. The apparatus can be intended to be a component of the machine 2400 to perform one or more of the methods and / or operations disclosed herein, and / or perform part of one or more of the methods and / or operations disclosed herein. In some embodiments, the apparatus can include pins or other means for receiving power. In some embodiments, the apparatus can include power regulation hardware.

[0344] The term“machine-readable medium” can include a single medium or multiple media configured to store instructions for execution by the machine 2400 and cause the machine 2400 to perform any one or more of the techniques disclosed herein, or carry out a data structure desired for use with such instructions. Non-limiting examples of a machine-readable medium can include a solid-state memory, and optical and magnetic media. Specific examples of a machine-readable medium can include: non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; Random Access Memory (RAM); and CD-ROM and DVD-ROM disks. In some examples, a machine-readable medium can include a non-transitory machine-readable medium. In some examples, a machine-readable medium can include a machine-readable medium that is not a transitory propagating signal.

[0345] The instructions 2424 can further be transmitted or received using a transmission medium via the network interface device 2420 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks can include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards known as Wi-Fi®, IEEE 802.16 family of standards known as WiMax®), IEEE 802.15.4 family of standards, a Long Term Evolution (LTE) family of standards, a Universal Mobile Telecommunications System (UMTS) family of standards, peer-to-peer (P2P) networks, among others.

[0346] In one example, the network interface device 2420 can include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network 2426. In one example, the network interface device 2420 can include one or more antennas 2460 to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques. In some examples, the network interface device 2420 can wirelessly communicate using Multiple User MIMO techniques. The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine 2400, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.

[0347] As described herein, examples can include, and can be implemented by, a logical plurality of components, modules, or mechanisms. A module is a tangible entity (e.g., hardware) capable of performing specified operations and can be configured or arranged in a certain manner. In one example, a circuit can be arranged (e.g., internally) to realize one or more such modules. In one example, the circuit, modules, or mechanisms can be configured to perform one or more operations specified in the flowcharts of the various figures herein. In one example where the circuit, modules, or mechanisms are implemented by hardware, the hardware can be implemented by a combination of processors or controllers, functional blocks, logic, and / or other circuitry. In one example, a software module can comprise an application, part of an application, part of an application, or portions of code or code segments. In one example, a software module can include a script, a portion of a script, a data file, a computer program, a procedure, a function, a subprogram, or the like.

[0348] ​​The techniques of various embodiments can be implemented to use software, hardware, and / or a combination of software and hardware. Various embodiments relate to apparatuses, e.g., management entities (e.g., network monitoring nodes), routers, gateways, switches, access points, DHCP servers, DNS servers, AAA servers), user equipment devices (e.g., wireless nodes such as mobile wireless terminals, base stations, communication networks, and communication systems). Various embodiments also relate to methods, e.g., of controlling and / or operating one or more communication devices, e.g., network management nodes, access points, wireless terminals (WTs), user equipment (UE), base stations, control nodes, DHCP nodes, DNS servers, AAA nodes, mobility management entities (MME), networks, and / or communication systems. Various embodiments also relate to non-transitory machines (e.g., computers), readable media (e.g., ROM, RAM, CDs, hard discs, etc.) including machine-readable instructions for controlling a machine to implement one or more steps of a method.

[0349] It is to be understood that the particular order or hierarchy of steps in the processes disclosed is an example that can be re-arranged, and that the particular order or hierarchy of steps is not a limitation. The accompanying method claims present elements of the various steps in the example order, and are not meant to be limited to the specific order or hierarchy presented.

[0350] In various embodiments, the devices and nodes described herein use one or more modules to perform steps corresponding to one or more methods (e.g., signal generation, transmission, processing, analysis, and / or reception steps) to implement. Thus, in some embodiments, various features are implemented using modules. Such modules can be implemented using software, hardware, or a combination of software and hardware. In some embodiments, each module is implemented as an individual circuit having devices or systems including separate circuits for implementing the functionality corresponding to each described module. Many of the above-described methods or method steps can be implemented using machine executable instructions, such as software, included in a machine readable medium such as a memory device, e.g., RAM, floppy disks, etc. to control a machine, e.g., a general purpose computer with or without additional hardware, to implement all or part of the above-described methods in, for example, one or more nodes. Accordingly, among other things, various embodiments are directed to a machine-readable medium, e.g., a non-transitory computer readable medium, including machine executable instructions for causing a machine, e.g., a processor and associated hardware, to perform one or more steps of the above-described method(s). Some embodiments are directed to an apparatus including a processor configured to implement one, multiple, or all of the operations of the disclosed embodiments.

[0351] In some embodiments, one or more processors (e.g., CPUs) of one or more devices (e.g., a communication device such as a router, switch, network-connected server, network management node, wireless terminal (UE), and / or access node) are configured to perform the steps of the methods described as being performed by the device. The configuration of the processor(s) can be achieved by using one or more modules (e.g., software modules) to control the configuration of the processor(s) and / or by including hardware (e.g., hardware modules) in the processor(s) that perform the recited steps and / or control the configuration of the processor(s). Thus, some, but not all, embodiments involve a communication device, e.g., a user equipment, having a processor that includes a module corresponding to each of the steps of the various described methods performed by the device in which the processor is included. In some, but not all, embodiments, the communication device includes a module corresponding to each of the steps of the various described methods performed by the device in which the processor is included. The modules can be implemented in pure hardware, e.g., as circuitry, or can be implemented using software and / or hardware or a combination of software and hardware.

[0352] Some embodiments relate to a computer program product comprising a computer readable medium comprising code for causing one or more computers to implement various functions, steps, acts and / or operations (e.g., one or more of the steps described above). Depending on the embodiment, the computer program product can and sometimes does include different code for each step to be performed. Thus, the computer program product may, and sometimes does, include code for each individual step of a method, e.g., a method of operating a communication device (e.g., a network management node, access point, base station, wireless terminal or node). The code can be in the form of machine (e.g., computer) executable instructions. In addition to being directed to a computer program product, some embodiments are directed to a processor configured to implement one or more of the various functions, steps, acts and / or operations of one or more methods described above. Thus, some embodiments are directed to a processor (e.g., CPU) configured to implement some or all of the steps of the methods described herein. The processor can be for use in, e.g., a communication device or other device as described in the present application.

[0353] Although described in the context of communication systems including wired, optical, cellular, Wi-Fi, Bluetooth, and BLE, at least some of the methods and apparatus of various embodiments are applicable to a variety of communication systems including IP-based and non-IP-based, OFDM and non-OFDM, and / or non-cellular systems.

[0354] In view of the foregoing description, many other variations of the methods and apparatus of the various embodiments will be apparent to those of skill in the art in view of the above description. Such variations are to be considered within the scope. The methods and apparatus can and are used with IP and non-IP, wired and wireless (such as CDMA, orthogonal frequency division multiplexing (OFDM), Wi-Fi, Bluetooth, BLE, optical, and / or various other types of communication techniques) based, which can be used to provide communication links between network connected or associated devices or other devices (including receiver / transmitter circuitry as well as logic and / or routines) to implement the methods.

[0355] Example 1 is a method performed by hardware processing circuitry, comprising: determining, based on wireless signals associated with a first wireless device, a first location probability surface defining a first plurality of probabilities of the first wireless device being located in a first plurality of corresponding regions; determining, based on wireless signals associated with a second wireless device, a second location probability surface defining a second plurality of probabilities of the second wireless device being located in a second plurality of corresponding regions; multiplying a first probability associated with a first region of the first plurality of regions and a second probability associated with a second region of the second plurality of regions; determining, based on the multiplying, a third probability that the first wireless device and the second wireless device are within a threshold distance of each other; determining, based on the third probability, a measure of proximity between the first wireless device and the second wireless device; and determining, based on the measure of proximity, a first risk of infection of a first user associated with the first wireless device.

[0356] In Example 2, the subject matter of Example 1 optionally includes generating an alert based on the first risk.

[0357] In Example 3, the subject matter of any one or more of Examples 1-2 optionally includes obtaining a second risk of infection of a second user associated with the second wireless device, wherein the determining of the risk of infection of the first user is based on the second risk.

[0358] In Example 4, the subject matter of any one or more of Examples 1-3 optionally includes determining a third risk of infection of the first user over a plurality of time periods, wherein the first risk is based on the third risk.

[0359] In Example 5, the subject matter of any one or more of Examples 1-4 optionally include determining, based on the first location probability surface, a highest probability first geographic location of the first wireless device, determining, based on the second location probability surface, a highest probability second geographic location of the second wireless device, and determining a geographic distance between the highest probability first geographic location and the highest probability second geographic location, wherein the determining of the measure of proximity is responsive to the geographic distance.

[0360] In Example 6, the subject matter of any one or more of Examples 1-5 optionally include determining pairs of regions, each pair including a first region of the first plurality of regions and a second region of the second plurality of regions, the pairs being determined such that a distance between the first region and the second region is less than a predefined threshold distance, for each pair of regions: determining, based on the first location probability surface, a first probability that the first wireless device is located in the first region, determining, based on the second location probability surface, a second probability that the second wireless device is located in the second region, multiplying the first probability and the second probability, and determining, based on the multiplying, a product for the pair, and first aggregating the products for the pairs, wherein the determining of the measure of proximity is based on the first aggregating.

[0361] Example 7 is a system comprising: hardware processing circuitry; and one or more hardware memories storing instructions that, when executed, configure the hardware processing circuitry to perform operations comprising: determining, based on wireless signals associated with a first wireless device, a first location probability surface defining a first plurality of probabilities that the first wireless device is located in a first plurality of corresponding regions, determining, based on wireless signals associated with a second wireless device, a second location probability surface defining a second plurality of probabilities that the second wireless device is located in a second plurality of corresponding regions, multiplying a first probability associated with a first region of the first plurality of regions and a second probability associated with a second region of the second plurality of regions, determining, based on the multiplying, a third probability that the first wireless device and the second wireless device are within a threshold distance of each other, determining, based on the third probability, a measure of proximity between the first wireless device and the second wireless device, and determining, based on the measure of proximity, a first risk of infection of a first user associated with the first wireless device.

[0362] In Example 8, the subject matter of Example 7 optionally includes the operations further comprising: generating an alert based on the first risk.

[0363] In Example 9, the subject matter of any one or more of Examples 7-8 optionally include that the operations further comprise obtaining a second risk of infection of a second user associated with the second wireless device, wherein the determination of the risk of infection of the first user is based on the second risk.

[0364] In Example 10, the subject matter of any one or more of Examples 7-9 optionally include that the operations further comprise determining a third risk of infection of the first user over a plurality of time periods, wherein the first risk is based on the third risk.

[0365] In Example 11, the subject matter of any one or more of Examples 7-10 optionally include that the operations further comprise determining, based on the first location probability surface, a highest probability first geographic location of the first wireless device; determining, based on the second location probability surface, a highest probability second geographic location of the second wireless device; and determining a geographic distance between the highest probability first geographic location and the highest probability second geographic location, wherein the determination of the measure of proximity is responsive to the geographic distance.

[0366] In Example 12, the subject matter of Example 11 optionally include that the operations further comprise determining that the distance is below a predefined second threshold distance, wherein the determination of the measure of proximity is responsive to the determination.

[0367] In Example 13, the subject matter of any one or more of Examples 7-12 optionally include that the operations further comprise obtaining a first phase difference of signals associated with the first wireless device, wherein the first location probability surface is based on the first phase difference.

[0368] In Example 14, the subject matter of one or more of Examples 7-13 optionally include that the operations further comprise obtaining a RSSI measurement of signals associated with the first wireless device, wherein the determination of the first location probability surface is based on the RSSI measurement.

[0369] In Example 15, the subject matter of one or more of Examples 7-14 optionally include that the operations further comprise periodically determining the probability that the first wireless device is located in the first region and the second wireless device is located in the second region; and aggregating periodic probability determinations, wherein the measure of proximity is responsive to the aggregating.

[0370] In Example 16, the subject matter of Example 15 optionally include wherein the aggregating comprises discounting less recent probability determinations relative to more recent probability determinations.

[0371] In Example 17, the subject matter of any one or more of Examples 7-16 optionally include that the operations further include determining pairs of regions, each pair including a first region of the first plurality of regions and a second region of the second plurality of regions, the pairs being determined such that a distance between the first region and the second region is less than a predefined threshold distance; for each pair of regions: determining a first probability that the first wireless device is located in the first region based on the first location probability surface, determining a second probability that the second wireless device is located in the second region based on the second location probability surface, multiplying the first probability and the second probability, and determining a product for the pair based on the multiplying; and first aggregating the products for the pairs, wherein the determining of the measure of proximity is based on the first aggregating.

[0372] In Example 18, the subject matter of Example 17 optionally includes that the operations further include determining a third location probability surface based on third signal strength measurements associated with a third wireless device, the third probability surface defining a third plurality of probabilities that the third wireless device is located in a third plurality of corresponding regions; determining that a first region of the first plurality of regions is within a predefined threshold distance of a third region of the third plurality of regions; determining a fourth probability that the first wireless device is located in the first region and the third wireless device is located in the second region, and wherein the determining of the measure of proximity is further based on the fourth probability.

[0373] In Example 19, the subject matter of any one or more of Examples 17-18 optionally include that the operations further include determining pairs of second regions, each second pair including a first region of the first plurality of regions and a third region of the third plurality of regions, the second pairs being determined such that a distance between the first region and the third region is less than a predefined threshold distance; for each second pair of regions: determining a first probability that the first wireless device is located in the first region based on the first location probability surface, determining a third probability that the third wireless device is located in the third region based on the third location probability surface, multiplying the first probability and the third probability, and determining a second product for the second pair based on the multiplying; second aggregating the second products for the pairs; and wherein the determining of the measure of proximity is based on the first aggregating and the second aggregating.

[0374] Example 20 is a non-transitory computer-readable storage medium storing instructions that, when executed, configure hardware processing circuitry to include operations of: determining, based on wireless signals associated with a first wireless device, a first location probability surface defining a first plurality of probabilities of the first wireless device being in a first plurality of corresponding regions; determining, based on wireless signals associated with a second wireless device, a second location probability surface defining a second plurality of probabilities of the second wireless device being in a second plurality of corresponding regions; multiplying a first probability associated with a first region of the first plurality of regions and a second probability associated with a second region of the second plurality of regions; determining a third probability that the first wireless device and the second wireless device are within a threshold distance of each other; determining, based on the third probability, a measure of proximity between the first wireless device and the second wireless device; and determining, based on the measure of proximity, a first risk of infection of a first user associated with the first wireless device.

[0375] Although the above discussion describes determining a location of a wireless terminal in two dimensions in some cases, the above features can be equally applied to positioning a wireless terminal in three dimensions. As such, in three dimensions, rather than determining a WT is in a particular cell or region, some disclosed embodiments determine a WT is in a three-dimensional region when considering a plurality of three-dimensional regions.

Claims

1. A method executed by hardware processing circuitry, comprising: Based on the wireless signal associated with the first wireless device, a first location probability surface is determined, the first location probability surface defining a first plurality of probabilities that the first wireless device is located in a first plurality of corresponding regions; Based on the wireless signal associated with the second wireless device, a second location probability surface is determined, which defines a second plurality of probabilities that the second wireless device is located in a second plurality of corresponding regions; Region pairs are determined, each pair including a first region in the first plurality of corresponding regions and a second region in the second plurality of corresponding regions, the region pairs being determined based on the distance between the first region and the second region satisfying a predefined threshold distance; For each region pair: Based on the first location probability surface, a first probability is determined that the first wireless device is located in the first region. Based on the second location probability surface, a second probability is determined that the second wireless device is located in the second region, and The product of the region pairs is determined by multiplying the first probability and the second probability; Aggregate the products of the region pairs; A measure of the proximity between the first wireless device and the second wireless device is determined based on the aggregation. as well as The risk of infection for a first user associated with the first wireless device is determined based on the proximity metric.

2. The method of claim 1, further comprising generating an alert based on the risk of infection of the first user associated with the first wireless device.

3. The method of claim 1, wherein the risk of infection of the first user is determined based on the risk of infection of a second user associated with the second wireless device.

4. The method of claim 1, wherein the risk of infection of the first user is determined based on the risk of infection of the first user over multiple time periods.

5. The method according to claim 1, further comprising: Based on the first location probability surface, determine the first geographical location with the highest probability of the first wireless device; Based on the second location probability surface, determine the second geographic location with the highest probability for the second wireless device; as well as Determine the geographical distance between the highest probability first geographical location and the highest probability second geographical location, wherein the measure of proximity is determined based on the geographical distance.

6. A system comprising: Hardware processing circuitry; as well as One or more hardware memories storing instructions, which, when executed, configure the hardware processing circuitry to perform operations including: Based on the wireless signal associated with the first wireless device, a first location probability surface is determined, the first location probability surface defining a first plurality of probabilities that the first wireless device is located in a first plurality of corresponding regions; Based on the wireless signal associated with the second wireless device, a second location probability surface is determined, which defines a second plurality of probabilities that the second wireless device is located in a second plurality of corresponding regions; Region pairs are determined, each pair including a first region in the first plurality of corresponding regions and a second region in the second plurality of corresponding regions, the region pairs being determined based on the distance between the first region and the second region satisfying a predefined threshold distance; For each region pair: Based on the first location probability surface, a first probability is determined that the first wireless device is located in the first region. Based on the second location probability surface, a second probability is determined that the second wireless device is located in the second region, and The product of the region pairs is determined by multiplying the first probability and the second probability; Aggregate the products of the region pairs; A measure of the proximity between the first wireless device and the second wireless device is determined based on the aggregation. as well as The risk of infection for a first user associated with the first wireless device is determined based on the proximity metric.

7. The system according to claim 6, wherein the operation further comprises: An alert is generated based on the risk of infection of the first user associated with the first wireless device.

8. The system of claim 6, wherein the risk of infection of the first user is determined based on the risk of infection of a second user associated with the second wireless device.

9. The system of claim 6, wherein the risk of infection of the first user is determined based on the risk of infection of the first user over multiple time periods.

10. The system according to claim 6, wherein the operation further comprises: Based on the first location probability surface, determine the first geographical location with the highest probability of the first wireless device; Based on the second location probability surface, determine the second geographic location with the highest probability for the second wireless device; as well as Determine the geographical distance between the highest probability first geographical location and the highest probability second geographical location, wherein the determination of the measure of proximity is based on the geographical distance.

11. The system of claim 10, wherein the measure of the proximity is determined based on determining that the geographical distance between the highest probability first geographical location and the highest probability second geographical location is less than a predefined threshold distance.

12. The system according to claim 6, wherein the operation further comprises: A first phase difference of a signal associated with the first wireless device is obtained, wherein the first location probability surface is based on the first phase difference.

13. The system according to claim 6, wherein the operation further comprises: Obtain a Received Signal Strength Indication (RSSI) measurement of the signal associated with the first wireless device, wherein the determination of the first location probability surface is based on the RSSI measurement.

14. The system according to claim 6, wherein the operation further comprises: The probability that the first wireless device is located in the first area and the second wireless device is located in the second area is determined periodically; as well as The periodic probability determination is aggregated, wherein the measure of proximity is in response to the aggregation.

15. The system of claim 14, wherein the aggregation includes reducing the less recent probability determination relative to the more recent probability determination.

16. The system according to claim 6, wherein the operation further comprises: A third location probability surface is determined based on wireless signals associated with a third wireless device, the third location probability surface defining a third plurality of probabilities in which the third wireless device is located in a third plurality of corresponding regions; A second region pair is determined, each second region pair including the first region in the first plurality of corresponding regions and the third region in the third plurality of corresponding regions, the second region pair being determined based on the distance between the first region and the third region satisfying a predefined threshold distance; For each pair of second regions: A third probability is determined based on the first location probability surface to indicate that the first wireless device is located in the first region. Based on the third location probability surface, a fourth probability is determined that the third wireless device is located in the third region, and The product of the second region pair is determined by multiplying the first probability and the third probability; as well as Perform a second aggregation on the product of the pairs, and The measure of the proximity is determined based on the aggregate and the second aggregate.

17. A non-transitory computer-readable storage medium storing instructions, which, when executed, configure hardware processing circuitry to perform operations including: Based on the wireless signal associated with the first wireless device, a first location probability surface is determined, the first location probability surface defining a first plurality of probabilities that the first wireless device is located in a first plurality of corresponding regions; Based on the wireless signal associated with the second wireless device, a second location probability surface is determined, which defines a second plurality of probabilities that the second wireless device is located in a second plurality of corresponding regions; Region pairs are determined, each pair including a first region in the first plurality of corresponding regions and a second region in the second plurality of corresponding regions, the region pairs being determined based on the distance between the first region and the second region satisfying a predefined threshold distance; For each region pair: Based on the first location probability surface, a first probability is determined that the first wireless device is located in the first region. Based on the second location probability surface, a second probability is determined that the second wireless device is located in the second region, and The product of the region pairs is determined by multiplying the first probability and the second probability; Aggregate the products of the region pairs; A measure of the proximity between the first wireless device and the second wireless device is determined based on the aggregation. as well as The first risk of infection for a first user associated with the first wireless device is determined based on the proximity metric.

Citation Information

Patent Citations

  • System and method for analyzing and controlling epidemics

    US20130275160A1

  • Electronic device and method

    US20190239029A1