Patent Publication Number: US-6701251-B2

Title: Method and system for providing multiple beginning maneuvers for navigation of a vehicle

Description:
FIELD OF THE INVENTION 
     This invention relates generally to the navigation of a moving vehicle. In particular, this invention relates to a method and system of providing multiple beginning instructions for navigating the vehicle from a route generator. 
     BACKGROUND OF THE INVENTION 
     Currently it is possible to navigate a vehicle, such as a car, using a database onboard the car that includes directions and coordinates for various locations. For example, the database may include existing directions and coordinates for the entire United States. Such a navigation system is sometimes called an autonomous navigation system. 
     In existing autonomous navigation systems, the directions for navigating the vehicle are generated by a processor, which is also on board the vehicle. The processor accesses the database and calculates directions based on the current location of the vehicle and the intended destination. Autonomous navigation systems are typically very expensive. Additionally, these autonomous systems become easily outdated as the coordinates and locations and points of interest stored in the database become outdated. One alternative to autonomous navigation systems is to communicate with a server that can calculate a navigation route and transmit it to the vehicle. Typically, in such a server-based system, the current location of the vehicle is determined by the server using Global Positioning Systems and software. Dead reckoning systems such as gyroscopes or the use of vehicle speed pulses may also be used to help determine the current location of the vehicle. The destination is also indicated to the server, for example, by user-input. Then, the server generates a route based on these two points. 
     This server-based process may be very time consuming. Sometimes, the process of downloading the maneuver list from the vehicle&#39;s current location to the destination may take a significant amount of time if the maneuver list is extensive. This may result in missed maneuvers or invalid routes as the vehicle continues beyond the original location upon which the maneuver lists were based. For example, a vehicle may pass the first maneuver before the instruction to navigate the first maneuver is downloaded. Moreover, current server-based navigation systems do not provide off-route detection, i.e. an indication that the vehicle has gone off the route indicated by the maneuver list. Additionally, current server-based navigation systems do not provide off-route correction. That is, because the database is not on board, there is a time lag between the time when a vehicle goes off-route and when the vehicle receives new maneuver instructions. This time lag may occur, for example, because the vehicle has to send a new request for a corrected route to the server based on a new current location. 
     It would be desirable therefore to provide a method for generating instructions for navigating a moving vehicle that overcomes the above. 
     SUMMARY OF THE INVENTION 
     One aspect of the present invention provides a method of generating navigation instructions for a vehicle. A destination of the vehicle is received at a route generation application. A maneuver list comprising a plurality of navigation instructions is calculated based on a current location of the vehicle and the destination. A distance threshold is determined based on the current location of the vehicle and the destination. The navigation instructions located within the distance threshold are determined and transmitted from the route generation application to the vehicle. The navigation instructions located within the distance threshold are executed at the vehicle. At least one remaining maneuver may be transmitted from the route generation application while the vehicle executes the navigation instructions located within the distance threshold. The at least one remaining maneuver may also be executed at the vehicle. The distance threshold may be based on a speed of the vehicle or on road density information. The maneuver list may also be based on a speed of the vehicle or on road density information. 
     Another aspect of the present invention provides a navigation system including at least one route generation application, which calculates a maneuver list comprising a plurality of navigation instructions. The route generation application further determines a distance threshold and preliminary navigation instructions that lie within the distance threshold. The system also includes at least one service manager in communication with the route generation application and a vehicle, which is operatively adapted to execute the navigation instructions. The service manager may transmit the preliminary navigation instructions from the route generation application to the vehicle. 
     The system also includes at least one database in communication with the route generation application, the database comprising location coordinates. The system also includes at least one navigation interface in communication with the vehicle operatively adapted to receive the navigation instructions. The system also includes at least one communication interface in communication with the vehicle, the communication interface operatively adapted to transmit information from the vehicle. 
     Another aspect of the present invention provides a computer usable medium including a program for generating navigation instructions for a vehicle. The program includes computer program code that receives a destination of the vehicle and computer program code that calculates a list of navigation instructions based on a current location of the vehicle and the destination. The program also includes computer program code that determines a distance threshold. The program also includes computer program code that determines navigation instructions located within the distance threshold and transmits these instructions to the vehicle. The program also includes computer program code that executes the navigation instructions located within the distance threshold at the vehicle. The program also includes computer program code that transmits at least one remaining maneuver to the vehicle while the vehicle executes the navigation instructions located within the distance threshold. The program also includes computer program code that executes the at least one remaining maneuver at the vehicle. The program also includes computer program code that determines the distance threshold based on a speed of the vehicle or on road density information. The program also includes computer program code that determines the navigation instructions based on a speed of the vehicle or on road density information. 
     Another aspect of the present invention provides a system of generating navigation instructions for a vehicle. The system may include means for receiving a destination of the vehicle at a route generation application, means for calculating a maneuver list based on a current location of the vehicle and the destination, the maneuver list comprising a plurality of navigation instructions and means for determining a distance threshold based on the current location of the vehicle and the destination. The system may also include means for determining navigation instructions located within the distance threshold and means for transmitting the navigation instructions located within the distance threshold from the route generation application to the vehicle. 
     The foregoing and other features and advantages of the invention will become further apparent from the following detailed description of the presently preferred embodiments, read in conjunction with the accompanying drawings. The detailed description and drawings are merely illustrative of the invention rather than limiting, the scope of the invention being defined by the appended claims and equivalents thereof. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic diagram of a system for generating navigation information for a vehicle in accordance with the present invention; 
     FIG. 2 is a schematic diagram of another embodiment of a system for generating navigation information for a vehicle in accordance with the present invention; 
     FIG. 3 is a schematic diagram of one embodiment of a navigation subsystem in accordance with the present invention; 
     FIG. 4 is a flow diagram of one embodiment of a method for generating navigation information for a vehicle in accordance with the present invention; and 
     FIG. 5 is a sequence diagram of one embodiment of a method for generating navigation information for a vehicle in accordance with the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS 
     FIG. 1 shows one embodiment of a system for providing services to a vehicle in accordance with the present invention at  100 . The system  100  may include one or more vehicle clients  10 , one or more carrier systems  20 , one or more communication networks  30 , one or more service management subsystems  40  and one or more navigation subsystems  50 . The service management subsystems  40  may comprise one or more service management applications  42  and one or more service managers  44 . The navigation subsystems  50  may comprise one or more route applications  51 ,  52  and one or more coordinate databases  53 ,  54 . 
     Navigation subsystem  50  may be a system for generating routes to be delivered to vehicle client  10  and for receiving route information from vehicle client  10 . Navigation subsystem  50  may be connected with or in communication with service management subsystem  40 . Service management subsystem  40  may be used to manage the delivery of information to or from navigation subsystem  50  to other parts of system  100 . Routes may be delivered or information may be received via a live agent, such as a human advisor, or via a virtual agent, such as an interactive computer program. 
     Navigation subsystem  50  may be any suitable hardware or software configuration, or combination of hardware and software that is configured to generate a route, process route information or receive information from vehicle client  10 . In one embodiment of the invention, navigation subsystem  50  comprises one or more route applications  51 ,  52  and one or more coordinate databases  53 ,  54 . For example, route applications  51 ,  52  may be any suitable software application for generating route information or otherwise processing route information. Coordinate databases  53 ,  54  may be any suitable databases for storing route information, such as location coordinates. 
     Vehicle client  10  may be any suitable vehicle. The vehicle may be an automobile or a passenger-carrying unit, for example, a bus or train. Alternatively, vehicle client  10  may be an occupant of the vehicle or any suitable client device contained in the vehicle. In one embodiment of the invention, vehicle client  10  is a mobile or portable device equipped to communicate with service management subsystem  40 . 
     Carrier system  20  may be any suitable system for transmitting a signal from vehicle  10  to service management subsystem  40 . Carrier system  20  may also transmit a signal from service management subsystem  40  to vehicle client  10 . In one embodiment of the invention, carrier system  20  is a wireless carrier system as is well known in the art. Carrier system  20  may be, for example, a transmitter/receiver unit attached to vehicle client  10 . Alternatively, carrier system  20  may be a separate transmitter/receiver carried by vehicle client  10 . 
     Communication network  30  may be any suitable system for communicating between vehicle client  10  and service management subsystem  40 . In one embodiment of the invention, communication network is a public switched telephone network (PSTN). Alternatively, communication network  30  may be a multiprotocol Internet or intranet capable of transmitting voice and/or data in either analog or digital form or a combination of both. Alternatively, communication network  30  may be a hybrid communication network or virtual network. Service management subsystem  40  may be a system for managing a variety of services to be delivered to or from vehicle client  10 . In one embodiment of the invention, service management subsystem  40  manages services that are distributable over a variety of channels. For example, services may be delivered via a live agent, such as a human advisor, or via a virtual agent, such as an interactive computer program. The structure of service management subsystem  40  may enable services to be delivered in a uniform manner regardless of the channel used for delivery or of the service being delivered. Service management subsystem  40  may maintain a consistent subscriber experience and “look and feel” across the products being delivered across the service distribution channels enabled. 
     Service management subsystem  40  may be any suitable hardware or software configuration, or combination of hardware and software that is configured to standardize each service being delivered via the subsystem  40  and to standardize each channel of delivery. In one embodiment of the invention, service management subsystem  40  standardizes each service and channel using personalization information from vehicle client  10 . Thus, service management subsystem  40  may have a common profile mechanism across the services being delivered independent of the service distribution channel (live agent, virtual agent, web channel, speech channel) and of the service (news, weather, sports, stocks, etc.). In one embodiment of the invention, service management subsystem comprises one or more application components  42  and one or more service managers  44 . For example, application  42  may be any suitable software application for managing one or more services. Service managers  44  may be any suitable hardware and/or software configuration or structure for executing applications  42 . 
     FIG. 2 shows another embodiment of a system for providing services to a vehicle in accordance with the present invention at  200 . Vehicle-directed service system  200  may include a subscriber  210  and a service management application  240 . In the embodiment shown in FIG. 2, the service management subsystem may be in connection with a communication network  230 , such as the Internet. Service management application  240  may also be in communication with service applications or other service management subsystems. For example, in FIG. 2, service management subsystem  240  is also in communication with a subsystem for processing route information shown at  251 . Service management subsystem  240  may also be in communication with a web-based service application or other web-based service management systems or web servers. For example, in FIG. 2, service management application  240  is in communication with a web channel  260 . 
     In one embodiment of the invention, service management application may include an in-vehicle component  245 . This in-vehicle component may be located in, or on or may be in communication with vehicle client  210 . In one embodiment of the invention, the in-vehicle component  245  may install a software algorithm, based on the type of call originated through a voice command, in order to optimize the talk path to subscriber management application  240 . System  200  may also allow the subscriber to connect to a live administrator or advisor  270  through a spoken command acknowledged through the subscriber management application  240  voice user interface (VUI). 
     In one embodiment of the invention, subscriber  210  may have VUI access  222  through a PSTN  220 . This may serve as the primary end user interface to service management application  240 . This VUI access may allow subscribers in their vehicles equipped in accordance with the present invention to access a variety of services. For example, subscribers  210  may request route information or travel information or may provide information about their route, using voice commands in a conversational manner. Furthermore, the subscriber may have the ability to interrupt or suspend the session if required. In one embodiment of the invention, connections are made to the service management application  240  through the public telephone system. In one embodiment of the invention, subscriber  210  may gain audio access to subscriber management application  240  by activating an in-vehicle speech recognition application. This speech recognition application may allow the subscriber to place hands-free cell phone calls. 
     Subscriber  210  may also have graphical user interface (GUI) access  232  through a communication network  230 , such as the Internet. Such an interface may allow subscribers to access a variety of Internet and communication network-based services in accordance with the present invention. For example, subscriber  210  may access email via this interface. In one embodiment of the invention, subscribers connect to the service management application  240  through the Internet  230  using standard Web browsers. 
     Subscriber  210  may also have GUI access through a web channel  260 . This interface may be used by subscribers to access a variety of services. For example, subscriber  210  may maintain one or more user profiles using web channel  260 . Subscriber  210  may also set up user-related rules such as e-mail consolidation and filtering rules. This interface may also be used to access selected content services. Vehicle data, such as diagnostic codes and messages, can be consolidated and displayed using web channel  260 . As with other components of system  200 , information entered or accessed via web channel  260  may then be incorporated into new products and services for presentation over other channels in communication with service management subsystem  240 . The subscribers  210  may connect to the web channel  260  using standard Web browsers. In one embodiment of the invention, standard web channel software interacts with the service management application to update subscriber profiles and/or to obtain information of interest. In one embodiment of the invention, the web channel  260  interface uses a dedicated connection to the service management system  240 . 
     System  200  may also include one or more administrators  270 . Administrator  270  may use GUI access to manage service management system  240  and information related to system  200 . Administrator  270  may be, for example, a live advisor available to advise subscriber  210 . Administrator  270  may also be, for example, an individual maintaining or administering service management subsystem  240 . In one embodiment of the invention, administrator  270  accesses service management subsystem  240  via subscriber management subsystem  250 . For example, administrator  270  may send configuration and subscriber information to service management system  240 . Administrator  270  may also receive notifications of interesting events within system  200 . In one embodiment of the invention, subscriber management subsystem  250  uses a dedicated connection between administrator  270  and service management system  240 . 
     As seen in FIG. 2, system  200  may also include one or more message servers  234 . These messages may be, for example, voice or text or e-mail mail messages. In one embodiment of the invention, message servers  234  communicate with service management application  240  via Internet  230 . Thus, subscribers  210  may receive incoming email messages from, and send outgoing e-mail messages to, external mail transport agents using any suitable messaging protocol as is well known in the art. Message servers  234  may also be used to retrieve subscribers&#39; e-mail from outside mail storage servers for consolidation into their e-mail accounts connected to system  200 . 
     As seen in FIG. 2, system  200  may also include one or more news and or sports feeds  236 . In one embodiment of the invention, feeds  236  are provided by a network news content provider. Feeds  236  may be used to receive and store audio news and sports stories for playback to interested subscribers  210 . The primary interface between the speech channel and news content provider  236  may be via the Internet  230 . In one embodiment of the invention, a satellite feed  246  serves as a backup mechanism. 
     As seen in FIG. 2, system  200  may also include one or more weather services  248 . In one embodiment of the invention, the services are provided by any suitable weather reporting service. Weather services  248  may be used to receive and store regional and local weather information for playback to interested subscribers  210 . Furthermore, the weather content can be delivered based on the vehicle location by coordinating the weather zone with the vehicle GPS location. The weather service  248  and/or content feed may be co-located with the service management system  240 . 
     System  200  may also include one or more finance services  238 . For example, stock quotes may be provided to the subscriber. Any suitable finance technology may be used to provide these services to interested subscribers. In the embodiment of FIG. 2, the finance information is obtained at the time of the request through Internet attached content sources or dedicated connections  230  as is known in the art. 
     System  200  may also include other services to be delivered in addition to news, weather, sports and finance services as described above. For example, yellow pages listings, special interest content (e.g., movie or restaurant reviews), content related to the location of the vehicle (e.g. travel profiles of nearby tourist attractions) or content related to navigation of the vehicle may all be delivered via system  200 . 
     FIG. 3 shows one embodiment of a navigation system in accordance with the present invention at  300 . Navigation system  300  may include one or more navigation clients  310 ,  312 . Each navigation client  310 ,  312  may have an in-vehicle navigator  321 ,  322 . Navigation system  300  may also include one or more route generation applications  351 ,  352 . Navigation system  300  may also include one or more coordinate databases  353 ,  354 . 
     Navigation clients  310 ,  312  may be a vehicle client as described above. 
     In-vehicle navigator  321 ,  322  may be any suitable component of navigation client  310 ,  312  which may be used to navigate vehicle client  310 .  312 . For example, in-vehicle navigator  321 ,  322  may be a driver. Alternatively, in-vehicle navigator  321 ,  322  may be an automatic system for navigating vehicle  310 ,  312 . 
     Route generation applications  351 ,  352  may be any suitable application for calculating maneuver lists of directions between one or more locations. For example, route generation applications  351 ,  352  may be any suitable software or hardware programs for managing or calculating routes, portions of route or route coordinates. Route generation applications may include or be able to calculate routes from navigation client&#39;s current location to private residences, businesses or recreational facilities. In one embodiment of the invention, route generation applications  351 ,  352  are in communication with coordinate databases  353 ,  354 . 
     Route generation applications  351 ,  352  may generate navigation information in any suitable manner. For example, route generation applications  351 ,  352  may generate routes using geocoding. That is, the application  351 ,  352  determines a corresponding latitude and longitude based on an input navigation address. Alternatively, route generation applications  351 ,  352  may generate routes using reverse geocoding. That is, the application  351 ,  352  determines a corresponding navigation address based on input latitude and longitude coordinates. 
     Coordinate databases  353 ,  354  may be any suitable databases for storing such location coordinates as latitude and longitude of a variety of locations. These locations may be, for example, points of interest. Coordinate databases  353 ,  354  may also be a database of street addresses. Coordinate databases  353 ,  354  may also be a database of routes between points. 
     FIG. 4 shows a flow diagram of one embodiment of a method for generating navigation information in accordance with the present invention at  400 . 
     As seen at block  405 , a call may be received from vehicle client  310 ,  312 . For example, this call may be a request transmitted from the vehicle indicating a request for directions. Alternatively, the call may comprise a transmission of the coordinates of the vehicle. As described above, the call may be one or more voice commands from vehicle client  310 ,  312 . For example, service management subsystem  40  may communicate with vehicle client  310 ,  312  via a VUI or GUI. 
     As seen at block  410 , the route generation application  351 ,  352  may be contacted. This contact may occur, for example, via a service management subsystem as described above. Alternatively, vehicle client  310 ,  312  may contact the route generation application directly. 
     As seen at block  415 , the vehicle&#39;s destination may be received from the vehicle client  310 ,  312 . This may take the form of a request for a particular destination from the service management subsystem and a response from the vehicle client. Alternatively, this may take the form of a request from route generation application  351 ,  352  and a response from the vehicle client. For example, vehicle client  310 ,  312  may provide a destination to route generation application  351 ,  352 . Vehicle client  310 ,  312  may provide the destination via any suitable means, for example, voice commands. Alternatively, an in-vehicle hardware component as described above may automatically transmit the destination. The destination may also be determined from a pre-stored address book, for example, an address book stored in any suitable place within system  100 ,  200  that includes the current destination of the vehicle. That is, the vehicle client  310 ,  312  may indicate that the destination is “Home” and the actual coordinates may already be pre-stored for example, in the vehicle, in a database in communication with the vehicle client or in a database in communication with the route generation application. 
     As seen at block  420 , route generation application may then calculate a list of maneuvers to be navigated from the current location of the vehicle client  310 ,  312 . These maneuvers may be, for example, maneuvers to be navigated in order to reach the destination indicated at block  415 . These maneuvers or navigation instructions may be calculated using any standard methods. In one embodiment of the invention, the maneuvers are calculated based on graph theory or are based on a shortest path algorithm, such as Dijkstra&#39;s algorithm. Alternatively, the maneuver list may be calculated based on an A* algorithm which includes heuristics or other information for pointing the vehicle in the appropriate direction. 
     The maneuvers may be calculated by determining the current location and calculating to the destination location. Alternatively, the maneuvers may be calculated using the destination location and calculating to the current location. 
     Alternatively, the maneuvers may be calculated by first using the current location and calculating to an x maneuver, where x may be any number. Alternatively, the maneuvers may be calculated by using an x maneuver and calculating to the current location. For example, the A* algorithm utilizes an evaluation function to determine the shortest distance from the navigation client&#39;s starting location to a destination. As another example, a variant of Djikstra&#39;s algorithm calculates maneuvers in a forward and backward direction and, beginning at the first maneuver point, calculates to the current location by probing out all road sections and intersections. Alternatively, the maneuvers may be calculated using a main maneuver point (such as, but not limited to, the first maneuver point or the x maneuver points) and calculating to the destination while the destination is also being calculated towards the current or starting point. The maneuvers may be calculated such that the destination is used to help eliminate alternate paths as an appropriate path is calculated. 
     In addition to shortest route, the maneuver list may be calculated based on any suitable criteria, including, but not limited to, the most use of freeways or the least use of freeways, shortest time, toll road avoidance, scenic route, inclusion and/or exclusion of specific road segments, inclusion and/or exclusion of real-time traffic information or traffic-influenced routes, or criteria manually input by the user. 
     In one embodiment of the invention, as seen at block  422 , route generation application may then determine a distance threshold m. Distance threshold m may be any suitable distance from vehicle client  310 ,  312 . In one embodiment of the invention, m=3. In one embodiment of the invention, the value of m is in distance units such as, for example, miles or kilometers. Thus, m may equal, for example, 3 miles or 3 kilometers. The value of m may be determined according to any suitable criteria or according to a combination of any parameters, including, but not limited to vehicle speed, road density, and vehicle client input as further described below. 
     For example, the distance threshold m may be a function of the distance between the current location and the destination. Thus, if the distance between the current location and the destination is 300 miles, the distance threshold may be higher than if the distance between the current location and the destination is 30 miles. In one embodiment of the invention, distance threshold m is a function of vehicle speed. For example, m may be a lower value when the vehicle speed is high. 
     Route generation application  351 ,  352  may also receive input parameters from vehicle client  310 ,  312  to determine m. For example, these parameters may include the destination of the vehicle client, the current location of the vehicle client, the distance between the destination and the current location and the speed of vehicle client. In a case where the destination is close to the current location and the vehicle is traveling very quickly, the value of m may be low. In one embodiment of the invention, m may be a lower value when the road network density is high. For example, in older or more crowded subdivisions, streets are very close or dense. Thus, although vehicle client is going slowly, there are many roads and potential maneuvers to navigate within a short distance threshold, so m may be a lower value to provide vehicle client  310 ,  312  with navigation information in time for the vehicle client to perform the maneuvers within the distance threshold. 
     In one embodiment of the invention, m is a value submitted by a user of vehicle client  310 ,  312 . Alternatively, m may be a value calculated by an on-board component of vehicle client  310 ,  312  that is submitted to route generation application  351 ,  352  for use in the route calculations. Alternatively, m may be a value calculated by route generation application  351 ,  352  based on any suitable criteria as described above. 
     As seen at block  425 , route generation application may then determine how many of the maneuvers generated at block  420  are located within the distance threshold, m. Alternatively, route generation application may determine how many potential maneuvers for vehicle client  310 ,  312  are located within distance threshold, m. 
     As seen at block  430 , the first n maneuvers, where n is the number of maneuvers that lie within m, may be transmitted to the vehicle. These may be transmitted, for example, via a service management subsystem as described above or via route generation application  351 ,  352 . For example, if distance threshold m is 10 miles, route generation application may download the n maneuvers that may be navigated within 10 miles. In one embodiment of the invention, the number of maneuvers n downloaded at block  430  is a function of m, and may be expressed, for example, using the formula 
     
       
           n=f ( m ) 
       
     
     The first n maneuvers may be transmitted, for example, via service management subsystem  240 . Alternatively, the first n maneuvers may be transmitted directly to vehicle client  310 ,  312 . The first n maneuvers may be made available to a navigator  321 ,  322  of the vehicle. The first n maneuvers may be available, for example, via a VUI or GUI as described above. In one embodiment of the invention, the first n maneuvers are downloaded automatically to the navigator  321 ,  322 . 
     As seen at block  435 , the vehicle  310 ,  312  may immediately execute the first n maneuvers. For example, navigator  321 ,  322  may be guided to complete the first n maneuvers by voice commands. Once the navigator has performed a given maneuver, the sequence may immediately advance to the next maneuver automatically. Alternatively, vehicle client  310 ,  312  may prompt for the next direction after a given maneuver has been executed. Alternatively, vehicle client  310 ,  312  may execute the maneuvers automatically as they are downloaded to vehicle client  310 ,  312 . 
     Meanwhile, as seen at block  440 , route generation application may then transmit the remaining maneuvers (i.e., maneuvers which are beyond the distance threshold m) to vehicle client  310 ,  312 . This may occur, for example, while the vehicle is still executing the n maneuvers within distance threshold m, as indicated at block  435 . This may also occur, for example, while the n maneuvers are still being transmitted. The remaining maneuvers may be transmitted, for example, via service management subsystem  240 . Alternatively, the remaining maneuvers may be transmitted directly to vehicle client  310 ,  312 . The remaining maneuvers may be made available to a navigator  321 ,  322  of the vehicle. The remaining maneuvers may be available, for example, via a VUI or GUI as described above. In one embodiment of the invention, the remaining maneuvers are downloaded automatically to the navigator  321 ,  322 . 
     As seen at block  450 , the vehicle may then execute the remaining maneuvers. For example, navigator  321 ,  322  may be guided to complete the remaining maneuvers by voice commands. Once the navigator has performed one maneuver, the sequence may immediately advance to the next maneuver automatically. Alternatively, vehicle client  310 ,  312  may prompt for the next direction after a maneuver has been executed. Alternatively, vehicle client  310 ,  312  may execute the remaining maneuvers automatically as they are downloaded to vehicle client  310 ,  312 . 
     As seen at block  460 , the vehicle may then execute the final maneuver, arriving at the destination. In one embodiment of the invention, an arrival message is presented to the navigation client. The route calculations may then be terminated. The route may be stored for future use at any suitable component within system  100 ,  200 . For example, the route may be stored at the navigation client  310 ,  312  or in association with route generation application  351 ,  352 , or with coordinate database  353 ,  354 . 
     FIG. 5 shows a sequence diagram of one embodiment of a method for generating navigation information in accordance with the present invention at  500 . 
     Positions  510 ,  520 ,  530  and  540  indicate positions of vehicle client  310 ,  312  on a route  550 . Position  510  may be a current location of the vehicle client. Positions  520 ,  530 , and  570  may be intermediate locations on the route  550 . Position  540  may be the destination of the vehicle client on route  550 . 
     As vehicle client  310 ,  312  is at position  510 , the coordinates of position  510  may be uploaded to route generation application  351 ,  352 . The coordinates of position  540  may also be uploaded to route generation  351 ,  352  at this time. 
     As vehicle client  310 ,  312  moves away from position  510 , route generation application may determine that positions  520 ,  530  are within distance threshold m. Thus, as vehicle client moves away from position  510 , route generation application  351 ,  352  transmits the maneuvers that will take vehicle client  310 ,  312  to position  520  (maneuver  521 ) then to position  530  (maneuver  531 ) as described above. Position  570 , however, is beyond distance threshold m and so the maneuver to position  570  (maneuver  571 ) is not transmitted at this time. 
     As vehicle client receives instructions to move to position  520  or position  530  or any other position within distance threshold m, route generation application may then continue to generate the remaining maneuvers beyond distance threshold m, (in this case, maneuvers  571  and  541 ) and may transmit them to vehicle client  310 ,  312 . In the example of FIG. 5, two remaining maneuvers are left (i.e. the move to position  570  and from there to destination  540 ). Thus, as vehicle  310 ,  312  executes the maneuver to position  520  or  530 , instructions for maneuvers  541  and  572  may already be downloaded. Vehicle client is able to begin executing maneuvers before the list of maneuvers to be executed is completed. 
     While the embodiments of the present invention disclosed herein are presently considered to be preferred, various changes and modifications can be made without departing from the spirit and scope of the invention. The scope of the invention is indicated in the appended claims, and all changes that come within the meaning and range of equivalents are intended to be embraced therein.