Peer-to-Peer Comes to the Web Server World
There is no arguing with the fact that BadBlue is a Web server. But that's not really what it's about. BadBlue's centerpiece and key selling point is its integrated peer-to-peer facilities. Probably the buzzword of the year, peer-to-peer, sometimes called P2P, describes a model where each computer in the network is simultaneously a client and a server.
A peer-to-peer network is a dynamic ring of machines holding hands, as if around a bonfire where information requests are passed along the ring, rather than through a central point. Peer-to-peer has become a popular media buzzword thanks to Napster. The music exchange phenom isn't a pure peer-to-peer system at all, however, since it relies on central server points. BadBlue cites Gnutella as its influence. Interestingly, Gnutella is the pure peer-to-peer client in Napster's shadow.BadBlue is a Web server with peer-to-peer search functionality. The product's aim is to elimiate the bottleneck of a single file server by allowing every machine on the network to pool its resources. But will the idea of one big virtual server pass muster with security-minded network administrators?
The idea behind BadBlue is this: You install BadBlue on your machine and supply it with the address of someone else whose machine is running BadBlue. Their machine, in turn, may know of another such machine, and so on. Now, you ask BadBlue to search for a file, any kind of file, and if that file exists in a shared area on any of the other machines in the chain, you'll have the chance to access this file.
How is this any different from existing peer-to-peer applications such as Gnutella, Freenet, and friends? So far, it isn't -- in principle.
But BadBlue is also a Web server -- a Web server that supports the powerful PHP scripting language. So, in addition to serving raw documents to others in the chain, BadBlue can also serve Web content. And if, for example, a user is enterprising enough to create a PHP-based application for delivering content from their machine, the possibilities open wide.
This begs the question of how different this is from running a Web server with PHP support on the machine? Again, in principle, it's not really.
BadBlue is trying to leverage two individual technologies: peer-to-peer and PHP-supporting Web server, to create a new whole. It's difficult to see how this system would be very helpful to the lone individual, and that's probably why BadBlue talks a lot about usage in the corporate environment. Admittedly, the BadBlue concept makes more sense in the context of an organically related network (i.e., a corporate intranet), as opposed to an arbitrary collection of computers throughout the world.
Within an organizational network, BadBlue promises to eliminate the bottleneck of a single file server and instead allow every company machine to pool its resources as if it were one big virtual file server. The idea has merit -- potentially a lot of merit, when company resources are scattered over many machines. In this case, BadBlue's peer-to-peer search facility could cut through a lot of red tape and enable someone to quickly get to the files he or she needs.
BadBlue runs as a tiny Web server, consuming only 60 KB of memory. It is accessed through a Web browser set to the local host, your own machine, IP address 127.0.0.1, or any other network name owned by your machine. The network interface is well-designed and clean, and it presents BadBlue's offerings in a clear manner. Users can manage their shared areas, view the activity of others on their machine, hook up with other machines in the peer-to-peer network, or administer BadBlue as the Web server that it really is. That said, the Web server configuration options are relatively limited, offering only virtual folders, users, and access controls.
Clearly, the intent behind BadBlue is to make life easy. It's a simplified Web server and peer-to-peer facility. On that count, BadBlue succeeds. With a fast installation, minimal configuration requirements, and ease of use that enables nonexperts to search for and share files with more ease than probably any other networking facility, one can certainly envision BadBlue joining the ranks of other peer-to-peer applications for underground file trading. The trouble is that it's more difficult to imagine the corporate networks for which BadBlue is intended embracing this architecture.
At its core, deploying BadBlue means that each user will be installing and running their own Web server as well as deciding ad hoc which areas of their machine to make available for sharing. It's extremely difficult to imagine network administrators glowing about this sort of thing. Despite BadBlue's security features (which allow users to define user classes that require authentication and limit shared folders to these classes and in the upcoming Enterprise Edition will allow users to hook into an LDAP directory), network admins may still worry about shifting security responsibilities onto end users. Because BadBlue relies on a peer-to-peer, decentralized model, the network administrator loses a good bit of control in nailing down a network.
Rating BadBlue was a tricky matter. The product functions well, and is extremely easy to set up and use. Many will find BadBlue an engaging product. But these may not be people for whom BadBlue is positioning itself. Our concern is that the issues it raises may possibly frighten away its intended, paying audience and render the product less viable.Pros: Simple installation and configuration, Very easy to search for and access files on peer machines and deliver Web content, Works as intended
Cons: Shifting and distributing security responsibilities onto application users, especially in the larger network environments for which this product touts itself, is likely to send a shiver of fear down the spines of many network administrators
New in v1.5 Beta:
Can use public or private IRC servers to find friendly machines;
runs PHP and other CGIs faster;
new Web serving features allow the default document root and the default start page to be set, and directory browsing to be controlled;
can support multiple hosts on a single IP address;
enhanced MIME support for JPG, MP3, and AVI;
can set multiple cookies and pragmas from a single PHP or CGI;
can run multiple copies of BadBlue on a single machine;
Upgrade Meter: 3
Version Reviewed: 1.0.2
Reviewed by: Aaron Weiss
Last Updated: 9/10/01
Date of Original Review: 3/14/01