Reply
Thread Tools
Search this Thread
Display Modes
  #1  
Old June 19th, 2009, 09:44 PM
pellio8488 pellio8488 is offline
Junior Member
 
Join Date: Jun 2009
Posts: 6
Default Ultrapeer Capabilities

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
Reply With Quote
  #2  
Old June 19th, 2009, 10:41 PM
mrogers  LimeWire Team mrogers is offline
LimeWire Team
 
Join Date: Jun 2008
Posts: 86
Default

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
Reply With Quote
  #3  
Old June 23rd, 2009, 03:13 PM
mindping mindping is offline
Junior Member
 
Join Date: Jun 2009
Posts: 10
Default

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.
Reply With Quote
  #4  
Old June 23rd, 2009, 05:08 PM
pellio8488 pellio8488 is offline
Junior Member
 
Join Date: Jun 2009
Posts: 6
Default

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
Reply With Quote
  #5  
Old June 29th, 2009, 04:29 PM
mrogers  LimeWire Team mrogers is offline
LimeWire Team
 
Join Date: Jun 2008
Posts: 86
Default

You might want to check out Dan Sullivan's tutorial code:
http://wiki.limewire.org/index.php?t...aTutorial.java
Reply With Quote
  #6  
Old July 14th, 2009, 07:21 PM
pellio8488 pellio8488 is offline
Junior Member
 
Join Date: Jun 2009
Posts: 6
Default

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
Reply With Quote
  #7  
Old October 19th, 2009, 08:05 PM
dpslimewire dpslimewire is offline
Administrator
 
Join Date: Apr 2007
Posts: 265
Default

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 ...
Reply With Quote
  #8  
Old October 20th, 2009, 04:00 AM
pellio8488 pellio8488 is offline
Junior Member
 
Join Date: Jun 2009
Posts: 6
Default

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
Reply With Quote
  #9  
Old October 20th, 2009, 06:15 PM
Trueno22 Trueno22 is offline
Junior Member
 
Join Date: Oct 2009
Posts: 1
Default

I have never seen the benefits of using it it doesn;t seem to work anydifferent.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Forum Jump


All times are GMT. The time now is 09:53 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.