US20100261484A1 - Use of local position fix when remote position fix is unavailable - Google Patents

Use of local position fix when remote position fix is unavailable Download PDF

Info

Publication number
US20100261484A1
US20100261484A1 US11/634,350 US63435006A US2010261484A1 US 20100261484 A1 US20100261484 A1 US 20100261484A1 US 63435006 A US63435006 A US 63435006A US 2010261484 A1 US2010261484 A1 US 2010261484A1
Authority
US
United States
Prior art keywords
position fix
calculation
application
characteristic
remote computer
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.)
Granted
Application number
US11/634,350
Other versions
US7991408B2 (en
Inventor
Janell Paulson
George Thomas
Gurunath Ramaswamy
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
Palm 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 Palm Inc filed Critical Palm Inc
Priority to US11/634,350 priority Critical patent/US7991408B2/en
Assigned to PALM, INC. reassignment PALM, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PAULSON, JANELL, RAMASWAMY, GURUNATH, THOMAS, GEORGE
Priority to PCT/US2007/084150 priority patent/WO2008136859A1/en
Priority to EP07874262.4A priority patent/EP2092769A4/en
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. SECURITY AGREEMENT Assignors: PALM, INC.
Assigned to PALM, INC. reassignment PALM, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Publication of US20100261484A1 publication Critical patent/US20100261484A1/en
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PALM, INC.
Priority to US13/185,691 priority patent/US8213961B2/en
Application granted granted Critical
Publication of US7991408B2 publication Critical patent/US7991408B2/en
Assigned to PALM, INC. reassignment PALM, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PALM, INC.
Assigned to PALM, INC. reassignment PALM, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PALM, INC.
Assigned to QUALCOMM INCORPORATED reassignment QUALCOMM INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY, HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., PALM, INC.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system

Definitions

  • Some mobile computing devices provide location-based services to a user. For example, a user may use a mobile computing device to report their location to a 9-1-1 emergency service in the event of an emergency. Further, the mobile computing device may use a navigation application to provide directions from the user's current location to a desired destination.
  • Some location determination methods require the use of real-time wireless data from a wireless network.
  • An alternative method uses an on-board global positioning system receiver to acquire satellite data and provide a standalone position fix.
  • Wireless network carriers sometimes prefer that the mobile computing device use real-time wireless data instead of a standalone position fix, to maximize network usage and, accordingly, revenue.
  • wireless service is not available, such as when the mobile device is deep in a canyon, on a cruise ship, in a foreign country, or when there is a network failure due to a temporary block or other cause, etc.
  • the ability to obtain a position fix may nevertheless be useful in these scenarios.
  • FIG. 1 is a front view of a mobile computing device, according to an exemplary embodiment
  • FIG. 2 is a back view of a mobile computing device, according to an exemplary embodiment
  • FIG. 3 is a block diagram of the mobile computing device of FIGS. 1 and 2 , according to an exemplary embodiment
  • FIG. 4 is a flowchart illustrating a system and method for providing a position fix, according to an exemplary embodiment
  • FIG. 5 is a flowchart illustrating a system and method for providing a position fix, according to an alternative embodiment.
  • Device 100 is a smart phone, which is a combination mobile telephone and handheld computer having personal digital assistant functionality.
  • the teachings herein can be applied to other mobile computing devices (e.g., a laptop computer) or other electronic devices (e.g., a desktop personal computer, etc.).
  • Personal digital assistant functionality can comprise one or more of personal information management, database functions, word processing, spreadsheets, voice memo recording, etc. and is configured to synchronize personal information from one or more applications with a computer (e.g., desktop, laptop, server, etc.).
  • Device 100 is further configured to receive and operate additional applications provided to device 100 after manufacture, e.g., via wired or wireless download, SecureDigital card, etc.
  • Device 100 comprises a housing 11 having a front side 13 and a back side 17 ( FIG. 2 ).
  • An earpiece speaker 15 may be an electro-acoustic transducer configured to provide audio output with a volume suitable for a user placing earpiece 15 against or near the ear.
  • Loudspeaker 16 may be an electro-acoustic transducer that converts electrical signals into sounds loud enough to be heard at a distance. Loudspeaker 16 can be a used for a speakerphone functionality.
  • display 112 , user input device 110 , earpiece 15 and loudspeaker 16 may each be positioned anywhere on front side 13 , back side 17 or the edges therebetween.
  • Device 100 may provide voice communications functionality in accordance with different types of cellular radiotelephone systems.
  • cellular radiotelephone systems may include Code Division Multiple Access (CDMA) cellular radiotelephone communication systems, Global System for Mobile Communications (GSM) cellular radiotelephone systems, etc.
  • CDMA Code Division Multiple Access
  • GSM Global System for Mobile Communications
  • device 100 may be configured to provide data communications functionality in accordance with different types of cellular radiotelephone systems.
  • cellular radiotelephone systems offering data communications services may include GSM with General Packet Radio Service (GPRS) systems (GSM/GPRS), CDMA/1xRTT systems, Enhanced Data Rates for Global Evolution (EDGE) systems, Evolution Data Only or Evolution Data Optimized (EV-DO) systems, etc.
  • GPRS General Packet Radio Service
  • EDGE Enhanced Data Rates for Global Evolution
  • EV-DO Evolution Data Only or Evolution Data Optimized
  • Device 100 may be configured to provide voice and/or data communications functionality in accordance with different types of wireless network systems.
  • wireless network systems may include a wireless local area network (WLAN) system, wireless metropolitan area network (WMAN) system, wireless wide area network (WWAN) system, and so forth.
  • WLAN wireless local area network
  • WMAN wireless metropolitan area network
  • WWAN wireless wide area network
  • suitable wireless network systems offering data communication services may include the Institute of Electrical and Electronics Engineers (IEEE) 802.xx series of protocols, such as the IEEE 802.11a/b/g/n series of standard protocols and variants (also referred to as “WiFi”), the IEEE 802.16 series of standard protocols and variants (also referred to as “WiMAX”), the IEEE 802.20 series of standard protocols and variants, and so forth.
  • IEEE 802.xx series of protocols such as the IEEE 802.11a/b/g/n series of standard protocols and variants (also referred to as “WiFi”), the IEEE 802.16 series of standard protocols and variants (also
  • Device 100 may be configured to perform data communications in accordance with different types of shorter range wireless systems, such as a wireless personal area network (PAN) system.
  • PAN personal area network
  • a wireless PAN system offering data communication services may include a Bluetooth system operating in accordance with the Bluetooth Special Interest Group (SIG) series of protocols, including Bluetooth Specification versions v1.0, v1.1, v1.2, v2.0, v2.0 with Enhanced Data Rate (EDR), as well as one or more Bluetooth Profiles, and so forth.
  • SIG Bluetooth Special Interest Group
  • EDR Enhanced Data Rate
  • device 100 may comprise a dual processor architecture including a host processor 102 and a radio processor 104 (e.g., a base band processor).
  • the host processor 102 and the radio processor 104 may be configured to communicate with each other using interfaces 106 such as one or more universal serial bus (USB) interfaces, micro-USB interfaces, universal asynchronous receiver-transmitter (UART) interfaces, general purpose input/output (GPIO) interfaces, control/status lines, control/data lines, shared memory, and so forth.
  • USB universal serial bus
  • micro-USB interfaces micro-USB interfaces
  • UART universal asynchronous receiver-transmitter
  • GPIO general purpose input/output
  • the host processor 102 may be responsible for executing various software programs such as application programs and system programs to provide computing and processing operations for device 100 .
  • the radio processor 104 may be responsible for performing various voice and data communications operations for device 100 such as transmitting and receiving voice and data information over one or more wireless communications channels.
  • embodiments of the dual processor architecture may be described as comprising the host processor 102 and the radio processor 104 for purposes of illustration, the dual processor architecture of device 100 may comprise additional processors, may be implemented as a dual- or multi-core chip with both host processor 102 and radio processor 104 on a single chip, etc.
  • the host processor 102 may be implemented as a host central processing unit (CPU) using any suitable processor or logic device, such as a general purpose processor.
  • the host processor 102 may comprise, or be implemented as, a chip multiprocessor (CMP), dedicated processor, embedded processor, media processor, input/output (I/O) processor, co-processor, a field programmable gate array (FPGA), a programmable logic device (PLD), or other processing device in alternative embodiments.
  • CMP chip multiprocessor
  • I/O input/output
  • FPGA field programmable gate array
  • PLD programmable logic device
  • host processor 102 is an OMAP2, such as an OMAP2431 processor, manufactured by Texas Instruments, Inc.
  • the host processor 102 may be configured to provide processing or computing resources to device 100 .
  • the host processor 102 may be responsible for executing various software programs such as application programs and system programs to provide computing and processing operations for device 100 .
  • application programs may include, for example, a telephone application, voicemail application, e-mail application, instant message (IM) application, short message service (SMS) application, multimedia message service (MMS) application, web browser application, personal information manager (PIM) application, contact management application, calendar application, scheduling application, task management application, word processing application, spreadsheet application, database application, video player application, audio player application, multimedia player application, digital camera application, video camera application, media management application, a gaming application, and so forth.
  • the application software may provide a graphical user interface (GUI) to communicate information between device 100 and a user.
  • GUI graphical user interface
  • System programs assist in the running of a computer system.
  • System programs may be directly responsible for controlling, integrating, and managing the individual hardware components of the computer system.
  • Examples of system programs may include, for example, an operating system (OS), device drivers, programming tools, utility programs, software libraries, an application programming interface (API), graphical user interface (GUI), and so forth.
  • Device 100 may utilize any suitable OS in accordance with the described embodiments such as a Palm OS®, Palm OS® Cobalt, Microsoft® Windows OS, Microsoft Windows® CE, Microsoft Pocket PC, Microsoft Mobile, Symbian OSTM, Embedix OS, Linux, Binary Run-time Environment for Wireless (BREW) OS, JavaOS, a Wireless Application Protocol (WAP) OS, and so forth.
  • OS operating system
  • device drivers may include, for example, an operating system (OS), device drivers, programming tools, utility programs, software libraries, an application programming interface (API), graphical user interface (GUI), and so forth.
  • API application programming interface
  • GUI graphical user interface
  • Device 100 may utilize any suitable
  • Device 100 may comprise a memory 108 coupled to the host processor 102 .
  • the memory 108 may be configured to store one or more software programs to be executed by the host processor 102 .
  • the memory 108 may be implemented using any machine-readable or computer-readable media capable of storing data such as volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth.
  • Examples of machine-readable storage media may include, without limitation, random-access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), read-only memory (ROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory (e.g., NOR or NAND flash memory), or any other type of media suitable for storing information.
  • RAM random-access memory
  • DRAM dynamic RAM
  • DDRAM Double-Data-Rate DRAM
  • SDRAM synchronous DRAM
  • SRAM static RAM
  • ROM read-only memory
  • PROM programmable ROM
  • EPROM erasable programmable ROM
  • EEPROM electrically erasable programmable ROM
  • flash memory e.g., NOR or NAND flash memory
  • the memory 108 may be shown as being separate from the host processor 102 for purposes of illustration, in various embodiments some portion or the entire memory 108 may be included on the same integrated circuit as the host processor 102 . Alternatively, some portion or the entire memory 108 may be disposed on an integrated circuit or other medium (e.g., hard disk drive) external to the integrated circuit of host processor 102 . In various embodiments, device 100 may comprise an expansion slot to support a multimedia and/or memory card, for example.
  • Device 100 may comprise a user input device 110 coupled to the host processor 102 .
  • the user input device 110 may comprise, for example, a QWERTY key layout and an integrated number dial pad.
  • Device 100 also may comprise various keys, buttons, and switches such as, for example, input keys, preset and programmable hot keys, left and right action buttons, a navigation button such as a multidirectional navigation button, phone/send and power/end buttons, preset and programmable shortcut buttons, a volume rocker switch, a ringer on/off switch having a vibrate mode, a keypad, an alphanumeric keypad, and so forth.
  • the host processor 102 may be coupled to a display 112 .
  • the display 112 may comprise any suitable visual interface for displaying content to a user of device 100 .
  • the display 112 may be implemented by a liquid crystal display (LCD) such as a touch-sensitive color (e.g., 16-bit color) thin-film transistor (TFT) LCD screen.
  • the touch-sensitive LCD may be used with a stylus and/or a handwriting recognizer program.
  • Device 100 may comprise an input/output (I/O) interface 114 coupled to the host processor 102 .
  • the I/O interface 114 may comprise one or more I/O devices such as a serial connection port, an infrared port, integrated Bluetooth® wireless capability, and/or integrated 802.11x (WiFi) wireless capability, to enable wired (e.g., USB cable) and/or wireless connection to a local computer system, such as a local personal computer (PC).
  • device 100 may be configured to transfer and/or synchronize information with the local computer system.
  • the host processor 102 may be coupled to various audio/video (A/V) devices 116 that support A/V capability of device 100 .
  • A/V devices 116 may include, for example, a microphone, one or more speakers, an audio port to connect an audio headset, an audio coder/decoder (codec), an audio player, a digital camera, a video camera, a video codec, a video player, and so forth.
  • the host processor 102 may be coupled to a power supply 118 configured to supply and manage power to the elements of device 100 .
  • the power supply 118 may be implemented by a rechargeable battery, such as a removable and rechargeable lithium ion battery to provide direct current (DC) power, and/or an alternating current (AC) adapter to draw power from a standard AC main power supply.
  • the radio processor 104 may perform voice and/or data communication operations for device 100 .
  • the radio processor 104 may be configured to communicate voice information and/or data information over one or more assigned frequency bands of a wireless communication channel.
  • the radio processor 104 may be implemented as a communications processor using any suitable processor or logic device, such as a modem processor or baseband processor. Although some embodiments may be described with the radio processor 104 implemented as a modem processor or baseband processor by way of example, it may be appreciated that the embodiments are not limited in this context.
  • the radio processor 104 may comprise, or be implemented as, a digital signal processor (DSP), media access control (MAC) processor, or any other type of communications processor in accordance with the described embodiments.
  • Radio processor 104 may be any of a plurality of modems manufactured by Qualcomm, Inc.
  • the radio processor 104 may perform analog and/or digital baseband operations for device 100 .
  • the radio processor 104 may perform digital-to-analog conversion (DAC), analog-to-digital conversion (ADC), modulation, demodulation, encoding, decoding, encryption, decryption, and so forth.
  • DAC digital-to-analog conversion
  • ADC analog-to-digital conversion
  • modulation demodulation
  • encoding decoding
  • decoding encryption
  • decryption and so forth.
  • the Device 100 may comprise a transceiver module 120 coupled to the radio processor 104 .
  • the transceiver module 120 may comprise one or more transceivers configured to communicate using different types of protocols, communication ranges, operating power requirements, RF sub-bands, information types (e.g., voice or data), use scenarios, applications, and so forth.
  • the transceiver module 120 may comprise one or more transceivers configured to support voice communication for a cellular radiotelephone system such as a GSM, UMTS, and/or CDMA system.
  • the transceiver module 120 also may comprise one or more transceivers configured to perform data communications in accordance with one or more wireless communications protocols such as WWAN protocols (e.g., GSM/GPRS protocols, CDMA/1 xRTT protocols, EDGE protocols, EV-DO protocols, EV-DV protocols, HSDPA protocols, etc.), WLAN protocols (e.g., IEEE 802.11a/b/g/n, IEEE 802.16, IEEE 802.20, etc.), PAN protocols, Infrared protocols, Bluetooth protocols, EMI protocols including passive or active RFID protocols, and so forth.
  • WWAN protocols e.g., GSM/GPRS protocols, CDMA/1 xRTT protocols, EDGE protocols, EV-DO protocols, EV-DV protocols, HSDPA protocols, etc.
  • WLAN protocols e.g., IEEE 802.11a/b/g/n, IEEE 802.16, IEEE 802.20, etc.
  • PAN protocols e.g., IEEE 802.11a/b/g/n, IEEE 802.16,
  • the transceiver module 120 may be implemented using one or more chips as desired for a given implementation. Although the transceiver module 120 may be shown as being separate from and external to the radio processor 104 for purposes of illustration, in various embodiments some portion or the entire transceiver module 120 may be included on the same integrated circuit as the radio processor 104 .
  • Device 100 may comprise an antenna system 122 for transmitting and/or receiving electrical signals.
  • the antenna system 122 may be coupled to the radio processor 104 through the transceiver module 120 .
  • the antenna system 122 may comprise or be implemented as one or more internal antennas and/or external antennas.
  • Device 100 may comprise a memory 124 coupled to the radio processor 104 .
  • the memory 124 may be implemented using one or more types of machine-readable or computer-readable media capable of storing data such as volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, etc.
  • the memory 124 may comprise, for example, flash memory and secure digital (SD) RAM.
  • SD secure digital
  • SIM subscriber identity module
  • the SIM 126 may comprise, for example, a removable or non-removable smart card configured to encrypt voice and data transmissions and to store user-specific data for allowing a voice or data communications network to identify and authenticate the user.
  • the SIM 126 also may store data such as personal settings specific to the user.
  • Device 100 may comprise an I/O interface 128 coupled to the radio processor 104 .
  • the I/O interface 128 may comprise one or more I/O devices to enable wired (e.g., serial, cable, etc.) and/or wireless (e.g., WiFi, short range, etc.) communication between device 100 and one or more external computer systems.
  • wired e.g., serial, cable, etc.
  • wireless e.g., WiFi, short range, etc.
  • device 100 may comprise location determination capabilities.
  • Device 100 may employ one or more location determination techniques including, for example, Global Positioning System (GPS) techniques, Cell Global Identity (CGI) techniques, CGI including timing advance (TA) techniques, Enhanced Forward Link Trilateration (EFLT) techniques, Time Difference of Arrival (TDOA) techniques, Angle of Arrival (AOA) techniques, Advanced Forward Link Trilateration (AFTL) techniques, Observed Time Difference of Arrival (OTDOA), Enhanced Observed Time Difference (EOTD) techniques, Assisted GPS (AGPS) techniques, hybrid techniques (e.g., GPS/CGI, AGPS/CGI, GPS/AFTL or AGPS/AFTL for CDMA networks, GPS/EOTD or AGPS/EOTD for GSM/GPRS networks, GPS/OTDOA or AGPS/OTDOA for UMTS networks), etc.
  • GPS Global Positioning System
  • CGI Cell Global Identity
  • CGI including timing advance (TA) techniques, Enhanced Forward Link Trilateration (EFLT) techniques, Time Difference of Arrival (
  • Device 100 may be configured to operate in one or more location determination modes including, for example, a standalone mode, a mobile station (MS) assisted mode, and/or a MS-based mode.
  • a standalone mode such as a standalone GPS mode
  • device 100 may be configured to determine its position without receiving wireless navigation data from the network.
  • device 100 may comprise a local location determination circuit 134 (e.g., a GPS receiver) which may be integrated within housing 11 ( FIG. 1 ) configured to receive satellite data via an antenna 135 and to calculate a position fix.
  • Local location determination circuit may alternatively comprise a GPS receiver in a second housing separate from housing 11 but in the vicinity of device 100 and configured to communicate with device 100 wirelessly (e.g., via a PAN, such as Bluetooth).
  • device 100 When operating in an MS-assisted mode or an MS-based mode, however, device 100 may be configured to communicate over a radio access network 130 (e.g., UMTS radio access network) with a remote computer 132 (e.g., a location determination entity (PDE), a location proxy server (LPS) and/or a mobile positioning center (MPC), etc.).
  • a radio access network 130 e.g., UMTS radio access network
  • a remote computer 132 e.g., a location determination entity (PDE), a location proxy server (LPS) and/or a mobile positioning center (MPC), etc.
  • PDE location determination entity
  • LPS location proxy server
  • MPC mobile positioning center
  • the remote computer 132 may be configured to determine the position of the mobile computing device and provide wireless data comprising a position fix.
  • device 100 may be configured to determine its position using acquisition data or other wireless data from the remote computer 132 . The acquisition data may be provided periodically.
  • device 100 and the remote computer 132 may be configured to communicate according a suitable MS-PDE protocol (e.g., MS-LPS or MS-MPC protocol) such as the TIA/EIA standard IS-801 message protocol for MS-assisted and MS-based sessions in a CDMA radiotelephone system.
  • MS-PDE protocol e.g., MS-LPS or MS-MPC protocol
  • the remote computer 132 may handle various processing operations and also may provide information to aid location determination.
  • assisting information may include satellite-based measurements, terrestrial-based measurements, and/or system-based measurements such as satellite almanac information, GPS code phase measurements, ionospheric data, ephemeris data, time correction information, altitude estimates, timing offsets, forward/reverse link calibration, and so forth.
  • the assisting information provided by the remote computer 132 may improve the speed of satellite acquisition and the probability of a position fix by concentrating the search for a GPS signal and/or may improve the accuracy of location determination.
  • Each position fix or series of position fixes may be available at device 100 and/or at the remote computer 132 depending on the location determination mode.
  • data calls may be made and assisting information may be sent to device 100 from the remote computer 132 for every position fix.
  • data calls may be made and assistance information may be sent periodically and/or as needed.
  • device 100 may comprise dedicated hardware circuits or structures, or a combination of dedicated hardware and associated software, to support location determination.
  • the transceiver module 120 and the antenna system 122 may comprise GPS receiver or transceiver hardware and one or more associated antennas coupled to the radio processor 104 to support location determination.
  • the host processor 102 may comprise and/or implement at least one LBS (location-based service) application.
  • the LBS application may comprise any type of client application executed by the host processor 102 , such as a GPS application, configured to communicate location requests and location responses.
  • LBS applications include, without limitation, wireless 911 emergency services, roadside assistance, asset tracking, fleet management, friends and family locator services, dating services, and navigation services which may provide the user with maps, directions, routing, traffic updates, mass transit schedules, information regarding local points-of-interest (POI) such as restaurants, hotels, landmarks, and entertainment venues, and other types of LBS services in accordance with the described embodiments.
  • POI local points-of-interest
  • the LBS application may be configured to send a location request in response to receiving input from device 100 or from a source external to device 100 .
  • the user of device 100 may interact with a data input device to command the LBS application to send a location request.
  • the LBS application also may send a location request in response to receiving input from an external network element or computing device that is attempting to locate the user of device 100 .
  • the LBS application also may be configured to automatically, periodically, and/or autonomously send location requests.
  • the LBS application may request and receive position information to enhance the functionality of one or more of the other applications.
  • position information may be provided in conjunction with a messaging application to locate the sender or recipient of a message.
  • Position information may be provided to a web browser application to generate directions to a location associated with a particular website.
  • Positioning information may be provided to a personal management application to generate location-based alerts and/or directions to a meeting place.
  • the radio processor 104 may be configured to receive location requests from an LBS API handler on host processor 102 and may forward location responses to the LBS API handler for delivery to the LBS application through the LBS API.
  • Radio processor 104 may be configured to communicate securely over a network with remote computer 132 (e.g., PDE, LPS or MPC) configured to provide authentication and authorization services and/or a variety of geo-services.
  • remote computer 132 e.g., PDE, LPS or MPC
  • radio processor 104 may be configured to communicate with a PDE configured to verify privacy for location requests, allow authorized access to a location server, and provide various location server services.
  • Radio processor 104 also may be configured to communicate with a PDE to request and receive geo-service information. Examples of geo-service information may include mapping information, routing information, geo-coding and reverse geo-coding information for addresses and coordinates, POI information, and so forth.
  • Radio processor 104 may be configured to invoke a position fix by configuring a position engine and requesting a position fix.
  • a position engine interface on radio processor 104 may set configuration parameters that control the location determination process.
  • configuration parameters may include, without limitation, location determination mode (e.g., standalone, MS-assisted, MS-based), actual or estimated number of position fixes (e.g., single position fix, series of position fixes, request assisting information without a position fix), time interval between position fixes, Quality of Service (QoS) values, optimization parameters (e.g., optimized for speed, accuracy, or payload), PDE address (e.g., IP address and port number of LPS or MPC), etc.
  • location determination mode e.g., standalone, MS-assisted, MS-based
  • actual or estimated number of position fixes e.g., single position fix, series of position fixes, request assisting information without a position fix
  • time interval between position fixes e.g., Quality of Service (QoS) values
  • optimization parameters e
  • Radio processor 104 also may set request/response parameters to request and return various types of position information.
  • request/response parameters may include current location, latitude, longitude, altitude, heading, vector information such as horizontal and vertical velocity, sector-based position location, position fix method, level of accuracy, time offset, position uncertainty, device orientation, client initialization and registration, and so forth.
  • the radio processor 104 may comprise or implement a position engine such as a GPS engine.
  • the position engine may be configured to provide location determination capabilities for device 100 .
  • the position engine may be implemented as software operating in conjunction with hardware (e.g., GPS receiver hardware) allowing device 100 to receive and process GPS satellites signals for location determination.
  • the position engine may be implemented as a QUALCOMM® gpsOne® engine.
  • the position engine may employ one or more location determination techniques such as GPS, CGI, CGI+TA, EFLT, TDOA, AOA, AFTL, OTDOA, EOTD, AGPS, GPS/AGPS, hybrid techniques, and so forth.
  • the position engine also may be configured to operate in one or more location determination modes including a standalone mode, an MS-assisted mode, and an MS-based mode.
  • the determined position information generated and/or obtained by the position engine generally may comprise any type of information associated with the location of device 100 . Examples of position information may include, without limitation, current location, latitude, longitude, altitude, heading information, vector information such as horizontal and vertical velocity, sector-based position location, position fix information, position uncertainty, device orientation, and so forth.
  • the processor is configured to receive a request for a position fix from an application operable on the processor or operable on a nearby or remote processor.
  • the request for a position fix may come from a user via key pad 110 .
  • the position fix may be data representative of a position, typically expressed in terms of a latitude and longitude, though an alternative method of expression may be used such as a bearing and range.
  • device 100 is configured to determine whether device 100 has wireless service available, for example, from a wireless network operated by carrier within a range of device 100 . If wireless service is available, device 100 is configured at step 204 to determine whether remote computer 132 can provide a position fix (i.e., a first, remote position fix). A position fix may not be available for remote computer 132 for any number of reasons, for example, the network remote computer 132 may return an error indicating position fix capability not supported by the base station providing network access, capability normally supported by base station but temporarily not available or not enabled, data service not available, authentication failed, other errors supported by the IS-801 standard, etc.
  • a position fix i.e., a first, remote position fix
  • transceiver module 120 is configured to receive a position fix from remote computer 132 via the wireless network.
  • the processor of device 100 is configured to provide a position fix to the application which requested the position fix based on the position fix received from remote computer 132 .
  • the processor may provide the position fix from remote computer 132 to the application without further processing, calculation, or modification.
  • the processor may be configured to provide further processing, calculation or modification based on additional data (e.g., satellite data received by device 100 ) and provide suitably a modified position fix to the application.
  • the processor is configured to provide a position fix (e.g., a second, local position fix) from location determination circuit 134 to the application in response to the request.
  • a position fix e.g., a second, local position fix
  • the position fix provided to the application may be the same position fix provided by location determination circuit 134 , or the position fix received from location determination to circuit 134 may be further processed, calculated or modified based on additional data prior to sending to the application.
  • the processor is configured to receive a request for a position fix from an application (e.g., an LBS application or other application).
  • the processor is configured to determine whether the request includes a position fix calculation characteristic.
  • a position fix calculation characteristic may be a characteristic of the position fix calculation method that the application wishes to be used to calculate the position fix.
  • the application may request that the position fix returned in response to the request is calculated using a standalone process, an MS-based process, or an MS-assisted process.
  • the application may request that the calculation method have a predetermined calculation speed, calculation accuracy, and/or data source (e.g., whether satellite and position data received wirelessly from remote source may be used), which may be optimal speed, optimal accuracy or may comprise a desired level of one or more of speed and accuracy.
  • the processor may choose to use one or more of standalone, MS-based, MS-assisted or other calculation methods, or some combination thereof, to meet the characteristic or constraint or specification of the position fix request from the application. For example, a request for optimal accuracy may result in the use of the MS-assisted mode. Further, a request that the data source use as little data as possible from the wireless network may result in the calculation method applying an MS-based mode of calculation.
  • the processor is configured to determine whether or not a position fix from remote computer 132 is required, such as would be required in the MS-assisted method and perhaps other methods. If a position fix from remote computer 132 is not required, at step 308 , the position fix is calculated using the selected method and the position fix is provided to the application. Alternatively, if a position fix is required from remote computer 132 , at step 310 the processor determines whether wireless service is available and at 312 the processor determines whether remote computer 132 can provide a position fix. If both answers are yes, at step 314 the processor provides a position fix to the application based on a position fix from remote computer 132 . If the answer to either of steps 310 or 312 is no, the process continues at step 316 .
  • the processor is configured to determine whether a standalone position fix is allowed in a situation where the selected method requires a position fix from remote computer 132 .
  • the processor may be configured to read a flag or other memory location, which may be stored in non-volatile memory, which may indicate whether a standalone position fix is allowed.
  • the flag can be set based on the preference of a network carrier for favoring network-based position fixes, for example, to maximize revenue. If a standalone position fix is not allowed, no position fix is provided to the application.
  • a message may be returned to the application and/or to the user via display 112 and/or an audio output to indicate that position fix is unavailable.
  • the processor is configured to provide the position fix based on local location determination circuit 134 instead of basing the position fix calculated by remote computer 132 .
  • determination of whether a position fix from remote computer 132 is available may comprise either or both of steps 310 and 312 above.
  • an additional step may be provided between steps 306 and 310 (or elsewhere in a process) to determine whether the calculation characteristic requires an MS-based position fix and a determination of whether satellite acquisition data of sufficient acceptability is available. If such data is not available (e.g., wireless service is not available) and/or the data cannot be provided within the constraints of a selected position fix calculation method, a similar determination as in steps 316 , 318 , 320 can be made to determine whether a fallback to standalone position calculation from MS-based calculation is allowed and to provide position fix data based on that determination.
  • the processor may be configured to meet that request by not providing a position fix using the standalone mode (e.g., a local location determination circuit). In some circumstances, an application may require a calculation from remote computer 132 .
  • a network carrier wants to ensure that network access is required in an attempt to receive as much revenue as possible from access to the wireless network; and/or if a position request is received at device 100 from the network (e.g., is mobile terminated) and the application determines that a PDE calculation may be quicker if it can reduce the number of communications back and forth between the PDE and device 100 , etc.
  • device 100 is configured to enable and/or disable position fixes provided in a standalone mode in real time based on the ability of device 100 to acquire wireless data suitable for receiving a position fix from remote computer 132 .
  • device 100 can be configured to automatically enable and/or disable standalone position fixes as follows: if device 100 is in a location without service, device 100 automatically enables standalone position fixes, except when the application has explicitly requested that the fix be calculated at remote computer 132 ; if the mobile device is in a location with service, but the network is unable to provide position fixes (e.g., via remote computer 132 ), then automatically enable standalone position fixes, except when the application has explicitly requested that the fix be calculated at remote computer 132 ; and when mobile device 100 returns to a location with service and the network is able to provide position fixes, disable these “fallback to standalone” position fixes and utilize the network for position fixes.
  • device 100 can be configured to enable and/or disable a fallback to standalone option based on a setting, flag, or word in non-volatile memory of device 100 .
  • Device 100 may be configured to automatically (e.g., without a user pressing a button or issuing a command) switch to using standalone position fixes based on the status of a flag in non-volatile memory when position fixes are not available from remote computer 132 .
  • This embodiment provides the ability of a carrier to refuse to permit standalone position fixes even when carrier service is not available. When the fallback to standalone option is disabled, no standalone position fixes are permitted, regardless of wireless service availability.
  • standalone position fixes are enabled as follows: if the mobile device is in a location without service, automatically enable standalone position fixes; if the mobile device is in a location with service but the network is unable to provide position fixes, automatically enable standalone position fixes; if the mobile device returns to a location with service and the network is able to provide position fixes, disable the fall back to standalone feature and utilize the network for position fixes. A request for a standalone position fix will still be responded to with a standalone position fix.
  • device 100 when no wireless service is available and (1) the application or user has specifically requested that the fix be calculated by remote computer 132 , or (2) the non-volatile memory setting or item described in the paragraph above has been set to disable the “fallback to standalone” option, device 100 shall provide a message or indication to the application or to the user that a standalone position fix may be possible and the application or user shall be given the option of overriding the setting currently blocking standalone position fixes.
  • device 100 is configured to give precedence to position fixes calculated by remote computer 132 using network resources over standalone position fixes, though in alternative embodiments, other precedences may be provided.
  • device 100 may be configured to provide a last-known position fix to the application.
  • the various requests for position fixes described hereinabove may come from an application, from a user (e.g., a person using the device) or from another source.
  • the flag discussed with reference to step 316 of FIG. 5 may have more than two settings (e.g., other than allow and disallow).
  • a standalone position fix can be allowed based on one or more criteria, such as the number of errors being received or the types of errors being received from remote computer 132 when the position fix from remote computer 132 is requested.
  • Each error type may have its own configurable value of ‘allow’ or ‘disallow’, based on the carrier's or manufacturer's preference. For example, if data service is unavailable, one carrier may want standalone disallowed completely, while another carrier may want standalone allowed.
  • Error types may include, but not be limited to: “wireless service unavailable,” “device roaming,” “data authentication failure,” “PDE authentication failure,” “data service unavailable,” “wireless network failure,” “base station (BS) does not support service,” “BS does support service, but it is temporarily unavailable,” etc.
  • device 100 when a request includes a characteristic of MS-based mode along with a request for a selected or desired level of calculation speed and calculation accuracy, device 100 may be configured to determine that the requested calculation speed and calculation accuracy cannot be obtained without using MS-assisted mode, and device 100 may be configured to ignore or override the request that MS-based mode be used and instead use MS-assisted mode or otherwise request some additional data from remote computer 132 .

Abstract

A mobile computing device has a transceiver circuit, a location determination circuit, and a processing circuit. The transceiver circuit is configured to receive a remote position fix from a remote computer via a wireless network. The location determination circuit is configured to receive satellite data and to calculate a local position fix. The processing circuit is configured to operate an application, to receive a request for a position fix from the application, to determine whether the remote position fix is available, and to provide the local position fix to the application based on whether the remote position fix is available.

Description

    BACKGROUND
  • Some mobile computing devices provide location-based services to a user. For example, a user may use a mobile computing device to report their location to a 9-1-1 emergency service in the event of an emergency. Further, the mobile computing device may use a navigation application to provide directions from the user's current location to a desired destination.
  • Some location determination methods require the use of real-time wireless data from a wireless network. An alternative method uses an on-board global positioning system receiver to acquire satellite data and provide a standalone position fix. Wireless network carriers sometimes prefer that the mobile computing device use real-time wireless data instead of a standalone position fix, to maximize network usage and, accordingly, revenue. However, there are scenarios where wireless service is not available, such as when the mobile device is deep in a canyon, on a cruise ship, in a foreign country, or when there is a network failure due to a temporary block or other cause, etc. The ability to obtain a position fix may nevertheless be useful in these scenarios.
  • Accordingly, there is a need for a system and method for providing position fixes when real-time wireless data is unavailable. Further, there is a need for a system and method for providing a configurable location determination scheme which selectively allows standalone position fixes in accordance with wireless network carrier preferences. Further still, there is a need for a system and method for making use of a carrier's wireless network when wireless data is available, yet still allowing position fixes when the wireless data is unavailable.
  • The teachings herein extend to those embodiments which fall within the scope of the appended claims, regardless of whether they accomplish one or more of the above-mentioned needs.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a front view of a mobile computing device, according to an exemplary embodiment;
  • FIG. 2 is a back view of a mobile computing device, according to an exemplary embodiment;
  • FIG. 3 is a block diagram of the mobile computing device of FIGS. 1 and 2, according to an exemplary embodiment;
  • FIG. 4 is a flowchart illustrating a system and method for providing a position fix, according to an exemplary embodiment; and
  • FIG. 5 is a flowchart illustrating a system and method for providing a position fix, according to an alternative embodiment.
  • DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
  • The disclosure of U.S. patent application Ser. No. 11/469,374 filed Aug. 31, 2006 is incorporated by reference herein in its entirety.
  • Referring first to FIG. 1, a mobile computing device 100 is shown. Device 100 is a smart phone, which is a combination mobile telephone and handheld computer having personal digital assistant functionality. The teachings herein can be applied to other mobile computing devices (e.g., a laptop computer) or other electronic devices (e.g., a desktop personal computer, etc.). Personal digital assistant functionality can comprise one or more of personal information management, database functions, word processing, spreadsheets, voice memo recording, etc. and is configured to synchronize personal information from one or more applications with a computer (e.g., desktop, laptop, server, etc.). Device 100 is further configured to receive and operate additional applications provided to device 100 after manufacture, e.g., via wired or wireless download, SecureDigital card, etc.
  • Device 100 comprises a housing 11 having a front side 13 and a back side 17 (FIG. 2). An earpiece speaker 15 may be an electro-acoustic transducer configured to provide audio output with a volume suitable for a user placing earpiece 15 against or near the ear. Loudspeaker 16 may be an electro-acoustic transducer that converts electrical signals into sounds loud enough to be heard at a distance. Loudspeaker 16 can be a used for a speakerphone functionality. In alternative embodiments, display 112, user input device 110, earpiece 15 and loudspeaker 16 may each be positioned anywhere on front side 13, back side 17 or the edges therebetween.
  • Device 100 may provide voice communications functionality in accordance with different types of cellular radiotelephone systems. Examples of cellular radiotelephone systems may include Code Division Multiple Access (CDMA) cellular radiotelephone communication systems, Global System for Mobile Communications (GSM) cellular radiotelephone systems, etc.
  • In addition to voice communications functionality, device 100 may be configured to provide data communications functionality in accordance with different types of cellular radiotelephone systems. Examples of cellular radiotelephone systems offering data communications services may include GSM with General Packet Radio Service (GPRS) systems (GSM/GPRS), CDMA/1xRTT systems, Enhanced Data Rates for Global Evolution (EDGE) systems, Evolution Data Only or Evolution Data Optimized (EV-DO) systems, etc.
  • Device 100 may be configured to provide voice and/or data communications functionality in accordance with different types of wireless network systems. Examples of wireless network systems may include a wireless local area network (WLAN) system, wireless metropolitan area network (WMAN) system, wireless wide area network (WWAN) system, and so forth. Examples of suitable wireless network systems offering data communication services may include the Institute of Electrical and Electronics Engineers (IEEE) 802.xx series of protocols, such as the IEEE 802.11a/b/g/n series of standard protocols and variants (also referred to as “WiFi”), the IEEE 802.16 series of standard protocols and variants (also referred to as “WiMAX”), the IEEE 802.20 series of standard protocols and variants, and so forth.
  • Device 100 may be configured to perform data communications in accordance with different types of shorter range wireless systems, such as a wireless personal area network (PAN) system. One example of a suitable wireless PAN system offering data communication services may include a Bluetooth system operating in accordance with the Bluetooth Special Interest Group (SIG) series of protocols, including Bluetooth Specification versions v1.0, v1.1, v1.2, v2.0, v2.0 with Enhanced Data Rate (EDR), as well as one or more Bluetooth Profiles, and so forth.
  • As shown in the embodiment of FIG. 3, device 100 may comprise a dual processor architecture including a host processor 102 and a radio processor 104 (e.g., a base band processor). The host processor 102 and the radio processor 104 may be configured to communicate with each other using interfaces 106 such as one or more universal serial bus (USB) interfaces, micro-USB interfaces, universal asynchronous receiver-transmitter (UART) interfaces, general purpose input/output (GPIO) interfaces, control/status lines, control/data lines, shared memory, and so forth.
  • The host processor 102 may be responsible for executing various software programs such as application programs and system programs to provide computing and processing operations for device 100. The radio processor 104 may be responsible for performing various voice and data communications operations for device 100 such as transmitting and receiving voice and data information over one or more wireless communications channels. Although embodiments of the dual processor architecture may be described as comprising the host processor 102 and the radio processor 104 for purposes of illustration, the dual processor architecture of device 100 may comprise additional processors, may be implemented as a dual- or multi-core chip with both host processor 102 and radio processor 104 on a single chip, etc.
  • In various embodiments, the host processor 102 may be implemented as a host central processing unit (CPU) using any suitable processor or logic device, such as a general purpose processor. The host processor 102 may comprise, or be implemented as, a chip multiprocessor (CMP), dedicated processor, embedded processor, media processor, input/output (I/O) processor, co-processor, a field programmable gate array (FPGA), a programmable logic device (PLD), or other processing device in alternative embodiments. In an exemplary embodiment, host processor 102 is an OMAP2, such as an OMAP2431 processor, manufactured by Texas Instruments, Inc.
  • The host processor 102 may be configured to provide processing or computing resources to device 100. For example, the host processor 102 may be responsible for executing various software programs such as application programs and system programs to provide computing and processing operations for device 100. Examples of application programs may include, for example, a telephone application, voicemail application, e-mail application, instant message (IM) application, short message service (SMS) application, multimedia message service (MMS) application, web browser application, personal information manager (PIM) application, contact management application, calendar application, scheduling application, task management application, word processing application, spreadsheet application, database application, video player application, audio player application, multimedia player application, digital camera application, video camera application, media management application, a gaming application, and so forth. The application software may provide a graphical user interface (GUI) to communicate information between device 100 and a user.
  • System programs assist in the running of a computer system. System programs may be directly responsible for controlling, integrating, and managing the individual hardware components of the computer system. Examples of system programs may include, for example, an operating system (OS), device drivers, programming tools, utility programs, software libraries, an application programming interface (API), graphical user interface (GUI), and so forth. Device 100 may utilize any suitable OS in accordance with the described embodiments such as a Palm OS®, Palm OS® Cobalt, Microsoft® Windows OS, Microsoft Windows® CE, Microsoft Pocket PC, Microsoft Mobile, Symbian OS™, Embedix OS, Linux, Binary Run-time Environment for Wireless (BREW) OS, JavaOS, a Wireless Application Protocol (WAP) OS, and so forth.
  • Device 100 may comprise a memory 108 coupled to the host processor 102. In various embodiments, the memory 108 may be configured to store one or more software programs to be executed by the host processor 102. The memory 108 may be implemented using any machine-readable or computer-readable media capable of storing data such as volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Examples of machine-readable storage media may include, without limitation, random-access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), read-only memory (ROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory (e.g., NOR or NAND flash memory), or any other type of media suitable for storing information.
  • Although the memory 108 may be shown as being separate from the host processor 102 for purposes of illustration, in various embodiments some portion or the entire memory 108 may be included on the same integrated circuit as the host processor 102. Alternatively, some portion or the entire memory 108 may be disposed on an integrated circuit or other medium (e.g., hard disk drive) external to the integrated circuit of host processor 102. In various embodiments, device 100 may comprise an expansion slot to support a multimedia and/or memory card, for example.
  • Device 100 may comprise a user input device 110 coupled to the host processor 102. The user input device 110 may comprise, for example, a QWERTY key layout and an integrated number dial pad. Device 100 also may comprise various keys, buttons, and switches such as, for example, input keys, preset and programmable hot keys, left and right action buttons, a navigation button such as a multidirectional navigation button, phone/send and power/end buttons, preset and programmable shortcut buttons, a volume rocker switch, a ringer on/off switch having a vibrate mode, a keypad, an alphanumeric keypad, and so forth.
  • The host processor 102 may be coupled to a display 112. The display 112 may comprise any suitable visual interface for displaying content to a user of device 100. For example, the display 112 may be implemented by a liquid crystal display (LCD) such as a touch-sensitive color (e.g., 16-bit color) thin-film transistor (TFT) LCD screen. In some embodiments, the touch-sensitive LCD may be used with a stylus and/or a handwriting recognizer program.
  • Device 100 may comprise an input/output (I/O) interface 114 coupled to the host processor 102. The I/O interface 114 may comprise one or more I/O devices such as a serial connection port, an infrared port, integrated Bluetooth® wireless capability, and/or integrated 802.11x (WiFi) wireless capability, to enable wired (e.g., USB cable) and/or wireless connection to a local computer system, such as a local personal computer (PC). In various implementations, device 100 may be configured to transfer and/or synchronize information with the local computer system.
  • The host processor 102 may be coupled to various audio/video (A/V) devices 116 that support A/V capability of device 100. Examples of A/V devices 116 may include, for example, a microphone, one or more speakers, an audio port to connect an audio headset, an audio coder/decoder (codec), an audio player, a digital camera, a video camera, a video codec, a video player, and so forth.
  • The host processor 102 may be coupled to a power supply 118 configured to supply and manage power to the elements of device 100. In various embodiments, the power supply 118 may be implemented by a rechargeable battery, such as a removable and rechargeable lithium ion battery to provide direct current (DC) power, and/or an alternating current (AC) adapter to draw power from a standard AC main power supply.
  • As mentioned above, the radio processor 104 may perform voice and/or data communication operations for device 100. For example, the radio processor 104 may be configured to communicate voice information and/or data information over one or more assigned frequency bands of a wireless communication channel. In various embodiments, the radio processor 104 may be implemented as a communications processor using any suitable processor or logic device, such as a modem processor or baseband processor. Although some embodiments may be described with the radio processor 104 implemented as a modem processor or baseband processor by way of example, it may be appreciated that the embodiments are not limited in this context. For example, the radio processor 104 may comprise, or be implemented as, a digital signal processor (DSP), media access control (MAC) processor, or any other type of communications processor in accordance with the described embodiments. Radio processor 104 may be any of a plurality of modems manufactured by Qualcomm, Inc.
  • In various embodiments, the radio processor 104 may perform analog and/or digital baseband operations for device 100. For example, the radio processor 104 may perform digital-to-analog conversion (DAC), analog-to-digital conversion (ADC), modulation, demodulation, encoding, decoding, encryption, decryption, and so forth.
  • Device 100 may comprise a transceiver module 120 coupled to the radio processor 104. The transceiver module 120 may comprise one or more transceivers configured to communicate using different types of protocols, communication ranges, operating power requirements, RF sub-bands, information types (e.g., voice or data), use scenarios, applications, and so forth. In various embodiments, the transceiver module 120 may comprise one or more transceivers configured to support voice communication for a cellular radiotelephone system such as a GSM, UMTS, and/or CDMA system. The transceiver module 120 also may comprise one or more transceivers configured to perform data communications in accordance with one or more wireless communications protocols such as WWAN protocols (e.g., GSM/GPRS protocols, CDMA/1 xRTT protocols, EDGE protocols, EV-DO protocols, EV-DV protocols, HSDPA protocols, etc.), WLAN protocols (e.g., IEEE 802.11a/b/g/n, IEEE 802.16, IEEE 802.20, etc.), PAN protocols, Infrared protocols, Bluetooth protocols, EMI protocols including passive or active RFID protocols, and so forth.
  • The transceiver module 120 may be implemented using one or more chips as desired for a given implementation. Although the transceiver module 120 may be shown as being separate from and external to the radio processor 104 for purposes of illustration, in various embodiments some portion or the entire transceiver module 120 may be included on the same integrated circuit as the radio processor 104.
  • Device 100 may comprise an antenna system 122 for transmitting and/or receiving electrical signals. As shown, the antenna system 122 may be coupled to the radio processor 104 through the transceiver module 120. The antenna system 122 may comprise or be implemented as one or more internal antennas and/or external antennas.
  • Device 100 may comprise a memory 124 coupled to the radio processor 104. The memory 124 may be implemented using one or more types of machine-readable or computer-readable media capable of storing data such as volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, etc. The memory 124 may comprise, for example, flash memory and secure digital (SD) RAM. Although the memory 124 may be shown as being separate from and external to the radio processor 104 for purposes of illustration, in various embodiments some portion or the entire memory 124 may be included on the same integrated circuit as the radio processor 104.
  • Device 100 may comprise a subscriber identity module (SIM) 126 coupled to the radio processor 104. The SIM 126 may comprise, for example, a removable or non-removable smart card configured to encrypt voice and data transmissions and to store user-specific data for allowing a voice or data communications network to identify and authenticate the user. The SIM 126 also may store data such as personal settings specific to the user.
  • Device 100 may comprise an I/O interface 128 coupled to the radio processor 104. The I/O interface 128 may comprise one or more I/O devices to enable wired (e.g., serial, cable, etc.) and/or wireless (e.g., WiFi, short range, etc.) communication between device 100 and one or more external computer systems.
  • In various embodiments, device 100 may comprise location determination capabilities. Device 100 may employ one or more location determination techniques including, for example, Global Positioning System (GPS) techniques, Cell Global Identity (CGI) techniques, CGI including timing advance (TA) techniques, Enhanced Forward Link Trilateration (EFLT) techniques, Time Difference of Arrival (TDOA) techniques, Angle of Arrival (AOA) techniques, Advanced Forward Link Trilateration (AFTL) techniques, Observed Time Difference of Arrival (OTDOA), Enhanced Observed Time Difference (EOTD) techniques, Assisted GPS (AGPS) techniques, hybrid techniques (e.g., GPS/CGI, AGPS/CGI, GPS/AFTL or AGPS/AFTL for CDMA networks, GPS/EOTD or AGPS/EOTD for GSM/GPRS networks, GPS/OTDOA or AGPS/OTDOA for UMTS networks), etc.
  • Device 100 may be configured to operate in one or more location determination modes including, for example, a standalone mode, a mobile station (MS) assisted mode, and/or a MS-based mode. In a standalone mode, such as a standalone GPS mode, device 100 may be configured to determine its position without receiving wireless navigation data from the network. In a standalone mode, device 100 may comprise a local location determination circuit 134 (e.g., a GPS receiver) which may be integrated within housing 11 (FIG. 1) configured to receive satellite data via an antenna 135 and to calculate a position fix. Local location determination circuit may alternatively comprise a GPS receiver in a second housing separate from housing 11 but in the vicinity of device 100 and configured to communicate with device 100 wirelessly (e.g., via a PAN, such as Bluetooth). When operating in an MS-assisted mode or an MS-based mode, however, device 100 may be configured to communicate over a radio access network 130 (e.g., UMTS radio access network) with a remote computer 132 (e.g., a location determination entity (PDE), a location proxy server (LPS) and/or a mobile positioning center (MPC), etc.).
  • In an MS-assisted mode, such as an MS-assisted AGPS mode, the remote computer 132 may be configured to determine the position of the mobile computing device and provide wireless data comprising a position fix. In an MS-based mode, such as an MS-based AGPS mode, device 100 may be configured to determine its position using acquisition data or other wireless data from the remote computer 132. The acquisition data may be provided periodically. In various implementations, device 100 and the remote computer 132 may be configured to communicate according a suitable MS-PDE protocol (e.g., MS-LPS or MS-MPC protocol) such as the TIA/EIA standard IS-801 message protocol for MS-assisted and MS-based sessions in a CDMA radiotelephone system.
  • When assisting the mobile computer device 100, the remote computer 132 may handle various processing operations and also may provide information to aid location determination. Examples of assisting information may include satellite-based measurements, terrestrial-based measurements, and/or system-based measurements such as satellite almanac information, GPS code phase measurements, ionospheric data, ephemeris data, time correction information, altitude estimates, timing offsets, forward/reverse link calibration, and so forth.
  • In various implementations, the assisting information provided by the remote computer 132 may improve the speed of satellite acquisition and the probability of a position fix by concentrating the search for a GPS signal and/or may improve the accuracy of location determination. Each position fix or series of position fixes may be available at device 100 and/or at the remote computer 132 depending on the location determination mode. In some cases, data calls may be made and assisting information may be sent to device 100 from the remote computer 132 for every position fix. In other cases, data calls may be made and assistance information may be sent periodically and/or as needed.
  • In various embodiments, device 100 may comprise dedicated hardware circuits or structures, or a combination of dedicated hardware and associated software, to support location determination. For example, the transceiver module 120 and the antenna system 122 may comprise GPS receiver or transceiver hardware and one or more associated antennas coupled to the radio processor 104 to support location determination.
  • The host processor 102 may comprise and/or implement at least one LBS (location-based service) application. In general, the LBS application may comprise any type of client application executed by the host processor 102, such as a GPS application, configured to communicate location requests and location responses. Examples of LBS applications include, without limitation, wireless 911 emergency services, roadside assistance, asset tracking, fleet management, friends and family locator services, dating services, and navigation services which may provide the user with maps, directions, routing, traffic updates, mass transit schedules, information regarding local points-of-interest (POI) such as restaurants, hotels, landmarks, and entertainment venues, and other types of LBS services in accordance with the described embodiments.
  • The LBS application may be configured to send a location request in response to receiving input from device 100 or from a source external to device 100. For example, the user of device 100 may interact with a data input device to command the LBS application to send a location request. The LBS application also may send a location request in response to receiving input from an external network element or computing device that is attempting to locate the user of device 100. In some cases, the LBS application also may be configured to automatically, periodically, and/or autonomously send location requests.
  • Although other applications may operate without regard to the location of device 100, in various embodiments, the LBS application may request and receive position information to enhance the functionality of one or more of the other applications. For example, position information may be provided in conjunction with a messaging application to locate the sender or recipient of a message. Position information may be provided to a web browser application to generate directions to a location associated with a particular website. Positioning information may be provided to a personal management application to generate location-based alerts and/or directions to a meeting place.
  • The radio processor 104 may be configured to receive location requests from an LBS API handler on host processor 102 and may forward location responses to the LBS API handler for delivery to the LBS application through the LBS API. Radio processor 104 may be configured to communicate securely over a network with remote computer 132 (e.g., PDE, LPS or MPC) configured to provide authentication and authorization services and/or a variety of geo-services. For example, radio processor 104 may be configured to communicate with a PDE configured to verify privacy for location requests, allow authorized access to a location server, and provide various location server services. Radio processor 104 also may be configured to communicate with a PDE to request and receive geo-service information. Examples of geo-service information may include mapping information, routing information, geo-coding and reverse geo-coding information for addresses and coordinates, POI information, and so forth.
  • Radio processor 104 may be configured to invoke a position fix by configuring a position engine and requesting a position fix. For example, a position engine interface on radio processor 104 may set configuration parameters that control the location determination process. Examples of configuration parameters may include, without limitation, location determination mode (e.g., standalone, MS-assisted, MS-based), actual or estimated number of position fixes (e.g., single position fix, series of position fixes, request assisting information without a position fix), time interval between position fixes, Quality of Service (QoS) values, optimization parameters (e.g., optimized for speed, accuracy, or payload), PDE address (e.g., IP address and port number of LPS or MPC), etc.
  • Radio processor 104 also may set request/response parameters to request and return various types of position information. Examples of request/response parameters may include current location, latitude, longitude, altitude, heading, vector information such as horizontal and vertical velocity, sector-based position location, position fix method, level of accuracy, time offset, position uncertainty, device orientation, client initialization and registration, and so forth.
  • The radio processor 104 may comprise or implement a position engine such as a GPS engine. In various embodiments, the position engine may be configured to provide location determination capabilities for device 100. In some embodiments, the position engine may be implemented as software operating in conjunction with hardware (e.g., GPS receiver hardware) allowing device 100 to receive and process GPS satellites signals for location determination. In one embodiment, the position engine may be implemented as a QUALCOMM® gpsOne® engine.
  • In various implementations, the position engine may employ one or more location determination techniques such as GPS, CGI, CGI+TA, EFLT, TDOA, AOA, AFTL, OTDOA, EOTD, AGPS, GPS/AGPS, hybrid techniques, and so forth. The position engine also may be configured to operate in one or more location determination modes including a standalone mode, an MS-assisted mode, and an MS-based mode. The determined position information generated and/or obtained by the position engine generally may comprise any type of information associated with the location of device 100. Examples of position information may include, without limitation, current location, latitude, longitude, altitude, heading information, vector information such as horizontal and vertical velocity, sector-based position location, position fix information, position uncertainty, device orientation, and so forth.
  • Referring now to FIG. 4, a system and method for providing a position fix will be described according to an exemplary embodiment. Method steps described in FIG. 4 and the alternative embodiment of FIG. 5 may be performed in one or more of host processor 102 and radio processor 104 or, in a single processor application, on the single processor. At step 200, the processor is configured to receive a request for a position fix from an application operable on the processor or operable on a nearby or remote processor. Alternatively, the request for a position fix may come from a user via key pad 110. The position fix may be data representative of a position, typically expressed in terms of a latitude and longitude, though an alternative method of expression may be used such as a bearing and range.
  • At step 202, device 100 is configured to determine whether device 100 has wireless service available, for example, from a wireless network operated by carrier within a range of device 100. If wireless service is available, device 100 is configured at step 204 to determine whether remote computer 132 can provide a position fix (i.e., a first, remote position fix). A position fix may not be available for remote computer 132 for any number of reasons, for example, the network remote computer 132 may return an error indicating position fix capability not supported by the base station providing network access, capability normally supported by base station but temporarily not available or not enabled, data service not available, authentication failed, other errors supported by the IS-801 standard, etc.
  • If remote computer 132 can provide a position fix for device 100, transceiver module 120 is configured to receive a position fix from remote computer 132 via the wireless network. The processor of device 100 is configured to provide a position fix to the application which requested the position fix based on the position fix received from remote computer 132. For example, the processor may provide the position fix from remote computer 132 to the application without further processing, calculation, or modification. Alternatively, the processor may be configured to provide further processing, calculation or modification based on additional data (e.g., satellite data received by device 100) and provide suitably a modified position fix to the application. At step 208, the processor is configured to provide a position fix (e.g., a second, local position fix) from location determination circuit 134 to the application in response to the request. The position fix provided to the application may be the same position fix provided by location determination circuit 134, or the position fix received from location determination to circuit 134 may be further processed, calculated or modified based on additional data prior to sending to the application.
  • Referring now to FIG. 5, a system and method for providing a position fix according to an alternative embodiment will be described. At step 300, the processor is configured to receive a request for a position fix from an application (e.g., an LBS application or other application). At step 302, the processor is configured to determine whether the request includes a position fix calculation characteristic. A position fix calculation characteristic may be a characteristic of the position fix calculation method that the application wishes to be used to calculate the position fix. For example, and as shown in step 304, the application may request that the position fix returned in response to the request is calculated using a standalone process, an MS-based process, or an MS-assisted process. Further, the application may request that the calculation method have a predetermined calculation speed, calculation accuracy, and/or data source (e.g., whether satellite and position data received wirelessly from remote source may be used), which may be optimal speed, optimal accuracy or may comprise a desired level of one or more of speed and accuracy. Further, based on the characteristics of calculation speed, calculation accuracy and data source, the processor may choose to use one or more of standalone, MS-based, MS-assisted or other calculation methods, or some combination thereof, to meet the characteristic or constraint or specification of the position fix request from the application. For example, a request for optimal accuracy may result in the use of the MS-assisted mode. Further, a request that the data source use as little data as possible from the wireless network may result in the calculation method applying an MS-based mode of calculation.
  • At step 306, the processor is configured to determine whether or not a position fix from remote computer 132 is required, such as would be required in the MS-assisted method and perhaps other methods. If a position fix from remote computer 132 is not required, at step 308, the position fix is calculated using the selected method and the position fix is provided to the application. Alternatively, if a position fix is required from remote computer 132, at step 310 the processor determines whether wireless service is available and at 312 the processor determines whether remote computer 132 can provide a position fix. If both answers are yes, at step 314 the processor provides a position fix to the application based on a position fix from remote computer 132. If the answer to either of steps 310 or 312 is no, the process continues at step 316.
  • At step 316, the processor is configured to determine whether a standalone position fix is allowed in a situation where the selected method requires a position fix from remote computer 132. The processor may be configured to read a flag or other memory location, which may be stored in non-volatile memory, which may indicate whether a standalone position fix is allowed. The flag can be set based on the preference of a network carrier for favoring network-based position fixes, for example, to maximize revenue. If a standalone position fix is not allowed, no position fix is provided to the application. At step 318, a message may be returned to the application and/or to the user via display 112 and/or an audio output to indicate that position fix is unavailable. If a standalone position fix is allowed, at step 320 the processor is configured to provide the position fix based on local location determination circuit 134 instead of basing the position fix calculated by remote computer 132.
  • It is understood that the determination of whether a position fix from remote computer 132 is available may comprise either or both of steps 310 and 312 above.
  • In one alternative embodiment, an additional step may be provided between steps 306 and 310 (or elsewhere in a process) to determine whether the calculation characteristic requires an MS-based position fix and a determination of whether satellite acquisition data of sufficient acceptability is available. If such data is not available (e.g., wireless service is not available) and/or the data cannot be provided within the constraints of a selected position fix calculation method, a similar determination as in steps 316, 318, 320 can be made to determine whether a fallback to standalone position calculation from MS-based calculation is allowed and to provide position fix data based on that determination.
  • According to one alternative embodiment, if the data request includes the characteristic that a position fix must be calculated at a remote computer 132, the processor may be configured to meet that request by not providing a position fix using the standalone mode (e.g., a local location determination circuit). In some circumstances, an application may require a calculation from remote computer 132. For example, during a test mode when a specific PDE calculation test case is being verified; if a network carrier wants to ensure that network access is required in an attempt to receive as much revenue as possible from access to the wireless network; and/or if a position request is received at device 100 from the network (e.g., is mobile terminated) and the application determines that a PDE calculation may be quicker if it can reduce the number of communications back and forth between the PDE and device 100, etc.
  • According to one exemplary embodiment, device 100 is configured to enable and/or disable position fixes provided in a standalone mode in real time based on the ability of device 100 to acquire wireless data suitable for receiving a position fix from remote computer 132.
  • According to one alternative embodiment, device 100 can be configured to automatically enable and/or disable standalone position fixes as follows: if device 100 is in a location without service, device 100 automatically enables standalone position fixes, except when the application has explicitly requested that the fix be calculated at remote computer 132; if the mobile device is in a location with service, but the network is unable to provide position fixes (e.g., via remote computer 132), then automatically enable standalone position fixes, except when the application has explicitly requested that the fix be calculated at remote computer 132; and when mobile device 100 returns to a location with service and the network is able to provide position fixes, disable these “fallback to standalone” position fixes and utilize the network for position fixes.
  • According to another alternative embodiment, device 100 can be configured to enable and/or disable a fallback to standalone option based on a setting, flag, or word in non-volatile memory of device 100. Device 100 may be configured to automatically (e.g., without a user pressing a button or issuing a command) switch to using standalone position fixes based on the status of a flag in non-volatile memory when position fixes are not available from remote computer 132. This embodiment provides the ability of a carrier to refuse to permit standalone position fixes even when carrier service is not available. When the fallback to standalone option is disabled, no standalone position fixes are permitted, regardless of wireless service availability. When the “fallback to standalone” option is enabled, standalone position fixes are enabled as follows: if the mobile device is in a location without service, automatically enable standalone position fixes; if the mobile device is in a location with service but the network is unable to provide position fixes, automatically enable standalone position fixes; if the mobile device returns to a location with service and the network is able to provide position fixes, disable the fall back to standalone feature and utilize the network for position fixes. A request for a standalone position fix will still be responded to with a standalone position fix.
  • According to another alternative embodiment, when no wireless service is available and (1) the application or user has specifically requested that the fix be calculated by remote computer 132, or (2) the non-volatile memory setting or item described in the paragraph above has been set to disable the “fallback to standalone” option, device 100 shall provide a message or indication to the application or to the user that a standalone position fix may be possible and the application or user shall be given the option of overriding the setting currently blocking standalone position fixes.
  • According to some exemplary embodiments, device 100 is configured to give precedence to position fixes calculated by remote computer 132 using network resources over standalone position fixes, though in alternative embodiments, other precedences may be provided.
  • Accordingly to another alternative embodiment, if a standalone position fix is not allowed where wireless service is unavailable (e.g., as shown by the “no” result of step 316 in FIG. 5), device 100 may be configured to provide a last-known position fix to the application.
  • According to alternative embodiments, the various requests for position fixes described hereinabove may come from an application, from a user (e.g., a person using the device) or from another source.
  • According to an alternative embodiment, the flag discussed with reference to step 316 of FIG. 5 may have more than two settings (e.g., other than allow and disallow). For example, a standalone position fix can be allowed based on one or more criteria, such as the number of errors being received or the types of errors being received from remote computer 132 when the position fix from remote computer 132 is requested. Each error type may have its own configurable value of ‘allow’ or ‘disallow’, based on the carrier's or manufacturer's preference. For example, if data service is unavailable, one carrier may want standalone disallowed completely, while another carrier may want standalone allowed. Error types may include, but not be limited to: “wireless service unavailable,” “device roaming,” “data authentication failure,” “PDE authentication failure,” “data service unavailable,” “wireless network failure,” “base station (BS) does not support service,” “BS does support service, but it is temporarily unavailable,” etc.
  • According to one exemplary embodiment, when a request includes a characteristic of MS-based mode along with a request for a selected or desired level of calculation speed and calculation accuracy, device 100 may be configured to determine that the requested calculation speed and calculation accuracy cannot be obtained without using MS-assisted mode, and device 100 may be configured to ignore or override the request that MS-based mode be used and instead use MS-assisted mode or otherwise request some additional data from remote computer 132.
  • While the exemplary embodiments illustrated in the Figs., and described above are presently exemplary, it should be understood that these embodiments are offered by way of example only. For example, the above steps of the various embodiments may be interchanged with other embodiments and rearranged in their order of execution. For example, in one embodiment, steps 302, 304, 306 and 308 of FIG. 5 are added to the method of FIG. 4 before step 202. Accordingly, the present invention is not limited to a particular embodiment, but extends to various modifications that nevertheless fall within the scope of the appended claims.

Claims (19)

1. A mobile computing device, comprising:
a transceiver circuit configured to receive a remote position fix from a remote computer via a wireless network;
a location determination circuit configured to receive satellite data and to calculate a local position fix; and
a processing circuit configured to operate an application, to receive a request for a position fix from the application, to determine whether the remote position fix is available, and to provide the local position fix to the application based on whether the remote position fix is available.
2. The mobile computing device of claim 1, wherein the request comprises a characteristic of the position fix.
3. The mobile computing device of claim 2, wherein, based on the characteristic, the processing circuit is configured to select a position fix calculation method requiring the remote position fix from the remote computer, wherein the processing circuit is configured to determine that the remote position fix is not available and to instead provide the local position fix to the application.
4. The mobile computing device of claim 2, wherein the characteristic of the position fix is selected from the group consisting of a calculation speed, a calculation accuracy, and the use of satellite acquisition data received wirelessly from a remote source.
5. A method of providing a position fix for an application operating on a mobile computing device, comprising:
receiving a request from the application for a position fix, wherein the request comprises a position fix calculation characteristic;
selecting one of a plurality of position fix calculation methods based on the position fix calculation characteristic, wherein at least one of the position fix calculation methods comprises receiving a position fix for the mobile computing device wirelessly from a remote computer;
determining whether the position fix from the remote computer is available; and
calculating a position fix using a local location determination circuit based on the determination of whether the position fix from the remote computer is available.
6. The method of claim 5, further comprising checking a flag in memory on the mobile computing device and calculating the position fix using the local location determination circuit based on the check.
7. The method of claim 6, wherein the flag is stored in non-volatile memory.
8. The method of claim 5, wherein the position fix calculation characteristic comprises a calculation speed characteristic.
9. The method of claim 5, wherein the position fix calculation characteristic comprises a calculation accuracy characteristic.
10. The method of claim 5, wherein the position fix calculation characteristic comprises a requirement that the selected position fix calculation method uses satellite acquisition data.
11. The method of claim 5, wherein determining whether the position fix from the remote computer is available comprises determining whether a wireless network is available.
12. The method of claim 5, wherein determining whether the position fix from the remote computer is available comprises determining whether data available from a wireless network is suitable for calculating the position fix using remote computer.
13. The method of claim 5, wherein the local location determination circuit is integrated within a housing of the mobile computing device.
14. A method, comprising:
receiving a request for a position fix;
determining whether the position fix can be calculated based on a position fix received wirelessly from a remote computer;
if the position fix from the remote computer is not available, calculating the position fix based on a local location determination circuit.
15. The method of claim 14, wherein the request for a position fix comprises a desired position fix calculation characteristic.
16. The method of claim 14, further comprising checking a flag in memory and calculating the position fix based on the local location determination circuit based on the check.
17. The method of claim 14, wherein the desired position fix characteristic comprises a calculation speed characteristic.
18. The method of claim 14, wherein the desired position fix characteristic comprises an calculation accuracy characteristic.
19. The method of claim 14 operable on a mobile computing device having an on-board location determination circuit.
US11/634,350 2006-12-05 2006-12-05 Use of local position fix when remote position fix is unavailable Active 2030-05-02 US7991408B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US11/634,350 US7991408B2 (en) 2006-12-05 2006-12-05 Use of local position fix when remote position fix is unavailable
PCT/US2007/084150 WO2008136859A1 (en) 2006-12-05 2007-11-08 Use of local position fix when remote position fix is unavailable
EP07874262.4A EP2092769A4 (en) 2006-12-05 2007-11-08 Use of local position fix when remote position fix is unavailable
US13/185,691 US8213961B2 (en) 2006-12-05 2011-07-19 Use of local position fix when remote position fix is unavailable

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/634,350 US7991408B2 (en) 2006-12-05 2006-12-05 Use of local position fix when remote position fix is unavailable

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/185,691 Continuation US8213961B2 (en) 2006-12-05 2011-07-19 Use of local position fix when remote position fix is unavailable

Publications (2)

Publication Number Publication Date
US20100261484A1 true US20100261484A1 (en) 2010-10-14
US7991408B2 US7991408B2 (en) 2011-08-02

Family

ID=39943799

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/634,350 Active 2030-05-02 US7991408B2 (en) 2006-12-05 2006-12-05 Use of local position fix when remote position fix is unavailable
US13/185,691 Expired - Fee Related US8213961B2 (en) 2006-12-05 2011-07-19 Use of local position fix when remote position fix is unavailable

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/185,691 Expired - Fee Related US8213961B2 (en) 2006-12-05 2011-07-19 Use of local position fix when remote position fix is unavailable

Country Status (3)

Country Link
US (2) US7991408B2 (en)
EP (1) EP2092769A4 (en)
WO (1) WO2008136859A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100057831A1 (en) * 2008-08-28 2010-03-04 Eric Williamson Systems and methods for promotion of calculations to cloud-based computation resources
US20150334047A1 (en) * 2013-03-27 2015-11-19 Panasonic Intellectual Property Management Co., Ltd. Initiator terminal, target terminal, method of interrupting access of initiator terminal, and method of interrupting access of target terminal

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010022783A1 (en) * 2008-08-28 2010-03-04 Telefonaktiebolaget L M Ericsson (Publ) An arrangement for improved isolation between adjacent cell areas
US20100283676A1 (en) * 2009-05-08 2010-11-11 Hatami Naquib U Optimizing selection of method of determining location in a social networking system using mobile communications
US8259010B2 (en) * 2009-10-14 2012-09-04 Qualcomm Incorporated Qualifying coarse position injection in position determination systems
JP2012054769A (en) 2010-09-01 2012-03-15 Canon Inc Position information acquisition device, control method thereof, and program
CN102036371A (en) * 2010-10-26 2011-04-27 中兴通讯股份有限公司 Global positioning system (GPS) positioning method and system
US9411050B1 (en) * 2012-12-14 2016-08-09 Rockwell Collins, Inc. Global positioning system device for providing position location information to a smart device

Citations (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365450A (en) * 1992-12-17 1994-11-15 Stanford Telecommunications, Inc. Hybrid GPS/data line unit for rapid, precise, and robust position determination
US5422813A (en) * 1992-12-17 1995-06-06 Stanford Telecommunications, Inc. No-outage GPS/commercial RF positioning system
US5519403A (en) * 1993-11-29 1996-05-21 Motorola, Inc. Global positioning system communications multi-interface
US5528232A (en) * 1990-06-15 1996-06-18 Savi Technology, Inc. Method and apparatus for locating items
US5537458A (en) * 1992-08-17 1996-07-16 Nokia Telecommunications Oy Facsimile transmission in a digital cellular radio network
US5539810A (en) * 1992-01-27 1996-07-23 Highwaymaster Communications, Inc. Data messaging in a communications network
US5546446A (en) * 1993-10-21 1996-08-13 Tamura Electric Works, Ltd. Public telephone system using a prepaid card to enable communication
US5555286A (en) * 1994-01-31 1996-09-10 Tendler Technologies, Inc. Cellular phone based automatic emergency vessel/vehicle location system
US5565858A (en) * 1994-09-14 1996-10-15 Northrop Grumman Corporation Electronic inventory system for stacked containers
US5572204A (en) * 1995-04-10 1996-11-05 Ford Motor Company Vehicular emergency message system
US5587715A (en) * 1993-03-19 1996-12-24 Gps Mobile, Inc. Method and apparatus for tracking a moving object
US5594425A (en) * 1994-10-31 1997-01-14 Peoplenet, Inc. Locator device
US5621338A (en) * 1994-12-20 1997-04-15 Cypress Semiconductor Corp. High speed configuration independent programmable macrocell
US5625668A (en) * 1994-04-12 1997-04-29 Trimble Navigation Limited Position reporting cellular telephone
US5627517A (en) * 1995-11-01 1997-05-06 Xerox Corporation Decentralized tracking and routing system wherein packages are associated with active tags
US5630206A (en) * 1994-08-11 1997-05-13 Stanford Telecommunications, Inc. Position enhanced cellular telephone system
US5640444A (en) * 1990-06-01 1997-06-17 Spectrum Information Technologies, Inc. Methods and apparatus for controlling data transmission using radio devices
US5650770A (en) * 1994-10-27 1997-07-22 Schlager; Dan Self-locating remote monitoring systems
US5663734A (en) * 1995-10-09 1997-09-02 Precision Tracking, Inc. GPS receiver and method for processing GPS signals
US5673305A (en) * 1993-05-14 1997-09-30 Worldwide Notification Systems, Inc. Apparatus and method for tracking and reporting the location of a motor vehicle
US5726893A (en) * 1992-12-17 1998-03-10 Stanford Telecommunications, Inc. Cellular telephone with voice-in-data modem
US6011973A (en) * 1996-12-05 2000-01-04 Ericsson Inc. Method and apparatus for restricting operation of cellular telephones to well delineated geographical areas
US6144336A (en) * 1997-05-19 2000-11-07 Integrated Data Communications, Inc. System and method to communicate time stamped, 3-axis geo-position data within telecommunication networks
US6211820B1 (en) * 1998-09-09 2001-04-03 Qualcomm Incorporated Call maintainance during position location
US6249245B1 (en) * 1998-05-14 2001-06-19 Nortel Networks Limited GPS and cellular system interworking
US20050075116A1 (en) * 2003-10-01 2005-04-07 Laird Mark D. Wireless virtual campus escort system
US20050250440A1 (en) * 2000-06-30 2005-11-10 Zhou Peter Y Systems and methods for monitoring and tracking
US20050282557A1 (en) * 2004-06-17 2005-12-22 Nokia Corporation System and method for implementing a remote location acquisition application program interface
US20060035648A1 (en) * 2000-07-14 2006-02-16 Norman Mohi Locating system and method
US7009555B2 (en) * 2001-04-05 2006-03-07 Sirf Technology, Inc. GPS-based positioning system for mobile GPS terminals
US20060105781A1 (en) * 2000-10-11 2006-05-18 Mitsubishi Denki Kabushiki Kaisha Location-based information intermediation and acquisition method, intermediation computer system, and mobile communication terminal
US7171187B2 (en) * 2001-08-17 2007-01-30 Longview Advantage, Inc Method and system for asset tracking
US7286522B2 (en) * 1998-05-19 2007-10-23 Airbiquity, Inc. Synchronizer for use with improved in-band signaling for data communications over digital wireless telecommunications networks
US7606938B2 (en) * 2002-03-01 2009-10-20 Enterasys Networks, Inc. Verified device locations in a data network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4300433A1 (en) * 1993-01-09 1994-07-14 Philips Patentverwaltung Radio
US6995708B2 (en) * 2002-07-17 2006-02-07 Gallitzin Allegheny Llc Local positioning system
US9020539B2 (en) * 2003-11-26 2015-04-28 Qualcomm Incorporated Method and apparatus for calculating a position estimate of a mobile station using network information

Patent Citations (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640444A (en) * 1990-06-01 1997-06-17 Spectrum Information Technologies, Inc. Methods and apparatus for controlling data transmission using radio devices
US5528232A (en) * 1990-06-15 1996-06-18 Savi Technology, Inc. Method and apparatus for locating items
US5544225A (en) * 1992-01-27 1996-08-06 Highwaymaster Communications, Inc. Data messaging in a cellular communications network
US5539810A (en) * 1992-01-27 1996-07-23 Highwaymaster Communications, Inc. Data messaging in a communications network
US5537458A (en) * 1992-08-17 1996-07-16 Nokia Telecommunications Oy Facsimile transmission in a digital cellular radio network
US5726893A (en) * 1992-12-17 1998-03-10 Stanford Telecommunications, Inc. Cellular telephone with voice-in-data modem
US5422813A (en) * 1992-12-17 1995-06-06 Stanford Telecommunications, Inc. No-outage GPS/commercial RF positioning system
US5365450A (en) * 1992-12-17 1994-11-15 Stanford Telecommunications, Inc. Hybrid GPS/data line unit for rapid, precise, and robust position determination
US5587715A (en) * 1993-03-19 1996-12-24 Gps Mobile, Inc. Method and apparatus for tracking a moving object
US5673305A (en) * 1993-05-14 1997-09-30 Worldwide Notification Systems, Inc. Apparatus and method for tracking and reporting the location of a motor vehicle
US5546446A (en) * 1993-10-21 1996-08-13 Tamura Electric Works, Ltd. Public telephone system using a prepaid card to enable communication
US5519403A (en) * 1993-11-29 1996-05-21 Motorola, Inc. Global positioning system communications multi-interface
US5555286A (en) * 1994-01-31 1996-09-10 Tendler Technologies, Inc. Cellular phone based automatic emergency vessel/vehicle location system
US5625668A (en) * 1994-04-12 1997-04-29 Trimble Navigation Limited Position reporting cellular telephone
US5630206A (en) * 1994-08-11 1997-05-13 Stanford Telecommunications, Inc. Position enhanced cellular telephone system
US5565858A (en) * 1994-09-14 1996-10-15 Northrop Grumman Corporation Electronic inventory system for stacked containers
US5650770A (en) * 1994-10-27 1997-07-22 Schlager; Dan Self-locating remote monitoring systems
US5594425A (en) * 1994-10-31 1997-01-14 Peoplenet, Inc. Locator device
US5621338A (en) * 1994-12-20 1997-04-15 Cypress Semiconductor Corp. High speed configuration independent programmable macrocell
US5572204A (en) * 1995-04-10 1996-11-05 Ford Motor Company Vehicular emergency message system
US5663734A (en) * 1995-10-09 1997-09-02 Precision Tracking, Inc. GPS receiver and method for processing GPS signals
US5627517A (en) * 1995-11-01 1997-05-06 Xerox Corporation Decentralized tracking and routing system wherein packages are associated with active tags
US6011973A (en) * 1996-12-05 2000-01-04 Ericsson Inc. Method and apparatus for restricting operation of cellular telephones to well delineated geographical areas
US6144336A (en) * 1997-05-19 2000-11-07 Integrated Data Communications, Inc. System and method to communicate time stamped, 3-axis geo-position data within telecommunication networks
US6249245B1 (en) * 1998-05-14 2001-06-19 Nortel Networks Limited GPS and cellular system interworking
US7286522B2 (en) * 1998-05-19 2007-10-23 Airbiquity, Inc. Synchronizer for use with improved in-band signaling for data communications over digital wireless telecommunications networks
US6211820B1 (en) * 1998-09-09 2001-04-03 Qualcomm Incorporated Call maintainance during position location
US20050250440A1 (en) * 2000-06-30 2005-11-10 Zhou Peter Y Systems and methods for monitoring and tracking
US20060035648A1 (en) * 2000-07-14 2006-02-16 Norman Mohi Locating system and method
US20060105781A1 (en) * 2000-10-11 2006-05-18 Mitsubishi Denki Kabushiki Kaisha Location-based information intermediation and acquisition method, intermediation computer system, and mobile communication terminal
US7009555B2 (en) * 2001-04-05 2006-03-07 Sirf Technology, Inc. GPS-based positioning system for mobile GPS terminals
US7171187B2 (en) * 2001-08-17 2007-01-30 Longview Advantage, Inc Method and system for asset tracking
US7606938B2 (en) * 2002-03-01 2009-10-20 Enterasys Networks, Inc. Verified device locations in a data network
US20050075116A1 (en) * 2003-10-01 2005-04-07 Laird Mark D. Wireless virtual campus escort system
US20050282557A1 (en) * 2004-06-17 2005-12-22 Nokia Corporation System and method for implementing a remote location acquisition application program interface

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100057831A1 (en) * 2008-08-28 2010-03-04 Eric Williamson Systems and methods for promotion of calculations to cloud-based computation resources
US9910708B2 (en) * 2008-08-28 2018-03-06 Red Hat, Inc. Promotion of calculations to cloud-based computation resources
US20150334047A1 (en) * 2013-03-27 2015-11-19 Panasonic Intellectual Property Management Co., Ltd. Initiator terminal, target terminal, method of interrupting access of initiator terminal, and method of interrupting access of target terminal

Also Published As

Publication number Publication date
WO2008136859A1 (en) 2008-11-13
US7991408B2 (en) 2011-08-02
US8213961B2 (en) 2012-07-03
EP2092769A1 (en) 2009-08-26
US20110275389A1 (en) 2011-11-10
EP2092769A4 (en) 2015-10-21

Similar Documents

Publication Publication Date Title
US8233915B2 (en) Updating position assist data on a mobile computing device
US9071701B2 (en) Using wireless characteristic to trigger generation of position fix
US9288751B2 (en) Use of position data to select wireless access point
US10021669B2 (en) Techniques for tracking destinations on a mobile computing device
US9137629B2 (en) Apparatus and methods for providing location-based services to a mobile computing device having a dual processor architecture
US8989763B2 (en) Updating position assist data on a mobile computing device
US8213961B2 (en) Use of local position fix when remote position fix is unavailable
US9191781B2 (en) Use of wireless access point ID for position determination
US8228234B2 (en) Power saving system and method for mobile computing device
US8014793B2 (en) Use of previously-calculated position fix for location based query
US8009519B2 (en) Apparatus and methods for maintaining a reliable time clock on a mobile computing device supporting satellite based position determination capability
US8396661B2 (en) Using relative position data in a mobile computing device
WO2008118517A1 (en) Location based services using altitude

Legal Events

Date Code Title Description
AS Assignment

Owner name: PALM, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PAULSON, JANELL;THOMAS, GEORGE;RAMASWAMY, GURUNATH;REEL/FRAME:018928/0465

Effective date: 20070115

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:PALM, INC.;REEL/FRAME:020319/0568

Effective date: 20071024

AS Assignment

Owner name: PALM, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:024630/0474

Effective date: 20100701

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC.;REEL/FRAME:025204/0809

Effective date: 20101027

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: PALM, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:030341/0459

Effective date: 20130430

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC.;REEL/FRAME:031837/0239

Effective date: 20131218

Owner name: PALM, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:031837/0544

Effective date: 20131218

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC.;REEL/FRAME:031837/0659

Effective date: 20131218

AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HEWLETT-PACKARD COMPANY;HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;PALM, INC.;REEL/FRAME:032132/0001

Effective date: 20140123

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12