Pre-Fetching Map Data Based on a Tile Budget
Abstract
To select map data for storage in a memory of a computing device, geographic locations for which a user of a client device is expected to subsequently request digital maps are determined. Prior to receiving a user request for map data related to the geographic locations, pre-fetch map data for generating digital maps including the plurality of geographic locations is determined. Further, a memory budget for storing map data in a memory of the client device is determined along with a priority for retrieving map data from a remote database to the memory of the client device. At least a portion of the determined pre-fetch map data is retrieved from the remote database to the memory of the client device in accordance with the determined memory budget and the determined priority.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for selecting map data for storage in a memory of a computing device, the method comprising:
determining, by one or more processors, a plurality of geographic locations for which a user of a client device is expected to subsequently request digital maps; prior to receiving a user request for map data related to the plurality of geographic locations, determining, by one or more processors, pre-fetch map data for generating digital maps including the plurality of geographic locations; determining, by one or more processors, a memory budget for storing map data in a memory of the client device; determining, by one or more processors, a priority for retrieving map data from a remote database to the memory of the client device; and causing, by one or more processors, retrieval of at least a portion of the determined pre-fetch map data from the remote database to the memory of the client device in accordance with the determined memory budget and the determined priority.
2 . The method claim 1 , wherein determining the memory budget is based on one or more of (i) a number of map tiles, each tile corresponding to a portion of a digital map of a fixed size at a certain zoom level, or (ii) a pre-set amount of memory in the client device.
3 . The method of claim 1 , wherein determining the priority is based on which points of interest were most recently accessed by the user.
4 . The method of claim 1 , wherein determining the priority is based on which points of interest were most frequently accessed by the user.
5 . The method of claim 1 , wherein determining the priority is based on an amount of time during which a point of interest previously was displayed on a digital map.
6 . The method of claim 1 , wherein prioritizing the plurality of points of interest based on previous user selections.
7 . The method of claim 1 , further comprising:
identifying, by one or more processors, one or more zoom levels of the pre-fetch map data based on a zoom level most recently used by the user.
8 . The method of claim 1 , further comprising:
identifying, by one or more processors, one or more zoom levels of the pre-fetch map data based on a zoom level most frequently used by the user.
9 . The method of claim 1 , wherein causing the retrieval includes causing the a remote server to transmit at least some of the pre-fetch map data in order from highest to lowest priority, including:
during the retrieval, continuously checking whether the tile budget has been met, and causing the client device to stop receiving further pre-fetch map data when the tile budget has been met.
10 . A client device comprising:
one or more processors; a user interface; a non-transitory computer-readable memory storing thereon instructions that, when executed on one or more processors, cause the client device to:
determine a memory budget for storing map data in the memory,
prior to receiving a user request for map data related a plurality of geographic locations for which a user of the client device is expected to subsequently request digital maps, receive at least a portion of pre-fetch map data for generating digital maps including the plurality of geographic locations, wherein the pre-fetch map data is selected based on the determined budget, and wherein the pre-fetch map data is transmitted to the client device from a remote map database in accordance with a determined priority, and
in response to a subsequent request for a digital map including one or more of the plurality of geographic locations, generate the digital map using the pre-fetch map data stored the memory.
11 . The client device of claim 10 , wherein the instructions determine the memory budget based on one or more of (i) a number of map tiles, each tile corresponding to a portion of a digital map of a fixed size at a certain zoom level, or (ii) a pre-set amount of memory in the client device.
12 . The client device of claim 10 , wherein the priority is determined based on one or more of:
(i) which points of interest were most recently accessed by the user, (ii) which points of interest were most frequently accessed by the user, (iii) an amount of time during which a point of interest previously was displayed on a digital map, or (iv) previous user selections.
13 . The client device of claim 10 , wherein the pre-fetch map data is transmitted in order from highest to lowest priority, and wherein the instructions further cause the client device to:
during the retrieval, continuously check whether the tile budget has been met, and stop receiving further pre-fetch map data when the tile budget has been met.
14 . The client device of claim 10 , wherein the instructions further cause the client device to:
identify one or more zoom levels of the pre-fetch map data based on a zoom level most recently used by the user.
15 . The client device of claim 10 , wherein the instructions further cause the client device to:
identify one or more zoom levels of the pre-fetch map data based on a zoom level most frequently used by the user.
16 . A non-transitory computer-readable medium storing thereon instructions that, when executed by one or more processors, cause the one or more processors to:
determine a plurality of geographic locations for which a user of a client device is expected to subsequently request digital maps; prior to receiving a user request for map data related to the plurality of geographic locations, determine pre-fetch map data for generating digital maps including the plurality of geographic locations; determine a memory budget for storing map data in a memory of the client device; determine a priority for retrieving map data from a remote database to the memory of the client device; and cause retrieval of at least a portion of the determined pre-fetch map data from the remote database to the memory of the client device in accordance with the determined memory budget and the determined priority.
17 . The computer-readable medium of claim 16 , wherein the instructions further cause the one or more processors to determine the memory budget based on one or more of (i) a number of map tiles, each tile corresponding to a portion of a digital map of a fixed size at a certain zoom level, or (ii) a pre-set amount of memory in the client device.
18 . The computer-readable medium of claim 16 , wherein the instructions cause the one or more processors to determine the priority based on one or more of:
(i) which points of interest were most recently accessed by the user, (ii) which points of interest were most frequently accessed by the user, (iii) an amount of time during which a point of interest previously was displayed on a digital map, or (iv) previous user selections.
19 . The computer-readable medium of claim 16 , wherein the instructions further cause the client device to:
identify one or more zoom levels of the pre-fetch map data based on a zoom level most recently used by the user.
20 . The computer-readable medium of claim 16 , wherein the instructions further cause the client device to:
identify one or more zoom levels of the pre-fetch map data based on a zoom level most frequently used by the user.Join the waitlist — get patent alerts
Track US2015286741A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.