RSS RSS feed
November 21, 2009
Hot Topics:

The Juxtaposition Between Hype and Reality

  • May 15, 2001
  • By David Fox
  • Send Email »
  • More Articles »

In last month's column, I took a brief detour to write about hype in general. This month, it's back to the basic beat, covering new Java technology, and one in particular that has been hyped an awful lot lately. It's called JXTA, and it's a framework for simplifying peer-to-peer programming. Basically, peer-to-peer (P2P) programs are ones that talk directly to each other rather than going though a central server. Examples of software that uses some P2P concepts are Napster, SETI@home, Mojo Nation, Freenet, Gnutella, Jabber and Microsoft's .Net.

David Fox

JXTA (pronounced juxta) was "incubated" in-house at Sun Microsystems by superstar geeks Bill Joy and Mike Clary and then released as open source under an Apache-like license. On jxta.org, you can download a Java version of the source code implementing JXTA. There are also some handy sample applications such as a content management system, an instant messenger, and a file-sharing application.

To be clear, JXTA isn't a ready-made, pop-it-together set of nifty libraries like most new Java technology. Rather, JXTA, like HTTP or TCP/IP, is just a set of networking protocols. The protocols can be implemented in Java, C++, C#, or, heck, any language. JXTA layers sit atop the networking stack and below the application, handling peer-to-peer problems.

Figuring out what these problems are is exactly what JXTA is about. Bill Joy and team studied the elements that today's peer-to-peer software apps have in common and managed to standardize things. Taking a cursory look at the specification, it seems like the gang has thought of pretty much everything: You create a peer with a unique ID, it joins a peer group, then monitors the group for new peers. Peers in a group can open a pipe and begin to communicate, doing things like finding data, transferring chat or files, cooperating on distributed problems, etc. All communication packets are sent as XML files. And JXTA has a typical -- but complete -- set of ways to handle current P2P problems such as managing channels, tunneling through firewalls, and other security issues.

JXTA is pretty useful, rather fun, and a huge time-saver for certain developers.

As with any open standard, JXTA's success will depend on how many developers flock to the technology, improve on it, and eventually count on it. If a developer were to begin a peer-to-peer project today, that developer would be a fool or a masochist not to at least consider JXTA. Several companies such as the Napster-like File Rogue are planning on using the JXTA code for their projects. Check out Clip2 , which lists the number of peers and peer groups currently running in JXTA relative to other open P2P technologies such as Gnutella and OpenNap. Clearly, JXTA isn't quite a powerhouse yet. But suppose that the next major instant messenger application, music-sharing application, and distributed computing application are all built atop JXTA. What you'd then have would be millions of peers sharing the same space. If I built a new JXTA service, I'd have an instant user base to tap into!

No, there's no question that peer-to-peer has lots of nifty advantages. Expensive server machines aren't needed, and no faulty centralized server software needs to be endlessly tested, debugged, and maintained. Also, as more handheld devices become connected, there will be a need for them to sniff each other out and directly communicate. Standardizing the P2P layer means these devices won't have room to deal with dozens of different frameworks.

But wait, there's more! Cyber-anarchists adore the idea of P2P. If data isn't centralized, it can't be controlled. All ideas can be freely distributed, and there's nothing anyone can do about it.

But how important or essential is P2P, really? If some of the recent articles are to be believed, P2P is going to be the next killer thing, a paradigm-shifter... truly earth shattering. Napster and its clones will clearly never die. But does P2P technology have any merit other than ripping off the RIAA?

Probably not.

There are big technical issues with large peer-to-peer networks. When many peers are subscribed to the same channel and all want to get the same information at the same time, connection speeds become horridly slow. The point of traditional client-server networking is that it is an eloquent solution to a most typical computing problem: Getting the same information out to many people. Gnutella, for example, has already been bogged down with huge scalability problems. Although good P2P design can go a long way, the sluggishness and inefficiency of large peer groups remains.

Another issue with peer-to-peer is validating data. Peer-to-peer systems are built on trust, and it's often too easy for rogue peers to stealthily distribute falsified, modified, or unsafe data. Currently, the only surefire way to be sure data isn't tampered with is to get it from a central server -- a place you can pin down and hold accountable. Security precautions can be designed into a peer-to-peer system, but those will only slow things down even further.

Finally, P2P suffers from a lack of ease. Joining a peer group involves finding a peer -- a machine or device that may switch on, or off, randomly and indiscriminately. It's almost impossible to do this cleanly, or guarantee any connection, without having a central server. Even Napster has a centralized index server for this reason.

So the problem with peer-to-peer isn't whether it's cool. It is. Nor is it whether it's useful. For certain applications, it's perfect. But is it going to shake the world the way the onset of the Web itself did? Nope. Can any real business models be built off it? Not yet, not that I can see.

In the end, JXTA is not "a killer standard," is not "paradigm-shifting," and is most definitely not "earth-shattering." But that's okay. It is pretty useful, rather fun, and a huge time-saver for certain developers. These days, that's a heck of a lot to ask for.

About the Author

David Fox is vice president of Games at PlayLink, Inc. He's also the author of numerous books and articles about cyberculture and technology.

1




Networking Solutions





Partners

  • Partner With Us














More for Developers

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs