Quote:
1) Begin to structure the network more. Grouping people the file types they are sharing and the types they are looking for. This would be good to do under the ultrapeers.
|
I think grouping can be easily done:
1) If you download a file from a client you try toconnect to this servent directly. So by time you will have many servents in your horizon that have the file typoes you search for.
2) Another option would be to connect to the client(s) you get the most query hits from.
I think something like that.
If you don't want to have to many connections open you have to kick one then of course. How to do that? I mean one problem would be that it leads to an even more dynamic network structure that could rapedly change/break paths in the net so messages are lost cause the path back is broken.
One criteria could be, to disconnect from a client you did not get back many hits or that does not share a/many file(s). This may also be a possibility to make life for freeriders harder. On the other hand you tend to block useres that sit in a short path with not many clients in their branch and those that do not share many files. And can you "punish" someone by disconnecting if he does not offer enough files?