Dynamically determining a tile budget when pre-fetching data in a client device
First Claim
Patent Images
1. A computer-implemented method comprising:
- identifying, on a client device, one or more map points of interest;
identifying, based on the map points of interest, pre-fetch map data tiles to be requested from a remote map database and stored on the client device for eventual rendering of a visual display of map data in response to a subsequent user request;
determining, at the client device, a tile budget for storing the pre-fetch map data tiles at the client device;
requesting, from a remote map database storing the map data, the pre-fetch map data tiles corresponding to one or more map points of interest;
receiving, at the client device, the pre-fetch map data tiles from the remote map database;
during receiving of the pre-fetch map data tiles;
(i) determining a change in availability, at the client device, of memory or network bandwidth;
(ii) in response to determining the change in availability of memory or network bandwidth, dynamically adjusting, at the client device, the tile budget for storing the pre-fetch map data tiles at the client device; and
(iii) determining if the tile budget has been met by the received pre-fetch map data tiles, where;
when the tile budget has been met, the client device stops receiving additional pre-fetch map data tiles from the map database, andwhen the tile budget has not been met, the client device continues receiving additional pre-fetch map data tiles from the map database until the tile budget is met or until all pre-fetch map data tiles corresponding to the one or more map points of interest have been received at the client device; and
storing the received pre-fetch map data tiles in a local memory on the client device until a subsequent user request.
2 Assignments
0 Petitions
Accused Products
Abstract
A pre-fetching map data system and method identifies a subset of map data to corresponding to one or more points of interest to be displayed on the map. The map data is stored on a remote map database in map data tiles. The pre-fetching map data system identifies those map data tiles that correspond to the one or more points of interest, where the identified pre-fetch map data tiles are sent from the remote database to a client device for cache storage. The number of pre-fetch map data tiles are determined using a tile budget that is dynamically adjusted in response to changing conditions on a client device.
188 Citations
36 Claims
-
1. A computer-implemented method comprising:
-
identifying, on a client device, one or more map points of interest; identifying, based on the map points of interest, pre-fetch map data tiles to be requested from a remote map database and stored on the client device for eventual rendering of a visual display of map data in response to a subsequent user request; determining, at the client device, a tile budget for storing the pre-fetch map data tiles at the client device; requesting, from a remote map database storing the map data, the pre-fetch map data tiles corresponding to one or more map points of interest; receiving, at the client device, the pre-fetch map data tiles from the remote map database; during receiving of the pre-fetch map data tiles; (i) determining a change in availability, at the client device, of memory or network bandwidth; (ii) in response to determining the change in availability of memory or network bandwidth, dynamically adjusting, at the client device, the tile budget for storing the pre-fetch map data tiles at the client device; and (iii) determining if the tile budget has been met by the received pre-fetch map data tiles, where; when the tile budget has been met, the client device stops receiving additional pre-fetch map data tiles from the map database, and when the tile budget has not been met, the client device continues receiving additional pre-fetch map data tiles from the map database until the tile budget is met or until all pre-fetch map data tiles corresponding to the one or more map points of interest have been received at the client device; and storing the received pre-fetch map data tiles in a local memory on the client device until a subsequent user request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable medium storing instructions, the instructions when executed by a processor cause the processor to:
-
identify, on a client device, one or more map points of interest; identify, based on the map points of interest, pre-fetch map data tiles to be requested from a remote map database and stored on the client device for eventual rendering of a visual display of map data in response to a subsequent user request; determine, at the client device, a tile budget for storing the pre-fetch map data tiles at the client device; request, from a remote map database storing the map data, the pre-fetch map data tiles corresponding to one or more map points of interest; receive, at the client device, the pre-fetch map data tiles from the remote map database; during receiving of the pre-fetch map data tiles; (i) determine a change in availability, at the client device, of memory or network bandwidth; (ii) in response to determining the change in availability of memory or network bandwidth, dynamically adjust the tile budget for storing the pre-fetch map data tiles at the client device; (iii) determine, at the client device, if the tile budget has been met by the received pre-fetch map data tiles, where; when the tile budget has been met, the client device stops receiving additional pre-fetch map data tiles from the map database, and when the tile budget has not been met, the client device, continues receiving additional pre-fetch map data tiles from the map database until the tile budget is met or until all pre-fetch map data tiles corresponding to the one or more map points of interest have been received at the client device; and store the received pre-fetch map data tiles in a local memory on the client device until a subsequent user request. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A computer system for fetching map tile data to be used in constructing a visual display of map data on a client device, the computer system comprising:
-
one or more processors of a computer system; and one or more memories of the computer system storing a plurality of modules including instructions for execution on the one or more processors, the modules including; a display module including instructions executed on the one or more processors to cause the computer system to construct and display the visual display of the map data, where the map data is stored in a remote map database as a plurality of map data tiles; a map point identifier module including instructions executed on the one or more processors to cause the computer system to identify one or more map points of interest that define pre-fetch map data tiles that are requested from a remote map database and stored on the computer system for eventual rendering of a visual display of map data in response to a subsequent user request; a database interface module including instructions executed on the one or more processors to cause the computer system to request, from the map database, the pre-fetch map data tiles from the remote map database and to receive the pre-fetch map data tiles from the remote map database; and a tile budget module including instructions executed on the one or more processors to, during receiving of the pre-fetch map data tiles, cause the computer system to; (i) determine a change in availability, at the computer system, of memory or network bandwidth; (ii) in response to determining the change in availability of memory or network bandwidth, dynamically adjust a previously determined tile budget for storing the pre-fetch map data tiles and determine if the tile budget has been met by the received pre-fetch map data tiles, wherein; when the tile budget has been met, the database interface module is to stop receiving additional pre-fetch map data tiles from the remote map database, and when the tile budget has not been met, the database interface module is to continue receiving additional pre-fetch map data tiles from the map database until the tile budget is met or until all pre-fetch map data tiles corresponding to the one or more map points of interest have been received at the client device. - View Dependent Claims (27, 28, 29, 30, 33, 34, 35, 36)
-
- 31. The computer system of 26, wherein the tile budget module includes further instructions executed on the one or more processors to determine an available number of map tile memory slots on the client device for storing the pre-fetch map data tiles.
Specification