TurtleEggs
From CommonMap
| development |
|---|
|
TurtleEggs is a project name of a global scale map image tile serving grid realized by p2p network among contributors' PC. It reduces central server's scale and data transfer costs very much.
Contents |
CommonMap doesn't have large servers like OpenStreetMap
The above is a OpenStreetMap's Network graph. There are 3 client groups; editors, renderers and users. The server machines are assigned for the 3 groups. They runs 6 powerful servers.
On the other hand, CommonMap cannot run so many servers because the fund and budget are much smaller than OpenStreetMap. CommonMap needs to select distributed computing models, such as tiles@home.
tiles@home succeeds to distribute CPU and memory. It serves the richest map tile images. However, it has a disadvantage. A client makes the new rendered map tiles, uploads the new map tiles and deletes the tiles after uploading. ??? Why does it delete the original tiles? Why doesn't it serve the tiles from the PC?
TurtleEggs
Serving the tiles from a PC is impossible? No. Each P2P network's peers serves information from a general PC. TurtleEggs project is one of such P2P distribution network for map tile images.
The above is the TurtleEggs Network. TurtleEggs network needs one tracking server that recodes which peers have the newest tile. When someone ask to TurtleEggs tracker, it responses a URL of the tile on a peer. This process is implemented by http location header. When a general web browser receives the response, it reconnects to the specified URL and get the tile file.
TurtleEggs peers are a simple http server. It responses only the requested tiles. TurtleEggs peers worked with a render or a browser program. For the renderer case (it would be cmarender), renderer doesn't upload the tiles. Instead of it, the renderer requests the TurtleEggs tracker to update the tracking data. By the request, a tile server are going to download the newest tiles from the peer. If the download is success, the tracker update the recode as the peer is newest tile holder.
When a peer is closed, the peer sends a request for closing. If all the tile holders are closed, the tile is served from the tile server. So the tile server prepare for all the newest tiles.
If the tile server holds all the tiles, it means TurtleEggs doesn't reduce the costs for storage? Yes. If TurtleEggs successes to reduces the output stream from the server, CommonMap can see other option for the storage, for example using Amazon S3. Amazon S3 costs lower than any other network storage providers but it costs for output stream. Reducing the output stream means reducing the cost.
Development phase
The code name is taken from name of map turtles
- phase 0 (false map) HERE!
- Distributing map tiles among cmarender.
- Full web browsers can use TurtleEggs.
- Dividable tile servers.
- phase 1 (common map) the illustrated state
- Distributing map tiles among cmarender and TurtleEggs browser
- Place Tunnel proxy one on each regions of Earth.
- phase 2
- Developing TurtleEggs proxy tile servers.
- TurtleEggs for node data using JOSM plugin?
- phase 3
For developers and managers
- There is a developmental pages for TurtleEggs on TurtleEggs



