View Single Post
  #1 (permalink)  
Old December 10th, 2001
LoKi128 LoKi128 is offline
Novicius
 
Join Date: December 10th, 2001
Location: Purdue University
Posts: 3
LoKi128 is flying high
Lightbulb Mirrors & Host Exclusions

I have a couple of ideas I would like to share with the community.

File Mirrors
Each servent should keep a list of other servers (by host) which may have a copy of the file that the servent is sharing. This list could then be used in the case of the servent being busy or when swarming is used.
An entry to the list is added every time the servent sucsesfully uploads a file, or if a file with the same filename+filesize is seen going by the data stream. A limit of 5 mirrors per file could be use to keep the database size down. Of course, this should be persistent across multiple client starts and exits. The future addition of a CRC and MetaData to searches will only enhance the list of mirrors.
I know that some (most?) of the hosts listed in the mirror database will not be accesible, because of dynamic IPs or the servent not running 24/7, but for rare files it would be a godsend, and when swarming catches on, it would be great.

Host Exclusions
Every servent should keep an active list of all the hosts known to be up to 3 hops away. When a new server connects, these hosts should be sent to the new servent in order to prevent it from connecting to the same hosts you have access to already. This would then create a more heathy network, since new servers will be seeking attachment points in the fringes of the current cloud instead of just randomly across it.
The "map" of the local area could have a TTL of about 10 minutes, so after 10 minutes of not seeing a message from the host, it is removed. This way, the list is kept more or less up-to-date without resorting to pings. It could also have a size limit, say 20-30 hosts total. Of course, if the new servent just does not have any other hosts to connect to, it should then attempt to connect to the ones farthest from the connection that sent the list.
Also, since every host now keeps a database of every other host near it, more intelligent descicions can be made about where to connect to later. Ideally, this should reduce dupe messages to a minimum.

Some feedback on these ideas would be truly welcome. Thank You.
Reply With Quote