Slashdot Mirror


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?"

50 comments

  1. Gnucleus by Bistronaut · · Score: 2, Informative

    Gnucleus has a LAN-only mode.

  2. Extend LimeWire by sameb · · Score: 1

    You can always use the LimeWire core and build something ontop of it that automates exactly what you want it to do.

    Check out:
    limewire.org and the javadocs.

  3. If you are running Windows by Dancin_Santa · · Score: 4, Interesting

    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?

  4. Bitorrent by arcadum · · Score: 4, Informative

    You could make a intranet repository for all data downloaded and have a bittorent posted for each.

    1. Re:Bitorrent by Anonymous Coward · · Score: 1, Insightful

      Bittorrent is fucking ill-suited for that kind of work. It would require constant re-seeding, as people tend to close download windows when they finish.

    2. Re:Bitorrent by TheSHAD0W · · Score: 1

      You're *SUPPOSED* to constantly reseed with BT. It's only these pirate sites that have people seeding stuff then running away. For a real, legitimate BT stream you're going to want a dedicated seed for each running torrent.

      Frankly, this sort of thing is what BitTorrent was designed for.

  5. I hate to sound like a karma whore... by NanoGator · · Score: 1

    ... but when it was time for me to download Mandrake, the first place I looked was on Kazaa. I wasn't worried about it taking all night, but I didn't want to cause extra expense to the people providing this for free. I was disappointed I couldn't find it this way.

    I also became a Robotech fan, resulting in the purchase of a number of DVDs. Technically that's not legitimate, but I would argue that because I couldn't find it on TV, finding a handful of apps on P2P wasn't necessarily that bad. Afterall, I was evaluating the series. Seems to me that in the case of series like this being released on DVD, having a few free sample episodes floating around the web would be an awesome marketing tool. There's lots of shows out there I'm curious about but I'm not about to spend $20 for a show I may or may not like.

    --
    "Derp de derp."
    1. Re:I hate to sound like a karma whore... by Call+it+a+n1ght · · Score: 0

      It would help if the folks at Mandrake seeded the file. It'd be pretty rough being the first person to offer a couple of GB over a typical asymmetric residential line. But it wouldn't be bad if Mandrake started off seeding Kazaa, eMule, &c. and then let those downloading help shoulder the load.

  6. Get Microsoft Sharepoint Portal Server by Anonymous Coward · · Score: 2, Insightful

    ...and stop reinventing the wheel.

    It won't be a solution, because after a while people will get used to having the network and being able to find the documents on other people's machines, and they will ask for text searching, version control, and so on. Not sure what Microsoft wants for the Sharepoint and what are the Linux alternatives, but it seems to be worth it in your case.

  7. Why not cron FTP? by Evro · · Score: 4, Interesting

    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
    1. Re:Why not cron FTP? by Rysc · · Score: 2, Interesting

      The point is not to solve this problem in the simplest way possible, but in the coolest way possible. It would be uber-spiffy to set up a P2P thing for this, and coolness outweighs the extra time involved.

      Besides, once you had the network set up, I'm sure other uses for it would manifest themselves.

      --
      I want my Cowboyneal
    2. Re:Why not cron FTP? by Anonymous Coward · · Score: 0

      Coolest way possible?

      Slap a Honda Type-R sticker on your server. I swear to ya that it'll go faster. :P

    3. Re:Why not cron FTP? by Kiaser+Zohsay · · Score: 2, Informative

      ... a cron a job to check the timestamp of the remote file and if it's newer than the local copy, download it...

      rsync, anyone?

      A local mirror of the files from the public ftp server definitely sounds like the way to go. Just make sure everyone in your office knows to grab stuff from the local (ftp|nfs|samba) server. This will provide faster access for everyone in your office, and reduce load on the public server.

      P2P is a solution for when you dont have control over the infrastructure to set up something centralized (ie individual users all over the 'net). Performance is the main concern in this case, rather than decentralization.

      --
      I am not your blowing wind, I am the lightning.
    4. Re:Why not cron FTP? by Anonymous Coward · · Score: 0

      the question was about *legitimate* uses of p2p.

  8. Why do you want to make things more complex? by 1in10 · · Score: 5, Insightful

    What's wrong with the simple solution of just putting a proxy server in to cache the data from the original site?

  9. What about Nullsoft WASTE? by Nagatzhul · · Score: 4, Insightful

    Isn't that what it was designed for in the first place? Peer to peer file sharing in a trusted enviornment?

    --
    "All I want is a warm bed and a kind word and unlimited power." - Ashleigh Brilliant
  10. Bittorrent by FrenZon · · Score: 4, Informative

    While I'm sure many others are typing the same thing as I use this, why not set up bittorrent; it's nearly perfect for your application - if there are peers who already have the data, then it'll grab it off them, otherwise it'll grab it from the server.

    The source is available, too.

  11. Bittorrent by tzanger · · Score: 4, Informative

    I've grabbed numerous CD images (OpenGroupware, Knoppix, hell even Slackware) through BitTorrent. I imagine news broadcasts and whatnot, if popular, would also do well through 'torrent.

  12. you've got it backwards by Feztaa · · Score: 3, Insightful

    File sharing is "illegitimate" because of the files, not the sharing.

    If you're a small garage band trying to advertize yourself, there's nothing wrong with throwing mp3s of your performances on kazaa. Anything else that you created yourself is legitimate, too. Same with uncopyrighted works (like the complete works of Shakespeare, for example).

    The only real problem with file sharing is that nobody wants that stuff, they all want the copyrighted stuff :)

    Oh, and I downloaded Mandrake, RedHat, and Knoppix ISOs from BitTorrent. Those were totally legit uses.

    1. Re:you've got it backwards by 2TecTom · · Score: 2, Insightful

      On the point of stuff no one wants, perhaps it might be because it's simply not that good. If the music was exceptional, than word would spread and the band could develop a fan base without relying on a record label.

      I believe some band will make it big this way someday and from that point other bands and artists in general will move towards p2p distribution.

      --
      Words to men, as air to birds.
    2. Re:you've got it backwards by Feztaa · · Score: 1

      If the music was exceptional, than word would spread and the band could develop a fan base without relying on a record label.

      I'm not so sure about that -- if you don't know the name of the band to search for, it's pretty hard to find their stuff, especially if you're not looking for it. Maybe it's great and you just don't know? They need some better advertising, at least :)

    3. Re:you've got it backwards by ThyTurkeyIsDone · · Score: 1

      The only real problem with file sharing is that nobody wants that stuff, they all want the copyrighted stuff :)

      Or maybe you've got it backwards and it's just that all the stuff they want is copyrighted. ;-) And if it wasn't, well, maybe it's time to push another unconstitutional retroactive extension of copyright terms through Congress...

    4. Re:you've got it backwards by Read+Icculus · · Score: 2, Insightful

      Some people do want the legal files. Furthurnet Etree.org Sharing in the Groove BT.phishhook.com Besides the dozens of ISOs I've gotten via BT and P2P I've also downloaded 100s of GBs of music and video. All of it legal. Plenty of people use P2P and other applications for legitimate uses, but piracy gets all the attention and therefore you have people asking silly questions like "Using P2P for legitimate aplications?". Of course it has legitimate applications, I thought this dead horse had been beaten.

      --
      Anti-social? My code is just platform-specific.
  13. Semi Relevant Article by szyzyg · · Score: 3, Informative

    Check out this story at vulns.com on how P2P apps bring more than just legal threats. OK... I wrote it in my spare time....

    Anyway, it's entirely possible to legally distribute content via p2p, I'm amazed that nobody has really turned it into a fully fledged service.

  14. Video Game Application by KU_Fletch · · Score: 2, Interesting

    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.
    1. Re:Video Game Application by TheRoachMan · · Score: 2, Insightful

      So if I'm not mistaken then that's a sort of Steam application, but not only for VALVe/Sierra games. That's quite good. If you guys manage to get a thing like that going, I'm sure it's going to be popular. It's like, All Seeing Eye with intergrated chat,resource downloads and everything. Nice idea, care to share the URL?

    2. Re:Video Game Application by HeghmoH · · Score: 1

      I have a way for you to be ready by the end of the week instead of by the end of the year. Just install a bittorrent tracker on your download site, and have people grab the mods with bittorrent. The download site doesn't get swamped, people get their mods, and everybody goes home happy. But, of course, that's not cool enough.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
  15. Grendel by babbage · · Score: 3, Informative

    All you need is to imagine a Beowulf cluster of...

    Waitaminute!

    You actually could think of this as a Beowulf cluster! The main twist is that each node in the network is being used interactively, rather than just acting as a slave that churns away on data chunks autonomously.

    You don't state what kind of systems your colleagues are using, but if you're using Macs, then Rendezvous mDNS networking can take care of the "plumbing" part of the problem for you -- everyone can instantly start publishing their shared resources, and the trick then is to just figure out a way to search who has what content.

    The search function could be done from a machine set up to automatically spider everyone's content & basically set up a little in-house search engine, with links back to each user's version of "http://johndoe.local/weather/data/2003/08/21/1530 _nws" or whatever.

    If you're not running Macs, well that's a problem on several levels :), but the mDNS spec is an open standard, and it is IIRC available as an Apache module. There's mod_rendezvous , but it seems to have stalled with an OSX version only -- porting to Linux shouldn't be bad but is left as an exercise for the reader. There also seems to be the Net::MDNS::Server & Net::MDNS::Client Perl modules on CPAN, but they seem to have been born & stalled in the same week back in June. Not sure what that means.

    In any case, if you can set up a spontaneous mDNS network, then that would solve the problem of getting every node on your network to be able to advertise what resources are available to other nodes on the network. The step after that is to set up a search interface, and that's really a solved problem -- any Perl hacker comfortable with LWP should be able to whip up a reasonably good search mechanism using &/or extending existing tools.

    If you manage to get this to work, it would be interesting to read a writeup of how the lego parts end up being assembled :-)

    1. Re:Grendel by penguin7of9 · · Score: 1

      mDNS and all that stuff matters because it's a standard and lets different applications written by different people find each other. But that's not the issue for an intranet P2P client. If you just want a bunch of things you write to find each other, you can just use multicast directly--it's simpler, works everywhere, and depends on no oddball libraries from anybody.

  16. Sun by Anonymous Coward · · Score: 0

    Sun Micro is working on just this thing for enterprise-level p2p within a corporate network.

  17. Waste or Konspire by bhima · · Score: 2, Informative
    Use Waste http://waste.sourceforge.net/

    or Konspire

    http://konspire.sourceforge.net/
    --
    Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
  18. 'open source' like music label thats pro-yro by ant_tmwx · · Score: 1, Offtopic

    Justablip is an indie electronic music label started by Kris Weston from the Orb. we release music under an 'open source'-like license & encourage people to share the music via p2p (or however they wish)...we also use Ogg, FLAC, & bittorrent.

    Here's a link to download their first release, WTF! The Madonna Remix comp in Ogg, MP3, or AAC...

    also check out the ARTICLES on the site, I think people on here would be into it.

    ant
    --
    ))
    ((
    c[_] bLiP

    www.justablip.co.uk

    1. Re:'open source' like music label thats pro-yro by yerricde · · Score: 1

      Madonna Remix

      Did you get permission from the songwriters?

      --
      Will I retire or break 10K?
  19. Try these P2P protocols by shodson · · Score: 2, Informative

    Try these protocls/apps and run a P2P network in-house

    JXTA
    BitTorrent

    Or, you can create your own Gnutella client, using some an open-source Gnutella package, like JTella

  20. no, not BitTorrent by oobar · · Score: 3, Informative

    Why is everyone so quick to mention BitTorrent? It's totally inappropriate for this. Here's why: in order to make something available for download with the BitTorrent protocol, you have to create the .torrent metadata file which contains SHA1 hashes of all of the segments of the file. In other words, you need to download the dataset from the source server first before you can share it w/BT. Now, the whole point here is that within the organization BW is plentiful and abundant -- the part that he wants to avoid is hitting the origin server unless it's really necessary. So if he were to use BT he'd have to setup a cron job or something to automatically fetch the data and run it through btmakemetafile.py. This means that they data will necessarily be available inside his organization, where BW is basically "free", so what's the point of using BT on the internal network? You might as well just ftp/scp the file from one server to another, no need to go to all the trouble of running a BT server and making a new metafile every time the data file changes.

    Additionally using BT would turn out to be -more- wasteful, for two reasons: One, because to make the data available you'd have to automatically retrieve it from the origin server, regardless of if there is a demand for it or not. Secondly, BT is still a somewhat of a niche protocol and so there's a good chance that there would be people that say "screw this, I don't want to instll Python and wxWindows just to get this file that I can download with Mozilla in about 3 seconds." ...And these people would just download it directly from the source, increasing the load on the origin server and completely missing the point.

    I'm with the person that said setup a caching proxy server. Squid will do this perfectly, and it doesn't involve making the users change at all -- it's all behind the scenes if you set it up as a transparent proxy. There will be no wasteful cron-job downloading since Squid will simply cache whatever the users are requesting -- if no one needs data for some period there's no point in wasting the weather site's bandwidth on some cron job ftp thing.

    Please don't be so fast to suggest something like BitTorrent just because it's trendy.

    1. Re:no, not BitTorrent by Bushcat · · Score: 1
      Please don't be so fast to suggest something like BitTorrent just because it's trendy

      Agreed. It's an outstanding concept, but it's both bitstorm-oriented and relies on goodwill: it assumes many downloaders, who then make the decision to keep their download window open for an indeterminate time. It's an outstanding social protocol, but a poor forced dissemination protocol.

  21. Copyrights??? by advocate_one · · Score: 2, Interesting
    The already existing data may have copyrights that would prevent you from copying it around between yourselves.

    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.
  22. example of legitimate P2P platform and apps... by BigGerman · · Score: 2, Informative
  23. NullSoft Waste by Hard_Code · · Score: 1

    Waste would have done just this - create a private, crypographically secure, p2p file sharing network. Alas, AOL decided to kill yet another cool NullSoft invention, apparently breaking the camel's back and resulting in the resignation of Mr. Frankel.

    --

    It's 10 PM. Do you know if you're un-American?
  24. Transparent Proxy / Cache server by FreeLinux · · Score: 1

    Well, yea. You could do that. It might even work. But, wouldn't it be a lot quicker, simpler, easier, cheaper to just add a transparent porxy caching server to your network?

    Of course you could use squid for this but, there are also several commercial products that do very well.

    The most important thing to remember is to make sure the server is big and powerful. The server must have at least one fast processor, oodles of memory(1 gig or more) and it needs to have a very fast disk subsystem. I recommend hardware RAID1 with 4 or more of the fastest SCSI disks you can find. Also, the RAID controller should have as much on board cache as you can get.

    This saves bandwidth and makes for a blessed user experience provided they are not the first to get that particular data.

  25. wtf? by techgeek10101 · · Score: 0

    I thought all p2p was legitimate...=)

  26. uhhhh caching proxy by nurb432 · · Score: 2, Insightful

    Just hang a squid proxy off your router with a huge cache... problem solved.

    Then go get a drink, for not having to re-invent the wheel, or cost your company much ( if any ) money.

    --
    ---- Booth was a patriot ----
  27. First thought was local mirror... then... by WoTG · · Score: 2, Insightful

    when I reread the article, I guessed that you might be asking about saving load on the public FTP server on a larger scale. I.e. providing an option for all other users of the same service an opportunity to help reduce the load. In this case, the best bet is to talk to the service provider and use whatever they are willing to use!

    Ask the public FTP provider to put up Torrent files, or equivalent, right on the FTP site, or in a README. Alternatively, if they aren't interested or are too busy to set it up themselves, ask them to put a description and link to a webpage that YOU control in a readme file. Something along the lines of, "Our servers are busy. A good samaritan maintains an alternate download method at this URL. You may get faster results from there." Perhaps toss in some MD5 hashes so that people can verify data if they so desire, and then hope for the best. With any luck, your company wins, other groups win, and the provider wins.

    Pretty much any P2P network would work, but you would probably have more support from IT groups for BitTorrent than eMule/eDonkey or Gnucleus.

  28. Songwriters by yerricde · · Score: 1

    If you're a small garage band trying to advertize yourself, there's nothing wrong with throwing mp3s of your performances on kazaa.

    What about the copyrights owned by the songwriters?

    --
    Will I retire or break 10K?
  29. Spam filtering with P2p by Anonymous Coward · · Score: 0

    another great thing to use P2P for would be spam filtering. If i get another penis enlargement mail and delete it, it will be deleted on my neighbours computer too, and deleted on all other computers that are running the p2p filter client. This technique is being used by cloudmark :-)

  30. A rose is a rose by Anonymous Coward · · Score: 0

    Most of the the P2P research papers that I've read seem to be nothing more than a re-hash of the parralel computing papers in the eighties.

    Granted, back then they were thinking of upwards of tens of nodes, whereas now these speak in the thousands+ nodes. Surprise! The math works out the same regardless of whether x=25 or x=2500. Wow. Give the man a doctorate.

  31. JXTA Works and yes, P2P is Legit by turbogeek · · Score: 1


    Yes there is a legit use for a lot of P2P. I work at Verizon. I have also worked for Boeing and have a couple open source and one private venture. All use P2P in 100% legitimate applications and only one is sharing files.


    Use JXTA. It is mature and far better than Gnutella because of the level of control and diversity. Gnutella just shares files and can't really improve the efficiency of distribution.


    Head to jxta.org to start.