Upload
neil-hoover
View
221
Download
0
Embed Size (px)
Citation preview
1-1
IntroductionIntroduction
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-1
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 P2P is about any device easily connecting “directly” to other devices to enable a “directly” to other devices to enable a more cooperative, or social, style of more cooperative, or social, style of computing.computing.
1-1
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
Use of the Network/Value of the Network
BandwidthBandwidth TransactionsTransactions
ServicesServices
UsersUsers
DataData
DevicesDevices Everything that touchesEverything that touches the network is growing the network is growing at an at an exponentialexponential rate rate
1-1
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 Their value or performance increasesincreases as as more nodes participate in the networkmore nodes participate in the network
1-1
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-1
JXTA Enables Classic P2P Applications
• Communications,collaboration, gaming
• Content delivery and sharing networks
• Transactional webservices
• Resource sharing
1-1
JXTA Wireless P2P on J2MEMIDP and iAppli
P2P MessagingGroup and 1:1 Chat
P2P CollaborationSharing, Games
1-1
JXTA Sample Applications myJXTA2 and PicShare
1-1
JXTA Sample Applications Momentum 1.0 by InView Software
1-1
JXTA Sample Applications
Hive from Alberg Software
Pepper from R-Objects
Other Collaboration Solutions
1-1
JXTA Sample ApplicationsVistaPortal
1-1
JXTA Sample Project — tini.jxta.orgTINI 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-1
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-1
Protocols Drive Distributed Computing
Peer-to-Peer
Web-based
Client-Server
TCP/IP
HTTP
JXTA
1-1
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-1
Any Platform, Any Network
JXTA JXTA Virtual Virtual
Network Network MyJXTAMyJXTA
(( J2SEJ2SE on Windows on Windows ) )
JXTA-C ShellJXTA-C Shell(C on Solaris(C on Solaris))
JXTA Chat JXTA Chat (MIDP & iAppli) (MIDP & iAppli)
1-1
JXTA Peer Types
• Micro peers
• Standard peers
• Super peers:– Rendezvous
peer– Relay peer– Proxy peer
1-1
JXTA Virtual Network
Firewall
NAT
Virtual Mapping
TCP/IP
PhysicalNetwork
HTTP
JXTA VirtualNetwork
Peer
Peer PeerPeer Peer
Peer PeerPeer
1-1
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-1
JXTA Software ArchitectureSample ApplicationsSample Applications
Sample ServicesSample Services
JXTAApplications
JXTAServices
JXTACore
Peer GroupsPeer Groups Peer PipesPeer Pipes Peer MonitoringPeer Monitoring
Peer AdvertisementsPeer Advertisements SecuritySecurity
Any Connected Device
Peer IDsPeer IDs
SearchSearch IndexingIndexing DiscoveryDiscovery MembershipMembership
Instant MessagingInstant Messaging File SharingFile Sharing Resource SharingResource Sharing
Collaborative AppsCollaborative Apps AuctionsAuctions
1-1
jxta.org Based on a ProvenOpen 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-1
JXTA Community Momentum
Please join our efforts!
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
1-1
JXTA Books
• 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
http://www.jxta.org/bookshelf.html
1-1
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-1
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-1
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-1
Sampling of JXTA Technology ISVs
1-1
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-1
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-1
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-1
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