IP Library Granted Patent US 9,686,357
Granted Patent B1
US 9,686,357 · App. 15/349,794 · Granted Jun 20, 2017

Mapping content delivery

Inventors: William Waldrep (Palo Alto, CA); John Carrino (Redwood City, CA); Peter Wilczynski (San Francisco, CA); Daniel Paquette (Ashburn, VA)
Assignee: Palantir Technologies Inc.
H04L67/1095H04L67/18H04L67/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,686,357
App. No.
15/349,794
Granted
Jun 20, 2017
Kind
B1
Abstract

Aspects of the present disclosure relate to mapping content delivery. A client device provides, to a map management server, a request for a map of a geographic region. The client device receives, from the map management server, an identification of tiles for the map. The client device provides, to a first tile server, a request for the tiles for the map. In response to receiving the tiles from the first tile server: the client device displays the map of the geographic region based on the tiles.

Claims (54)

1. A method implemented at a client device, the method comprising:

providing, to a map management server and from the client device, a request for a map of a geographic region;

receiving, from the map management server in response to the request for the map, an identification of tiles for the map;

providing, to a first tile server and from the client device, a request for the tiles for the map;

in response to receiving the tiles from the first tile server:

providing for display, at the client device, of the map of the geographic region based on the tiles; and

in response to failing to receive the tiles from the first tile server:

providing a plurality of requests for the tiles for the map, each request from the plurality of request being directed to one of a plurality of tile servers;

receiving, from a second tile server from among the plurality of tile servers, an indication that the second tile server is capable of providing the tiles for the map;

cancelling, in response to the indication from the second tile server, the request for the tiles from each other tile server in the plurality of tile servers;

receiving the tiles from the second tile server; and

providing for display, at the client device, of the map of the geographic region based on the tiles.

2. The method of claim 1 , wherein failing to receive the tiles from the first tile server comprises receiving a failure message from the first tile server.

3. The method of claim 1 , wherein failing to receive the tiles from the first tile server comprises failing to receive a response to the request to the first tile server during a threshold time period after providing the request to the first tile server.

4. The method of claim 1 , further comprising:

selecting the first tile server from a set of tile servers based on a geographic distance between the client device and the first tile server being less than a geographic distance between the client device and each other tile server from among the set of tile servers.

5. The method of claim 4 , wherein the set of tile servers comprises the first tile server and the plurality of tile servers.

6. The method of claim 1 , wherein each tile from among the tiles tile stores a portion of the map at a given zoom level as an image taking up a predefined area measured in pixels.

7. The method of claim 1 , wherein each of the plurality of tile servers stores geographic information for a different geographic area.

8. A non-transitory machine-readable medium storing instruction which, when executed by one or more processors of a client device, cause the client device to implement operations comprising:

providing, to a map management server and from the client device, a request for a map of a geographic region;

receiving, from the map management server in response to the request for the map, an identification of tiles for the map;

providing, to a first tile server and from the client device, a request for the tiles for the map;

in response to receiving the tiles from the first tile server:

providing for display, at the client device, of the map of the geographic region based on the tiles; and

in response to failing to receive the tiles from the first tile server:

providing a plurality of requests for the tiles for the map, each request from the plurality of request being directed to one of a plurality of tile servers;

receiving, from a second tile server from among the plurality of tile servers, an indication that the second tile server is capable of providing the tiles for the map;

cancelling, in response to the indication from the second tile server, the request for the tiles from each other tile server in the plurality of tile servers;

receiving the tiles from the second tile server; and

providing for display, at the client device, of the map of the geographic region based on the tiles.

9. The machine-readable medium of claim 8 , wherein failing to receive the tiles from the first tile server comprises receiving a failure message from the first tile server.

10. The machine-readable medium of claim 8 , wherein failing to receive the tiles from the first tile server comprises failing to receive a response to the request to the first tile server during a threshold time period after providing the request to the first tile server.

11. The machine-readable medium of claim 8 , the operations further comprising:

selecting the first tile server from a set of tile servers based on a geographic distance between the client device and the first tile server being less than a geographic distance between the client device and each other tile server from among the set of tile servers.

12. The machine-readable medium of claim 11 , wherein the set of tile servers comprises the first tile server and the plurality of tile servers.

13. The machine-readable medium of claim 8 , wherein each tile from among the tiles tile stores a portion of the map at a given zoom level as an image taking up a predefined area measured in pixels.

14. The machine-readable medium of claim 8 , wherein each of the plurality of tile servers stores geographic information for a different geographic area.

15. A client device comprising:

one or more processors; and

a memory storing instruction which, when executed by the one or more processors, cause the client device to implement operations comprising:

providing, to a map management server and from the client device, a request for a map of a geographic region;

receiving, from the map management server in response to the request for the map, an identification of tiles for the map;

providing, to a first tile server and from the client device, a request for the tiles for the map;

in response to receiving the tiles from the first tile server:

providing for display, at the client device, of the map of the geographic region based on the tiles; and

in response to failing to receive the tiles from the first tile server:

providing a plurality of requests for the tiles for the map, each request from the plurality of request being directed to one of a plurality of tile servers:

receiving, from a second tile server from among the plurality of tile servers, an indication that the second tile server is capable of providing the tiles for the map;

cancelling, in response to the indication from the second tile server, the request for the tiles from each other tile server in the plurality of tile servers;

receiving the tiles from the second tile server; and

providing for display, at the client device, of the map of the geographic region based on the tiles.

16. The client device of claim 15 , wherein failing to receive the tiles from the first tile server comprises receiving a failure message from the first tile server.

17. The client device of claim 15 , wherein failing to receive the tiles from the first tile server comprises failing to receive a response to the request to the first tile server during a threshold time period after providing the request to the first tile server.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2017
From: WALDREP, WILLIAM; CARRINO, JOHN; WILCZYNSKI, PETER; PAQUETTE, DANIEL
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 042257/0521 →
Continuity (1)
Provisional Application 62369977 · Aug 2, 2016