Theoretical peer-to-peer map tiles
2021-10-01, 13:30–14:00, Buenos Aires

An exploration on how a seemingly obscure web standard (WebRTC) can be exploited to provide P2P transmission of rendered map tiles.


The OpenStreetMap project started serving map tiles over a decade and half ago - and more than once it's been a strain on the limited resources of the OpenStreetMap Foundation.
But what if a web standard designed for video conferencing -WebRTC- could be turned into a way to let web browsers exchange tiles in a peer-to-peer fashion? This would, ideally, spread the load of distributing cached tiles onto individual web browsers thus lowering the load on tile cache servers.
Other web-browser-based approaches to peer-to-peer content exist (e.g. IPFS), but seem unfit for the use case of map tiles. The main concern is the sheer number of possible map tiles (four to the eighteenth power, or over 68 thousand million), which makes hashing each individual tile both impractical and counterproductive. In computing science jargon: cacheable (meta)tiles exploit the obvious spatial locality of neighbouring tiles, and hashing tile URLs would invalidate the exploitation of that locality.
This talk explores the idea of how WebRTC could be leveraged to turn web browsers into peers forming a P2P tile network; what software pieces would need to be developed, and what potential caveats await at the end.
The main obstacle would be something called (in WebRTC parlance) the “signaling server”. This means solving the problem on how to pair web browsers that are looking at similar areas of the map. A proposed naïve approach is to force clients to inform a signaling/orchestration server about their visible bounding box, let that server build up a R-tree (or R-tree-like data structure) of bboxes, then pairing peers based on the R-tree structure, or by performing k-nearest-neighbour searches. One big unknown is whether the CPU load of running such an orchestration service is a practical improvement over the network load of tile caches.
On the ethical front, there would be concerns about malicious actors exchanging “poisoned” (modified) tiles, and mining the IP addresses of other peers and the geographical areas those peers are viewing.
Please note that the contents of this talk are experimental and/or hypothetical, since (to the best of the author’s knowledge) no actual deliverable work has been done on this field.


Authors and Affiliations

Iván Sánchez Ortega (1)
(1) Freelancer

Requirements for the Attendees

Some knowledge of tiled web maps, web servers, and/or tile servers, would be preferred.

Track

Software

Topic

Software status / state of the art

Level

3 - Medium. Advanced knowledge is recommended.

Language of the Presentation

English

Iván has been a web developer and FLOSS advocate since the early 2000s; then he bought a GPS receiver and got involved in OpenStreetMap and OSGeo. He’s worked with nautical charts, indoor positioning, USB microcontrollers, LibreOffice, multispectral rasters, all of it with unhealthy amounts of Javascript.

This speaker also appears in: