WO2009032499A1 - Use of position data to select wireless access point - Google Patents

Use of position data to select wireless access point Download PDF

Info

Publication number
WO2009032499A1
WO2009032499A1 PCT/US2008/073113 US2008073113W WO2009032499A1 WO 2009032499 A1 WO2009032499 A1 WO 2009032499A1 US 2008073113 W US2008073113 W US 2008073113W WO 2009032499 A1 WO2009032499 A1 WO 2009032499A1
Authority
WO
WIPO (PCT)
Prior art keywords
wireless access
access point
computing device
mobile computing
data
Prior art date
Application number
PCT/US2008/073113
Other languages
French (fr)
Inventor
Jeffrey Finkelstein
Edmund Tse
David Williams
Stephane Maes
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 EP08797862A priority Critical patent/EP2189037A4/en
Publication of WO2009032499A1 publication Critical patent/WO2009032499A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/20Selecting an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Definitions

  • Mobile computing devices such as mobile telephones, laptop computers, and personal digital assistants, can communicate with different wireless networks in different locations.
  • the same mobile computing device may communicate via a wired network in an office building, a Wi-Fi network at home or at a hotel, and a cellular network while in a moving vehicle.
  • FIG. 1 is a front view of a mobile computing device, according to an illustrative embodiment
  • FIG. 2 is a back view of a mobile computing device, according to an illustrative embodiment
  • FIG. 3 is a block diagram of the mobile computing device of Figs. 1 and 2, according to an illustrative embodiment
  • FIG. 4 is a flowchart illustrating a system and method of using position data to select a wireless access point, according to an illustrative embodiment
  • FIG. 5 is a flowchart illustrating a system and method of associating position data with a wireless access point identifier, according to an illustrative embodiment
  • FIG. 6 is a flowchart illustrating a system and method of using position data to select a wireless access point, according to an illustrative embodiment
  • FIG. 7 is a flowchart illustrating a system and method of using position data to select a wireless access point, according to an illustrative embodiment.
  • One or more embodiments described herein may improve the speed with which a device may select and communicate with a wireless access point.
  • One or more embodiments described herein may create a database of preferred wireless access points using position data.
  • One or more embodiments described herein may avoid wasting time looking for a preferred wireless access point in the wrong location.
  • One or more embodiments described herein may save battery power by avoiding scanning or polling for wireless access points not in the vicinity of the mobile computing device.
  • One or more embodiments described herein may select a wireless access point based on position data, which may be displayed for user-initiated communication or used to initiate communication without user input (e.g., automatically).
  • One or more embodiments described herein may select a wireless access point based on position data and a database of wireless access points meeting security or reliability criteria..
  • 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 and is configured to be carried by a user while in use.
  • 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, a loudspeaker 16 (Fig. 2), and a user input device 110 are coupled to housing 11.
  • Housing 11 is configured to hold a screen in a fixed relationship above a user input device 110 in a substantially parallel or same plane. This fixed relationship excludes a hinged or movable relationship between the screen and plurality of keys in the fixed embodiment.
  • Device 100 may be a handheld computer, which is a computer small enough to be carried in a typical front pocket found in a pair of pants, comprising such devices as typical mobile telephones and personal digital assistants, but excluding typical laptop computers and tablet PCs.
  • device 100 has a width (shorter dimension) of no more than about 200 mm or no more than about 100 mm.
  • housing 11 has a width of no more than about 85 mm or no more than about 65 mm.
  • housing 11 has a width of at least about 30 mm or at least about 50 mm.
  • housing 11 has a width of at least about 55 mm.
  • housing 11 has a length (longer dimension) of no more than about 200 mm or no more than about 150 mm. According to some of these embodiments, housing 11 has a length of no more than about 135 mm or no more than about 125 mm. According to some embodiments, housing 11 has a length of at least about 70 mm or at least about 100 mm. According to some of these embodiments, housing 11 has a length of at least about 110 mm.
  • housing 11 has a thickness (smallest dimension) of no more than about 150 mm or no more than about 50 mm. According to some of these embodiments, housing 11 has a thickness of no more than about 30 mm or no more than about 25 mm. According to some embodiments, housing 11 has a thickness of at least about 10 mm or at least about 15 mm. According to some of these embodiments, housing 11 has a thickness of at least about 50 mm.
  • housing 11 has a volume of up to about 2500 cubic centimeters and/or up to about 1500 cubic centimeters. In some of these embodiments, housing 11 has a volume of up to about 1000 cubic centimeters and/or up to about 600 cubic centimeters.
  • 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.
  • 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.
  • Examples of cellular radiotelephone systems offering data communications services may include GSM with General Packet Radio Service (GPRS) systems (GSM/GPRS), CDMA/lxRTT 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
  • WAPs wireless access points
  • a wireless access point may comprise any one or more components of a wireless site used by device 100 to create a wireless network system that connects to a wired infrastructure, such as a wireless transceiver, cell tower, base station, router, cables, servers, or other components depending on the system architecture.
  • wireless network systems may further 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.1 la/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, a wireless personal area network (PAN) system, such as a Bluetooth® system operating in accordance with the Bluetooth Special Interest Group (SIG) series of protocols.
  • WiFi IEEE 802.1 la/b/g/n series of standard protocols and variants
  • WiMAX wireless personal area network
  • SIG Bluetooth Special Interest Group
  • device 100 may comprise a processing circuit 101 which 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.
  • the dual processor architecture of device 100 may comprise one processor, more than two 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.
  • processing circuit 101 may comprise any digital and/or analog circuit elements, comprising discrete and/or solid state components, suitable for use with the embodiments disclosed herein.
  • 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
  • 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.
  • 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 (e.g., contact management application, calendar application, scheduling application, task management application, web site favorites or bookmarks, notes application, etc.), 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 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 OS in accordance with the described embodiments such as a Palm
  • 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, an alphanumeric, numeric or 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 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.1 Ix (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. or other manufacturers.
  • Device 100 may comprise a transceiver 120 coupled to the radio processor 104.
  • the transceiver 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.
  • transceiver 120 may comprise a Wi-Fi transceiver and a cellular or WAN transceiver configured to operate simultaneously.
  • the transceiver 120 may be implemented using one or more chips as desired for a given implementation. Although the transceiver 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 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 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
  • Device 100 may comprise a subscriber identity module (SIM) 126 coupled to the radio processor 104.
  • 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 or position determination capabilities.
  • Device 100 may employ one or more position 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 Arriv
  • Device 100 may be configured to operate in one or more position 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, though it may receive certain types of position assist data, such as almanac, ephemeris, and coarse data.
  • device 100 may comprise a local position 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.
  • a local position determination circuit 134 e.g., a GPS receiver
  • Local position 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 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 position 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 position determination entity (PDE), a location proxy server (LPS) and/or a mobile positioning center (MPC), etc.
  • PDE position 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 to 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 position determination.
  • position assist data 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, coarse data, and so forth.
  • the position assist data 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 position 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 position determination mode.
  • data calls may be made and position assist data may be sent to device 100 from the remote computer 132 for every position fix (e.g., in an ad hoc mode). In other cases, data calls may be made and position assist data 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 position determination.
  • the transceiver 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 position 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 position requests (e.g., requests for position fixes) and position 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. 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.
  • 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 position 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 position assist data 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 position assist data without a position fix
  • time interval between position fixes e.g., Quality of Service (QoS) values
  • optimization parameters e
  • the radio processor 104 may comprise or implement a position engine such as a GPS engine.
  • the position engine may be configured to provide position 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 position determination.
  • the position engine may be implemented as a QUALCOMM® gpsOne® engine.
  • the position engine may employ one or more position 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 position 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 position of device 100.
  • position data 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, cellular tower or cellular base station identifier, and so forth.
  • memory 108, 124 is configured to store position data representative of a position of the mobile computing device.
  • the position data may be a position fix from position determination circuit 134 (such as a GPS circuit or a circuit employing any of the other position determination techniques described above), which may be generated in response to a user input or may have been previously- calculated but deemed by processing circuit 101 to be sufficiently recent or current to represent an approximate position of the mobile computing device.
  • the position data may be provided from a calendar application operated by processing circuit 101, such as from a location field in a calendar appointment, wherein a user has entered a location in the location field and processing circuit 101 is configured to store or convert that location in a format suitable for use herein.
  • the position data may be a cell site or cellular base station identifier generated by processing circuit 101 and/or received by processing circuit based on wireless communication via transceiver 120 with a cellular base station.
  • the position data may be approximate, estimated, currently- or previously-calculated, user-entered, or even assumed. Further, the position data may be generated based on a plurality of these sources.
  • memory 108, 124 is also configured to store wireless access point data for a plurality of wireless access points.
  • the wireless access point data may be prestored based on prior scanning operations performed minutes, days, or hours previous to this particular user interaction with device 100, and/or may be collected and stored based on a current scanning operation.
  • the wireless access point data may comprise one or more of a service set identifier (SSID), a network identifier, a media access control (MAC) address, an internet protocol (IP) address, etc.
  • SSID service set identifier
  • MAC media access control
  • IP internet protocol
  • the wireless access point data further may comprise position data associated with the wireless access point, which may be different for each wireless access point, and which may be generated in any of a number of ways, such as described with reference to FIG. 5 below.
  • the wireless access point data may optionally additionally comprise a configuration file or profile containing data useful to processing circuit 101 to scan for, initiate, establish, and/or maintain communication with a wireless access point.
  • the wireless access point data may be stored as a database or other structured collection of data or records, wherein the records may further include data indicative of whether each wireless access point is in one or more user-preferred lists (e.g., a list which may be edited and maintained manually by the user or automatically updated based on whether a user has established communication with the a wireless access point), a prioritization scheme for the wireless access points based on recently-used or frequency-of- use criteria, signal strength, cost information for use of the network, network account or membership information, whether the wireless access points meets security and/or reliability criteria, hours of operation, etc.
  • Processing circuit 101 may be configured to use any one or more of these records in the database to assist the user in manually or automatically selecting a wireless access point to scan for or with which to initiate, establish and/or maintain communication.
  • processing circuit 101 is configured to select one of the plurality of wireless access points based on the position data and, at step 26, to initiate wireless communication with the selected wireless access point. The selection may be done in response to a user selection or without user selection based on pre-programmed criteria. Processing circuit 101 may use the position data of mobile computing device 100 to identify one or more wireless access points in the vicinity of mobile computing device 100 and then select the one or more wireless access points from among the database of wireless access points for further processing. Whether a wireless access point is in the vicinity of mobile computing device 100 may depend on the type of device position data and the type of wireless access point position data being used in the comparison.
  • Vicinity criteria may be one or more of an estimated size of a cell site, a predetermined distance, within a city or other geographically-defined vicinity (e.g., zip code), etc.
  • Processing circuit 101 may use the position data to narrow the available networks or wireless access points that device 100 will consider for communication, by determining that the wireless access points meet the vicinity characteristic or criteria.
  • Processing circuit 101 may be configured to apply further criteria or characteristics beyond the position data to select a wireless access point or network for communication, such as, which network is on a preferred or trusted list, which network has a faster communication speed, which has a stronger signal, etc.
  • At least one additional characteristic is applied to the narrowing or selection of wireless access points only if a plurality of identified wireless access points are within a vicinity of the mobile computing device (e.g., the wireless access points share a common cell ID characteristic, are within the same or approximately the same distance from device 100, etc.)
  • This step of applying further criteria beyond the vicinity criteria may be particularly useful where the position data identifies a plurality of networks meeting the "vicinity" or nearness criteria.
  • processing circuit 101 is configured to initiate the wireless communication with the selected wireless access point prior to scanning or polling for available wireless access points at a position.
  • time and power may be saved by avoiding the process of scanning for a wireless access point previously-stored in the database which is known to processing circuit 101 to be distant from the position of mobile computing device.
  • processing circuit 101 may be configured to filter or select from some or all wireless access point data in the database based on position and/or known wireless access points (e.g., which may be known because device 100 has previously connected to them, previously found them in a scanning operation, or learned of them from manual entry by a user via a user input device or memory card, etc.) and to provide an output list which is a subset of the database, comprising one or more wireless access points.
  • Processing circuit 101 may display the output list to the user for selection of one of the wireless access points to cause processing circuit 101 to initiate communication with the selected wireless access point. If the output list comprises only one wireless access point, processing circuit 101 may automatically or without user input initiate or attempt to initiate communication with the wireless access point in the list.
  • processing circuit 101 may display all wireless access points in the database in any order (e.g., a random order, previously-defined user-preferred order, or an order based on other records in the database) and/or may initiate a scanning operation to find additional wireless access points within communication range of device 100.
  • any order e.g., a random order, previously-defined user-preferred order, or an order based on other records in the database
  • processing circuit 101 in response to a user enabling the radio frequency transceiver (e.g., by powering-on the device, powering-on the radio transceiver, selecting an operation in an application requiring wireless communication, etc.), processing circuit 101 is configured to retrieve the device position data from memory, select one of the plurality of wireless access points based on the position data, and initiate the wireless communication with the selected wireless access point, all without requiring further user input (e.g., automatically). If a plurality of wireless access points meet the position criteria, processing circuit 101 may be configured to initiate communication with the first wireless access point it finds meeting the position criteria or it may use other database records to select one wireless access point for communication.
  • processing circuit 101 may be configured to scan for available wireless access points (e.g., which scanning may only occur if the selected wireless access point is unavailable or may occur prior to selection of the wireless access point) and display identifiers for the found wireless access points to the user for selection.
  • processing circuit 101 may be configured to display the wireless access points and one or more of the records from the database on display 112 and seek user selection or confirmation of a particular wireless access point for communication. The user may also be allowed to pre-program a preferred one of a subset of wireless access points meeting the position criteria for automatic connection.
  • processing circuit 101 is configured to display a plurality of wireless access point identifiers for nearby wireless access points only if the processing circuit fails to identify a preferred wireless access point identifier in the database based on the retrieved position data.
  • initiation of the wireless communication may comprise scanning to find a wireless signal associated with the wireless access point, attempting to initiate or scan, establishing or attempting to establish wireless communication, etc. The initiation may be done in response to user input (e.g., selection or confirmation) or without requiring user input. If the network associated with the wireless access point is open and available, communication can be established. If the network is closed, locked, proprietary or secure, device 100 may be configured to provide a password or other credentials either from memory or from a user.
  • Steps 30-38 may be used for any purpose, one example of which is to acquire position data associated with a wireless access point.
  • device 100 is configured to display a plurality of wireless access point identifiers on display 112.
  • the wireless access point identifiers may be received as a result of a scanning operation in which processing circuit 101 scans or polls for wireless access points within communication range of transceiver 120.
  • the wireless access point identifiers may be manually input or edited by a user, pre-programmed by a manufacturer, service professional, or enterprise information technology professional, downloaded from a network wirelessly or via a wired connection from a remote server, downloaded via a memory card, etc. and may be downloaded pursuant to a subscription service such as Boingo Wireless, Inc., Santa Monica, California.
  • processing circuit 101 is configured to receive a user selection of one of the wireless access points identifiers via user input device 110.
  • processing circuit 101 is configured to initiate communication with the wireless access point in response to receiving the user selection which, as describe above, may include an attempt to initiate.
  • processing circuit 101 is configured to retrieve or receive position data representative of a position of device 100 or the wireless access point, which may be retrieved from memory or generated in this step.
  • the position data may be based on a cell tower ID, which is representative of both the position of device 100 and the wireless access point. Further, processing circuit 101 may receive latitude/longitude data of device 100. The other methods of determining position described in this specification may be implemented.
  • processing circuit 101 is configured to associate the wireless access point identifier with the position data in the memory.
  • the data may be stored as a data pair or record comprising the wireless access point identifier and the position data.
  • One or more position data points may be associated with a wireless access point identifier.
  • the method of FIG. 5 may occur at different times over the lifetime of device 100.
  • processing circuit 101 stores the wireless access point identifier and associated position data in a list or database record indicating recently-used or frequency-of-use criteria, signal strength, cost information for use of the network, network account or membership information, whether the wireless access points meets security and/or reliability criteria, etc.
  • processing circuit 101 is configured to create a database of preferred wireless access point identifiers based on a user manually selecting each wireless access point and initiating communication with each wireless access point and retrieving the associated position data based on the current position of the mobile computing device.
  • processing circuit 101 is configured to store wireless access point data and associated position data for a plurality of wireless access points.
  • processing circuit 101 is configured to retrieve a current position of the mobile computing device, which may be done using any of the techniques described in this specification.
  • processing circuit 101 is configured to use the current position data to select wireless access point data from memory.
  • processing circuit 101 is configured to attempt to initiate communication with a wireless access point based on the selected wireless access point data.
  • the attempt to initiate communication may comprise a scanning, polling, or search operation, and may be limited to wireless access points in a preferred list. The step of initiating may be done without requiring input from the user.
  • device 100 is configured to generate position data representing a position of a mobile computing device.
  • processing circuit 101 is configured to access a database of wireless access point data representing wireless access points meeting at least one of a security criterion or reliability criterion.
  • the database may be local in memory 108, 124 or may be stored on a remote server and accessed wirelessly via a WAN, such as a cellular network.
  • the database may further be a subscription service.
  • Processing circuit 101 may be configured to determine whether a wireless access point meets the security or reliability criterion by determining whether the wireless access point is a member of the remote database of approved wireless access points.
  • the security criterion or reliability criterion can be predetermined by the service provider or by the user and may be used by device 100 as a filter.
  • the service provider may screen out networks having insufficient security measures to prevent keylogging data or other security attacks.
  • the security criteria may comprise social criteria.
  • a wireless access point must have an access point server in a locked environment to avoid tampering by employees.
  • the security criteria may comprise technical criteria.
  • a provider of the access point may be required to run software on their local wireless system that reports statistics and usage to the service provider aggregator to check for keylogging or traffic re-routing. The software would either create a unique identifier allowing client devices to see the provider or add it to a trusted list.
  • processing circuit 101 is configured to select a subset (e.g., one or more) of the wireless access point data in the database based on the position data.
  • processing circuit 101 is configured to create the database of preferred wireless access points based at least in part on the wireless access points meeting a security or reliability criterion.
  • a user of device 100 launches an application requiring or requesting wireless communication with a wireless access point, in particular a Wi-Fi network access point.
  • processing circuit 101 first requests a position fix from position determination circuit 134.
  • Position determination circuit 134 generates a position fix and forwards the position fix to processing circuit 101.
  • Processing circuit 101 searches a database of Wi-Fi access points in memory 108 for access points known to be within a predetermined distance of the currently- generated position fix. One Wi-Fi access point is identified from the database.
  • Processing circuit 101 then receives the Wi-Fi access point SSID and other configuration or profile data and attempts to initiate communication with the Wi-Fi access point. If the communication attempt does not succeed, processing circuit 101 then obtains a cell tower ID from a nearby cell site and uses the cell tower ID to search for additional Wi-Fi access points in the database. Once one is found, communication is initiated and established. [0071] In the scenario, the process may require no user input, or may allow user input at various stages. The process may be transparent to the user, or may provide visual or audible prompts throughout the process to apprise the user the steps being taken by device 100. [0072] In another use scenario, a user carriers device 100 into a Starbucks store in City A offering a T-Mobile Wi-Fi network service.
  • a user has learned from past experience that the speed of the T-Mobile Wi-Fi network at this location is good, but the speed of a second T-Mobile Wi-Fi network at a Starbuck's store in City B is slower, so the user prefers to use a Google Wi-Fi network at the Starbuck's store in City B.
  • device 100 compares its position data to its database of wireless access points and selects the T-Mobile Wi-Fi network service as the preferred WAP at this location.
  • device 100 compares its position data to its database of wireless access points and selects the Google Wi-Fi network.
  • the T-Mobile Wi-Fi network services both use the same SSID, but the position different allows device 100 to distinguish one from the other.
  • a user arrives in an airport in Oklahoma City, having never been to Oklahoma.
  • the user's device 100 does not have any database of previously-connected Wi-Fi access points for that position.
  • device 100 scans for and identifies twenty different access points.
  • the user does not know which of the identified access points are for trusted networks and which are run by unscrupulous entities.
  • the user invokes an application on device 100 which retrieves position data for device 100 and searches a database of approved access points to select an approved, trusted network within the vicinity of device 100.
  • the database may be one operated by Boingo Wireless, Inc. is local to device 100 and updated periodically (e.g., daily, weekly, with each data synchronization, whenever a wireless communication is established, etc.)
  • the application selects a trusted wireless access point for the location and wireless communication is established.
  • One or more of the processes described in this specification may be operable from a software module, such as a connection manager, such as a Wi-Fi smart connection manager.
  • the Wi-Fi smart connection manager may be configured to use position data to select a subset of wireless access points and to then pass the subset of wireless access points to a connection manager configured to establish a wireless connection.
  • One or more of the process steps may be accomplished automatically, i.e., without requiring user input, in various embodiments.
  • One or more embodiments may use data indicating that device 100 has connected to a wireless access point in roughly or approximately the same location during a previous time to connect (optionally automatically connect) to a same wireless access point.
  • the database record for a wireless access point may comprise more than one position data, which may further be obtained from different sources
  • processing circuit 101 determines that more than one Wi-Fi network is within the vicinity or range of device 100.
  • A-GPS, GPS, and/or calendar data may be checked to select a preferred network at that location.
  • any of the steps of any of the methods disclosed herein may be combined with any of the other steps and/or rearranged with other steps in alternative embodiments. Specifically, various embodiments may make use of different combinations of parts or all of the methods disclosed herein.

Abstract

A mobile computing device comprises a radio frequency transceiver, a memory, and processing circuit. The radio frequency transceiver is configured to communicate with wireless access points. The memory is configured to store position data representative of a position of the mobile computing device and wireless access point data for a plurality of wireless access points. The processing circuit is configured to select one of the plurality of wireless access points based on the position data and to initiate wireless communication with the selected wireless access point.

Description

USE OF POSITION DATA TO SELECT WIRELESS ACCESS POINT
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims priority to and the benefit of U.S. Patent Application No. 11/897,240 entitled "Use of Position Data to Select Wireless Access Point" filed on August 29, 2007, and which is incorporated herein by reference in its entirety.
BACKGROUND
[0002] Mobile computing devices, such as mobile telephones, laptop computers, and personal digital assistants, can communicate with different wireless networks in different locations. The same mobile computing device may communicate via a wired network in an office building, a Wi-Fi network at home or at a hotel, and a cellular network while in a moving vehicle.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] Fig. 1 is a front view of a mobile computing device, according to an illustrative embodiment;
[0004] Fig. 2 is a back view of a mobile computing device, according to an illustrative embodiment;
[0005] Fig. 3 is a block diagram of the mobile computing device of Figs. 1 and 2, according to an illustrative embodiment;
[0006] Fig. 4 is a flowchart illustrating a system and method of using position data to select a wireless access point, according to an illustrative embodiment;
[0007] Fig. 5 is a flowchart illustrating a system and method of associating position data with a wireless access point identifier, according to an illustrative embodiment;
[0008] Fig. 6 is a flowchart illustrating a system and method of using position data to select a wireless access point, according to an illustrative embodiment; and
[0009] Fig. 7 is a flowchart illustrating a system and method of using position data to select a wireless access point, according to an illustrative embodiment. DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0010] One or more embodiments described herein may improve the speed with which a device may select and communicate with a wireless access point. One or more embodiments described herein may create a database of preferred wireless access points using position data. One or more embodiments described herein may avoid wasting time looking for a preferred wireless access point in the wrong location. One or more embodiments described herein may save battery power by avoiding scanning or polling for wireless access points not in the vicinity of the mobile computing device. One or more embodiments described herein may select a wireless access point based on position data, which may be displayed for user-initiated communication or used to initiate communication without user input (e.g., automatically). One or more embodiments described herein may select a wireless access point based on position data and a database of wireless access points meeting security or reliability criteria..
[0011] 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 illustrative advantages.
[0012] 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 and is configured to be carried by a user while in use. 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.
[0013] Device 100 comprises a housing 11 having a front side 13 and a back side 17 (Fig. 2). An earpiece speaker 15, a loudspeaker 16 (Fig. 2), and a user input device 110 (e.g., a plurality of keys 110) are coupled to housing 11. Housing 11 is configured to hold a screen in a fixed relationship above a user input device 110 in a substantially parallel or same plane. This fixed relationship excludes a hinged or movable relationship between the screen and plurality of keys in the fixed embodiment. Device 100 may be a handheld computer, which is a computer small enough to be carried in a typical front pocket found in a pair of pants, comprising such devices as typical mobile telephones and personal digital assistants, but excluding typical laptop computers and tablet PCs. 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. [0014] In various embodiments device 100 has a width (shorter dimension) of no more than about 200 mm or no more than about 100 mm. According to some of these embodiments, housing 11 has a width of no more than about 85 mm or no more than about 65 mm. According to some embodiments, housing 11 has a width of at least about 30 mm or at least about 50 mm. According to some of these embodiments, housing 11 has a width of at least about 55 mm.
[0015] In some embodiments, housing 11 has a length (longer dimension) of no more than about 200 mm or no more than about 150 mm. According to some of these embodiments, housing 11 has a length of no more than about 135 mm or no more than about 125 mm. According to some embodiments, housing 11 has a length of at least about 70 mm or at least about 100 mm. According to some of these embodiments, housing 11 has a length of at least about 110 mm.
[0016] In some embodiments, housing 11 has a thickness (smallest dimension) of no more than about 150 mm or no more than about 50 mm. According to some of these embodiments, housing 11 has a thickness of no more than about 30 mm or no more than about 25 mm. According to some embodiments, housing 11 has a thickness of at least about 10 mm or at least about 15 mm. According to some of these embodiments, housing 11 has a thickness of at least about 50 mm.
[0017] In some embodiments, housing 11 has a volume of up to about 2500 cubic centimeters and/or up to about 1500 cubic centimeters. In some of these embodiments, housing 11 has a volume of up to about 1000 cubic centimeters and/or up to about 600 cubic centimeters.
[0018] While described with regards to a handheld device, many embodiments are usable with portable devices which are not handheld and/or with non-portable devices/systems. [0019] 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.
[0020] 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/lxRTT systems, Enhanced Data Rates for Global Evolution (EDGE) systems, Evolution Data Only or Evolution Data Optimized (EV-DO) systems, etc. [0021] Device 100 may be configured to provide voice and/or data communications functionality through wireless access points (WAPs) in accordance with different types of wireless network systems. A wireless access point may comprise any one or more components of a wireless site used by device 100 to create a wireless network system that connects to a wired infrastructure, such as a wireless transceiver, cell tower, base station, router, cables, servers, or other components depending on the system architecture. Examples of wireless network systems may further 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.1 la/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, a wireless personal area network (PAN) system, such as a Bluetooth® system operating in accordance with the Bluetooth Special Interest Group (SIG) series of protocols.
[0022] As shown in the embodiment of FIG. 3, device 100 may comprise a processing circuit 101 which 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. [0023] 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 one processor, more than two 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. Alternatively, processing circuit 101 may comprise any digital and/or analog circuit elements, comprising discrete and/or solid state components, suitable for use with the embodiments disclosed herein. [0024] 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. [0025] 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 (e.g., contact management application, calendar application, scheduling application, task management application, web site favorites or bookmarks, notes application, etc.), 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. [0026] 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.
[0027] 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.
[0028] 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.
[0029] Device 100 may comprise a user input device 110 coupled to the host processor 102. The user input device 110 may comprise, for example, an alphanumeric, numeric or 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 and so forth.
[0030] 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.
[0031] 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.1 Ix (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.
[0032] 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.
[0033] 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. [0034] 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. or other manufacturers.
[0035] Device 100 may comprise a transceiver 120 coupled to the radio processor 104. The transceiver 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. For example, transceiver 120 may comprise a Wi-Fi transceiver and a cellular or WAN transceiver configured to operate simultaneously.
[0036] The transceiver 120 may be implemented using one or more chips as desired for a given implementation. Although the transceiver 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 120 may be included on the same integrated circuit as the radio processor 104.
[0037] 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 120. The antenna system 122 may comprise or be implemented as one or more internal antennas and/or external antennas.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] In various embodiments, device 100 may comprise location or position determination capabilities. Device 100 may employ one or more position 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.
[0042] Device 100 may be configured to operate in one or more position 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, though it may receive certain types of position assist data, such as almanac, ephemeris, and coarse data. In a standalone mode, device 100 may comprise a local position 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 position 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 position determination entity (PDE), a location proxy server (LPS) and/or a mobile positioning center (MPC), etc.). [0043] 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 to 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. [0044] When assisting the mobile computing device 100, the remote computer 132 may handle various processing operations and also may provide information to aid position determination. Examples of position assist data 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, coarse data, and so forth.
[0045] In various implementations, the position assist data 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 position 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 position determination mode. In some cases, data calls may be made and position assist data may be sent to device 100 from the remote computer 132 for every position fix (e.g., in an ad hoc mode). In other cases, data calls may be made and position assist data may be sent periodically and/or as needed.
[0046] In various embodiments, device 100 may comprise dedicated hardware circuits or structures, or a combination of dedicated hardware and associated software, to support position determination. For example, the transceiver 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 position determination. [0047] 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 position requests (e.g., requests for position fixes) and position 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. [0048] 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. [0049] 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.
[0050] 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 position 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 position assist data 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. [0051] 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 position 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 position determination. In one embodiment, the position engine may be implemented as a QUALCOMM® gpsOne® engine.
[0052] In various implementations, the position engine may employ one or more position 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 position 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 position of device 100. Examples of position data 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, cellular tower or cellular base station identifier, and so forth.
[0053] Referring now to Fig. 4, an illustrative system and method of using position data to select a wireless access point will be described. At step 20, memory 108, 124 is configured to store position data representative of a position of the mobile computing device. The position data may be a position fix from position determination circuit 134 (such as a GPS circuit or a circuit employing any of the other position determination techniques described above), which may be generated in response to a user input or may have been previously- calculated but deemed by processing circuit 101 to be sufficiently recent or current to represent an approximate position of the mobile computing device. The position data may be provided from a calendar application operated by processing circuit 101, such as from a location field in a calendar appointment, wherein a user has entered a location in the location field and processing circuit 101 is configured to store or convert that location in a format suitable for use herein. The position data may be a cell site or cellular base station identifier generated by processing circuit 101 and/or received by processing circuit based on wireless communication via transceiver 120 with a cellular base station. Thus, the position data may be approximate, estimated, currently- or previously-calculated, user-entered, or even assumed. Further, the position data may be generated based on a plurality of these sources.
[0054] At step 22, memory 108, 124 is also configured to store wireless access point data for a plurality of wireless access points. The wireless access point data may be prestored based on prior scanning operations performed minutes, days, or hours previous to this particular user interaction with device 100, and/or may be collected and stored based on a current scanning operation. The wireless access point data may comprise one or more of a service set identifier (SSID), a network identifier, a media access control (MAC) address, an internet protocol (IP) address, etc. The wireless access point data further may comprise position data associated with the wireless access point, which may be different for each wireless access point, and which may be generated in any of a number of ways, such as described with reference to FIG. 5 below. The wireless access point data may optionally additionally comprise a configuration file or profile containing data useful to processing circuit 101 to scan for, initiate, establish, and/or maintain communication with a wireless access point. The wireless access point data may be stored as a database or other structured collection of data or records, wherein the records may further include data indicative of whether each wireless access point is in one or more user-preferred lists (e.g., a list which may be edited and maintained manually by the user or automatically updated based on whether a user has established communication with the a wireless access point), a prioritization scheme for the wireless access points based on recently-used or frequency-of- use criteria, signal strength, cost information for use of the network, network account or membership information, whether the wireless access points meets security and/or reliability criteria, hours of operation, etc. Processing circuit 101 may be configured to use any one or more of these records in the database to assist the user in manually or automatically selecting a wireless access point to scan for or with which to initiate, establish and/or maintain communication.
[0055] At step 24, processing circuit 101 is configured to select one of the plurality of wireless access points based on the position data and, at step 26, to initiate wireless communication with the selected wireless access point. The selection may be done in response to a user selection or without user selection based on pre-programmed criteria. Processing circuit 101 may use the position data of mobile computing device 100 to identify one or more wireless access points in the vicinity of mobile computing device 100 and then select the one or more wireless access points from among the database of wireless access points for further processing. Whether a wireless access point is in the vicinity of mobile computing device 100 may depend on the type of device position data and the type of wireless access point position data being used in the comparison. Vicinity criteria may be one or more of an estimated size of a cell site, a predetermined distance, within a city or other geographically-defined vicinity (e.g., zip code), etc. Processing circuit 101 may use the position data to narrow the available networks or wireless access points that device 100 will consider for communication, by determining that the wireless access points meet the vicinity characteristic or criteria. Processing circuit 101 may be configured to apply further criteria or characteristics beyond the position data to select a wireless access point or network for communication, such as, which network is on a preferred or trusted list, which network has a faster communication speed, which has a stronger signal, etc. According to one embodiment, at least one additional characteristic is applied to the narrowing or selection of wireless access points only if a plurality of identified wireless access points are within a vicinity of the mobile computing device (e.g., the wireless access points share a common cell ID characteristic, are within the same or approximately the same distance from device 100, etc.) This step of applying further criteria beyond the vicinity criteria may be particularly useful where the position data identifies a plurality of networks meeting the "vicinity" or nearness criteria.
[0056] According to one embodiment, processing circuit 101 is configured to initiate the wireless communication with the selected wireless access point prior to scanning or polling for available wireless access points at a position. In this embodiment, time and power may be saved by avoiding the process of scanning for a wireless access point previously-stored in the database which is known to processing circuit 101 to be distant from the position of mobile computing device. For example, processing circuit 101 may be configured to filter or select from some or all wireless access point data in the database based on position and/or known wireless access points (e.g., which may be known because device 100 has previously connected to them, previously found them in a scanning operation, or learned of them from manual entry by a user via a user input device or memory card, etc.) and to provide an output list which is a subset of the database, comprising one or more wireless access points. Processing circuit 101 may display the output list to the user for selection of one of the wireless access points to cause processing circuit 101 to initiate communication with the selected wireless access point. If the output list comprises only one wireless access point, processing circuit 101 may automatically or without user input initiate or attempt to initiate communication with the wireless access point in the list. If the output list comprises no wireless access points, processing circuit 101 may display all wireless access points in the database in any order (e.g., a random order, previously-defined user-preferred order, or an order based on other records in the database) and/or may initiate a scanning operation to find additional wireless access points within communication range of device 100. [0057] According to another embodiment, in response to a user enabling the radio frequency transceiver (e.g., by powering-on the device, powering-on the radio transceiver, selecting an operation in an application requiring wireless communication, etc.), processing circuit 101 is configured to retrieve the device position data from memory, select one of the plurality of wireless access points based on the position data, and initiate the wireless communication with the selected wireless access point, all without requiring further user input (e.g., automatically). If a plurality of wireless access points meet the position criteria, processing circuit 101 may be configured to initiate communication with the first wireless access point it finds meeting the position criteria or it may use other database records to select one wireless access point for communication. In either case of automatic or manual initiation of communication, if the selected wireless access point is unavailable or communication is not otherwise established, processing circuit 101 may be configured to scan for available wireless access points (e.g., which scanning may only occur if the selected wireless access point is unavailable or may occur prior to selection of the wireless access point) and display identifiers for the found wireless access points to the user for selection. In an alternative embodiment, if processing circuit 101 finds a plurality of wireless access points meeting the position criteria, processing circuit 101 may be configured to display the wireless access points and one or more of the records from the database on display 112 and seek user selection or confirmation of a particular wireless access point for communication. The user may also be allowed to pre-program a preferred one of a subset of wireless access points meeting the position criteria for automatic connection.
[0058] According to one illustrative embodiment, processing circuit 101 is configured to display a plurality of wireless access point identifiers for nearby wireless access points only if the processing circuit fails to identify a preferred wireless access point identifier in the database based on the retrieved position data. [0059] In step 26, initiation of the wireless communication may comprise scanning to find a wireless signal associated with the wireless access point, attempting to initiate or scan, establishing or attempting to establish wireless communication, etc. The initiation may be done in response to user input (e.g., selection or confirmation) or without requiring user input. If the network associated with the wireless access point is open and available, communication can be established. If the network is closed, locked, proprietary or secure, device 100 may be configured to provide a password or other credentials either from memory or from a user.
[0060] Referring now to Fig. 5, a system and method of associating position data with a wireless access point identifier will be described, according to an illustrative embodiment. Steps 30-38 may be used for any purpose, one example of which is to acquire position data associated with a wireless access point. At step 30, device 100 is configured to display a plurality of wireless access point identifiers on display 112. The wireless access point identifiers may be received as a result of a scanning operation in which processing circuit 101 scans or polls for wireless access points within communication range of transceiver 120. Alternatively, the wireless access point identifiers may be manually input or edited by a user, pre-programmed by a manufacturer, service professional, or enterprise information technology professional, downloaded from a network wirelessly or via a wired connection from a remote server, downloaded via a memory card, etc. and may be downloaded pursuant to a subscription service such as Boingo Wireless, Inc., Santa Monica, California. [0061] At step 32, processing circuit 101 is configured to receive a user selection of one of the wireless access points identifiers via user input device 110. At step 34, processing circuit 101 is configured to initiate communication with the wireless access point in response to receiving the user selection which, as describe above, may include an attempt to initiate. At step 36, processing circuit 101 is configured to retrieve or receive position data representative of a position of device 100 or the wireless access point, which may be retrieved from memory or generated in this step. The position data may be based on a cell tower ID, which is representative of both the position of device 100 and the wireless access point. Further, processing circuit 101 may receive latitude/longitude data of device 100. The other methods of determining position described in this specification may be implemented.
[0062] At step 38, processing circuit 101 is configured to associate the wireless access point identifier with the position data in the memory. The data may be stored as a data pair or record comprising the wireless access point identifier and the position data. One or more position data points may be associated with a wireless access point identifier. [0063] The method of FIG. 5 may occur at different times over the lifetime of device 100. As device 100 establishes communication with each wireless access point, processing circuit 101 stores the wireless access point identifier and associated position data in a list or database record indicating recently-used or frequency-of-use criteria, signal strength, cost information for use of the network, network account or membership information, whether the wireless access points meets security and/or reliability criteria, etc. The feature of storing position data associated with each wireless access point with which device 100 initiates or establishes communication may be enabled or disabled by the user. [0064] According to one embodiment, processing circuit 101 is configured to create a database of preferred wireless access point identifiers based on a user manually selecting each wireless access point and initiating communication with each wireless access point and retrieving the associated position data based on the current position of the mobile computing device.
[0065] Referring now to Fig. 6, a system and method of using position data to select a wireless access point will be described, according to an illustrative embodiment. At step 40, processing circuit 101 is configured to store wireless access point data and associated position data for a plurality of wireless access points. At step 42, processing circuit 101 is configured to retrieve a current position of the mobile computing device, which may be done using any of the techniques described in this specification. At step 44, processing circuit 101 is configured to use the current position data to select wireless access point data from memory. At step 46, processing circuit 101 is configured to attempt to initiate communication with a wireless access point based on the selected wireless access point data. The attempt to initiate communication may comprise a scanning, polling, or search operation, and may be limited to wireless access points in a preferred list. The step of initiating may be done without requiring input from the user.
[0066] Referring now to Fig. 7, a system and method of using position data to select a wireless access point will be described. At step 50, device 100 is configured to generate position data representing a position of a mobile computing device. At step 52, processing circuit 101 is configured to access a database of wireless access point data representing wireless access points meeting at least one of a security criterion or reliability criterion. The database may be local in memory 108, 124 or may be stored on a remote server and accessed wirelessly via a WAN, such as a cellular network. The database may further be a subscription service. Processing circuit 101 may be configured to determine whether a wireless access point meets the security or reliability criterion by determining whether the wireless access point is a member of the remote database of approved wireless access points. The security criterion or reliability criterion can be predetermined by the service provider or by the user and may be used by device 100 as a filter. For example, the service provider may screen out networks having insufficient security measures to prevent keylogging data or other security attacks. The security criteria may comprise social criteria. For example, a wireless access point must have an access point server in a locked environment to avoid tampering by employees. The security criteria may comprise technical criteria. For example, a provider of the access point may be required to run software on their local wireless system that reports statistics and usage to the service provider aggregator to check for keylogging or traffic re-routing. The software would either create a unique identifier allowing client devices to see the provider or add it to a trusted list.
[0067] At step 54, processing circuit 101 is configured to select a subset (e.g., one or more) of the wireless access point data in the database based on the position data. [0068] According to one embodiment, processing circuit 101 is configured to create the database of preferred wireless access points based at least in part on the wireless access points meeting a security or reliability criterion [0069] Illustrative Scenarios
[0070] In one use scenario of an illustrative embodiment, a user of device 100 launches an application requiring or requesting wireless communication with a wireless access point, in particular a Wi-Fi network access point. Rather than scan for, identify, and/or attempt to establish communications with all available Wi-Fi networks or even Wi-Fi networks in a user's preferred or recently-access list, which consumes time and battery life, processing circuit 101 first requests a position fix from position determination circuit 134. Position determination circuit 134 generates a position fix and forwards the position fix to processing circuit 101. Processing circuit 101 searches a database of Wi-Fi access points in memory 108 for access points known to be within a predetermined distance of the currently- generated position fix. One Wi-Fi access point is identified from the database. Processing circuit 101 then receives the Wi-Fi access point SSID and other configuration or profile data and attempts to initiate communication with the Wi-Fi access point. If the communication attempt does not succeed, processing circuit 101 then obtains a cell tower ID from a nearby cell site and uses the cell tower ID to search for additional Wi-Fi access points in the database. Once one is found, communication is initiated and established. [0071] In the scenario, the process may require no user input, or may allow user input at various stages. The process may be transparent to the user, or may provide visual or audible prompts throughout the process to apprise the user the steps being taken by device 100. [0072] In another use scenario, a user carriers device 100 into a Starbucks store in City A offering a T-Mobile Wi-Fi network service. A user has learned from past experience that the speed of the T-Mobile Wi-Fi network at this location is good, but the speed of a second T-Mobile Wi-Fi network at a Starbuck's store in City B is slower, so the user prefers to use a Google Wi-Fi network at the Starbuck's store in City B. When in City A, device 100 compares its position data to its database of wireless access points and selects the T-Mobile Wi-Fi network service as the preferred WAP at this location. When in City B, device 100 compares its position data to its database of wireless access points and selects the Google Wi-Fi network. In this scenario, the T-Mobile Wi-Fi network services both use the same SSID, but the position different allows device 100 to distinguish one from the other. [0073] In another use scenario with reference to the embodiment of FIG. 7, a user arrives in an airport in Oklahoma City, having never been to Oklahoma. Thus, the user's device 100 does not have any database of previously-connected Wi-Fi access points for that position. When device 100 is activated, device 100 scans for and identifies twenty different access points. The user does not know which of the identified access points are for trusted networks and which are run by unscrupulous entities. The user invokes an application on device 100 which retrieves position data for device 100 and searches a database of approved access points to select an approved, trusted network within the vicinity of device 100. The database may be one operated by Boingo Wireless, Inc. is local to device 100 and updated periodically (e.g., daily, weekly, with each data synchronization, whenever a wireless communication is established, etc.) The application selects a trusted wireless access point for the location and wireless communication is established.
[0074] One or more of the processes described in this specification may be operable from a software module, such as a connection manager, such as a Wi-Fi smart connection manager. The Wi-Fi smart connection manager may be configured to use position data to select a subset of wireless access points and to then pass the subset of wireless access points to a connection manager configured to establish a wireless connection. [0075] One or more of the process steps may be accomplished automatically, i.e., without requiring user input, in various embodiments.
[0076] One or more embodiments may use data indicating that device 100 has connected to a wireless access point in roughly or approximately the same location during a previous time to connect (optionally automatically connect) to a same wireless access point.
[0077] According to one embodiment, the database record for a wireless access point may comprise more than one position data, which may further be obtained from different sources
(e.g., a location field from a calendar application and a position fix from a position determination circuit may both be stored). For example, if processing circuit 101 determines that more than one Wi-Fi network is within the vicinity or range of device 100,
A-GPS, GPS, and/or calendar data may be checked to select a preferred network at that location.
[0078] With reference to the disclosure and claims, use of the phrase "based on" means
"based in least in part on," and use of the term "a," "an" or "one" means "one or more" or
"at least one." Further, any of the steps of any of the methods disclosed herein may be combined with any of the other steps and/or rearranged with other steps in alternative embodiments. Specifically, various embodiments may make use of different combinations of parts or all of the methods disclosed herein.
[0079] While the illustrative embodiments illustrated in the figures, and described above are presently illustrative, it should be understood that these embodiments are offered by way of example only. 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

WHAT IS CLAIMED IS: 1. A mobile computing device, comprising: a radio frequency transceiver configured to communicate with wireless access points; a memory configured to store position data representative of a position of the mobile computing device and wireless access point data for a plurality of wireless access points; and a processing circuit configured to select one of the plurality of wireless access points based on the position data and to initiate wireless communication with the selected wireless access point.
2. The mobile computing device of Claim 1, wherein the processing circuit is configured to initiate the wireless communication with the selected wireless access point prior to scanning for available wireless access points at a position.
3. The mobile computing device of Claim 1 or 2, wherein the processing circuit is configured to operate a calendar application to receive the position data.
4. The mobile computing device of any preceding Claim, further comprising a position determination circuit configured to generate the position data.
5. The mobile computing device of any preceding Claim, further comprising a cellular transceiver coupled to the processing circuit, wherein the processing circuit is configured to generate the position data based on wireless communication via the cellular transceiver with a cellular base station to receive a base station identifier.
6. The mobile computing device of any preceding Claim, wherein the processing circuit is configured to display a plurality of wireless access point identifiers, to receive a user selection of one of the plurality of wireless access point identifiers, to retrieve current position data for the mobile computing device, and to store data in memory associating the user-selected wireless access point identifier with the current position data.
7. The mobile computing device of Claim 6, wherein the processing circuit is configured to store a database comprising a plurality of preferred wireless access point identifiers, each with different associated position data.
8. The mobile computing device of Claim 7, wherein in response to the user enabling the radio frequency transceiver, the processing circuit is configured to retrieve the position data from memory, select the one of the plurality of wireless access points based on the position data, and initiate the wireless communication with the selected wireless access point, all without requiring further user input.
9. The mobile computing device of Claim 8, wherein the processing circuit is configured to display a plurality of wireless access point identifiers for nearby wireless access points only if the processing circuit fails to identify a preferred wireless access point identifier in the database based on the retrieved position data.
10. The mobile computing device of any of Claims 7, 8 or 9, wherein the processing circuit is configured to create the database of preferred wireless access point identifiers based on a user manually selecting each wireless access point and initiating communication with each wireless access point and retrieving the associated position data based on the current position of the mobile computing device.
11. The mobile computing device of any of Claims 7 to 10, wherein the processing circuit is configured to create the database of preferred wireless access points based at least in part on the wireless access points meeting a security or reliability criterion.
12. The mobile computing device of Claim 11 , wherein the processing circuit is configured to determine whether a wireless access point meets the security or reliability criterion by determining whether the wireless access point is a member of a remote database of approved wireless access points.
13. A mobile computing device, comprising: a radio frequency transceiver configured to communicate with wireless access points; a memory; a user input device; a display; a processing circuit configured to display a plurality of wireless access point identifiers on the display, to receive a user selection of one of the wireless access point identifiers via the user input device, to initiate communication with a wireless access point corresponding to the wireless access point identifier in response to receiving the user selection, to retrieve position data representative of a position of the mobile computing device or the wireless access point, and to associate the wireless access point identifier with the position data in the memory.
14. The mobile computing device of Claim 13, wherein the mobile computing device comprises a housing configured to be carried by a user while in use, a telephony communication circuit, and a plurality of personal information management applications configured to synchronize personal data with a remote computer.
15. A method operable on a mobile computing device for using position data to select a wireless access point, comprising: storing wireless access point data and associated position data for a plurality of wireless access points; retrieving a current position of the mobile computing device; using the current position data to select wireless access point data from memory; and attempting to initiate communication with a wireless access point based on the selected wireless access point data.
16. The method of Claim 15, wherein the wireless access point data is stored in response to selection by a user of a plurality of preferred wireless access points, wherein the step of using comprises selecting the wireless access point data from among the preferred wireless access point data, whereby the processing circuit attempts to initiate communication only with preferred wireless access points in the vicinity of the current position.
17. The method of Claims 15 or 16, wherein attempting to initiate communication with the wireless access point based on the selected wireless access point data occurs without requiring input from a user.
18. The method of any of Claims 15 to 17, wherein the associated position data comprises a cellular base station identifier.
19. A method of identifying a subset of wireless access points to assist a user in communicating with a wireless access point, comprising: generating position data representing a position of a mobile computing device; accessing a database of wireless access point data representing wireless access points meeting at least one of a security criterion or reliability criterion; and selecting a subset of the wireless access point data in the database based on the position data.
20. The method of Claim 19, further comprising: displaying the subset of the wireless access points to a user; receiving a user selection of a wireless access point; and initiating communication with the user-selected wireless access point.
21. The method of claim 20, wherein accessing the database comprises accessing the database via a server remote from the mobile computing device.
22. A method of selecting a wireless access point for communication, comprising: receiving position data representing a position of a mobile computing device; identifying wireless access points within a vicinity of the mobile computing device; selecting a wireless access point based on the identified wireless access points and at least one additional characteristic of the wireless access points; and initiating communication with the selected wireless access point.
23. The method of Claim 22, wherein the characteristic comprises a security characteristic or a reliability characteristic of the wireless access points.
24. The method of Claims 22 and 23, wherein the characteristic comprises a communication speed or signal strength of the wireless access points.
25. The method of any of Claims 22 to 24, wherein the at least one additional characteristic is applied to the selection only if a plurality of the identified wireless access points are within a vicinity of the mobile computing device.
26. A computer program comprising program elements operative in data processing circuitry to implement the functionality of the mobile computing device of any of Claims 1 to 14 and/or implement the method of any of Claims 15 to 25.
27. A computer program product comprising computer program media storing and/or conveying the computer program of claim 26.
PCT/US2008/073113 2007-08-29 2008-08-14 Use of position data to select wireless access point WO2009032499A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP08797862A EP2189037A4 (en) 2007-08-29 2008-08-14 Use of position data to select wireless access point

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/897,240 US9288751B2 (en) 2007-08-29 2007-08-29 Use of position data to select wireless access point
US11/897,240 2007-08-29

Publications (1)

Publication Number Publication Date
WO2009032499A1 true WO2009032499A1 (en) 2009-03-12

Family

ID=40408289

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/073113 WO2009032499A1 (en) 2007-08-29 2008-08-14 Use of position data to select wireless access point

Country Status (3)

Country Link
US (1) US9288751B2 (en)
EP (1) EP2189037A4 (en)
WO (1) WO2009032499A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209464A (en) * 2012-01-11 2013-07-17 联想(北京)有限公司 Wireless access method and electronic device using same
WO2017185739A1 (en) * 2016-04-26 2017-11-02 中兴通讯股份有限公司 Wifi hotspot pushing method and device

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266379B2 (en) * 2001-05-30 2007-09-04 Palm, Inc. Resource location through location history
US20030087602A1 (en) * 2001-11-05 2003-05-08 Palm, Inc. Data prioritization and distribution limitation system and method
US9140552B2 (en) * 2008-07-02 2015-09-22 Qualcomm Incorporated User defined names for displaying monitored location
US9031583B2 (en) * 2007-04-11 2015-05-12 Qualcomm Incorporated Notification on mobile device based on location of other mobile device
US20080254811A1 (en) 2007-04-11 2008-10-16 Palm, Inc. System and method for monitoring locations of mobile devices
ES2687405T3 (en) 2007-09-27 2018-10-25 Sun Patent Trust Network node and mobile terminal
US9167505B2 (en) * 2007-10-08 2015-10-20 Qualcomm Incorporated Access management for wireless communication
US9775096B2 (en) 2007-10-08 2017-09-26 Qualcomm Incorporated Access terminal configuration and access control
JP4656445B2 (en) * 2007-10-31 2011-03-23 Necカシオモバイルコミュニケーションズ株式会社 Communication terminal device and program
US20090143078A1 (en) * 2007-11-30 2009-06-04 Palm, Inc. Techniques to manage a radio based on location information
CN101547242B (en) * 2008-03-24 2010-12-22 华为技术有限公司 Method for managing list and device thereof
US20100069086A1 (en) * 2008-09-17 2010-03-18 Sony Ericsson Mobile Communications Ab Mobile Terminals Providing Network-Based Location Data, and Methods and Computer Program Product for Operating the Same
JP2010087829A (en) * 2008-09-30 2010-04-15 Sony Corp Terminal device, method for displaying connectable-position information, and program
US20100124881A1 (en) * 2008-11-17 2010-05-20 Vivekananda Uppunda Database Based Connectivity For Secure SSID
EP2199818B1 (en) * 2008-12-19 2019-02-20 Koninklijke KPN N.V. Method of determining a location of a mobile device
US9049652B2 (en) * 2009-02-27 2015-06-02 Broadcom Corporation Method and system for controlling access and utilization of femtocells via a network based service
JP4871373B2 (en) * 2009-06-19 2012-02-08 任天堂株式会社 Information processing system and information processing apparatus
US8489094B2 (en) * 2009-08-03 2013-07-16 West Corporation System and method for providing location information to a mobile calling unit
US8395547B2 (en) 2009-08-27 2013-03-12 Hewlett-Packard Development Company, L.P. Location tracking for mobile computing device
US8755815B2 (en) 2010-08-31 2014-06-17 Qualcomm Incorporated Use of wireless access point ID for position determination
JP5674296B2 (en) 2009-09-09 2015-02-25 任天堂株式会社 Information processing system and information processing apparatus
US9155125B1 (en) * 2009-09-16 2015-10-06 Sprint Communications Company L.P. Location validation system and methods
KR101600472B1 (en) * 2009-10-30 2016-03-08 삼성전자주식회사 Apparatus and method for associating network in an wireless terminal
US8634860B2 (en) * 2010-01-15 2014-01-21 Apple Inc. Location determination using cached location area codes
US8200251B2 (en) * 2010-01-15 2012-06-12 Apple Inc. Determining a location of a mobile device using a location database
US8655371B2 (en) * 2010-01-15 2014-02-18 Apple Inc. Location determination using cached location area codes
US8660576B2 (en) * 2010-01-15 2014-02-25 Apple Inc. Adaptive location determination
US8433334B2 (en) 2010-01-15 2013-04-30 Apple Inc. Managing a location database for network-based positioning system
US8504059B2 (en) * 2010-01-15 2013-08-06 Apple Inc. Location filtering using mobile country code
JP5498212B2 (en) 2010-03-17 2014-05-21 任天堂株式会社 COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, COMMUNICATION CONTROL METHOD, AND COMMUNICATION SYSTEM
US20110237274A1 (en) * 2010-03-25 2011-09-29 Palm, Inc. Mobile computing device having relative positioning circuit
US8620344B2 (en) 2010-04-07 2013-12-31 Apple Inc. Location-based application program management
CN102238693B (en) * 2010-04-20 2015-03-11 深圳富泰宏精密工业有限公司 System and method for automatically searching WiFi (wireless fidelity) hotspots
TWI487403B (en) * 2010-04-23 2015-06-01 Chi Mei Comm Systems Inc System and method for searching wifi hotspots
JP2011250874A (en) 2010-05-31 2011-12-15 Nintendo Co Ltd Information processing program, information processing apparatus, information processing system, and information processing method
JP5593566B2 (en) 2010-06-10 2014-09-24 任天堂株式会社 Information processing system, information processing apparatus, information processing apparatus control method, and information processing apparatus control program
JP5677811B2 (en) 2010-06-11 2015-02-25 任天堂株式会社 Portable information terminal, portable information system, portable information terminal control program
JP2012018657A (en) 2010-06-11 2012-01-26 Nintendo Co Ltd Information processing terminal, information processing system, and information processing program
JP5507350B2 (en) 2010-06-11 2014-05-28 任天堂株式会社 Portable information terminal, portable information terminal control program, portable information system, and portable information terminal control method
TWI403203B (en) * 2010-08-24 2013-07-21 Hon Hai Prec Ind Co Ltd Mobile handheld device and the method for tracking its position
EP2617248A4 (en) * 2010-09-13 2016-11-02 Nokia Technologies Oy Method and apparatus for maintaining access pont information
JP4999213B2 (en) 2010-09-17 2012-08-15 任天堂株式会社 Information processing program, portable terminal device, system, information processing method, and communication system
WO2012050948A1 (en) * 2010-09-29 2012-04-19 Hewlett-Packard Development Company, L.P. Location tracking for mobile computing device
US20120098705A1 (en) * 2010-10-22 2012-04-26 Palm, Inc. Use of heuristic data for sending message from mobile computing device
JP4882022B1 (en) 2010-12-28 2012-02-22 任天堂株式会社 Communication system, information processing program, information processing method, information processing apparatus, information processing system
US9609587B2 (en) 2011-01-31 2017-03-28 Synchronoss Technologies, Inc. System and method for host and OS agnostic management of connected devices through network controlled state alteration
US8730872B2 (en) * 2011-02-01 2014-05-20 David R. Elmaleh System and method for identification of mobile device users in an area of a wireless access point
TWI450626B (en) * 2011-07-12 2014-08-21 Acer Inc Method of establishing a wireless link for a computer device
US20130080520A1 (en) * 2011-09-22 2013-03-28 Nokia Corporation Method and apparatus for provisioning resource credentials based on social networking data
US8665847B2 (en) 2011-11-08 2014-03-04 Microsoft Corporation Service-assisted network access point selection
US9339691B2 (en) 2012-01-05 2016-05-17 Icon Health & Fitness, Inc. System and method for controlling an exercise device
CN104106289A (en) * 2012-02-16 2014-10-15 索尼公司 Wireless communication device, program, and communication control method
US8750903B1 (en) * 2012-02-28 2014-06-10 CellAntenna Corporation Cell phone control and localization for restricted facilities
EP2849500A4 (en) * 2012-05-07 2015-07-08 Fujitsu Ltd Communication apparatus, communication control program and communication control method
US10143018B2 (en) 2012-06-27 2018-11-27 Google Llc Computing device with wireless network selection feature
US9654912B2 (en) * 2012-09-24 2017-05-16 Intel Corporation Wireless time of flight security, user authentication, and variable QoS position accuracy protocol
KR101669865B1 (en) * 2012-10-03 2016-10-27 인텔 코포레이션 Smart searching of wireless devices using device location information
US10075814B2 (en) * 2012-12-24 2018-09-11 Intel Corporation Location-based selection of wireless peripheral devices
US10372396B2 (en) * 2013-02-21 2019-08-06 Lenovo ( Singapore) Pte. Ltd. Discovery and connection to wireless displays
EP2969058B1 (en) 2013-03-14 2020-05-13 Icon Health & Fitness, Inc. Strength training apparatus with flywheel and related methods
KR20140118667A (en) * 2013-03-29 2014-10-08 삼성전자주식회사 Display apparatus and control method thereof
JP2015005820A (en) * 2013-06-19 2015-01-08 株式会社リコー Wireless lan connection method, wireless lan connection device and storage medium
US9369342B2 (en) 2013-11-15 2016-06-14 Microsoft Technology Licensing, Llc Configuring captive portals with a cloud service
US9554323B2 (en) 2013-11-15 2017-01-24 Microsoft Technology Licensing, Llc Generating sequenced instructions for connecting through captive portals
US10382305B2 (en) 2013-11-15 2019-08-13 Microsoft Technology Licensing, Llc Applying sequenced instructions to connect through captive portals
US9628359B1 (en) * 2013-12-23 2017-04-18 Google Inc. Network selection using current and historical measurements
EP3623020A1 (en) 2013-12-26 2020-03-18 Icon Health & Fitness, Inc. Magnetic resistance mechanism in a cable machine
WO2015138339A1 (en) 2014-03-10 2015-09-17 Icon Health & Fitness, Inc. Pressure sensor to quantify work
JP6459491B2 (en) * 2014-03-20 2019-01-30 カシオ計算機株式会社 Display device, display system, and program
WO2015191445A1 (en) 2014-06-09 2015-12-17 Icon Health & Fitness, Inc. Cable system incorporated into a treadmill
CN104023312B (en) * 2014-06-16 2017-09-15 北京华信傲天网络技术有限公司 The method of access network, apparatus and system
WO2015195965A1 (en) 2014-06-20 2015-12-23 Icon Health & Fitness, Inc. Post workout massage device
KR20160015668A (en) * 2014-07-31 2016-02-15 삼성전자주식회사 Method and apparatus for recogniting area
US9797978B1 (en) 2014-09-03 2017-10-24 Howard Melamed UAV, system, and method for radio frequency spectral analysis
CN104394263A (en) * 2014-09-30 2015-03-04 小米科技有限责任公司 Accessing point list displaying method and device
US9715009B1 (en) 2014-12-19 2017-07-25 Xidrone Systems, Inc. Deterent for unmanned aerial systems
US9689976B2 (en) 2014-12-19 2017-06-27 Xidrone Systems, Inc. Deterent for unmanned aerial systems
US9847035B1 (en) 2015-01-28 2017-12-19 Howard Melamed Methods for radio frequency spectral analysis
US9529360B1 (en) * 2015-01-28 2016-12-27 Howard Melamed System and method for detecting and defeating a drone
US10391361B2 (en) 2015-02-27 2019-08-27 Icon Health & Fitness, Inc. Simulating real-world terrain on an exercise device
US10004054B2 (en) * 2015-07-09 2018-06-19 Acer Incorporated Method of making mobile originated calls using user equipment in IOPS dual PLMN mode of operation
CN105873189A (en) * 2015-09-07 2016-08-17 上海连尚网络科技有限公司 Method and device for building wireless connection
US9699140B1 (en) * 2015-09-28 2017-07-04 Symantec Corporation Systems and methods for selecting identifiers for wireless access points
CN105263171B (en) * 2015-10-10 2019-06-04 Tcl移动通信科技(宁波)有限公司 Access point based on mobile terminal is requested and configuration processing method and system automatically
US10625137B2 (en) 2016-03-18 2020-04-21 Icon Health & Fitness, Inc. Coordinated displays in an exercise device
US10493349B2 (en) 2016-03-18 2019-12-03 Icon Health & Fitness, Inc. Display on exercise device
US10272317B2 (en) 2016-03-18 2019-04-30 Icon Health & Fitness, Inc. Lighted pace feature in a treadmill
CN107071772B (en) * 2016-07-29 2020-07-07 腾讯科技(深圳)有限公司 Wireless local area network connection method and mobile terminal
US9730255B1 (en) * 2016-08-30 2017-08-08 Polycom, Inc. Room-specific pairing via a combined ultrasonic beacon/bluetooth approach
US10671705B2 (en) 2016-09-28 2020-06-02 Icon Health & Fitness, Inc. Customizing recipe recommendations
US10075838B2 (en) 2016-11-28 2018-09-11 Microsoft Technology Licensing, Llc Smart discovery of wireless receivers
US10907940B1 (en) 2017-12-12 2021-02-02 Xidrone Systems, Inc. Deterrent for unmanned aerial systems using data mining and/or machine learning for improved target detection and classification
US11277251B1 (en) 2019-07-03 2022-03-15 Michael Patrick Millard Radio frequency spectrum management system and method
US11096201B2 (en) * 2019-10-10 2021-08-17 Motorola Solutions, Inc. Method of scheduling downloads for communication devices connected to a download server through a common access point

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220107A1 (en) * 2002-04-05 2003-11-27 Marcello Lioy Key updates in a mobile wireless system
US20040203873A1 (en) * 2002-09-19 2004-10-14 William H. Gray Method and system of informing WAN user of nearby WLAN access point
US20070010248A1 (en) * 2005-07-07 2007-01-11 Subrahmanyam Dravida Methods and devices for interworking of wireless wide area networks and wireless local area networks or wireless personal area networks
US20070110009A1 (en) * 2003-11-12 2007-05-17 Matsushita Electric Industrial Co., Ltd. Contex transfer in a communication network comprising plural heterogeneous access networks

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0292182B1 (en) 1987-05-15 1996-07-24 Securicor Datatrak Limited Mobile transmitter/receiver
US5010547A (en) 1989-07-10 1991-04-23 Motorola, Inc. Multiple messaging using a single selective call address
US5075684A (en) 1989-10-06 1991-12-24 Motorola, Inc. Selective call message management
US5012219A (en) 1989-10-13 1991-04-30 Motorola, Inc. Message reminder alert for selective call receiver
BR9204094A (en) 1991-02-04 1993-06-08 Motorola Inc PROCESS OF OPERATING A RADIO TELEPHONE, AND TELEPHONE OPERATION CONTROLLER
US5430436A (en) 1992-10-05 1995-07-04 Motorola, Inc. Method and apparatus for displaying a keypad arrangement on a selective call receiver
US5359317A (en) 1992-10-09 1994-10-25 Motorola, Inc. Method and apparatus for selectively storing a portion of a received message in a selective call receiver
US5394140A (en) 1992-11-23 1995-02-28 Motorola, Inc. Method and apparatus for pre-programmed call-back-number-determined alert
US5608626A (en) 1993-03-26 1997-03-04 Hitachi, Ltd. Drive shaft torque controlling apparatus for use in a vehicle having a power transmission mechanism and method therefor
US5650776A (en) 1993-09-23 1997-07-22 Motorola, Inc. Communication receiver having user configuration control functions
US5699244A (en) 1994-03-07 1997-12-16 Monsanto Company Hand-held GUI PDA with GPS/DGPS receiver for collecting agronomic and GPS position data
US6404761B1 (en) 1994-06-17 2002-06-11 Home Wireless Networks, Inc. Communications webs with personal communications links for PSTN subscribers
US5594796A (en) 1994-10-05 1997-01-14 Motorola, Inc. Method and apparatus for detecting unauthorized distribution of data
WO1996015517A2 (en) 1994-11-02 1996-05-23 Visible Interactive Corporation Interactive personal interpretive device and system for retrieving information about a plurality of objects
US5636146A (en) 1994-11-21 1997-06-03 Phatrat Technology, Inc. Apparatus and methods for determining loft time and speed
US6539336B1 (en) 1996-12-12 2003-03-25 Phatrat Technologies, Inc. Sport monitoring system for determining airtime, speed, power absorbed and other factors such as drop distance
US6885971B2 (en) 1994-11-21 2005-04-26 Phatrat Technology, Inc. Methods and systems for assessing athletic performance
US6516284B2 (en) 1994-11-21 2003-02-04 Phatrat Technology, Inc. Speedometer for a moving sportsman
US5604765A (en) 1994-12-23 1997-02-18 Stanford Telecommunications, Inc. Position enhanced communication system including system for embedding CDMA navigation beacons under the communications signals of a wireless communication system
US5720200A (en) 1995-01-06 1998-02-24 Anderson; Kenneth J. Performance measuring footwear
JPH08244919A (en) 1995-03-15 1996-09-24 Fujitsu Ltd Article delivery processing device
US5612682A (en) 1995-05-30 1997-03-18 Motorola, Inc. Method and apparatus for controlling utilization of a process added to a portable communication device
US6259405B1 (en) * 1995-06-06 2001-07-10 Wayport, Inc. Geographic based communications service
US6580700B1 (en) * 1995-10-27 2003-06-17 Symbol Technologies, Inc. Data rate algorithms for use in wireless local area networks
JP3668495B2 (en) 1995-11-06 2005-07-06 モトローラ・インコーポレーテッド Selective call receiver and method for storing messages therein
US5958006A (en) 1995-11-13 1999-09-28 Motorola, Inc. Method and apparatus for communicating summarized data
JPH09163441A (en) * 1995-12-06 1997-06-20 Sony Corp Portable telephone set and network for the same
US5987062A (en) * 1995-12-15 1999-11-16 Netwave Technologies, Inc. Seamless roaming for wireless local area networks
US5850187A (en) 1996-03-27 1998-12-15 Amtech Corporation Integrated electronic tag reader and wireless communication link
US6061561A (en) * 1996-10-11 2000-05-09 Nokia Mobile Phones Limited Cellular communication system providing cell transmitter location information
US6487180B1 (en) 1996-10-15 2002-11-26 Motorola, Inc. Personal information system using proximity-based short-range wireless links
US5938721A (en) 1996-10-24 1999-08-17 Trimble Navigation Limited Position based personal digital assistant
US6016476A (en) 1997-08-11 2000-01-18 International Business Machines Corporation Portable information and transaction processing system and method utilizing biometric authorization and digital certificate security
US6038666A (en) 1997-12-22 2000-03-14 Trw Inc. Remote identity verification technique using a personal identification device
US6104291A (en) 1998-01-09 2000-08-15 Intermec Ip Corp. Method and apparatus for testing RFID tags
US6157630A (en) 1998-01-26 2000-12-05 Motorola, Inc. Communications system with radio device and server
US6047579A (en) 1998-04-17 2000-04-11 The Minster Machine Company RF tag attached to die assembly for use in press machine
US6307919B1 (en) 1998-05-29 2001-10-23 Yehuda Yoked Remote controlled electronic price tag
US6346376B1 (en) * 1998-06-03 2002-02-12 Centre Suisse D'electronique Et De Mictotechnique Sa Optical sensor unit and procedure for the ultrasensitive detection of chemical or biochemical analytes
US6424845B1 (en) 1998-06-19 2002-07-23 Ncr Corporation Portable communication device
US6177905B1 (en) 1998-12-08 2001-01-23 Avaya Technology Corp. Location-triggered reminder for mobile user devices
US6415188B1 (en) 1998-12-23 2002-07-02 Dennis Sunga Fernandez Method and apparatus for multi-sensor processing
US6243689B1 (en) 1998-12-29 2001-06-05 Robert G. Norton System and method for authorizing electronic funds transfer at a point of sale
US6757718B1 (en) 1999-01-05 2004-06-29 Sri International Mobile navigation of network-based electronic information using spoken input
US6182010B1 (en) 1999-01-28 2001-01-30 International Business Machines Corporation Method and apparatus for displaying real-time visual information on an automobile pervasive computing client
JP2000268175A (en) 1999-03-18 2000-09-29 Omron Corp Personal authentication method and device
US6772331B1 (en) 1999-05-21 2004-08-03 International Business Machines Corporation Method and apparatus for exclusively pairing wireless devices
US6941270B1 (en) 1999-06-21 2005-09-06 Nokia Corporation Apparatus, and associated method, for loading a mobile terminal with an application program installed at a peer device
US6389290B1 (en) 1999-07-23 2002-05-14 Lextron Systems, Inc. Enhanced weather and traffic information from mobile communication devices
US7360248B1 (en) 1999-11-09 2008-04-15 International Business Machines Corporation Methods and apparatus for verifying the identity of a user requesting access using location information
US6601093B1 (en) 1999-12-01 2003-07-29 Ibm Corporation Address resolution in ad-hoc networking
US6313745B1 (en) 2000-01-06 2001-11-06 Fujitsu Limited System and method for fitting room merchandise item recognition using wireless tag
US6346881B1 (en) 2000-03-01 2002-02-12 Samsys Technologies Inc. Tag evaluation module for radio frequency identification (RFID) systems
US6893396B2 (en) 2000-03-01 2005-05-17 I-Medik, Inc. Wireless internet bio-telemetry monitoring system and interface
US6297737B1 (en) 2000-04-03 2001-10-02 Ericsson Inc Object locating system
US6982962B1 (en) 2000-04-10 2006-01-03 3Com Corporation System and method for selecting a network access provider using a portable information device
US6456234B1 (en) 2000-06-07 2002-09-24 William J. Johnson System and method for proactive content delivery by situation location
US6542750B2 (en) 2000-06-10 2003-04-01 Telcontar Method and system for selectively connecting mobile users based on physical proximity
US6731613B1 (en) 2000-06-14 2004-05-04 Motorola, Inc. Power management using a bandwidth control mechanism
US6246376B1 (en) 2000-06-28 2001-06-12 Texas Instruments Incorporated Wireless location and direction indicator for multiple devices
JP3939080B2 (en) 2000-07-18 2007-06-27 富士通株式会社 Computer and information processing method
US6681108B1 (en) 2000-08-16 2004-01-20 Mitsubishi Electric Research Laboratories, Inc. Network and method for identifying entities sharing a common network location
JP3776705B2 (en) 2000-09-28 2006-05-17 株式会社東芝 COMMUNICATION SYSTEM, MOBILE TERMINAL DEVICE, GATEWAY DEVICE, AND COMMUNICATION CONTROL METHOD
US20020042753A1 (en) 2000-10-06 2002-04-11 Ortiz Luis M. Transaction broker method and system
US7050452B2 (en) 2000-10-06 2006-05-23 Cognio, Inc. Systems and methods for interference mitigation among multiple WLAN protocols
US7035932B1 (en) * 2000-10-27 2006-04-25 Eric Morgan Dowling Federated multiprotocol communication
US7143171B2 (en) 2000-11-13 2006-11-28 Telefonaktiebolaget Lm Ericsson (Publ) Access point discovery and selection
US20020078075A1 (en) 2000-12-15 2002-06-20 Colson James C. System, method, and program product for prioritizing synchronizable data
US7171331B2 (en) 2001-12-17 2007-01-30 Phatrat Technology, Llc Shoes employing monitoring devices, and associated methods
US6847823B2 (en) * 2000-12-20 2005-01-25 Nokia Corporation System and method for accessing local services with a mobile terminal
US20020147717A1 (en) 2001-01-26 2002-10-10 Barros Mark Alexander Communication device, system, method, and computer program product for sorting data based on proximity
US7167484B2 (en) 2001-03-22 2007-01-23 Oxford Semiconductor, Inc. Centralized coordination point for wireless communication devices using multiple protocols
US7266379B2 (en) 2001-05-30 2007-09-04 Palm, Inc. Resource location through location history
US20020184418A1 (en) 2001-05-30 2002-12-05 Palm, Inc. Location mapping and determining using wireless devices
US20020194498A1 (en) 2001-05-30 2002-12-19 Palm, Inc. Mobile communication system for location aware services
JP3717805B2 (en) 2001-06-07 2005-11-16 三洋電機株式会社 Mobile communication terminal
CN1204700C (en) * 2001-12-29 2005-06-01 联想(北京)有限公司 Radio communication system combining with long and short distance technology and its realizing method
US6934664B1 (en) 2002-05-20 2005-08-23 Palm, Inc. System and method for monitoring a security state of an electronic device
JP3761513B2 (en) 2002-11-29 2006-03-29 Necインフロンティア株式会社 Wireless LAN access point automatic connection method and wireless LAN station
US20040156372A1 (en) 2003-02-12 2004-08-12 Timo Hussa Access point service for mobile users
US20050070279A1 (en) * 2003-09-30 2005-03-31 Boris Ginzburg Device, system and method of selecting channels to be scanned in wireless network association
JP2005277815A (en) * 2004-03-25 2005-10-06 Fujitsu Ltd Utilized network selection method and communication system, and mobile terminal
US20060063560A1 (en) * 2004-09-21 2006-03-23 Samsung Electronics Co., Ltd. Dual-mode phone using GPS power-saving assist for operating in cellular and WiFi networks
ES2391566T3 (en) 2004-10-29 2012-11-27 Skyhook Wireless, Inc. Database and location beacon server, method to build a location beacon database, and location-based service that uses it
EP1703679A1 (en) 2005-03-16 2006-09-20 Alcatel Mobile terminal and access point
US7920531B2 (en) 2005-10-11 2011-04-05 Hewlett-Packard Development Company, L.P. Technique for managing wireless networks
US20070149214A1 (en) * 2005-12-13 2007-06-28 Squareloop, Inc. System, apparatus, and methods for location managed message processing
US20070223432A1 (en) * 2006-03-21 2007-09-27 Badarinath Sharma K Wi-Fi network connection management using location specific information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220107A1 (en) * 2002-04-05 2003-11-27 Marcello Lioy Key updates in a mobile wireless system
US20040203873A1 (en) * 2002-09-19 2004-10-14 William H. Gray Method and system of informing WAN user of nearby WLAN access point
US20070110009A1 (en) * 2003-11-12 2007-05-17 Matsushita Electric Industrial Co., Ltd. Contex transfer in a communication network comprising plural heterogeneous access networks
US20070010248A1 (en) * 2005-07-07 2007-01-11 Subrahmanyam Dravida Methods and devices for interworking of wireless wide area networks and wireless local area networks or wireless personal area networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209464A (en) * 2012-01-11 2013-07-17 联想(北京)有限公司 Wireless access method and electronic device using same
WO2017185739A1 (en) * 2016-04-26 2017-11-02 中兴通讯股份有限公司 Wifi hotspot pushing method and device

Also Published As

Publication number Publication date
EP2189037A1 (en) 2010-05-26
EP2189037A4 (en) 2012-03-28
US9288751B2 (en) 2016-03-15
US20090061870A1 (en) 2009-03-05

Similar Documents

Publication Publication Date Title
US9288751B2 (en) Use of position data to select wireless access point
EP2130361B1 (en) Updating position assist data on a mobile computing device
EP2335443B1 (en) Using wireless characteristic to trigger generation of position fix
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
US10021669B2 (en) Techniques for tracking destinations on a mobile computing device
US8934871B2 (en) Accessing subscribed content with a mobile computing device
US9191781B2 (en) Use of wireless access point ID for position determination
US9097544B2 (en) Location tracking for mobile computing device
US8395547B2 (en) Location tracking for mobile computing device
US20120098705A1 (en) Use of heuristic data for sending message from mobile computing device
US8213961B2 (en) Use of local position fix when remote position fix is unavailable

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08797862

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2008797862

Country of ref document: EP