The present invention is generally related to methods and apparatus for off-board navigation, and more particularly, to navigation utilizing a portable device and remote network server.
Today, systems exist that offer real-time interactive distributed navigation through the use of a wireless device. The wireless device communicates over a wireless carrier to a remote server that performs various navigation related functions and returns navigation information to the wireless device for review by an operator.
However, distributed navigation systems have a somewhat limited feature set and offer limited functions. Conventional distributed navigation systems have a user interface that is awkward and less than user friendly. Also, the amount of navigation information related to a particular operation, often may be quite large. As the amount of navigation information increases, it exceeds the storage capacity of the wireless device and introduces an additional delay during operation while large amounts of navigation information are being conveyed to the wireless device.
A need remains for an improved distributed navigation system. It is an object of certain embodiments to address the above and other needs of distributed wireless systems and methods.
An off-board navigation application is provided that is configured to be stored in memory on a wireless portable device. The application comprises a menu hierarchy including a series of pages to be presented on a screen of the device. The pages include a category page having a list of categories. The categories each are associated with points of interest (POIs). The menu hierarchy includes an address page presenting address information related to a selected point of interest (POI). The address page includes a function option that directs the portable device to transmit wirelessly a navigation information request to a remote server. The menu hierarchy includes a navigation page configured to present navigation information that is received wirelessly by the portable device from the remote server in response to the navigation information request.
Optionally, the application may further comprise a sub-category page presenting a list of POI names, wherein the address page presents address information in response to the selected POI. The function option may represent a GO option such that, when the GO option is selected, the application directs the portable device to transmit a navigation information request to the remote server. The navigation information request instructs the remote server to perform a route calculation from a present location of the portable device to the selected POI. Optionally, the function option may represent a SAVE option such that, when the SAVE option is selected, the application directs the portable device to transmit a waypoint management instruction to the remote server. The waypoint management instruction directs the remote server to save the selected POI as a waypoint associated with an individual user. Optionally, the function option represents a NEARBY option such that, when the NEARBY option is selected the application directs the portable device to transmit a navigation information request to the remote server. The navigation information request instructs the remote server to return a NEARBY category list of categories for destination points of interest that are near the selected POI.
In accordance with an alternative embodiment, a portable navigation device is provided that includes a wireless antenna, transmitter and receiver for communicating over a wireless network with a navigation enabled remote server. The device further includes a GPS antenna and receiver for receiving GPS signals from GPS satellites. A processor controls communication over the wireless network and processes the GPS signals. Memory is provided that stores an off-board navigation application. The application comprises a menu hierarchy including a series of pages to be presented on a screen of the device. The pages include a category page having a list of categories. The categories each are associated with points of interest (POIs). The menu hierarchy includes an address page presenting address information related to a selected point of interest (POI). The address page includes a function option that directs the portable device to transmit wirelessly a navigation information request to a remote server. The menu hierarchy includes a navigation page configured to present navigation information that is received wirelessly by the portable device from the remote server in response to the navigation information request.
In accordance with an alternative embodiment, the portable device includes a screen and cache. The screen presents a series of pages during operation of a navigation application. The pages includes a map page presenting a roadway network surrounding at least one of a present location of the device and a selected point of interest. The map page includes ZOOM options selectable by the user to select a level of detail displayed for the roadway network. The cache stores a portion of the map data having a predetermined intermediate level of map detail. The processor obtains map data from the cache when a selected ZOOM option corresponds to a level of detail stored in the cache. The processor obtains, over the wireless bidirectional link with the remote server, additional map data win the selected ZOOM option exceeds a level of detail stored in the cache.
In accordance with an alternative embodiment, the portable device includes a keypad and screen. The keypad has a series of keys for entering alphanumeric information, where each key on the keypad is associated with a corresponding alphanumeric character list including at least one letter and at least one numbers. The screen presents the alphanumeric information and, as an operator repeatedly presses an individual key, the processor sequences through the corresponding alphanumeric character list until a desired character is entered. The processor monitors each entered character and determines whether the entered character represents a letter or a number. The processor sets a start mode to one of an alphabetic start mode and a numeric start mode based on a prior entered character. The processor begins each sequence through a corresponding alphanumeric character list with a letter when the alphabetic start mode is set.
In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown, by way of illustration, specific embodiments in which the invention may be practiced. The embodiments are intended to describe aspects of the invention in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be utilized and changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims, along with the full scope of equivalents to which such claims are entitled.
The embodiments discussed hereafter are drawn to navigational systems and devices having navigation and, route calculation capabilities. One type of navigational system includes Global Positioning Systems (GPS). Such systems are known and have a variety of uses. In general, GPS is a satellite-based radio navigation system capable of determining continuous position, velocity, time, and in some instances direction information for an unlimited number of users. Formally known as NAVSTAR, the GPS incorporates a plurality of satellites which orbit the earth in extremely precise orbits. Based on these precise orbits, GPS satellites can relay their location to any number of receiving units.
As shown in
The GPS server 133 includes a processor module 139 that manages individual user accounts, as well as performs navigation and routing operations based on requests from individual devices 140. The GPS server 133 also includes memory 141. The memory 141 stores, among other things, a cartographic map 149, a point of interest (POI) database 143, waypoint lists 145 and account information 147. The account information individually identifies each registered user. Each user account includes or has a unique link to a waypoint list 145 uniquely associated with an individual user. Each waypoint list includes a list of points of interest that have been identified by the user and saved in the user's individual account. The waypoint lists may be organized by category or alphabetically or both.
The third party account manager 139 includes a processor module 151 and memory 153. The memory 153 stores, among other things, individual account information 155 and waypoint lists 157 uniquely associated with each user. The waypoint lists 157 may be uniquely associated with each user and/or may be based on general categories.
In accordance with one off-board navigation process, the device 140 receives, at GPS antennae 119, GPS signals 160 from various satellites 120 and, based thereon, calculates the position of the device 140. The device 140 stores a navigation application that includes a navigation menu hierarchy or screen flow of screens, options, icons and text entry boxes. The hierarch defines a screen flow through which the device 140 sequences to complete various navigation-related operations. During menu-driven routing/mapping applications, the device 140 transmits its position information, a waypoint management instruction and/or a navigation information request over the wireless link 125 to a tower 122. The position information may simply include the satellite signals 160 received by the device 140 at a particular point in time. Alternatively, the device 140 may calculate a latitude and longitude coordinate combination representing the current position of the device 140, and transmit the latitude and longitude coordinate combination as the position information to the tower 122. The navigation information request may include a destination waypoint or point of interest and/or a request to calculate a route to the destination point of interest. Alternatively, the navigation information request may simply represent a request for a portion of the cartographic map for an area surrounding the device 140 and/or surrounding a point of interest. The navigation information request may also represent a selected item from an application menu (e.g. a selection of a category of POIs), text information or a list of potential matches. The navigation information request may also include a destination indicator identifying where the request should be routed by the wireless carrier network. Waypoint management instructions are utilized in connection with managing an individual user's account that is maintained by the GPS server 133 and/or a third party account manager 135. A waypoint management instruction may include information related to and/or identifying a particular point of interest, as well as a management instruction (e.g. rename, delete, copy, say, move, edit and the like).
The wireless carrier network 127 and Internet gateway 129 uniquely identify the device 140 and/or incoming navigation request, determine a destination corresponding to the GPS server 133 and/or the third-party account manager 135 and route the position information and navigation request to the corresponding destination. The destination may represent a statically or dynamically designated IP address and the like. The GPS server 133 and/or third-party account manager 135 store cartographic maps and have a large processing capability to perform computationally intensive navigation calculations. The GPS server 133 and/or third-party POIs account manager 135 receive the request, calculate or otherwise obtain the appropriate response, and convey reply navigation information over the Internet 131, Internet gateway 129, wireless carrier 127, and towers 122 to the device 140. The reply navigation information may include alphanumeric text (e.g., addresses, numbers, names, distance, directions), a route from the present location of the device 140 to a destination point of interest, a clipped portion of map data surrounding the device 140 or surrounding a point of interest and the like. The GPS server 133 performs navigation functions and transmits calculated results and reply navigation information (e.g. text, a route, roadway map data, etc.) wirelessly to the device 140, thereby enabling the device 140 to become a navigation device.
The GPS server 133 stores a cartographic or map database includes any number of locations and data indicative of thoroughfares of a plurality of types connecting certain ones of the locations. Different types of thoroughfares are contained in the data structure organized in a hierarchy of detail levels, or layers. The GPS server 133 utilizes a route calculation alGOrithm to find a path, or convergence, between any two locations in the data structure based on various criteria. For example, the criteria may include a number of jump segments requirement, a distance requirement, a minimum memory usage requirement, a maximum memory usage requirement, and the like. The criteria may be independently variable in order to tailor an aggressiveness with which the route calculation alGOrithm forces switching between different levels in the hierarchy of detail levels. Optionally, the hierarchy of detail levels may include a hierarchy of ever-decreasing detail levels such that a lowest level includes the greatest amount of detail. Any other suitable hierarchy of detail levels may be used.
In one embodiment, a type of thoroughfare in any given layer of the hierarchy of detail layers is determined by a traversability of the thoroughfare. For example, the traversability of the thoroughfare can be determined by the driveability of a road. Herein, the driveability of the road may be determined by the classification of the road, a speed classification of the road, a driving history on the road, and the like. However, the invention is not so limited and one of ordinary skill in the art will understand upon reading and comprehending this disclosure, that other criteria for determining the presence of a type of thoroughfare in any given layer of the hierarchy can be suited to the present invention.
The electronic components 400 further include other input sources that are connected to the processor 436. Control buttons 428 are connected to processor 436 via line 451. A map data cartridge 433 and/or a security card 431 may be inserted into cartridge bay 432 that is connected via line 452 to the processor 436. A conventional serial I/O port 454 is connected to the processor 436 via line 456. Cellular antenna 416 is connected to cellular transceiver 458, which is connected to the processor 436 via line 466. Processor 436 is connected to the speaker/headphone jack 434 via line 462. Line 462 is also connected to a speaker 435 for playing audio navigation information. For example, the speaker 435 may output turn-by-turn directions, words or phrases and the like. The device may also include an infrared port (not shown) coupled to the processor 436 that may be used to transmit information from one device to another.
The memory 442 may be configured to store a navigation menu hierarchy or structure utilized by the user in connection with creating navigation requests and reviewing received navigation information. The menu structure also facilitates saving and using commonly accessed or favorite waypoints or POIs. The memory 442 also is configured to temporarily store at least portions of map data received over the wireless link 125 (
In general, the menu hierarchy includes an interlinked collection or series of screens or pages that are stored in memory 442. Each page comprises options, text entry boxes, graphics windows, video windows, etc. The options may represent a function options, that directs the device to perform a function, or an item data option that is selectable by the user. Certain function options will direct the device to transmit wirelessly a navigation information request to a remote server. The menu hierarchy includes navigation pages (e.g. map pages, routing pages and the like) that are configured to present navigation information that is received wirelessly by the device from the remote server in response to the navigation information request. Examples of function options include GO, SAVE, NEARBY, VIEW MAP, CALL and the like.
When the GO option is selected, the application directs the portable device to transmit a navigation information request to the remote server 133. The navigation information request instructs the remote server 133 to perform a route calculation from a present location of the device to the selected POI. When the SAVE option is selected, the application directs the portable device to transmit a waypoint management instruction to the remote server 133. The waypoint management instruction directs the remote server 133 to save the selected POI as a waypoint in a waypoint list 145 associated with an individual user account 147. When a NEARBY option is selected, the application directs the portable device to transmit a navigation information request to the remote server 133. The navigation information request instructs the remote server 133 to return a NEARBY category list of categories for destination POIs that are near the selected POI. When the device represents a cellular phone and the CALL option is selected, the cellular phone automatically initiates a call to the selected POI. When the VIEW MAP option is selected, a map page is presented on the screen of the device. The map paging includes a roadway network surrounding the selected POI.
The GPS server 133 stores a point of interest relational database and a waypoint list of POIs of interest to the user. The POIs and waypoints are designated by name, address, latitude, longitude and categories. The GPS server 133 accesses and modifies the waypoint database 145 based on function and data options.
A “view map” option 512 and a GO option 514 are offered on the POI address page 510. When the “view map” option 512 is selected, the device 140, 200 wirelessly transmits a navigation request to the GPS server 133 to obtain roadway map data surrounding the point of interest. The roadway map data is displayed on the display 113, 204 of the device 140, 200. When the GO option 514 is selected, the device transits a navigation request to the GPS server 133 to obtain a route from the device's present location to the point of interest. The address page 510 also offers a “call” option 516 that, when selected, instructs the device 140, 200 to automatically dial the telephone number of the point of interest over the wireless link 125 and wireless carrier network 127. Further options may include permitting the operator to save the point of interest as a “favorite” in the user's individual favorites account.
Returning to the state listing page 608, when the GPS server 133 returns more than 25 matching cities, flow passes along line 624 to a city and ZIP code data entry page 626. The GPS server 133 may convey, in the reply navigation information to the device complete address information for all of the potential matches. Alternatively, the GPS server 133 may only return in the reply navigation information a list of cities from which the user chooses. After the user enters the city and ZIP code of the POI, the device transmits the city and zip code and the GPS server 133 returns the reply navigation information for one or more matches.
At the state listing page 608, when the GPS server 133 returns more than 1 and fewer than 25 matching cities, the list of cities 628 is displayed for the user to choose between. Next flow passes to page 630 where a list of potential matching addresses is shown. Once an address is selected from page 630, flow passes along line 632 to address page 610. The address page 610 presents the individual POI address 612, a distance to the POI 614 and an estimated time of arrival (ETA) 616. The ETA 616 is calculated from the present time based upon known travel patterns and route information associated with the roadway network between the device's present location and the POI. The address page 610 also offers a GO option 618, a SAVE option 620 and a NEARBY option 622. When the GO option 618 is selected, the device transmits a navigation information request to the GPS server 133, requesting that a route calculation be performed to identify a route between the present location of the device and the selected POI. When the SAVE option 620 is selected, the device transmits a waypoint management instruction to the GPS server 133 and/or third-party account manager 135 instructing that the selected POI be saved as a waypoint in the individual users account. When the NEARBY option is selected, the device transmits a navigation information request to the GPS server 133 requesting map data for a roadway network surrounding the selected POI.
When the NEARBY option 810 is selected, flow passes to a near-by page 812 which shows the starting point (e.g., the Ramada Inn) 814 and a category list 816. The category list 816 includes category options (e.g., food, hotel, fuel, banks/ATM, etc.). When the user picks a category option, such as food, page 818 is displayed with a list of destinations within the selected category. In
Returning to page 1514, when the user selects the favorites option, flow passes along line 1520, after which a list 1522 of favorite saved locations is presented. When a user selects a location from the favorites, such as home, a corresponding address is presented (see page 1522). The user is also presented with options at page 1522 to rename, remove and copy the location. When the user selects the copy option 1524, a decision is made at 1526 as to whether the location is already saved in the favorites. If not, the location is saved to the favorites at 1528. If the location is already saved in the favorites, flow passes to page 1518 at which the user is presented with a list of categories in which to save the address.
Returning to page 1504, when the mobile manager is selected, flow passes along path 1530 to enable the user to manage (e.g., add, delete, copy, etc.) existing favorites. Page 1532 is presented with a list of categories (e.g., all, home, dining, work, etc.), from which the user may select a sub-category to manage. In the example of
Returning to page 1604, when the mobile manager is selected, an account manager screen 1605 is presented indicating that the device is not yet associated with the GPS server 133 and/or a third party account manager 135. The user is then presented with the option of opening a new account at option 1607 or logging in to an existing account at 1609. The new or existing account is then created based upon follow-up questions and data entry by the user at the device.
In accordance with the above illustrated screen flow and hardware and software, the user is afforded the options of storing desired locations or waypoints locally on the device in the local memory 442 within a local favorites memory section. Alternatively, the location or waypoints may be stored remotely in a user account stored on a dedicated navigation server, such as server 133. As a further option, the user may establish an account with a third party account manager 135 (e.g., YAHOO, AOL, MSN, etc.) and store the locations or waypoints on the account maintained by the third party account manager 135. The stored locations or waypoints on a server are placed in user defined categories (such as business, personal, home, etc.). The categories are displayed in various menus and screens on the phone and are reproduced at the website of the third party maintaining the account and/or the GPS server website.
At 1702, the device stores, in cache, map data having a predetermined intermediate level of map detail. The predetermined intermediate level is defined based on the capacity of the cache. Thus, a device having more cache memory may store lower level map details, while a device having less cache memory may only be able to store higher-level map details. At 1704, the device accesses an initial level of map detail from the map data and displays the map data with the selected initial (higher) level of map detail. The user may desire to view more or less map detail by zooming inward and outward, respectively. At 1706, the device receives a zoom-in or zoom-out instruction from the control keypad. For zoom-in instructions, at 1708, the device determines whether the cache stores the corresponding level of map detail. If the cache stores a level of map detail sufficient to display a map at the zoom level requested by the user, the device presents, on the display, the map data from the cache.
If the device determines that the cache does not store a sufficient lower level of map detail, processing moves to step 1710. At step 1710, the device transmits a request for navigation information to the GPS server 133. The request for navigation information includes a request for more detailed information regarding the region of interest. Upon receiving the more detailed information from the GPS server 133, the device then displays the corresponding detailed map information.
Beginning at 1802, the device waits for the user to enter a keypad input from one key. For example, the user may press one key three consecutive times to sequence through the potential options associated with the key. Once the user reaches the desired character, at 1802, the key entry is identified as either a letter or number or symbol. Once the key entry is identified at 1802, flow passes to 1804, at which the processor 436 determines whether the key entry represented a letter. When the key entry is a letter, flow moves to 1806, at which the processor 436 sets the “start mode” to alphabetic characters. When the start mode is set to alphabetic characters and the user next press is a key, the first character presented to the user is an alphabetic letter assigned to such key (not a number). Thus, once a user starts to enter a word, after entering the first letter, the device will enter an “alphabetic start mode” for each subsequent letter such that the user need not first sequence through the numerals assigned to each key before reaching the letters.
At 1804, if the key entry is not a letter, flow passes to 1808, at which the “start mode” is set to numbers or digits. Thus, when a user starts to enter a telephone number or address, after entering the first number, the device will enter a “digit start mode” for each subsequent number. As a further option, the start mode may be set based on the context of the data entry or page that is presently being displayed to the user. Alternatively, the start mode may be selected based upon a previously entered word or number sequence. For example, if the user has already entered “143nd”, then the device may assume that the user will next type in some type of phrase that is alphabetic, such as “place” or “street”.
While the invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the claims.