Skip to main content

Paper AirPlanes, Tinker Toys, Grids and P2P - and I'm quite certain I wasn't lost in a neighborhood Toys "R" Us

Posted by gonzo on September 20, 2003 at 6:47 PM PDT

I believe JXTA is one of the more social and organic enabling technologies that I have had the opportunity to work with. Candidly, working with JXTA is a serious kick in the pants. The good folks that comprise the JXTA team typically take the opportunity to organize informal Town Hall events when a significant number of developers converge for one reason or another. Thusly, just such an event was held the evening of Sep 16th across the street from the 03 Q3 SunNetwork Conference.

Roughly 25 folks showed up and stayed the durationn, engaging in thoughtful dialog throughout the evening. I very much like working in the networked world but unplugging and investing in some quality face-time is always rewarding; charging one's batteries so to speak.

Opening and Overview : Lauren Zuravleff, Sun JXTA Marketting

Lauren welcomed folks and proceed to provide a series of JXTA industry and community updates. New and interesting applications are continually surfacing. Fun stuff.

P2PSockets : Brad Neuberg, Independent Developer

Brad started the presentations by describing the work he is undertaking leveraging the ultra-cool JxtaSocket API which is a functional implementation of differing primarily only in the constructor. This work exists as the JXTA P2PSockets project.

In applying this strategy, existing skills and application logic, namely Sockets (the foundation of all distributing programming), Servlets, JSPs and JAX-RPC, can readily be repurposed upon a JXTA network. Upon this model a number of intriguing opportunities arise, one being a distributed DNS. Beyond the details, this is just plain and simply very cool, marrying the best of Java with the pervassiveness of JXTA.

P2PSockets create the "thin illusionn that the P2P network is actually a standard TCP/IP network." Using standard and readily available web technologies, one can easily purvey classic web services unaltered and in thier native form, namely J2EE/WAR compliant containers and the like. Bridging web service clients via a standards compliant P2PToWebProxy niether consumer nor provider need worry about and in fact are directly exposed to the underlying JXTA details. Viable clients include but are not limited to popular web browsers.

Work building on top of P2PSockets includes Paper Airplane which takes the next logical step, that being to push readily available metadata (e.g. XUL, XML, etc) to and from edge extremes.

Uniform Storage Solutions : Magaret Green, OnToNet Founder

Margaret feels personal storage management is an escalating problem largely driven by the low cost of high volume of a myriad of storage devices. No need to convince me, one who gladly suffers from "proud father syndrome" and thereby takes way too many pictures of his 3 year old son's every move :)

The principal idea, one of which OnToNet has been focussing on for awhile now, is to consider a means for a uniform storage model which at it's heart is comprised of virtualization and P2P via JXTA.

OnToNet has the bulk of the problem domain well in hand, that being the nodes, or little round toys of Tinker Toy fame. In Margaret's words, "... JXTA provides the little pipe tinkers that link the toys ... resuting in TinkerToys." Nice analogy.

Grid Computing with JxGrid : Charu Chaubal, Sun GridEngine Engineer

The JxGrid project is an initiative that brings together large scale Grid Engine work, on the order of 2K CPUs and 1M jobs/day, with that of JXTA. This is not your small time endeavor. This implementation strives to run client jobs unmodified and in native form. JXTA brings to the table eased systems management and messaging.

EZ JXTA with EZEL and JAL : Neel Nadgir, Sun Market Development Engineer

The EZEL and JAL projects enable rapid development of the most typical JXTA use cases by easing integration and capturing best practice p atterns. A number of projects have been built upon these libraries.

Distributed computing with JNGI : Jerome Verbeke, Sun Market Development Engineer

The JNGI project is a framework for distributing applications among JXTA peer groups by implementing a classic Worker/Task pattern. One thing that really stood out in this initiative is that in order to project a piece of application logic across a JXTA network one need only implement a RemoteThread interface. Put another way, this approach extends the well known java.lang.Thread model to relatively seemlessly execute distributed computing. Here's what the core interface looks like:

public class RemoteThread {
  public RemoteThread(Runnable);
  public void start();
  public void join();
  public Runnable getRunnable();
  public void quit();
  public void remove();

Very cool! : Mike "bondolo" Duigou, Sun JXTA Engineer

The JXTA team is striving for quarterly moving foward. The JXTA 2.1.1 release was finalized Sep 15th.

Looking forward to the next release JXTA will take on a number of extended security features, namely certificate based ids and authenticated messaging. As such, J2SE 1.4.2 will be the required platform given a substantial number of security features exist in this release that would be quite difficult to backport. The JXTA team has been running 1.4.2 in a number of environments since it's release and have as of yet seen no technical barriers to adoption.

CBID will enable a peer's ID to seve as an authenticated identity. This will work quite well in a corporate
environment. A very cool outcome of this work will be that non-authenticated messages will be immediately discarded.


After a brief round of introductions was followed by an interactive Q&A session.

How best can one avoid the *$%! configurator? Take a look at the UI-less Configuration JXTAWiki. There's likely more work we can do in this space of which some ideas have been explored in both the MyJXTA2 and JDF projects, which both build upon the net.jxta.util.config.Configurator class as mentioned above.

What else is new? There will be continued work in scalability and extended security ... onwards and upwards.

Can the build environment and associated information be expanded? Like that of MozDev?

Adding more functionality to the build system is great objective. Elixir has been evaluated. Maven is also a option.

What about role based authenitcation? Along with exetended security functionality SAML is being considered.

What can the community do to help?

  • use JXTA
  • test and report findings (e.g. consider contributing to the growing jUnit test suite)
  • report bugs
  • collaborate with patches and new initiatives
  • apply JXTA to existing problem domains

What of P2P and USB On-The-Go? There is interest in evaluating JXTA and USB On-the-Go synergies. Any takers?

Has anyone considered a Bay Area JXTA User Group? This question has come up a number of times as of late to which everyone believes it would be a great idea to persue.

Java == platform independence

XML == application independence

JXTA == network independence

Secure End-to-End Computing

Related Topics >>