Introduction 1-1 The time is right for P2P and Project JXTA Peer to Peer (P2P) is not new. However, the time is now right for the broad P2P applications deployment. The Project JXTA technology lets developers build and deploy P2P solutions more quickly. 1-2
What is Peer-to-Peer (P2P)? P2P covers a wide range of applications Sharing files, distributed search and indexing Sharing CPU and storage resources Instant messaging & devices communicating together Collaborative work (and games) Web services New forms of content distribution, sharing, and delivery P2P is not New or a specific architecture, technology, business model, or market About eliminating servers or centralized services P2P is about any device easily connecting directly to other devices to enable a more cooperative, or social, style of computing. 1-3 P2P Makes Sense 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 are increasingly providers of resources Network Computing Explosion Everything that touches the network is growing at an exponential rate Devices Data Users Services Transactions Bandwidth Use of the Network/ Value of the Network 1-4
Characteristics of Ideal P2P Applications Applications best suited for P2P implementation are those where: Centralization is not possible or desired Massive scalability is desired Relationships are transient or ad-hoc Resources are highly distributed Resilience is desired Their value or performance increases as more nodes participate in the network 1-5 What is JXTA? An open set of XML-based protocols for creating peer-to-peer style network computing applications and services Protocol based --> language, OS, network, and service agnostic technology A virtual network overlay Defines mechanisms, not policies Open Source project: www.jxta.org 1-6
JXTA Enables Classic P2P Applications Communications, collaboration, gaming Content delivery and sharing networks Transactional web services Resource sharing 1-7 JXTA Wireless P2P on J2ME MIDP and iappli P2P Messaging Group and 1:1 Chat P2P Collaboration Sharing, Games 1-8
JXTA Sample Applications myjxta2 and PicShare 1-9 JXTA Sample Applications Momentum 1.0 by InView Software 1-10
JXTA Sample Applications Other Collaboration Solutions Hive from Alberg Software Pepper from R-Objects 1-11 JXTA Sample Applications VistaPortal 1-12
JXTA Sample Project tini.jxta.org TINI lets you Internet-enable any device. JXTA gives you peer-to-peer capabilities. Combine them both and you've got peer-to-peer appliances. Your refrigerator can work with your freezer and other appliances to track inventory Assembly floor robots can cooperate in construction Physically distant climate microsensors can generate knowledge from raw data TINI MP3 players can exchange music data and metadata And more! 1-13 JXTA Technology Objectives Interoperability Across different P2P systems and communities Platform independence Programming languages, system platforms, and networking platforms Ubiquity Every device with a digital heartbeat Security and Monitoring For commercial and enterprise deployment 1-14
Protocols Drive Distributed Computing TCP/IP HTTP JXTA Client-Server Web-based Peer-to-Peer 1-15 JXTA Implementation Platforms J2SE Implementation Full implementation of JXTA protocols Standard and Super Peer functionality APIs and functionality frozen JXTA-C Standard Peer functionality only Runs on Linux, Solaris OE, and Windows JXTA for J2ME Micro Peer functionality only MIDP-1.0 compliant new iappli compliant 1-16
Any Platform, Any Network JXTA Chat (MIDP & iappli) MyJXTA ( J2SE on Windows ) JXTA Virtual Network JXTA-C Shell (C on Solaris ) 1-17 JXTA Peer Types Micro peers Standard peers Super peers: Rendezvous peer Relay peer Proxy peer 1-18
JXTA Virtual Network JXTA Virtual Network Peer Peer Peer Peer Peer Peer Peer Peer Virtual Mapping TCP/IP Physical Network Firewall HTTP NAT 1-19 JXTA Virtual Network Building Blocks Uniform peer addressing Peer IDs Dynamically configurable peer domains Peer groups Uniform resource representation Advertisements Universal binding Resolver = searching for advertisements Virtual communication channels Pipes Security and Monitoring 1-20
JXTA Software Architecture JXTA Applications Instant Messaging Sample Applications Collaborative Apps File Sharing Auctions Resource Sharing JXTA Services Sample Services Search Indexing Discovery Membership JXTA Core Peer Groups Peer Advertisements Peer Pipes Peer IDs Peer Monitoring Security Any Connected Device 1-21 jxta.org Based on a Proven Open Source Model www.jxta.org All source, projects, docs, examples on-line Apache style software license No barriers to getting started No royalties, no fees, no registration Meritocracy The more you've done, the more you can do 1-22
JXTA Community Momentum www.jxta.org (4/25/2001 11/16/2002) 822,000 downloads 80 projects 11,600 members Active discussion groups Community actively contributing and integrating technology Please join our efforts! 1-23 JXTA Books http://www.jxta.org/bookshelf.html Early Adopter: JXTA, Sing Li, 2001 JXTA, Brendon J. Wilson, 2002 JXTA: Java P2P Programming, Daniel Brookshire, et al, 2002 Mastering JXTA Development, Joe Gradecki, August 2002 Java P2P Unleashed, Robert Flenner, et al, 2002 JXTA in a Nutshell, Scott Oaks, et al, 2002 1-24
Project JXTA Recognition JavaWorld Editor's Choice 2002 Winner: Most Innovative Java Product or Technology JavaPro 2002 Award: Outstanding Group Contribution to Java Technology Hurwitz Group Award: Most Likely to Win Top Trend in Future Year Business 2.0 (1/2002): [JXTA] could be the equivalent of Microsoft's Windows for the world of peer-to-peer computing. 1-25 What's In It for Developers? Open Source Code! Community of Open Source Developers Opportunity to "Steer the Boat" Learn about a hot new technology Contribute as much as you want Perpetuate the value of Open Source development Ensure Open Standards for P2P Access to Marketing and BD Resources 1-26
Sun's Interest in Peer-to-Peer P2P is an instance of our vision The Network Is the Computer Demonstrate continued thought leadership Ensure open, level competitive field with opportunities for all Advance Sun s readiness for P2P Servers (appliances to E15K), Workstations, Compute farms (Grid computing), Sun One Software, Storage solutions, Network appliances 1-27 Sampling of JXTA Technology ISVs 1-28
Sampling of Organizations Using JXTA Numerous projects underway. Some mentioned publicly include: BBN (a Verizon Company) Ericsson Microwave NASA (U Md) and JPL Siemens Sun Plus over 20 University Projects 1-29 Looking Ahead Performance and Scalability New services and opportunities E.g. content management, digital rights, presence, identity, integration with Web services Specification standardization through public organization 1-30
Project JXTA Provides A set of building blocks and infrastructure that provide a foundation for P2P applications An open and interoperable set of protocols that do not have special licensing requirements Quick time to market for new products and services 1-31 Summary Project JXTA is an open source platform for P2P applications it is free and available now! Project JXTA technology is language, operating system, network, and service agnostic. Project JXTA works on any network device from cell phones to super servers Project JXTA has a large and active community at http://www.jxta.org 1-32