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."
It would be nice to see the source code for this! Anyone know how he did it? He just mentioned using Java RMI, but I'm curious how it works under the covers. He had the binaries posted but not the source. :(
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.
This doesn't look any more interesting just because it's Gnutella.
Mihajlo A. Jovanovic...Mihajlo A. Jovanovic..
try saying that three times fast! on a more serious note, it looks like this may be next in line for the p2p executions going around...
I feel sorry for all those people with static IP's who just got named by this guy on his pretty graphs. He just did the background research for the RIAA - now they can sue each one of those IP's for blatent copyright violation, 'cause that's all gnutella is good for, right? ;)
- Most people who use P2P networks have high speed connections.
- Most people with high-speed connections have firewalls.
- P2P is a major security risk, and the only way to get a P2P connection going is to let your firewall drop its guard for a second.
Therefore, P2P is a major security risk. What's wrong with client-server? I think it's great.-Evan
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.
The focus on P2P networks in the past has been solely on filesharing. But you can also exchange other data using a P2P network. There's an open source project with a P2P network for exchanging recommendations for web resources. Help us test the scalability of our network, just grab the tar.gz and run the software!
new backgrounds to replace all the NASA ones!
right from here: The new economy bullshit generator
;)
how many times are we going to see the same goddamn research about p2p networks posted?
WE GET THE POINT. ENOUGH ALREADY.
...US masters thesises aren't accepted as a diploma thesis in most european countries. Guess why.
Owner of a Mensa membership card.
Love the ~doesn't work with MS Internet Explorer~ part. Atleast one college kid has it right!
"If a quarter is two bits, then a dollar's a byte." -R Deric Miller
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.
Hey, I think I saw my IP address in one of those pictures....
pi=sigma{n:0-infinity}[(1/16)^n][(4/(8n+1))-(2/(8n +4))-(1/ (8n+5))-(1/(8n+6))]
My thesis project involved building a visualization system for sensor fusion - how boring! Did have an applet though.
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.
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.
Exploit visionary eyeballs!
My only political goal is to see to it that no political party achieves its goals.
If FTP is client-server, then Gnutella & Co. must be too. You select a file from a list of available files on a remote machine, and download it. And if NetMeeting is P2P, then so is telnet: you're invoking a communication channel directly to a remote machine.
Not that there's anything wrong with client-server. Or P2P. But what do the terms really mean? Perhaps client-server is more usefully described as a system where a 3rd party (the "server") intermediates, while P2P requires only the 2 directly-involved machines. So, ICQ is client-server, to the extent that a message is sent to a 3rd party (an ICQ server), before being retrieved by the recipient. (Of course, ICQ communications can also be P2P).
Or is P2P really a statement about a web of peers acting in concert? This becomes a bit problematical -- is DNS P2P? Is UUCP? Perhaps what distinguishes P2P is that the participants need to be the only players (i.e. not themselves acting as servers)? But now we're really splitting hairs.
Perhaps P2P just isn't a new phenomenon at all. It seems that as soon as you try to really define it, it disappears on you!
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
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
Some people may be right in that in his pictures aren't that pretty, or some statements are incorrect, or there may be elements we've seen before, but hey, aren't we forgetting something? His Master's Thesis got posted on Slashdot!!! I mean, how great is that. When and if I ever get to my master's, I'd sure love that kind of recognition. I think he at least gets credit for reaching such a large audience, and for covering a topic we all know and can discuss.
Please subscribe to see the more insightful version of th
it is also possible to use FTP server to server (ftp from a to b, transfer files from b to c) thanks to the overly complicated protocol and control channel. Maybe that's what he was talking about.
i'm with you on the rest though..
My primary research interest is scalability issues in peer-to-peer computing networks. 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, recently it has managed to capture a lot of attention.
Unless I am much mistaken (and has also been noted in previous posts) all the above mentioned are still CLIENT/SERVER models. Except maybe ICQ and MSN Messenger (and Yahoo messenger also, btw), that now auth with the server, and then communicate peer to peer.
Indeed, the sudden emergence of new applications like SETI@Home, Groove, Napster, mobile communications, and Gnutella is threatening to replace the traditional client-server architecture of the web and bring rise to a new era in personal computing.
I thought he just said that FTP, Telnet, etc. were peer to peer ? Also, is Seti@HOME a P2P App or a Client server model (which is a lot more likely, as there is a fixed (set of) entity(ies) that hands out the data to be computed.
My recent work has focused on Gnutella as a model of a purely distributed computing system. Gnutella allows users to share information by directly connecting to each other forming a high-level network. High Level Network? What exactly is that supposed to be?
One of the biggest problems in analyzing performance of distributed computing networks such as Gnutella as a function of size, is that even simple protocols result in complex network interactions.
Huh? How so, can someone please care to explain? Agreed, there are a few more setup/terminate requests going around, but thats about it. (I've not analysed the actual packets of either gnutella like networks, nor IM networks, but I'm guessing here)
In order to gain a deeper understanding of the nature of those interactions, an accurate model of the system is needed. A first step toward such a model is understanding the topology of the network. To discover the topology of the Gnutella network, I have developed a distributed computing system using Java RMI. This program allows instances of Gnutella's topology to be obtained in constant time, an extremely important feature when studying a highly dynamic network such as Gnutella.
Am I missing something here? I would think that using Java RMI to distribute a code to a remote machine for execution would be required here. How can a program sitting at one place determine in constant time the instance of topology of the network? Looks like he used something similar to traceroute . In that case, however, how can the topology be retrieved in constant time?
Just wondering .....
US is now divided as the "Red" and "blue" states. Red States = communist countries. Coincidence? I think not
One of the little-appreciated things about Java is that (in the absence of nasty tricks like directly hacking up the bytecode) Java classes _will_ decompile cleanly to quite-readable source. Head on over to freshmeat.net and get yourself a decompiler; there are several good ones.
Have fun.
1,2,3,4,5.............10001,10002,10003
100001, 100002 shhhh.....dont disturb....oh damn
1,2,3,4,5.............10001,10002,10003
The statement below is true.
The statement above is false.
Is this all it takes for a masters thesis? I was playing around with network visualizations in OpenGL and came up with some way cooler (and easily navigable) visualizations.
Man, time to quit being unemployed and go back to school!