Thread: Packet routing
View Single Post
  #6 (permalink)  
Old July 4th, 2002
Vinnie Vinnie is offline
BearShare Developer
 
Join Date: May 25th, 2001
Posts: 163
Vinnie is flying high
Default

Quote:
Originally posted by Cakkie
I can imaging that a ping (and it's pongs) should be long out of the network after 1 minute.
Pings are rarely routed using the GUID anymore, LimeWire's "pong caching" algorithm should be used instead.

Quote:
However, a queryhit not, since it can receive a push, which could be sent a few mintes later, or is it a good idea to always keep track of servent id's, and not remove them after some time?
You are correct, that pushes can be sent MUCH later from when the associated query hit was received.

And duplicate queries can arrive some minutes later from the original.

BearShare tracks these latencies in the Statistics page, under the "Oldest" column.

1) Oldest Query: longest time span between duplicate queries

2) Oldest Query Hits: longest interval between a query and its associated query hits

3) Oldest Push: longest interval between a query hit and an assoicated push

For 1, average time frames are between 5 and 15 minutes

For 2, average time frame is from 2 to 8 minutes

For 3, I have seen values as high as 13 hours (running for a long time with very stable hosts/horizon). This means that someone requested a download 13 HOURS after receiving the query hit.

I strongly recommend the two-table approach for storing push routes - this single change resulted in a vast improvement in push routing for the entire network. LimeWire switched to this scheme after they discovered that a fixed 10,000 element table is only good enough for about 80 seconds worth of data.
Reply With Quote