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. |