Project JXTA

Download Report

Transcript Project JXTA

Project JXTA :
An Open Peer-to-Peer
Network Environment
Gene Kan
[email protected]
Project JXTA
Sun Microsystems, Inc.
What is JXTA?
• An open network programming
platform to enable P2P services and
applications.
• Defines a set of protocols for interoperating
• Is language- and network-independent
• Is 100% open source, available at:
http://www.jxta.org
What is P2P?
• P2P has many examples:
• Sharing files or swapping music
• Sharing CPU and storage resources
• Distributed search and indexing
• Instant messaging & pervasive devices talking with
one another
• Serverless collaborative work (and play)
• New Smart Web Services
• New forms of content distribution
Adapted from an IBM presentation on P2P
Sun's interest in peer-topeer
• P2P is the continuation of our vision
-“The Network Is the Computer”
• Demonstrate continued thought
leadership
• Ensure open, level competitive field
• Advance Sun’s readiness for P2P
• desktop software, workstations, compute farms,
iPlanet products, servers, storage, network
appliances
Evolution of computing
Project JXTA: why now?
• More people connected,
more data generated
• More nodes on the Internet
and wireless Web
• More bandwidth available
• More computing power
available (disk, memory,
CPU)
• More interesting applications,
content, and services
• Edge devices increasingly
providers of resources
Network Computing Explosion
Everything that touches
the network is growing
at an exponential rate
Use of the Network/
Value of the Network
Problems with today's Internet
•
•
•
Information: hard to find, impossible
to catalog and index
Bandwidth: hot links get hotter, cold
ones stay cold
Computing resources: heavily
loaded nodes get overloaded, idle
nodes remain idle
Benefits of peer-to-peer
• Theory
• Dynamic and adaptive discovery of information
• Performance and functionality increase as more peers
participate
• Better utilisation of bandwidth, processor, storage, and other
computing resources
• Extend RAID concepts to computing resources
• Examples
•
•
•
•
Sharing content cache over high speed LAN
Data mirroring and striping using shared storage
Deep search beyond the web
Dynamic collaboration
Project JXTA: an open
community
• Sun: initiator, contributor
• Open source community
• Adopt, innovate, develop, promote
• Apache licensing gives developers
flexibility
• (Modified BSD license.)
• Everyone is free to use source code.
• Only requirement is to acknowledge Sun.
• Not required to publish modifications to source code.
Problems with other peer-topeer systems under
development
• Proprietary
• Others aim to create a system from which
they can profit directly.
• Lease the intellectual property or lease the
network.
• Computing silos: non-interoperable,
fragmented networks
• TCP/IP only: built-in dependency on TCP/IP
transport
JXTA technology objectives
•
•
•
Interoperate across different peer-topeer systems and communities
Platform independence (programming
languages, system platforms and
networking platforms)
Ubiquity:
• Every device with a digital heartbeat
• J2ME MIDP for now
JXTA demonstration: chess
JXTA community status
•
80,000+ downloads in 3 months
•
25+ projects
•
5000 members
•
Active discussion groups (4000+
msgs)
Partial list of current projects
•
•
•
•
•
•
•
•
•
•
•
•
rosettachat (gonzo)
instantp2p (kuldeep)
shell (tra)
rrs (ziad)
fuel-auction (bfoley)
jxtaspaces (vanessa)
payment (frose)
cms (dac)
search (stevew)
jxta-wire (lomax)
jxta-xml-rpc (jbeatty)
monitoring (kuldeep)
• platform (tra)
• security (yeager)
• jxme (kuldeep)
•
•
•
•
•
pocketjxta (ianm)
vojxta (gkasinath)
haggle (navacron)
p2p-email (nitin)
jxrtl (savage)
JXTA core services projects
•
•
•
•
•
•
•
C/C++ and J2ME MIDP implementations
Improved solutions for firewalls and NAT
Reliable and secure pipes
Simpler APIs
Naming services
Authentication services
Revised specification