No one even knows about the blog, but I keep posting...

Check out this paper on a case study of the Gnutella network. Gnutella is a peer to peer protocol (check this link for a headstart -- O'Reilly sponsored page) that's gained some fame for being a "Napster replacement". It's a shame that's how Gnutella's known, though, b/c it's got the potential to help people make distributed web systems much in the same way .NET does.

Anyhow, the paper has some interesting points. One of the most interesting is that Gnutella doesn't take into account where each servent lives when it logs onto a Gnutella network. To get to the 'Net, you have to go through your ISP. Your ISP and many others hook onto the Net at a common location where they meet up with several other "supernetworks" (my cheesy term, sorry).

Now if the cluster of servents to which you're hooked live in different supernetworks (called "Autonomous Systems" or AS in the paper), that's a ton of bandwidth wasted at that node where they all come together that didn't need to happen as each servent tries to ping each other. Instead of asking the computer down the street if they have a copy of the Gnutella Protocol pdf, you're going across the world. And the next servent that that servent queries might be in yet another corner of the world, ad infin... um, and on and on.

Let's say all the servents in your Gnutella cluster all lived in the wires of _your_ ISP. You'd find each other much more quickly, cut down on bandwidth, and help make the Gnutella network much more scalable. Basically, 3-4 servents who are in "close proximity" on a Gnutella network might be in 3-4 different AS's or "supernetworks". This possiblity greatly increases network traffic and your ISPs required bandwidth to serve customers -- and possibly increasing your price for Net access in the future.

And who can mention The Net and Gnutella that many times without leaving with a mental image of The Ne..., ur, The Net and Nutella. Now that can't be all bad.