Adaptive geographical data caching based on a route pattern

US2020004844A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020004844-A1
Application numberUS-201816023594-A
CountryUS
Kind codeA1
Filing dateJun 29, 2018
Priority dateJun 29, 2018
Publication dateJan 2, 2020
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Various embodiments partition map data into discrete portions of map data based on predetermined boundaries, and individual map data portions (e.g., shards) are assigned to individual computing nodes in a plurality of computing nodes that service geographic routing requests. A routing component associated with the plurality of computing nodes directs the geographic routing request to one or more computing nodes. The computing nodes adaptively cache geographical map data based on, for example, data relating to past geographic routes. Once cached at a computing node in a plurality of computing nodes, the computing node services current and future geographic routing requests using its assigned portion of map data and one or more portions of map data adaptively cached at the computing node, thereby reducing chances of more than one computing node getting involved in servicing a request.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system comprising: a plurality of computing nodes for servicing geographic routing requests between origin locations and destination locations, each computing node in the plurality of computing nodes being assigned a portion of map data for servicing a geographic routing request, a computing node in the plurality of computing nodes comprising a cache, the computing node performing operations comprising: loading an assigned portion of map data for use, by the computing node, in servicing a received geographic routing request; receiving a particular geographic routing request; analyzing the particular geographic routing request to determine whether the particular geographic routing request involves map data not included by the assigned portion of map data; and in response to determining that the particular geographic routing request involves map data not included by the assigned portion of map data, requesting, from the cache, additional map data for the particular geographic routing request, the additional map data being different from the assigned portion of map data. 2 . The system of claim 1 , wherein the operations further comprise: determining whether the requesting the additional map data from the cache results in a cache miss; and in response to determining that the requesting the additional map data from the cache results in the cache miss, accessing the additional map data from a data source external from the computing node. 3 . The system of claim 1 , wherein the assigned portion comprises a map data shard. 4 . The system of claim 1 , wherein the particular geographic routing request is directed to the computing node based on the assigned portion of map data. 5 . The system of claim 1 , wherein the operations further comprise: generating, based on the particular geographic request, a geographic route using the assigned portion of map data and the additional map data; and responding to the particular geographic request with the generated geographic route. 6 . The system of claim 1 , wherein the additional map data comprises a second portion of map data that includes an origin location or a destination location associated with the particular geographic route request. 7 . The system of claim 6 , wherein the additional map data further comprises a minimum number of other portions of map data that surround the second portion of map data. 8 . A method comprising: loading, at a computing node, an assigned portion of map data for use, by the computing node, in servicing a received geographic routing request; accessing, at the computing node, historical geographic route data describing one or more geographic routes generated in the past; identifying, at the computing node, additional map data based on the accessed historical geographic route data, the additional map data being different from the assigned portion of map data; and accessing, at the computing node, the additional map data from a data source external to the computing node. 9 . The method of claim 8 , wherein the identifying the additional map data based on the accessed historical geographic route data comprises: determining, based on the accessed historical geographic route data, a set of destination locations visited from a set of origin locations covered by the assigned portion of map data, the additional map data at least covering a set of routes from the one or more origin locations to the set of destination locations. 10 . The method of claim 8 , wherein the assigned portion comprises a map data shard. 11 . The method of claim 8 , further comprising: storing the additional map data to a cache at the computing node. 12 . The method of claim 11 , further comprising: receiving, at the computing node, a particular geographic routing request between a particular origin location covered by the assigned portion of map data and a particular destination location; analyzing the particular geographic routing request to determine whether the particular geographic routing request involves map data not included by the assigned portion of map data; and in response to determining that the particular geographic routing request involves map data not included by the assigned portion of map data, requesting, from the cache, particular map data that covers at least one route from the particular origin location to the particular destination location, the particular map data being different from the assigned portion of map data. 13 . The method of claim 12 , wherein the particular destination location is included in the set of destination locations, and the method further comprises: in response to the requesting the particular map data from the cache: determining whether the particular map data is stored in the cache; and in response to the determining that the particular map data is stored in the cache, accessing the particular map data from the additional map data stored on the cache. 14 . The method of claim 12 , further comprising: determining whether the requesting the particular map data from the cache results in a cache miss; and in response to determining that the requesting the particular map data from the cache results in the cache miss, accessing the particular map data from a data source external from the computing node. 15 . The method of claim 8 , wherein the computing node is part of a plurality of computing nodes for servicing geographic routing requests between origin locations and destination locations, each computing node in the plurality of computing nodes being assigned a portion of map data for servicing a geographic routing request. 16 . A non-transitory computer storage medium comprising instructions that, when executed by one or more hardware processors of a computing node, cause the computing node to perform operations comprising: loading an assigned portion of map data for use, by the computing node, in servicing a received geographic routing request; accessing, from a data source external to the computing node, additional map data based on the assigned portion of the map data; and storing the additional map data to a cache at the computing node. 17 . The non-transitory computer storage medium of claim 16 , wherein the accessing the additional map data based on the assigned portion of the map data comprises: identifying map data falling within a boundary of a geometric shape positioned relative to the assigned portion of map data, the additional map data comprising the identified map data. 18 . The non-transitory computer storage medium of claim 16 , wherein the accessing the additional map data based on the assigned portion of the map data comprises accessing a set of portions of map data associated with the assigned portion of data. 19 . The non-transitory computer storage medium of claim 16 , wherein the assigned portion comprises a map data shard. 20 . The non-transitory computer storage medium of claim 16 , wherein the operations further comprise: receiving a particular geographic routing request; analyzing the particular geographic routing request to determine whether the particular geographic routing request involves map data not included by the assigned portion of map data; and in response to determining that the particular geographic routing request involves map data not included by the assigned portion of map data, requesting, from the cache, particular map data for the particular geographic routing request, the particular map d

Assignees

Inventors

Classifications

  • Guidance services · CPC title

  • Location-based management or tracking services · CPC title

  • G06F16/29Primary

    Geographical information databases · CPC title

  • Systems involving transmission of navigation instructions to the vehicle · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2020004844A1 cover?
Various embodiments partition map data into discrete portions of map data based on predetermined boundaries, and individual map data portions (e.g., shards) are assigned to individual computing nodes in a plurality of computing nodes that service geographic routing requests. A routing component associated with the plurality of computing nodes directs the geographic routing request to one or mor…
Who is the assignee on this patent?
Uber Technologies Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/29. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 02 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).