1 / 20

JXTA

JXTA. Selo TE 2005. Introduction. What is JXTA ( pronounced Juxta ) Jxta – an open, network computing platform designed for peer-to-peer (P2P) computing Provides a base P2P infrastructure over which other P2P applications can be built Originally conceived by Sun Microsystems

annis
Download Presentation

JXTA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JXTA Selo TE 2005

  2. Introduction • What is JXTA (pronounced Juxta) • Jxta – an open, network computing platform designed for peer-to-peer (P2P) computing • Provides a base P2P infrastructure over which other P2P applications can be built • Originally conceived by Sun Microsystems • Designed with the participation of experts from academia and industry

  3. JXTA applications JXTA services Jxta community applications Sun Jxta applications Peer Shell --------- Peer commands JXTA core Jxta community services Sun Jxta -indexing Services – searching Security Peer groups Peer pipes Peer monioring Any peer on the extended Web Jxta P2P Software Architecture Jxta Three Layer Cake

  4. Jxta Layers • Platform - Minimal and essential primitives • Peer & peer group discovery • Communication • Monitoring • Security • Services - Network / Web services • Indexing,searching • Directory storage systems • Distributed file systems • Applications • Instant messaging • Content management • Distributed auction systems • P2P email systems

  5. Jxta Jargon • Peers • Peer groups • Collection of peers with common set of interests • Unique PeerGroup Id • Default: World Peer Group • Messages • Message-based communication • XML • Datagram • Envelope having header, digest, source & destination endpoints • Pipes • Virtual communication channels • Network abstraction over the peer endpoint transport

  6. Jxta Jargon (contd) • Services • Peer Services • PeerGroup Services • Discovery service • Membership service • Access service • Pipe service • Resolver service • Monitoring service • Codats (Code/Data) • Identifiers • Advertisements

  7. Peer Membership Protocol Peer Membership Protocol PeerGroup PeerGroup Peer Information Protocol Peer Information Protocol Peer Binding Protocol Peer Binding Protocol Peer Discovery Protocol Peer Discovery Protocol Peer Peer Peer Resolver Protocol Peer Resolver Protocol Resolver Resolver Peer Endpoint Protocol Peer Endpoint Protocol Endpoint Endpoint Transport Transport Jxta Protocols

  8. Jxta Protocols • Set of six protocols • Designed for ad hoc, pervasive and multi-hop peer-to-peer network computing • Objectives • Interoperability • Plaform independence • Ubiquity • Using the protocols, peers can cooperate to form self organized and self-configured peer groups • Advertise resources • Discover network resources • Route messages/communicate

  9. Peer Discovery Protocol • Enables peers to discover peer resources • Peers, peer groups, pipes, services, etc • Default discovery protocol • Based on web-crawling and rendezvous peers • Rendezvous peers • Cache advertisements • Forward requests • Discovery Request messages • Unicast • propagate

  10. Peer Resolver Protocol • Enables a peer to send a generic query to another peer service • Each service can register a handle in peergroup resolver • Unique service handler name • A peer is not required to respond to a ResolverQuery request

  11. Peer Membership Protocol • Peers use PMP for joining and leaving peer groups • Actions: • Apply • Join • Renew • Cancel • Authenticators and security credentials to provide desired level of protection

  12. Peer Information Protocol • PIP allows a peer to learn about the capabilities and status of other peers • Eg. Ping a peer to determine if it is alive • PeerInfo Messages <?xml? Version=“1.0” encoding=“UTF-”> <jxta: PeerInfo> <Credential> Credential </Credential> <SourcePid> Source Peer Id </SourcePid> <TargetPid> Target Peer Id </TargetPid> <Uptime> uptime </uptime> <Timestamp> timestamp </timestamp> <PeerAdv> Peer advertisement </PeerAdv> </jxta: PeerInfo>

  13. Peer Binding Protocol • PBP is used by peers to bind a pipe advertisement to a pipe endpoint • Pipes can be viewed as abstract named message queues • Support abstract operations • Bind • Unbind

  14. Peer Endpoint Protocol • Also called Endpoint Routing Protocol • Allows peers to query a peer router for available routes for sending a message to a destination peer • Router peers • Cache route information • Bridge different logical and physical networks

  15. Jxta Java Binding • Jxta reference implementation in Java (JDK release 1.1.4) • Portability • Ease of development • Rich set of class libraries • XML • Messages and advertisements • Parsing and extensibility • Lightweight XML parser that supports a subset of SML - MicroXML

  16. Jxta Class organization • Two main class hierarchies: • net.jxta.*classes • Interfaces for Jxta protocols and core building blocks • net.jxta.impl.*classes • Interfaces’ implementations • Peer class • Boot class – net.jxta.impl.peergroup.Boot • Peer Group • PeerGroup class – net.jxta.peergroup.PeerGroup • Applications • net.jxta.platform.Application

  17. Security • Crypto Library • Hashing functions (MD5) • Symmetric encryption (RC4) • Asymmetric encryption (DH and RSA) • Pluggable Authentication Module (PAM) • Password based login scheme • Transport security mechanism • Simple access-control mechanism • NAT/Firewalls – active research

  18. Jxta Shell • Application built on top of Jxta Platform • Networked command-line interface • Shell commands (similar to Unix) • Man • Env • Whoami • Peers • Importfile • Mkpipe • Pipe operators: | and < >

  19. Applications • Jxta Content Manager Service (CMS) • Allows sharing and retrieving of content • InstantP2P • Peer-to-peer messenger service • Group chat • File sharing • Net Services • standards such as WSDL,ebXML,SOAP,UPnP,etc

  20. Conclusion • Foundation for peer-to-peer systems • Protocol suite – technology independent of APIs • Heterogeneous devices with completely different software stacks can interoperate through Jxta protocols • Independent of transport protocols • Implementation over TCP/IP, HTTP, Bluetooth, HomePNA, etc • Jxta promise !!

More Related