Democracy's traffic jams
By John Borland
In the first hours after a judge ordered Napster to pull the plug on much of its popular service this summer, pure peer-to-peer networks faced trial by fire.
Fearful of losing access to the huge amounts of free music on Napster, people flooded to Gnutella, the decentralized file-swapping program widely seen as heir to Napster's crown. As a result, much of the Gnutella network slowed almost to a halt for two excruciating days.
For many of the technology's advocates, the clogged pipes served as something of a wake-up call. Gnutella is only one early version of a pure peer-to-peer network, but the incident spotlighted serious potential problems in replacing industrial-strength routers and servers with ordinary home computers: The network was only as strong--and as fast--as its weakest links.
In the new world of peer-to-peer, where individual machines stand in for the Web's massive arrays of servers, that means a host of home computers with dial-up connections risk becoming speed bumps.
"It turns out that dial-up modems simply can't handle all the traffic," said Kelly Truelove, chief executive of Clip2, a consulting and software company that works with Gnutella developers. "What that means is that individual hosts in the network become bottlenecks."
That lesson will resonate for years to come, as developers eager to bring individual computers into a central role through P2P networks struggle with the limitations of those machines. If they can't overcome such limitations, then much of the revolutionary rhetoric surrounding the model may need to be tempered.
Developers, however, are optimistic, noting that P2P applications and networks are still in their commercial infancy.
"I don't think as a concept peer-to-peer applications are inherently flawed," said Kevin Smilak, chief technology officer of Web file-swapping company Scour. "I think current implementations are flawed."
A fallible freedom?
But all of this winds up being expensive. The Web is seen as a distribution revolution where digital transmission can eliminate the high costs of paper, trucks and gasoline. However, bandwidth costs and fees for Net-speeding services such as Akamai Technologies have taken their place, particularly for companies distributing big audio or video files.
Peer-to-peer networks can help curb these costs. A given file could be hosted by 10,000 individual computers, eliminating the need to concentrate bandwidth spending on a central location. Even consumers can play roles as hubs of distribution, such as they do on a widespread--even if potentially illegal--basis with MP3 files and Napster.
But the way these individual computers are connected can lead to network headaches, as Gnutella's early troubles showed. Avoiding the Web's centralization means leaving behind much of the work that has gone into making it commercially stable.
The most famous P2P systems, such as Napster and Scour, aren't actually pure examples of the model. Searches of those networks still run through a central server. As long as those companies build enough capacity to handle the traffic, the networks will run fairly well.
Gnutella is different. A Gnutella search is broadcast across a network that changes from moment to moment, going from one individual computer to four others, from those to sixteen others and so on. Search results are returned along the same pathway they originally traveled.
Thus, if many people are connected at the same time, many searches are likely rippling through the network at the same time. And if any single computer gets choked--as dial-up connections easily can do when they start handling about 10 searches per second--traffic upstream and downstream can tailspin into a sputtering mess.
This will be a problem in any peer-to-peer system that relies on individual computers to route searches and requests, or to host the most popular content.
"You can't ask end users to upgrade machines or memory just because the content they're serving becomes popular," said David Weekly, one of the independent computer consultants who helped release Napster's technology into the open-source world.
Sidestepping the roadblocks
Some developers say Gnutella itself can be salvaged by creating what some have dubbed "super peers," which serve as stand-ins for dial-up modem users but have fast connections themselves.
Under this model, several dial-up computers would connect to another machine, which would read which files they were sharing and pass this information to the rest of the network. Searches rippling through the network would be filtered only through the fast super-peer and would skip slow machines.
Clip2 has released one free product like this already, dubbed the Gnutella "Reflector." Other developers are discussing models that can "add intelligence" to the way Gnutella and other P2P systems route traffic and use available bandwidth.
"Bandwidth consumption has always been a problem, but with improvements in the software--and the Reflector--it's significantly improving," said Gene Kan, one of the programmers who has been a key part of Gnutella's propagation. "It's like we're at the top of a cliff, and just putting a little more energy into the work will put us over."
Then there's Freenet, one of the most high-profile still-in-development systems ever to make headlines.
Freenet is built on a different and more complicated model than Gnutella, Napster or any of their clones. Other peer-to-peer networks focus on connecting the computer that hosts content with the one asking for the file. Freenet has programming built in that makes sure that this content winds up being as close as possible to the people who routinely ask for it.
Moreover, its technology has enough information built in that requests can be routed almost directly to the place where the content is likely to be without having to search every connected computer.
Each of these features, at least in theory, radically reduces the amount of traffic flowing through the network. Because it is still in the design stage, however, Freenet has yet to face the same large-scale tests that have exposed Gnutella's flaws.
The hurdles faced by peer-to-peer networks partly stem from the model's immaturity. Until recently, the model was ignored by most reputable computer scientists and was the province of only a scattered group of independent programmers.
"We're reaching the limitations of the individual developer to develop," Kan said. "There are limitations when people are doing this in their free time and without a team. It will take companies and people working full time to push the envelope any further."
Go to: Show them the money