How about optimizing the network ? Here's an idea:
You get ip's from the peer cache, or remember them from last time. Say my Ip address is 192.123.45.67.
How about first trying to connect to all 192.123.45.* addresses in the cache, then to all 192.123.*.* ones ?
This would make the client prefer local connections. Gnutella as it is is wasting bandwidth. Now you can easily connect to your supernode half the globe away. A search could go from you to Australia, NY, Tokyo, Australia, Sweden and back to NY.
Local connections are to be preferred, it makes everything faster. Plus I see most download requests for local mp3's (songs from my country). This would improve the chance to actually find them.
It would not cut the network into pieces, as supernodes would still connect freely to eachother. |