Priority provision and retrieval of offline map data

By calculating the system prioritization and sending offline map data, the problem of navigation equipment lacking map data in low-connectivity areas is solved, navigation security and resource utilization efficiency are improved, and more effective navigation services are achieved.

CN119309587APending Publication Date: 2025-01-14GOOGLE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411354845.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2019-11-14
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

The prior art is difficult to effectively provide and retrieve offline map data, especially in areas with limited network connectivity, resulting in a lack of map data in the low-connectivity area of ​​navigation devices, affecting navigation security and efficiency.

Method used

The computing system determines the current location and predicted travel destination of the navigation device, prioritizes the additional areas based on the aggregated travel data and network connectivity information, and sends offline map data according to priority, ensuring that the navigation device has a low connectivity area in the low connectivity area Enough data to navigate.

Benefits of technology

It improves the navigation security and efficiency of navigation equipment in low-connectivity areas, optimizes the use of network resources, reduces the energy and data consumption of equipment, balances network load, and provides more reliable navigation services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119309587A_ABST
    Figure CN119309587A_ABST
Patent Text Reader

Abstract

Methods, systems, devices, and tangible non-transitory computer-readable media for off-line mapping and navigation are provided. The disclosed techniques may determine a current area associated with a current location of a navigation device. A predicted travel destination from the current area may be determined based on the aggregated travel data. The aggregated travel data may include previous travel destinations from within the current area. Based on the current region and the predicted travel destination, an additional region associated with the current region may be determined. Further, connectivity information may be determined based on the network data. The connectivity information may be associated with network connectivity within the additional area. Additional regions may be prioritized based on connectivity information. Further, portions of the offline map data associated with the respective additional areas may be sent to the navigation device based in part on the order of priorities of the additional areas.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application with the application date of November 14, 2019, application number 201980024698.1, and invention name “Priority provision and retrieval of offline map data”. Technical Field

[0002] The present disclosure generally relates to a system for providing and retrieving offline data associated with a geographic area. Background Art

[0003] Operations associated with mapping information can be implemented on a variety of computing devices. These operations can include processing mapping information for access and use by a user or computing system. In addition, operations can include sending data to and receiving data from a remote computing system. However, the types of operations and the ways in which they are performed change over time, as does the underlying hardware that implements these operations. Therefore, there are different ways to leverage computing resources associated with mapping information. Summary of the invention

[0004] Aspects and advantages of embodiments of the present disclosure will be set forth in part in the description which follows, or may be learned from the description, or may be learned through practice of the embodiments.

[0005] An example aspect of the present disclosure is directed to a computer-implemented method for providing offline map data. The computer-implemented method may include determining, by a computing system including one or more processors, a current region associated with a current location of a navigation device. The computer-implemented method may include determining, by the computing system, a predicted travel destination from the current region based at least in part on aggregated travel data. The aggregated travel data may include a previous travel destination from the current region. The computer-implemented method may include determining, by the computing system, one or more additional regions associated with the current region based at least in part on the current region and the predicted travel destination. The computer-implemented method may include determining, by the computing system, connectivity information based at least in part on network data. The connectivity information may be associated with network connectivity available to the navigation device within each of the one or more additional regions. The computer-implemented method may include prioritizing, by the computing system, the one or more additional regions based at least in part on the connectivity information. In addition, the computer-implemented method may include sending, by the computing system, one or more portions of offline map data associated with the corresponding one or more additional regions to the navigation device in an order based at least in part on the priority of the one or more additional regions.

[0006] Another example aspect of the present disclosure is directed to one or more tangible non-transitory computer-readable media storing computer-readable instructions, which, when executed by one or more processors, cause the one or more processors to perform operations. The operation may include determining a current area associated with the current location of the navigation device. The operation may include determining a predicted travel destination from the current area based at least in part on aggregated travel data. The aggregated travel data may include a previous travel destination from within the current area. The operation may include determining one or more additional areas associated with the current area based at least in part on the current area and the predicted travel destination. The operation may include determining connectivity information based at least in part on network data. The connectivity information may be associated with the network connectivity available to the navigation device in each of the one or more additional areas. The operation may include prioritizing one or more additional areas based at least in part on the connectivity information. In addition, the operation may include sending one or more portions of offline map data associated with the corresponding one or more additional areas to the navigation device in an order based at least in part on the priority of the one or more additional areas.

[0007] Another example aspect of the present disclosure relates to a computing system, which may include: one or more processors; and one or more tangible non-transitory computer-readable media storing instructions, which when executed by the one or more processors, cause the one or more processors to perform operations. The operation may include determining a current area associated with a current location of a navigation device. The operation may include determining a predicted travel destination from the current area based at least in part on aggregated travel data. The aggregated travel data may include a previous travel destination from within the current area. The operation may include determining one or more additional areas associated with the current area based at least in part on the current area and the predicted travel destination. The operation may include determining connectivity information based at least in part on network data. The connectivity information may be associated with network connectivity available to the navigation device within each of the one or more additional areas. The operation may include prioritizing one or more additional areas based at least in part on the connectivity information. In addition, the operation may include sending one or more portions of offline map data associated with the corresponding one or more additional areas to the navigation device in an order based at least in part on the priority of the one or more additional areas.

[0008] Another example aspect of the present disclosure relates to a computer-implemented method, comprising: determining, by a computing system comprising one or more processors, a current region associated with a current location of a navigation device; determining, by the computing system, a predicted travel destination from the current region; determining, by the computing system, one or more additional regions associated with the current region based at least in part on the current region and the predicted travel destination; determining, by the computing system, connectivity information based at least in part on network data, wherein the connectivity information is associated with network connectivity available to the navigation device within each of the one or more additional regions; prioritizing, by the computing system, the one or more additional regions relative to each other based at least in part on the connectivity information of each of the one or more additional regions, wherein prioritizing the one or more additional regions further comprises: determining, by the computing system, a data size of each of one or more portions of offline map data; and prioritizing, by the computing system, the one or more additional regions based at least in part on the data size of each of the one or more portions of offline map data; and sending, by the computing system, the one or more portions of offline map data associated with the corresponding one or more additional regions to the navigation device in an order based at least in part on the priority of the one or more additional regions.

[0009] Another example aspect of the present disclosure relates to one or more tangible, non-transitory computer-readable media storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform operations, the operations comprising: determining a current region associated with a current location of a navigation device; determining a predicted travel destination from the current region; determining one or more additional regions associated with the current region based at least in part on the current region and the predicted travel destination; determining connectivity information based at least in part on network data, wherein the connectivity information is associated with network connectivity available to the navigation device within each of the one or more additional regions; prioritizing the one or more additional regions relative to each other based at least in part on the connectivity information of each of the one or more additional regions, wherein prioritizing the one or more additional regions further comprises: determining a data size of each of one or more portions of offline map data; and prioritizing the one or more additional regions based at least in part on the data size of each of the one or more portions of offline map data; and sending one or more portions of offline map data associated with the corresponding one or more additional regions to the navigation device in an order based at least in part on the priority of the one or more additional regions.

[0010] Another example aspect of the present disclosure relates to a computing system comprising: one or more processors; one or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, the operations comprising: determining a current region associated with a current location of a navigation device; determining a predicted travel destination from the current region; determining one or more additional regions associated with the current region based at least in part on the current region and the predicted travel destination; determining connectivity information based at least in part on network data, wherein the connectivity information is associated with network connectivity available to the navigation device within each of the one or more additional regions; prioritizing the one or more additional regions relative to each other based at least in part on the connectivity information of each of the one or more additional regions, wherein prioritizing the one or more additional regions further comprises: determining a data size of each of one or more portions of offline map data; and prioritizing the one or more additional regions based at least in part on the data size of each of the one or more portions of offline map data; and sending the one or more portions of offline map data associated with the corresponding one or more additional regions to the navigation device in an order based at least in part on the priority of the one or more additional regions.

[0011] Other example aspects of the present disclosure are directed to other methods, systems, devices, apparatuses, or tangible non-transitory computer-readable media for provision and retrieval of offline map data.

[0012] These and other features, aspects and advantages of various embodiments will become better understood with reference to the following description and appended claims.The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the relevant principles. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] A detailed discussion of embodiments for those of ordinary skill in the art is set forth in the specification with reference to the accompanying drawings, in which:

[0014] Figure 1 A diagram depicting an example system according to an example embodiment of the present disclosure;

[0015] Figure 2 A diagram depicting an example device according to an example embodiment of the present disclosure;

[0016] Figure 3 depicts an example of region determination in an environment according to an example embodiment of the present disclosure;

[0017] Figure 4 An example of a technique for prioritizing regions and sending offline map data according to an example embodiment of the present disclosure is depicted;

[0018] Figure 5 depicts an example of region prioritization according to an example embodiment of the present disclosure;

[0019] Figure 6 Depicting an example of check-in boundary determination in an environment according to an example embodiment of the present disclosure;

[0020] Figure 7 Depicting a flow chart of dynamic offline map provision and retrieval according to an example embodiment of the present disclosure;

[0021] Figure 8 Depicting a flow chart of dynamic offline map provision and retrieval according to an example embodiment of the present disclosure;

[0022] Fig. 9 Depicting a flow chart of dynamic offline map provision and retrieval according to an example embodiment of the present disclosure;

[0023] Fig.10 A flow chart depicting dynamic offline map provision and retrieval according to an example embodiment of the present disclosure; and

[0024] Fig.11 Depicted is a flow chart of dynamic offline map provision and retrieval according to an example embodiment of the present disclosure. DETAILED DESCRIPTION

[0025] Reference will now be made in detail to embodiments, one or more examples of which are shown in the accompanying drawings. Each example is provided by way of explanation of the embodiments, rather than as a limitation of the present disclosure. In fact, it will be apparent to those skilled in the art that various modifications and variations may be made to the embodiments without departing from the scope or spirit of the present disclosure. For example, a feature shown or described as part of one embodiment may be used together with another embodiment to produce yet another embodiment. Therefore, it is intended that aspects of the present disclosure cover such modifications and variations.

[0026] Example aspects of the present disclosure are directed to an offline navigation system that can be used to send offline map data to a navigation device. As used herein, the term "offline map data" may be understood to refer to data (e.g., map data) for an area of ​​limited network connectivity that may be unavailable or inaccessible to a user's device (e.g., a navigation device) once the user's device enters that particular area. When the navigation device is in an area of ​​higher network connectivity, the offline map data may be retrieved by the navigation device from a computing device (e.g., a server computing device). For example, the disclosed techniques may be used to send offline map data to a navigation device in a manner that ensures that the navigation device has sufficient offline map data to navigate its immediate environment and nearby areas where access to online map data may be limited or non-existent.

[0027] Specifically, the disclosed technology can use the current location of a navigation device (e.g., a smart phone or an onboard navigation system) and information associated with network connectivity in an additional area (e.g., a neighboring area around an area associated with the current location of the navigation device) to determine what offline map data should be sent to the navigation device, and where and / or when the offline map data should be sent to the navigation device. Before sending the offline map data, the additional areas associated with the map data can be prioritized based on their corresponding network connectivity. In addition, a login boundary (e.g., the location where the offline map data is sent to the navigation device) can also be determined. Portions of the offline map data of the associated additional areas can then be sent to the navigation device in priority order, which is more efficient due to reduced overuse of sometimes scarce network resources. As a result, the disclosed technology can improve the overall efficiency of determining and providing offline map data for navigation devices.

[0028] As a further example, an offline navigation computing system (e.g., Figure 1 The computing system 130 depicted in FIG. 1 may determine that a navigation device (eg, Figure 1 The computing device 102 depicted in Figure 2The computing device 200 depicted in ) and an area associated with the current location (e.g., a geographic area within a predetermined radius of the navigation device). Aggregated travel data (e.g., including aggregated travel data of previous destinations that devices associated with the user (or devices associated with other users) have traveled to from the current area) can then be used to predict a destination to which the navigation device is likely to travel. In addition, using the predicted destination, additional areas associated with (e.g., adjacent to) the current area and connectivity (e.g., network throughput) within these areas can be determined. The areas can be prioritized based on their connectivity (e.g., low connectivity areas are prioritized higher than high connectivity areas), and portions of offline map data associated with the additional areas can be sent to the navigation device based on the priorities of the respective areas. For example, when the navigation device is in an area surrounded by three high connectivity areas and one low connectivity area, portions of the offline map data for the low connectivity area will be sent before portions of the offline map data for the high connectivity area.

[0029] Therefore, the disclosed technology can improve navigation safety by providing users with sufficient offline map data to navigate through low connectivity areas. In addition, more efficient provision of offline map data can result in more efficient use of both network resources and battery resources by navigation devices.

[0030] The offline navigation computing system can determine an area (e.g., current area) associated with the location (e.g., current location) of the navigation device. The current area can include a geographic area. For example, the current location (e.g., latitude, longitude, and / or altitude) of the navigation device can be determined using various techniques, including any combination of satellite-based geolocation (e.g., GPS) and / or the relative strength of signals from communication towers (e.g., cellular phone towers). In addition, the geographic area can be defined in a variety of ways, including a predetermined radius around the navigation device (e.g., a radius in meters), a predetermined area around the navigation device (e.g., an area in square meters), and / or a set of geographic coordinates (e.g., latitude, longitude, and / or altitude) that establish the boundaries of the current area.

[0031] A navigation device may include any device or system that can be used for navigation and / or map building (e.g., a smart phone and / or a car navigation system). In addition, the navigation device may be configured to perform one or more operations, including operations associated with determining the location of the navigation device, receiving information or data from a remote source, and / or displaying information or data associated with the location of the navigation device and the geographic environment surrounding the navigation device.

[0032] The offline navigation computing system can determine a predicted travel destination from the current area. In addition, the predicted travel destination may include one or more locations to which the navigation device is predicted to travel from its current location. The predicted travel destination may be based at least in part on aggregated travel data, which may include previous travel destinations from within the current area. For example, the aggregated travel data may include the location (e.g., latitude, longitude, and / or altitude) of a device (e.g., a device associated with a unique identifier) ​​at a previous time interval. Based on the location associated with the device at the previous time interval, the device's previous travel destination can be determined, including a travel destination associated with a route that includes a location in the current area (e.g., a route that starts at or passes through the current area).

[0033] Furthermore, in some embodiments, the predicted travel destination may be based at least in part on a statistical analysis of locations previously traveled to from one or more locations within the current area. 2 ) can be divided into 400 equally sized sub-regions, each measuring 20 square meters (20m 2 ). The aggregated travel data may include a set of locations previously traveled to from each sub-region, which may be used to determine a distribution of previous travel destinations, including previous travel destinations in one or more additional regions. The aggregated travel data may then be used to determine predicted travel destinations, including the most frequently visited previous travel destinations.

[0034] In some embodiments, the predicted travel destination may be based at least in part on one or more machine learning models (e.g., Figure 1 , and / or one or more machine learning models 120 and / or one or more machine learning models 140 depicted in the example embodiment of the present invention, which have been configured and / or trained to determine a predicted destination of travel based at least in part on inputs including aggregated travel data. For example, one or more machine learning models may be trained using training data including locations (e.g., latitude, longitude, and / or altitude) of various devices over time. The training data may be used as input to one or more machine learning models, which may generate outputs including predicted destinations that may be evaluated (e.g., evaluated using a loss function) relative to ground truth destinations for the various devices. Iterative training of the one or more machine learning models may be performed to reduce associated losses and result in more accurate predictions of a travel destination for a device (e.g., a navigation device) based at least in part on a current location of the device.

[0035] In some embodiments, the aggregated travel data may be anonymized to exclude identifying information associated with travel to previously traveled destinations. For example, a unique device identifier and / or a personal name associated with a device on which the aggregated travel data is based may be replaced with a corresponding set of unique identifiers that are not associated with the device and / or personal name.

[0036] The offline navigation computing system can determine one or more additional areas associated with the current area. The determination of one or more additional areas can be based at least in part on the current area and / or the predicted destination of travel. For example, the location of the one or more additional areas can be relative to the location of the current area (e.g., four areas located in four cardinal directions relative to the current area). In addition, the size of each of the one or more additional areas can be respectively related to the distance from the current position of the navigation device to each of the one or more additional areas. For example, the size of one or more additional areas that are further away from the current position of the navigation device can be greater than the size of one or more additional areas that are closer to the current position of the navigation device.

[0037] In some embodiments, the current region and / or each of the one or more additional regions can be associated with one or more ways of dividing space (e.g., geographic regions), including using one or more S2 units and / or one or more Mercator tiles.

[0038] The one or more additional regions associated with the current region may include one or more additional regions adjacent to the current region, one or more additional regions within a predetermined distance from the current region, one or more additional regions outside a predetermined distance from the current region, and / or one or more additional regions overlapping with the current region. In addition, in some embodiments, any one of the current region and / or one or more additional regions may not overlap with respect to other additional regions; overlap with one or more other additional regions; and / or enclose any other additional region in the one or more additional regions.

[0039] In some embodiments, one or more additional regions may be associated with one or more segments (e.g., road segments, street segments, canal segments, and / or sidewalk segments) of a transportation network (e.g., a road system, a rail system, and / or a waterway system). In addition, one or more additional regions may intersect one or more segments of the transportation network. For example, one or more additional segments may intersect one or more segments of the transportation network and not intersect regions that do not intersect one or more segments of the transportation network.

[0040] The offline navigation computing system can determine connectivity information, which can be based at least in part on network data. Connectivity information can be associated with the state of a communication network (e.g., a wireless communication network) within the current area and / or each of one or more additional areas. In some embodiments, connectivity information can be associated with network connectivity available to the navigation device within each of the one or more additional areas (e.g., the availability of network connections at different locations in the one or more additional areas). For example, the network data can include various information about the one or more additional areas, including the network state within each of the one or more additional areas (e.g., whether a network connection is available within the additional area), and / or offline map data associated with each of the one or more additional areas. In addition, connectivity information can indicate the amount of connectivity in a portion of one or more additional areas (e.g., the amount of wireless throughput measured in megabits per second).

[0041] When network data for an area is not available, it can be determined that the network connectivity is at a default level or default state. The default level or default state can be a predetermined level of connectivity (e.g., a predetermined level of connectivity below a threshold level) or no connectivity (e.g., the area is determined to not have any network connectivity).

[0042] The network data may include various information associated with the status of each of the one or more additional areas. In some embodiments, the network data may include information associated with the size of each of the one or more portions of offline map data associated with each of the one or more additional areas (e.g., the size of each of the one or more portions of offline map data in megabits), one or more low connectivity areas (e.g., locations and / or sub-areas within each additional area) where network throughput is below a network throughput threshold, signal strength in one or more locations in each of the one or more additional areas, signal-to-noise ratio of one or more locations in each of the one or more additional areas, and / or network throughput of one or more locations in each of the one or more additional areas.

[0043] In some embodiments, connectivity information may be determined based at least in part on the use of one or more machine learning models that have been configured and / or trained to determine connectivity information based at least in part on inputs that include any portion of the network data. For example, one or more machine learning models may be configured to receive inputs that include network data associated with an additional area (e.g., network data that includes locations within the additional area relative to geographic barriers to cellular towers) and generate outputs that include a likelihood that network throughput at a set of locations within the additional area is above a threshold level.

[0044] The determination of the connectivity information may include the determination of one or more login boundaries. The one or more login boundaries may include one or more locations at which one or more portions of offline map data for the corresponding area are sent to the navigation device. For example, the login boundaries may include a set of geographic coordinates (e.g., latitude, longitude, and / or altitude) within the current area where one or more portions of offline map data are sent to the navigation device. In addition, the one or more login boundaries may be associated with each of the current area and / or one or more additional areas, respectively. For example, a current area having adjacent areas may have different login boundaries associated with each area (e.g., five adjacent areas may have five different login boundaries).

[0045] In some embodiments, one or more check-in boundaries may be based at least in part on network data associated with the current region. For example, the network data may include information associated with an amount of network throughput at one or more locations within the current region. Based at least in part on the size of one or more portions of offline map data associated with each of the one or more regions and the throughput at one or more locations within the current region, an amount of time to send the one or more portions of offline map data may be determined. Based at least in part on the amount of time to send the one or more portions of offline map data, one or more check-in boundaries associated with each of the one or more additional regions may be determined.

[0046] One or more login boundaries may be determined based at least in part on the state of a network (e.g., network connectivity) within the current region and / or any one of the one or more additional regions. In some embodiments, one or more login boundaries may be based at least in part on the network throughput associated with one or more locations in each of the one or more additional regions. For example, when the throughput is greater at a location between the edge of the region (e.g., where the additional region and the current region meet) and the current location of the navigation device, the login boundary of the region may be closer to the edge of the additional region. In addition, when the throughput is lower at a location between the edge of the region and the current location of the navigation device, the login boundary of the region may be further away from the edge of the region.

[0047] In some embodiments, one or more check-in boundaries may be determined based at least in part on a data size of one or more portions of offline map data associated with each of the one or more additional regions. One or more portions of offline map data of a larger amount may take longer to send than one or more portions of offline map data of a smaller amount. For example, given a fixed throughput and keeping all other factors equal, a larger amount of data (e.g., offline map data) may take longer to send than a smaller amount of data.

[0048] The one or more additional regions may be prioritized based at least in part on one or more spatial relationships of the one or more additional regions and / or one or more login boundaries relative to entities outside the one or more additional regions. In some embodiments, the one or more additional regions may be prioritized based at least in part on the proximity (e.g., distance in meters) of the navigation device to each of the one or more login boundaries. For example, an additional region having a login boundary that is closer to the navigation device may be prioritized higher than an additional region having a login boundary that is farther away from the navigation device.

[0049] In some embodiments, any one of the one or more additional areas may be prioritized based at least in part on one or more distances from any portion of the one or more additional areas to one or more reference points (e.g., one or more locations). Portions of additional areas may include edges of additional areas (e.g., edges of additional areas that are in contact with the current area and / or another additional area), locations within additional areas (e.g., locations within the center of additional areas or locations near the edges of additional areas). One or more reference points may include any location, including: the location of the navigation device; one or more locations of the current area that may include the location of the navigation device (e.g., locations within the current area, or locations on the edge of the current area); or outside the current area (e.g., one or more additional areas and / or other locations that do not include one or more additional areas). In addition, one or more reference points may include a predetermined reference location associated with any set of geographic coordinates including latitude, longitude, and / or altitude.

[0050] The network data may include information associated with one or more dimensions (e.g., the area of ​​the additional area, the perimeter of the additional area, the width of the additional area, and / or the length of the additional area) of the current area and / or one or more additional areas. In addition, the network data may include information associated with one or more spatial relationships (e.g., relative position, orientation, and / or position) of the current area and / or the additional area relative to one or more reference points, the current area, and / or one or more additional areas. Based at least in part on one or more dimensions and / or one or more spatial relationships associated with the current area, one or more additional areas, and / or one or more reference points, one or more distances between portions of the current area, one or more additional areas, and / or one or more reference points may be determined. One or more additional areas may then be prioritized based at least in part on any of the one or more distances between the current area, one or more additional areas, and / or one or more reference points.

[0051] For example, the offline navigation computing system may prioritize the one or more additional areas based at least in part on the distance between the navigation device and each of the one or more additional areas. As a further example, the offline navigation computing system may prioritize the one or more additional areas based at least in part on the distance between a portion of the current area (e.g., the center of the current area) and each of the one or more additional areas. In addition, the offline navigation computing system may prioritize the one or more additional areas based at least in part on the distance between a reference point (e.g., a set of geographic coordinates associated with a city center) and each of the one or more additional areas.

[0052] In some embodiments, factors associated with prioritization of one or more additional regions (e.g., including one or more spatial relationships of distances between additional regions, one or more locations of check-in boundaries, data size of one or more portions of offline map data associated with one or more additional regions, and / or size of one or more regions) may be weighted. Furthermore, factors associated with prioritization of one or more additional regions may be weighted in various ways, including: uniformly weighted (e.g., a group of factors have the same weight), one factor may have all weights (e.g., only one factor is used to prioritize additional regions), or different factors may have various weights (e.g., two factors may have a combined weight equal to the weight of a third factor).

[0053] In some embodiments, the determination of any of the one or more check-in boundaries may include determining an amount of offline map data that can be sent to the navigation device within the check-in period based at least in part on an estimated amount of time for the navigation device to travel a particular distance. For example, an estimated amount of time to send one or more portions of the offline map data to the navigation device may be determined based at least in part on a throughput between a current location and an edge of each of the one or more additional areas and an amount of offline map data associated with each respective additional area. The amount of the one or more portions of the offline map data that can be sent to the navigation device within the check-in period may then be used to determine the check-in boundaries for the respective additional areas.

[0054] In some embodiments, the login time period may include an amount of time between when the navigation device is located at a nearest login boundary of the one or more login boundaries and when the navigation device reaches an area associated with the nearest login boundary. Furthermore, when traveling to a login boundary and / or area, the login time period may be based at least in part on the speed of the navigation device and / or the estimated speed of the navigation device. For example, increasing the speed of the navigation device may reduce the amount of time (e.g., the login time period) required for the navigation device to travel from the nearest login boundary to the area associated with the nearest login boundary.

[0055] In some embodiments, the login time period may be based at least in part on a predicted speed of the navigation device. The predicted speed of the navigation device may be based at least in part on a historical device speed model associated with past speeds of the navigation device (e.g., a model based at least in part on past speeds of the navigation device (including past speeds of the navigation device in certain locations and / or areas)) and / or an aggregated speed model associated with past speeds of some combination of other devices (e.g., a model based at least in part on past speeds of other devices (including past speeds of other devices in certain locations and / or areas)).

[0056] For example, increasing the speed of the navigation device may reduce the amount of time (eg, a check-in time period) required for the navigation device to travel from a nearest check-in boundary to an area associated with the nearest check-in boundary.

[0057] Determination of connectivity information may include determining when one or more additional regions include a foreign region associated with a nationality different from the current location. The foreign region may include: an additional region having a different nationality than the current region or location; an additional region in a subregion (e.g., a state, province, or municipality) different from the current region or location; and / or an additional region having a different set of network service providers. In addition, the foreign region may be a subregion of the additional region and / or overlap two or more additional regions.

[0058] In some embodiments, connectivity information may be determined based at least in part on aggregated foreign region data that includes information associated with aggregated levels of connectivity available in the foreign region. For example, the aggregated foreign region data may include aggregated amounts of throughput across one or more locations in the foreign region; indications of network service providers in the foreign region; and / or indications of whether any network connectivity will be available in the foreign region.

[0059] In some embodiments, the aggregated foreign region data is based at least in part on an average amount of network connectivity provided by carrier networks within the foreign region. For example, the aggregated foreign region data may include an average network throughput in the foreign region. Further, in some embodiments, the average amount of network connectivity may be based at least in part on a sample weighted mean of network connectivity within the foreign region.

[0060] The offline navigation computing system may prioritize the one or more additional regions. The prioritization of the one or more additional regions may be based at least in part on the connectivity information. For example, the one or more additional regions may be prioritized based at least in part on various prioritization criteria, including: network connectivity within each additional region; the size of one or more portions of offline map data associated with each additional region; the proximity of each additional region to the current location of the navigation device; and / or the proximity of a login boundary of each additional region to the current location of the navigation device.

[0061] Prioritizing one or more additional regions may include increasing the priority of one or more additional regions where network connectivity is below a predetermined network connectivity threshold. For example, additional regions where connectivity is below a threshold that allows one or more portions of offline map data to be sent within a predetermined time period may have their priority increased.

[0062] In some embodiments, prioritizing the one or more additional regions may include determining a data size of each of the one or more portions of the offline map data. For example, a data size (e.g., a data size in megabits) of the one or more portions of the offline map data associated with each of the one or more additional regions may be determined. Furthermore, the one or more additional regions may be prioritized based at least in part on the data size of each of the one or more portions of the offline map data. For example, one or more additional regions having one or more portions of the offline map data having a larger data size may be prioritized higher than one or more portions of the offline map data having a smaller data size.

[0063] The offline navigation computing system may send one or more portions of offline map data to the navigation device. The one or more portions of offline map data may be associated with corresponding one or more additional areas. In addition, the one or more portions of offline map data may be sent to the navigation device in an order based at least in part on the priority of the one or more additional areas. For example, one or more portions of offline map data associated with a higher priority additional area may be sent before one or more portions of offline map data associated with a relatively lower priority additional area.

[0064] In some embodiments, sending one or more portions of the offline map data may include determining a highest priority additional area of ​​the one or more additional areas, and when the navigation device reaches a check-in boundary associated with the highest priority additional area, sending one or more portions of the offline map data associated with the highest priority additional area to the navigation device. Additionally, in some embodiments, the check-in boundary associated with the highest priority additional area may be located at a predetermined distance from a nearest edge of the highest priority additional area.

[0065] The disclosed technology can be implemented by various systems associated with communication of data and navigation through an environment. Specifically, the disclosed technology can be used as part of a system including a source of offline map data (e.g., a remote server) and a navigation device (e.g., a client including a smart phone or an onboard navigation system) configured to exchange data based on the location of the navigation device (e.g., exchanging offline data via a wireless network).

[0066] The disclosed technology may include a computing system (e.g., an offline navigation computing system and / or a navigation device) configured to perform various operations associated with providing and / or retrieving offline map data. In some embodiments, the offline navigation computing system may be associated with various computing systems and / or devices that use, send, receive, and / or generate offline map data. In addition, the offline navigation computing system may process, generate, modify, and / or access (e.g., send and / or receive) data and / or information including data and / or information associated with offline map data, which includes maps of one or more geographic areas.

[0067] In some embodiments, the navigation device may perform and / or initiate the performance of any of one or more operations and / or one or more actions performed by the offline navigation computing system. For example, the navigation device may perform one or more operations and / or actions including: sending one or more signals to transmit its location to the offline navigation computing system; sending one or more signals to initiate the transmission of one or more portions of offline map data; sending data and / or information associated with the state of the navigation device (e.g., the speed of the navigation device); retrieving data and / or information associated with the state of one or more additional regions and / or one or more entry boundaries; and / or performing prioritization of one or more additional regions on the device.

[0068] The offline navigation computing system and / or navigation device may include dedicated hardware and / or software that enables one or more operations specific to the disclosed technology to be performed. The offline navigation computing system and / or navigation device may include one or more application specific integrated circuits configured to perform operations associated with determining the location of the navigation device, determining connectivity of an area around the navigation device, prioritizing the areas, and sending one or more portions of offline map data to the navigation device.

[0069] For example, the offline navigation computing system and / or navigation device may be configured to control one or more vehicle systems of a vehicle based at least in part on one or more portions of the offline map data. One or more vehicle systems may include a notification system and / or a vehicle information system for providing information (e.g., map or navigation information) to passengers of the vehicle. For example, the offline navigation computing system may provide a map of a geographic area including one or more additional areas and indications of additional areas where network connectivity is limited.

[0070] In addition, the offline navigation computing system and / or the navigation device may be configured to generate data for implementing one or more notifications associated with one or more portions of the offline map data. The one or more notifications may include: one or more maps of one or more additional areas, one or more text descriptions of connectivity within one or more additional areas, and / or one or more auditory indications associated with one or more additional areas. For example, when a vehicle associated with the offline navigation computing system is approaching an additional area with limited connectivity, the vehicle computing system may generate one or more auditory indications including a ringtone.

[0071] The systems, methods, devices, apparatuses, and tangible non-transitory computer-readable media of the disclosed technology can provide various technical effects and benefits, including improvements in providing offline map data for use by navigation devices. Specifically, the disclosed technology can help users (e.g., users of navigation devices) perform technical tasks, including receiving offline map data and using offline map data to navigate through environments that may include low connectivity areas. The disclosed technology can also provide benefits, including: improved navigation safety; reduced energy usage and data consumption of navigation devices; and more efficient use of available network resources.

[0072] The disclosed technology can improve the effectiveness and safety of navigation by reducing the occurrence of situations where a user is in an area without available map data. For example, increasing the availability of offline map data in low connectivity areas can reduce the chance that a user will get lost or travel to an unsafe location due to lack of map data. In addition, the effective provision of offline map data provides users of navigation devices with the additional convenience of having map data available regardless of network connectivity in their current area and areas to which the user may travel.

[0073] The disclosed technology can also improve the efficiency of the use of network resources by more efficiently determining the location to which offline map data will be sent to the navigation device. More efficient determination of connectivity in the geographic area around the current location of the navigation device allows the user to be sent offline map data in a proactive manner in locations with sufficient network connectivity and network bandwidth, thereby avoiding being trapped in less favorable areas where network connectivity is overly strained or insufficient to provide offline map data. In this way, more efficient determination of connectivity and location to provide offline map data can result in greater availability of network connectivity and more efficient bandwidth utilization.

[0074] Furthermore, the disclosed techniques may improve the efficiency of resource consumption (e.g., reduce battery usage of a navigation device) by providing offline map data at a login boundary that is located in an area where offline map data of a reduced connectivity area can still be provided. For example, a navigation device may save battery resources by receiving portions of map data in a high connectivity area in a short period of time, thereby avoiding the battery draining process of slowly receiving portions of map data in a low connectivity area in a long period of time. Furthermore, prioritization of offline map data may allow for a reduction in the total amount of offline map data sent to a navigation device, thereby reducing its overall data usage.

[0075] The disclosed techniques may further help balance the load on the network. In situations where there are multiple users traversing areas of high and low network connectivity, there may be an imbalance between the demands on the network and the network's ability to actually service those demands; this problem may be particularly acute when there are multiple users in an area of ​​low connectivity, each of which requests map data for that area. The disclosed techniques may help resolve this imbalance by ensuring that requests for map data for areas of low network connectivity are received and serviced while the users are still present in areas of higher network connectivity. In this way, the disclosed techniques may help rebalance the load by shifting the volume of requests for map data to areas of higher network connectivity, thereby ensuring an overall more efficient use of available network resources.

[0076] The disclosed techniques may allow users of navigation devices to more efficiently perform the technical task of providing offline map data for geographic areas where network connectivity may be low. As a result, users are provided with the specific benefits of improved security, reduced network bandwidth utilization, and more efficient use of device resources. In addition, any specific benefits provided to users may be used to improve the effectiveness of various devices and services, including navigation devices and / or navigation services in which offline map data is provided. Thus, the improvements provided by the disclosed techniques may bring tangible benefits to various devices and / or systems, including mechanical, electronic, and computing systems associated with navigation and / or providing offline maps.

[0077] Reference now Figures 1 to 11 , example embodiments of the present disclosure will be discussed in further detail. Figure 1 A diagram of an example system is depicted according to an example embodiment of the present disclosure. System 100 includes computing device 102 , computing system 130 , training computing system 150 , and one or more remote computing systems 170 communicatively connected and / or coupled via network 180 .

[0078] The computing device 102 may include one or more processors 112 and a memory 114. The one or more processors 112 may include any suitable processing device (e.g., a processor core, a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a controller, and / or a microcontroller), and may be one processor or multiple processors operably connected. The memory 114 may include one or more non-transitory computer-readable storage media, including RAM, NVRAM, ROM, EEPROM, EPROM, flash memory devices, disks, and combinations thereof. The memory 114 may store data 116 and instructions 118 executed by the processor 112 to cause the computing device 102 to perform one or more operations. In some embodiments, the data 116 may include: network data, which may include information associated with the status of a communication network in a current area (e.g., the area where the computing device 102 is located) and / or one or more additional areas (e.g., geographic areas); and / or offline map data, which may include information associated with the status of one or more geographic areas (e.g., the location, scale, and / or type of geographic features including roads, sidewalks, bridges, tunnels, buildings, and / or waterways). In some embodiments, computing device 102 may include any attributes and / or capabilities of computing system 130 , and may perform one or more operations, including any operations performed by computing system 130 .

[0079] Computing device 102 may be implemented in and / or include any type of computing device, including, for example, a navigation device (e.g., a computing device configured to perform any of the operations described herein, including one or more operations associated with navigation, network data, and / or offline map data), a personal computing device (e.g., a laptop computing device or a desktop computing device), a mobile computing device (e.g., a smart phone or a tablet computer), a navigation device (e.g., a computing device configured to determine its location), a controller, a wearable computing device (e.g., a smart watch), and / or an embedded computing device.

[0080] In addition, the computing device 102 can be configured to perform one or more operations, including: determining a current area associated with the current location of the computing device 102; determining a predicted travel location from the current area based at least in part on the aggregated travel data; determining one or more additional areas associated with the current area based at least in part on the current area and the predicted travel destination; determining connectivity information based at least in part on the network data; prioritizing one or more additional areas based at least in part on the connectivity information; and sending one or more portions of offline map data associated with the corresponding one or more additional areas to the navigation device in an order based at least in part on the priority of the one or more additional areas.

[0081] In some embodiments, computing device 102 may perform one or more operations including determining one or more entry boundaries associated with each of the one or more additional regions, respectively. In addition, computing device 102 may determine when the one or more additional regions include a foreign region; and determine connectivity information based at least in part on aggregated foreign region data associated with the foreign region.

[0082] In some implementations, the computing device 102 may implement and / or include one or more machine learning models 120. For example, the one or more machine learning models 120 may include various machine learning models, including neural networks (e.g., deep neural networks) or other types of machine learning models, including nonlinear models and / or linear models. The neural network may include a feedforward neural network, a recurrent neural network (e.g., a long short-term memory recurrent neural network), a convolutional neural network, and / or other forms of neural networks. Figures 1 to 11 Examples of one or more machine learning models 120 are discussed.

[0083] In some implementations, one or more machine learning models 120 may be received from a computing system 130 (e.g., a server computing system) via a network 180, stored in a computing device memory 114, and then used or otherwise implemented by one or more processors 112. In some implementations, the computing device 102 may implement multiple parallel instances of a single machine learning model of the one or more machine learning models 120 (e.g., determining one or more additional areas, predicting a travel destination, or determining one or more entry boundaries for one or more navigation devices across multiple instances of the machine learning model 120). More specifically, the one or more machine learning models 120 may be configured and / or trained to perform any operations performed by the computing system 130.

[0084] Additionally or alternatively, one or more machine learning models 140 may be included in, or otherwise stored and implemented by, a computing system 130 that communicates with computing device 102, for example, according to a client-server relationship. For example, machine learning model 140 may be implemented by computing system 130 as part of a web service (e.g., an offline map data provision service). Thus, one or more machine learning models 120 may be stored and implemented at computing device 102, and / or one or more machine learning models 140 may be stored and implemented at computing system 130.

[0085] The computing device 102 may also include one or more user input components 122 that may receive user input. For example, the user input component 122 may be a touch-sensitive component (e.g., a touch-sensitive display screen or a touchpad) that is sensitive to the touch of a user input (e.g., a finger and / or a stylus). The touch-sensitive component may be used to implement a virtual keyboard. Other example user input components include a microphone, a mechanical keyboard, an electromechanical keyboard, and / or other devices by which a user may provide user input.

[0086] The computing system 130 may include one or more processors 132 and a memory 134. The one or more processors 132 may include any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, and / or a microcontroller), and may include one processor or multiple processors operably connected. The memory 134 may include one or more non-transitory computer-readable storage media, including RAM, ROM, EEPROM, EPROM, flash memory devices, disks, and combinations thereof. The memory 134 may store data 136 and instructions 138 that are executed by the processor 132 to cause the computing system 130 to perform operations. In some embodiments, the data 136 may include: network data, which may include information associated with the status of a communication network in one or more additional areas; and / or offline map data, which may include information associated with the status of one or more geographic areas (e.g., the location, scale, and / or type of geographic features including roads, sidewalks, bridges, tunnels, buildings, and / or waterways).

[0087] In addition, in some embodiments, computing system 130 can be configured to perform the operations of a server computing device, including sending data including one or more portions of network data and / or offline map data to and / or receiving data including one or more portions of network data and / or offline map data from one or more computing devices and / or computing systems (including computing device 102, training computing system 150, and / or remote computing system 170). In some embodiments, computing system 130 can include any attributes and / or capabilities of computing device 102 and can perform one or more operations, including any operations performed by computing device 102.

[0088] Furthermore, computing system 130 may be implemented in and / or include any type of computing system, including, for example, an offline navigation computing system (e.g., a computing system configured to perform any of the operations described herein, including one or more operations associated with navigation, network data, and / or offline map data), a personal computing device (e.g., a laptop computing device or a desktop computing device), a mobile computing device (e.g., a smart phone or a tablet computer), a server computing system (e.g., a computing system configured to provide data including network data, aggregated travel data, and / or offline map data), and / or a controller.

[0089] In some implementations, computing system 130 includes and / or is otherwise implemented by one or more server computing devices. Where computing system 130 includes multiple server computing devices, such server computing devices may operate according to a sequential computing architecture, a parallel computing architecture, or some combination thereof.

[0090] As described above, computing system 130 may store or otherwise include one or more machine learning models 140. For example, one or more machine learning models 140 may include various machine learning models. Example machine learning models include neural networks or other multi-layer nonlinear models. Example neural networks include feedforward neural networks, deep neural networks, recurrent neural networks, and convolutional neural networks. Figures 1 to 11 Examples of one or more machine learning models 140 are discussed.

[0091] Computing device 102 and / or computing system 130 may train one or more machine learning models 120 and / or 140 via interaction with a training computing system 150 that is communicatively connected and / or coupled via network 180. Training computing system 150 may be separate from computing system 130, or may be part of computing system 130.

[0092] The training computing system 150 includes one or more processors 152 and a memory 154. The one or more processors 152 may be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, and / or a microcontroller), and may be one processor or multiple processors operably connected. The memory 154 may include one or more non-transitory computer-readable storage media, including RAM, ROM, EEPROM, EPROM, flash memory devices, disks, and combinations thereof. The memory 154 may store data 156 and instructions 158 that are executed by the processor 152 to cause the training computing system 150 to perform operations. In some embodiments, the data 156 may include: network data, which may include information associated with the state of the communication network in one or more additional areas; and / or offline map data, which may include information associated with the state. In some implementations, the training computing system 150 includes one or more server computing devices or is otherwise implemented by one or more server computing devices.

[0093] The training computing system 150 may include a model trainer 160 that trains one or more machine learning models 120 and / or one or more machine learning models 140 stored at the computing device 102 and / or computing system 130, respectively, using various training or learning techniques, including, for example, back propagation of errors. In some implementations, performing back propagation of errors may include performing truncated back propagation over time. The model trainer 160 may perform a variety of generalization techniques (e.g., weight decay and / or dropout) to improve the generalization ability of the trained model.

[0094] Specifically, the model trainer 160 can train one or more machine learning models 120 and / or one or more machine learning models 140 based on a set of training data 162. The training data 162 may include, for example, any network data, which may include information associated with the state of a network (e.g., a communication network) in one or more geographic areas; and aggregated travel data, including information associated with previous travel destinations and previous locations of one or more computing devices (e.g., navigation devices) in the past. For example, the training data may include network connectivity associated with a geographic area, the size of the geographic area, the size of offline map data associated with the geographic area, the relative location of the geographic area, previous travel destinations, weather patterns in the geographic area, and / or previous travel paths through the geographic area. One or more machine learning models 120 and / or one or more machine learning models 140 may be configured and / or trained to perform any of the one or more operations performed by the computing device 102 and / or the computing system 130. For example, one or more machine learning models 120 may be configured and / or trained to perform various operations, including: determining connectivity information within additional regions (e.g., network throughput and / or network connection availability); and / or making one or more predictions of a navigation device's predicted travel destination based at least in part on input including previous travel destinations from a region (e.g., the current region in which computing device 102 is located).

[0095] In some implementations, if the user has provided consent, the training examples may be provided by the computing device 102. Thus, in such implementations, one or more machine learning models 120 provided to the computing device 102 may be trained by the training computing system 150 based at least in part on user-specific data received from the computing device 102, the user-specific data including: previously visited locations and / or previously traveled destinations of the computing device 102, including associated latitudes, longitudes, and / or altitudes of the locations; and / or network data (e.g., network throughput) associated with previously traveled destinations and / or previously visited locations.

[0096] The model trainer 160 may include computer logic for providing the desired functionality. The model trainer 160 may be implemented in hardware, firmware, and / or software that controls a general purpose processor. For example, in some implementations, the model trainer 160 includes a program file stored on a storage device, loaded into a memory, and executed by one or more processors. In other implementations, the model trainer 160 includes one or more sets of computer executable instructions stored in a tangible computer readable storage medium, including a RAM hard disk or an optical or magnetic medium.

[0097] Each of the one or more remote computing systems 170 may include one or more processors 172 and memory 174. The one or more processors 172 may include any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, and / or a microcontroller), and may include one processor or multiple processors operably connected. The memory 174 may include one or more non-transitory computer-readable storage media, including RAM, ROM, EEPROM, EPROM, flash memory devices, disks, and combinations thereof. The memory 174 may store data 176 and instructions 178 executed by the processor 172 to cause the remote computing system 170 to perform operations.

[0098] In some implementations, one or more remote computing systems 170 include one or more computing devices or are otherwise implemented by one or more computing devices. Where one or more remote computing systems 170 include multiple computing devices, such computing devices may operate according to a sequential computing architecture, a parallel computing architecture, and / or some combination thereof. In addition, one or more remote computing systems 170 may be used to collect, generate, send, and / or receive one or more signals and / or data including network data, aggregated travel data, and / or map data (e.g., information associated with natural and artificial geographic features of an area) that may be used as the basis for one or more portions of offline map data. One or more remote computing systems 170 may include a smartphone device that a user of the smartphone device may use to generate navigation data associated with one or more geographic areas through which the user travels.

[0099] For example, a user of a smart phone device can record the latitude, longitude and / or altitude of one or more locations that the user travels through. One or more locations can be associated with network connectivity information at each of the one or more locations, and then the network connectivity information can be aggregated with network connectivity information of other users traveling in the same location and / or nearby locations. The network connectivity information can be used as part of the network data of the area that the user and other users have traveled through. In addition, one or more locations that the smart phone device travels can be used to provide information about the previous travel destination, which can be used to predict the travel destination later. The information from the smart phone device can then be sent to one or more remote computing systems 170, which can include a repository that can be used to store network data including network connectivity information provided by the user. In some embodiments, user-provided data may be strongly encrypted, anonymized (e.g., any personal information or other information associated with the user's identity is either not collected or is deleted after receipt), and maintained in a security and privacy-enhancing manner for use by one or more remote computing systems 170, which may provide network data for use by other computing devices and / or systems, including those described herein.

[0100] Network 180 may include any type of communication network, including a local area network (e.g., an intranet), a wide area network (e.g., the Internet), or some combination thereof, and may include any number of wired or wireless links. In general, communications over network 180 may be carried via any type of wired and / or wireless connection using a variety of communication protocols (e.g., TCP / IP, HTTP, SMTP, FTP), encodings or formats (e.g., HTML, XML), and / or protection schemes (e.g., VPN, secure HTTP, SSL).

[0101] Figure 1 An example computing system that can be used to implement the present disclosure is shown. Other computing systems may also be used. For example, in some implementations, computing device 102 and / or computing system 130 may include model trainer 160 and training data 162. In such implementations, one or more machine learning models 120 may be trained and used locally at computing device 102 and / or computing system 130. In some such implementations, computing device 102 and / or computing system 130 may implement model trainer 160 to personalize one or more machine learning models 120 based on user-specific data.

[0102] Figure 2A diagram of an example device according to an example embodiment of the present disclosure is depicted. Computing device 200 may include one or more attributes and / or capabilities of computing device 102, computing system 130, training computing system 150, and / or one or more remote computing systems 170. In addition, computing device 200 may perform one or more actions and / or operations, including by Figure 1 Computing device 102 , computing system 130 , training computing system 150 , and / or one or more remote computing systems 170 are depicted as performing one or more actions and / or operations.

[0103] like Figure 2 As shown, the computing device 200 may include one or more memory devices 202, network data 204, offline map data 206, one or more interconnects 210, one or more processors 220, a network interface 222, one or more mass storage devices 224, one or more output devices 226, one or more sensors 228, one or more input devices 230 and / or a positioning device 232.

[0104] The one or more memory devices 202 may store information and / or data (e.g., network data 204, offline map data 206, and / or aggregated travel data 208). In addition, the one or more memory devices 202 may include one or more non-transitory computer-readable storage media, including RAM, ROM, EEPROM, EPROM, flash memory devices, disks, and combinations thereof. The information and / or data stored by the one or more memory devices 202 may be executed by the one or more processors 220 to cause the computing device 200 to perform operations.

[0105] Network data 204 may include data stored in memory 114, memory 134, memory 154, and / or memory 174, respectively (e.g., Figure 1 116, data 136, data 156, and / or data 176) and / or instructions (e.g., Figure 1 In addition, network data 204 may include information associated with network connectivity within the current region and / or one or more additional regions.

[0106] The offline map data 206 may include the data stored in the memory 114, the memory 134, the memory 154 and / or the memory 174, respectively. Figure 1 Data 116, data 136, data 156 and / or data 176 and / or instructions (e.g., Figure 1In addition, the offline map data 206 may include information associated with a map of one or more geographic areas.

[0107] Aggregated travel data 208 may include data stored in memory 114, memory 134, memory 154, and / or memory 174, respectively. Figure 1 Data 116, data 136, data 156 and / or data 176 and / or instructions (e.g., Figure 1 In addition, aggregated travel data 208 may include information associated with previous travel destinations and / or travel routes of one or more devices (e.g., navigation devices and / or vehicles) associated with one or more geographic areas. In some embodiments, aggregated travel data 208 may be obtained from one or more computing systems (e.g., Figure 1 Received by the computing system 130 depicted in FIG.

[0108] The one or more interconnects 210 may include one or more interconnects or buses that may be used to send and / or receive one or more signals (e.g., electronic signals) and / or data (e.g., network data 204 and / or offline map data 206) between components of the computing device 200, including one or more memory devices 202, one or more processors 220, a network interface 222, one or more mass storage devices 224, one or more output devices 226, one or more sensors 228 (e.g., a sensor array), and / or one or more input devices 230. The one or more interconnects 210 may be arranged or configured in different ways, including parallel or serial connections. In addition, the one or more interconnects 210 may include: one or more internal buses that connect internal components of the computing device 200; and one or more external buses for connecting internal components of the computing device 200 to one or more external devices. For example, one or more interconnects 210 may include different interfaces including Industry Standard Architecture (ISA), Extended ISA, Peripheral Component Interconnect (PCI), PCI Express, Serial AT Attachment (SATA), HyperTransport (HT), USB (Universal Serial Bus), Thunderbolt, IEEE 1394 interface (FireWire), and / or other interfaces that can be used to connect components.

[0109] The one or more processors 220 may include one or more computer processors configured to run one or more instructions stored in the one or more memory devices 202. For example, the one or more processors 220 may include, for example, one or more general-purpose central processing units (CPUs), application-specific integrated circuits (ASICs), and / or one or more graphics processing units (GPUs). In addition, the one or more processors 220 may perform one or more actions and / or operations, including one or more actions and / or operations associated with the network data 204, the offline map data 206, and / or the aggregated travel data 208. The one or more processors 220 may include single-core or multi-core devices, including microprocessors, microcontrollers, integrated circuits, and / or logic devices.

[0110] The network interface 222 may support network communications. For example, the network interface 222 may support communications via a network including a local area network and / or a wide area network (e.g., the Internet). One or more mass storage devices 224 (e.g., a hard drive and / or a solid state drive) may be used to store data including the network data 204 and / or the offline map data 206. One or more output devices 226 may include one or more display devices (e.g., an LCD display, an OLED display, and / or a CRT display), one or more light sources (e.g., LEDs), one or more speakers, and / or one or more tactile output devices.

[0111] The one or more input devices 230 may include one or more keyboards, one or more touch-sensitive devices (e.g., a touch screen display), one or more buttons (e.g., an ON / OFF button and / or a YES / NO button), one or more microphones, and / or one or more cameras.

[0112] The one or more memory devices 202 and the one or more mass storage devices 224 are shown separately, however, the one or more memory devices 202 and the one or more mass storage devices 224 may be areas within the same memory module. The computing device 200 may include one or more additional processors, memory devices, network interfaces, which may be provided separately or provided on the same chip or board. The one or more memory devices 202 and the one or more mass storage devices 224 may include one or more computer-readable media, including but not limited to non-transitory computer-readable media, RAM, ROM, hard disk drives, flash drives, and / or other memory devices.

[0113] One or more memory devices 202 can store instruction sets for applications including operating systems, which can be associated with various software applications or data. One or more memory devices 202 can be used to operate various applications, including mobile operating systems developed specifically for mobile devices. In this way, one or more memory devices 202 can store instructions that allow software applications to access data including wireless network parameters (e.g., identity of wireless networks, quality of service) and call various services including phone, location determination (e.g., via global positioning system (GPS) or WLAN) and / or wireless network data call initiation services. In other embodiments, one or more memory devices 202 can be used to operate or run a general-purpose operating system that operates on both mobile and fixed devices, such as smart phones and desktop computers.

[0114] Software applications that may be operated or run by computing device 200 may include Figure 1 Applications associated with the illustrated system 100. Additionally, software applications that may be operated and / or executed by the computing device 200 may include native applications and / or web-based applications.

[0115] Positioning device 232 may include one or more devices or circuits for determining the location of computing device 200. For example, positioning device 232 may determine the actual and / or relative location of computing device 200 by using a satellite navigation positioning system (e.g., GPS system, Galileo positioning system, Global Navigation Satellite System (GLONASS), BeiDou Satellite Navigation and Positioning System), an inertial navigation system, a dead reckoning system based on IP addresses such as by using triangulation and / or proximity to cellular towers or Wi-Fi hotspots, beacons, and / or other suitable techniques for determining location.

[0116] Figure 3 An example of region determination in an environment according to an example embodiment of the present disclosure is depicted. In environment 300 ( Figure 3 Any operations and / or actions performed in the examples (depicted) may be performed by a computing device and / or computing system including one or more attributes and / or capabilities of computing device 102, computing system 130, training computing system 150, and / or one or more remote computing systems 170. Figure 3 As shown, environment 300 includes a navigation device 302 , a sub-area 304 , a current area 306 , an additional area 308 , and one or more additional areas 310 .

[0117] Environment 300 may include any geographic area, such as a conurbation including a central urban area immediately surrounded by a suburban area, which in turn is surrounded by a more rural area. In addition, environment 300 may include multiple areas, each of which may be associated with a corresponding regional population distribution and / or an amount of associated map data (e.g., offline map data). In some embodiments, the population density of an area is positively correlated with the density of data used to map the area. For example, an area with a greater population density (e.g., an urban area) may be positively correlated with a greater density of data (e.g., a greater amount of offline map data per unit area) used to map the area.

[0118] In this example, the navigation device 302 (eg, including Figure 1 The size and / or shape of the current area 306 can be based at least in part on the state of the surrounding area of ​​the environment 300 (e.g., the additional area 308 and / or the one or more additional areas 310), including: the availability of network connections in the surrounding area of ​​the environment 300, the network throughput in the surrounding area of ​​the environment 300, and / or the proximity of the surrounding area of ​​the environment 300.

[0119] Figure 4 An example of a technique for prioritizing regions and sending offline map data according to an example embodiment of the present disclosure is depicted. Technique 400 ( Figure 4 Any operations and / or actions performed in the examples (depicted) may be performed by a computing device and / or computing system including one or more attributes and / or capabilities of computing device 102, computing system 130, training computing system 150, and / or one or more remote computing systems 170. Figure 4 As shown, technique 400 includes low connectivity determination 402 , connectivity category 404 , connectivity category 406 , connectivity category 408 , low connectivity isolation 410 , region generation 412 , region prioritization 414 , distance criteria 416 , destination prediction criteria 418 , and data transmission 420 .

[0120] Low connectivity determination 402 may include one or more operations in which connectivity, including low connectivity, is determined in a plurality of sub-regions (e.g., S2 units) of a region (e.g., a geographic region). For example, low connectivity determination 402 may include a computing system (e.g., computing system 130) accessing one or more network data sources to determine connectivity in each of a plurality of sub-regions. In some embodiments, each of a plurality of sub-regions may include smaller sub-units, and each region may include a combination of sub-regions of different sizes.

[0121] Each of the plurality of sub-regions may be classified based at least in part on their respective connectivity. In this example, the classification of the sub-regions may include: connectivity category 404, which is a sub-region with no data; connectivity category 406, which is a sub-region with no connectivity measurements; or connectivity category 408, which is a sub-region with low network throughput.

[0122] Connectivity category 404 may be associated with a sub-region in which there is no available data associated with connectivity of the sub-region (e.g., offline map data and / or network data) or in which the amount of available data for the sub-region is below a predetermined threshold (e.g., the number of observations of connectivity in the sub-region is below a threshold). When a sub-region is classified into connectivity category 404, it may be determined that the sub-region has a default amount of connectivity. For example, a sub-region associated with connectivity category 404 may be determined to have no network connectivity.

[0123] Connectivity category 406 may be associated with sub-areas where available data associated with connectivity for the sub-area (e.g., offline map data and / or network data) indicates that no data is available or the amount of available data for the sub-area is below a predetermined threshold. For example, sub-areas in connectivity category 406 may include tunnels, parking garages, and / or other sub-areas that network signals cannot penetrate.

[0124] Connectivity category 408 may be associated with a sub-region in which the throughput (e.g., average throughput) of data is within a predetermined range determined to be low throughput. A sub-region associated with connectivity category 408 may have a mixture of high throughput and / or low throughput regions having an average throughput within the low throughput range.

[0125] Any remaining sub-regions that are not classified as belonging to the connectivity categories 404 - 408 may be determined to be high connectivity regions (eg, high network throughput sub-regions).

[0126] Low connectivity isolation 410 may include determining sub-areas associated with connectivity categories 404-408 that are surrounded by high connectivity sub-areas that will result in high connectivity within the area to which the sub-areas are associated (e.g., an area that includes some of the sub-areas). In this manner, sub-areas that exist within an average high network throughput area may be isolated. For example, parks, ponds, tunnels, parking garages, and other sub-areas with low connectivity that are typically present within a high connectivity urban area may be filtered.

[0127] Region generation 412 may include generating a plurality of regions (e.g., additional regions) based at least in part on a predetermined data size used to determine a physical size (e.g., square kilometers) of each of the plurality of regions. Thus, a region including many low network throughput sub-regions and no high network throughput sub-regions will be larger in size (e.g., geographic area) and larger in data density (e.g., KB / km) than a region having only high network throughput sub-regions. 2 ) is lower. In addition, the plurality of regions may be in various shapes, including polygonal (eg, rectangular, square, or irregularly shaped polygonal) or non-polygonal shapes.

[0128] The region prioritization 414 may include one or more operations to prioritize or rank regions based on some criteria including distance criteria 416 or destination prediction criteria 418. The distance criteria 416 may include prioritizing regions around a current region associated with a navigation device (e.g., computing device 102) based at least in part on the distance of the region from the current region. Regions that are farther away from the current region may be assigned a lower priority than regions that are closer to the current region.

[0129] The destination prediction criteria 418 may include prioritizing additional regions based at least in part on predicted travel destinations from the current region. For example, the computing system may access aggregated travel data including previous travel destinations from multiple regions. The aggregated travel data may be used to predict travel destinations, which may be prioritized based at least in part on how often each predicted travel destination has been traveled from the current region. For example, a previous travel destination may indicate that an immediately adjacent region is not directly connected by a road and is not a predicted travel destination, despite being closer to the current region than other regions.

[0130] Data transmission 420 may include one or more operations of sending data (e.g., offline map data) including information associated with the prioritized areas to one or more devices including a navigation device. In some embodiments, data transmission 420 may include periodically sending data based at least in part on the priority of the areas.

[0131] Figure 5An example of regional prioritization according to an example embodiment of the present disclosure is depicted. In multiple regions 500 ( Figure 5 Any operations and / or actions performed in the examples (depicted) may be performed by a computing device and / or computing system including one or more attributes and / or capabilities of computing device 102, computing system 130, training computing system 150, and / or one or more remote computing systems 170. Figure 5 As shown, multiple areas 500 include a navigation device 502, a current area 504, a direction of travel 506, additional areas 508, additional areas 510, additional areas 512, additional areas 514, additional areas 516, additional areas 518, additional areas 520 and additional areas 522.

[0132] In this example, navigation device 502 (e.g., a computing device including any of the attributes and / or capabilities of computing device 102) is located within current region 504 (e.g., a geographic region within a larger geographic region of region 500). Each of current region 504 and / or additional regions 508-522 may be associated with a corresponding amount of data (e.g., a portion of offline map data) that includes information describing spatial relationships and / or features of the respective regions, including spatial relationships and / or features of roads, buildings, waterways, and natural geographic features. Additionally, current region 504 and / or additional regions 508-522 may be associated with network connectivity within the region (including network throughput within each respective region).

[0133] The navigation device 502 can travel in various directions, including one of eight combined cardinal directions and intercardinal directions to any one of the regions 508-522, respectively. In one example, the navigation device 502 can travel from the current region 504 to the additional region 508 in the travel direction 506. The amount of data (e.g., one or more portions of the offline map data) that can be sent to the navigation device 502 before the navigation device reaches the additional region 508 can be based at least in part on the amount of time the navigation device 502 travels to the additional region 508 and the network throughput between the current location of the navigation device 502 and the edge between the current region 504 and the additional region 508.

[0134] Figure 6 An example of logon boundary determination in an environment according to an example embodiment of the present disclosure is depicted. In environment 600 ( Figure 6Any operations and / or actions performed in the examples (depicted) may be performed by a computing device and / or computing system including one or more attributes and / or capabilities of computing device 102, computing system 130, training computing system 150, and / or one or more remote computing systems 170. Figure 6 As shown, environment 600 includes navigation device 602 , entry boundary 604 , current region 606 , one or more additional regions 608 , distance 610 , distance 612 , sub-region 614 , and sub-region 616 .

[0135] In this example, the navigation device 602 (e.g., computing device 102) is located within the current area 606. The check-in boundary 604 indicates a location within the current area 606 where the navigation device 602 is to be sent (e.g., from the computing system 130) one or more portions of offline map data. In some embodiments, the distance between the edge of the current area 606 and the nearest portion of the check-in boundary 604 may be positively correlated with the amount of offline map data associated with the one or more additional areas 608 adjacent to the corresponding portion of the check-in boundary 604; and / or inversely correlated with the network throughput in the one or more additional areas 608 adjacent to the corresponding portion of the check-in boundary 604.

[0136] For example, distance 610 is greater than distance 612, which may indicate that a greater amount of offline map data is associated with the one or more additional areas of neighboring sub-area 614 than with the one or more additional areas 608 of neighboring sub-area 616. As a further example, distance 610 is greater than distance 612, which may indicate that a lower network throughput is associated with the one or more additional areas of neighboring sub-area 614 than with the one or more additional areas 608 of neighboring sub-area 616.

[0137] Figure 7 A flow chart of dynamic offline map provision and retrieval according to an example embodiment of the present disclosure is depicted. One or more portions of method 700 may be run and / or implemented on one or more computing devices or computing systems, including, for example, computing device 102, computing system 130, training computing system 150, and / or remote computing system 170. In addition, one or more portions of method 700 may be run or implemented as an algorithm on a hardware device or system disclosed herein. Figure 7 For the purpose of illustration and discussion, the steps performed in a specific order are depicted. Using the disclosure provided herein, one of ordinary skill in the art will understand that the various steps of any method disclosed herein may be adapted, modified, rearranged, omitted and / or expanded without departing from the scope of the present disclosure.

[0138] At 702, method 700 may include determining a current area. The current area may be associated with the current location of the navigation device. For example, a computing system (e.g., computing system 130) may receive one or more signals (e.g., wireless signals) from a navigation device (e.g., computing device 102), which may be configured to determine its own location. The one or more signals may include information associated with the location of the navigation device sent from the navigation device to the computing system. The computing system may then use the location of the navigation device to define a current area around the location. The current area may, for example, include: a predetermined radius around the current location of the navigation device; an area having a predetermined shape (e.g., a square) with the current location at its center; and / or an area that is part of a set of predefined areas, which may have different sizes and / or shapes previously determined by the computing system.

[0139] In some embodiments, the navigation device and the computing system may interact in a client-server relationship, where signals and / or data are communicated between a client device (e.g., a navigation device) requesting data and a server device (e.g., a computing system) sending data to the navigation device.

[0140] At 704, method 700 may include determining a predicted travel destination. The predicted travel destination may include a travel destination from the current area. The predicted travel destination may be based at least in part on aggregated travel data. In addition, the aggregated travel data may include previous travel destinations from the current area. For example, a computing system (e.g., computing system 130) and / or a navigation device (e.g., computing device 102) may access aggregated travel data associated with the current location of the navigation device (e.g., computing device 102) to determine a predicted travel destination from the current location. In addition, the predicted travel destination may include a travel path (e.g., a set of locations) from the current location to the predicted travel destination. In some embodiments, the computing system may send one or more portions of the aggregated travel data to the navigation device, which may perform one or more operations to determine the predicted travel destination from the current location.

[0141] In some embodiments, the computing device and / or navigation device may store previous travel destinations of the navigation device from various locations and / or regions. In addition, the determination of the predicted travel destination may be based at least in part on previous travel destinations of the navigation device from various locations and / or regions.

[0142] At 706, method 700 may include determining one or more additional regions associated with the current region based at least in part on the current region and the predicted destination of travel. For example, a computing system (e.g., computing system 130) and / or a navigation device (e.g., computing device 102) may access data including information associated with one or more additional regions (e.g., one or more geographic regions) that include the predicted destination of travel. The one or more additional regions may be determined based at least in part on one or more spatial relationships of one or more locations within the current region relative to one or more locations within the one or more additional regions. For example, the one or more additional regions may be determined based at least in part on being adjacent to the current region and / or within a threshold distance of the navigation device.

[0143] At 708, method 700 may include determining connectivity information based at least in part on the network data. The connectivity information may be associated with the network connectivity available to the navigation device in each of the one or more additional regions. For example, a computing system (e.g., computing system 130) and / or a navigation device (e.g., computing device 102) may access network data that includes an amount of network throughput available in each of the one or more additional regions. In addition, the network data may include information associated with a state of a communication network in each of the one or more additional regions at different times of the day. For example, the amount of available network throughput at one o'clock in the afternoon (1:00 p.m.) may be greater than the amount of available network throughput at six o'clock in the evening (6:00 p.m.).

[0144] In some embodiments, the method may be based at least in part on one or more machine learning models (e.g., Figure 1 The one or more machine learning models 120 and / or the one or more machine learning models 140 depicted in the foregoing may be configured and / or trained to determine any aspect of the connectivity information based at least in part on an input including any portion of the network data. For example, the one or more machine learning models may receive an input including a portion of the network data that does not include network throughput for an additional area (e.g., locations of cellular transmission towers surrounding the additional area), and may generate an output including connectivity information that includes network throughput in the additional area (e.g., estimated network throughput).

[0145] In addition, one or more machine learning models (e.g., one or more machine learning models implemented on computing system 130) can be trained using training data, the training data including network data (e.g., signal-to-noise ratio) associated with one or more aspects of a communication network in an area (e.g., an additional area) at previous time intervals. Using the training data as input, the output of the one or more machine learning models can be compared with ground-truth network connectivity information associated with the input (e.g., network throughput), and by evaluating and minimizing a loss associated with a loss function (e.g., a network throughput loss function), the one or more machine learning models can be trained at least in part based on the input including other information associated with the network data to more accurately generate outputs including estimated network throughput in the additional area.

[0146] In addition, the connectivity information may include the status of the communication network at one or more locations within the current area and / or one or more additional areas. For example, the current area may include four hundred sub-areas, and the connectivity information may include information associated with the status (e.g., the amount of network throughput) in each of the four hundred sub-areas.

[0147] At 710, method 700 may include prioritizing one or more additional regions based at least in part on the connectivity information. Furthermore, each of the one or more additional regions may be prioritized according to a set of criteria associated with the connectivity information. For example, a computing system (e.g., computing system 130) and / or a navigation device (e.g., computing device 102) may prioritize the regions based at least in part on an inverse correlation (negative correlation) between amounts of network throughput associated with the additional regions, such that one or more additional regions having a minimum network throughput are prioritized higher than one or more additional regions having a greater amount of network throughput.

[0148] In some embodiments, the set of criteria associated with connectivity information may be weighted. For example, a criterion associated with the amount of network throughput in the additional area below a threshold level may be weighted higher than a criterion associated with the size of offline data associated with the additional area.

[0149] At 712, method 700 may include sending one or more portions of offline map data to a navigation device. The one or more portions of the offline map data may be associated with corresponding one or more additional areas. In addition, the one or more portions of the offline map data may be sent to the navigation device in an order based at least in part on the priority of the one or more additional areas. For example, a computing system (e.g., computing system 130) may send one or more wireless signals to a navigation device (e.g., computing device 102) via a communication network (e.g., network 180). The one or more portions of the offline map data may be sent in an order based at least in part on the priority of the one or more additional areas (e.g., the portion of the offline map data associated with the highest priority additional area is sent first). In some embodiments, the navigation device may send one or more signals requesting one or more portions of the offline map data from the computing system. In addition, the one or more signals sent from the navigation device to the computing system may include the order in which the one or more portions of the offline map data are sent to the navigation device.

[0150] Figure 8 A flowchart of dynamic offline map provision and retrieval according to an example embodiment of the present disclosure is depicted. One or more portions of method 800 may be run and / or implemented on one or more computing devices or computing systems, including, for example, computing device 102, computing system 130, training computing system 150, and / or remote computing system 170. In addition, one or more portions of method 800 may be run or implemented as an algorithm on a hardware device or system disclosed herein. In some embodiments, one or more portions of method 800 may be implemented as a Figure 7 700 as a portion of the method 700 depicted in FIG. Figure 8 For the purpose of illustration and discussion, the steps performed in a specific order are depicted. Using the disclosure provided herein, one of ordinary skill in the art will understand that the various steps of any method disclosed herein may be adapted, modified, rearranged, omitted and / or expanded without departing from the scope of the present disclosure.

[0151] At 802, method 800 may include determining one or more login boundaries associated with each of the one or more additional areas, respectively. The one or more login boundaries may be based at least in part on network data associated with the current area. For example, a computing system (e.g., computing system 130) may receive one or more signals associated with the location of a navigation device (e.g., computing device 102). In addition, the computing system may access network data (e.g., locally stored network data and / or remotely stored network data) associated with the amount of network throughput available at the current location of the navigation device within the current area where the navigation device is located. The computing system may also access locally stored network data to determine the size of offline map data associated with the additional area to which the navigation device is traveling or predicted to travel. Based at least in part on the amount of network throughput available in the current area and the size of the offline map data, the computing system may determine that the offline map data can be downloaded to one or more login boundaries of the navigation device, and when the navigation device is located at the corresponding login boundary, one or more portions of the offline map data are sent to the navigation device.

[0152] As a further example, the navigation device may determine its location based at least in part on one or more signals from positioning satellites. In addition, the navigation device may access the computing system and request the computing system to send network data associated with an amount of network throughput available at the current location of the navigation device within the current area in which the navigation device is located. The navigation device may also access the computing system to determine the size of offline map data associated with the additional area to which the navigation device is traveling. Based at least in part on the amount of network throughput available in the current area and the size of the offline map data, the navigation device may determine one or more entry boundaries at which the offline map data may be sent to the navigation device before the navigation device is estimated to arrive at the additional area.

[0153] At 804, method 800 may include determining one or more check-in boundaries based at least in part on network throughput associated with one or more locations (e.g., one or more geographic locations) in each of the one or more regions. For example, a computing system (e.g., computing system 130) may receive one or more signals associated with a location of a navigation device (e.g., computing device 102). Based on the location of the navigation device, the computing system may determine one or more additional regions associated with a current region in which the navigation device is located. In addition, the computing system may access network data associated with an amount of network throughput available in each of the one or more additional regions. The computing system may also access the network data to determine a size of a portion of offline map data associated with an additional region to which the navigation device is traveling. Based on the size of the portion of offline map data and the amount of network throughput available in the additional region, the computing system may determine that offline map data can be downloaded to one or more check-in boundaries in which the navigation device is located, and send the offline map data to the navigation device when the navigation device is located at the corresponding check-in boundary.

[0154] As a further example, the navigation device may determine its location using one or more signals from positioning satellites. In addition, the navigation device may access the computing system and request network data associated with the amount of network throughput available at each of one or more additional areas associated with the current area in which the navigation device is located. The navigation device may also access the computing system to determine the size of offline map data associated with the additional area to which the navigation device is traveling. Based on the size of the portion of the offline map data and the amount of network throughput available in the additional area, the navigation device may determine one or more entry boundaries at which the offline map data may be downloaded to the navigation device before the navigation device is estimated to arrive at the additional area.

[0155] At 806, method 800 may include determining one or more log-in boundaries based at least in part on a data size of one or more portions of offline map data associated with each of the one or more regions. For example, a computing system (e.g., computing system 130) may receive one or more signals associated with a location of a navigation device (e.g., computing device 102). Based at least in part on the location of the navigation device, the computing system may determine one or more additional regions associated with a current region in which the navigation device is located. In addition, the computing system may access network data associated with a data size of offline map data associated with an additional region toward which the navigation device is traveling. Based on the size of the offline map data and / or an amount of network throughput available within the current region and / or the additional region, the computing system may determine that the offline map data can be downloaded to one or more log-in boundaries in which the navigation device is located, and send the offline map data to the navigation device when the navigation device is located at the corresponding log-in boundary.

[0156] In some embodiments, the navigation device can access the computing system to retrieve navigation data, the navigation data including the data size of one or more portions of offline map data associated with each of the one or more regions. In addition, the navigation device can determine its own location and perform one or more operations associated with determining one or more entry boundaries.

[0157] At 808, method 800 may include prioritizing one or more additional areas based at least in part on the proximity of the navigation device to each of the one or more log-in boundaries. For example, a computing system (e.g., computing system 130) may receive one or more signals associated with the location of a navigation device (e.g., computing device 102). Based on the location of the navigation device, the computing system may determine the proximity of the navigation device to one or more log-in boundaries (e.g., previously determined log-in boundaries). The computing system may then prioritize the one or more additional areas such that one or more additional areas closer to the current location of the navigation device are prioritized higher than one or more areas farther away from the navigation device. In some embodiments, the computing system may prioritize the one or more additional areas such that a portion of the one or more additional areas farther away from the current location of the navigation device is prioritized higher than one or more areas closer to the navigation device.

[0158] In some embodiments, the navigation device may perform one or more portions of operations associated with prioritizing one or more additional areas, including prioritizing one or more additional areas that are closer. For example, the navigation device may determine its own location and request data associated with the location (e.g., geographic location) of each of the one or more additional areas from the computing system. The navigation device may then prioritize the one or more log-in boundaries based at least in part on the proximity of the navigation device to the one or more log-in boundaries.

[0159] At 810, method 800 may include determining an amount of offline map data that can be sent to the navigation device within a login time period based at least in part on a current location of the navigation device. For example, a computing system (e.g., computing system 130) may receive one or more signals associated with a location of a navigation device (e.g., computing device 102). Based on the location of the navigation device, the computing system may determine one or more additional regions associated with a current region in which the navigation device is located. In addition, the computing system may access network data associated with an amount of network throughput available in each of the one or more additional regions and / or a size of offline map data associated with an additional region to which the navigation device is traveling. Based on the size of the offline map data and / or the amount of network throughput available in the additional region, the computing system may determine a login time period associated with an amount of time required to send one or more portions of the offline map data to the navigation device.

[0160] In some embodiments, the navigation device may perform one or more portions of operations associated with the amount of offline map data that can be sent to the navigation device within the login time period. For example, the navigation device may request data associated with the amount of offline map data in each of the one or more additional areas and the network throughput available within the additional areas. The navigation device may then perform some portions of one or more operations associated with determining one or more login boundaries based at least in part on the amount of offline map data that can be sent within the login time period.

[0161] Fig. 9 A flowchart of dynamic offline map provision and retrieval according to an example embodiment of the present disclosure is depicted. One or more portions of method 900 may be run and / or implemented on one or more computing devices or computing systems, including, for example, computing device 102, computing system 130, training computing system 150, and / or remote computing system 170. In addition, one or more portions of method 900 may be run or implemented as an algorithm on a hardware device or system disclosed herein. In some embodiments, one or more portions of method 900 may be implemented as a Figure 7 700 as a portion of the method 700 depicted in FIG. Fig. 9 For the purpose of illustration and discussion, the steps performed in a specific order are depicted. Using the disclosure provided herein, one of ordinary skill in the art will understand that the various steps of any method disclosed herein may be adapted, modified, rearranged, omitted and / or expanded without departing from the scope of the present disclosure.

[0162] At 902, method 900 may include determining when one or more additional regions include a foreign region associated with a nationality different from the current location. For example, a computing system (e.g., computing system 130) may use network data (e.g., including network data that classifies one or more locations as foreign or non-foreign) to compare one or more locations in the one or more additional regions with foreign region data that includes one or more locations associated with foreign regions and / or non-foreign regions. When the location of the additional region matches the foreign region, the computing system may determine that the additional region is a foreign region. The additional region may include foreign regions and non-foreign regions.

[0163] In some embodiments, when the additional area includes a foreign area and a non-foreign area, the portion of the additional area that is foreign can be determined as an additional area that is different and separate from the portion of the additional area that is non-foreign. In some embodiments, when the additional area includes a foreign area and a non-foreign area, the entirety of the additional area can be determined as a foreign area or a non-foreign area. In addition, whether the additional area is determined to be foreign or non-foreign can be based at least in part on the portion of the additional area that is determined to be a foreign area. For example, when the foreign portion of the additional area is greater than or equal to fifty percent (50%), the additional area is determined to be a foreign area.

[0164] In some embodiments, a navigation device (eg, computing device 102) may request data including network data from a computing system.Based at least in part on the network data, the navigation device may determine one or more additional regions associated with the foreign region.

[0165] At 904, method 900 may include determining connectivity information based at least in part on the aggregated foreign region data. The aggregated foreign region may include information associated with aggregated connectivity levels available within the foreign region. For example, a computing system (e.g., computing system 130) and / or a navigation device (e.g., computing device 102) may determine connectivity information for the foreign region based at least in part on accessing the aggregated foreign region data. In some embodiments, the aggregated foreign region data may, for example, include an indication of an average amount of network connectivity available across the foreign region.

[0166] Fig.10A flowchart of dynamic offline map provision and retrieval according to an example embodiment of the present disclosure is depicted. One or more portions of method 1000 may be run and / or implemented on one or more computing devices or computing systems, including, for example, computing device 102, computing system 130, training computing system 150, and / or remote computing system 170. In addition, one or more portions of method 1000 may be run or implemented as an algorithm on a hardware device or system disclosed herein. In some embodiments, one or more portions of method 1000 may be implemented as a Figure 7 700 as a portion of the method 700 depicted in FIG. Fig.10 For the purpose of illustration and discussion, the steps performed in a specific order are depicted. Using the disclosure provided herein, one of ordinary skill in the art will understand that the various steps of any method disclosed herein may be adapted, modified, rearranged, omitted and / or expanded without departing from the scope of the present disclosure.

[0167] At 1002, method 1000 may include determining a highest priority area in one or more additional areas. For example, a computing system (e.g., computing system 130) may access data associated with a prioritization of one or more additional areas and select an additional area with the highest priority. As a further example, a navigation device (e.g., computing device 102) may request data associated with a prioritization of one or more additional areas from a computing system and select an additional area with the highest priority. In some embodiments, the navigation device may access locally stored data associated with a prioritization of one or more additional areas and select an additional area with the highest priority.

[0168] At 1004, method 1000 may include sending one or more portions of offline map data associated with the highest priority area to the navigation device when the navigation device reaches a check-in boundary associated with the highest priority area. For example, when the navigation device is within a predetermined distance of the check-in boundary of the highest priority area, the navigation device (e.g., computing device 102) may send one or more wireless signals to a computing system (e.g., computing system 130). In response to receiving the one or more signals from the navigation device, the computing system may send one or more wireless signals including one or more portions of offline map data associated with the highest priority area to the navigation device. In some embodiments, the computing system may send the one or more portions of the offline map data to the navigation device at a predetermined time. For example, the computing system may determine an estimated time that the navigation device will reach the check-in boundary associated with the highest priority, and send the one or more portions of the offline map data at the estimated time.

[0169] Fig.11A flowchart of dynamic offline map provision and retrieval according to an example embodiment of the present disclosure is depicted. One or more portions of method 1100 may be run and / or implemented on one or more computing devices or computing systems, including, for example, computing device 102, computing system 130, training computing system 150, and / or remote computing system 170. In addition, one or more portions of method 1100 may be run or implemented as an algorithm on a hardware device or system disclosed herein. In some embodiments, one or more portions of method 1100 may be implemented as a Figure 7 700 as a portion of the method 700 depicted in FIG. Fig.11 For the purpose of illustration and discussion, the steps performed in a specific order are depicted. Using the disclosure provided herein, one of ordinary skill in the art will understand that the various steps of any method disclosed herein may be adapted, modified, rearranged, omitted and / or expanded without departing from the scope of the present disclosure.

[0170] At 1102, method 1100 may include increasing the priority of one or more additional areas where network connectivity is below a predetermined network connectivity threshold. For example, the predetermined network connectivity threshold may be a predetermined network throughput (e.g., 0.05 megabits per second). The computing system (e.g., computing system 130) may increase the priority of any of the one or more additional areas having a throughput equal to or below the 0.05 megabits per second threshold. As a further example, the predetermined network connectivity threshold may include a threshold portion of the additional area for which network connectivity is available. For example, using a ten percent network connectivity availability threshold, the priority of the following additional area may be increased in which the network connectivity is available in less than ten percent of the additional area.

[0171] At 1104, method 1100 may include determining a data size for each of the one or more portions of the offline map data. For example, the network data may include information associated with a data size (e.g., a data size in megabytes) of the one or more portions of the offline map data respectively associated with each of the one or more additional regions. A computing system (e.g., computing system 130) and / or a navigation device (e.g., computing device 102) may then access the network data to determine a data size for each of the one or more portions of the offline map data.

[0172] At 1106, method 1100 may include prioritizing the one or more additional regions based at least in part on a data size of each of the one or more portions of the offline map data. A computing system (e.g., computing system 130) and / or a navigation device (e.g., computing device 102) may prioritize the one or more additional regions such that one or more additional regions associated with the corresponding one or more portions of the offline map data having a larger data size have a higher priority and one or more additional regions associated with the portion of the offline map data having a smaller data size have a lower priority.

[0173] At 1108, method 1100 may include prioritizing the one or more additional regions based at least in part on a distance from the navigation device to each of the one or more additional regions, respectively. A computing system (e.g., computing system 130) and / or a navigation device (e.g., computing device 102) may prioritize one or more portions of the offline map data such that one or more portions of the offline map data that are closer to the navigation device have a higher priority, while one or more additional regions that are farther from the navigation device have a lower corresponding priority.

[0174] The technology discussed here refers to servers, databases, software applications and other computer-based systems, as well as the actions taken and the information sent to and from these systems. Those of ordinary skill in the art will recognize that the inherent flexibility of computer-based systems allows for various possible configurations, combinations, and the division of tasks and functions between components. For example, the server processes discussed here can be implemented using a single server or multiple servers working in combination. Databases and applications can be implemented on a single system or distributed on multiple systems. Distributed components can operate sequentially or in parallel.

[0175] Although the subject matter has been described in detail with respect to specific example embodiments of the subject matter, it will be understood that those skilled in the art, after gaining an understanding of the foregoing, may easily generate variations, changes, and equivalents to these embodiments. Therefore, the scope of the present disclosure is exemplary rather than restrictive, and the present disclosure does not exclude including such modifications, changes, and / or additions to the subject matter as would be readily apparent to one of ordinary skill in the art.

Claims

1. A computer-implemented method comprising: determining, by a computing system including one or more processors, a current region associated with a current location of the navigation device; determining, by the computing system, a predicted travel destination from a current area; determining, by the computing system, one or more additional regions associated with the current region based at least in part on the current region and the predicted destination of travel; determining, by the computing system, connectivity information based at least in part on the network data, wherein the connectivity information is associated with network connectivity available to the navigation device within each of the one or more additional regions; Prioritizing, by the computing system, the one or more additional regions relative to each other based at least in part on the connectivity information of each of the one or more additional regions, wherein prioritizing the one or more additional regions further comprises: determining, by the computing system, a data size of each of the one or more portions of the offline map data; and prioritizing, by the computing system, the one or more additional regions based at least in part on a data size of each of the one or more portions of the offline map data; and One or more portions of the offline map data associated with the corresponding one or more additional areas are sent by the computing system to the navigation device in an order based at least in part on the priority of the one or more additional areas.

2. The computer-implemented method of claim 1, in, Determining, by the computing system, connectivity information based at least in part on the network data, wherein the connectivity information is associated with network connectivity available to the navigation device within each of the one or more additional regions, includes: One or more check-in boundaries associated with each of one or more additional areas are determined by a computing system at least in part based on network data associated with the current area, wherein the one or more check-in boundaries include one or more locations at which one or more portions of offline map data for the corresponding area are sent to the navigation device.

3. The computer-implemented method of claim 2, further comprising: One or more check-in boundaries are determined, by the computing system, based at least in part on a network throughput associated with one or more locations in each of the one or more additional regions.

4. The computer-implemented method of claim 2, further comprising: One or more check-in boundaries are determined, by the computing system, based at least in part on a data size of one or more portions of the offline map data associated with each of the one or more additional areas.

5. The computer-implemented method of claim 2, wherein: Prioritizing, by the computing system, the one or more additional regions relative to each other is also based at least in part on a proximity of the navigation device to each of the one or more check-in boundaries.

6. The computer-implemented method of claim 2, further comprising: An amount of offline map data that can be sent to the navigation device within a login time period is determined by a computing system based at least in part on a current location of the navigation device, the login time period comprising an amount of time between when the navigation device is located at a nearest login boundary of one or more login boundaries and when the navigation device reaches an additional area associated with the nearest login boundary, wherein the login time period is based at least in part on a speed of the navigation device.

7. The computer-implemented method of claim 1 , wherein connectivity information associated with network connectivity available to the navigation device within each of the one or more additional regions, and Determining, by a computing system, connectivity information based at least in part on the network data includes: determining, by the computing system, when the one or more additional regions include a foreign region associated with a nationality different from the current location; as well as Connectivity information is determined, by a computing system, based at least in part on aggregated foreign region data, the aggregated foreign region data including information associated with an aggregate level of connectivity available within the foreign region.

8. The computer-implemented method of claim 7, wherein: The aggregated foreign region data is based at least in part on an average amount of network connectivity provided by carrier networks within the foreign region.

9. The computer-implemented method of claim 8, wherein: The average amount of network connectivity is based at least in part on a sample weighted mean of network connectivity within the foreign region.

10. The computer-implemented method of claim 1, wherein: The one or more additional regions associated with the current region include one or more additional regions adjacent to the current region, one or more additional regions within a predetermined distance from the current region, one or more additional regions outside a predetermined distance from the current region, or one or more additional regions overlapping with the current region.

11. The computer-implemented method of claim 1 , wherein: Prioritizing, by the computing system, the one or more additional areas includes: A priority of a region among the one or more additional regions in which the network connectivity is below a predetermined network connectivity threshold is increased by the computing system.

12. The computer-implemented method of claim 1, wherein: The connectivity information for each of the one or more additional areas indicates at least one of a signal strength in one or more locations in each of the one or more additional areas, a signal-to-noise ratio in one or more locations in each of the one or more additional areas, or a network throughput in one or more locations in each of the one or more additional areas.

13. The computer-implemented method of claim 1, wherein: Sending, by the computing system, to the navigation device one or more portions of offline map data associated with the corresponding one or more additional areas in an order based at least in part on the priorities of the one or more additional areas, comprises: determining, by the computing system, a highest priority additional region among the one or more additional regions; as well as When the navigation device reaches a check-in boundary associated with a highest priority additional area, one or more portions of offline map data associated with the highest priority additional area are sent by the computing system to the navigation device, wherein the check-in boundary associated with the highest priority additional area is located at a predetermined distance from a nearest edge of the highest priority additional area.

14. The computer-implemented method of claim 13, wherein: The entry boundary associated with the highest priority additional area is located at a predetermined distance from the nearest edge of the highest priority additional area.

15. One or more tangible, non-transitory computer-readable media storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: determining a current region associated with a current location of the navigation device; determining a predicted travel destination from a current area; determining one or more additional regions associated with the current region based at least in part on the current region and the predicted destination of travel; determining connectivity information based at least in part on the network data, wherein the connectivity information is associated with network connectivity available to the navigation device within each of the one or more additional regions; Prioritizing the one or more additional regions relative to each other based at least in part on the connectivity information of each of the one or more additional regions, wherein prioritizing the one or more additional regions further comprises: determining a data size of each of the one or more portions of the offline map data; and prioritizing the one or more additional regions based at least in part on a data size of each of the one or more portions of offline map data; and One or more portions of the offline map data associated with the respective one or more additional areas are sent to the navigation device in an order based at least in part on the priority of the one or more additional areas.

16. The one or more tangible, non-transitory computer-readable media of claim 15, wherein: Determining a predicted travel destination from the current area includes determining the predicted travel destination from the current area based at least in part on aggregated travel data, wherein the aggregated travel data includes previous travel destinations from the current area associated with a plurality of navigation devices.

17. The one or more tangible, non-transitory computer-readable media of claim 15, wherein: The size of each of the one or more additional regions is directly related to the distance from the current location of the navigation device to each of the one or more additional regions, respectively.

18. A computing system comprising: one or more processors; One or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: determining a current region associated with a current location of the navigation device; determining a predicted travel destination from a current area; determining one or more additional regions associated with the current region based at least in part on the current region and the predicted destination of travel; determining connectivity information based at least in part on the network data, wherein the connectivity information is associated with network connectivity available to the navigation device within each of the one or more additional regions; Prioritizing the one or more additional regions relative to each other based at least in part on the connectivity information of each of the one or more additional regions, wherein prioritizing the one or more additional regions further comprises: determining a data size of each of the one or more portions of the offline map data; and prioritizing the one or more additional regions based at least in part on a data size of each of the one or more portions of offline map data; and One or more portions of the offline map data associated with the respective one or more additional areas are sent to the navigation device in an order based at least in part on the priority of the one or more additional areas.

19. The computing system of claim 18, wherein: Determining a predicted travel destination from the current area includes determining the predicted travel destination from the current area based at least in part on aggregated travel data, wherein the aggregated travel data includes previous travel destinations from the current area associated with a plurality of navigation devices.

20. The computing system of claim 18, wherein: The network data includes at least one of the following: the size of each of the one or more portions of offline map data associated with each of the one or more additional areas, one or more low connectivity areas where the network throughput is below a network throughput threshold, signal strength in one or more locations in each of the one or more additional areas, signal-to-noise ratio in one or more locations in each of the one or more additional areas, or network throughput in one or more locations in each of the one or more additional areas.