Your ad can be shown here!
 
  Help
AI links
  :: main hierarchy ::
• Agent Software
• Artificial Life
• Cellular Automata
• Cognitive Science
• Companies
• Computer Vision
• Data Mining
• Decision Support
• Expert Systems
• Fuzzy Logic
• Game AI
• General Resources
• Genetic Algorithms
• Handwriting Recognition
• Information Retrieval
• Intelligent Agents
• Intelligent Interfaces
• Knowledge Management
• LISP
• Machine Learning
• Mobile Agents
• Nanotechnology
• Natural Language Understanding
• Neural Networks
• Online Books
• Philosophy
• Programming
• Prolog
• Robot Builders
• Robotics
• Speech Recognition
• Virtual Pets
• Web Agents
 
aboutAI.net Weekly Features
    JXTA
Project JXTA
Sun's contribution to one of the Net's most dynamic new movements - P2P networking, and how the AI community could benefit from such distributed computing models.
  Related Resources
• Past issues of weekly features
• Worldwide Virtual Computer
• OpenAI
 
 Elsewhere on the Web
• Peer-to-peer monsters are on the way
• P2P twists
 
 

As the Web becomes faster and more powerful, if offers new opportunities, some of which are not related only to information access. I already described some of the ongoing research efforts trying to combine the processing power of thousands of networked personal computers to create worldwide virtual supercomputers. We need more development environments and frameworks for making these dreams closer to reality. Sun Microsystems realized that soon enough and recently unveiled Project JXTA, aiming to explore a vision of distributed computing using peer-to-peer topology, and to develop basic building blocks and services that would enable innovative applications for peer groups.

Project JXTA is short for juxtapose, as in side by side. Bill Joy, chief scientist at Sun Microsystems and UNIX pioneer, is defining peer-to-peer technology as putting things next to each other: P2P allows systems to have temporary associations with one another for a brief periods of time and then separate. And believe it or not, we've been "open sourced" again: as self-proclaimed Joys Law defines that innovation happens elsewhere, the project has posted a draft of a specification and prototype code to a JXTA Web site under the Apache Software License, encouraging other developers to join in. The AI community could greatly benefit from such peer-to-peer computing models that seem to be ideal platforms for constructing agent systems. So, let's take a closer look at the P2P technology in general and the Sun's contribution to one of the Net's most dynamic new movements.

Principles behind P2P technology are not new, but their recent applications in popular services like Napster draw wider attention to the area of decentralized distributed computing. It is hard to define what P2P exactly is, but as Sam Joseph notices in his paper on NeuroGrid-Freenet simulation results, "not client-server" is a good starting point. If you want to take a more detailed look at the mechanisms behind three different P2P networks, Gnutella, NeuroGrid and Freenet, there's no better place to start. What Sun brings into this area is a modular platform that provides simple and essential building blocks for developing a wide range of distributed services and applications. Simplicity is the key: Joy emphasizes that Sun is not trying to do something infinitely complex like Microsoft's .NET. It perfectly fits in with Sun Open Net Environment Webtop, an open network environment whose architecture is designed to help create, access, and deploy smart Web services. It can be implemented in any language on any operating system (with initial implementation written in Java, C and Java 2ME following shortly). Sun anticipates solutions that will range from applications that enable a small device to join a network of peers to developing a fully integrated systems that supports metering, monitoring, high-level security and communication across server-class systems.

JXTA is designed to be modular, and consists of three layers; a core layer, a middle "services" layer, and an application layer. The core layer enables key mechanisms for P2P networking, including discovery, transport, and the creation of peers and peer groups. The services layer provides support for searching, sharing, added security and other generic services. The application layer supports implementation of file sharing, resource sharing, distributed storage, and other integrated applications. These layers support main concepts of the JXTA project: the ability to "pipe" processes from one peer to another will be familiar to UNIX users. Other concepts include the ability to create groups of peers in a dynamic, fluid, flexible environment; the ability to monitor and meter the environment; and the ability to perform work in a secure fashion.

For more hands-on experience, I suggest that you download the code and try it yourself. The JXTA Shell, much like the UNIX shell, is an application that enables users to interact with the JXTA platform through a command-line interpreter. If you need to understand the key concepts behind the whole project and P2P networking in general, this is a good place to start. A collection of whitepapers provides a good introduction to the P2P world, starting with the basic stuff and following with the details about JXTA protocols and advertisements. Developers wanting to get involved by contributing to project will have to learn more about resources at Collab.net: their software toolset called SourceCast enables collaborative software development, providing Web interfaces for version control, issue tracking, discussions and decision making, automated builds and testing, etc.

Sun already launched a similar technology several years ago that provides a mechanism for connecting distributed services within a local area network using an object model and a centralized service location broker. Because the Jini system employs mobile objects, many have categorized it as a mobile agent framework. Although some may argue that it has not lived up to its early hype, you may find some interesting, Jini-related Jini+insights on mobile code, distributed computing and agents.

Talk about AI-related topics at Artificial Intelligence Bulletin Board.

Want more timely information and resources related to AI? Subscribe to our FREE newsletter!

Got some specific AI related questions or need consulting services? Contact your webmaster, Denis Susac.

Talk with people who share your interests...

Previous Features

S p o n s o r e d    b y...

Buy the ER1 Robot!