A few problems I have run into
I am currently implementing a few P2P streaming/filesharing protocols in Splay (maybe Philipp Eittenberger has told you guys) and have encountered a few problems:
1.) I have successfully installed my own Splay System in Ubuntu 10.4 LTS. Everything seems to be working fine, except that I can only register one splayd at the controller. That is a hindering my local testing a bit. I would like to set up 2-10 nodes. I have found the hint to set the "production" flag to false, but it doesn't seem to work for me. The deamon log reads all right "Warning, production mode disabled..." but I can still only register one Node per IP. Maybe I am missing something?
2.) Since I want to evaluate and test a few different file dissemination protocols, it is mandatory to have some kind of file to distribute. In another thread it was mentioned, to download the file from an external host via HTTP GET, because the virtual filesystem could not be prepopulated yet. I plan on using this method, however, the posted code and the one in the manual is not working for me - it seems that restricted_io cannot be acquired.
Is there another way to achieve this or some kind of workaround?
3.) In a P2P protocol, chunks/parts of the files are sent between the peers. I am not very familiar with Lua, but I am searching for the "best" method of sending/receiving these chunks. It seems that RPC's coupled with an identity function would be a THE least complex way of dealing with this, however RPC's do not resemble the communicational model of such protocols very much. So I guess I will have to rely on sockets. I have seen that you have built upon the standard Lua socket modules, maybe you can give me a short advice on which socket and encoding to use and how to set it up / implement it with the "node" array (IP, port).
4.) Churn management. I understand that there is a churn management already implemented, but the only example I could find, was the small piece of code in the NSDI paper. Is there any more documentation about this topic? Furthermore I am not sure how to get this code working - I guess one needs to save it to a .lua file and submit it in the "trace" menu, when creating a new job with the web-interface?
Thank you very much in advance. So far I am really impressed with how easy using splay is. The functions are very high-level and concise and everything I tried so far has worked almost instantly!