I am looking for something to help share the outgoing bandwidth of a server. The server is serving pictures to a lot of users, and the owner is having trouble paying for the bandwidth.
If there is a system like this already, please tell me. Otherwise, I am going to try to program it.
The system is to share the uploads (file serving) of the server, and the end user never knows the difference.
Basically, this is the model. There is the main server, and volunteers offer their own servers and bandwidth as nodes with mirrors of the main server.
How it works: A 3rd party user asks the server for a file. The server tells the nodes to fulfill the request. The user never knows the difference.
http://img221.imageshack.us/img221/3563/drawingge8.png
There are a few things I want to know:
- I want the user's browser to browse the website(s) like normal and it does not even know the server is having the nodes fulfill the requests. Can this be done with HTTP?
- If number 1 is possible, can someone give me information about where to begin programming with HTTP? I would like to write this is C++. I will probably need to know some Apache stuff too (oh boy, that's going to be work).