Presentation is loading. Please wait.

Presentation is loading. Please wait.

JXTA Selo TE 2005. Introduction What is JXTA ( pronounced Juxta ) What is JXTA ( pronounced Juxta ) Jxta – an open, network computing platform designed.

Similar presentations


Presentation on theme: "JXTA Selo TE 2005. Introduction What is JXTA ( pronounced Juxta ) What is JXTA ( pronounced Juxta ) Jxta – an open, network computing platform designed."— Presentation transcript:

1 JXTA Selo TE 2005

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

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

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

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

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

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

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

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

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

11 Peer Membership Protocol Peers use PMP for joining and leaving peer groups Peers use PMP for joining and leaving peer groups Actions: Actions: Apply Apply Join Join Renew Renew Cancel Cancel Authenticators and security credentials to provide desired level of protection 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 PIP allows a peer to learn about the capabilities and status of other peers Eg. Ping a peer to determine if it is alive Eg. Ping a peer to determine if it is alive PeerInfo Messages PeerInfo Messages Credential Credential Source Peer Id Source Peer Id Target Peer Id Target Peer Id uptime uptime timestamp timestamp Peer advertisement Peer advertisement

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

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

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

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

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

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

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

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


Download ppt "JXTA Selo TE 2005. Introduction What is JXTA ( pronounced Juxta ) What is JXTA ( pronounced Juxta ) Jxta – an open, network computing platform designed."

Similar presentations


Ads by Google