US20160286346A1 - Distributed system architecture to provide wireless transmitter positioning - Google Patents
Distributed system architecture to provide wireless transmitter positioning Download PDFInfo
- Publication number
- US20160286346A1 US20160286346A1 US15/176,091 US201615176091A US2016286346A1 US 20160286346 A1 US20160286346 A1 US 20160286346A1 US 201615176091 A US201615176091 A US 201615176091A US 2016286346 A1 US2016286346 A1 US 2016286346A1
- Authority
- US
- United States
- Prior art keywords
- location
- mobile device
- wireless
- wireless transmitter
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0205—Details
- G01S5/0236—Assistance data, e.g. base station almanac
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0205—Details
- G01S5/0242—Determining the position of transmitters to be subsequently used in positioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
-
- H04W4/206—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W4/21—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
Definitions
- Embodiments of the subject matter described herein are related generally to position determination based on signals from wireless transmitters, and more particularly to the distribution of almanac data for wireless transmitters for position determination.
- Position location systems for mobile devices in satellite positioning challenged/denied areas may use positioning based on signals from local wireless transmitters, such as cell towers or base stations for cellular wireless networks, or WLAN access points, femtocells, etc.
- local wireless transmitters such as cell towers or base stations for cellular wireless networks, or WLAN access points, femtocells, etc.
- positioning using wireless transmitters conventionally requires an assistance server that can provide an almanac that contains the locations of the wireless transmitters.
- FIG. 1 illustrates a system 10 in which a mobile device 12 provides collected wireless transmitter data to a server 14 and accesses the data through content servers 16 .
- the server 14 aggregates crowdsourced and/or wardriving information from multiple mobile devices to create the almanac database for wireless transmitters that includes the locations of the wireless transmitters.
- the mobile device 12 uses local wireless transmitters for positioning, the mobile device 12 contacts one or more content servers 16 (which may include the server 14 ) to download relevant regional content based on visible wireless transmitters. After downloading the regional content from the content servers 16 , the mobile device 12 can obtain the locations of visible wireless transmitters to be used in determining the position of the mobile device 12 .
- the mobile device 12 When a position fix is required by the mobile device 12 , access to the necessary regional content is required in real time. Thus, the mobile device 12 must have data connectivity to access the content servers 16 to acquire the regional content, or the mobile device 12 must have previously downloaded the regional content. Data connectivity, however, cannot always be assured. Moreover, at the time of a position fix calculation, the mobile device 12 only requires the locations of visible wireless transmitters, i.e., wireless transmitters that the mobile device 12 is actually wirelessly observing. The regional content, however, typically includes multiple nearby wireless transmitters that are not visible to the mobile device 12 , which is downloaded onto the mobile device 12 along with the visible wireless transmitters. Accordingly, downloading regional content is a waste of bandwidth as only the data related to visible wireless transmitters is needed. Additionally, downloading regional content by mobile devices before a position fix is required is also a waste of bandwidth as the position fix may not be required at all.
- a distributed architecture provides the location of wireless transmitters to mobile devices for positioning, the location determined from at least one of crowdsourcing and wardriving.
- a server receives location data for wireless transmitters, such as an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station etc., from mobile devices.
- the server determines the locations of the wireless transmitters using the location data and provides the locations to the respective wireless transmitters.
- the wireless transmitters broadcast their identities and locations.
- a mobile device may receive the location directly from the wireless transmitter, eliminating the requirement of contacting a central server and downloading a regional almanac for positioning. This eliminates in a large number of scenarios the need to have data connectivity at the time of position calculation.
- the wireless transmitters may transmit validation data to the server to validate or invalidate the determined location.
- a method including receiving location data about a wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving; determining a location for the wireless transmitter using the location data; and providing the location for the wireless transmitter to the wireless transmitter.
- an apparatus including an external interface capable of communicating with mobile devices to receive location data about a wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving; and a processor configured to determine a location for the wireless transmitter using the location data, and to cause the external interface to transmit the location for the wireless transmitter to the wireless transmitter.
- an apparatus including means for receiving location data about a wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving; means for determining a location for the wireless transmitter using the location data; and means for providing the location for the wireless transmitter to the wireless transmitter.
- a non-transitory computer-readable medium including program code stored thereon, including program code to determine a location for a wireless transmitter using location data received about the wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving; and program code to provide the location for the wireless transmitter to the wireless transmitter.
- a method of controlling a wireless transmitter including receiving with the wireless transmitter a location of the wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving; and broadcasting an identity of the wireless transmitter with the location.
- a wireless transmitter comprising: a wireless interface; an external interface that receives a location of the wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving; and a processor configured to cause the wireless interface to broadcast an identity of the wireless transmitter with the location.
- a wireless transmitter including means for receiving a location of the wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving; and means for broadcasting an identity of the wireless transmitter with the location.
- a non-transitory computer-readable medium including program code stored thereon, including program code to receive a location of a wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving; and program code to broadcast an identity of the wireless transmitter with the location.
- a mobile device including a wireless interface capable of receiving control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location of the wireless transmitter, wherein the wireless transmitter is selected from a group consisting of an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station; and a processor configured to perform a position calculation for the mobile device using the location of each of the plurality of wireless transmitters, and report a position for a location based service application when the position calculation is successful.
- RFID radio-frequency identification
- NFC near-field communication
- a non-transitory computer-readable medium including program code stored thereon for determining a position of a mobile device includes program code to receive with a mobile device control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location of the wireless transmitter, wherein the wireless transmitter is selected from a group consisting of an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station; program code to perform a position calculation for the mobile device using the location of each of the plurality of wireless transmitters; and program code to report the position of the mobile device for a location based service application when the position calculation is successful.
- RFID radio-frequency identification
- NFC near-field communication
- FIG. 1 illustrates a conventional system in which a mobile device provides collected data to a server and downloads regional almanacs from the server.
- FIG. 2 illustrates a system with a distributed architecture that provides locations of wireless transmitters to mobile devices for positioning.
- FIG. 3 illustrates an example of a control frame that includes the identity of the wireless transmitters as well as the location of the wireless transmitter.
- FIG. 4 is a flow chart illustrating a method of providing a distributed architecture by a server.
- FIG. 5 is a block diagram of a server capable of providing a distributed architecture for positioning.
- FIG. 6 is a flow chart illustrating a method of controlling a wireless transmitter in a distributed architecture for positioning.
- FIG. 2 illustrates a system 100 with a distributed architecture that provides the location of wireless transmitters to mobile devices for positioning, where the locations are determined from at least one of crowdsourcing and wardriving.
- System 100 includes a mobile device 102 that is in communication with a server 110 via a wireless network 101 a .
- Mobile device 102 may provide server 110 with information regarding any visible wireless transmitters, e.g., access points, femtocells, or any other wireless transmitters that mobile device may use for positioning.
- Server 110 aggregates data related to the location of wireless transmitters that is collected via crowdsourced and/or wardriving from multiple mobile devices, as is well known, to produce a database of wireless transmitters and their associated locations.
- the data related to location of the wireless transmitters may include, e.g., known locations of mobile devices, received signal strength indicator (RSSI) measurements and/or round trip time (RTT) measurements for wireless transmitters, and any other data that may be used to determine the location of the wireless transmitters, and is accordingly sometimes referred to herein as “location data.”
- the server 110 periodically communicates with wireless transmitters 120 A, 120 B, and 120 C, sometimes collectively referred to as wireless transmitters 120 , through a network 101 b , which may be a wired or wireless network.
- the server 110 provides each wireless transmitter 120 with its respective location as determined through crowdsourcing and/or wardriving.
- a control frame 130 may be a beacon frame in IEEE 802.11, System Parameters (For CDMA Femto Cell) or other kind of Broadcast channels.
- the control frame 130 is configured to include the identity 132 of the wireless transmitter, e.g., the service set identifier (SSID), as well as the location 134 , which if not already included in the control frame 130 may be added as an OEM/Vendor proprietary field.
- SSID service set identifier
- wireless transmitters 120 may communicate with server 110 via network 101 b to provide data relevant to each wireless transmitter to the server 110 .
- wireless transmitters 120 may provide data such as the identity of any nearby wireless transmitters and/or a time and duration of a power cycle for the wireless transmitter.
- Server 110 may use the data to determine the validity of the location associated with a wireless transmitter. For example, if a wireless transmitter 120 A indicates that it has recently undergone a power cycle, e.g., powered down and powered up, the wireless transmitter 120 A may have been moved and therefore the validity of the location associated with the wireless transmitter 120 A is in question. If the power cycle was brief, e.g., 15 seconds, it is unlikely that the wireless transmitter 120 A was moved.
- the wireless transmitter 120 A may be have been moved and, thus, the location associated with the wireless transmitter 120 A can no longer be relied upon. Accordingly, the server 110 may flag the location associated with wireless transmitter 120 A as uncertain, update wireless transmitter 120 A with an undetermined location via network 101 b , and await location data obtained from crowdsourcing and/or wardriving to re-validate the location or determine a new location for wireless transmitter 120 A. If desired, after a power cycle, or after a power cycle that exceeds a threshold, the wireless transmitter 120 A may disable the broadcasting of its location due to uncertainty of its location until server 110 confirms the re-validates the location or determine a new location for wireless transmitter 120 A.
- wireless transmitter 120 A may provide to the server 110 the identity of visible wireless transmitters 120 B, 120 C, and 122 . If the wireless transmitters that are identified as being visible by wireless transmitter 120 A changes, the server 110 may flag the location associated with wireless transmitter 120 A as uncertain and require re-validation or determination of a new location for wireless transmitter 120 A. Alternatively, if wireless transmitter 120 A indicates that, e.g., wireless transmitter 120 B is no longer visible, but wireless transmitters 120 C and 122 are visible, the server 110 may flag the location associated with wireless transmitter 120 B as uncertain and require re-validation or determination of a new location for wireless transmitter 120 A. Similarly, the wireless transmitter 120 A may disable the broadcasting of its location if a sufficient number of visible wireless transmitters have changed.
- Each wireless transmitter downloads its own location from the server, e.g., using internet connectivity. This download may be performed infrequently, e.g., once a month, or after a power cycle.
- the wireless transmitters obtain their respective locations from server 110 and, thus, do not require any self-location capability.
- the mobile device 102 performs a scan for nearby wireless transmitters decoding the identity of the wireless transmitters, e.g., MAC address or Cell ID, the locations are also obtained by the mobile device.
- the extra step of downloading the regional almanac from a content server at the time of position fix may be eliminated.
- mobile device 102 does not require data connectivity to wireless transmitters 120 for the purpose of position location, as the wireless transmitters 120 broadcast their locations and no server access is required.
- the mobile device 102 may still perform crowdsourcing and may require connectivity for the purpose of submitting crowdsourced data to the server 110 .
- submitting crowdsourced data is not a “real time” activity as the crowdsourced data can be buffered for an extended period of time on the mobile device and can be opportunistically uploaded to the server 110 , e.g., when free data connectivity (e.g., WiFi connection) is available.
- free data connectivity e.g., WiFi connection
- mobile device 102 may still contact server 110 (or other content server) to acquire a regional almanac for wireless transmitters that have not downloaded their locations from server 110 , e.g., wireless transmitter 122 in FIG. 2 .
- mobile device 102 may first attempt to obtain a position fix using the locations available in control frames broadcasted by visible wireless transmitters. If a position fix using broadcast locations is not possible, mobile device 102 may attempt to contact server 110 to download a regional almanac. The mobile device 102 may use a combination of the broadcast locations from visible wireless transmitters 120 as well as locations obtained from the server in a regional almanac to obtain a position fix. Wireless transmitters that download their associated locations from the server 110 may be eliminated from the regional almanac.
- the regional almanac downloaded by the mobile device 102 may be reduced in size thereby reducing data bandwidth requirements. Moreover, eliminating wireless transmitters that can download their associated locations from the server 110 from the regional almanac reduces the amount of data a piracy attacker can potentially download from the server 110 in a successful attack.
- FIG. 4 is a flow chart illustrating a method of providing a distributed architecture by a server.
- a server receives location data about a wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving ( 202 ).
- the location data may include any data that may be used to derive the location of the wireless transmitter and may include, e.g., RSSI measurements and/or RTT measurements for the wireless transmitter and known locations of mobile devices performing the RSSI and/or RTT measurements, as well as any other data that may be used to determine the location of the wireless transmitter.
- the server determines the location for the wireless transmitter ( 204 ).
- Determining a location for a wireless transmitter based on location data is well known in the art.
- the server then provides the determined location to the wireless transmitter ( 206 ). It may be desirable to authenticate the wireless transmitter, e.g., using an authentication code, before providing the determined location, e.g., to ensure that the wireless transmitter is authorized to receive the determined location from the server. Additionally, if desired, the server may receive data from the wireless transmitter ( 208 ) and determine the validity of the location for the wireless transmitter using the data received from the wireless transmitter ( 210 ).
- the data received by the server from the wireless transmitter may be an identity of one or more nearby wireless transmitters and/or a time and duration of a power cycle for the wireless transmitter.
- the validity of the stored location for the wireless transmitter may be determined based on the likelihood that the wireless transmitter has been moved, e.g., whether the identities of nearby wireless transmitters have changed and/or the wireless transmitter was powered down for an extended period of time.
- FIG. 5 is a block diagram of a server 110 capable of providing a distributed architecture for positioning.
- the server 110 includes an external interface 111 that is used to communicate with and receive location data from mobile devices, such as crowdsourced and/or wardriving data, as well as provide the locations of the wireless transmitters to the wireless transmitters.
- the server 110 may further include a user interface 112 that may include e.g., a display, as well as a keypad or other input device through which the user can input information into the server 110 .
- the external interface 111 may be a wired interface to a router (not shown) or a wireless interface used in any 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.
- WWAN wireless wide area network
- WLAN wireless local area network
- WPAN wireless personal area network
- 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.
- CDMA Code Division Multiple Access
- TDMA Time Division Multiple Access
- FDMA Frequency Division Multiple Access
- OFDMA Orthogonal Frequency Division Multiple Access
- SC-FDMA Single-Carrier Frequency Division Multiple Access
- LTE Long Term Evolution
- 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
- a WPAN may be a Bluetooth® network, an IEEE 802.15x, or some other type of network.
- any combination of WWAN, WLAN and/or WPAN may be used.
- the server 110 also includes a control unit 113 that is connected to and communicates with the external interface 111 .
- the control unit 113 accepts and processes the location data provided by mobile devices and the wireless transmitters themselves when applicable.
- the control unit 113 may be provided by a bus 113 b , processor 113 p and associated memory 113 m , hardware 113 h , firmware 113 f , and software 113 s .
- the control unit 113 is further illustrated as including a location processing module 114 , which aggregates received location data obtained from crowdsourcing and/or wardriving and determines the locations of wireless transmitters based on received location data.
- An authentication module 115 may be used to authenticate a wireless transmitter to confirm that a wireless transmitter is authorized to receive the location, e.g., using an authentication code.
- a location validation module 116 may be used to validate stored locations of wireless transmitters based on, e.g., data received from wireless transmitters themselves.
- a database 118 may be used to store the identities, authentication codes, and locations of wireless transmitters.
- the location processing module 114 , authentication module, and location validation module 116 are illustrated separately from processor 113 p for clarity, but may be part of the processor 113 p or implemented in the processor based on instructions in the software 113 s which is run in the processor 113 p . It will be understood as used herein that the processor 113 p can, but need not necessarily include, one or more microprocessors, embedded processors, controllers, application specific integrated circuits (ASICs), digital signal processors (DSPs), and the like.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- the term processor is intended to describe the functions implemented by the system rather than specific hardware.
- memory refers to any type of computer storage medium, including long term, short term, or other memory associated with the mobile device, 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.
- the methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in hardware 113 h , firmware 113 f , software 113 s , or any combination thereof.
- 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.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- processors controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
- 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.
- software codes may be stored in memory 113 m and executed by the processor 113 p .
- Memory 113 m may be implemented within or external to the processor 113 p .
- the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include non-transitory 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 can be accessed by a computer.
- such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer;
- disk and disc 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.
- the server 110 includes a means for receiving location data about a wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving, which may be, e.g., the external interface 111 ; a means for determining a location for the wireless transmitter using the location data, such as the location processing module 114 ; and means for providing the location for the wireless transmitter to the wireless transmitter, such as the external interface 111 .
- the server 110 may also include means for authenticating that the wireless transmitter is authorized to receive the location for the wireless transmitter prior to providing the location for the wireless transmitter to the wireless transmitter, which may be, e.g., the authentication module 115 .
- the server 110 may also include means for receiving data from the wireless transmitter, such as the external interface 111 ; and means for determining validity of the location for the wireless transmitter using the data received from the wireless transmitter, such as the location validation module 116 .
- FIG. 6 is a flow chart illustrating a method of controlling a wireless transmitter in a distributed architecture.
- a wireless transmitter receives a location of the wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving ( 302 ).
- the wireless transmitter broadcasts the identity of the wireless transmitter along with the location ( 304 ).
- the wireless transmitter may also transmit verification data about the wireless transmitter to the server ( 306 ) and may receive an invalid location indicator when the location of the wireless transmitter is no longer reliable ( 308 ).
- the verification data may be, e.g., an identity of a nearby wireless transmitter and/or a time and duration of a power cycle for the wireless transmitter.
- FIG. 7 is a block diagram of a wireless transmitter 120 in a distributed architecture for positioning.
- the wireless transmitter 120 includes an interface 127 , which may include a wireless interface 128 that is used to broadcast an identity and location, as well as communicate with and received identity information from other nearby wireless transmitters.
- the interface 127 of the wireless transmitter 120 may further include an external interface 129 , which may be a wired interface, to communicate with a server, e.g., to receive from the server a location determined using at least one of crowdsourcing and wardriving, and to provide verification data about the wireless transmitter to the server. If desired, the wireless transmitter 120 may communicate with the server via the wireless interface 128 .
- the wireless interface 128 and external interface 129 may be used in any various 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.
- WWAN wireless wide area network
- WLAN wireless local area network
- WPAN wireless personal area network
- CDMA Code Division Multiple Access
- TDMA Time Division Multiple Access
- FDMA Frequency Division Multiple Access
- OFDMA Orthogonal Frequency Division Multiple Access
- SC-FDMA Single-Carrier Frequency Division Multiple Access
- LTE Long Term Evolution
- 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
- a WPAN may be a Bluetooth® network, an IEEE 802.15x, or some other type of network.
- any combination of WWAN, WLAN and/or WPAN may be used.
- the wireless transmitter 120 also includes a control unit 123 that is connected to and communicates with the interface 127 .
- the control unit 123 accepts and processes the location from the server and broadcasts the identity of the wireless transmitter 120 along with the location via the interface, e.g., wireless interface 128 .
- the control unit 123 may be provided by a bus 123 b , processor 123 p and associated memory 123 m , hardware 123 h , firmware 123 f , and software 123 s , and a clock 123 c , that is used to time the duration of any power cycles.
- the control unit 123 is further illustrated as including a broadcasting module 124 that receives the location and prepares a control frame or other broadcast message that includes the identity and location of the wireless transmitter.
- the control unit 123 further includes a validation data module 126 that records power cycle data, as well as the identities of nearby visible wireless transmitters to be provided to the server 110 to be provided to the server via external interface 129 .
- the broadcasting module 124 and validation data module 126 are illustrated separately from processor 123 p for clarity, but may be part of the processor 123 p or implemented in the processor based on instructions in the software 123 s which is run in the processor 123 p . It will be understood as used herein that the processor 123 p can, but need not necessarily include, one or more microprocessors, embedded processors, controllers, application specific integrated circuits (ASICs), digital signal processors (DSPs), and the like.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- the term processor is intended to describe the functions implemented by the system rather than specific hardware.
- memory refers to any type of computer storage medium, including long term, short term, or other memory associated with the mobile device, 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.
- the methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in hardware 123 h , firmware 123 f , software 123 s , or any combination thereof.
- 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.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- processors controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
- 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.
- software codes may be stored in memory 123 m and executed by the processor 123 p .
- Memory 123 m may be implemented within or external to the processor 123 p .
- the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include non-transitory 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 can be accessed by a computer.
- such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer;
- disk and disc 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.
- wireless transmitter 120 includes means for receiving a location of the wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving, which may be, e.g., the interface 127 such as the external interface 129 ; and means for broadcasting an identity of the wireless transmitter with the location, such as the broadcasting module 124 and interface 127 , e.g., the wireless interface 128 .
- the wireless transmitter 120 may additionally include means for transmitting verification data about the wireless transmitter to the remote server, such as the validation data module 126 and external interface 129 ; and means for receiving an invalid location indicator when the location for the wireless transmitter is no longer reliable, such as the external interface 129 .
- FIG. 8 is a flow chart illustrating a method of determining a position of a mobile device using locations of wireless transmitters provided in a distributed architecture.
- a mobile device receives control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location for the wireless transmitter ( 402 ).
- the wireless transmitters may be, e.g., an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station, etc.
- RFID radio-frequency identification
- NFC near-field communication
- the locations of the wireless transmitters are in the control frames provided by the wireless transmitters, data connectivity to the wireless transmitters is not necessary for the mobile device to determine a position.
- a request may be made to a server for a location for any wireless transmitters that did not include the location in a received control frame. The location received from the server and the locations received from control frames may be used together to determine the position of the mobile device.
- FIG. 9 is a block diagram of a mobile device 102 capable of determining a position using locations of wireless transmitters provided in a distributed architecture.
- the mobile device 102 includes a wireless interface 103 that is used to receive broadcast information, including the identities and locations of wireless transmitters, such as access points, femtocells, Bluetooth Transmitters, radio-frequency identification (RFID) and near-field communication (NFC) stations.
- the mobile device 102 may further include a user interface 104 that may include e.g., a display, as well as a keypad or other input device through which the user can input information into the mobile device 102 .
- the wireless interface 103 may be used in any 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.
- WWAN wireless wide area network
- WLAN wireless local area network
- WPAN wireless personal area network
- CDMA Code Division Multiple Access
- TDMA Time Division Multiple Access
- FDMA Frequency Division Multiple Access
- OFDMA Orthogonal Frequency Division Multiple Access
- SC-FDMA Single-Carrier Frequency Division Multiple Access
- LTE Long Term Evolution
- 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
- a WPAN may be a Bluetooth® network, an IEEE 802.15x, or some other type of network.
- any combination of WWAN, WLAN and/or WPAN may be used.
- the mobile device 102 also includes a control unit 105 that is connected to and communicates with the wireless interface 103 .
- the control unit 105 accepts and processes the locations provided by the wireless transmitters.
- the control unit 105 may be provided by a bus 105 b , processor 105 p and associated memory 105 m , hardware 105 h , firmware 105 f , and software 105 s .
- the control unit 105 is further illustrated as including a positioning module 106 , which generates the position of the mobile device based on the received locations.
- memory refers to any type of computer storage medium, including long term, short term, or other memory associated with the mobile device, 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.
- 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.
- software codes may be stored in memory 105 m and executed by the processor 105 p .
- Memory 105 m may be implemented within or external to the processor 105 p .
- the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include non-transitory 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.
- mobile device 102 may include means for receiving with a mobile device control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and locations of the wireless transmitter, such as wireless interface 103 .
- Means for performing a position calculation for the mobile device using the location of each of the plurality of wireless transmitters may be, e.g., the positioning module 106 .
- Means for reporting a position of the mobile device for a location based service application when the position calculation is successful may be, e.g., the wireless interface 103 or, e.g., the processor 105 p when the location based service application is a local application.
- Means for requesting from a server a location for any wireless transmitters that did not include the location in a received control frame when the position calculation for the mobile device is not successful may be, e.g., the wireless interface 103 .
- means for using the location received from the server and the locations received from control frames to determine the position of the mobile device may be, e.g., the positioning module 106 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A distributed architecture provides the location of wireless transmitters to mobile devices for positioning, the location determined from at least one of crowdsourcing and wardriving. A server receives location data for wireless transmitters, such as an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station etc., from mobile devices. The server determines the locations of the wireless transmitters using the location data and provides the locations to the respective wireless transmitters. The wireless transmitters broadcast their identities and locations. Thus, a mobile device may receive the location directly from the wireless transmitter, eliminating the requirement of contacting a central server and downloading a regional almanac for positioning. This eliminates in a large number of scenarios the need to have data connectivity at the time of position calculation. Additionally, the wireless transmitters may transmit validation data to the server to validate or invalidate the determined location.
Description
- This application is a divisional of co-pending U.S. application Ser. No. 13/748,286, filed Jan. 23, 2013, entitled “A Distributed System Architecture to Provide Wireless Transmitter Positioning,” which claims under 35 USC §119 the benefit of and priority to U.S. Provisional Application No. 61/731,998, filed Nov. 30, 2012, and entitled “Distributed System Architecture To Provide Wireless Transmitter Positioning” both of which are assigned to the assignee hereof and are incorporated herein by reference.
- 1. Background Field
- Embodiments of the subject matter described herein are related generally to position determination based on signals from wireless transmitters, and more particularly to the distribution of almanac data for wireless transmitters for position determination.
- 2. Relevant Background
- Position location systems for mobile devices in satellite positioning challenged/denied areas may use positioning based on signals from local wireless transmitters, such as cell towers or base stations for cellular wireless networks, or WLAN access points, femtocells, etc. However, positioning using wireless transmitters conventionally requires an assistance server that can provide an almanac that contains the locations of the wireless transmitters.
- Conventionally, almanac databases are built using crowdsourcing, wardriving and/or a combination of both. Both crowdsourcing and wardriving require that multiple mobile devices collect data related to the location of the wireless transmitters and submit the collected data to a centrally located server. The server combines the collected data from multiple users to generate the almanac database that includes the locations of the wireless transmitters. In order to use wireless transmitters for positioning, a mobile device accesses the almanac database through the server, or different servers, and uses the locations for visible wireless transmitters to determine the position of the mobile device. As the almanac database may be large, a mobile device typically downloads only the relevant regional content, sometimes referred to as “tiles,” from the server.
-
FIG. 1 , by way of example, illustrates asystem 10 in which amobile device 12 provides collected wireless transmitter data to aserver 14 and accesses the data throughcontent servers 16. Theserver 14 aggregates crowdsourced and/or wardriving information from multiple mobile devices to create the almanac database for wireless transmitters that includes the locations of the wireless transmitters. When themobile device 12 uses local wireless transmitters for positioning, themobile device 12 contacts one or more content servers 16 (which may include the server 14) to download relevant regional content based on visible wireless transmitters. After downloading the regional content from thecontent servers 16, themobile device 12 can obtain the locations of visible wireless transmitters to be used in determining the position of themobile device 12. - When a position fix is required by the
mobile device 12, access to the necessary regional content is required in real time. Thus, themobile device 12 must have data connectivity to access thecontent servers 16 to acquire the regional content, or themobile device 12 must have previously downloaded the regional content. Data connectivity, however, cannot always be assured. Moreover, at the time of a position fix calculation, themobile device 12 only requires the locations of visible wireless transmitters, i.e., wireless transmitters that themobile device 12 is actually wirelessly observing. The regional content, however, typically includes multiple nearby wireless transmitters that are not visible to themobile device 12, which is downloaded onto themobile device 12 along with the visible wireless transmitters. Accordingly, downloading regional content is a waste of bandwidth as only the data related to visible wireless transmitters is needed. Additionally, downloading regional content by mobile devices before a position fix is required is also a waste of bandwidth as the position fix may not be required at all. - A distributed architecture provides the location of wireless transmitters to mobile devices for positioning, the location determined from at least one of crowdsourcing and wardriving. A server receives location data for wireless transmitters, such as an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station etc., from mobile devices. The server determines the locations of the wireless transmitters using the location data and provides the locations to the respective wireless transmitters. The wireless transmitters broadcast their identities and locations. Thus, a mobile device may receive the location directly from the wireless transmitter, eliminating the requirement of contacting a central server and downloading a regional almanac for positioning. This eliminates in a large number of scenarios the need to have data connectivity at the time of position calculation. Additionally, the wireless transmitters may transmit validation data to the server to validate or invalidate the determined location.
- In one implementation, a method including receiving location data about a wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving; determining a location for the wireless transmitter using the location data; and providing the location for the wireless transmitter to the wireless transmitter.
- In one implementation, an apparatus including an external interface capable of communicating with mobile devices to receive location data about a wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving; and a processor configured to determine a location for the wireless transmitter using the location data, and to cause the external interface to transmit the location for the wireless transmitter to the wireless transmitter.
- In one implementation, an apparatus including means for receiving location data about a wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving; means for determining a location for the wireless transmitter using the location data; and means for providing the location for the wireless transmitter to the wireless transmitter.
- In one implementation, a non-transitory computer-readable medium including program code stored thereon, including program code to determine a location for a wireless transmitter using location data received about the wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving; and program code to provide the location for the wireless transmitter to the wireless transmitter.
- In one implementation, a method of controlling a wireless transmitter, the method including receiving with the wireless transmitter a location of the wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving; and broadcasting an identity of the wireless transmitter with the location.
- In one implementation, a wireless transmitter comprising: a wireless interface; an external interface that receives a location of the wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving; and a processor configured to cause the wireless interface to broadcast an identity of the wireless transmitter with the location.
- In one implementation, a wireless transmitter including means for receiving a location of the wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving; and means for broadcasting an identity of the wireless transmitter with the location.
- In one implementation, a non-transitory computer-readable medium including program code stored thereon, including program code to receive a location of a wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving; and program code to broadcast an identity of the wireless transmitter with the location.
- In one implementation, a method including receiving with a mobile device control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location of the wireless transmitter, wherein the wireless transmitter is selected from a group consisting of an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station; performing a position calculation for the mobile device using the location of each of the plurality of wireless transmitters; and reporting a position of the mobile device for a location based service application when the position calculation is successful.
- In one implementation, a mobile device including a wireless interface capable of receiving control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location of the wireless transmitter, wherein the wireless transmitter is selected from a group consisting of an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station; and a processor configured to perform a position calculation for the mobile device using the location of each of the plurality of wireless transmitters, and report a position for a location based service application when the position calculation is successful.
- In one implementation, a mobile device including means for receiving with a mobile device control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location of the wireless transmitter, wherein the wireless transmitter is selected from a group consisting of an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station; means for performing a position calculation for the mobile device using the location of each of the plurality of wireless transmitters; and means for reporting a position of the mobile device for a location based service application when the position calculation is successful.
- In one implementation, a non-transitory computer-readable medium including program code stored thereon for determining a position of a mobile device, includes program code to receive with a mobile device control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location of the wireless transmitter, wherein the wireless transmitter is selected from a group consisting of an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station; program code to perform a position calculation for the mobile device using the location of each of the plurality of wireless transmitters; and program code to report the position of the mobile device for a location based service application when the position calculation is successful.
-
FIG. 1 illustrates a conventional system in which a mobile device provides collected data to a server and downloads regional almanacs from the server. -
FIG. 2 illustrates a system with a distributed architecture that provides locations of wireless transmitters to mobile devices for positioning. -
FIG. 3 illustrates an example of a control frame that includes the identity of the wireless transmitters as well as the location of the wireless transmitter. -
FIG. 4 is a flow chart illustrating a method of providing a distributed architecture by a server. -
FIG. 5 is a block diagram of a server capable of providing a distributed architecture for positioning. -
FIG. 6 is a flow chart illustrating a method of controlling a wireless transmitter in a distributed architecture for positioning. -
FIG. 7 is a block diagram of a wireless transmitter in a distributed architecture for positioning. -
FIG. 8 is a flow chart illustrating a method of determining a position of a mobile device using locations of wireless transmitters provided in a distributed architecture. -
FIG. 9 is a block diagram of a mobile device capable of determining a position using locations of wireless transmitters provided in a distributed architecture. -
FIG. 2 illustrates asystem 100 with a distributed architecture that provides the location of wireless transmitters to mobile devices for positioning, where the locations are determined from at least one of crowdsourcing and wardriving.System 100 includes amobile device 102 that is in communication with aserver 110 via awireless network 101 a.Mobile device 102 may provideserver 110 with information regarding any visible wireless transmitters, e.g., access points, femtocells, or any other wireless transmitters that mobile device may use for positioning.Server 110 aggregates data related to the location of wireless transmitters that is collected via crowdsourced and/or wardriving from multiple mobile devices, as is well known, to produce a database of wireless transmitters and their associated locations. The data related to location of the wireless transmitters may include, e.g., known locations of mobile devices, received signal strength indicator (RSSI) measurements and/or round trip time (RTT) measurements for wireless transmitters, and any other data that may be used to determine the location of the wireless transmitters, and is accordingly sometimes referred to herein as “location data.” As illustrated inFIG. 2 , theserver 110 periodically communicates withwireless transmitters wireless transmitters 120, through anetwork 101 b, which may be a wired or wireless network. Theserver 110 provides eachwireless transmitter 120 with its respective location as determined through crowdsourcing and/or wardriving. -
Wireless transmitters 120 broadcast their identities as well as their locations as provided by theserver 114. For example, thewireless transmitters 120 may transmit their locations using a few bytes of data on control frames or other appropriate broadcast message or overhead channels. The location may be limited to latitude, longitude, and potentially the floor or altitude, or any other desired coordinate system or type of information with which the absolute or relative location of thewireless transmitter 120 may be identified and which can be distributed as a part of control frame or other appropriate broadcast message or overhead channels. Additional information that may be useful for position determination of themobile device 102 may also be included, and thus, thewireless transmitters 120 may be sometimes said to transmit location information.FIG. 3 illustrates, by way of example, acontrol frame 130 that may be produced by awireless transmitter 120 to broadcast its identify and location. Acontrol frame 130 by way of example may be a beacon frame in IEEE 802.11, System Parameters (For CDMA Femto Cell) or other kind of Broadcast channels. Among other information, thecontrol frame 130 is configured to include theidentity 132 of the wireless transmitter, e.g., the service set identifier (SSID), as well as thelocation 134, which if not already included in thecontrol frame 130 may be added as an OEM/Vendor proprietary field. - When the
mobile device 102 performs a scan for nearby wireless transmitters,mobile device 102 receives the broadcast identification and locations for each of the nearby, i.e., visible,wireless transmitters mobile device 102 will also obtain the locations. As illustrated inFIG. 2 , whilemobile device 102 may still receive broadcast information from additional wireless transmitters, such aswireless transmitter 122, which does not receive its location fromserver 110 and does not broadcast its location,mobile device 102 may simply ignorewireless transmitter 122 for the purpose of determining a position fix. Thus, themobile device 102 receives broadcasted locations directly fromvisible wireless transmitters 120 and therefore does not need to access a remote content server to receive regional content, i.e., tile information. Moreover, asmobile device 102 receives locations directly from the visible wireless transmitters, there is no need to download a regional database on themobile device 102 thereby reducing bandwidth usage. As illustrated, themobile device 102 may include apositioning module 106 that may use the broadcasted locations ofwireless transmitters mobile device 102. - If desired,
wireless transmitters 120 may communicate withserver 110 vianetwork 101 b to provide data relevant to each wireless transmitter to theserver 110. For example,wireless transmitters 120 may provide data such as the identity of any nearby wireless transmitters and/or a time and duration of a power cycle for the wireless transmitter.Server 110 may use the data to determine the validity of the location associated with a wireless transmitter. For example, if awireless transmitter 120A indicates that it has recently undergone a power cycle, e.g., powered down and powered up, thewireless transmitter 120A may have been moved and therefore the validity of the location associated with thewireless transmitter 120A is in question. If the power cycle was brief, e.g., 15 seconds, it is unlikely that thewireless transmitter 120A was moved. If the power cycle was relatively large, e.g., 5 minutes or more, thewireless transmitter 120A may be have been moved and, thus, the location associated with thewireless transmitter 120A can no longer be relied upon. Accordingly, theserver 110 may flag the location associated withwireless transmitter 120A as uncertain,update wireless transmitter 120A with an undetermined location vianetwork 101 b, and await location data obtained from crowdsourcing and/or wardriving to re-validate the location or determine a new location forwireless transmitter 120A. If desired, after a power cycle, or after a power cycle that exceeds a threshold, thewireless transmitter 120A may disable the broadcasting of its location due to uncertainty of its location untilserver 110 confirms the re-validates the location or determine a new location forwireless transmitter 120A. - Data related to the identity of any nearby wireless transmitters may be used to validate a location associated with a wireless transmitter. For example,
wireless transmitter 120A may provide to theserver 110 the identity ofvisible wireless transmitters wireless transmitter 120A changes, theserver 110 may flag the location associated withwireless transmitter 120A as uncertain and require re-validation or determination of a new location forwireless transmitter 120A. Alternatively, ifwireless transmitter 120A indicates that, e.g.,wireless transmitter 120B is no longer visible, butwireless transmitters server 110 may flag the location associated withwireless transmitter 120B as uncertain and require re-validation or determination of a new location forwireless transmitter 120A. Similarly, thewireless transmitter 120A may disable the broadcasting of its location if a sufficient number of visible wireless transmitters have changed. - Thus, the need for a
mobile device 102 to download a regional almanac from a content server for wireless transmitter based positioning is eliminated. Each wireless transmitter downloads its own location from the server, e.g., using internet connectivity. This download may be performed infrequently, e.g., once a month, or after a power cycle. The wireless transmitters obtain their respective locations fromserver 110 and, thus, do not require any self-location capability. When themobile device 102 performs a scan for nearby wireless transmitters decoding the identity of the wireless transmitters, e.g., MAC address or Cell ID, the locations are also obtained by the mobile device. Thus, the extra step of downloading the regional almanac from a content server at the time of position fix may be eliminated. - Moreover,
mobile device 102 does not require data connectivity towireless transmitters 120 for the purpose of position location, as thewireless transmitters 120 broadcast their locations and no server access is required. Themobile device 102 may still perform crowdsourcing and may require connectivity for the purpose of submitting crowdsourced data to theserver 110. However, submitting crowdsourced data is not a “real time” activity as the crowdsourced data can be buffered for an extended period of time on the mobile device and can be opportunistically uploaded to theserver 110, e.g., when free data connectivity (e.g., WiFi connection) is available. Moreover, power consumption of themobile device 102 is reduced due to reduced server communication. - If desired,
mobile device 102 may still contact server 110 (or other content server) to acquire a regional almanac for wireless transmitters that have not downloaded their locations fromserver 110, e.g.,wireless transmitter 122 inFIG. 2 . For example,mobile device 102 may first attempt to obtain a position fix using the locations available in control frames broadcasted by visible wireless transmitters. If a position fix using broadcast locations is not possible,mobile device 102 may attempt to contactserver 110 to download a regional almanac. Themobile device 102 may use a combination of the broadcast locations fromvisible wireless transmitters 120 as well as locations obtained from the server in a regional almanac to obtain a position fix. Wireless transmitters that download their associated locations from theserver 110 may be eliminated from the regional almanac. Thus, the regional almanac downloaded by themobile device 102 may be reduced in size thereby reducing data bandwidth requirements. Moreover, eliminating wireless transmitters that can download their associated locations from theserver 110 from the regional almanac reduces the amount of data a piracy attacker can potentially download from theserver 110 in a successful attack. -
FIG. 4 is a flow chart illustrating a method of providing a distributed architecture by a server. As illustrated, a server receives location data about a wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving (202). As discussed above, the location data may include any data that may be used to derive the location of the wireless transmitter and may include, e.g., RSSI measurements and/or RTT measurements for the wireless transmitter and known locations of mobile devices performing the RSSI and/or RTT measurements, as well as any other data that may be used to determine the location of the wireless transmitter. Using the location data, the server determines the location for the wireless transmitter (204). Determining a location for a wireless transmitter based on location data, e.g., obtained from crowdsourcing and/or wardriving, is well known in the art. The server then provides the determined location to the wireless transmitter (206). It may be desirable to authenticate the wireless transmitter, e.g., using an authentication code, before providing the determined location, e.g., to ensure that the wireless transmitter is authorized to receive the determined location from the server. Additionally, if desired, the server may receive data from the wireless transmitter (208) and determine the validity of the location for the wireless transmitter using the data received from the wireless transmitter (210). For example, the data received by the server from the wireless transmitter may be an identity of one or more nearby wireless transmitters and/or a time and duration of a power cycle for the wireless transmitter. The validity of the stored location for the wireless transmitter may be determined based on the likelihood that the wireless transmitter has been moved, e.g., whether the identities of nearby wireless transmitters have changed and/or the wireless transmitter was powered down for an extended period of time. -
FIG. 5 is a block diagram of aserver 110 capable of providing a distributed architecture for positioning. Theserver 110 includes anexternal interface 111 that is used to communicate with and receive location data from mobile devices, such as crowdsourced and/or wardriving data, as well as provide the locations of the wireless transmitters to the wireless transmitters. Theserver 110 may further include auser interface 112 that may include e.g., a display, as well as a keypad or other input device through which the user can input information into theserver 110. - The
external interface 111 may be a wired interface to a router (not shown) or a wireless interface used in any 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. Moreover, any combination of WWAN, WLAN and/or WPAN may be used. - The
server 110 also includes acontrol unit 113 that is connected to and communicates with theexternal interface 111. Thecontrol unit 113 accepts and processes the location data provided by mobile devices and the wireless transmitters themselves when applicable. Thecontrol unit 113 may be provided by abus 113 b,processor 113 p and associatedmemory 113 m,hardware 113 h,firmware 113 f, andsoftware 113 s. Thecontrol unit 113 is further illustrated as including alocation processing module 114, which aggregates received location data obtained from crowdsourcing and/or wardriving and determines the locations of wireless transmitters based on received location data. Anauthentication module 115 may be used to authenticate a wireless transmitter to confirm that a wireless transmitter is authorized to receive the location, e.g., using an authentication code. Alocation validation module 116 may be used to validate stored locations of wireless transmitters based on, e.g., data received from wireless transmitters themselves. Adatabase 118 may be used to store the identities, authentication codes, and locations of wireless transmitters. - The
location processing module 114, authentication module, andlocation validation module 116 are illustrated separately fromprocessor 113 p for clarity, but may be part of theprocessor 113 p or implemented in the processor based on instructions in thesoftware 113 s which is run in theprocessor 113 p. It will be understood as used herein that theprocessor 113 p can, but need not necessarily include, one or more microprocessors, embedded processors, controllers, application specific integrated circuits (ASICs), digital signal processors (DSPs), and the like. The term processor is intended to describe the functions implemented by the system rather than specific hardware. Moreover, as used herein the term “memory” refers to any type of computer storage medium, including long term, short term, or other memory associated with the mobile device, 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. - The methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in
hardware 113 h,firmware 113 f,software 113 s, 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
memory 113 m and executed by theprocessor 113 p.Memory 113 m may be implemented within or external to theprocessor 113 p. 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 non-transitory 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 can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can 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. - Thus, the
server 110 includes a means for receiving location data about a wireless transmitter, the location data obtained from at least one of crowdsourcing and wardriving, which may be, e.g., theexternal interface 111; a means for determining a location for the wireless transmitter using the location data, such as thelocation processing module 114; and means for providing the location for the wireless transmitter to the wireless transmitter, such as theexternal interface 111. Theserver 110 may also include means for authenticating that the wireless transmitter is authorized to receive the location for the wireless transmitter prior to providing the location for the wireless transmitter to the wireless transmitter, which may be, e.g., theauthentication module 115. Theserver 110 may also include means for receiving data from the wireless transmitter, such as theexternal interface 111; and means for determining validity of the location for the wireless transmitter using the data received from the wireless transmitter, such as thelocation validation module 116. -
FIG. 6 is a flow chart illustrating a method of controlling a wireless transmitter in a distributed architecture. As illustrated, a wireless transmitter receives a location of the wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving (302). The wireless transmitter broadcasts the identity of the wireless transmitter along with the location (304). If desired, the wireless transmitter may also transmit verification data about the wireless transmitter to the server (306) and may receive an invalid location indicator when the location of the wireless transmitter is no longer reliable (308). The verification data may be, e.g., an identity of a nearby wireless transmitter and/or a time and duration of a power cycle for the wireless transmitter. -
FIG. 7 is a block diagram of awireless transmitter 120 in a distributed architecture for positioning. Thewireless transmitter 120 includes aninterface 127, which may include awireless interface 128 that is used to broadcast an identity and location, as well as communicate with and received identity information from other nearby wireless transmitters. Theinterface 127 of thewireless transmitter 120 may further include anexternal interface 129, which may be a wired interface, to communicate with a server, e.g., to receive from the server a location determined using at least one of crowdsourcing and wardriving, and to provide verification data about the wireless transmitter to the server. If desired, thewireless transmitter 120 may communicate with the server via thewireless interface 128. - The
wireless interface 128 andexternal interface 129 may be used in any various 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. Moreover, any combination of WWAN, WLAN and/or WPAN may be used. - The
wireless transmitter 120 also includes acontrol unit 123 that is connected to and communicates with theinterface 127. Thecontrol unit 123 accepts and processes the location from the server and broadcasts the identity of thewireless transmitter 120 along with the location via the interface, e.g.,wireless interface 128. Thecontrol unit 123 may be provided by abus 123 b,processor 123 p and associatedmemory 123 m,hardware 123 h,firmware 123 f, and software 123 s, and a clock 123 c, that is used to time the duration of any power cycles. Thecontrol unit 123 is further illustrated as including abroadcasting module 124 that receives the location and prepares a control frame or other broadcast message that includes the identity and location of the wireless transmitter. Thecontrol unit 123 further includes avalidation data module 126 that records power cycle data, as well as the identities of nearby visible wireless transmitters to be provided to theserver 110 to be provided to the server viaexternal interface 129. - The
broadcasting module 124 andvalidation data module 126 are illustrated separately fromprocessor 123 p for clarity, but may be part of theprocessor 123 p or implemented in the processor based on instructions in the software 123 s which is run in theprocessor 123 p. It will be understood as used herein that theprocessor 123 p can, but need not necessarily include, one or more microprocessors, embedded processors, controllers, application specific integrated circuits (ASICs), digital signal processors (DSPs), and the like. The term processor is intended to describe the functions implemented by the system rather than specific hardware. Moreover, as used herein the term “memory” refers to any type of computer storage medium, including long term, short term, or other memory associated with the mobile device, 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. - The methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in
hardware 123 h,firmware 123 f, software 123 s, 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
memory 123 m and executed by theprocessor 123 p.Memory 123 m may be implemented within or external to theprocessor 123 p. 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 non-transitory 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 can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can 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. - Thus,
wireless transmitter 120 includes means for receiving a location of the wireless transmitter from a remote server, the location determined using at least one of crowdsourcing and wardriving, which may be, e.g., theinterface 127 such as theexternal interface 129; and means for broadcasting an identity of the wireless transmitter with the location, such as thebroadcasting module 124 andinterface 127, e.g., thewireless interface 128. Thewireless transmitter 120 may additionally include means for transmitting verification data about the wireless transmitter to the remote server, such as thevalidation data module 126 andexternal interface 129; and means for receiving an invalid location indicator when the location for the wireless transmitter is no longer reliable, such as theexternal interface 129. -
FIG. 8 is a flow chart illustrating a method of determining a position of a mobile device using locations of wireless transmitters provided in a distributed architecture. As illustrated, a mobile device receives control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location for the wireless transmitter (402). The wireless transmitters may be, e.g., an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station, etc. A position calculation is performed for the mobile device using the location of each of the plurality of wireless transmitters (404). A position of the mobile device is reported for a location based service application when the position calculation is successful (406). Because the locations of the wireless transmitters are in the control frames provided by the wireless transmitters, data connectivity to the wireless transmitters is not necessary for the mobile device to determine a position. On the other hand, if the position calculation for the mobile device is not successful, a request may be made to a server for a location for any wireless transmitters that did not include the location in a received control frame. The location received from the server and the locations received from control frames may be used together to determine the position of the mobile device. -
FIG. 9 is a block diagram of amobile device 102 capable of determining a position using locations of wireless transmitters provided in a distributed architecture. Themobile device 102 includes awireless interface 103 that is used to receive broadcast information, including the identities and locations of wireless transmitters, such as access points, femtocells, Bluetooth Transmitters, radio-frequency identification (RFID) and near-field communication (NFC) stations. Themobile device 102 may further include auser interface 104 that may include e.g., a display, as well as a keypad or other input device through which the user can input information into themobile device 102. - The
wireless interface 103 may be used in any 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. Moreover, any combination of WWAN, WLAN and/or WPAN may be used. - The
mobile device 102 also includes acontrol unit 105 that is connected to and communicates with thewireless interface 103. Thecontrol unit 105 accepts and processes the locations provided by the wireless transmitters. Thecontrol unit 105 may be provided by abus 105 b,processor 105 p and associatedmemory 105 m,hardware 105 h,firmware 105 f, and software 105 s. Thecontrol unit 105 is further illustrated as including apositioning module 106, which generates the position of the mobile device based on the received locations. - The
positioning module 106 is illustrated separately fromprocessor 105 p for clarity, but may be part of theprocessor 105 p or implemented in the processor based on instructions in the software 105 s which is run in theprocessor 105 p. It will be understood as used herein that theprocessor 105 p can, but need not necessarily include, one or more microprocessors, embedded processors, controllers, application specific integrated circuits (ASICs), digital signal processors (DSPs), and the like. The term processor is intended to describe the functions implemented by the system rather than specific hardware. Moreover, as used herein the term “memory” refers to any type of computer storage medium, including long term, short term, or other memory associated with the mobile device, 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. - The methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in
hardware 105 h,firmware 105 f, software 105 s, 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
memory 105 m and executed by theprocessor 105 p.Memory 105 m may be implemented within or external to theprocessor 105 p. 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 non-transitory 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 can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can 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. - Thus,
mobile device 102 may include means for receiving with a mobile device control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and locations of the wireless transmitter, such aswireless interface 103. Means for performing a position calculation for the mobile device using the location of each of the plurality of wireless transmitters, may be, e.g., thepositioning module 106. Means for reporting a position of the mobile device for a location based service application when the position calculation is successful may be, e.g., thewireless interface 103 or, e.g., theprocessor 105 p when the location based service application is a local application. Means for requesting from a server a location for any wireless transmitters that did not include the location in a received control frame when the position calculation for the mobile device is not successful, may be, e.g., thewireless interface 103. Additionally, means for using the location received from the server and the locations received from control frames to determine the position of the mobile device may be, e.g., thepositioning module 106. - Although the present invention is illustrated in connection with specific embodiments for instructional purposes, the present invention is not limited thereto. Various adaptations and modifications may be made without departing from the scope of the invention. Therefore, the spirit and scope of the appended claims should not be limited to the foregoing description.
Claims (12)
1. A method comprising:
receiving with a mobile device control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location of the wireless transmitter, wherein the wireless transmitter is selected from a group consisting of an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station;
performing a position calculation for the mobile device using the location of each of the plurality of wireless transmitters; and
reporting a position of the mobile device for a location based service application when the position calculation is successful.
2. The method of claim 1 , further comprising requesting from a server a location of any wireless transmitters that did not include the location in a received control frame when the position calculation for the mobile device is not successful.
3. The method of claim 2 , further comprising using the location received from the server and locations received from control frames to determine the position of the mobile device.
4. A mobile device comprising:
a wireless interface capable of receiving control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location of the wireless transmitter, wherein the wireless transmitter is selected from a group consisting of an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station; and
a processor configured to perform a position calculation for the mobile device using the location of each of the plurality of wireless transmitters, and report a position for a location based service application when the position calculation is successful.
5. The mobile device of claim 4 , wherein the processor is further configured to request from a server via the wireless interface a location of any wireless transmitters that did not include the location in a received control frame when the position calculation is not successful.
6. The mobile device of claim 5 , further comprising using the location received from the server and locations received from control frames to determine the position of the mobile device.
7. A mobile device comprising:
means for receiving with a mobile device control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location of the wireless transmitter, wherein the wireless transmitter is selected from a group consisting of an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station;
means for performing a position calculation for the mobile device using the location of each of the plurality of wireless transmitters; and
means for reporting a position of the mobile device for a location based service application when the position calculation is successful.
8. The mobile device of claim 7 , further comprising means for requesting from a server a location of any wireless transmitters that did not include the location in a received control frame when the position calculation for the mobile device is not successful.
9. The mobile device of claim 8 , further comprising means for using the location received from the server and locations received from control frames to determine the position of the mobile device.
10. A non-transitory computer-readable medium including program code stored thereon for determining a position of a mobile device, comprising:
program code to receive with a mobile device control frames from a plurality of wireless transmitters, each control frame comprising an identity of a wireless transmitter and a location of the wireless transmitter, wherein the wireless transmitter is selected from a group consisting of an access point, a femtocell, Bluetooth Transmitter, radio-frequency identification (RFID) and near-field communication (NFC) station;
program code to perform a position calculation for the mobile device using the location of each of the plurality of wireless transmitters; and
program code to report the position of the mobile device for a location based service application when the position calculation is successful.
11. The non-transitory computer-readable medium of claim 10 , further comprising program code to request a location from a server for any wireless transmitters that did not include the location in a received control frame wherein when the position calculation for the mobile device is not successful.
12. The non-transitory computer-readable medium of claim 11 , further comprising program code to use the location received from the server and locations received from control frames to determine the position of the mobile device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/176,091 US20160286346A1 (en) | 2012-11-30 | 2016-06-07 | Distributed system architecture to provide wireless transmitter positioning |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261731998P | 2012-11-30 | 2012-11-30 | |
US13/748,286 US9392567B2 (en) | 2012-11-30 | 2013-01-23 | Distributed system architecture to provide wireless transmitter positioning |
US15/176,091 US20160286346A1 (en) | 2012-11-30 | 2016-06-07 | Distributed system architecture to provide wireless transmitter positioning |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/748,286 Division US9392567B2 (en) | 2012-11-30 | 2013-01-23 | Distributed system architecture to provide wireless transmitter positioning |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160286346A1 true US20160286346A1 (en) | 2016-09-29 |
Family
ID=50825933
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/748,286 Expired - Fee Related US9392567B2 (en) | 2012-11-30 | 2013-01-23 | Distributed system architecture to provide wireless transmitter positioning |
US15/176,091 Abandoned US20160286346A1 (en) | 2012-11-30 | 2016-06-07 | Distributed system architecture to provide wireless transmitter positioning |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/748,286 Expired - Fee Related US9392567B2 (en) | 2012-11-30 | 2013-01-23 | Distributed system architecture to provide wireless transmitter positioning |
Country Status (6)
Country | Link |
---|---|
US (2) | US9392567B2 (en) |
EP (1) | EP2926579A1 (en) |
JP (1) | JP2015537489A (en) |
KR (1) | KR20150091353A (en) |
CN (1) | CN104823466A (en) |
WO (1) | WO2014084962A1 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9402163B2 (en) * | 2013-07-19 | 2016-07-26 | Qualcomm Incorporated | In-building location security and privacy |
JP6246085B2 (en) * | 2014-07-01 | 2017-12-13 | 株式会社オプティム | Portable terminal, content panel display method, portable terminal program |
GB201506794D0 (en) * | 2015-04-21 | 2015-06-03 | Indoorz Ltd | Mobile device positioning system and method |
CN105407454A (en) * | 2015-11-23 | 2016-03-16 | 深圳还是威健康科技有限公司 | Binding method and device for wearable device |
US9959435B1 (en) | 2015-11-25 | 2018-05-01 | Impinj, Inc. | Location-based access to RFID tag information |
CA3009078A1 (en) | 2015-12-21 | 2017-06-29 | Genetec Inc. | Method and system for viral identification of evacuees |
US10997120B2 (en) * | 2017-03-16 | 2021-05-04 | Cisco Technology, Inc. | Systems and methods for device visiting frequency estimation |
US11399258B2 (en) * | 2017-06-18 | 2022-07-26 | George Zaloom | System for automatically determining the position and velocity of objects |
US10383072B2 (en) | 2017-06-28 | 2019-08-13 | Qualcomm Incorporated | Method and system for synchronization of sensing operations performed by a plurality of devices |
FR3124680B1 (en) * | 2021-06-29 | 2023-09-22 | Sigfox | Reliability of the geolocation of a terminal based on one or more identifiers of neighboring transmitter devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070287474A1 (en) * | 2006-03-28 | 2007-12-13 | Clarity Communication Systems, Inc. | Method and system for location based communication service |
US20100020776A1 (en) * | 2007-11-27 | 2010-01-28 | Google Inc. | Wireless network-based location approximation |
US20110102256A1 (en) * | 2009-11-02 | 2011-05-05 | Ntt Docomo, Inc. | Positioning system, positioning method, and positioning program |
US20120162013A1 (en) * | 2007-10-02 | 2012-06-28 | Ricoh Company Ltd. | Applications for Geographically Coded Access Points |
US20130191193A1 (en) * | 2012-01-23 | 2013-07-25 | Bank Of America Corporation | Shopping plan management |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3770046B2 (en) * | 2000-04-25 | 2006-04-26 | 松下電工株式会社 | Position detection system |
US6888811B2 (en) | 2001-09-24 | 2005-05-03 | Motorola, Inc. | Communication system for location sensitive information and method therefor |
US7263379B1 (en) | 2002-12-23 | 2007-08-28 | Sti Licensing Corp. | Communications network for emergency services personnel |
US8369264B2 (en) * | 2005-10-28 | 2013-02-05 | Skyhook Wireless, Inc. | Method and system for selecting and providing a relevant subset of Wi-Fi location information to a mobile client device so the client device may estimate its position with efficient utilization of resources |
JP4596943B2 (en) | 2005-03-24 | 2010-12-15 | 株式会社日立製作所 | Sensor network system, data transfer method and program |
EP2891896A1 (en) * | 2005-11-07 | 2015-07-08 | Qualcomm Incorporated | Positioning for WLANS and other wireless networks |
CN101014010B (en) * | 2007-02-05 | 2010-05-19 | 南京邮电大学 | Self-location determination method of wireless sensor network nodes based on mobile agent |
US20080227463A1 (en) * | 2007-03-14 | 2008-09-18 | Motorola, Inc. | Determining location information |
GB2460626A (en) | 2008-05-22 | 2009-12-09 | Geotate Bv | File creation system and method |
JP5211912B2 (en) * | 2008-07-24 | 2013-06-12 | 日本電気株式会社 | RADIO COMMUNICATION SYSTEM, MANAGEMENT DEVICE, MANAGEMENT DEVICE DATA PROCESSING METHOD, AND MONITORING METHOD |
US8768344B2 (en) * | 2008-12-22 | 2014-07-01 | Qualcomm Incorporated | Post-deployment calibration for wireless position determination |
US20120047087A1 (en) | 2009-03-25 | 2012-02-23 | Waldeck Technology Llc | Smart encounters |
US8965324B2 (en) | 2009-07-08 | 2015-02-24 | At&T Mobility Ii Llc | E911 services using distributed nodes |
US8150367B1 (en) | 2009-09-30 | 2012-04-03 | Google Inc. | System and method of determining a location based on location of detected signals |
GB2480210B (en) * | 2009-12-23 | 2012-01-18 | Univ Edinburgh | Locating electromagnetic signal sources |
US8543143B2 (en) * | 2009-12-23 | 2013-09-24 | Nokia Corporation | Method and apparatus for grouping points-of-interest according to area names |
WO2011093900A1 (en) * | 2010-02-01 | 2011-08-04 | Walker Jonathan B Sr | Hybrid wireless area network (wan) and global positioning system (gps) circuit board and method for seamless indoor and outdoor tracking |
US9119028B2 (en) * | 2010-04-14 | 2015-08-25 | Qualcomm Incorporated | Method and apparatus for supporting location services via a Home Node B (HNB) |
EP2378823A3 (en) * | 2010-04-15 | 2012-02-22 | Samsung Electronics Co., Ltd. | User Equipment and Server System for Updating Data Relating to Fixed Wireless Nodes |
US9161237B2 (en) | 2010-06-16 | 2015-10-13 | Nokia Technologies Oy | Checking a validity of coverage area position information |
US8447328B2 (en) | 2010-08-27 | 2013-05-21 | At&T Mobility Ii Llc | Location estimation of a mobile device in a UMTS network |
JP5093316B2 (en) * | 2010-09-09 | 2012-12-12 | ソニー株式会社 | Information processing apparatus, information processing method, information processing system, and program |
US20120208549A1 (en) * | 2011-02-15 | 2012-08-16 | Microsoft Corporation | Automatic check-out upon location departure |
US8594680B2 (en) * | 2011-02-16 | 2013-11-26 | Nokia Corporation | Methods, apparatuses and computer program products for providing a private and efficient geolocation system |
DE102011006181A1 (en) | 2011-03-25 | 2012-09-27 | Vodafone Holding Gmbh | System and method for radio-based localization of a terminal |
US9310462B2 (en) | 2012-09-07 | 2016-04-12 | Microsoft Technology Licensing, Llc | Locating a mobile computing device in an indoor environment |
-
2013
- 2013-01-23 US US13/748,286 patent/US9392567B2/en not_active Expired - Fee Related
- 2013-10-03 KR KR1020157017021A patent/KR20150091353A/en not_active Withdrawn
- 2013-10-03 EP EP13783427.1A patent/EP2926579A1/en not_active Withdrawn
- 2013-10-03 CN CN201380062051.0A patent/CN104823466A/en active Pending
- 2013-10-03 WO PCT/US2013/063289 patent/WO2014084962A1/en active Application Filing
- 2013-10-03 JP JP2015545041A patent/JP2015537489A/en active Pending
-
2016
- 2016-06-07 US US15/176,091 patent/US20160286346A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070287474A1 (en) * | 2006-03-28 | 2007-12-13 | Clarity Communication Systems, Inc. | Method and system for location based communication service |
US20120162013A1 (en) * | 2007-10-02 | 2012-06-28 | Ricoh Company Ltd. | Applications for Geographically Coded Access Points |
US20100020776A1 (en) * | 2007-11-27 | 2010-01-28 | Google Inc. | Wireless network-based location approximation |
US20110102256A1 (en) * | 2009-11-02 | 2011-05-05 | Ntt Docomo, Inc. | Positioning system, positioning method, and positioning program |
US20130191193A1 (en) * | 2012-01-23 | 2013-07-25 | Bank Of America Corporation | Shopping plan management |
Also Published As
Publication number | Publication date |
---|---|
EP2926579A1 (en) | 2015-10-07 |
CN104823466A (en) | 2015-08-05 |
US20140155086A1 (en) | 2014-06-05 |
WO2014084962A1 (en) | 2014-06-05 |
US9392567B2 (en) | 2016-07-12 |
KR20150091353A (en) | 2015-08-10 |
JP2015537489A (en) | 2015-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9392567B2 (en) | Distributed system architecture to provide wireless transmitter positioning | |
US9584528B2 (en) | Securing databases against piracy attacks | |
US8244241B2 (en) | WLAN network information caching | |
US9565530B2 (en) | Methods and apparatus for identifying and authorizing location servers and location services | |
KR20160077102A (en) | Peer based authentication | |
RU2010109858A (en) | ACCESS MANAGEMENT FOR A SELF-ORGANIZING BASIC STATION WITH A SMALL COVERAGE AREA | |
US10009319B2 (en) | Methods, apparatuses and articles for identifying and authorizing location servers and location services using a proxy location server | |
CN117221884B (en) | Base station system information management method and system | |
KR101546412B1 (en) | Methods, apparatuses and articles for identifying and authorizing location servers and location services using a proxy location server | |
JP7065181B2 (en) | Communication control device and terminal device | |
US20130344887A1 (en) | D-slp service area detection using area id | |
WO2021165736A1 (en) | Cloud-assisted cell search and cell measurement in wireless commnication | |
KR101615203B1 (en) | Secure mechanism for obtaining authorization for a discovered location server | |
CN105703905A (en) | Apparatus and method for providing positioning data based on authentication result | |
CN117643082A (en) | Method and device for acquiring perception service | |
WO2022077261A1 (en) | Communication method and related device | |
KR20150107810A (en) | Method and apparatus for configuring secure user plan location (supl) enabled terminals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: QUALCOMM INCORPORATED, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BHATIA, ASHOK;REEL/FRAME:038850/0987 Effective date: 20130620 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |