US20160286346A1 - Distributed system architecture to provide wireless transmitter positioning - Google Patents

Distributed system architecture to provide wireless transmitter positioning Download PDF

Info

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
Application number
US15/176,091
Inventor
Ashok Bhatia
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Priority to US15/176,091 priority Critical patent/US20160286346A1/en
Assigned to QUALCOMM INCORPORATED reassignment QUALCOMM INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BHATIA, ASHOK
Publication of US20160286346A1 publication Critical patent/US20160286346A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-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/0205Details
    • G01S5/0236Assistance data, e.g. base station almanac
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-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/0205Details
    • G01S5/0242Determining the position of transmitters to be subsequently used in positioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/206
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services 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 .

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

    CROSS-REFERENCE TO RELATED APPLICATION(S)
  • 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.
  • BACKGROUND
  • 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 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. When 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.
  • 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.
  • SUMMARY
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWING
  • 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.
  • DETAILED DESCRIPTION
  • 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.” As illustrated in FIG. 2, the server 110 periodically communicates with wireless transmitters 120A, 120B, and 120C, 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.
  • Wireless transmitters 120 broadcast their identities as well as their locations as provided by the server 114. For example, the wireless 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 the wireless 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 the mobile device 102 may also be included, and thus, the wireless transmitters 120 may be sometimes said to transmit location information. FIG. 3 illustrates, by way of example, a control frame 130 that may be produced by a wireless transmitter 120 to broadcast its identify and location. A control 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, 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.
  • 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 120A, 120B, and 120C, without connecting to the wireless transmitters. While decoding the identity of the wireless transmitters, e.g., MAC address or Cell ID, the mobile device 102 will also obtain the locations. As illustrated in FIG. 2, while mobile device 102 may still receive broadcast information from additional wireless transmitters, such as wireless transmitter 122, which does not receive its location from server 110 and does not broadcast its location, mobile device 102 may simply ignore wireless transmitter 122 for the purpose of determining a position fix. Thus, the mobile device 102 receives broadcasted locations directly from visible wireless transmitters 120 and therefore does not need to access a remote content server to receive regional content, i.e., tile information. Moreover, as mobile device 102 receives locations directly from the visible wireless transmitters, there is no need to download a regional database on the mobile device 102 thereby reducing bandwidth usage. As illustrated, the mobile device 102 may include a positioning module 106 that may use the broadcasted locations of wireless transmitters 120A, 120B, and 120C to determine a position fix for the mobile device 102.
  • If desired, wireless transmitters 120 may communicate with server 110 via network 101 b to provide data relevant to each wireless transmitter to the server 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 a wireless transmitter 120A indicates that it has recently undergone a power cycle, e.g., powered down and powered up, the wireless transmitter 120A may have been moved and therefore the validity of the location associated with the wireless transmitter 120A is in question. If the power cycle was brief, e.g., 15 seconds, it is unlikely that the wireless transmitter 120A was moved. If the power cycle was relatively large, e.g., 5 minutes or more, the wireless transmitter 120A may be have been moved and, thus, the location associated with the wireless transmitter 120A can no longer be relied upon. Accordingly, the server 110 may flag the location associated with wireless transmitter 120A as uncertain, update wireless transmitter 120A 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 120A. If desired, after a power cycle, or after a power cycle that exceeds a threshold, the wireless transmitter 120A 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 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 the server 110 the identity of visible wireless transmitters 120B, 120C, and 122. If the wireless transmitters that are identified as being visible by wireless transmitter 120A changes, the server 110 may flag the location associated with wireless transmitter 120A as uncertain and require re-validation or determination of a new location for wireless transmitter 120A. Alternatively, if wireless transmitter 120A indicates that, e.g., wireless transmitter 120B is no longer visible, but wireless transmitters 120C and 122 are visible, the server 110 may flag the location associated with wireless transmitter 120B as uncertain and require re-validation or determination of a new location for wireless transmitter 120A. Similarly, the wireless 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 from server 110 and, thus, do not require any self-location capability. When 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. 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 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. 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 the server 110, e.g., when free data connectivity (e.g., WiFi connection) is available. Moreover, power consumption of the mobile 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 from server 110, e.g., wireless transmitter 122 in FIG. 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 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. Thus, 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. 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 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. 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 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. 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 the processor 113 p. Memory 113 m may be implemented within or external to the processor 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., 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. 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 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. 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 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. 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 the processor 123 p. Memory 123 m may be implemented within or external to the processor 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., 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. 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 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. 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 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.
  • The positioning module 106 is illustrated separately from processor 105 p for clarity, but may be part of the processor 105 p or implemented in the processor based on instructions in the software 105 s which is run in the processor 105 p. It will be understood as used herein that the processor 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 the processor 105 p. Memory 105 m may be implemented within or external to the processor 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 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. 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., the positioning 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)

What is claimed is:
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.
US15/176,091 2012-11-30 2016-06-07 Distributed system architecture to provide wireless transmitter positioning Abandoned US20160286346A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
EP2333575B1 (en) * 2005-11-07 2019-10-02 Qualcomm Incorporated Positioning for WLANs and other wireless networks
CN101014010B (en) * 2007-02-05 2010-05-19 南京邮电大学 Method for determining self position of wireless sensor network node 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
CN102803985B (en) * 2009-12-23 2015-07-29 知维科技有限公司 Location electromagnetic signal source
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
WO2011158063A1 (en) 2010-06-16 2011-12-22 Nokia Corporation 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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
KR20150091353A (en) 2015-08-10
WO2014084962A1 (en) 2014-06-05
CN104823466A (en) 2015-08-05
US20140155086A1 (en) 2014-06-05
US9392567B2 (en) 2016-07-12
EP2926579A1 (en) 2015-10-07
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
US9386004B2 (en) Peer based authentication
US8743782B1 (en) Automated method to determine position of Wi-Fi access point to enable location based services
US9565530B2 (en) Methods and apparatus for identifying and authorizing location servers and location services
US8244241B2 (en) WLAN network information caching
JP2013531917A (en) Method and apparatus for discovering network capabilities for connecting to an access network
RU2010109858A (en) ACCESS MANAGEMENT FOR A SELF-ORGANIZING BASIC STATION WITH A SMALL COVERAGE AREA
JP2013528328A (en) Method and apparatus for authenticating a request for network capability to connect to an access network
US10009319B2 (en) Methods, apparatuses and articles for identifying and authorizing location servers and location services using a proxy location server
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
US9572124B2 (en) D-SLP service area detection using area ID
KR101615203B1 (en) Secure mechanism for obtaining authorization for a discovered location server
WO2022077261A1 (en) Communication method and related device
WO2021165736A1 (en) Cloud-assisted cell search and cell measurement in wireless commnication
CN117221884B (en) Base station system information management method and system
CN117643082A (en) Method and device for acquiring perception service

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