150 likes | 164 Views
Project JXTA is an open network programming platform that enables P2P services and applications. It defines protocols for interoperating and is language- and network-independent.
E N D
Project JXTA : An Open Peer-to-Peer Network Environment Gene Kan gene.kan@sun.com 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-to-peer • 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
Project JXTA: why now? Network Computing Explosion • 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 Devices Everything that touchesthe network is growingat an exponential rate Data Users Services Transactions Bandwidth 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-to-peer 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-to-peer systems and communities • Platform independence (programming languages, system platforms and networking platforms) • Ubiquity: • Every device with a digital heartbeat • J2ME MIDP for now
JXTA community status • 80,000+ downloads in 3 months • 25+ projects • 5000 members • Active discussion groups (4000+ msgs)
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) Partial list of current projects
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