|
#1
|
|||
|
|||
|
Hello,
I am currently doing undergraduate research in Computer Science and my project concerns the LimeWire source code. I am looking into the possibility of increasing security over peer to peer networks, and chose Gnutella as a target network. My question is: What exactly are the full capabilities of the Ultrapeer in the Gnutella network? Specifically, what does an Ultrapeer know - or is able to know - about its leaves, for example can it monitor the number of queryReplies that a leaf sends, and how? This is the more specific question, but if anyone could share anything regarding the general question or could point to resources regarding the Gnutella Ultrapeer, I would greatly appreciate it. Thanks, PAUL |
|
#2
|
|||
|
|||
|
Hi Paul,
There are two ways for a leaf to send query replies: in-band and out-of-band. In-band replies travel back along the path taken by the query, which means they travel through one of the responder's ultrapeers. Out-of-band replies are sent directly to the requester (or to one of its ultrapeers if the requester is firewalled), so the responder's ultrapeers don't see them. You might want to check out the following wiki page for more information: http://wiki.limewire.org/index.php?t...of_Band_System Your research sounds interesting - can I ask what you've got in mind? Cheers, Michael |
|
#3
|
|||
|
|||
|
Sounds like a great project, Paul. So you know, when you look at the code, you can force yourself into Ultrapeer status in order to get first-hand experience with the intricacies of being an Ultrapeer on the network. Ultrapeers do most of the heavy lifting on Gnutella, shielding the leaves from seeing just how much query traffic there is out there.
|
|
#4
|
|||
|
|||
|
Yes, we've experimented a little with running one machine as an ultrapeer and monitoring message exchanges. I've found the most useful thing thus far has been Eclipse's debugger and careful placement of breakpoints.
One of our current steps right now is to find a point in the message exchange part of the code to pull out the information in a queryReply to a nonsensical query, and put that information in a text file or some manner of output file. Any thoughts on where in the source code that might be best done? Thank you both for the input, I appreciate it, and sorry for the slow response, busy day of research yesterday. Again, any thoughts or suggestions are greatly appreciated. PAUL |
|
#5
|
|||
|
|||
|
You might want to check out Dan Sullivan's tutorial code:
http://wiki.limewire.org/index.php?t...aTutorial.java |
|
#6
|
|||
|
|||
|
Hello again,
First thank you very much for your input. The tutorial was very helpful in getting my code off the ground. We are now looking to incorporate our code with the GUI Search Result screen: more specifically, how we can modify it aesthetically. We need either an extra column, which would basically be adjacent to the existing "file name" "size" "extension" etc columns, or the ability to modify certain rows like changing the color of the text. Any suggestions would be more than appreciated, until then I'll keep kicking around in the debugger. Thanks, PAUL |
|
#7
|
|||
|
|||
|
Paul, not sure if it's still needed, but I recently finished a tutorial which added columns to the Library Audio view (Priority Based Shuffle) and there might be similar concepts to help you.
Check out ResultsTableFormat and the sub classes which use the same concepts of setting up ColumnStateInfo as the tutorial. Also, BaseResultPanel sets the cell renderers which the tutorial also does. I'm not sure about rows yet ... |
|
#8
|
|||
|
|||
|
Hey, that's great. I'll be sure to check that out. Progress on the project has been suspended temporarily due to a busy Fall semester starting, but I hope to have work started again or at least results posted by the beginning of next year. Thanks again,
PAUL |
|
#9
|
|||
|
|||
|
I have never seen the benefits of using it it doesn;t seem to work anydifferent.
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|