Slashdot Mirror


Modelling P2P Networks

Nathan Kennedy writes: "Mihajlo A. Jovanovic did his Master's project at the University of Cincinnati on modelling P2P networks with Gnutella as a case study. You view his project along with source code, stunningly pretty pictures, an applet and a paper on scalability."

18 of 73 comments (clear)

  1. Someone is looking at this page and... by Romancer · · Score: 3, Funny

    Some lawyer is looking at this page and trying to figure out what part of the DMCA has been violated and who they should call to ask for a job taking Mihajlo to court for them.

    --


    ) Human Kind Vs Human Creation
    ) It'd be interesting to see how many humans would survive to serve us.
    1. Re:Someone is looking at this page and... by gazbo · · Score: 2, Insightful

      A) No, they are not.

      B) That is a masters dissertation? Fuck me, I wish I could have written my dissertation as a couple of pages of HTML. Education must be a damned site easier over that side of the pond.

  2. Visuals by Mattygfunk · · Score: 2, Insightful
    All of those visualizations seem like every other visual representation of the internet.

    This doesn't look any more interesting just because it's Gnutella.

    1. Re:Visuals by llamalicious · · Score: 2

      nor would i consider them stunningly pretty.
      I don't know about you, but I find I just can't administer a network without some real stunningly pretty pictures of my topology.
      Or at least a thinkgeek internet poster.

  3. Interesting... by ZigMonty · · Score: 4, Interesting

    The pictures are cool but wouldn't one of the Fasttrack based P2P networks be a better example? I've got nothing against Gnutella but Morpheus and co seem to have scaled better. Is it because Gnutella is easier to test, its protocol more open, etc? Can anyone enlighten me as to why Gnutella would be better? Not trying to be a troll, just curious.

    1. Re:Interesting... by uebernewby · · Score: 2

      One major reason would be that Gnutella is open source and Fasttrack is not.

      --

      News and bla for computer musicians: http://lomechanik.net/
    2. Re:Interesting... by jilles · · Score: 5, Informative

      Morpheus is apparently going to switch to gnutella in their next version of their client. Due to the unexpected exclusion of their existing client of the fasttrack network the release will probably be in a couple of days.

      The Gnutella protocol and the fasttrack protocol are actually very similar since limewire added superpeers. In a couple of days (when morpheus releases their gnutella stuff), gnutella will be put to the test. Theoretically it should scale at least as well as fasttrack.

      Gnutella has a few advantages over fasttrack:
      - Gnutella is an open, simple to implement protocol. Fasttrack is a propietary implementation of a propietary protocol. Non authorized implementations are being banned from the network.
      - there are implementations of Gnutella in various languages for various platforms. The best are free (both in terms of speech and beer).
      - shutting down one gnutella client doesn't affect other clients. So if bearshare is shut down you just switch to limewire or something else and connect to the same gnutella network.
      - unlike fasttrack, gnutella has no dependencies on a central server. It only needs the ip of one other client in the network to connect itself. Typically clients contact a webserver to get a list of such clients, however this is optional.
      - It's theoretically just as scalable and potentially even more scalable (due to future innovations in clients).
      - Most of the clients are stable and will survive more than a few searches (morpheus consistently crashes on me)

      However there are disadvantages:
      - Gnutella doesn't specify how to handle queries. Consequently some clients are better at this than others and you may get crappy search results. Limewire has metasearch abilities in the works which could potentially be just as good as morpheus (or better). However, until all (or most clients) on the network support this, this will be relatively useless.
      - The gnutella network is smaller (typically around 50000 hosts at the moment) than fasttrack at the moment.

      If you want to give gnutella a try and don't want the spyware, I recommend that you don't download the windows installer but the installer for "other" platforms instead. This will get you nice Java only version without all the crap (except for ads). Also be sure to run it using the latest jdk (1.4.0) as it is somewhat faster than previous versions.

      --

      Jilles
    3. Re:Interesting... by jilles · · Score: 2

      Silly me, I was of course referring to the limewire client in the last paragraph of my previous post.

      IMHO still the best client but feel free to disagree.

      --

      Jilles
  4. Missing charts and captions by Anonymous Coward · · Score: 3, Interesting

    Looking at the charts it's really hard to get an accurate sense of gnutella's performance and scalability. Do the length of the lines correspond to the ping time, or physical location? What's the purpose of the circular chart? It would really be beneficial to include captions on each graph, to make it easier to understand. It would be nice to see a chart that relates the bandwidth, latency, number of connections, actual transfer rate, and ave connections all in a 3D visualization (not 3d bar chart). He could make a panorama of it. It might look like total garbage, or an organic structure.

  5. Sorry but I was instantly jaded. by matthew.thompson · · Score: 3, Interesting
    I clicked the link. I read 2 lines and already I found something I disagree with totally.
    Although P2P computing has existed for some time as a basis for network applications such as FTP, Telnet, instant messaging, ICQ, and Microsoft's MSN Messenger Service and NetMeeting

    Right, FTP is client - server, Telnet is client - server, instant messaging is client - server, ICQ is client - server, MSN Messenger is client - server. About the only one he got right out of his list of examples in NetMeeting.

    Now his paper doesn't mention these examples so why include them in the introduction page.

    The paper is well written and from a first skimming seems accurate and interesting - but that first paragraph on the introduction does nothing to enhance the paper.
    --
    Matt Thompson - Actuality - Insert product here.
    1. Re:Sorry but I was instantly jaded. by Webmonger · · Score: 2

      The FTP protocol is p2p. It's the way the software's implemented that makes it client-server.

  6. the visuals are NOT important! by mekkab · · Score: 3, Interesting


    What is important : These networks are highly clustered, and as such the current Gnutella algorithms don't take advantage of that and do a lot of duplicate work, leading to an in-efficient use of bandwith and problems in scaling.

    This conclusion is rather interesting for someone who is into distributed processing (although I'm not sure how "d'uh!" obvious it is to most) but even more interesting is that its all based upon empirical evidence (of course using a mathematical basis).

    So don't just look at the pretty pictures!

    --
    In the future, I would want to not be isolated from my friends in the Space Station.
  7. Gnutella Ultrapeers by chrohrs · · Score: 4, Informative
    One problem I see with this study is it doesn't account for ultrapeers, technology that was released by LimeWire in early January. Ultrapeers increase scalability by offloading most of the bandwidth burden to dynamically-elected high-speed hosts. Unlike Fasttrack, ultrapeers use an open protocol with open-source implementations. I believe BearShare is also adding ultrapeer support.

    One problem with LimeWire's initial implementation is that ultrapeers didn't respond to "crawler pings" with "leaf pongs". (We've since changed that.) So as pretty as these pictures are, they're probably not accurate. I would love to see updated results that accounted for ultrapeers.

    The Gnutella network is evolving rapidly, and it would be great if academic papers considered these changes. The Gnutella Developer Forum (GDF) is the primary location for protocol development.

    Christopher Rohrs
    Sr. Software Engineer
    LimeWire

  8. True true... by JohnDenver · · Score: 2

    P2P's other fruits may include:

    * Distributed storge like FreeNet
    * Instant Messaging
    * Anything else you can think of that may need to be decentralized.

    The advantage of a P2P network is that no single entity controls it and everybody shares the costs.

    --
    "Communism is like having one [local] phone company " - Lenny Bruce
    1. Re:True true... by Salamander · · Score: 3, Interesting
      Distributed storage like FreeNet

      Freenet is more of a data transmission method than a true data store. Even Ian says so, when pressed on the data-loss issue. MNet, OceanStore, Farsite or CFS would all be better examples of actual distributed storage.

      --
      Slashdot - News for Herds. Stuff that Splatters.
  9. Re:What does P2P really mean? by radish · · Score: 2

    I'd say it's simply that P2P is where the same nodes are both client & server. This is the case with Gnutella, Morpheus etc, but is not the case (typically) with ICQ, Messenger, et al. FTP and Telnet are interesting, as it's perfectly possible for the same machine to run both telnet and telnetd, but I would still argue that's the exception rather than the rule. The protocol was designed with a simple concept of server and client.

    As for DNS, from my hazy understanding (please correct me if I'm wrong) the client makes a request to one server, which redirects it if required to a different server. So the client lookup part of the protocol is certainly client server. The other parts (syncing changes etc) is outside of my realm of knowledge, but that could be considered p2p I guess.

    I certainly agree that p2p is nothing new, just a new phenomenon in terms of popularity.

    --

    ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

  10. Re:What does P2P really mean? by radish · · Score: 2

    But, you may argue, DNS and UUCP aren't truly P2P, because they themselves are servers. Is that the only thing which differentiates the new wave of P2P apps? The fact that they are monolithic? What if you split a Gnutella client into two parts -- a "server" which does the communication with other Gnutella nodes, and a "client" which is the GUI front-end? In that case, you'd have a system which was pretty much exactly analogous to UUCP and DNS. Especially if you could run the Gnutella client on a different machine from the Gnutella server.


    There's not a lot of difference - to my mind it's to do with usage & populations. In the case of DNS, the servers are peers of each other, but there is a secondary population of "pure" clients, i.e. desktop machines which never act as servers. From their point of view, DNS is purely client server. With Gnutella however, as it stands, every client is also a server - there's only one (hetrogeneous) population. If you split the binaries as you suggest, you would create the potential for people to run either only the server or only the client, and thus, parts of the network would become client server.


    What does this mean? Really that there is very little technical difference (if any) - it's more that the "p2p" apps encourage/mandate that all users are equal (i.e. peers), pure clients or servers do not exist. Maybe we could think of it as a grey scale, with pure p2p at one end and pure client server at the other. Most protocols are somewhere along the line, very few are at either end!

    --

    ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

  11. Re:What does P2P really mean? by Steveftoth · · Score: 2

    The real thing going on here I think is that these new Gnutella, Freenet are all self-discovering networks. DNS requires you to build a tree of servers that all know about each other, you can't just start a dns server without telling a root server about yourself (this has to be done by hand). Unlike other other protocols, gnutella and kin keep track of all the servers that are running.

    I guess the real problem with all these servers is that they are trying to do the impossiable, that is they want to search the entire internet