Gnutella Forums  

Go Back   Gnutella Forums > Gnutella News and Gnutelliums Forums > General Gnutella Development Discussion
Register FAQ The Twelve Commandments Members List Calendar Arcade Find the Best VPN Today's Posts

General Gnutella Development Discussion For general discussion about Gnutella development.


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old December 10th, 2001
Enthusiast
 
Join Date: November 18th, 2001
Location: Munich, Germany
Posts: 40
hermaf is flying high
Question Which Clients use a PongCache?

Hey there,

I am trying to do some analysis on the Gnutella network and was wondering which clients already use a pong cache aas proposed by LimeWire?

I know Qtella does since I am hacking the client and the latest Bearshare client.

Especially I am interested wether LimeWire uses the PongCache and SwapNut.

(My loggs show that these 2 clients make about 80% of all incomming query hits ... depending on waht you search for there are about 5% BearShare and some MyNapster!, XoloX and Gnucleus clients around)

I need the information about pong caches for further analysis Thanks

Felix
Reply With Quote
  #2 (permalink)  
Old December 12th, 2001
Moak's Avatar
Guest
 
Join Date: September 7th, 2001
Location: Europe
Posts: 816
Moak is flying high
Default

none today.

AFAIK only Limewire's "Sparky" beta version.
Reply With Quote
  #3 (permalink)  
Old December 12th, 2001
Who made your avatar?
 
Join Date: July 5th, 2001
Location: Milky Way Galaxy
Posts: 699
TruStarwarrior is flying high
Default

Sparky has been integrated into LimeWire's new UltraPeer network structure.
Reply With Quote
  #4 (permalink)  
Old December 12th, 2001
Moak's Avatar
Guest
 
Join Date: September 7th, 2001
Location: Europe
Posts: 816
Moak is flying high
Default

Does this mean it is allready in a beta version beside "Sparky"?

Christopher Rohrs wrote Wed Dec 12, 2001:
"Actually LW has never released pong-caching in a production version! We did implement it in LW "Sparky", but it never got merged to the main code base." http://groups.yahoo.com/group/the_gdf/message/3892
Reply With Quote
  #5 (permalink)  
Old December 12th, 2001
Who made your avatar?
 
Join Date: July 5th, 2001
Location: Milky Way Galaxy
Posts: 699
TruStarwarrior is flying high
Default

I can't find the quote now. It would take forever.

But I asked specifically what happened to the Sparky project. He said it underwent some revisions and will integrated into 1.9.

If I understand this all correctly, UltraPeers house cache lists so that repetitive/similar/same searches are NOT repeated. The cache keeps a recent record and sends results back accordingly. So, when 50 people search for the same thing, only the initial search will be made, and the rest is a copy of the search that has just occurred.
Reply With Quote
  #6 (permalink)  
Old December 12th, 2001
Moak's Avatar
Guest
 
Join Date: September 7th, 2001
Location: Europe
Posts: 816
Moak is flying high
Default

Query caching in a superpeer (Ultrapeer for LW) doesn't mean there is also a pong caching in superpeer mode and/or client mode? Hmm..... I have asked in LW and Phex forum.
Reply With Quote
  #7 (permalink)  
Old December 12th, 2001
Who made your avatar?
 
Join Date: July 5th, 2001
Location: Milky Way Galaxy
Posts: 699
TruStarwarrior is flying high
Default

I am thinking a little clearer right now. Let me explain a little better. I don't think pong cacheing would be the right correct term, so I don't know of anyone that does this. However, what LW is doing with 1.9 is this:
A client (branch, or 'leaf') connects to an ultrapeer and uploads a filelist (it's not really a file list, just a 'representation' - ask afisk for info if you want to know more about it). The actual searches are perfomed by ultrapeers. Search queries are compared to the file lists of the branches, and if any seem to match, the search is passed along to the corresponding user. So, the search will only reach the branch client if it is a relevant search. You can see this in action in 1.9 beta. The Monitor tab shows incoming searches, and all of the searches have words or phrases matching files in your library.
Multiple identical queries are merely directed to the same clients that previous identical queries were directed to.
Reply With Quote
  #8 (permalink)  
Old December 12th, 2001
Who made your avatar?
 
Join Date: July 5th, 2001
Location: Milky Way Galaxy
Posts: 699
TruStarwarrior is flying high
Default

That last part was a mouthful to say...
:-)
Reply With Quote
  #9 (permalink)  
Old December 12th, 2001
Enthusiast
 
Join Date: November 18th, 2001
Location: Munich, Germany
Posts: 40
hermaf is flying high
Default

Thx for the answers at first Let me take this a little further ...

So if I read this correctly this would mean that if I ping my neighbours I will still get the response as decribed in the Gnutella Standard Definition (0.4), or do I get something wrong now?

It looks like most clients limit the TTL time to 7 or something so my horizon is usually around 7 hops. But within this horizon I "should" get back as many pongs as clients available.

The only reason why this pinging for servent detection could not work as described in the Gnutella Standard have been the following facts and I try to get some information (i.e. with this question) whether these will have efect on the number of returned pongs:

1) Pong Caches - but it seems except Qtella no client uses one yet right?

2) MIN_TIME_PING, meaning that a client will throw away any pings from a client if the last ping waas not longer ago than this minimu time to protect the network from ping flooding. - I guess there are some client that do that. I tried to send 10 pings to the attaced servents but most of them answered to only a few them?!?!?

3) TTL_MAX values (=6-7) - my logs show that ecven if I send a deep-space ping with 20 I will get back a hop count at max equal to 10, BUT 8,9 and 10 are VERY rare! -> this means that most clients limit the TTL from packets they send (and forward) to a maximum TTL of 7 (respectively they use 7-HOPS= NEW_TTL)

Anything wrong with this here???

By the way another thing I found as interesting is how Qtella "measures" the number of servents behind a servent attached: It counts every recceived Pong, Query, QueryHit or Push asa a new client (-> Number++) and saves the servents IP and the time when the message was received. After a 3 seconds it deletes all servents from that list that it did not here of again for 40 seconds.

How accurate do you think that number of clients is? Or would it be more accurate to use Pings to estimate/exactly measure the number of clients in your horizon?

BTW: No worry I am not working for a company or something, just writing my thesis on scalability issues in Gnutella networks..

Thanks again ... I appretiate the feedback
Reply With Quote
  #10 (permalink)  
Old December 12th, 2001
Moak's Avatar
Guest
 
Join Date: September 7th, 2001
Location: Europe
Posts: 816
Moak is flying high
Default

Hi, two things come in my mind:

First, Bearshare (perhaps other clients too) have a pong throtteling... which means they will not route a heavy number of pong descriptors in a short time window, but delay them, perhaps also throw some away (?).
Second, we had statistics some months ago saying ping/pong traffic was eating a huge percentage from the gnutella backbone traffic. It is a good idea not to use broadcast pings in a standard client to meassure horizon (avoid network broadcasts), but for sure it is okay in a rarely used statistic tool. I'm not sure if ping/pong for meassure of horizon will still work in future, perhaps Pong Limiting and Pong caching will provide falsified results. See http://www.limewire.com/index.jsp/pingpong and http://www.limewire.com/index.jsp/med_require.

To answer your question (I'm not sure what you want to do exactly): Ping/Pong is theoretically the most accurate Gnutella protocoll v0.4 method to meassure horizon, but unhealthy to the network if many clients do + allready falsified by anti broadcast techniques + limited by TTLs. Perhaps you should ask Limewire how they collect their rolling host count at http://www.limewire.com/index.jsp/size. Other methods for gnutella size meassure could be: Asking query caches how many unique IPs they served, how many unique pings and pongs they received/transmitted. Asking upcoming superpeers, how many unique IDs they have routed. Implement new protocoll features to provide a better horizon estimation (some ideas in this thread).

Last edited by Moak; December 12th, 2001 at 04:49 AM.
Reply With Quote
Reply


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

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
The best of the best clients? chriiz90 General Gnutella / Gnutella Network Discussion 0 December 9th, 2005 10:14 AM
Cannot connect to clients. omgwtf Host Connections 2 August 12th, 2005 07:24 PM
Clients blocking other clients Zultrax General Gnutella Development Discussion 5 June 1st, 2004 02:41 AM
TTL in Gnutella clients hermaf General Gnutella Development Discussion 3 November 28th, 2001 11:16 AM
What are some of the best Clients?? superDBZ General Gnutella / Gnutella Network Discussion 3 July 9th, 2001 05:58 PM


All times are GMT -7. The time now is 06:55 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright © 2020 Gnutella Forums.
All Rights Reserved.