Thread: Idea about TTL
View Single Post
  #1 (permalink)  
Old November 3rd, 2002
Did Did is offline
Novicius
 
Join Date: November 3rd, 2002
Posts: 4
Did is flying high
Lightbulb Idea about TTL

So I was reading about P2P stuff and I have this cool idea, only problem is its one of those things where everyone needs to agree to change at once. I'll just describe it here and let the proffessionals deal with the details.

OK, you're all aware of how the Time To Live (TTL) field works when broadcasting messages over a network of nodes such as Gnutella; it counts down everytime the message gets forwarded. (At the same time the number of Hops is counted up)

If you were to search for *.mp3 then you would get several thousand responses before the request gets forwarded even once, that's more than enough. But if you were to search for something really rare like, Orange Penguins Cheat At Risk, then you would need to search further, but you're not allowed to increase the TTL by too much otherwise your request gets cancelled.

I propose that queries include a Hits To Return (HTR) field. Allow me to illustrate:
Say you were to search for Orange Penguins Cheat At Risk with a HTR of 40 and you are connected to 4 hosts. You (or your gnutella client/servent) divides the search between them, each receiving a query with an HTR of 10. Say one of them has 2 matching files (!!) and also has 4 other hosts connected. It would return the 2 query hits, decrement the HTR of that query by those 2 and share the query among it's hosts so they get a copy of the original query but with an HTR of just 2.
If that host had more than 2 cheating orange penguins then it would only return the 2 most likely/best fit hits.

This way a common search would end after a hop or two instead of bogging the network with thousands of near identical messages, also the original searcher, you, would not receive too many hits to make sense of. Your search would be limited to a maximum number of hits and if you hit the maximum then you would be forced to refine your search properly which is just good practice.
A complex, rare search may travel for several hops before running out. You would only bother people (and in doing so, use their bandwidth) with your search if it really matters.
An impossible search would eventually run out because the HTR would be divided to a value less than 1. The TTL field would still be used as a definite limit but the message and network could survive without it.

That's my two cents, hopefully someone will take it on. Thanks for reading such a long suggestion.

Did.
Reply With Quote