150 likes | 288 Views
The Problem : NASA's World Wind offers a case in point that delivering multiple terabytes of free map data to the public on demand is... hard !. Towards a Distributed WMS Cache. Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005. More specifically :
E N D
The Problem: NASA's World Wind offers a case in point that delivering multiple terabytes of free map data to the public on demand is... hard! Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
More specifically: No one really has that much bandwidth to give away at once! (except the Internet Archive, and they're “a great archive but a lousy ISP”) Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
But everyone has a little bandwidth to give away from time to time! Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
The Solution: Distributed, Peer-to-Peer, Caching WMS Proxies! Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
Distributed Hash Tables offer an example of robust peer-to-peer metadata search » Like ordinary hash tables, DHTs offer O(log n) search » DHTs can also be tuned to provide redundant storage » Kademlia is a good example (go look it up) » q.v. the DHT metadata search in eDonkey, BitTorrent, et al. Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
The Twist: Instead of a standard text-centric hash, we'll use the bounding box of our AOI to locate imagery tiles within the network. This is starting to sound more like a Distributed R-Tree than a traditional DHT... But no matter – it can be done! Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
It might work something like this... Every peer would “occupy” a random location in geographic space and would query the network on joining, to announce its presence, and find its spatial neighbors... Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
Before requesting a tile from a real WMS, a peer would traverse the DiRT looking for the k “closest” peers to the AOI, and ask them for any tiles they might have... Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
If they don't have all the tiles we need, then we fetch the missing ones from the actual WMS – e.g. JPL's OnEarth – and then store those tiles with the aforementioned k closest peers... Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
The next time someone wants that tile, it's already stored in our network multiple times – and the source WMS doesn't have to be involved! In fact, once the distributed cache is fully populated, the original WMS can fall right off the 'Net, and we don't even have to care! Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
or... you know... something like that... (please excuse the vigorous handwaving) Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
World Wind tiles tend to run to less than 60 Kb, so we can use UDP for transport! Towards a Distributed WMS Cache... » UDP is fast » UDP is asynchronous » it can get around NAT firewalls » itwillwork Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
Since each peer in the distributed tile cache would also be a WMS proxy, the cache could be transparently accessible from any WMS-aware application ... ... and the end user might never have to know (or care) Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
So why should we need JPL or Terraserver or Google or even the Internet Archive to serve us Landsat imagery – or any other kind of imagery – when, together, we have enough disk space and enough bandwidth between us to do it ourselves? Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005
... now we just need to do it! (thank you) Towards a Distributed WMS Cache... Towards a Distributed WMS Cache: A Call to Action MapServer User Meeting 2005