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 November 27th, 2001
White Magician
 
Join Date: November 20th, 2001
Location: Hannover, Germany
Posts: 25
guido is flying high
Default Possible replacement for ping/pong

I've thought of a method to let nodes know how many files/Megabytes they can reach through their connection without the need of sending broadcast messages:

Therefor, every node keeps a list for every of its connections with two 32 bit values for every TTL from 1 to 9 indicating how many files/Megabytes it can reach through that connection at that TTL.
This, of course raises the question how the nodes get these lists. Well, they ask their neighbours.
These neighbours, upon being asked, will now do the following:
-create an empty list (like the one described above)
-Enter into every row of this list the values for their locally shared files/MBs
-Add to the row for a TTL of 2 of this list the values from the row for a TTL of 1 from their lists for every of their connections, except for the one the query came from.
-Continue with the last step until the list is finished (You've got the idea...)
-Send the list back to the querying host, which will store it.

Unfortunately, this method has (at least) two disadvantages:
-The possibility of loopings
-Two new message types have to be added to the protocol

Guido
Reply With Quote
  #2 (permalink)  
Old November 27th, 2001
Dude
Guest
 
Posts: n/a
Default XPING/XPONG/SUPERPONG

hm brainstorming.

Okay, you want to measure size of horizon and file number. I agree, let's forget the idea of a exact measure... a rough estimated size must be enough for the advantage of nearly no extra traffic. How about this.

A descriptor "XPING" which is normally used with a TTL=1 only (goes only to direct connected hosts, no bigger broadcast). Those hosts answer with an "XPONG":
* IP, speed and files info (number and size sharing)
* unique IPs from direct connected clients TTL1 level and for each IP the summarized files (summarized number and summarized size)
* summarized files info from TTL1+TTL2 level (for example TTL2 is available for every TTL1 queried host by his own XPING/XPONG)
* summarized number of peers in TTL1+TTL2 level
* how many unique superpeers are in horizon the last hour
* list of topten superpeers in horizon (with free connect slots)

A descriptor "SUPERPONG" is automatically send with high TTL from every superpeer in hourly distance. This message contains:
* IP, speed and files info (number and size sharing)
* summarized files info from connected clients in TTL1+TTL2 level (summarized number and summarized size), see above.
* summarized number of peers in TTL1+TTL2 level, see above.
* number of direct connected servants, direct connected superpeers, free connect slots.
There is no answer to this descriptor, it is used for the XPONG statistics above.

Remarks: With the normal XPONG answers a client can estimate a horizon size when interpolating the TTL1/TTL2 values, then adding some extra % for every superpeer found. Not precise but a quick and dirty guess? XPINGS with an TTL higher 1 for statistic tools only, e.g. network analyzing tools. With the superpong answers every client can also try to connect the best superpeers automatically and so improve network topology.
Reply With Quote
  #3 (permalink)  
Old November 27th, 2001
Dude
Guest
 
Posts: n/a
Default

hm more brainstorming.

How about using passive statistics in XPONGS/UPERPONG too? You heared about passive searching, it means sniffing Queryhits on existing gnutella traffic and use the results for own downloads. Passive searching does avoid extra traffic (and provide more hits for automatic research).
So why not using a passive technique to estimate peers in horizon? Every client can collect unique client IDs while sniffing gnutella traffic. On a XPONG it will give the
estimated peers number - together with the summarized files info from TTL1+TTL2 level (files info can not be passively scanned, only the peer IDs).

Collecting unique IDs can be implemented using a binary tree, which stores ID and a time tag from every sniffed descriptor. Every hour the tree should be maintained and reconstructed to delete old IDs (which maybe allready gone offline).
Reply With Quote
  #4 (permalink)  
Old November 27th, 2001
Dude
Guest
 
Posts: n/a
Default

hm and more barinstorming.

How about adding also country or toplevel-domain to the "SUPERPONG" descriptor (e.g. 'us', 'au', 'fr' ... or 'aol.com', 'swipnet.se')? It could be a good idea to connect to a superpeer located in the same country or at the same ISP. Gnutella causes a very high traffic for an ISP, using a local superpeer can reduce traffic for our ISPs... and so reducing costs... and so make high bandwith internet cheaper for us consuments.
Reply With Quote
  #5 (permalink)  
Old November 27th, 2001
Moak's Avatar
Guest
 
Join Date: September 7th, 2001
Location: Europe
Posts: 816
Moak is flying high
Default

About SUPERPONG... every client can collect those messages and then:

a) calculate an estimated horizon, perhaps
b) hop within the horizon (horizon travelling for specialized horizons)
c) avoid to be double connected within the same local horizon (it must not happen that you connect two/multiple big super peers within a local horizon and create identical traffic)
d) find new super peers very fast when one drops! (important for modem users)
Reply With Quote
  #6 (permalink)  
Old November 28th, 2001
John Blackbelt Jones's Avatar
Gnutella Veteran
 
Join Date: November 11th, 2001
Location: Germany
Posts: 103
John Blackbelt Jones is flying high
Default

Well as far as I know you aren't supposed to be connected to more than one supernode, especially if you are a modem-user. And for finding supernodes I'd suggest using some kid of hostscache.

By the why - I thought the whole idea of using supernodes was having only one big horizon.
Reply With Quote
  #7 (permalink)  
Old November 28th, 2001
Moak's Avatar
Guest
 
Join Date: September 7th, 2001
Location: Europe
Posts: 816
Moak is flying high
Default

Hi John!

Looking into future it could be a good idea for high bandwith users to connect multiple superpeers (or to be a superpeer itself and connect different other superpeers, see images here).

Question: How do you find a super peer with a host cache? By getting a lot of IPs from pongs, test them all until you finally find a new superpeer? This try'n'error would take a lot of time (typically up to two minutes, similar to the Gnutella startup from old clients). The SUPERPONG will help to switch over to another/more superpeers immediately.

> I thought the whole idea of using supernodes was having only one big horizon.
I didn't get that in the context here, could you explain plz?
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
cant download a replacement installation file. thegr8escape1973 Open Discussion topics 9 August 22nd, 2005 07:04 AM
Ping & Pong? What for? JackDCLee General Gnutella Development Discussion 5 March 31st, 2002 01:59 AM
Problems sending MSGs(ping, pong, query...) over gnutella network Tiago s1x General Gnutella / Gnutella Network Discussion 1 August 4th, 2001 05:20 AM
Problems sending MSGs(ping, pong, query...) over gnutella network Tiago s1x General Gnutella / Gnutella Network Discussion 1 August 4th, 2001 05:17 AM
help with PONG RogerioS General Gnutella / Gnutella Network Discussion 1 April 20th, 2001 04:52 PM


All times are GMT -7. The time now is 06:15 PM.


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.