[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2001013069A1 - Method and apparatus for providing location-dependent services to mobile users - Google Patents

Method and apparatus for providing location-dependent services to mobile users Download PDF

Info

Publication number
WO2001013069A1
WO2001013069A1 PCT/US2000/022058 US0022058W WO0113069A1 WO 2001013069 A1 WO2001013069 A1 WO 2001013069A1 US 0022058 W US0022058 W US 0022058W WO 0113069 A1 WO0113069 A1 WO 0113069A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
server system
recited
user
location
Prior art date
Application number
PCT/US2000/022058
Other languages
French (fr)
Inventor
W. Clayton Collier
Rajiv K. Synghal
Brian W. Shenson
Original Assignee
Kivera, 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 Kivera, Inc. filed Critical Kivera, Inc.
Priority to AU66350/00A priority Critical patent/AU6635000A/en
Publication of WO2001013069A1 publication Critical patent/WO2001013069A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/362Destination input or retrieval received from an external device or application, e.g. PDA, mobile phone or calendar application
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096805Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
    • G08G1/096827Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed onboard
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096833Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
    • G08G1/096838Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route where the user preferences are taken into account or the user selects one route out of a plurality
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096877Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement
    • G08G1/096883Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement where input information is obtained using a mobile device, e.g. a mobile phone, a PDA
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096877Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement
    • G08G1/096894Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement where input is assisted by the navigation device, i.e. the user does not type the complete name of the destination, e.g. using zip codes, telephone numbers, progressively selecting from initial letters

Definitions

  • the present invention pertains to the field of mobile information services. More particularly, the present invention relates to providing navigation information and other services to the user of a mobile processing device.
  • the navigation system generally allows the driver to enter a desired destination.
  • the system then computes a route from the current location of the vehicle to the destination, and then tracks the vehicle's progress along the route while guiding the driver with audible or visual navigation instructions, a graphical map display, or a combination thereof.
  • Computer software has also been developed to enable a conventional personal computer (PC) to perform similar navigation functions, including route calculation.
  • PC personal computer
  • a laptop (notebook) PC equipped with such software and a mobile positioning device, such as a Global Positioning System (GPS) receiver, may be used to track a user's progress along the computed route.
  • GPS Global Positioning System
  • Existing navigation systems such as those mentioned above have certain disadvantages.
  • the automobile-based navigation systems are typically based on dedicated hardware and/or software and are therefore not usable for other applications.
  • existing navigation systems are very limited in. the type and amount of data they can utilize to provide navigation information to the user.
  • such systems generally require the user to select a desired destination before computing a route or providing navigation instructions.
  • the selection of the destination can be inconvenient and tedious.
  • the user is often required to either enter a specific street address or select the destination from a predetermined list provided by the navigation system. This may be inconvenient if the user does not know the address of the destination and the destination does not appear on the predetermined list.
  • certain users dislike the process of manually entering that information.
  • existing navigation systems generally provide only limited types of information to the user.
  • the present invention includes a method and apparatus for providing location- or time-dependent data to a remote processing device, which may be a mobile device.
  • the mobile device may be, for example, a cellular telephone, an automobile on-board navigation system, or a hand-held computing device, such as a PDA, PIM, or the like.
  • the invention allows the user of the remote processing device to quickly and easily request and receive maps, route solutions, and point in interest (POI) search solutions, without requiring the user to know or to input detailed origin or destination information. Further, solutions provided to the user may be generated based on data compiled from numerous different sources.
  • POI point in interest
  • the apparatus comprises a data indexer and a geocoder.
  • the data indexer receives geographic data and indexes the geographic data to spatial coordinates to generate indexed data.
  • the geocoder responds to a user query from the remote processing device to determine a set of coordinates from the indexed data based on a received index item, and outputs the set of coordinates for transmission to the remote processing device.
  • the apparatus may also be used to search for a point of interest from the indexed data based on a user query including a distance value and an origin, and to output the point of interest for transmission to the remote processing device.
  • the apparatus may further include a route generator which generates a route between two locations in response to a user query from the remote processing device, using the indexed data.
  • Another aspect of the present invention is a method and apparatus for allowing a mobile device to access location-dependent information maintained by a remote server system.
  • a signal transmitted from the mobile device is received.
  • the signal represents a user input applied at the mobile device to select an item in a database.
  • the server system is used to compute location-dependent information based on the signal and geocoded data in the server system.
  • the location-dependent information may comprise information specifying a geographic location, which may include or represent a solution of a geographic proximity search, or information for assisting a driver in navigating an automobile.
  • the geocoded data may be generated dynamically by the server system in response to receiving the signal from the processing device.
  • a signal representing the location-dependent information is then transmitted to a remote recipient, which may be the originating mobile device or some other processing device, which need not be a mobile device.
  • the recipient of the signal transmitted from the server system may be automatically and dynamically determined at the server system, and this transmission may be performed asynchronously.
  • the server system may maintain a unique code for each of multiple mobile devices.
  • User-specific information in the server system may also be maintained in the server system. This information may be accessed by the server system in response to receiving the signal representing from the mobile device, which may include the unique code of the mobile device, such that the computed location- dependent information is tailored to a particular user or device. Accordingly, the computation of location-dependent data in the server system may include the cross-referencing of time and /or location dependent information with user information.
  • Data stored in the mobile device may be updated from the server system. Such updating may be accomplished by receiving a signal at the server system representing an input from a user of the remote mobile device. Based on the signal, an update signal may be asynchronously transmitted from the server system to the mobile device to automatically update data stored in the mobile device.
  • Yet another aspect of the present invention is a method and apparatus for maintaining map data at the server system.
  • the method represents a geocoding process, which in one embodiment includes inputting to the server system a user- provided database maintained by the remote processing device.
  • the database includes multiple data entries. Each of the data entries is then linked to the map data to form a set of geocoded data.
  • the linking may be performed automatically by the server system, or manually by an operator.
  • the geocoded data is maintained at the server system for use by a remote processing device, such as noted above.
  • the geocoding process may be performed dynamically in response to a query from a remote mobile computing device.
  • Figure 1 illustrates a network configuration in which a mobile device can be used to access location- or time-dependent information in a server system.
  • Figure 2 is a block diagram of a computer system.
  • Figure 3 illustrates the software and data components of a mobile client device and the server system.
  • Figure 4 illustrates the components of the location server and the geocoding and routing indexer of the server system.
  • Figure 5 is a flow diagram illustrating a geocoding process that may be implemented by the server system.
  • Figure 6 is a flow diagram illustrating a point of interest (POI) lookup process that may be implemented in a client device.
  • POI point of interest
  • Figure 7 is a flow diagram illustrating a route calculation process that may be implemented in a client device.
  • Figure 8 is a flow diagram illustrating a process that may be implemented in the server system for responding to a query from a remote client device.
  • Figure 9 is a flow diagram illustrating a process for performing a POI search or a route calculation based on a user profile.
  • Figure 10 is a flow diagram illustrating a process that may be implemented in the server system to determine an appropriate recipient device for transmission.
  • Figure 11 is a flow diagram illustrating an operator-assisted POI lookup process.
  • a method and apparatus for providing navigation assistance and other services to a user of a mobile processing device are described.
  • the method and apparatus include a technique for providing location- or time-dependent services to users of mobile devices.
  • Applications and business models may include, for example, location- and time-dependent notifications ("geo broadcast”), directed advertising (“geo mail”), or preference and profile management ("geo behavior").
  • the user of a mobile processing device such as a cellular telephone, PDA, PIM, notebook computer, or the like, has communication capability with a server.
  • the communication can be verbal (e.g., via a telephone connection) or digital (via a computer network, such as the Internet).
  • the server has access to records that are created by the user, then replicated and enhanced (extended) by a server process and /or user entry.
  • the user creates a profile of entities. Examples of such a profile are a 'phone book' (contact list) stored on a cell phone and a 'preferred destination list' stored on a mobile navigation device.
  • the profile contains labeled entities, for example, a person's name and corresponding data such as the person's phone number at home, phone number at the office, and/or mobile phone number (for a cellular telephone).
  • a mobile navigation device an entry may be a location entered by address or a location entered by point-and- click at a map displayed by the device.
  • the list is replicated on the server through a conventional download and synchronization process.
  • the list is then enhanced, or extended, through automated processes, user entry, or both.
  • the processes are referred to herein as indexing and 'geocoding'.
  • the list is synchronized to reflect the most-recently edited records.
  • Joe ⁇ home 555-1234, mobile 555-5678, office 555-3456 ⁇ Mike ⁇ home 555-4321, mobile 555-8765, office 555-6543 ⁇ etc.
  • the list is then digitally or manually replicated onto the server.
  • Mechanisms such as Bluetooth or Starfish or SIM100 may be utilized, or a World Wide Web (“Web”) access page may be used for manual replication.
  • Web World Wide Web
  • the server process then "geocodes" the entries (associates each entry with a set of latitude /longitude coordinates) using, for example, any of the following methods:
  • An index to a complete address set such as a GDT database, or a complete phone number set, such as InfoUSA or LSIP, is used to create address entries using phone numbers;
  • the user takes advantage of his complete database as maintained by a conventional database application, such as Filemaker Pro or another similar application, for the server to create the index; or
  • the user provides the data to an operator of the server service via voice phone call, and the service enters the data.
  • the user can then access geocoded data through a Web site.
  • the position of the entries can be overlaid on a detailed map as icons definable by the user.
  • the user can edit the data, creating qualities and preferences.
  • the user can also enter data into a private area that is only accessible to the user through password protection. In some embodiments, the data may be set up to be inaccessible to the service operator.
  • the user can then make sophisticated queries to the service from the mobile device. For example, the user can scroll through the phone number list on his cell phone, select a person at a location (such as "Mike:Office") and a type of query, such as "Restaurant:Nearest” (nearest restaurant).
  • the cell phone (or whatever type of mobile device is being used) then transmits a corresponding query signal to the server.
  • the mobile device receives a proximity search solution from the server.
  • This solution may contain, in the above example, a list of restaurants near the selected entry, which may be sorted by direct distance or driving distance.
  • the list may also contain value-added data, such as phone number, cuisine type, and rating.
  • the value added data may be selected by the server based upon a stored user profile for that particular user.
  • the user can also request, from the mobile device, maps, driving directions or other route information from one location to another. If the mobile device is location-sensitive (such as a GPS-enhanced device), the mobile device can be used to calculate the origin for the search. Otherwise, the user can select the entry in his contact list to which he is nearest.
  • the server service then provides verbal, graphical or textual directions (depending on the capabilities of the mobile device).
  • a user of a mobile device can quickly and easily obtain a variety of types of time- or location-dependent information from the mobile device.
  • the information is generated at the server based on a comprehensive set of databases derived from a variety of sources and is delivered to the mobile device in a form appropriate for that device.
  • the user can access and edit portions of the databases via a conventional World Wide Web site to personalize the data.
  • FIG. 1 illustrates a network configuration in which a mobile device 1 (shown as a cell phone) can be used to obtain location- or time- dependent information from a central server system 3, as described above.
  • the mobile device 1 has a radio frequency (RF) to communication link with a cellular base station 6.
  • the base station 6 is coupled to a public switched telephone network (PSTN) 5, and is further coupled to the Internet 4 via the PSTN 5.
  • PSTN public switched telephone network
  • the server system 3 which provides the location- and time-dependent services described above.
  • the server system 3 includes a geo- server 7 coupled to the Internet 4, and a Web server 8 coupled to the Internet 4 and to the geo-server 7.
  • the server system 3 also includes a database 9 coupled to the geo-server 7 and database 10 coupled to the Web server 8.
  • Also coupled to the Internet 4 may be a PC 2 operated by the user of the mobile device 1 (the customer).
  • the Web server 8 provides the user with access to personal profile information (i.e. preferences, etc.), which is stored in database 10, and contact information which is stored in database 9. The user may access such information using the PC 2.
  • the geo- server 7 provides the location- and time-dependent services described above, including indexing, geocoding, and route calculation, as described further below. Among other functions, three important functions of the geo- server 7 are: 1) returning spatial coordinates (latitude /longitude) to mobile devices 1 in response to contact-string queries; 2) providing solutions to POI proximity queries (i.e., a list of nearby POIs) from mobile devices; and 3) providing route information and /or maps to mobile devices.
  • geo-server 7 and the Web server 8 each may be implemented as one or more individual computer systems in communication with each other. Alternatively, geo-server 7 and Web server 8 may be implemented together as a single computer system. Similarly, although databases 9 and 10 are illustrated as separate databases, the data contained therein may actually be stored in a single database, or in any number of separate databases.
  • Figure 2 is a block diagram of a computer system, which is representative of any or all of the processing systems shown in Figure 1, such the PC 2, the geo- server 7, and the Web server 8. Note that Figure 2 is a high-level conceptual representation and is not intended to specify any one particular architectural arrangement.
  • the computer system includes a central processing unit (CPU) 20, read-only memory (ROM) 21, random access memory (RAM) 22, each connected to a bus system 29.
  • the bus system 29 may include one or more physical buses connected to each other through various bridges, controllers and /or adapters, such as are well-known in the art.
  • the bus system 29 may include a "system bus” that is connected through an adapter to one or more expansion buses, such as a Peripheral Component Interconnect (PCI) bus or the like.
  • PCI Peripheral Component Interconnect
  • Mass storage device 23 may include any suitable device or devices for storing large volumes of data in a non-volatile manner, such as a magnetic disk or tape, magneto-optical (MO) storage device, or any of various types of Digital Versatile Disk (DVD) or compact disk (CD-x) storage.
  • a magnetic disk or tape magneto-optical (MO) storage device
  • DVD Digital Versatile Disk
  • CD-x compact disk
  • the communication device 28 may be any device suitable for or enabling the computer system 1 to communicate data with a remote processing system over a data link, such as a conventional telephone modem, a cable modem, an Integrated Services Digital Network (ISDN) adapter, a Digital Subscriber Line (xDSL) adapter, a network interface card (NIC), a Ethernet adapter, or the like.
  • ISDN Integrated Services Digital Network
  • xDSL Digital Subscriber Line
  • NIC network interface card
  • Ethernet adapter or the like.
  • Figure 3 illustrates the software and data components of a mobile device 1 and the server system 3, according to at least one embodiment.
  • the mobile device includes a database 31 of personal contacts, which may be stored in the format described above, i.e., ⁇ Name ⁇ location labels:phone numbers ⁇ ⁇ .
  • the mobile device 1 further includes a data manager 32 for enabling the user to access the stored, data via a Graphical User Interface (GUI) of the mobile device 1, and a geo- client 33 operatively coupled to the data manager 32, for providing the client- side functionality described above (i.e., formulation and transmission of queries, etc.).
  • GUI Graphical User Interface
  • the mobile device 1 further includes appropriate communication software 34 operatively coupled to the geo- client 33, for enabling the mobile device 1 to communicate with remote devices, such as other cell phones and the server system 3.
  • the server system 3 also includes appropriate communications software 46 for enabling it to communicate with other, remote devices, such as the mobile device 1 and/or the PC 2. Coupled to the communication software 46 is a location server module 45, which provides much of the core functionality of the server system 3 described above, including geocoding, POI lookup functions, and route calculation.
  • the location server 45 may be implemented as an application program interface (API).
  • the server system 3 further includes a Cell Storage Format (CSF) compiler 37, a number N of CSF databases 38-1 through 38-N, a data parser 39, a geocoding and routing indexer 40, a POI indexer 41, and databases 42, 43 and 44.
  • CSF Cell Storage Format
  • Map data supplied by N vendors are stored in databases 35-1 through 35- N, respectively.
  • the map data of each vendor includes spatial data describing roads, streets, highways, freeways, etc., and political boundaries.
  • the map data of each vendor further includes text data labeling the elements of spatial data.
  • POI data supplied by a number M of different vendors are stored in databases 36-1 through 36-M.
  • the POI data may include, for example, data on the locations of restaurants, parks, airports, hospitals, gas stations, or any other locations of interest.
  • the map data stored in databases 35-1 through 35-N is vendor-specific; for example, such data may be stored in any of a number of well-known formats, such as Geographic Data Format (GDF) or formats proprietary to the vendor. Accordingly, the CSF compiler 37 receives the map data from the N vendors, which is likely to have various different formats, and reformats the data into a common format, referred to herein as CSF.
  • CSF represents the map data using a multi-level matrix of rectangular cells. The details of the CSF are not germane for purposes of understanding of the present invention.
  • the re-formatted data is stored in CSF databases 38-1 through 38-N.
  • Data parser 39 receives the reformatted map data from databases 38-1 through 38-N as well as the POI data from databases 36-1 from 36-M and parses the data into recognizable fields (e.g., name, address, phone number, etc.). The parser 39 also parses information received in queries from the mobile device 1. Parsed map data may be stored in database 42 as display data, which may be used by the server system 3 to provide a World Wide Web graphical map interface, as noted above. Parsed data from databases 38-1 through 38-N or databases 36-1 through 36-M are also provided to the geocoding and routing indexer 40.
  • the geocoding and routing indexer 40 indexes the parsed map data to allow it to be searched by name (e.g., "Oakland Hilton Hotel") or by phone number.
  • the indexed map data is then stored in the geocoding and routing indexed database 43.
  • POI indexer 41 indexes the parsed POI data to allow it to be searched by POI category (e.g., ATM, airport, etc.) and stores the indexed data in POI indexed database 44.
  • the data in the databases 42, 43, and 44 are all accessed by the location server 45 to provide geocoding, POI lookup, route calculation, and other functions.
  • Figure 4 illustrates the components of the location server 45 and the geocoding and routing indexer 40, according to one embodiment.
  • the indexer 40 includes a spatial data indexer 51 and a text data indexer 52, each of which receives parsed data from the data parser 39.
  • the spatial data indexer 51 indexes any spatial map data, while the text data indexer 52 indexes textual map data, such as labels.
  • the location server 45 includes a route generator 53 and a geocoder 54.
  • the route generator 53 uses the indexed spatial data generated by the spatial data indexer 51 to compute routes between selected points of origin and destination in response to a query from a mobile device 1. Such route
  • the geocoder 54 uses indexed text data generated by the text data indexer 52 to determine spatial coordinates (latitude and longitude) associated with a given text field, in response to a query from the mobile device 1.
  • geocoding is the process of returning spatial coordinates (latitude and longitude) given an input string.
  • Geocoding is one service provided by the server system 3 to mobile devices 1.
  • the server system 3 may perform geocoding in either batch mode or dynamic mode. Batch geocoding may be performed in response to the mobile device 1 being synchronized with the server system 3, or when the user enters personal contact information from his PC 2 via his personal Web page (as maintained by the Web server 8; see Figure 1).
  • the server system 3 may perform geocoding dynamically, i.e., in response to a query received from the mobile device 1. Dynamic geocoding is performed if the information in the query (i.e., name, phone number, etc.) has not been geocoded (associated with spatial coordinates) prior to the query.
  • the server system 3 receives a contact string.
  • the contact string may be received from the mobile device 1 during synchronization or during a user query; alternatively, the string may be received from the PC 2 and Web server 8 in response to manual input from the user or from an operator.
  • the input string is parsed into recognizable fields (i.e., address, street name, city, state, zip code, phone number, etc.) by the data parser 39 ( Figure 3).
  • the central address book is a subset of the geocoding and routing indexed database 43 ( Figure 3). If coordinates are found in the central address book for the name field, the process continues from 506, as described below. If coordinates are not found for the name field, then at 504 an attempt is made to determine the spatial coordinates based on other fields in the contact string, such as the address or phone number. This may be accomplished by, for example, performing a reverse look-up, by phone number, address, etc., in a database that includes spatial coordinates; such databases are commercially available.
  • a fail message is transmitted to the appropriate recipient device (which is not necessarily the device which submitted the query). If 504 was successful, and if the server system 3 was responding to a query from the mobile device (506), then at 507, the coordinates are transmitted to be appropriate recipient device (which, again, need not be the device which submitted the query)— this is the case of dynamic geocoding. If the server system 3 is not responding to a query (in the case of batch mode geocoding), then at 510, the server system 3 transmits a confirmation that the string has been successfully geocoded to the appropriate recipient device. Note that for purposes of batch geocoding, real-time location and /or traffic information may be used.
  • the server system 3 also transmits to the recipient device an index value corresponding to the input string, which a mobile device 1 can later use to represent the string during a query transmitted to the server system 3.
  • an index value corresponding to the input string which a mobile device 1 can later use to represent the string during a query transmitted to the server system 3.
  • FIG. 6 is a flow diagram illustrating a point of interest (POI) lookup process that may be implemented in a client device, such as the mobile device 1.
  • the routine of Figure 6 may be implemented by the geo-client module 33, in cooperation with the data manager 32 and communication software 34.
  • the user of the mobile device 1 enters an input selecting POI proximity query as the desired action.
  • the mobile device 1 establishes a point of origin for the POI proximity query. If the mobile device 1 has an internal positioning device, such as a GPS receiver, then such positioning device may be used to establish the spatial coordinates of the origin. Otherwise, the origin may be established by submitting a contact string lookup query to the server system 3 or by making a voice query to an operator of the server system 3. In the case of a contact string lookup, the mobile device 1 sends a query to the server system 3 using a selected item from the user's contact list in the mobile device 1. The query is then processed by the server system 3 in the manner described in Figure 5, resulting in spatial coordinates of the origin being returned to the mobile device 1.
  • the coordinates of the origin are stored locally at 603, and at 604,the user enters an input selecting the desired type of POI, e.g., restaurant, airport, gas station, etc.
  • the user selects a radius about the point of origin, defining an area within which he wishes POIs of the selected type to be identified.
  • the mobile device 1 transmits a query to the server system 3, including the selected origin, POI type, radius, and a unique device code identifying the mobile device 1.
  • the server system 3 then identifies any POIs within the specified radius of the selected origin, based on the coordinates of the origin.
  • a list of POIs meeting the search criteria is returned to the mobile device 1 by the server system 3. If no POI meets the criteria, then (at the user's option) the procedure repeats from 605, in which the user selects a new, larger radius for the POI search. If the query was successful, then at 608 the user may select an item from the return list and initiate any of several available functions. The user may, for example, initiate a phone call from the selected POI, get directions to the selected POI, or update his personal database with the selected POI. Thus, at 609 the user is given the option of updating his personal database maintained in the server system 3 based on the item selected in the returned list.
  • the user may wish to identify the selected item as a "favorite" POI in his personal map database. If the user elects this option, then at 610 the selected item is stored locally in the mobile device 1 and propagated to the server system 3 at the next synchronization with the server system 3. The results of the action (e.g., "successful" or "unsuccessful”) are then displayed by the mobile device 1 to the user at 611.
  • the results of the action e.g., "successful" or "unsuccessful
  • FIG 11 illustrates a process that may be performed by an operator of the server system 3 in connection with performing an operator-assisted POI lookup (see Figure 6, 602).
  • it is determined whether the user is calling for registered phone number. If not, at 1109 the operator asks the user to provide the phone number of any nearby registered telephone.
  • the operator obtains the user's Personal Identification Number (PIN). The operator's then obtains the desired POI type from the user at 1103, and that 1104 is determined whether the users location is known from the signal received from the mobile device which the user is using (such as when the mobile device has an internal positioning device). If the location is known, then the operator initiates the geocode process for the specified POI type and origin at 1105.
  • PIN Personal Identification Number
  • the operator determines at 1110 whether the user wishes to select the origin from his personal Web page maintained by the Web server 8. If so, the geocode process is initiated 1105. Otherwise, the operator verbally obtains the origin from the user at 1111. Following the geocode process at 1105, the operator determines at 1106 whether the user wishes his personal Web page to be updated with any POIs found in the geocode process. If so, the operator updates the users Web page 1107. If not, or following 1107, the operator transmits results to the user at 1108 using an appropriate mode, i.e., verbally via telephone, or electronically to the mobile device 1.
  • FIG. 7 illustrates a process that may be performed in a mobile device 1 to obtain a route calculation from the server system 3.
  • the user enters an input at mobile device 1 selecting route calculation as the desired action.
  • the origin is established using such technique.
  • the user contacts an operator of the server system 3 by voice and, at 708, the operator receives the origin and destination from the user. The operator enters the origin and destination data into the server system 3, which computes the best route.
  • the user receives the best route in an appropriate communication mode, depending on the capability of the mobile device 1.
  • the best route may be received verbally from the operator (by telephone), or in text and /or graphics generated by the mobile device 1 from a signal transmitted from the server system 3.
  • the origin is established from an internal positioning device or contact string query, as appropriate.
  • the coordinates of the origin are stored, and at 705 the destination is established by submitting a contact list query to the server system 3.
  • the coordinates of the destination are stored, and at 707, the best route information is received by the user in an appropriate communication mode, as described above.
  • Figure 8 illustrates a process that may be implemented in the server system 3 to respond to a query from a mobile device 1.
  • the query may include the complete contact string (e.g., "Ginny:Office"), or the query may instead include a representative index value in place of the complete contact string.
  • the index value may have been previously received from the server system 3 when the corresponding contact string was geocoded (see Figure 5, block 511). Accordingly, at 801, a query is received which includes a contact string or an index value representing a contact string.
  • the query contains an index value, then corresponding spatial coordinates are already stored in the central address book; accordingly, at 808 the coordinates are found in the central address book and transmitted to the appropriate recipient device at 807.
  • the query includes a complete contact string (802), then at 803, the contact string is parsed into recognizable fields.
  • the server system 3 may maintain personal profiles for the users of mobile devices 1 (user profiles).
  • a user profile may be accessed in response to a POI lookup or route calculation query from a mobile device 1 to provide the user with information that is more meaningful to that user, i.e., information that is customized for the requesting user.
  • a user profile may include a list of preferences to be used for route calculation, such as "avoid freeways" or "always use shortest time route", or a list of favorite POIs, such as favorite restaurants.
  • the server system 3 may maintain a list of unique device codes, each corresponding to a particular mobile device 1 and /or a particular user. Each mobile device 1 may transmit its unique device code with any query it transmits to the server system 3. Accordingly, the server system 3 can use the received device code to identify and use the appropriate user profile when responding to the query.
  • Figure 9 illustrates a process that may be implemented by the server system 3 to perform a POI search or a route calculation using a user profile.
  • the selected action is a POI lookup or a route calculation. If the selected action is a POI lookup, then at 902 a POI query is received containing an origin, POI type, radius, and the unique device code of the requesting device.
  • the server system 3 has a user profile corresponding to the received device code. It may be assumed, for this purpose, that the user of the device is the registered user. If a user profile is available for this device code, then at 904 the server system 3 performs a POI search based on the user profile, and the received origin, POI type, and radius.
  • the search is performed based on that same data, excluding the user profile.
  • the selected action is a route calculation (901)
  • a query is received containing an origin, a destination, and a unique device code for the requesting device.
  • the route is computed based upon the user profile, the origin, and the destination at 908. Otherwise, at 909 the route is computed based upon the same data, except the user profile.
  • a query transmitted from a mobile device 1 to the server system 3 may specify a recipient device for the response that is not the querying device.
  • the user may wish to transmit a route calculation query from his cell phone, but desires that the route solution be transmitted to his automobile navigation system.
  • the user may, for example, program the recipient device into the mobile device 1 prior to making the query.
  • the server system 3 is configured to identify such a recipient code and to appropriately select the recipient device for the response, based on such code.
  • the server system 3 may use its above-mentioned database of device codes for this purpose, or it may maintain a separate database of recipient device codes.
  • Figure 10 illustrates a process that may be implemented by the server system 3 to select the recipient device.
  • the server system 3 determines whether the currently received query contains a recipient code indicating a destination other than the transmitting device. If so, the server system 3 performs a simple lookup at 1002 to identify the recipient device based on the code. Otherwise, at 1003, the recipient device is determined to be the device which transmitted the query.
  • a response by the server system 3 to a query may be transmitted to the recipient device asynchronously with respect to the query. That is, there is no time limit between a query and the associated response. Hence, the response may occur much later than the query, if necessary, and as already noted, the response may go to a recipient device other than the querying device. Hence, if the server system 3 is unsuccessful in contacting the intended recipient device to send the response (such as when the intended recipient device is turned off), the server system 3 may continue to attempt to respond until successful. Alternatively, the server system 3 may select an alternate recipient device, which may be specified in a user profile.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)

Abstract

A method and apparatus for allowing a mobile processing device, such as a cellular telephone, notebook computer, automobile navigation system, PDA, PIM, etc., to access location-or time-dependent information maintained by a central server. At the server, a signal transmitted from the mobile device is received. The signal represents a user input applied at the mobile device and specifying an item in a database of the mobile device, such as a contact list. A signal corresponding to the selected item is transmitted by the mobile device to the server. The server computes location-or time-dependent information based on the signal and geocoded data in the server system. The location-or time-dependent information may comprise a geographic location, which may include a solution of a geographic proximity search, or information for assisting a driver in navigating an automobile. The geocoded data may be generated dynamically in response to the query from the mobile device.

Description

Method and Apparatus for Providing Location-Dependent Services to Mobile
Users
This application claims the benefit of Provisional U.S. Patent application no. 60/148,849, filed on August 12, 1999.
FIELD OF THE INVENTION
The present invention pertains to the field of mobile information services. More particularly, the present invention relates to providing navigation information and other services to the user of a mobile processing device.
BACKGROUND OF THE INVENTION
Automobile on-board navigation systems are becoming increasingly more popular. Such systems are commonly available as an option in many models and are now standard components in some higher-end models. The navigation system generally allows the driver to enter a desired destination. The system then computes a route from the current location of the vehicle to the destination, and then tracks the vehicle's progress along the route while guiding the driver with audible or visual navigation instructions, a graphical map display, or a combination thereof. Computer software has also been developed to enable a conventional personal computer (PC) to perform similar navigation functions, including route calculation. A laptop (notebook) PC equipped with such software and a mobile positioning device, such as a Global Positioning System (GPS) receiver, may be used to track a user's progress along the computed route. Recently, there been interest in incorporating navigation capabilities such as these into other types of mobile devices, such as cellular telephones ("cell phones"), personal digital assistants (PDAs), personal information managers (PIMs), and other devices.
Existing navigation systems such as those mentioned above have certain disadvantages. For example, the automobile-based navigation systems are typically based on dedicated hardware and/or software and are therefore not usable for other applications. In addition, existing navigation systems are very limited in. the type and amount of data they can utilize to provide navigation information to the user. Also, such systems generally require the user to select a desired destination before computing a route or providing navigation instructions. However, the selection of the destination can be inconvenient and tedious. In particular, the user is often required to either enter a specific street address or select the destination from a predetermined list provided by the navigation system. This may be inconvenient if the user does not know the address of the destination and the destination does not appear on the predetermined list. Furthermore, even if the user does know the address of destination, certain users dislike the process of manually entering that information. In addition, existing navigation systems generally provide only limited types of information to the user.
SUMMARY OF THE INVENTION
The present invention includes a method and apparatus for providing location- or time-dependent data to a remote processing device, which may be a mobile device. The mobile device may be, for example, a cellular telephone, an automobile on-board navigation system, or a hand-held computing device, such as a PDA, PIM, or the like. Among other advantages, the invention allows the user of the remote processing device to quickly and easily request and receive maps, route solutions, and point in interest (POI) search solutions, without requiring the user to know or to input detailed origin or destination information. Further, solutions provided to the user may be generated based on data compiled from numerous different sources.
In one embodiment, the apparatus comprises a data indexer and a geocoder. The data indexer receives geographic data and indexes the geographic data to spatial coordinates to generate indexed data. The geocoder responds to a user query from the remote processing device to determine a set of coordinates from the indexed data based on a received index item, and outputs the set of coordinates for transmission to the remote processing device. The apparatus may also be used to search for a point of interest from the indexed data based on a user query including a distance value and an origin, and to output the point of interest for transmission to the remote processing device. The apparatus may further include a route generator which generates a route between two locations in response to a user query from the remote processing device, using the indexed data.
Another aspect of the present invention is a method and apparatus for allowing a mobile device to access location-dependent information maintained by a remote server system. At the server system, a signal transmitted from the mobile device is received. The signal represents a user input applied at the mobile device to select an item in a database. The server system is used to compute location-dependent information based on the signal and geocoded data in the server system. The location-dependent information may comprise information specifying a geographic location, which may include or represent a solution of a geographic proximity search, or information for assisting a driver in navigating an automobile. The geocoded data may be generated dynamically by the server system in response to receiving the signal from the processing device. A signal representing the location-dependent information is then transmitted to a remote recipient, which may be the originating mobile device or some other processing device, which need not be a mobile device. The recipient of the signal transmitted from the server system may be automatically and dynamically determined at the server system, and this transmission may be performed asynchronously.
The server system may maintain a unique code for each of multiple mobile devices. User-specific information in the server system may also be maintained in the server system. This information may be accessed by the server system in response to receiving the signal representing from the mobile device, which may include the unique code of the mobile device, such that the computed location- dependent information is tailored to a particular user or device. Accordingly, the computation of location-dependent data in the server system may include the cross-referencing of time and /or location dependent information with user information.
Data stored in the mobile device may be updated from the server system. Such updating may be accomplished by receiving a signal at the server system representing an input from a user of the remote mobile device. Based on the signal, an update signal may be asynchronously transmitted from the server system to the mobile device to automatically update data stored in the mobile device.
Yet another aspect of the present invention is a method and apparatus for maintaining map data at the server system. The method represents a geocoding process, which in one embodiment includes inputting to the server system a user- provided database maintained by the remote processing device. The database includes multiple data entries. Each of the data entries is then linked to the map data to form a set of geocoded data. The linking may be performed automatically by the server system, or manually by an operator. The geocoded data is maintained at the server system for use by a remote processing device, such as noted above. The geocoding process may be performed dynamically in response to a query from a remote mobile computing device.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
Figure 1 illustrates a network configuration in which a mobile device can be used to access location- or time-dependent information in a server system.
Figure 2 is a block diagram of a computer system.
Figure 3 illustrates the software and data components of a mobile client device and the server system.
Figure 4 illustrates the components of the location server and the geocoding and routing indexer of the server system.
Figure 5 is a flow diagram illustrating a geocoding process that may be implemented by the server system.
Figure 6 is a flow diagram illustrating a point of interest (POI) lookup process that may be implemented in a client device.
Figure 7 is a flow diagram illustrating a route calculation process that may be implemented in a client device.
Figure 8 is a flow diagram illustrating a process that may be implemented in the server system for responding to a query from a remote client device.
Figure 9 is a flow diagram illustrating a process for performing a POI search or a route calculation based on a user profile.
Figure 10 is a flow diagram illustrating a process that may be implemented in the server system to determine an appropriate recipient device for transmission.
Figure 11 is a flow diagram illustrating an operator-assisted POI lookup process.
DETAILED DESCRIPTION
A method and apparatus for providing navigation assistance and other services to a user of a mobile processing device are described. The method and apparatus include a technique for providing location- or time-dependent services to users of mobile devices. Applications and business models may include, for example, location- and time-dependent notifications ("geo broadcast"), directed advertising ("geo mail"), or preference and profile management ("geo behavior").
The user of a mobile processing device, such as a cellular telephone, PDA, PIM, notebook computer, or the like, has communication capability with a server. The communication can be verbal (e.g., via a telephone connection) or digital (via a computer network, such as the Internet). The server has access to records that are created by the user, then replicated and enhanced (extended) by a server process and /or user entry. Specifically, the user creates a profile of entities. Examples of such a profile are a 'phone book' (contact list) stored on a cell phone and a 'preferred destination list' stored on a mobile navigation device. The profile contains labeled entities, for example, a person's name and corresponding data such as the person's phone number at home, phone number at the office, and/or mobile phone number (for a cellular telephone). For a mobile navigation device, an entry may be a location entered by address or a location entered by point-and- click at a map displayed by the device. The list is replicated on the server through a conventional download and synchronization process. The list is then enhanced, or extended, through automated processes, user entry, or both. The processes are referred to herein as indexing and 'geocoding'. When the user accesses the server through a digital interface, the list is synchronized to reflect the most-recently edited records.
As an example, assume that a cell phone user has created a list, stored in the cell phone, in the format {Name {location labels:phone numbers} }, such as:
Joe {home 555-1234, mobile 555-5678, office 555-3456} Mike {home 555-4321, mobile 555-8765, office 555-6543} etc.
The list is then digitally or manually replicated onto the server. Mechanisms such as Bluetooth or Starfish or SIM100 may be utilized, or a World Wide Web ("Web") access page may be used for manual replication. The server process then "geocodes" the entries (associates each entry with a set of latitude /longitude coordinates) using, for example, any of the following methods:
1) An index to a complete address set, such as a GDT database, or a complete phone number set, such as InfoUSA or LSIP, is used to create address entries using phone numbers;
2) the user key enters the address data for each record through a Web access engine;
3) the user takes advantage of his complete database as maintained by a conventional database application, such as Filemaker Pro or another similar application, for the server to create the index; or
4) the user provides the data to an operator of the server service via voice phone call, and the service enters the data.
The user can then access geocoded data through a Web site. The position of the entries can be overlaid on a detailed map as icons definable by the user. The user can edit the data, creating qualities and preferences. The user can also enter data into a private area that is only accessible to the user through password protection. In some embodiments, the data may be set up to be inaccessible to the service operator.
The user can then make sophisticated queries to the service from the mobile device. For example, the user can scroll through the phone number list on his cell phone, select a person at a location (such as "Mike:Office") and a type of query, such as "Restaurant:Nearest" (nearest restaurant). The cell phone (or whatever type of mobile device is being used) then transmits a corresponding query signal to the server. In response, the mobile device receives a proximity search solution from the server. This solution may contain, in the above example, a list of restaurants near the selected entry, which may be sorted by direct distance or driving distance. The list may also contain value-added data, such as phone number, cuisine type, and rating. The value added data may be selected by the server based upon a stored user profile for that particular user.
The user can also request, from the mobile device, maps, driving directions or other route information from one location to another. If the mobile device is location-sensitive (such as a GPS-enhanced device), the mobile device can be used to calculate the origin for the search. Otherwise, the user can select the entry in his contact list to which he is nearest. The server service then provides verbal, graphical or textual directions (depending on the capabilities of the mobile device).
Thus, a user of a mobile device can quickly and easily obtain a variety of types of time- or location-dependent information from the mobile device. The information is generated at the server based on a comprehensive set of databases derived from a variety of sources and is delivered to the mobile device in a form appropriate for that device. The user can access and edit portions of the databases via a conventional World Wide Web site to personalize the data.
Refer now to Figure 1, which illustrates a network configuration in which a mobile device 1 (shown as a cell phone) can be used to obtain location- or time- dependent information from a central server system 3, as described above. The mobile device 1 has a radio frequency (RF) to communication link with a cellular base station 6. The base station 6 is coupled to a public switched telephone network (PSTN) 5, and is further coupled to the Internet 4 via the PSTN 5. Also coupled to the Internet 4 is the server system 3, which provides the location- and time-dependent services described above. The server system 3 includes a geo- server 7 coupled to the Internet 4, and a Web server 8 coupled to the Internet 4 and to the geo-server 7. The server system 3 also includes a database 9 coupled to the geo-server 7 and database 10 coupled to the Web server 8. Also coupled to the Internet 4 may be a PC 2 operated by the user of the mobile device 1 (the customer). Of course, there may actually be multiple mobile device 1 and multiple PCs 2 in the network, associated with multiple users, although only one of each is shown to simplify description.
The Web server 8 provides the user with access to personal profile information (i.e. preferences, etc.), which is stored in database 10, and contact information which is stored in database 9. The user may access such information using the PC 2. The geo- server 7 provides the location- and time-dependent services described above, including indexing, geocoding, and route calculation, as described further below. Among other functions, three important functions of the geo- server 7 are: 1) returning spatial coordinates (latitude /longitude) to mobile devices 1 in response to contact-string queries; 2) providing solutions to POI proximity queries (i.e., a list of nearby POIs) from mobile devices; and 3) providing route information and /or maps to mobile devices.
Note that the geo-server 7 and the Web server 8 each may be implemented as one or more individual computer systems in communication with each other. Alternatively, geo-server 7 and Web server 8 may be implemented together as a single computer system. Similarly, although databases 9 and 10 are illustrated as separate databases, the data contained therein may actually be stored in a single database, or in any number of separate databases.
Figure 2 is a block diagram of a computer system, which is representative of any or all of the processing systems shown in Figure 1, such the PC 2, the geo- server 7, and the Web server 8. Note that Figure 2 is a high-level conceptual representation and is not intended to specify any one particular architectural arrangement. As shown, the computer system includes a central processing unit (CPU) 20, read-only memory (ROM) 21, random access memory (RAM) 22, each connected to a bus system 29. The bus system 29 may include one or more physical buses connected to each other through various bridges, controllers and /or adapters, such as are well-known in the art. For example, the bus system 29 may include a "system bus" that is connected through an adapter to one or more expansion buses, such as a Peripheral Component Interconnect (PCI) bus or the like.
Also coupled to the bus system 29 are a mass storage device 23 and various input devices 24, 25, various output devices 26, 27, and a communication device 28. The input devices 24, 25 may include, for example, one or more of: a keyboard, a pointing device, a touch-sensitive screen, a speech recognition subsystem, etc. the output devices may include, for example, display device and audio speakers. Mass storage device 23 may include any suitable device or devices for storing large volumes of data in a non-volatile manner, such as a magnetic disk or tape, magneto-optical (MO) storage device, or any of various types of Digital Versatile Disk (DVD) or compact disk (CD-x) storage.
The communication device 28 may be any device suitable for or enabling the computer system 1 to communicate data with a remote processing system over a data link, such as a conventional telephone modem, a cable modem, an Integrated Services Digital Network (ISDN) adapter, a Digital Subscriber Line (xDSL) adapter, a network interface card (NIC), a Ethernet adapter, or the like.
Figure 3 illustrates the software and data components of a mobile device 1 and the server system 3, according to at least one embodiment. As shown, the mobile device includes a database 31 of personal contacts, which may be stored in the format described above, i.e., {Name {location labels:phone numbers} }. The mobile device 1 further includes a data manager 32 for enabling the user to access the stored, data via a Graphical User Interface (GUI) of the mobile device 1, and a geo- client 33 operatively coupled to the data manager 32, for providing the client- side functionality described above (i.e., formulation and transmission of queries, etc.). The mobile device 1 further includes appropriate communication software 34 operatively coupled to the geo- client 33, for enabling the mobile device 1 to communicate with remote devices, such as other cell phones and the server system 3.
The server system 3 also includes appropriate communications software 46 for enabling it to communicate with other, remote devices, such as the mobile device 1 and/or the PC 2. Coupled to the communication software 46 is a location server module 45, which provides much of the core functionality of the server system 3 described above, including geocoding, POI lookup functions, and route calculation. The location server 45 may be implemented as an application program interface (API). The server system 3 further includes a Cell Storage Format (CSF) compiler 37, a number N of CSF databases 38-1 through 38-N, a data parser 39, a geocoding and routing indexer 40, a POI indexer 41, and databases 42, 43 and 44.
Map data supplied by N vendors are stored in databases 35-1 through 35- N, respectively. The map data of each vendor includes spatial data describing roads, streets, highways, freeways, etc., and political boundaries. The map data of each vendor further includes text data labeling the elements of spatial data. In addition to the map data, POI data supplied by a number M of different vendors are stored in databases 36-1 through 36-M. The POI data may include, for example, data on the locations of restaurants, parks, airports, hospitals, gas stations, or any other locations of interest.
The map data stored in databases 35-1 through 35-N is vendor-specific; for example, such data may be stored in any of a number of well-known formats, such as Geographic Data Format (GDF) or formats proprietary to the vendor. Accordingly, the CSF compiler 37 receives the map data from the N vendors, which is likely to have various different formats, and reformats the data into a common format, referred to herein as CSF. CSF represents the map data using a multi-level matrix of rectangular cells. The details of the CSF are not germane for purposes of understanding of the present invention. The re-formatted data is stored in CSF databases 38-1 through 38-N.
Data parser 39 receives the reformatted map data from databases 38-1 through 38-N as well as the POI data from databases 36-1 from 36-M and parses the data into recognizable fields (e.g., name, address, phone number, etc.). The parser 39 also parses information received in queries from the mobile device 1. Parsed map data may be stored in database 42 as display data, which may be used by the server system 3 to provide a World Wide Web graphical map interface, as noted above. Parsed data from databases 38-1 through 38-N or databases 36-1 through 36-M are also provided to the geocoding and routing indexer 40.
The geocoding and routing indexer 40 indexes the parsed map data to allow it to be searched by name (e.g., "Oakland Hilton Hotel") or by phone number. The indexed map data is then stored in the geocoding and routing indexed database 43. Similarly, POI indexer 41 indexes the parsed POI data to allow it to be searched by POI category (e.g., ATM, airport, etc.) and stores the indexed data in POI indexed database 44. The data in the databases 42, 43, and 44 are all accessed by the location server 45 to provide geocoding, POI lookup, route calculation, and other functions.
Figure 4 illustrates the components of the location server 45 and the geocoding and routing indexer 40, according to one embodiment. As shown, the indexer 40 includes a spatial data indexer 51 and a text data indexer 52, each of which receives parsed data from the data parser 39. The spatial data indexer 51 indexes any spatial map data, while the text data indexer 52 indexes textual map data, such as labels. The location server 45 includes a route generator 53 and a geocoder 54. The route generator 53 uses the indexed spatial data generated by the spatial data indexer 51 to compute routes between selected points of origin and destination in response to a query from a mobile device 1. Such route
n generation devices are well-known in the art and therefore need not be described further herein. The geocoder 54 uses indexed text data generated by the text data indexer 52 to determine spatial coordinates (latitude and longitude) associated with a given text field, in response to a query from the mobile device 1.
As noted above, geocoding is the process of returning spatial coordinates (latitude and longitude) given an input string. Geocoding is one service provided by the server system 3 to mobile devices 1. The server system 3 may perform geocoding in either batch mode or dynamic mode. Batch geocoding may be performed in response to the mobile device 1 being synchronized with the server system 3, or when the user enters personal contact information from his PC 2 via his personal Web page (as maintained by the Web server 8; see Figure 1). Alternatively, the server system 3 may perform geocoding dynamically, i.e., in response to a query received from the mobile device 1. Dynamic geocoding is performed if the information in the query (i.e., name, phone number, etc.) has not been geocoded (associated with spatial coordinates) prior to the query.
Refer now to Figure 5, which shows a geocoding process that may be implemented by the geocoder 54. T e process of Figure 5 is applicable to both batch geocoding and dynamic geocoding. At 501, the server system 3 receives a contact string. Of course, more than one string may be received, however, only one is assumed here to facilitate description. The contact string may be received from the mobile device 1 during synchronization or during a user query; alternatively, the string may be received from the PC 2 and Web server 8 in response to manual input from the user or from an operator. At 502, the input string is parsed into recognizable fields (i.e., address, street name, city, state, zip code, phone number, etc.) by the data parser 39 (Figure 3). At 503, it is determined whether spatial coordinates (latitude /longitude) for the name field of the contact string are stored in the central address book. The central address book is a subset of the geocoding and routing indexed database 43 (Figure 3). If coordinates are found in the central address book for the name field, the process continues from 506, as described below. If coordinates are not found for the name field, then at 504 an attempt is made to determine the spatial coordinates based on other fields in the contact string, such as the address or phone number. This may be accomplished by, for example, performing a reverse look-up, by phone number, address, etc., in a database that includes spatial coordinates; such databases are commercially available. If the operation at 504 was unsuccessful, then at 509 a fail message is transmitted to the appropriate recipient device (which is not necessarily the device which submitted the query). If 504 was successful, and if the server system 3 was responding to a query from the mobile device (506), then at 507, the coordinates are transmitted to be appropriate recipient device (which, again, need not be the device which submitted the query)— this is the case of dynamic geocoding. If the server system 3 is not responding to a query (in the case of batch mode geocoding), then at 510, the server system 3 transmits a confirmation that the string has been successfully geocoded to the appropriate recipient device. Note that for purposes of batch geocoding, real-time location and /or traffic information may be used. Optionally, the server system 3 also transmits to the recipient device an index value corresponding to the input string, which a mobile device 1 can later use to represent the string during a query transmitted to the server system 3. Following 507, 509 or 510, if all input contacts strings have been geocoded, then the process ends; otherwise, the next contact string is input at 501, and the above process repeats.
As noted above, another service provided by the server system 3 is to provide the user of a mobile device 1 with a list of POIs that are in proximity to a selected point of origin, in response to an associated query. The point of origin may be the mobile device itself or an entry selected from the user's list of contacts stored in the mobile device 1. This process is referred to as POI lookup. Figure 6 is a flow diagram illustrating a point of interest (POI) lookup process that may be implemented in a client device, such as the mobile device 1. The routine of Figure 6 may be implemented by the geo-client module 33, in cooperation with the data manager 32 and communication software 34.
At 601, the user of the mobile device 1 enters an input selecting POI proximity query as the desired action. In response, at 602 the mobile device 1 establishes a point of origin for the POI proximity query. If the mobile device 1 has an internal positioning device, such as a GPS receiver, then such positioning device may be used to establish the spatial coordinates of the origin. Otherwise, the origin may be established by submitting a contact string lookup query to the server system 3 or by making a voice query to an operator of the server system 3. In the case of a contact string lookup, the mobile device 1 sends a query to the server system 3 using a selected item from the user's contact list in the mobile device 1. The query is then processed by the server system 3 in the manner described in Figure 5, resulting in spatial coordinates of the origin being returned to the mobile device 1.
After the origin is established, the coordinates of the origin are stored locally at 603, and at 604,the user enters an input selecting the desired type of POI, e.g., restaurant, airport, gas station, etc. At 605, the user selects a radius about the point of origin, defining an area within which he wishes POIs of the selected type to be identified. At 606, the mobile device 1 transmits a query to the server system 3, including the selected origin, POI type, radius, and a unique device code identifying the mobile device 1. The server system 3 then identifies any POIs within the specified radius of the selected origin, based on the coordinates of the origin. If at least one POI meets the criteria (607), then a list of POIs meeting the search criteria is returned to the mobile device 1 by the server system 3. If no POI meets the criteria, then (at the user's option) the procedure repeats from 605, in which the user selects a new, larger radius for the POI search. If the query was successful, then at 608 the user may select an item from the return list and initiate any of several available functions. The user may, for example, initiate a phone call from the selected POI, get directions to the selected POI, or update his personal database with the selected POI. Thus, at 609 the user is given the option of updating his personal database maintained in the server system 3 based on the item selected in the returned list. For example, the user may wish to identify the selected item as a "favorite" POI in his personal map database. If the user elects this option, then at 610 the selected item is stored locally in the mobile device 1 and propagated to the server system 3 at the next synchronization with the server system 3. The results of the action (e.g., "successful" or "unsuccessful") are then displayed by the mobile device 1 to the user at 611.
Figure 11 illustrates a process that may be performed by an operator of the server system 3 in connection with performing an operator-assisted POI lookup (see Figure 6, 602). At 1101, it is determined whether the user is calling for registered phone number. If not, at 1109 the operator asks the user to provide the phone number of any nearby registered telephone. Next, at 1102 the operator obtains the user's Personal Identification Number (PIN). The operator's then obtains the desired POI type from the user at 1103, and that 1104 is determined whether the users location is known from the signal received from the mobile device which the user is using (such as when the mobile device has an internal positioning device). If the location is known, then the operator initiates the geocode process for the specified POI type and origin at 1105. If the origin is not known, then the operator determines at 1110 whether the user wishes to select the origin from his personal Web page maintained by the Web server 8. If so, the geocode process is initiated 1105. Otherwise, the operator verbally obtains the origin from the user at 1111. Following the geocode process at 1105, the operator determines at 1106 whether the user wishes his personal Web page to be updated with any POIs found in the geocode process. If so, the operator updates the users Web page 1107. If not, or following 1107, the operator transmits results to the user at 1108 using an appropriate mode, i.e., verbally via telephone, or electronically to the mobile device 1.
Another service provided by the server system 3 is to provide a best route solution in response to queries from mobile devices 1. Figure 7 illustrates a process that may be performed in a mobile device 1 to obtain a route calculation from the server system 3. At 701, the user enters an input at mobile device 1 selecting route calculation as the desired action. If (702) the user wishes to select the origin and destination from local data within the mobile device 1 (i.e., using an internal positioning device or a contact string query), then at 703, the origin is established using such technique. Otherwise the user contacts an operator of the server system 3 by voice and, at 708, the operator receives the origin and destination from the user. The operator enters the origin and destination data into the server system 3, which computes the best route. At 707, the user receives the best route in an appropriate communication mode, depending on the capability of the mobile device 1. For example, the best route may be received verbally from the operator (by telephone), or in text and /or graphics generated by the mobile device 1 from a signal transmitted from the server system 3.
If operator assistance is not required or desired (702), the origin is established from an internal positioning device or contact string query, as appropriate. In that case, at 704 the coordinates of the origin are stored, and at 705 the destination is established by submitting a contact list query to the server system 3. At 706, the coordinates of the destination are stored, and at 707, the best route information is received by the user in an appropriate communication mode, as described above.
Figure 8 illustrates a process that may be implemented in the server system 3 to respond to a query from a mobile device 1. When the server system 3 receives a contact string query from a mobile device 1, the query may include the complete contact string (e.g., "Ginny:Office"), or the query may instead include a representative index value in place of the complete contact string. The index value may have been previously received from the server system 3 when the corresponding contact string was geocoded (see Figure 5, block 511). Accordingly, at 801, a query is received which includes a contact string or an index value representing a contact string. If the query contains an index value, then corresponding spatial coordinates are already stored in the central address book; accordingly, at 808 the coordinates are found in the central address book and transmitted to the appropriate recipient device at 807. If the query includes a complete contact string (802), then at 803, the contact string is parsed into recognizable fields. At 804, it is determined whether spatial coordinates are stored in the central address book for any field of the query. If so, the coordinates are transmitted to the recipient device at 807. If not, then at 805 an attempt is made to determine the spatial coordinates based on, for example, the address or phone number fields of the query. If a user profile is available for this user, it is also accessed at 805. If the attempt to determine spatial coordinates is successful (806), then the coordinates are transmitted to the recipient device at 807. Otherwise, a fail message is transmitted to the recipient device at 809.
As noted above, the server system 3 may maintain personal profiles for the users of mobile devices 1 (user profiles). A user profile may be accessed in response to a POI lookup or route calculation query from a mobile device 1 to provide the user with information that is more meaningful to that user, i.e., information that is customized for the requesting user. For example, a user profile may include a list of preferences to be used for route calculation, such as "avoid freeways" or "always use shortest time route", or a list of favorite POIs, such as favorite restaurants. Accordingly, the server system 3 may maintain a list of unique device codes, each corresponding to a particular mobile device 1 and /or a particular user. Each mobile device 1 may transmit its unique device code with any query it transmits to the server system 3. Accordingly, the server system 3 can use the received device code to identify and use the appropriate user profile when responding to the query.
Figure 9 illustrates a process that may be implemented by the server system 3 to perform a POI search or a route calculation using a user profile. At 901, it is determined whether the selected action is a POI lookup or a route calculation. If the selected action is a POI lookup, then at 902 a POI query is received containing an origin, POI type, radius, and the unique device code of the requesting device. At 903 it is determined the server system 3 has a user profile corresponding to the received device code. It may be assumed, for this purpose, that the user of the device is the registered user. If a user profile is available for this device code, then at 904 the server system 3 performs a POI search based on the user profile, and the received origin, POI type, and radius. Otherwise, at 905, the search is performed based on that same data, excluding the user profile. Similarly, if the selected action is a route calculation (901), then at 906 a query is received containing an origin, a destination, and a unique device code for the requesting device. At 907 it is determined whether a user profile is available based on the device code. If so, the route is computed based upon the user profile, the origin, and the destination at 908. Otherwise, at 909 the route is computed based upon the same data, except the user profile.
A query transmitted from a mobile device 1 to the server system 3 may specify a recipient device for the response that is not the querying device. For example, the user may wish to transmit a route calculation query from his cell phone, but desires that the route solution be transmitted to his automobile navigation system. The user may, for example, program the recipient device into the mobile device 1 prior to making the query. Accordingly, the server system 3 is configured to identify such a recipient code and to appropriately select the recipient device for the response, based on such code. The server system 3 may use its above-mentioned database of device codes for this purpose, or it may maintain a separate database of recipient device codes.
Figure 10 illustrates a process that may be implemented by the server system 3 to select the recipient device. At 1001, it is determined whether the currently received query contains a recipient code indicating a destination other than the transmitting device. If so, the server system 3 performs a simple lookup at 1002 to identify the recipient device based on the code. Otherwise, at 1003, the recipient device is determined to be the device which transmitted the query.
Note that a response by the server system 3 to a query may be transmitted to the recipient device asynchronously with respect to the query. That is, there is no time limit between a query and the associated response. Hence, the response may occur much later than the query, if necessary, and as already noted, the response may go to a recipient device other than the querying device. Hence, if the server system 3 is unsuccessful in contacting the intended recipient device to send the response (such as when the intended recipient device is turned off), the server system 3 may continue to attempt to respond until successful. Alternatively, the server system 3 may select an alternate recipient device, which may be specified in a user profile.
Thus, a method and apparatus for providing navigation assistance and other services to a user of a mobile processing device have been described. Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention as set forth in the claims. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than a restrictive sense.

Claims

CLAIMSWhat is claimed is:
1. A method of allowing a mobile device to access location-dependent information, the method comprising: receiving, at a server system, a signal transmitted from a remote mobile device, the signal representing a user input applied at the mobile device to select an item in a database; using the server system to compute location-dependent information based on the signal and geocoded data in the server system; and transmitting a signal representing the location-dependent information to a remote recipient.
2. A method as recited in claim 1, wherein the processing device is a mobile computing device.
3. A method as recited in claim 1, wherein the location-dependent information comprises information specifying a geographic location.
4. A method as recited in claim 1, wherein the location-dependent information comprises a solution of a geographic proximity search.
5. A method as recited in claim 1, wherein the location-dependent information comprises guidance information for assisting a person in navigating.
6. A method as recited in claim 1, further comprising accessing user-specific information in the server system in response to receiving the signal representing the index item, such that the computed location-dependent information is tailored to a particular user.
7. A method as recited in claim 1, further comprising automatically determining the remote recipient at the server system prior to said transmitting the location-dependent information.
8. A method as recited in claim 7, wherein the remote recipient is a device other than the mobile device.
9. A method as recited in claim 7, wherein the remote recipient is the mobile device.
10. A method as recited in claim 7, wherein said automatically determining the remote recipient comprises determining the remote recipient based on a personal profile of a user.
11. A method as recited in claim 1, wherein said transmitting the signal representing the location-dependent information to the remote recipient comprises asynchronously transmitting the signal representing the location- dependent information to the remote recipient.
12. A method as recited in claim 1, further comprising: receiving a user input; and asynchronously transmitting a signal from the server system to the mobile device to automatically update data stored in the mobile device, based on the user input.
13. A method as recited in claim 1, wherein the mobile device is a hand-held computing device.
14. A method as recited in claim 1, wherein the mobile device is a cellular telephone.
15. A method as recited in claim 1, wherein the mobile device is an automobile on-board navigation assistance device.
16. A method as recited in claim 1, further comprising generating the geocoded data dynamically at the server system in response to receiving the index value from the mobile device.
17. A method of accessing a remote database from a processing device, the method comprising: inputting a user input at the processing device, the user input specifying an item in a database in the processing device; transmitting a signal representing the item from the processing device to a remote server system, the remote server system maintaining geocoded data; and receiving from the server system a signal representing location-dependent data, the location-dependent data computed by the server system based on the signal and geocoded data.
18. A method, of operating a server system, the method comprising: receiving at the server system a signal transmitted from a remote processing device, the signal representing a user input applied at the mobile device, the user input specifying an item in a database; computing location-dependent data that is specific to a particular user in response to receiving the signal representing the index item, based on the index item and geocoded data in the server system; and transmitting a signal representing the location-dependent data to a remote recipient.
19. A method as recited in claim 18, wherein said computing location-dependent data comprises cross-referencing time and /or location dependent information with user information.
20. A method as recited in claim 18, wherein said index item is an item stored in a database in the remote processing device.
21. A method as recited in claim 18, wherein the remote processing device is a mobile computing device.
22. A method of allowing any of a plurality of mobile devices to access a remote database, the method comprising: maintaining geocoded data at a centralized server system; maintaining a unique code for each of the plurality of mobile devices; receiving, at the centralized server system, a signal transmitted from one of the mobile devices, the signal representing a database item selected by a user input at said one of the mobile devices and further representing the unique code for said one of the mobile devices; computing location-dependent data that is customized for said one of the mobile devices in response to receiving the signal based on the unique code, the database item, and the geocoded data; and transmitting a signal representing the location-dependent data to a remote recipient.
23. A method as recited in claim 22, wherein said computing location-dependent data comprises cross-referencing time and/or location dependent information with user information.
24. A method as recited in claim 23, further comprising: receiving a user input; and asynchronously transmitting a signal from the server system to the mobile device to automatically update data stored in the mobile device, based on the user input.
25. A method of maintaining a server system for providing location-dependent data to a remote processing device, the method comprising: maintaining map data at the server system; inputting to the server system a user-provided database maintained by the remote processing device, the database including a plurality of data entries; and linking each of the data entries to the map data to form a set of geocoded data, the geocoded data maintained at the server system for use by the remote processing device.
26. A method as recited in claim 25, wherein said linking comprises associating each of the data entries with a specific geographic location represented in the map data.
27. A method as recited in claim 25, wherein the user-provided database comprises personal contact information of a user.
28. A method as recited in claim 25, wherein the user-provided database comprises a set of selectable destinations for a navigation device.
29. A method as recited in claim 25, wherein the remote processing device is a mobile computing device.
30. A method as recited in claim 25, wherein said linking comprises the server system linking each of the data entries to the map data automatically to form the set of geocoded data.
31. A method as recited in claim 25, wherein said linking comprises manually linking each of the data entries to the map data to form the set of geocoded data.
32. A method as recited in claim 25, further comprising: mamtaining the geocoded data at the server system; receiving, at the server system, a signal transmitted from the mobile device, the signal representing an index item corresponding to a user selection applied at the remote processing system device; in response to the signal, using the server system to compute location- dependent data based on the geocoded data and the index item; and transmitting a signal representing the location-dependent data to a remote recipient.
33. A method as recited in claim 25, further comprising: providing a user interface for allowing a user to access the geocoded data from a second remote processing system; receiving a user input from the second remote processing system via the user interface, the user input for editing the geocoded data; and updating the geocoded data according to the user input.
34. A method as recited in claim 25, wherein the user interface comprises a hypermedia -based Internet interface.
35. A method of maintaining a server system for providing location-dependent data to any of a plurality of remote mobile devices, the method comprising: maintaining map data at the server system; inputting to the server system, for each of said plurality of mobile devices, a user-provided database maintained by said mobile device, each said database including a plurality of data entries; and linking each of the data entries of each said database to the map data to form a separate set of geocoded data for each of said plurality of mobile devices, each said set of geocoded data maintained at the server system for use by the corresponding one of the mobile devices.
36. A method as recited in claim 35, further comprising: providing a user interface for allowing a user to access one of the sets of geocoded data from a remote processing system; receiving a user input from the remote processing system via the user interface, the user input for editing said one of the sets of geocoded data; and updating said one of the sets of geocoded data according to the user input.
37. A method as recited in claim 35, wherein the user interface comprises a hypermedia-based Internet interface.
38. A method as recited in claim 35, wherein said linking comprises the server system automatically linking each of the data entries to the map data to form the set of geocoded data.
39. A method as recited in claim 35, wherein said linking comprises manually linking each of the data entries to the map data to form the set of geocoded data.
40. A method as recited in claim 35, further comprising: receiving a user input directed to the geocoded data for one of the mobile devices; and in response to the user input, transmitting the geocoded data for said one of the mobile devices to another of the mobile devices.
41. A method of operating a server system for providing location-dependent data to a remote processing device, the method comprising: maintaining map data at the server system; inputting to the server system a user-provided database including a plurality of data entries; receiving a query from the remote processing device; in response to the query, dynamically linking one of the data entries to a subset of the map data to form geocoded data; using the geocoded data to generate a response to the query; and transmitting the response to the query to the remote processing device.
42. An apparatus for providing location-dependent data to a remote processing device, the apparatus comprising: a data indexer configured to receive geographic data and to index the geographic data to spatial coordinates to generate indexed data; and a geocoder configured to respond to a user query from the remote processing device to determine a set of coordinates from the indexed data based on a received index item, and to output the set of coordinates for transmission to the remote processing device.
43. An apparatus as recited in claim 42, further comprising a route generator configured to generate a route between two locations in response to a user query from the remote processing device, using the indexed data.
44. An apparatus as recited in claim 42, wherein the geocoder is configured to search for a point of interest from the indexed data based on a user query including a distance value and an origin, and to output the point of interest for transmission to the remote processing device.
PCT/US2000/022058 1999-08-12 2000-08-11 Method and apparatus for providing location-dependent services to mobile users WO2001013069A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU66350/00A AU6635000A (en) 1999-08-12 2000-08-11 Method and apparatus for providing location-dependent services to mobile users

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14884999P 1999-08-12 1999-08-12
US60/148,849 1999-08-12
US41725699A 1999-10-12 1999-10-12
US09/417,256 1999-10-12

Publications (1)

Publication Number Publication Date
WO2001013069A1 true WO2001013069A1 (en) 2001-02-22

Family

ID=26846226

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/022058 WO2001013069A1 (en) 1999-08-12 2000-08-11 Method and apparatus for providing location-dependent services to mobile users

Country Status (2)

Country Link
AU (1) AU6635000A (en)
WO (1) WO2001013069A1 (en)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001082113A2 (en) * 2000-04-25 2001-11-01 Icplanet Acquisition Corporation System and method for proximity searching position information using a proximity parameter
WO2002005586A1 (en) * 2000-07-07 2002-01-17 Telefonaktiebolaget L M Ericsson (Publ) Personal mobile internet
WO2002048650A1 (en) * 2000-12-14 2002-06-20 Telia Ab (Publ) System and procedure for a voice-controlled telephone service for providing position-related information associated with an object
WO2002069662A1 (en) * 2001-02-27 2002-09-06 Pollen Mobile Limited Communication system and method for location determination
EP1241650A1 (en) * 2001-03-15 2002-09-18 Nokia Corporation Mobile terminal for use in a vehicle navigation system
EP1241651A1 (en) * 2001-03-12 2002-09-18 Magellan Dis Inc. Off-board navigation system with personalized navigation database
GB2376297A (en) * 2001-05-31 2002-12-11 Nec Corp Navigation system using mobile terminal
EP1296304A2 (en) * 2001-09-21 2003-03-26 Sanei Co., Ltd. System, method and program products for supporting to drive cars
GB2382505A (en) * 2001-10-10 2003-05-28 Hewlett Packard Co Systems and methods for providing location-specific services to users
WO2004003472A1 (en) * 2002-07-01 2004-01-08 Nokia Corporation Mobile communication terminal
WO2004021730A1 (en) * 2002-08-28 2004-03-11 Motorola, Inc. Method for authorizing location based services
US6813503B1 (en) * 1999-09-02 2004-11-02 Nokia Corporation Wireless communication terminal for accessing location information from a server
DE10353108B3 (en) * 2003-11-12 2005-08-04 Audioton Kabelwerk Gmbh Zweigniederlassung Scheinfeld Method for supporting the navigation of a vehicle, navigation device and navigation center
EP1761007A1 (en) * 2005-08-31 2007-03-07 Vodafone Holding GmbH Method and mobile terminal for location dependent provisioning of applications
US7191059B2 (en) 2003-01-07 2007-03-13 Mitsubishi Denki Kabushiki Kaisha Navigation system
EP1251335A3 (en) * 2001-04-19 2007-03-14 Navteq North America, LLC Navigation system with distributed computing architecture
EP1253571A3 (en) * 2001-04-27 2007-09-19 Pioneer Corporation Navigation terminal device and navigation method
EP1482279A3 (en) * 2003-05-24 2008-04-02 Jentro Technologies GmbH Navigation system
US7386594B2 (en) 2000-04-25 2008-06-10 Archeron Limited Llc System and method related to generating an email campaign
US7401155B2 (en) 2000-04-19 2008-07-15 Archeron Limited Llc Method and system for downloading network data at a controlled data transfer rate
US7469405B2 (en) 2000-04-25 2008-12-23 Kforce Inc. System and method for scheduling execution of cross-platform computer processes
WO2009100997A1 (en) 2008-02-15 2009-08-20 Tomtom International B.V. Navigation device, system & method with over the air search module
US7730008B2 (en) 2000-04-18 2010-06-01 Foulger Michael G Database interface and database analysis system
US7853404B2 (en) 2001-04-03 2010-12-14 Mitac International Corporation Vehicle docking station for portable handheld computing device
EP2312556A1 (en) * 2002-05-17 2011-04-20 CLARION Co., Ltd. Map Data Product, Map Data Processing Program Product, Map Data Processing Method, and Map Data Processing Device
DE10210020B4 (en) * 2001-05-02 2011-07-28 Mitsubishi Denki K.K. Board navigation terminal
US8015047B2 (en) 2000-04-25 2011-09-06 Archeron Limited Llc Method, system, and computer program product for employment market statistics generation and analysis
US8266242B2 (en) 2000-04-18 2012-09-11 Archeron Limited L.L.C. Method, system, and computer program product for propagating remotely configurable posters of host site content
US8375320B2 (en) 2010-06-22 2013-02-12 Microsoft Corporation Context-based task generation
US8386929B2 (en) 2010-06-22 2013-02-26 Microsoft Corporation Personal assistant for task utilization
US8850341B2 (en) 2009-07-29 2014-09-30 Blackberry Limited Making address book a source of latitude and longitude coordinates
US8892126B2 (en) 2007-04-08 2014-11-18 Enhanced Geographic Llc Systems and methods to determine the name of a physical business location visited by a user of a wireless device based on location information and the time of day
US10192176B2 (en) 2011-10-11 2019-01-29 Microsoft Technology Licensing, Llc Motivation of task completion and personalization of tasks and lists
CN111353012A (en) * 2020-03-09 2020-06-30 咪咕文化科技有限公司 Spatial text data caching method and device, electronic equipment and storage medium
WO2023055356A1 (en) 2021-09-29 2023-04-06 Google Llc Navigation route sharing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4300927A1 (en) * 1993-01-15 1994-07-21 Andree Dipl Ing Kang Computer-aided route navigation system for land vehicle
WO1998032076A1 (en) * 1997-01-17 1998-07-23 Koninklijke Philips Electronics N.V. Personalizing hospital intranet web sites
US5875412A (en) * 1994-08-03 1999-02-23 Siemens Automotive L.P. Vehicle navigation and route guidance system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4300927A1 (en) * 1993-01-15 1994-07-21 Andree Dipl Ing Kang Computer-aided route navigation system for land vehicle
US5875412A (en) * 1994-08-03 1999-02-23 Siemens Automotive L.P. Vehicle navigation and route guidance system
WO1998032076A1 (en) * 1997-01-17 1998-07-23 Koninklijke Philips Electronics N.V. Personalizing hospital intranet web sites

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FUJINO N ET AL: "MOBILE INFORMATION SERVICE BASED ON MULTI-AGENT ARCHITECTURE", IEICE TRANSACTIONS ON COMMUNICATIONS,JP,INSTITUTE OF ELECTRONICS INFORMATION AND COMM. ENG. TOKYO, VOL. E80-B, NR. 10, PAGE(S) 1401-1406, ISSN: 0916-8516, XP000734533 *

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6813503B1 (en) * 1999-09-02 2004-11-02 Nokia Corporation Wireless communication terminal for accessing location information from a server
US8219516B2 (en) 2000-04-18 2012-07-10 Archeron Limited Llc Interactive intelligent searching with executable suggestions
US8055605B2 (en) 2000-04-18 2011-11-08 Archeron Limited Llc Interactive intelligent searching with executable suggestions
US8266242B2 (en) 2000-04-18 2012-09-11 Archeron Limited L.L.C. Method, system, and computer program product for propagating remotely configurable posters of host site content
US7730008B2 (en) 2000-04-18 2010-06-01 Foulger Michael G Database interface and database analysis system
US7949748B2 (en) 2000-04-19 2011-05-24 Archeron Limited Llc Timing module for regulating hits by a spidering engine
US7401155B2 (en) 2000-04-19 2008-07-15 Archeron Limited Llc Method and system for downloading network data at a controlled data transfer rate
US7386594B2 (en) 2000-04-25 2008-06-10 Archeron Limited Llc System and method related to generating an email campaign
US8015047B2 (en) 2000-04-25 2011-09-06 Archeron Limited Llc Method, system, and computer program product for employment market statistics generation and analysis
US8156499B2 (en) 2000-04-25 2012-04-10 Icp Acquisition Corporation Methods, systems and articles of manufacture for scheduling execution of programs on computers having different operating systems
WO2001082113A3 (en) * 2000-04-25 2003-12-31 Icplanet Acquisition Corp System and method for proximity searching position information using a proximity parameter
US7693950B2 (en) 2000-04-25 2010-04-06 Foulger Michael G System and method related to generating and tracking an email campaign
WO2001082113A2 (en) * 2000-04-25 2001-11-01 Icplanet Acquisition Corporation System and method for proximity searching position information using a proximity parameter
US7469405B2 (en) 2000-04-25 2008-12-23 Kforce Inc. System and method for scheduling execution of cross-platform computer processes
US7007010B2 (en) 2000-04-25 2006-02-28 Icplanet Corporation System and method for proximity searching position information using a proximity parameter
US7783621B2 (en) 2000-04-25 2010-08-24 Cooper Jeremy S System and method for proximity searching position information using a proximity parameter
WO2002005586A1 (en) * 2000-07-07 2002-01-17 Telefonaktiebolaget L M Ericsson (Publ) Personal mobile internet
US7243164B2 (en) 2000-07-07 2007-07-10 Telefonaktiebolaget Lm Ericsson (Publ) Personal mobile internet
WO2002048650A1 (en) * 2000-12-14 2002-06-20 Telia Ab (Publ) System and procedure for a voice-controlled telephone service for providing position-related information associated with an object
WO2002069662A1 (en) * 2001-02-27 2002-09-06 Pollen Mobile Limited Communication system and method for location determination
US7532978B2 (en) 2001-03-12 2009-05-12 Mitac International Corporation Off-board navigation system with personalized navigation database
EP1241651A1 (en) * 2001-03-12 2002-09-18 Magellan Dis Inc. Off-board navigation system with personalized navigation database
EP1241650A1 (en) * 2001-03-15 2002-09-18 Nokia Corporation Mobile terminal for use in a vehicle navigation system
US7853404B2 (en) 2001-04-03 2010-12-14 Mitac International Corporation Vehicle docking station for portable handheld computing device
EP1251335A3 (en) * 2001-04-19 2007-03-14 Navteq North America, LLC Navigation system with distributed computing architecture
US7801904B2 (en) 2001-04-19 2010-09-21 Navteq North America, Llc Navigation system with distributed computing architecture
EP1253571A3 (en) * 2001-04-27 2007-09-19 Pioneer Corporation Navigation terminal device and navigation method
DE10210020B4 (en) * 2001-05-02 2011-07-28 Mitsubishi Denki K.K. Board navigation terminal
GB2376297B (en) * 2001-05-31 2003-07-23 Nec Corp Navigation system using mobile terminal
US6993350B2 (en) 2001-05-31 2006-01-31 Nec Corporation Navigation system using mobile terminal
GB2376297A (en) * 2001-05-31 2002-12-11 Nec Corp Navigation system using mobile terminal
EP1296304A3 (en) * 2001-09-21 2003-09-17 Sanei Co., Ltd. System, method and program products for supporting to drive cars
EP1296304A2 (en) * 2001-09-21 2003-03-26 Sanei Co., Ltd. System, method and program products for supporting to drive cars
US6711480B2 (en) 2001-09-21 2004-03-23 Sanei Co., Ltd. System, method and program for supporting driving of cars
GB2382505A (en) * 2001-10-10 2003-05-28 Hewlett Packard Co Systems and methods for providing location-specific services to users
US8224795B2 (en) 2002-05-17 2012-07-17 Xanavi Informatics Corporation Map data product, map data processing program product, map data processing method and map data processing device
US8051051B2 (en) 2002-05-17 2011-11-01 Xanavi Informatics Corporation Map data product, map data processing program product, map data processing method, and map data processing device
EP2312556A1 (en) * 2002-05-17 2011-04-20 CLARION Co., Ltd. Map Data Product, Map Data Processing Program Product, Map Data Processing Method, and Map Data Processing Device
WO2004003472A1 (en) * 2002-07-01 2004-01-08 Nokia Corporation Mobile communication terminal
US7263442B2 (en) 2002-07-01 2007-08-28 Nokia Corporation Mobile communication terminal
WO2004021730A1 (en) * 2002-08-28 2004-03-11 Motorola, Inc. Method for authorizing location based services
US7191059B2 (en) 2003-01-07 2007-03-13 Mitsubishi Denki Kabushiki Kaisha Navigation system
EP1482279A3 (en) * 2003-05-24 2008-04-02 Jentro Technologies GmbH Navigation system
DE10353108B3 (en) * 2003-11-12 2005-08-04 Audioton Kabelwerk Gmbh Zweigniederlassung Scheinfeld Method for supporting the navigation of a vehicle, navigation device and navigation center
EP2271063A1 (en) * 2005-08-31 2011-01-05 Vodafone Holding GmbH Method and mobile terminal for location dependent provisioning of applications
EP1761007A1 (en) * 2005-08-31 2007-03-07 Vodafone Holding GmbH Method and mobile terminal for location dependent provisioning of applications
US8892126B2 (en) 2007-04-08 2014-11-18 Enhanced Geographic Llc Systems and methods to determine the name of a physical business location visited by a user of a wireless device based on location information and the time of day
US9076165B2 (en) 2007-04-08 2015-07-07 Enhanced Geographic Llc Systems and methods to determine the name of a physical business location visited by a user of a wireless device and verify the authenticity of reviews of the physical business location
US9521524B2 (en) 2007-04-08 2016-12-13 Enhanced Geographic Llc Specific methods that improve the functionality of a location based service system by determining and verifying the branded name of an establishment visited by a user of a wireless device based on approximate geographic location coordinate data received by the system from the wireless device
US9277366B2 (en) 2007-04-08 2016-03-01 Enhanced Geographic Llc Systems and methods to determine a position within a physical location visited by a user of a wireless device using Bluetooth® transmitters configured to transmit identification numbers and transmitter identification data
US8996035B2 (en) 2007-04-08 2015-03-31 Enhanced Geographic Llc Mobile advertisement with social component for geo-social networking system
US9008691B2 (en) 2007-04-08 2015-04-14 Enhanced Geographic Llc Systems and methods to provide an advertisement relating to a recommended business to a user of a wireless device based on a location history of visited physical named locations associated with the user
WO2009100997A1 (en) 2008-02-15 2009-08-20 Tomtom International B.V. Navigation device, system & method with over the air search module
CN101925799A (en) * 2008-02-15 2010-12-22 通腾科技股份有限公司 Navigation device, system & method with over air search module
US8850341B2 (en) 2009-07-29 2014-09-30 Blackberry Limited Making address book a source of latitude and longitude coordinates
US9495384B2 (en) 2009-07-29 2016-11-15 Blackberry Limited Making address book a source of latitude and longitude coordinates
US8386929B2 (en) 2010-06-22 2013-02-26 Microsoft Corporation Personal assistant for task utilization
US8375320B2 (en) 2010-06-22 2013-02-12 Microsoft Corporation Context-based task generation
US10192176B2 (en) 2011-10-11 2019-01-29 Microsoft Technology Licensing, Llc Motivation of task completion and personalization of tasks and lists
CN111353012A (en) * 2020-03-09 2020-06-30 咪咕文化科技有限公司 Spatial text data caching method and device, electronic equipment and storage medium
CN111353012B (en) * 2020-03-09 2023-10-17 咪咕文化科技有限公司 Space text data caching processing method and device, electronic equipment and storage medium
WO2023055356A1 (en) 2021-09-29 2023-04-06 Google Llc Navigation route sharing

Also Published As

Publication number Publication date
AU6635000A (en) 2001-03-13

Similar Documents

Publication Publication Date Title
WO2001013069A1 (en) Method and apparatus for providing location-dependent services to mobile users
US6757544B2 (en) System and method for determining a location relevant to a communication device and/or its associated user
US6615131B1 (en) Method and system for an efficient operating environment in a real-time navigation system
JP4928490B2 (en) Navigation system with distributed computing architecture
US6553310B1 (en) Method of and apparatus for topologically based retrieval of information
US8010227B2 (en) Navigation system with downloadable map data
US8027691B2 (en) Method and apparatus for providing position profiles in mobile value-added services
US7266380B2 (en) Combining a marker with contextual information to deliver domain-specific content
US6850766B2 (en) Voice activated wireless locator service
EP2549233A2 (en) Method of operating a navigation system to provide geographic location information
US9279695B2 (en) Method of operating a navigation system to provide geographic location information
WO2003063521A2 (en) Routing framework
US20080195702A1 (en) Determining and presenting communication device proximity information
WO2001074037A2 (en) System and method for displaying the location of a wireless communications device
KR100770644B1 (en) Method and system for an efficient operating environment in a real-time navigation system
CN101331485A (en) Improving location-based searches by measuring location-based clickthrough measurements using implicit location
US20020002467A1 (en) Door to doorstep directions
JP2003222524A (en) Navigation system for supporting multiple languages and formats
JP4722688B2 (en) Information distribution system, route search server, and portable terminal device
Marsh et al. Pharos: coupling GSM and GPS-TALK technologies to provide orientation, navigation and location-based services for the blind
JP2003134235A (en) Information transmission system, information processing apparatus, computer program and recording medium
JP2002537593A (en) Data retrieval method and retrieval device
Kim et al. Design and Implementation of Location Utility Service for LBS

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP