I. Field
This disclosure relates generally to apparatus and methods for position determination, and more particularly to forming probabilistic position maps and using such maps in position estimation.
II. Related Art
A computer that forms estimates of positions based on a set of inputs may be known as a Position Engine (PE). A PE receives a probability map, which may be based on historical position data for a user. A PE may attempt to estimate a current position of the user based on the historical position data. Such a probability map can be called a heatmap, in that the probability map may refer to spatial locations (e.g., in a 2-D or 3-D region), and include probability data concerning characteristic(s) of interest in that region.
PEs may use probabilistic location information generated from crowd sourcing. For example, such crowd sourced data may show that an undifferentiated user is most likely found in common areas such as a meeting place, restroom or a hallway and less likely to be found in a private office. Locational awareness and position estimation are topics of continued interest.
Some embodiments disclose a method for position estimation, the method comprising: accessing from a non-transitory medium, a general heatmap representing a generic position feasibility pattern for mobile devices within an area to which the general heatmap pertains; accessing a personalized heatmap from the non-transitory medium, a personalized heatmap representing a position feasibility pattern for a user, within the area to which the general heatmap pertains; combining data from the general heatmap and the personalized heatmap to form a combined heatmap; and estimating a current position of the user using the combined heatmap.
Some embodiments disclose a mobile device for position estimation, the mobile device comprising: a receiver operable for receiving data representative of a general heatmap, the general heatmap representing a generic position feasibility pattern for mobile devices within an area to which the general heatmap pertains; and a processor configured to generate a personalized heatmap specific to the mobile device independently from the general heatmap, to combine the general heatmap and a personalized heatmap to produce a combined heatmap, and to determine an estimate of a position of the mobile device from the combined heatmap.
Some embodiments disclose a mobile device for position estimation, the mobile device comprising: means for receiving a general heatmap, the general heatmap representing a generic position feasibility pattern for mobile devices within an area to which the general heatmap pertains; means for generating a personalized heatmap specific to the mobile device, a personalized heatmap generated independently from the general heatmap; means for combining the personalized heatmap and the general heatmap to produce a combined heatmap; and means for determining an estimate of a position of the mobile device from the combined heatmap.
Some embodiments disclose a device comprising a processor and a non-transitory memory wherein the non-transitory memory includes instructions to: determine a general heatmap for an area in which augmented location services are to be provided, the general heatmap representing a generic position feasibility pattern for mobile devices within the area; generate a personalized heatmap of an area specific to a mobile device, the personalized heatmap generated independently from the general heatmap; and provide the personalized heatmap for use in determining an estimate of a position of the mobile device using data from both the general heatmap and on the personalized heatmap.
Some embodiments disclose a non-transitory computer-readable storage medium including program code stored thereon, comprising program code to: receive a general heatmap, the general heatmap representing a generic position feasibility pattern for mobile devices within an area to which the general heatmap pertains; generate a personalized heatmap, wherein the personalized heatmap is specific to a mobile device, and the personalized heatmap generated independently from the general heatmap; and determine an estimate of a position of the mobile device using data from both the general heatmap and the personalized heatmap.
Some aspects relate to determining a set of regions of the heatmap and a set of general regions of the heatmap, which may be used to determine data collection practices in such regions. The personalized heatmap also may be generated to include or be based on information obtained from one or more position history of the mobile device, a calendar and a contact list on the mobile device. Information used in such generating may come from a network-accessible repository of information, such as social networking services used by the user of the mobile device or a server run by an organization to which the user is associated. Social networks may be explicit or inferred based on other available information.
The personalized heatmap may be regenerated responsive to availability of new or additional information. Further aspects include computer readable media storing instructions for implementing the disclosed process aspects. Process aspects may be performed at a server.
It is understood that other aspects will become readily apparent to those skilled in the art from the following detailed description, wherein it is shown and described various aspects by way of illustration. The drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
The following detailed description makes reference to the following figures.
The detailed description set forth below in connection with the appended drawings is intended as a description of various aspects of the present disclosure and is not intended to represent the only aspects in which the present disclosure may be practiced. Each aspect described in this disclosure is provided merely as an example or illustration of the present disclosure, and should not necessarily be construed as preferred or advantageous over other aspects. The detailed description includes specific details for the purpose of providing a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the present disclosure. Acronyms and other descriptive terminology may be used merely for convenience and clarity and are not intended to limit the scope of the disclosure.
This disclosure begins by introducing substituent technologies, such as satellite positioning system and wireless networking technologies, then proceeds to introduce details concerning location and locational heatmaps, and in particular the formation of personalized heatmaps independently but for use with general heatmaps for determining locational probability of particular mobile devices. Thereafter, a variety of examples of sources of information and other approaches to forming and revising personalized heatmaps are disclosed. Following that disclosure, a variety of processes that summarize the usage of such information in forming/revising personalized heatmaps, and other related processes are disclosed, and ultimately, examples of a mobile device and a server that may be used to practice aspects disclosed herein are depicted and described.
Position determination techniques described herein may be implemented in conjunction with various wireless communication networks such as a wireless wide area network (WWAN), a wireless local area network (WLAN), a wireless personal area network (WPAN), and so on. The term “network” and “system” are often used interchangeably. A WWAN may be a Code Division Multiple Access (CDMA) network, a Time Division Multiple Access (TDMA) network, a Frequency Division Multiple Access (FDMA) network, an Orthogonal Frequency Division Multiple Access (OFDMA) network, a Single-Carrier Frequency Division Multiple Access (SC-FDMA) network, Long Term Evolution (LTE), and so on. A CDMA network may implement one or more radio access technologies (RATs) such as cdma2000, Wideband-CDMA (W-CDMA), and so on. Cdma2000 includes IS-95, IS-2000, and IS-856 standards. A TDMA network may implement Global System for Mobile Communications (GSM), Digital Advanced Mobile Phone System (D-AMPS), or some other RAT. GSM and W-CDMA are described in documents from a consortium named “3rd Generation Partnership Project” (3GPP). Cdma2000 is described in documents from a consortium named “3rd Generation Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publicly available. A WLAN may be an IEEE 802.11x network, and a WPAN may be a Bluetooth network, an IEEE 802.15x, or some other type of network. The techniques may also be implemented in conjunction with any combination of WWAN, WLAN and/or WPAN.
A satellite positioning system (SPS) typically includes a system of transmitters positioned to enable entities to determine their location on or above the Earth based, at least in part, on signals received from the transmitters. Such a transmitter typically transmits a signal marked with a repeating pseudo-random noise (PN) code of a set number of chips and may be located on ground based control stations, user equipment and/or space vehicles. In a particular example, such transmitters may be located on Earth orbiting satellite vehicles (SVs). For example, a SV in a constellation of Global Navigation Satellite System (GNSS) such as Global Positioning System (GPS), Galileo, GLONASS or Compass may transmit a signal marked with a PN code that is distinguishable from PN codes transmitted by other SVs in the constellation (e.g., using different PN codes for each satellite as in GPS or using the same code on different frequencies as in GLONASS). In accordance with certain aspects, the techniques presented herein are not restricted to global systems (e.g., GNSS) for SPS. For example, the techniques provided herein may be applied to or otherwise enabled for use in various regional systems, such as, e.g., Quasi-Zenith Satellite System (QZSS) over Japan, Indian Regional Navigational Satellite System (IRNSS) over India, Beidou over China, etc., and/or various augmentation systems (e.g., an Satellite Based Augmentation System (SBAS)) that may be associated with or otherwise enabled for use with one or more global and/or regional navigation satellite systems.
By way of example, an SBAS may include an augmentation system that provides integrity information, differential corrections, etc., such as, e.g., Wide Area Augmentation System (WAAS), European Geostationary Navigation Overlay Service (EGNOS), Multi-functional Satellite Augmentation System (MSAS), GPS Aided Geo Augmented Navigation or GPS and Geo Augmented Navigation system (GAGAN), and/or the like. Thus, as used herein an SPS may include any combination of one or more global and/or regional navigation satellite systems and/or augmentation systems, and SPS signals may include SPS, SPS-like, and/or other signals associated with such one or more SPS.
As used herein, a mobile device, sometimes referred to as a mobile station (MS) or user equipment (UE), such as a cellular phone, mobile phone or other wireless communication device, personal communication system (PCS) device, personal navigation device (PND), Personal Information Manager (PIM), Personal Digital Assistant (PDA), laptop or other suitable mobile device which is capable of receiving wireless communication and/or navigation signals. The term “mobile station” is also intended to include devices which communicate with a personal navigation device (PND), such as by short-range wireless, infrared, wireline connection, or other connection—regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device or at the PND. Also, “mobile station” is intended to include all devices, including wireless communication devices, computers, laptops, etc. which are capable of communication with a server, such as via the Internet, WiFi, or other network, and regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device, at a server, or at another device associated with the network. Any operable combination of the above are also considered a “mobile device.”
Navigational or other location-based services may rely at least partially on determining at least an estimated position of a mobile device. However, positioning strategies that are effective in outdoor environments, which may utilize satellite positioning system (SPS) signals or satellite imagery, may be inadequate for indoor environments. Thus, as is explained further herein below, performing a positioning operation indoors to estimate a location of a mobile device may involve different techniques or strategies as compared to those that may be used outdoors. Within indoor environments, mobile devices may attempt to effectuate indoor positioning at least partly by processing signals transmitted from transmitters (e.g., wireless transmitter devices) that are located, for example, within an indoor environment at known locations. Examples of transmitters may include wireless transmitter devices that comport with a Wi-Fi access point protocol (e.g., IEEE 802.11), a Bluetooth protocol, a femtocell protocol, or any combination thereof.
As a user travels within an indoor area while carrying a mobile device, position estimates of the mobile device may be at least partially determined using, for example, one or more signals transmitted from at least one transmitter. A mobile device may measure characteristics of signals received from one or more transmitters. Such characteristics may include received signal strength indicator or indication (RSSI) measurements, round trip time (RTT) measurements, round trip delay (RTD) measurements, time of arrival (TOA) measurements, angle of arrival (AOA) measurements, or combinations thereof. Using measurements of received wireless signals along with techniques that are known in the art (e.g., trilateration), a location of a mobile device may be estimated. With trilateration, for example, a mobile device may use well known techniques to obtain a position fix from ranges to multiple transmitters that are positioned at known locations. Ranges to transmitters may be measured based, at least in part, on received wireless signal characteristics (e.g., RSSI, RTT, RTD, TOA, AOA, etc.).
Wireless signal reception measurements with one or more transmitters may enable estimation of a location of a mobile device or may aid in refining an estimated location. Unfortunately, wireless signal reception measurements may be costly in terms of energy usage, latency, or computational complexity, for example. Furthermore, no transmitters or an insufficient number of transmitters may be in communication range with a mobile device at any given moment. Hence, other mechanisms for determining an estimated location, which may not entail measuring a characteristic of a received signal, may additionally or alternatively be employed.
Indirect mechanisms that may be used to determine an estimated location may comprise indirect measurements, predictive procedures, mobility models, or any combinations thereof. For example, a movement model may indicate a possible or likely movement pattern of a mobile device. Implementation of a movement model may include application of positional filtering, consideration of a likely speed of perambulation (e.g., a reasonable or maximum walking speed), or applying a smoothing procedure to a traveled path, etc., just to name a few examples. Other indirect mechanisms may indicate, for example, relative positional movement of a mobile device. Relative positional movement may be determined using one or more indirect measurements. Indirect measurements may be obtained from, by way of example only, one or more inertial sensors such as accelerometer(s), pedometer(s), compass(es), gyroscope(s), or any combination thereof. Additionally or alternatively, determination of a relative positional movement may use, by way of example only, at least one mobility model that considers average or maximum velocity of a pedestrian, a previous location, a previous velocity (e.g., a previous speed or a previous direction of travel, etc.), one or more probabilistic mechanisms, a path smoothing procedure, a path filtering procedure, or any combination thereof.
Determination of location estimates of a mobile device or a trajectory or a path of a mobile device within an indoor area may be enabled or enhanced using one or more probabilistic mechanisms. By way of example, a position of a mobile device may be represented as a probability distribution. A probability distribution may comprise, by way of example: (1) a range of possible values that a random variable may take; (2) a probability that a value of a random variable falls within a measurable subset of a range of possible values; or (3) any combination thereof. To model a mobile device's movement within a physical indoor area, a probability distribution may be propagated around a schematic map modeling or representing the physical indoor area. To implement a probabilistic mechanism, a Bayesian or smoothing filter may be applied to location estimates or a process of determining location estimates. Implementation of a probabilistic mechanism may include consideration of a current location or trajectory of a mobile device. Additionally or alternatively, a Kalman filter or a particle filter may be applied to location estimates or a process of determining location estimates. Other probabilistic mechanisms may additionally or alternatively be implemented without departing from claimed subject matter.
With a particle filtering implementation, by way of example only, a mobile device's location(s) or estimated locations may be represented by multiple particles. Each particle may represent a possible state or location of a mobile device. A combination of multiple particles (e.g., an average, a centroid, a mean, etc. with an error or confidence range that is derived from a combination of multiple particles) of a particle cloud may be considered at least one estimated location of a mobile device. Additionally or alternatively, one or more individual particles of multiple particles of a particle cloud may be considered at least one estimated location of a mobile device. In response to movement of a mobile device, particles may be propagated according to a probability distribution. Particles may be propagated in accordance with a probability distribution further along a corridor, around a corner, by branching at an intersection, by taking a portal (e.g., a stairway, an escalator, an elevator, etc.) to a different floor, or any combination thereof.
Particle filtering may therefore be used as an indirect mechanism to determine or refine an estimated location of a mobile device. With particle filtering, potential locations of a mobile device may be represented by particles in a particle cloud that are propagated using a probabilistic model. If a position fix is made for a mobile device at a given position, multiple particles may be propagated away from the given position in accordance with one or more parameters. A user may continue along a current trajectory, veer off leftward or rightward, make a left or a right turn, cease movement, reverse direction, or make some other movement. A particle may be assigned to represent each of these possible user movements. For instance, if a user is approaching an intersection where one of two possible hallways may be taken, particles of a particle cloud may split into two particle clusters at two different positions, with a first particle cluster propagating down a first hallway and a second particle cluster propagating down a second hallway. Some example implementations are described herein in terms of particle filtering.
A user carrying a mobile device may travel within an indoor environment. To provide to a user of a mobile device a location-based service via a navigational application, an estimated position of a mobile device within an indoor environment may be determined by a positioning engine of the mobile device. An indoor environment may be envisioned as having a grid of points projected or laid over it. A grid of points may have any number of points that are sufficient to cover an indoor area or provide a desired level of granularity or precision. Adjacent points of a grid of points may be spaced apart at six inch increments, one foot increments, one-and-a-half foot increments, or three foot increments, etc., just to name a few examples.
A current estimated location of a mobile device may be estimated, for example, via a position fix attained using one or more range determinations with one or more transmitters as is described above. A current estimated location of a mobile device may correspond to a determined point of a grid of points. From a determined point, a number of particles may be established and permitted to move around an indoor area based on one or more conditions or properties for a current epoch that extends for a given duration of time. By way of example only, hundreds of particles may be propagated for two to four seconds per epoch. Absent other indications, a likelihood that one or more particles are to move to any given point of a set of adjacent or equally-proximate points may be equal. However, given a layout of an indoor area, it may become apparent that a mobile device is actually more likely to be located at or moving to some points as compared to other points.
Indoor areas, such as office buildings or malls, may include hallways and rooms, for example. In an office environment, rooms may include common rooms (e.g., a break room, a conference room, etc.) or individuals' rooms (e.g., a personal office, a cubicle, etc.). In such an office environment, a likelihood that a person is to move to a given point during a current epoch may depend, at least in part, on whether a given point is located within a hallway, a common room, or an individual's room. For example, users may generally be more likely to be traveling in a hallway than in a common room or more likely to be traveling in a common room than in an individual's room. Consequently, there may be a greater likelihood that a mobile device starting at a particular point of a grid of points is moving to a first point that is within a hallway than is moving to a second point that is within an individual's room.
Particles that are being propagated from one point to other points may be more accurately propagated if likelihoods of where mobile devices are likely to be traveling or likely to be positioned are taken into consideration by, for example, a particle filtering process of a positioning engine of a mobile device. A likelihood heatmap for an indoor area may indicate respective likelihood values for respective points of a grid of points that is laid over an indoor area. Likelihood values of a likelihood heatmap may indicate relative likelihoods that a mobile device is to be positioned at one point as compared to other points or is to move to a next point from a current point. As an example, particles may be propagated during a current epoch according to a likelihood heatmap to determine where individual particles are likely to be when the current epoch expires. More generally, position outputs may be biased through a filtering process to indicate that certain regions are probabilistically more likely in generating position outputs.
As described further herein below, an indoor likelihood heatmap may be pre-computed based, at least in part, on one or more features of an indoor area, such as walls, doors, hallways, rooms, or any combination thereof. For certain example implementations, relative likelihoods for different points of a grid of points may be generated based, at least in part, on feasible paths between grid point pairs of the grid of points. Feasible paths between grid point pairs may comprise those paths extending between a first point and a second point that do not pass through an obstruction, such as a wall, of an indoor area.
In an example implementation as depicted in
As indicated above, indoor environment characteristics 116 may include transmitter characteristics. Transmitter characteristics may include a position of one or more transmitters 104. To provide positions of one or more transmitters 104 for indoor environment characteristics 116, schematic map 106 may also include representations of transmitters 104 or indications of positions thereof. Additionally or alternatively, one or more transmitters 104 may be linked to one or more locations on schematic map 106. Schematic map 106 for an indoor area 100 may be used to facilitate navigation or mobile device positioning within an indoor environment.
For certain example implementations, a user 118 may travel in indoor area 100 while carrying a mobile device 102. Mobile device 102 is illustrated at an entryway of indoor area 100. User 118 may proceed in any of many possible directions as represented by three arrows that indicate three example directions. Mobile device 102 may communicate via one or more wireless signals 120 with a transmitter 104 from time to time. A wireless signal 120 may be, for example, transmitted from mobile device 102 and received at transmitter 104 or transmitted from transmitter 104 and received at mobile device 102. Although only one mobile device 102 or three transmitters 104 are explicitly shown in
Examples of mobile device 102 may include a mobile phone, a mobile station, user equipment, a smart phone, a cellular phone, a netbook, a laptop computer, a notebook computer, a tablet computer, a slate computer, a personal digital assistant (PDA), a personal navigation device (PND), an entertainment appliance, an e-book reader, or some combination thereof, just to name a few examples. Furthermore, mobile device 102 may comprise any mobile device with wireless communication capabilities. Example realizations for a mobile device, as well as additional mobile device examples, are described herein below with particular reference to at least
In example implementations, transmitter 104 may comprise a Wi-Fi or wireless local area network (WLAN) access point (AP), a femtocell device, a WiMAX device, an indoor location beacon, a Bluetooth or other similarly short-ranged wireless node, or any combination thereof, just to name a few examples. Transmitter 104 may transmit wireless signals 120 including those that are capable of identifying a particular wireless access device or those that may be useful for estimating a position of a mobile device. Mobile device 102 may be within wireless communication range of one or more transmitters 104 or in wireless communication with one or more transmitters 104. Transmitter 104 may also be capable of receiving the wireless signals 120 or may comprise a wireless access device generally that is capable of both transmitting and receiving the wireless signals 120. Transmitter 104 may be located such that it corresponds to or is capable of communicating with mobile devices that are within a particular indoor area 100, such as a particular floor of a building.
During wireless communications, wireless signals 120 that are received at mobile device 102 from a particular transmitter 104 may be modulated with a unique device identifier that identifies the particular transmitter 104. For a Wi-Fi AP implementation of transmitter 104, a unique device identifier may comprise an AP medium access control identifier (MAC ID). Transmitter 104 may further interact with mobile device 102 so as to enable signal reception measurements to be performed by mobile device 102. Signal reception measurements may include RSSI measurements, RTT measurements, RTD measurements, TOA measurements, AOA measurements, or any combination thereof.
As mobile device 102 travels within indoor area 100, position estimates of mobile device 102 may be determined using, for example, wireless signals 120 received from one or more transmitters 104 that are positioned at known locations of indoor area 100. For example, a range between a mobile device and a transmitter may be estimated using one or more signal characteristics, such as RSSI, RTT, RTD, TOA, AOA, or any combinations thereof. Measuring a range to a transmitter having a known location may enable a mobile device to estimate its location within an indoor area along a circle, or portion thereof (e.g., an arc), having a center where the transmitter is located. By acquiring a unique device identifier that is modulated in a signal from a transmitter having a known location, a mobile device may at least measure a range to the transmitter. Measurement of a range to a transmitter having a known location with respect to an indoor area may be used to refine an estimated location (e.g., a likely position). Additionally or alternatively, a mobile device may measure one or more ranges to one or more transmitters to estimate its location. Using measurements from at least three transmitters along with techniques that are known in the art (e.g., trilateration), a position of a mobile device may be estimated by combining three or more range measurements. In other words, with trilateration for example, a mobile device may utilize well known techniques to obtain a position fix using ranges to transmitters at known locations with ranges determined at least partly from received wireless signal characteristics (e.g., RSSI, RTT, RTD, TOA, AOA, etc.).
Additionally or alternatively, a mobile device may obtain a position fix based, at least in part, on a comparison of received wireless signal characteristics (e.g., RSSI, RTT, RTD, TOA, AOA, etc.) to one or more values of a heatmap. A signal characteristic heatmap may indicate one or more received wireless signal characteristic values that correspond to a given position within an indoor environment. If a mobile device acquires at least one signal having characteristics that match wireless signal characteristic values that correspond to a given position as indicated by a heatmap, then the mobile device may infer that it is located at the given position. If estimated locations are being determined from wireless signal characteristic values, for example, such estimated locations may be adjusted or refined using a likelihood heatmap 114.
A heatmap, such as likelihood heatmap 114, may be laid over or projected onto schematic map 106. A heatmap may comprise or indicate one or more values that correspond to one or more positions of an indoor area. In example implementations, heatmap values may comprise location likelihood values that indicate relative likelihoods (e.g., relative probabilities) that a mobile device may be located at one position of an indoor area as compared to other positions of the indoor area. A likelihood value may comprise a single number, a numerical range, a probabilistic range (e.g., a mean plus/minus a standard deviation), or any combination thereof.
A heatmap may include a map of indoor area 100 to which it corresponds. Additionally or alternatively, a heatmap may reference positions that are defined or otherwise specified in a map that is included as part of, e.g., schematic map 106. For the sake of visual clarity in
In an example scenario, if a user 118 enters indoor area 100 with mobile device 102, user 118 may travel in any of a number of potential directions. Three example directions are shown by three arrows pointing away from mobile device 102. These three example directions may lead respectively to three potential positions 112a, 112b, or 112c. Although it may appear at first that mobile device 102 is equally likely to be located at or moving towards each potential position 112a, 112b, or 112c (or any given position of indoor area 100), this may not be the case due at least partially to an organizational layout or due to building features of indoor area 100. For example, as explained herein above, user 118 may be more likely to be positioned in a hallway than in a particular room, or user 118 may be more likely to be positioned in a common room than in another individual's room.
With reference to
A likelihood heatmap 114 may provide indications of relative likelihoods that a mobile device is located at one position as compared to other positions of indoor area 100. For certain example implementations as described herein, determination of a likelihood heatmap 114 for indoor area 100 may be based, at least in part, on schematic map 106. Natural traffic patterns due to an organizational layout of indoor area 100 may be taken into consideration. Additionally or alternatively, natural walking paths due to building features of indoor area 100 may be taken into consideration. For instance, there may be more user traffic through centers of hallways than along edges of hallways. Similarly, there may be more user traffic through centers of rooms than in corners of rooms. Example implementations for generating or using likelihood heatmaps are described further herein below.
Timing and calendar information also can be used in determining individualized heatmaps. For example, time and day characteristics can include time of day, day of week, work day, day off from work; some of these characteristics may be universal among all users (e.g., time of day, for a particular geographic location), while others can vary among users—such as work day/day off.
To produce a likelihood heatmap, shortest paths between pairs of points in a dense connectivity graph may be determined. The shortest paths may be constrained to travel through points of a sparse connectivity graph. This constraint may produce shortest paths that travel through points that are expected to be located along well trafficked routes. As paths are determined, a counter indicating a number of times a particular point or an edge has been traversed may be increased (e.g., incremented). Points or edges that lie along relatively more common paths may therefore be incremented more often than those points or edges that lie along relatively less common paths. As a consequence, points in a central region of a hallway or points in a central region of a room may be assigned relatively higher likelihoods for a likelihood heatmap. Furthermore, points of a dense connectivity graph that are shared with a sparse connectivity graph may be assigned relatively higher likelihoods as compared to points of a dense connectivity graph that are not shared with a sparse connectivity graph. Paths between points of a sparse connectivity graph may similarly be more likely than paths that do not link points of a sparse connectivity graph. Paths into or out of a room may be routed through a center of the room. Thus, a likelihood of being present at or moving to centers of rooms may be relatively greater as well. This routing may create natural likelihood “black holes” in centers of rooms.
As shown in heatmap 140, a likelihood value or relative range for multiple positions may be indicated using shadings. Darker (e.g., black) points may have higher likelihood values, and increasingly lighter (e.g., gray to white) points may have increasingly lower likelihood values. In heatmap 140, the darkest points are generally located along central regions of hallways. Dark gray points generally lead from hallways into central regions of rooms. Light gray points generally spread out around central regions of rooms. White points are generally located between central regions of rooms and perimeters of rooms. These figures depict examples of positional and locational feasibility patterns and probability data, which can be combined, weighted and otherwise manipulated according to the disclosure.
However, for a particular user, individual habits may be known. For example, a particular user is most likely in his or her office. The next most likely space that that particular user is likely to be found is a frequented space (such as a bathroom closest to their office, a particular conference room or colleague's office, entry/exit door, eating/snake area) or in an hallway or hallways that join these spaces. Personalized heatmap 157 may be created that is based on historical positions of an associated user.
In an example, a combiner 155 may produce a weighted combination of general heatmap 150 and a weighted version of personalized heatmap 157 and use those weighted versions, in order to generate combined heatmap 160 that takes into account both the habits of users generally and the personal habits of the particular user to which personalized heatmap 157 pertains. Weighting heuristics 152 may be used to determine an appropriate weighting of data from general heatmap 150 and personalized heatmap 157 in forming combined heatmap 160. Using combined heatmap 160 as an input parameter, PE 159 may better estimate a device's position (estimated device/user position 161) than it could have with either the general heatmap or the personalized heatmap alone. PE 159 is a means for determining a position.
As an example, scores from the personalized and general heatmap can be respectively outputted and some relative weighting applied to each score to get a total score. For example, a heatmap can be formed from a 60% weighting of personal and 40% general. The general heatmap score can be a starting basis, and the personalized heatmap score can be added to it. For example, if a lunch room is highly likely and a user tends to spend time there, the probability of that room should become higher, being a combination of both that individual user's personal heatmap and the general heatmap probabilities. Similarly, a set of bathrooms may have a certain probability in a general heatmap, but a personal heatmap may show that a particular user frequents one, so that one can be weighted more heavily.
In a calendar situation, a weighting factor from the personalized heatmap could be made higher still, for example to 0.8, under circumstances where it is a strong indicator. That strong weighting should be temporally applied around each particular invite time. For example, a guard band, such as 10 minutes before and after the invite time, can be provided.
These example show that the combining of personalized and general heatmap data can be dynamic and based on many different factors, such as calendar information, and contextual inputs.
Position history 175A is formed from previous days, months or years and is not an immediately preceding position estimate, such as from a recent satellite positioning fix. Various examples and approaches to using data in accordance with and in the spirit of such example are described below. For example, personalized heatmap 157 may be formed with just historic position information. However, more elaborate approaches to produced personalized heatmap 157 may be employed in implementations according to the disclosure.
For example, categories of data capable of being used in forming personalized heatmap 157 include categories of static data, dynamic information, self-sourced information, explicit social network information, implicit social network information, device data, and context, by example. Weighting heuristics 178 may encode or otherwise provide data determining how to combine the depicted data sources in different situations, as would be evident from the disclosure.
In an example, static data may be used to help pre-personalize feasibility patterns, e.g., locational feasibility, which may be further modified by dynamic data. As used herein, the terms static and dynamic are relative in the sense that static data is relatively long lived and updated less frequently, while dynamic data is nearer to real-time data, and for example, may be updated or made available within a timeframe while a user is moving, or in anticipation of user movement. By contrast, static data is updated less frequently, where some types of static data may be relatively permanent, such as an office location (as example delineated in more detail below) while other static information may change daily or weekly, such as calendar information. When static data is updated, the update to such static data may itself be treated as dynamic data when the update is promulgated.
Here, high, medium and low feasibility are textual descriptors for degrees of feasibility, and are by way of example, not limitation. Numerical ranges can be assigned for each of high, medium and low feasibility. These ranges can be assigned for particular regions, and for particular users. These ranges can be dynamic, as more information becomes available about regions and users.
Examples of state information 175D and usage thereof include that information such as a current day of the week, time of day, weather, traffic conditions, syndicated information feeds, and so on. State information 175D can individually and collectively be used in determining aspects of the personalized heatmap 157. For example, personalized heatmap 157 may be have different content for a weekend versus a weekday, and may be continually updated throughout the day. For example, a lunchtime heatmap may differ from a non-lunch time heatmap. As an example, lunch times for one users may be found to vary from day to day, and different users may have predictably different lunch times. These characteristics can be gathered through self-sourcing of data such as the disclosed position data, social network data 175C, and device data 175B. As another example, a degree of predictability of user behavior can be used to weight such information in generating the personalized heatmap 157. For example, some users may have highly regular patterns of behavior dictated by personal preferences, group meetings, friends, or other associations or commitments. Such behavior may have repeating characteristics over one or more different periods of time, such as day-to-day, week-to-week, the first-of-the-month, and so on.
Weightings of such information can account for factors according to these examples, and can have joint dependencies. For example, a particular user may have a highly predictable lunch destination when having lunch with a particular person or group, but may have specific preferences that are followed when eating alone. Such patterns and dependencies can be used in determining an appropriate weighting for the different elements of information available in producing a personalized heatmap 157 for a particular user, and which also may be associated with a particular timeframe, such as a workday morning, a last Friday of the month, end of quarter, travel plans of known team members, and so on. Weightings can be relevant internally among personalized heatmap data, and relatively weight personalized and general heatmaps.
In some examples, self-sourcing of movement information from device during regular use is one source of data to be used in generating personalized heatmaps for respective devices. Self-sourced data may be collected and categorized in various ways. For example, a GPS on a mobile device may output position data, associated with time information. Such information can be stored on mobile device, and uploaded to one or more servers. Uploaded data can be anonymized before or after upload. Different use cases may call for different practices of data collection and categorization. These various approaches, structures and methods are examples of means for collecting position information.
One approach to self-sourcing data collection is a mechanism to allow regions to be defined within an area for which a personalized heatmap is to be generated. For example, such regions may be described by one or more polygons overlaying a region on the map. The device may specify criteria or attributes for mobility in that region. For example, an effect of mobility in that region on generating the personalized heatmap may be specified. As another example, points (may be a 3-D coordinate) may be specified within a collection area, where such points may describe position feasibility for the device proximate that point.
For example, a region (e.g., regions 215, 217, 218, 219, 220) may be designed for collection of data, and may be associated with a specified function. For such points and regions, transformation functions may be defined and applied, to modify the input static feasibility heatmap to create a personalized one. Such functions may be specific to a point or region, or may be shared among points, regions, or a combination thereof.
Such region identification also may be used to identify regions in which crowdsourcing or generalized data is to be used in position estimation, rather than personalized data. Also, crowdsourcing data collection may provide a mechanism to identify regions where personal data collection, personalized heatmaps or other personalization may be useful. For example, regions of apparently random motion, or where data collected for a particular person is not expected to be relevant to personal predictions may be allocated to static or shared heatmaps. For example, an airport security line traversed by a particular user on one occasion may not provide a great deal of information, by itself, for subsequent mobility behavior. Rather, the larger pattern of crowds at the security line, which comprises an aggregated statistic would be more predictive of that user particular users experience on a subsequent airport visit. Therefore, in such situations, a generalized heatmap would dominate or be more heavily weighted than a personalized heatmap.
By contrast, areas of high impact self-source opportunity may be identified. For example, where a large number of users may be categorized into sets or other classes so that personalization may be done for different sets of users is an opportunity for self-sourcing. In such areas, personalized heatmap information can be weighted to dominate generalized heatmap information.
Dynamic information also may be used to adapt personalized heatmaps. Calendar information is an example of dynamic information, such as real-time calendar information. For example, a meeting may be scheduled in a device calendar (and which therefore is personal to the user of the device). If the location of the meeting is known, then that location and surrounding locations may be augmented to have higher feasibility for personalized heatmap 157. As a corollary, rooms other than the location of the meeting may have reduced feasibility.
Other examples of dynamic data made available through social network sites or feeds, short message promulgation services, and text messages. Such data may be processed for information relevant to augmenting personalized heatmap 157. For example, a text message indicating “Meet me at the cafeteria” may be used to augment personalized heatmaps of both a sender and a recipient of such message.
The mobile device may dynamically apply the transformation functions to the self-sourced areas to generate an augmented heatmap. Once applied the functional transformations may create a new heatmap which corresponds to the individual users behavior.
Explicit social networks (e.g., companies or services that help establish and maintain social networks and facilitate associated communications) exist, and may be a source of information for customizing feasibility patterns. Such information may include context, and network information. For example, close friends in a social network setting may exhibit similar behaviors when shopping at the mall, for example. Other examples may be if a person has indicated that they follow or otherwise like a particular product, brand, service provider, and so on, such information may be used in conjunction with other information to customize position feasibility data for particular users.
Information about mobility patterns gleaned from some users may be used to augment or modify personalized position heatmaps for other users. Mobility patterns may be shared among network users, allowing more robust patterns to be developed. Such interaction may be facilitated by a third party and may also be accomplished with peer to peer communications. For example, location and time are a common context for users in the same vicinity at the same time, so that a peer-to-peer solution is a practical implementation of the disclosed data exchange.
Additionally, implicit social networks may be inferred from a variety of factors or other available information. For example, an implicit social network may be inferred based on commonality of shopping location or venue (e.g., multiple users going to, who have been, or who have a habit of going to the same store). Such an implicit social network may be considered a set of users who may have at least loosely correlated mobility patterns.
Other examples of implicit networks include office team members. For example, groups or teams in an office setting may be found in similar areas and have similar mobility pattern. For example, team members may share meeting areas, and have proximal home office locations, and so on. Information about work teams may be gathered from profiles, obtained from workplace materials, by recurring meetings, organization charts, and so on.
In this case, if User B is in User A's social network (friends, college, etc.) we may speculatively enhance User A's pattern with some or all of User B's info. These patterns may be combined in multiple ways. For example, User A could build a mobility pattern that adds its own to a weakened version of B's mobility data.
Some implementations may use inferred social networks to customize feasibility patterns. In one example, users may form networks by class. Data may be collected by a server about multiple users. A classification system may be applied using profile information from the phones in order to group or classify the users into sets. Classified users may than form a “loose network.” For example, a User A visits Starbucks often and builds a mobility profile. A new user B enters Starbucks, and may obtain User A's mobility profile and use that profile as is, or modify it, to build a personalized mobility profile. User A and User B may be considered in a loose network, to the extent that User B and User A may have a great portion of a mobility profile in common.
Context awareness may be used to determine when to apply particular or selected feasibility patterns in locational decisions. Although self-sourcing may be a powerful mechanism to give a more personalized experience of a particular user's behavior, self-sourcing may be extended by determining how a user's mobility pattern may be augmented in a particular context. In an example, if a User X is with a User Y then the expected movement pattern of User X should be correlated to that of User Y. For example, in an office situation, when User X and User Y are in close proximity, they tend to go to a particular destination together from a particular starting location. For example, if two users are at the mall together, they tend to go to the same shopping areas. Grouping or proximity calculations may be implemented or aided using short range communication, such as a personal area network wireless communication protocol. Such grouping or proximity calculations also may be coordinated by a server that receives or calculates separate positions to determine proximity.
A personalized mobility pattern may be tagged with context meta-data which may be processed by the mobile device itself or processed by a server to find correlated information. Context may also be collected from various components on the mobile device itself. These include applications that may be running on the device or modules dedicated to inferring device context.
Pattern recognition applied to available information may be used predict mobility patterns and augment location feasibility patterns accordingly.
In many cases, a location based system is used for routing. This is also the case in an indoor location setting. When a user performs a search and routes to a particular location, the probability of the mobility pattern converging to the designated route is high and it would make sense to augment feasibility heatmaps to reflect this aspect. For example, a user may go to a given mall and generate feasibility heatmap data favoring a subset of stores or other activities there. That feasibility heatmap data may be a basis for developing a subsequent feasibility heatmap for a different mall, by extrapolation, such that routes from a user's location to such subset of stores may have attributed higher feasibilities.
Some situations may allow higher confidence in predictions made from the available data. For example, in a routing situation, the likelihood that a user adheres to a computed route or destination for the route is high. However, a user visiting a given store in one mall may be more weakly predictive of a destination of the user during a visit to another mall.
This type of information may either be processed by the mobile devices itself or done statically on a given server which generates personalized feasibility heatmaps for a set of users.
The data accessed as depicted in
More concretely, at 354, the personalized heatmap, or a selected portion thereof may be weighted, and combined (see
For certain example implementations, server 400 may include or comprise at least one electronic device, such as a device with processing capabilities. Server 400 may comprise, for example, any electronic device having at least one processor or memory. Examples of a server 400 may include a desktop computer, one or more server blades, at least one server machine, a server farm, at least one telecommunications node, an intelligent router or switch, an access point, or any combination thereof.
One or more processors 402 may comprise one or more separate or integrated processors. Processor 402 may be programmed with instructions, such as instructions 410, to become a special purpose processor that implements at least a portion of any procedure(s) that are described herein. Memory 404 may store, contain, or otherwise provide access to at least a portion of instructions 410 that may be executable by processor 402. Examples for instructions 410 may include: a program, or an application, etc. or portion thereof; operational data structures; processor-executable instructions; computer-implemented instructions; code or coding; or any combination thereof; etc. Execution of instructions 410 by one or more processors 402 may transform server 400 into a special purpose computing device, apparatus, platform, or any combination thereof.
Instructions 410 may include likelihood heatmap instructions 410a. In an example implementation, a server 400 may execute likelihood heatmap instructions 410a to generate an indoor likelihood heatmap. For example, one or more servers may generate a likelihood heatmap based, at least in part, on a count of shortest paths between pairs of points that traverse a particular point of connectivity graph as constrained by a sparse connectivity graph.
At least one communication interface 406 may provide one or more hardware or software interfaces between server 400 and other devices or human operators. Hence, communication interface 406 may comprise a screen, a speaker, a microphone, a camera, a keyboard or keys, or other human-device input or output features. Additionally or alternatively, a communication interface 406 may comprise a transceiver (e.g., a transmitter or a receiver), a radio, an antenna, a network interface (e.g., a wired hardware interface connector, such as a network interface card; or a wireless interface connector, such as a Bluetooth® or near field communication (NFC) unit; etc.), a local hardware interface (e.g., a universal serial bus (USB) connector, etc.), or any combination thereof, to communicate wireless and/or wired signals (e.g., over wireless or wired communication links) via one or more networks 416. Communications using at least one communication interface 406 may enable transmitting, receiving, or initiating of transmissions, etc., just to name a few examples.
One or more networks 416 may comprise at least one wireless or wired network. Examples of networks 416 may include a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a cellular network, a telecommunications network, the internet, an ad hoc network, an infrastructure network, or any combination thereof. Network 416 may include one or more base stations 487A-487B and/or one or more access points 488A-488B, for example. Such infrastructure also may be sources of signals that can be used in position estimation.
A storage medium 414 may store, for example, at least a portion of instructions 410. A storage medium 414 may be external (as shown) to server 400. If external, storage medium 414 may be local or remote from server 400. An external implementation of a storage medium 414 may comprise a separate memory device or may comprise part of another electronic device. Although not so explicitly illustrated, storage medium 414 may also or alternatively be located within, or be internal to, server 400. Examples of storage medium 414 may include a hard drive, a disk, a disc, a storage array, volatile memory, nonvolatile memory, a USB drive, a memory card, a computer-readable medium, or any combination thereof.
Server 400 may include at least one interconnect 412 that comprises one or more buses, channels, switching fabrics, storage area networks, or combinations thereof, to enable signal communication between or among components of server 400. Other component(s) 408 may comprise one or more other auxiliary processing, storage, or communication components; power sources; apparatuses providing other feature(s); or any combination thereof. Although not explicitly illustrated in
In example implementations, a device, such as server 400, may comprise at least one memory 404 and one or more processors 402. At least one memory 404 may store instructions 410. One or more processors 402 may be configured to execute instructions 410, e.g., to perform one or more procedures, processes, operations, or any combination thereof. In example implementations, an article (e.g., an article of manufacture) may comprise at least one storage medium 414. At least one storage medium 414 may have stored thereon instructions 410 that are executable by one or more processors 402, e.g., to perform one or more procedures, processes, operations, or any combination thereof.
Additionally,
For certain example implementations, a mobile device 102 (e.g., of
One or more processors 502 may comprise one or more separate or integrated processors. As illustrated, one or more processors 502 may comprise a general-purpose processor 502a, a digital signal processor 502b, or any combination thereof. General-purpose processor 502a may be programmed with instructions, such as instructions 510, to become a special purpose processor that implements at least a portion of any process(es), method(s), or procedure(s), etc. that are described herein. A digital signal processor (DSP) 502b may comprise a processor having an architecture that is at least partially enhanced to process digital signals. Digital signal processor 502b may be programmed with instructions, such as instructions 510, to become a special purpose digital signal processor that implements at least a portion of any process(es), method(s), or procedure(s), etc. that are described herein. General-purpose processor 502a or digital signal processor 502b may operate individually or jointly to implement any e.g. procedure(s) that are described herein.
Memory 504 may store, contain, or otherwise provide access to at least a portion of instructions 510 that may be executable by a processor 502. Examples for instructions 510 may include: a program, or an application, etc. or portion thereof; operational data structures; processor-executable instructions; computer-implemented instructions; code or coding; or any combination thereof. Execution of instructions 510 by one or more processors 502 may transform mobile device 500 into a special purpose computing device, apparatus, platform, or any combination thereof.
Instructions 510 may include, by way of example, likelihood heatmap instructions 510a. In certain example implementations, likelihood heatmap instructions 510a may correspond to, for example, instructions that are capable of realizing at least a portion of one or more implementations of exemplary processes, such as those of FIGS. 12-16. In an example implementation, a mobile device may execute likelihood heatmap instructions 510a to use an indoor likelihood heatmap in conjunction with a navigational application.
At least one communication interface 506 may provide one or more hardware or software interfaces between mobile device 500 and other devices or human operators. Hence, communication interface 506 may comprise a screen, a speaker, a microphone, a camera, a keyboard or keys, or other human-device input or output features. Additionally or alternatively, a communication interface 506 may comprise a transceiver (e.g., a transmitter or a receiver), a radio, an antenna, a network interface (e.g., a wired hardware interface connector, such as a network interface card; or a wireless interface connector, such as a Bluetooth® or near field communication (NFC) unit; etc.), a local hardware interface (e.g., a universal serial bus (USB) connector, etc.), or any combination thereof, to communicate wireless and/or wired signals (e.g., over wireless or wired communication links) via one or more networks 516. Communications using at least one communication interface 506 may enable transmitting, receiving, or initiating of transmissions, etc., just to name a few examples.
One or more networks 516 may comprise at least one wireless or wired network. Examples of networks 516 may include a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a cellular network, a telecommunications network, the internet, an ad hoc network, an infrastructure network, or any combination thereof. Network 516 may be implemented using infrastructure components such as base stations 550A-550B, and access points 551A-551B. Such infrastructure components, or selections thereof, may serve as a communication path to network accessible storage, and may also serve as signal sources for position estimation.
A storage medium 514 may comprise memory to store, for example, at least a portion of instructions 510. A storage medium 514 may be external (as shown) to mobile device 500. If external, storage medium 514 may be local or remote from mobile device 500. An external implementation of a storage medium 514 may comprise a separate memory device or may comprise part of another electronic device. Although not so explicitly illustrated, storage medium 514 may also or alternatively be located within, or be internal to, mobile device 500. Examples of storage medium 514 may include a hard drive, a disk, a disc, a storage array, a storage network, volatile memory, nonvolatile memory, a USB drive, a memory card, a computer-readable medium, or any combination thereof.
Additionally or alternatively to communication interface 506, mobile device 500 may include one or more transmitters, receivers, transceivers, or any combination thereof. By way of example only, a mobile device may include at least one wireless transceiver 512, at least one SPS receiver 518, at least one AM/FM receiver 520, or any combination thereof. A wireless transceiver 512 may transmit or receive wireless signals in accordance with, e.g., at least one selected protocol. Example protocols may include a cellular or WWAN protocol, a Wi-Fi protocol, a Bluetooth® protocol, or any combination thereof. Wireless transceiver 512 may communicate, for example, with network 516 via wireless signals. An SPS receiver 518 may at least receive SPS signals from one or more satellites, pseudolites, positioning beacons, or any combination thereof. An AM/FM receiver 520 may at least receive amplitude modulated (AM) or frequency modulated (FM) signals. Although not explicitly shown in
Mobile device 500 may include at least one interconnect 508 that comprises one or more buses, channels, switching fabrics, or combinations thereof, to enable signal communication between or among components of mobile device 500. Other component(s) 522 may comprise one or more other sensors, power sources, apparatuses providing other feature(s), or any combination thereof. In an example implementation, sensors may include a thermometer, a barometer, an accelerometer, a compass, a gyroscope, a pedometer, or any combination thereof. Although not explicitly illustrated in
In example implementations, a device, such as mobile device 500, may comprise at least one memory 504 and one or more processors 502. At least one memory 504 may store instructions 510. One or more processors 502 may be configured to execute instructions 510, e.g., to perform one or more procedures, processes, operations, or any combination thereof. In example implementations, an article (e.g., an article of manufacture) may comprise at least one storage medium 514. At least one storage medium 514 may have stored thereon instructions 510 that are executable by one or more processors 502, e.g., to perform one or more procedures, processes, operations, or any combination thereof.
The methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in hardware, firmware, software, or any combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory and executed by a processor unit. Memory may be implemented within the processor unit or external to the processor unit. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
If implemented in firmware and/or software, the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that may be accessed by a computer. By way of example such computer-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
In addition to storage on computer readable medium, instructions and/or data may be provided as signals on transmission media included in a communication apparatus. For example, a communication apparatus may include a transceiver having signals indicative of instructions and data. The instructions and data are configured to cause one or more processors to implement the functions outlined in the claims. That is, the communication apparatus includes transmission media with signals indicative of information to perform disclosed functions. At a first time, the transmission media included in the communication apparatus may include a first portion of the information to perform the disclosed functions, while at a second time the transmission media included in the communication apparatus may include a second portion of the information to perform the disclosed functions.
The previous description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the spirit or scope of the disclosure.
This application claims the benefit of and priority under 35 U.S.C. §119 to U.S. Provisional Patent Application No. 61/622,476, filed Apr. 10, 2012, and entitled “Personalized Position Using Information Correlation and Self-Sourcing,” which is assigned to the assignee hereof and which is incorporated herein by reference in its entirety. This application is related to U.S. patent application Ser. No. 13/180,464, filed Jul. 11, 2011, and entitled “Indoor Likelihood Heatmap”, which claims the benefit of and priority under 35 U.S.C. §119 to U.S. Provisional Patent Application No. 61/363,984, filed Jul. 13, 2010, and entitled “Movement Heatmap,” both of which are assigned to the assignee hereof and both of which are incorporated herein by reference. This application is also related to U.S. patent application Ser. No. 13/180,153, filed Jul. 11, 2011, and entitled “Methods and Apparatuses for Use in Generating an Encoded Routeability Graph Description,” which claims the benefit of and priority under 35 U.S.C. §119 to U.S. Provisional Patent Application No. 61/363,980, filed Jul. 13, 2010, and entitled, “Map Reduction,” both of which are assigned to the assignee hereof and both of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61622476 | Apr 2012 | US |