Patent Description:
Mobile devices often include features such as the ability to receive navigation instructions to a destination via a navigation function or application. Directions can include audio, visual, textual, or a combination of these. A user can obtain directions via a navigation function or application which can connect to a server for receiving map and/or route data for providing the navigation instructions. Once the user reaches the destination, the mobile device typically erases the received map and/or route data. As a result, if the destination is in an area where there is no network connectivity, the mobile device cannot access a server to download map and/or route data for a subsequent navigation session.

<CIT> discloses wireless coverage data associated with a geographic database that contains data that represent a road network in a geographic region. The wireless coverage data indicate areas within the geographic region in which navigation-related services or data from a navigation services provider are available wirelessly, or conversely, areas within the geographic region in which navigation-related services or data from a navigation services provider are not available wirelessly. An end user obtains the wireless coverage data. The wireless coverage data are used to indicate to the end user areas in which navigation-related services or data from the navigation services provider are available wirelessly or areas in which navigation-related services or data from the navigation services provider are not available wirelessly. The wireless coverage data may also be used to warn the end user when he/she is leaving an area in which navigation-related services or data from the navigation services provider are available wirelessly. Data for uncovered areas can be downloaded to an end user's computing platform while the end user is still within an area in which navigation-related data from the navigation services provider are available wirelessly. <CIT> discloses a mobile computing device comprising a transceiver circuit configured to communicate with a wireless network. The mobile computing device includes a memory configured to store a wireless network coverage data and a geographic data; a location determination circuit configured to provide a location data for the mobile computing device; and a processing circuit configured to determine that the mobile computing device is in a transition zone and to download via the transceiver circuit additional geographic data based on the determination. <CIT> discloses a wireless communication device that communicates Radio Frequency (RF) signals with a wireless communication network, and receives navigation signals from a constellation of satellites orbiting the Earth. When the device travels to an area where the RF signals from the network are weak or non-existent, the device automatically activates its Global Positioning Satellite (GPS) receiver, and periodically saves its location to memory. If a user of the device becomes lost, the device can allegedly use the saved locations to generate directions to return the user to, or near, the network coverage area. <CIT> discloses a portable terminal and method for a navigation service for providing MAP data of an area where a real-time connection to a server providing MAP data cannot be performed sufficient to receive the MAP data by the portable terminal in real time. The navigation service typically utilizes satellite signal information. The apparatus includes a shadow area determination unit for determining whether the portable terminal has entered or is entering a shadow area where data communication cannot be performed (i.e. service disabled area), and a controller for requesting MAP information for a specific section to a server providing MAP data when it is determined that the portable terminal enters the shadow area, and for receiving MAP data corresponding to the request from the server.

<FIG> illustrates an example image of a screen of a mobile device providing navigation to a user along a first route from a first starting point to a first destination, where the mobile device is located in a wireless network coverage area. As illustrated in <FIG>, the navigation being provided to the user by mobile device <NUM> can include map <NUM> displayed on a display of mobile device <NUM>, as well as the text-based navigation instructions <NUM>, image-based navigation instructions <NUM> (illustrated as an indication to turn right, without use of text), as well as audio-based navigation instructions <NUM>. The navigation route <NUM> begins at a starting point <NUM> and ends at a destination <NUM>, which can, for example, be a first destination. It is understood that when describing providing navigation or navigation instructions to a user, the mobile device or one or more processors within the mobile device, can provide navigation instructions to a user interface through which the user then receives the instructions. Hence, the user interface can include a graphical interface displayed on a screen or touchscreen of the mobile device. A user interface can include an output device such as a speaker through which the user receives audio-based navigation instructions <NUM>. The map <NUM> includes an indication <NUM> of the present location of the mobile device. Furthermore, as shown by indication <NUM>, the present location of the mobile device is an area where there is wireless network coverage by a, for example, wireless wide area network (WWAN). So long as the mobile device <NUM> remains within a wireless network coverage area, the mobile device can receive data, including map and route data from a map and/or route server to aid in navigation. In some implementations, the route server, the map server, or mobile device <NUM> may have access to data indicating that the navigation route <NUM> includes some areas with little to no wireless network coverage. In such scenarios, the mobile device <NUM> may then download all the data to be used for displaying map <NUM> and/or to provide navigation instructions (including text-based navigation instructions <NUM>, image-based navigation instructions <NUM>, and/or audio-based navigation instructions <NUM>, which may collectively be referred to as (navigation instructions <NUM>, <NUM>, <NUM>) at or near the starting point <NUM> to mitigate any lack of access by the mobile device to data along navigation route <NUM>.

<FIG> illustrates an example image of a screen of a mobile device providing navigation to a user along the route of <FIG>, where the mobile device is located in a no wireless network coverage area. Relative to <FIG>, the mobile device <NUM> has traversed much of the distance along navigation route <NUM> towards destination <NUM>. As the mobile device <NUM> traverses route <NUM> away from, in this example, a heavily populated area, the present location of the mobile device <NUM> in <FIG>, as indicated by indication <NUM>', is now in a no wireless network coverage area as indicated by no wireless signal indication <NUM>. Since mobile device <NUM> is now in a no wireless network coverage area, the mobile device <NUM> cannot request and/or receive data. However, as illustrated, the mobile device <NUM> has already downloaded data for displaying map <NUM> and for navigation instructions <NUM>, <NUM>, <NUM>.

<FIG> illustrates an example image of a screen of a mobile device providing navigation to a user as the user nears the first destination, where the first destination is in a no wireless network coverage area. Relative to <FIG> and <FIG>, the mobile device <NUM> has arrived or almost arrived at the destination <NUM>. The present location of the mobile device <NUM> in <FIG>, as indicated by indication <NUM>", is in a no wireless network coverage area as indication by no wireless signal indication <NUM>. As such, the mobile device cannot request and/or receive data at the destination <NUM>.

Typically, when a mobile device completes navigation and a destination is reached, the map and/or route data can be erased from the memory of the device. This is because it is often assumed that once a subsequent navigation session away from the destination (which now becomes a second starting point) to a second destination begins, the mobile device can simply download the data to be used for the subsequent navigation session from the map and/or router server. However, as illustrated by no wireless signal indication <NUM>, the mobile device <NUM> does not have access to a wireless signal at or near destination <NUM> and the destination <NUM> is therefore in a no wireless network coverage area. Hence, when a subsequent navigation session is to be initiated, the mobile device <NUM> may not have access to data to download anew map and route data for navigation away from destination <NUM> to a second destination. In such a case, it may be advantageous for the mobile device to cancel the default instruction to erase the map and/or route data from memory and to instead retain the map and/or route data in memory for subsequent navigation away from destination <NUM>.

While the discussion above with respect to the mobile device <NUM> having no wireless network coverage, or being in a no wireless network coverage area, has been in the context of a WWAN, it is understood that one aspect of the present disclosure is that the mobile device has reached a destination <NUM> where the mobile device does not have access to a data network to download map and/or route data for subsequent navigation away from destination <NUM>. Hence, the no wireless signal indication <NUM> (and the no wireless network coverage area) is, by extension, intended to indicate that the mobile device <NUM> does not have access for downloading data for subsequent navigation away from destination <NUM>, whether through a WWAN, a wireless local area network (WLAN), or even a wired data connection.

's 2A and 2B illustrate examples image of screens of a mobile device providing navigation to a user from a second starting point, where the mobile device is located in a no wireless network coverage area. In <FIG>, as shown by the indication <NUM>, the mobile device <NUM> is at or near starting point <NUM>, which may, for example, be a second starting point in the sense that it is a starting point that is different from starting point <NUM> of <FIG>. As illustrated, the starting point <NUM> corresponds to the destination <NUM> of FIG. 's 1A, 1B, and 1C. As seen from no wireless signal indication <NUM>, the mobile device is unable to access data for navigation away from starting point <NUM>. However, as noted above, once the mobile device <NUM> reaches a destination, such as destination <NUM> of <FIG>, and determines that the destination is in a no wireless network coverage area or determines that it cannot access a data network, the mobile device can override an instruction to erase the map and/or route data from a previous navigation session or otherwise retain the map and/or route data to allow for subsequent navigation away from destination <NUM>. Hence, in the example of <FIG>, although the mobile device <NUM> does not have access to a wireless network for download of data for navigation to a second destination from starting point <NUM>, the mobile device, for example a processor within the mobile device, could have retained the map and/or route data in a memory from the previous navigation session to allow for navigation away starting point <NUM>. Hence, mobile device may be capable of providing navigation instructions from starting point <NUM> using route <NUM>' from FIG. 's 1A, 1B, and 1C. Moving to <FIG>, the mobile device provides text-based navigation instructions <NUM>, image-based navigation instructions <NUM>, and/or audio-based navigation instructions <NUM> (referred to, collectively as navigation instructions <NUM>, <NUM>, <NUM>) away from starting point <NUM> using route <NUM>' from the previous navigation session of FIG. 's 1A, 1B, and 1C. At the present location of mobile device <NUM> in <FIG>, indicated by indication <NUM>', the mobile device <NUM> remains in a no wireless network coverage area as indicated by indication <NUM>. Instructing the user to navigate along route <NUM>' can be useful whether the second destination is the same as the starting point <NUM> of <FIG> or whether the second destination is different from starting point <NUM>. If the second destination is the same as starting point <NUM>, then the navigation route for the second destination will be the same as route <NUM>'. But even if the second destination is different from starting point <NUM>, the mobile device <NUM> can at least provide navigation away from starting point <NUM> until the mobile device reaches a wireless network coverage area. Once in the wireless network coverage area, the mobile device <NUM> may then download any map and/or route data for navigating to the second destination.

<FIG> illustrates an example image of a screen of a mobile device providing navigation to a user, where the mobile device is located in a wireless network coverage area. Relative to FIG. 's 2A and 2B, <FIG> illustrates the mobile device <NUM> providing navigation, for example by displaying map <NUM> and/or providing navigation instructions <NUM>, <NUM>, <NUM>, along route <NUM>' at a location that is further away from starting point <NUM>. The present location of the mobile device <NUM> in <FIG>, as shown by indication <NUM>", is within a wireless network coverage area <NUM>, as indicated by wireless signal indication <NUM>. Hence, at this point along the route <NUM>', the mobile device <NUM> is capable of downloading new map and/or route data, in a scenario where a second destination is different from starting point <NUM>. As illustrated in <FIG>, the destination <NUM> can correspond to starting point <NUM>, and as such the route <NUM>' will remain the same before or after reaching wireless network coverage area <NUM>. However, in alternative implementations, as illustrated by alternative route <NUM>, once the mobile device <NUM> has reached wireless network coverage area <NUM>, the mobile device can download a new route, illustrated as alternative route <NUM>, for navigation to a second destination (not illustrated) that is different from destination <NUM>. It is understood that while route <NUM> of FIG. 's 1A, 1B, and 1C is illustrated as the same as route <NUM>' of FIG. 's 2A, 2B, and 2C, it is understood that the navigation instructions provided for navigation to destination <NUM> in FIG. 's 1A, 1B, and 1C will differ from the navigation instructions provided for navigation away from <NUM> in FIG. 's 2A, 2B, and 2C even if the routes are similar. In some examples, route <NUM>' is a reverse route relative to route <NUM>.

<FIG> illustrates an example of a map showing a first starting point in a wireless network coverage area and a first destination and the second destination both within a no wireless network coverage area. Map <NUM> illustrates a boundary <NUM> between a wireless network coverage area <NUM> and a no wireless network coverage area <NUM>. In this example, a first starting point <NUM> is within the wireless network coverage area <NUM>, while a first destination <NUM> and a second destination <NUM> are within the no wireless network coverage area <NUM>. As described in greater detail below with reference to FIG. 's <NUM>, <NUM>, and <NUM>, a user at first starting point <NUM> may enter the first destination <NUM> using a user interface on a mobile device, for example a graphical user interface displayed on a touchscreen of the mobile device and/or through an input device such as the touchscreen or a microphone on the mobile device. The mobile device may then receive the first destination <NUM> from the user interface. As described in detail elsewhere herein, the mobile device can receive first route data for providing navigation instructions from first starting point <NUM> to first destination <NUM> along a first route <NUM> associated with the first route data.

Subsequent to reaching the first destination <NUM>, a user may wish to navigate to the second destination <NUM>. In the illustrated example, like the first destination <NUM>, the second destination <NUM> is also in a no wireless network coverage area <NUM>. When navigating to second destination <NUM> from first destination <NUM> (which can also be considered a second starting point), the mobile device may base the reverse first route <NUM> on the first route data received for the first route <NUM> that was retained in memory responsive to a determination that the first destination <NUM> is within a no wireless network coverage area <NUM>. As illustrated, the second destination <NUM> is not along the first route <NUM> or the reverse first route <NUM> (both of which are based on the first route data), and as such, as the mobile device provides navigation instructions along reverse first route <NUM>, such navigation instructions do not represent a direct navigation to the second destination <NUM>. Rather, such navigation is intended to bring the mobile device to a wireless network coverage area where the mobile device, for example via a transceiver in communication with the wireless network, can request and receive second route data for navigation to the second destination. Hence, the mobile device may provide, through a user interface, navigation instructions along reverse first route <NUM> based on the first route data until the mobile device reaches a location along reverse first route <NUM> where wireless network coverage is available, in this illustration, some location near boundary <NUM> between wireless network coverage area <NUM> and no wireless network coverage area <NUM>. Determining such a location within the wireless network coverage area could be made along the first route <NUM> to first destination <NUM>, for example, by the mobile device annotating the first route <NUM> when it notices that wireless coverage is about to be lost. In the illustrated example, the mobile device could have annotated first route <NUM> at a location within the wireless network coverage area <NUM> near boundary <NUM> to indicate that such a location is within the wireless network coverage area. Subsequently, when navigating away from the first destination <NUM>, the mobile device may provide navigation instructions along reverse first route <NUM> to the determined location within the wireless network coverage area based on the annotation in first route <NUM>. Additionally or alternatively, while navigating along reverse first route <NUM>, the mobile device may periodically scan for wireless signals and the location within the wireless network coverage area <NUM> can be determined based on such period scanning. Hence, in such an implementation, the mobile device could indicate, via a user interface and/or an output device of the mobile device, that the navigation instructions to the second destination <NUM> based on the first route data comprise navigation instructions intended for reaching a wireless network coverage area <NUM>.

As illustrated, once the second route data is received by the mobile device to provide navigation to the second destination <NUM>, navigation instructions may include "backtracking" back along the reverse first route <NUM> as illustrated by section <NUM> along second route <NUM> and reverse first route <NUM>. Although the navigation instructions from first destination <NUM> to second destination <NUM>, represented in the combination of reverse first route <NUM> and the second route <NUM>, was not a direct route and included a section <NUM> where the second route <NUM> traverses a portion of the reverse first route <NUM> in reverse, this can be superior to having no navigation capability at all between first destination <NUM> and second destination <NUM>. Although illustrated in <FIG> as an example where first destination <NUM> and second destination <NUM> are both within a no wireless network coverage area <NUM>, it is understood that in some other instances, even if the second destination <NUM> is within a wireless network coverage area <NUM>, the second route <NUM> may include a section <NUM> common to both the reverse first route <NUM> and the second route <NUM>. Additionally or alternatively, once the mobile device reaches the wireless network coverage area, it may take several minutes before the mobile device requests and receives the second route data for providing navigation instructions along second route <NUM> based on second route data. As such, section <NUM> may also include a portion where the overlap between reverse first route <NUM> and second route <NUM> is based on such time delay where mobile continues to provide navigation instructions based on the first route data while it transmits a request for, and receives, the second route data. It is understood that routes <NUM>, <NUM>, and <NUM> are shown next to roads, not superimposed over the roads, in order not to obscure the roads on which the routes traverse.

In one implementation, when the mobile device receives the second destination <NUM> from a user interface while at or near the first destination <NUM>, the mobile device could perform a check to determine whether the second destination <NUM> is along the first route <NUM>, or can otherwise be navigated to, based on the first route data. Responsive to a determination that the second destination <NUM> is not along the first route <NUM>, the mobile device may, before providing the navigation instructions to the second destination based on the first route data retained in the memory of the mobile device, request feedback via an output device and/or a user interface regarding whether navigation instructions to a wireless network coverage area <NUM> is desired, and if a response is received via the user interface that such navigation is desired, the mobile device can provide navigation instructions to the second destination based upon the first route data, for example, along reverse first route <NUM>. It is understood that, in cases where the second destination is not on the first route <NUM> or the reverse first route <NUM>, navigation instructions to the second destination cannot be based on first route data alone, but will also include second route data that can be downloaded once a location along reverse first route <NUM> that is within the wireless network coverage area is reached.

With reference to previous figures, the discussion was based on the assumption that, whether the mobile device is within a wireless network coverage area or a no wireless network coverage area, the mobile device was able to determine its location. This can be accomplished, for example, using global navigation satellite system (GNSS) signals even when no wireless network coverage is available. Although GNSS signals are wireless signals, they provide limited data transfer and are generally not appropriate for transmitting map and/or route data, even if they may transfer some satellite-related data to allow a mobile device to determine its location. Furthermore, GNSS signals are generally signals that are received by the mobile device, and mobile device generally does not send signals to GNSS satellites to request data, for example, map and/or route data. Hence, as used herein, a wireless network coverage area is intended to refer to an area within which the mobile device may transmit and receive data, such as map and route data, to and from a wireless network.

<FIG> illustrates an example method for providing navigation to a user. The method <NUM> begins at block <NUM> where a mobile device can receive user input for navigation. The user input can include, for example, a first destination for a first navigation session. At block <NUM>, the mobile device can obtain a first starting point. For example, the mobile device can determine its own location to obtain the first starting point. Alternatively, the first starting point can be input by the user. Based on the starting point and on the first destination, the mobile device can request map and/or route data from one or more servers, for example a map server and/or a route server. Upon receiving the starting point and the first destination, the map server and/or the route server can obtain map data and compute a route from the starting point to the first destination. In some implementations, the map server and the route server can be the same server. At block <NUM>, the mobile device can receive first route data for a first route from the first starting point to the first destination. Based upon the received first route data, at block <NUM>, the mobile device can provide navigation to a user for the first destination. The navigation provided to the user may also be additionally based upon map data as well as a periodically updated current location of the mobile device. As illustrated with decision block <NUM>, as long as the first destination has not been reached, the method <NUM> continues to provide navigation at block <NUM>. However, once the first destination has been reached, method <NUM> proceeds to block <NUM> with a determination as to whether the first destination is within a wireless network coverage area. The mobile device can scan to determine whether any WLAN signals, WWAN signals, personal area network (PAN) signals, such as Bluetooth or Zigbee signals, or other wireless signals capable of being used by the mobile device to request and/or receive map and/or route data are receivable at the first destination. If the first destination is within a wireless network coverage area, then the method <NUM> proceeds to block <NUM> where the mobile device can delete first route data from memory. This is often done to preserve free memory on the mobile device and not to have data unnecessarily filling memory resources of the mobile device. However, if the first destination is not within a wireless network coverage area, the method <NUM> proceeds to block <NUM> where the mobile device can receive user input for navigation including a second destination. In some implementations, the second destination may be the same as the first destination. In such an example, since the route information was not deleted and remains within the memory of the mobile device, the mobile device can provide navigation to the user as shown in blocks <NUM> and <NUM>. Optionally, the method <NUM> may proceed from block <NUM> to block <NUM> where the mobile device can obtain a second starting point. This can be accomplished as described above with respect to block <NUM>. In a case where the second starting point is too different from the first destination, or is not along the route taken to the first destination, the first route data may no longer be usable. As such, optionally, a comparison may be made between the second starting point and the route used to reach the first destination. If navigation using the first route data is not possible because the second starting point does not lie on or near the route corresponding to the first route data, then a message can be provided on a user interface indicating that navigation is not possible. At block <NUM>, the mobile device can determine whether the second destination received from the user at block <NUM> is the same as the first starting point obtained at block <NUM>. If it is, then the user is simply returning to the same place that the user came from. Alternatively, the mobile device can determine whether the second destination is along a route associated with the first route data such that the first route data retained in memory is sufficient to navigate the second destination. In either case, the first route data is sufficient to navigate the user back to the second destination. However, it is understood in such a case that navigation instructions for navigation from the first starting point to the first destination will differ from navigation instructions for navigation from the first destination back to the second destination, although such navigation instructions should be derivable from the first route data and hence are based on the first route data. Generally, the roads travelled will be the same, but turn-by-turn instructions at each intersection may change. However, in some situations, especially where there are one-way streets along the route, the streets involved in the route may be modified when navigation back to the first starting point from the first destination. As such, if it is determined at block <NUM> that the second destination is the same as the first starting point, or is otherwise along the route associated with the first route data and hence navigable based on the first route data, the method <NUM> proceeds to block <NUM> where the mobile device can provide navigation to the user for second destination based on the first route data received at block <NUM> and that was retained in memory after the first destination was reached in block <NUM> and it was determined that the first destination is not within a wireless network coverage area in block <NUM>. At block <NUM>, the mobile device provides navigation to the second destination based on the first route data until the second destination is reached. However, if the second destination is not the same as the first starting point, then the method <NUM> proceeds to block <NUM> where the mobile device provides navigation to the user based on the first route data. However, unlike block <NUM>, in block <NUM> the mobile device will not provide the navigation to the user based on the first route data until the second destination is reached. Rather, the mobile device will provide navigation until a wireless network coverage area is reached. Then, the mobile device can request and receive second route data for navigation to the second destination and subsequently provide navigation to the second destination based on the second route data. Therefore, as shown in block <NUM>, if a wireless network coverage area has not yet been reached, the mobile device will continue to provide navigation to the user based on the first route data at block <NUM>. In some implementations, instead of soliciting and/or receiving input for the second destination at block <NUM>, the second destination may be received only after the wireless network coverage area is reached. However, once a wireless network coverage area is reached, the method <NUM> proceeds to block <NUM> where the mobile device receives second route from the current location (the current location being the current location at the time of block <NUM>) to the second destination. Prior to receiving the second route data, it is understood that the mobile device may have requested the second route data and may have provided one or more servers with the data to be used for the one or more servers to calculate and provide the route. At block <NUM>, the mobile device provides navigation to the user for the second destination. As the second destination is not the same as the first starting point, based on the branching of the method <NUM> at block <NUM>, the mobile device at block <NUM> can provide the navigation for the second destination based on the second route data received at block <NUM>.

<FIG> illustrates an example method for providing navigation to a user where, responsive to a determination that a destination is in a no wireless network coverage area, the mobile device retains data for subsequent navigation away from the destination. The method <NUM> for providing navigation on the mobile device from a first destination with limited wireless data access begins at block <NUM> with receiving, at a mobile device, the first destination. The first destination can, for example, be received from a user interface on the mobile device. A user can input, for example, the first destination using the user interface, for example, by typing a name of a location into an input field on a touchscreen display of the mobile device or by tapping a location on an image of a map displayed on the mobile device to identify the location as the first destination. An input device and/or user interface of the mobile device, such as a touchscreen display, can display a graphical user interface and receive input from the user. The, for example, touchscreen display can generate signals based on the user input and transmit the signals to one or more processors of the mobile device and the one or more processors can receive the input from the, for example, touchscreen display. Aspects of block <NUM> can correspond to aspects of block <NUM> of <FIG>, and as such, the teachings with reference to block <NUM> can also be applicable to block <NUM>, and vice versa. Means for performing the functionality of block <NUM> can, but not necessarily, include, for example, any combination of user interface <NUM>, microphone/speaker <NUM>, keypad <NUM>, display <NUM>, memory <NUM>, and processor <NUM> with reference to <FIG>.

The method <NUM> continues at block <NUM> with providing navigation instructions, via a user interface of the mobile device, to the first destination based on first route data. With reference to FIG. 's 1A, 1B, 1C, 2B and 2C, navigation instructions to the first destination (as well as navigation instructions to a second destination, to be discussed further below) can include text-based navigation instructions <NUM>, <NUM>; image-based navigation instructions <NUM>, <NUM> (for example, non-textual visual navigation instructions); as well as audio-based navigation instructions <NUM>, <NUM>; or any combination thereof. Hence, one or more processors within the mobile device can provide commands to a user interface to provide navigation instructions <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> to the user. The user interface can include, for example a speaker, a display (such as a touchscreen display), or both. Aspects of block <NUM> can correspond to aspects of blocks <NUM> and <NUM> of <FIG>, and as such, the teachings with reference to blocks <NUM> and <NUM> can also be applicable to block <NUM>, and vice versa. Means for performing the functionality of block <NUM> can, but not necessarily, include, for example, any combination of user interface <NUM>, microphone/speaker <NUM>, display <NUM>, memory <NUM>, and processor <NUM> with reference to <FIG>.

In one embodiment, the first route data on which the navigation instructions to the first destination are based can be received from a route server. The route data can include map data, and hence the route data may alternatively or additionally be received from a map server. In some embodiments, the route server and the map server can be the same server. Hence, in some embodiments, the method <NUM> includes transmitting, to a server, a request for the first route data to the first destination, and receiving the first route data from the server. Hence, one or more processors within the mobile device can provide a command to a wireless transceiver to transmit the request to the server through a wireless network. The processor may also process the route data that is then received by the wireless transceiver in response to the request which the transceiver subsequently provides to the processor for processing. In some implementations, the first route data may be received in batches as the mobile device traverses the route on its way to the first destination. However, additionally or alternatively, the first route data for the entire route may be downloaded at a single time or in several batches while the mobile device remains in a wireless network coverage area or to otherwise optimize data traffic. Hence, in some implementations, the mobile device, for example one or more processors within the mobile device in communication with a transceiver, can be configured to request any remaining route data for navigation to the first destination responsive to a determination that wireless coverage may be lost soon, for example, if a wireless signal falls below a threshold. Such a request may optionally include a current location of the mobile device to enable the route server to compute a route from the current location of the mobile device to the first destination. As such, the method <NUM> could optionally include determining a location of the mobile device before transmitting the request for the first route data, wherein the request transmitted to the server includes the determined location of the mobile device. Such a location can be determined by, for example, a positioning engine or module which can receive inputs from an satellite positioning system (SPS) receiver, WWAN transceiver, WLAN transceiver, and/or motion sensors and compute an estimated position for the mobile device. The first route data can include one or more of a map, turn by turn instructions, traffic data, distance data, time to destination data, or any combination thereof.

The method <NUM> continues at block <NUM> with determining whether the first destination is within a no wireless network coverage area. In various implementations, determining whether the first destination is within a no wireless network coverage area can be performed before reaching the first destination and optionally confirmed upon reaching the first destination or can be performed after reaching the first destination. For example, the mobile device, for example one or more processors within the mobile device, can determine that the first destination is within a no wireless network coverage area based on data before the mobile device reaches the first destination, by receiving, for example, an indication that the first destination is within a no wireless network coverage area from a server, for example, a routing server or another server. Such data can be crowdsourced based on reports by a plurality of mobile devices observing no wireless coverage in an area, and reporting such data to a server. Additionally or alternatively, a coverage map may be stored in the mobile device or received from a server such that the mobile device is capable of determining, before reaching the destination, that the destination is in a no wireless network coverage area. If it is known ahead of time that the first destination is within a no wireless network coverage area, then, optionally, the mobile device may request feedback using a user interface of the mobile device regarding whether route data, for example second route data, for a second destination from the first destination should be downloaded while the mobile device remains within the wireless network coverage area and before entering the no wireless network coverage area. Additionally or alternatively, the mobile device, for example one or more processors within the mobile device, can determine or confirm that the first destination is within the no wireless network coverage area after reaching the first destination based on a scan for wireless signals performed by the mobile device. For example, one or more processors within the mobile device can provide a command to a wireless transceiver, or a plurality of wireless transceivers within the mobile device where the plurality of wireless transceivers may relate to different radio access technologies, to perform a scan for wireless signals. The plurality of wireless transceivers can include WLAN transceivers or WWAN transceivers or any combination thereof. The WWAN transceivers can include Groupe Spécial Mobile (GSM), Universal Mobile Telecommunications System (UMTS), Long-Term Evolution (LTE), Code-Division Multiple Access (CDMA) or other wireless technologies that allow a mobile device to receive data, such as map and/or route data from a remote map and/or route server. The WLAN transceiver can include a transmitter conforming to the Institute for Electrical and Electronics Engineers (IEEE) <NUM> standard. Means for performing the functionality of block <NUM> can, but not necessarily, include, for example, any combination of a server (not illustrated), antenna(s) <NUM>, WWAN transceiver <NUM>, WLAN transceiver <NUM>, memory <NUM>, and processor <NUM> with reference to <FIG>.

The method <NUM> continues at block <NUM> with retaining the first route data in a memory of the mobile device, responsive to a determination that the first destination is within the no wireless network coverage area. Hence, if it is determined in block <NUM> that the first destination is within a no wireless network coverage area, such as no wireless network coverage area <NUM> with reference to <FIG>, then the first route data is retained in a memory of the mobile device. In one example, the memory can be a non-volatile memory. In such a case, were the first route data to initially have been stored in a volatile memory, one or more processors within the mobile device can provide a command to copy the data from the volatile memory to a non-volatile memory. In one example, retaining the first route data in a memory of the mobile device can simply mean that one or more processors within the mobile device do not issue a command to erase the first route data from memory, thereby retaining the first route data in memory. If it is determined at block <NUM> that the first destination is in fact within a wireless network coverage area, then, in some implementations, the first route data can be erased from memory. Since the mobile device can be expected to be within a wireless network coverage area next time a navigation application is begun, route data for navigation to a second destination, for example a second destination input by a user, can be easily downloaded using the wireless network covering the wireless network coverage area. As such, the first route can be erased from memory in some implementations. Aspects of blocks <NUM> and <NUM> can correspond to aspects of blocks <NUM> (including yes branch from block <NUM> to block <NUM>) and <NUM> of <FIG>, and as such, the teachings with reference to blocks <NUM> and <NUM> can also be applicable to blocks <NUM> and <NUM>, and vice versa. Means for performing the functionality of block <NUM> can, but not necessarily, include, for example, any combination of processor <NUM> and memory <NUM> with reference to <FIG>.

The method <NUM> continues at block <NUM> with providing navigation instructions, via the user interface of the mobile device, to a second destination based on the first route data retained in the memory of the mobile device. Aspects of block <NUM> can correspond to aspects of blocks <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> of <FIG>, and as such, the teachings with reference to these blocks can also be applicable to block <NUM>, and vice versa. The second destination may be received, as described below with reference to block <NUM> of <FIG>, before providing the navigation instructions of block <NUM>. Alternatively, the second destination may be received, for example by being entered by a user via a user interface, after a wireless network coverage area is reached. Hence, as described above with reference to <FIG>, providing navigation instructions to the second destination based on the first route data retained in memory can optionally include providing navigation instructions simply to reach a wireless network coverage area in order to then prompt, via the user interface, a user to then enter the second destination. As such, in some scenarios, providing navigation instructions to the second destination based on the first route data can include providing navigation instructions to return to the wireless network coverage area before the user has provided the second destination via the user interface. Means for performing the functionality of block <NUM> can, but not necessarily, be similar to those described above with reference to block <NUM>.

In one embodiment, the method <NUM> can optionally include after receiving a second input for navigation and before providing the navigation instructions to a second destination based on the first route data (block <NUM>), attempting to transmit, to the routing server, a request for second route data to the second destination. In an implementation where the second destination is not along the first route associated with the first route data and a second, different route should be computed, the mobile device may attempt to transmit a request for second route data for the second destination. Even if the mobile device had previously determined that the first destination, for example, is in a no wireless network coverage area, the mobile device may still attempt to transmit a request as wireless network coverage may have only been previously unavailable on a temporary basis, and a subsequent request for the second route data may be successful. Hence, the mobile device can confirm that the mobile device is in the no wireless network coverage area before providing the navigation instructions to the second destination based on the first route data. Responsive to a confirmation that the mobile device is within the no wireless network coverage area, the method <NUM> includes providing the navigation instructions to the second destination based on the first route data retained in the memory of the mobile device. Even if the second destination is not along a route associated with the first route data, the navigation instructions based on the first route data should eventually lead the user navigating according to the navigation instructions back to a wireless network coverage area. Therefore method <NUM> also includes determining that the second destination is not along a route associated with the first route data. Then, responsive to the determination that the second destination is not along the route associated with the first route data, providing the navigation instructions to the second destination based on the first route data retained in the memory of the mobile device until a wireless network coverage area is reached. The method <NUM> then further includes determining that the wireless network coverage area is reached and, responsive to the determination that the wireless network coverage area is reached, transmitting, to the routing server, a request for second route data to the second destination. The request for second route data to the second destination can then include the updated location of the mobile device at or near the point at which the wireless network coverage is reached by the mobile device, to enable the route server to respond by sending the second route data from the updated location of the mobile device to the second destination.

<FIG> illustrates another example method for providing navigation to a user where, responsive to a determination that a destination is in a no wireless network coverage area, the mobile device retains data for subsequent navigation away from the destination. Comparing <FIG> to previously described <FIG>, method <NUM> according to the invention includes the same blocks as method <NUM>, but further adds blocks <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>. Otherwise, block <NUM> corresponds to block <NUM>, block <NUM> corresponds to block <NUM>, and so on. Method <NUM> proceeds from block <NUM>, which corresponds to block <NUM> described above, to block <NUM> with receiving, by the mobile device, the first route data. As described above, the mobile device, for example one or more processors in communication with and receiving data from a transceiver, receives the first route data from a server via a wireless network. Prior to block <NUM>, the mobile device, for example one or more processors in communication with and controlling the transceiver, transmits a request for the first route data to the server via the wireless network. Means for performing the functionality of block <NUM> can, but not necessarily, include, for example, any combination of a server (not illustrated), antenna(s) <NUM>, WWAN transceiver <NUM>, WLAN transceiver <NUM>, processor <NUM>, and memory <NUM> with reference to <FIG>.

Method <NUM> continues from block <NUM> to blocks <NUM>, <NUM>, and <NUM> which correspond to blocks <NUM>, <NUM>, and <NUM> with reference to <FIG>. From block <NUM> method <NUM> continues at block <NUM> with receiving, at the mobile device, a second destination. The second input for navigation can be received in a manner similar to receiving the first input at block <NUM>. Aspects of block <NUM> can correspond to aspects of block <NUM> of <FIG>, and as such, the teachings with reference to block <NUM> can also be applicable to block <NUM>, and vice versa. Means for performing the functionality of block <NUM> can, but not necessarily, be similar to those described above with reference to block <NUM>.

Method <NUM> continues at block <NUM>, which corresponds to block <NUM> with reference to <FIG>. From block <NUM>, method <NUM> proceeds to block <NUM> with sending, by the mobile device, a request for second route data from a location on the first route to the second destination. As noted above in the discussions with reference to FIG. 's <NUM>, <NUM>, and <NUM>, providing navigation instructions to the second destination based on the first route data as in block <NUM> and <NUM>, particularly in situations where the second destination is not on the first route or reverse first route, will at some point bring the mobile device back to an area with wireless network coverage to allow the mobile device to request second route data from the location at or near which the connection to the network is established to the second destination. Responsive to a determination that the mobile is now in a wireless network coverage area <NUM> (with reference to <FIG>), the mobile device can request second route data from the location at or near which such determination is made to the second destination. The sending of the request can entail, for example, one or more processors in the mobile device in communication with and controlling a transceiver of the mobile device, transmitting via the transceiver a request to a server for second route data by means of the wireless network. Means for performing the functionality of block <NUM> can, but not necessarily, include, for example, any combination of antenna(s) <NUM>, WWAN transceiver <NUM>, WLAN transceiver <NUM>, processor <NUM>, and memory <NUM> with reference to <FIG>.

Method <NUM> continues at block <NUM> with receiving, at the mobile device, the second route data. This can be performed as described elsewhere herein, for example, as described with reference to block <NUM>.

Method <NUM> continues at block <NUM> with providing navigation instructions, via the user interface of the mobile device, to the second destination based on the second route data. While block <NUM> and <NUM> have some similarities, it is noted that providing the navigation instructions to the second destination based on the first route data will more generally be intended simply to reach a wireless network coverage area so that the second route data to the second destination can be requested and received, although there may be cases where the second destination falls along the first route or the reverse first route. On the other hand, block <NUM> indicates that, once the wireless network coverage area has been reached, and the second route data is now available within the mobile device, navigation instructions proceed based on the second, not first, route data. Means for performing the functionality of block <NUM> can, but not necessarily, include, those described above with reference to blocks <NUM> and/or <NUM>.

<FIG> illustrates an exemplary mobile device that may be used to determine position and to provide navigation to a user as described above with reference to the methods of FIG. 's <NUM>, <NUM>, and <NUM>. <FIG> is a block diagram illustrating various components of an exemplary mobile device <NUM>. For the sake of simplicity, the various features and functions illustrated in the box diagram of <FIG> are connected together using a common bus, which is meant to represent that these various features and functions are operatively coupled together. Those skilled in the art will recognize that other connections, mechanisms, features, functions, or the like, may be provided and adapted as necessary to operatively couple and configure an actual portable wireless device. Further, it is also recognized that one or more of the features or functions illustrated in the example of <FIG> may be further subdivided or two or more of the features or functions illustrated in <FIG> may be combined.

The mobile device <NUM> may include one or more WWAN transceiver(s) <NUM> that may be connected to one or more antennas <NUM>. The WWAN transceiver <NUM> comprises suitable devices, hardware, and/or software for communicating with and/or detecting signals to/from WWAN access points and/or directly with other wireless devices within a network. In one aspect, the WWAN transceiver <NUM> may comprise a CDMA communication system suitable for communicating with a CDMA network of wireless base stations; however in other aspects, the wireless communication system may comprise another type of cellular telephony network, such as, for example, TDMA, LTE, or GSM. Additionally, any other type of wide area wireless networking technologies may be used, for example, WiMAX (IEEE <NUM>), etc. The mobile device <NUM> may also include one or more WLAN transceivers (such as illustrated WLAN transceiver <NUM>) that may be connected to one or more antennas <NUM>. The WLAN transceiver <NUM> comprises suitable devices, hardware, and/or software for communicating with and/or detecting signals to/from WLAN access points and/or directly with other wireless devices within a network. In one aspect, the WLAN transceiver <NUM> may comprise a Wi-Fi (IEEE <NUM>. 11x) communication system suitable for communicating with one or more wireless access points; however in other aspects, the WLAN transceiver <NUM> comprise another type of local area network or PAN. Additionally, any other type of wireless networking technologies may be used, for example, Ultra Wide Band, Bluetooth, ZigBee, wireless USB, etc..

As used herein, the abbreviated term wireless access point (WAP) may be used to refer to WLAN WAP and/or WWAN-WAPs. Specifically, in the description presented below, when the term "WAP" is used, it should be understood that embodiments may include a mobile device <NUM> that can exploit signals from a plurality of WLAN-WAPs, a plurality of WWAN-WAPs, or any combination of the two. The specific type of WAP being utilized by the mobile device <NUM> may depend upon the environment of operation. Moreover, the mobile device <NUM> may dynamically select between the various types of WAPs in order to transmit and/or receive data useful for navigation, including, for example, map data or route data (which could include map data). Alternatively, as may be described further below, the various WAPs may be used to arrive at an accurate position solution for a current location of the mobile device.

An SPS receiver <NUM> may also be included in the mobile device <NUM>. The SPS receiver <NUM> may be connected to the one or more antennas <NUM> for receiving satellite signals. The SPS receiver <NUM> may comprise any suitable hardware and/or software for receiving and processing SPS signals. The SPS receiver <NUM> requests information and operations as appropriate from the other systems, and performs the calculations necessary to determine the mobile device's <NUM> position using measurements obtained by any suitable SPS algorithm. For example, the SPS receiver <NUM> can determine a position of the mobile device as discussed above with reference to FIG. 's <NUM>, <NUM> and <NUM>.

A motion sensor <NUM> may be coupled to a processor <NUM> to provide movement and/or orientation information, which is independent of motion data derived from signals, received by the WWAN transceiver <NUM>, the WLAN transceiver <NUM> and the SPS receiver <NUM>.

By way of example, the motion sensor <NUM> may utilize an accelerometer (e.g., a microelectromechanical systems device), a gyroscope, a geomagnetic sensor (e.g., a compass), an altimeter (e.g., a barometric pressure altimeter), and/or any other type of movement detection sensor. Moreover, the motion sensor <NUM> may include a plurality of different types of devices and combine their outputs in order to provide motion information. For example, the motion sensor <NUM> may use a combination of a multi-axis accelerometer and orientation sensors to provide the ability to compute positions in <NUM>-D and/or <NUM>-D coordinate systems.

The processor <NUM> may be connected to the WWAN transceiver <NUM>, WLAN transceiver <NUM>, the SPS receiver <NUM> and the motion sensor <NUM>. The processor <NUM> may include one or more microprocessors, microcontrollers, and/or digital signal processors that provide processing functions, as well as other calculation and control functionality. The processor <NUM> may also include memory <NUM> for storing data and software instructions for executing programmed functionality within the mobile device <NUM>. The memory <NUM> may be on-board the processor <NUM> (e.g., within the same integrated circuit package), and/or the memory may be external memory to the processor and functionally coupled over a data bus. The functional details associated with aspects of the disclosure will be discussed in more detail below.

A number of software modules and data tables may reside in memory <NUM> and be utilized by the processor <NUM> in order to manage both communications and positioning determination functionality. As illustrated in <FIG>, memory <NUM> may include and/or otherwise receive a navigation application <NUM> for providing navigation instructions to a user, and a positioning module <NUM>. One should appreciate that the organization of the memory contents as shown in <FIG> is merely exemplary, and as such the functionality of the modules and/or data structures may be combined, separated, and/or be structured in different ways depending upon the implementation of the mobile device <NUM>. Furthermore, in one embodiment, a battery <NUM> may be coupled to the processor <NUM>, wherein the battery <NUM> may supply power to the processor <NUM> and various other modules and components located on the mobile device <NUM> through appropriate circuitry and/or under control of the processor <NUM>.

The navigation application <NUM> may be a process running on the processor <NUM> of the mobile device <NUM>, which requests position information from the positioning module <NUM>. Based upon the position information received from the positioning module <NUM>, the navigation application <NUM> can provide navigation instructions in accordance with route data for a given route to a given destination. The navigation database <NUM> may include data for one or more routes or one or more maps that include various road segments, wherein the navigation database <NUM> may associate each road segment with an index or other information to identify the particular road segment, a start position and an end position (e.g., expressed using coordinates related to a given positioning system or other suitable data), and/or additional information that may be relevant to a navigation context (e.g., a speed limit). In one example, the navigation database <NUM> can include first route data to a first destination and second route data to a second destination as described elsewhere herein.

The positioning module <NUM> can be capable of determining a position based on inputs from wireless signal measurements from WWAN transceiver <NUM>, signal measurements WLAN transceiver <NUM>, data received from SPS receiver <NUM>, and/or data from motion sensor <NUM>.

While the modules shown in <FIG> are illustrated in the example as being contained in the memory <NUM>, it is recognized that in certain implementations such procedures may be provided for or otherwise operatively arranged using other or additional mechanisms. For example, all or part of the positioning module <NUM> and/or the navigation application <NUM> may be provided in firmware. Additionally, while in this example the positioning module <NUM> and the navigation application <NUM> are illustrated as being separate features, it is recognized, for example, that such procedures may be combined together as one procedure or perhaps with other procedures, or otherwise further divided into a plurality of sub-procedures.

In many embodiments, the memory <NUM> can include many different kinds of memory and is only illustrated schematically. Memory <NUM> can include a non-transitory computer readable medium, which may include a read-only memory (ROM) device. The memory <NUM> may comprise software elements, including an operating system, device drivers, executable libraries, and/or other code, such as the illustrated navigation application <NUM>. The navigation application can comprise one or more computer programs provided by various embodiments, and/or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein, for example, with reference to FIG. 's <NUM>, <NUM>, and <NUM>. Merely by way of example, one or more procedures described with respect to the method(s) discussed above might be implemented as code and/or instructions executable by a computer (and/or a processor within a computer), in an aspect, then, such code and/or instructions may be used to configure and/or adapt a general purpose computer (or other device) to perform one or more operations in accordance with the described methods.

As described elsewhere in greater detail, such instructions stored on a non-transitory computer readable medium for execution by one or more processors of a mobile device may, in various implementations, include instructions to perform operations corresponding to any of the functions disclosed herein, for example those illustrated in FIG. 's <NUM>, <NUM>, and <NUM>, the operations comprising, for example, receiving, using a user interface of the mobile device, the first destination; providing navigation instructions, using the user interface, to the first destination based on first route data; determining whether the first destination is within a no wireless network coverage area; responsive to a determination that the first destination is within the no wireless network coverage area, retaining the first route data in a memory of the mobile device; and providing navigation instructions, using the user interface, to a second destination based on the first route data retained in the memory of the mobile device. The operations to be performed in accordance with the instructions can further include determining that a wireless coverage area has been reached, and, receiving second route data for the second destination after the wireless coverage area has been reached.

The mobile device <NUM> may include a user interface <NUM>, which provides any suitable interface systems, such as a microphone/speaker <NUM>, keypad <NUM>, and display <NUM> that allows user interaction with the mobile device <NUM>. The microphone/speaker <NUM> provides for voice communication services using the WWAN transceiver <NUM> and/or the WLAN transceiver <NUM>. Additionally, the microphone/speaker <NUM> can provide audio-based navigation instructions as described above. Although illustrated as a single device, it is understood that microphone/speaker <NUM> may comprise a separate microphone device and a separate speaker device. The keypad <NUM> comprises any suitable buttons for user input. The display <NUM> comprises any suitable display, such as, for example, an liquid crystal display, and may further include a touchscreen display for additional user input modes. The user interface <NUM> is illustrated as a hardware user interface <NUM>, however, can also be understood to include a graphical user interface displayed on a touchscreen allowing output to a user and receipt of input from the user. Input from, and output to, user can be mediated through the user interface <NUM> such that the mobile device, for example the processor <NUM> or other components, can receive user input from the user interface <NUM> and provide output to the user to the user interface <NUM>.

The processor <NUM> may include any form of logic suitable for performing at least the techniques provided herein, for example any of the methods described with reference to FIG. 's <NUM>-<NUM>. For example, the processor <NUM> (which may include one or more processors within the mobile device <NUM>) can be coupled to the memory <NUM>, user interface (including, for example, keypad <NUM>, display <NUM>, microphone/speaker <NUM>, or a combination thereof), positioning module <NUM>, and the wireless transceiver (such as WWAN transceiver <NUM> and/or WLAN transceiver <NUM>). The one or more processors and the memory can together be configured to, for example, based on instructions in the memory <NUM> perform any of the aspects of method <NUM>, <NUM>, or <NUM> described above with reference to FIG. 's <NUM>, <NUM>, and <NUM>. More particularly, one or more processors such as processor <NUM> coupled to the memory <NUM> can together configured to receive, via the user interface <NUM> (for example, keypad <NUM> and/or display <NUM>), a first input for navigation, the first input including a first destination; provide, via the user interface <NUM> (for example, microphone/speaker <NUM> and/or display <NUM>), navigation instructions to the first destination based on first route data; determine whether the first destination is within a no wireless network coverage area, for example, by receiving an indication based on crowdsourced data, by historical data stored by the mobile device <NUM> itself, or by a scan using WWAN transceiver <NUM> and/or WLAN transceiver <NUM>; responsive to a determination that the first destination is within the no wireless network coverage area, retain the first route data in the memory <NUM> of the mobile device <NUM>; receive, via the user interface <NUM> (such as keypad <NUM> and/or display <NUM>), a second input for navigation, the second input including a second destination; and provide, via microphone/speaker <NUM> and/or display <NUM>, navigation instructions to the second destination based on the first route data retained in the memory of the mobile device. Memory <NUM> can, in some embodiments, include both volatile and non-volatile memory. In one embodiment, retaining the first route data in the memory <NUM> includes retaining the first route data in a non-volatile memory.

Processor <NUM> and the memory <NUM> together can further be configured to transmit, via the wireless transceiver, such as WWAN transceiver <NUM> and/or WLAN transceiver <NUM>, to a server, a request for the first route data to the first destination and to receive, via the wireless transceiver, the first route data from the server. Where useful, the request for the first route data can include a location of the mobile device <NUM> to enable the server to compute a route from the location of the mobile device to the first destination. As such, processor <NUM> and the memory <NUM> can together further be configured to determine, via the positioning module <NUM>, a location of the mobile device <NUM> before transmitting the request for the first route data, wherein the request includes the determined location of the mobile device <NUM>. As described above with reference to FIG. 's <NUM>-<NUM>, in some implementations, navigation instructions are provided for a second destination based on the first route data until the mobile device enters or is within a wireless network coverage area so that a second route can be computed to the second destination. As such, the processor <NUM> can, by sending commands to, and receiving data from, WWAN transceiver <NUM> and/or WLAN transceiver <NUM>, determine that wireless network coverage area is reached, and, responsive to the determination that the wireless network coverage area is reached, transmitting, via WWAN transceiver <NUM> and/or WLAN transceiver <NUM>, to the server, a request for second route data to the second destination. Once the second route data is receive in response to the request, the processor <NUM> can provide, via the user interface, navigation instructions to the second destination based on the second route data.

As discussed above, processor <NUM> and the memory <NUM> can be configured to provide, via the user interface, navigation instructions to a first destination and/or to a second destination. In some embodiments, such navigation instructions can include outputting image-based navigation instructions on the display <NUM>, outputting text-based navigation instructions on the display <NUM>, or outputting audio-based navigation instructions via the microphone/speaker <NUM>.

As used herein, the mobile device <NUM> may be any portable or movable device or machine that is configurable to acquire wireless signals transmitted from, and transmit wireless signals to, one or more wireless communication devices or networks. As shown in <FIG>, the mobile device <NUM> may be representative of such a portable wireless device. Thus, by way of example but not limitation, the mobile device <NUM> may include a radio device, a cellular telephone device, a computing device, a personal communication system (PCS) device, or other like movable wireless communication equipped device, appliance, or machine. The term "mobile device" is also intended to include devices which communicate with a personal navigation device (PND), such as by short-range wireless, infrared, wire line connection, or other connection, regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device or at the PND. Also, "mobile device" is intended to include all devices, including wireless devices, computers, laptops, etc. which are capable of communication with a server, such as via the Internet, Wi-Fi, or other network, and regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device, at a server, or at another device associated with the network. Any operable combination of the above is also considered a "mobile device.

Claim 1:
A method (<NUM>) for providing navigation on a mobile device comprising:
receiving (<NUM>) at the mobile device, a first destination;
transmitting, to a server, a request for first route data to the first destination;
receiving (<NUM>) the first route data from the server;
providing (<NUM>) navigation instructions, via a user interface of the mobile device, to the first destination based on the first route data;
determining (<NUM>) whether the first destination is within a no wireless network coverage area; and
responsive to a determination (<NUM>) that the first destination is within the no wireless network coverage area, retaining the first route data in a memory of the mobile device,
receiving (<NUM>) at the mobile device, a second destination,
responsive to a determination that the second destination is not along a route associated with the first route data, providing (<NUM>) navigation instructions to the second destination based on the first route data retained in the memory of the mobile device until a wireless network coverage area is reached;
responsive to the determination that the wireless network coverage area is reached, transmitting (<NUM>), to the server, a request for second route data to the second destination,
receiving (<NUM>), at the mobile device, the second route data, and
providing (<NUM>) navigation instructions, via the user interface of the mobile device, to the second destination based on the second route data.