Using P2P for Legitimate Applications?
scum-o asks: "Where I work, we move a lot of large weather data around and there's always a question of whether someone's already found the data that I need to use (many projects use the same data, but it needs to get refreshed several times a day). My brilliant idea was to use a P2P-like network to search for already-existing data and use that in my app (and if none found, go to the original source). My company has a fast network and I'd much rather have my app suck the data from someone else in my company who's already grabbed the data as opposed to pounding on the public ftp server (which is slow and horribly abused each day). Has anyone found any way to use the P2P-network for legitimate reasons other than just file swapping/sharing and stuff? Also, how would I go about this, can I just grab a gnutella API and start searching?"
You can use the Agent API to do network crawls like what you are talking about.
But why isn't everyone uploading their data to a central server anyway?
Why not setup a cron a job to check the timestamp of the remote file and if it's newer than the local copy, download it to a machine in your office, and share it from there? No need for P2P really. I would think such a script could be written in a few minutes, and the file could be shared with Samba, and then everybody would have the latest version. Run the script every hour or whatever.
rooooar
After years of working on MODs, I've come to realize that getting custom content for any game is a pain because of the domination of swaped download sites and the alternative of paying for downloads. So with some help from a few other MOD developers, we've been working on making a MOD P2P network application that we hope to launch by the end of the year (grain of salt, we're MOD developers, we love to delay shit). Originally we were just going to make it for Half Life since they have the biggest community, but there was enough desire for it to support other games that we scrapped our original structure and have decided to make it more scalable. This way we can add the capability for new games as they come out (see Gamespy Arcade for the model we're working off of). Right now our main problem is workng out how to keep this legal. Since a lot of game content is IP, we have to be careful not to allow those files to be shared. So once we find a lock-out scheme we like that doesn't make the program useless, we'll be a lot happier.
Hopefully this thing works well and will spur game developers to support the concept (winkwink). I fully anticipate games to ship with in-game P2P content delivery systems in the future. Integrating that with chatrooms and game lobbies is the next logical progression. Share some levels or models while you chat it up. Release new mods through P2P and stage a chat release party, all within the game architecture. Plus, the user base is already trained in the software.
It's not stupid. It's advanced.
Let's say Site A provides the data on a non-commercial basis freely to users but charges for commercial use. They require you to go through an agreement in order to get this data for personal use or else sign up and get a license for commercial use... Site B can't just go and get this data from Site A and procede to share it out. Because those who got it from Site B would not have clicked through the agreement required on Site A for the download and use of Site A's material.
This P2P sharing of data could open up a legal can-o'-worms. You really do need to check that the data you want to share around is freely distributable and that you really have permission to do so.
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.