1 / 26

JXTA

JXTA. JXTA Overview Background to Project JXTA Design Constraints Terminology Overview and Architecture Introducing the Concepts Virtual JXTA JXTA Virtual Network Overlay JXTA Groups JXTA Pipes JXTA Scenario JXTA Protocols Peer Discovery Protocol Peer Information Protocol

benjy
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 • JXTA Overview • Background to Project JXTA • DesignConstraints • Terminology • Overview and Architecture • Introducing the Concepts • Virtual JXTA • JXTA Virtual Network Overlay • JXTA Groups • JXTA Pipes • JXTA Scenario • JXTA Protocols • Peer Discovery Protocol • Peer Information Protocol • Pipe Binding Protocol • Peer Resolver Protocol • Rendezvous Protocol • Peer Endpoint Protocol

  2. Background to JXTA Conceived by Sun Microsystems by Bill Joy (the creator of ‘vi’): + designed by a small number of experts from academic institutions and industry • team identified a number of shortcomings in many existing peer-to-peer systems and set up project JXTA in order to address these. • their 3 main objectives of were to achieve interoperability, platform independence and ubiquity The term JXTA is short for juxtapose, as in side by side • a recognition that P2P is juxtaposed to client-server • JXTA allows many different types of nodes to exist side by side

  3. JXTA Design Constraints • Interoperability • software vendors tend to create specific code for their services e.g. file sharing, instant messaging etc • incompatible systems • duplicate effort • JXTA attempts give peers a common language to talk to each other • Platform independence • JXTA technology is designed to be independent of: • programming languages e.g. C or Java • system platforms e.g. Microsoft Windows and UNIX • networking platforms (such as TCP/IP or Bluetooth) • Ubiquity • implementable on every device with a digital heartbeat e.g. PDAs, phones, sensors, consumer electronics appliances, network routers, desktop computers, data-center servers, storage systems • avoid specific binding to platforms • future proof e.g. such technologies should be extended to new platforms e.g. mobile phones etc e.g. using J2ME

  4. What is JXTA ? 6 protocols: • Peer Discovery Protocol • Peer Resolver Protocol • Peer Information Protocol • Pipe Binding Protocol • Endpoint Routing Protocol • Rendezvous Protocol JXTA is a set of open, generalized P2P protocols that allow any connected device on the network to communicate and collaborate JXTA is middleware – designed as a set of building blocks to allow developers to rapidly develop P2P applications JXTA is designed to have a peer-to-peer, decentralized model (although JXTA supports traditional client/centralized server and hybrid) As in Gnutella, every JXTA peer can be both a client and a server

  5. JXTA Terms A Rendezvous Peer: a meeting place e.g. discovery service Edge Peer: connected to a Rendezvous Peer Peer Peer Relay Node: acts on behalf of restricted nodes Peer Peer Peer Peer Peer Peer NAT Peer Peer JXTA Group: a group is a set of JXTA nodes that share a common interest Peer Peer Peer

  6. JXTA Overview Project JXTA defines a set of six protocols , which allow peers to: • Discover each other • Self-organize into peer groups • Advertise and discover network services • Communicate with each other • Monitor each other • …and the protocols do not require the use of any particular: • programming language • operating system • network transport • Topology • authentication • Security • encryption model. • The JXTA protocols therefore allow heterogeneous devices with completely different software stacks to interoperate.

  7. JXTA Architecture • file sharing • metadata store • auction/trading JXTA Community Applications JXTA Applications JXTA Community Services • reliable MC pipes • SOAP • JXTA Shell JXTA Services Peer Groups Peer Pipes Advertisements JXTA Core Security (authentication, authorization and on the wire) Any Peer on the extended Web

  8. Devices in JXTA Network Firewall NAT Bluetooth NAT TCP Firewall Http NAT Firewall • a distributed decentralized set of heterogeneous devices

  9. JXTA Terms and Concepts Peer: any networked device that implements one or more of the JXTA protocols Advertisements: XML structured document that names, describes, and publishes the existence of a resource e.g. peer, peer group, pipe, or service. Messages: sent between peers can be XML or binary Pipes: messages are send through virtual pipes – see next section … Identifiers: each JXTA entity e.g. peer, advert etc has a UUID identifier Rendezvous Nodes: caching nodes for advertisements – similar to the super/ reflector nodes. Relay Nodes: JXTA routers – help to route messages via firewalls, NAT systems etc – i.e. they relay the message on

  10. Virtual JXTA • JXTA Virtual Network overlay • JXTA Groups • JXTA Virtual Pipes

  11. JXTA Virtual Mapping Peer Peer JXTA Virtual Network Peer Peer Peer Peer Peer Peer Virtual Mapping Firewall NAT Bluetooth TCP/IP NAT Physical Network Firewall Http NAT Firewall

  12. JXTA Groups • virtual entity - speak a set of protocols to provide core services (e.g., resource discovery, message routing) • collection of cooperating peers possibly also providing a common set of higher level services e.g. file sharing peer group, a CPU sharing peer group. • Peer group boundaries define search scope • can be used to create a monitoring environment World Peer Group Peer Group 1 Peer Group 2 Peer Peer Peer Peer Peer Peer Peer

  13. JXTA Groups • can be password protected and implement local security policies • one special group, called the World Peer Group (the default peer group a peer joins) that includes all JXTA peers. • At least one rendezvous for a group – groups are the scoping environment for a rendezvous • Advertised using a PeerGroupAdvertisement • A peer can be a member of many groups. It can be an edge node in one and a rendezvous in another. • Groups cannot be hierarchical. • Message do not pass outside of a group. • Multi membership allows messages to pass between groups – i.e. via a peer in two groups

  14. JXTA Pipes Output Pipe Input Pipe Peer 1 Peer 2 A JXTA Pipe Actual Route Peer 3 Peer 4 Firewall • Virtual Communication Channels • Switchable e.g. TCP/IP, HTTP, Bluetooth • NOT point to point (necessarily) • Pipe endpoints -> input pipe (the receiving end) and the output pipe (the sending end). • Asynchronous and unidirectional • Messages flow from the output pipe into the input pipes. • Support the transfer of any object, including binary code, data strings, and Java technology-based objects • Two Types: • (End) Point to (End) Point (logical) • Propagate– multicast • Advertised using a PipeAdvertisement Peer Peer Peer Peer Peer Peer Point to Point Propagate

  15. JXTA Scenario 2 1 3 1. RV 4 2. New Node 3. 4. . 5 7 5. . 6 • Rendezvous node (RV) accepts connection for nodes 1-7 and stores advertisements locally • New node contacts Rendezvous using a discovery mechanism e.g. Unicast/multicast (PDP) • RV authenticates New Node and adds the New Node to the group (RVP) • New Node performs a file search query by contacting the RV find a match locally or propagates this query to all other members in the group. The file is found on node 6 (PDP) • New Node and node 6 communicate directly through a JXTA pipe. This connection is virtual and may actually traverse (route) through the RV node and node 7.

  16. JXTA Protocols • Peer Discovery Protocol • Peer Information Protocol • Pipe Binding Protocol • Rendezvous Protocol • Peer Resolver Protocol • Endpoint Routing Protocol

  17. JXTA Protocol Stack Peer Discovery Protocol Peer Discovery Protocol Via Peer Resolver Protocol Peer Information Protocol Peer Information Protocol Via Peer Resolver Protocol Pipe Binding Protocol Pipe Binding Protocol Via Peer Resolver Protocol Rendezvous Protocol Rendezvous Protocol Via Enpoint Routing Protocol Peer Resolver Protocol Peer Resolver Protocol Via Enpoint Routing Protocol Endpoint Routing Protocol Endpoint Routing Protocol Via installed Network Transports Network Transport Via Installed Network Transports Network Transport

  18. Peer Discovery • A peer uses the PDP to discover a JXTA resource • resources are described by advertisements e.g. can be services, pipes, peers, peer groups, or any other advertisements • Note, that the first word, peer, is the subject and not necessarily the object • Using this protocol, peers can advertise their own resources, and discover the resources from other peers • Peer resources are published using XML-based advertisements Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol • Two levels of discovery: • Joining a JXTA network • Multicast • Unicast • discovering JXTA resource within a JXTA network.

  19. Finding Information about Peers • allows peers to learn about the capabilities and status of other peers e.g. uptime, traffic load, capabilities, state etc • e.g. one can send a ping message to see if a peer is alive. • also query a peer’s properties where each property as a name and a value string • useful for implementing monitoring Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol

  20. Binding Pipes Output Pipe Input Pipe Peer 1 Peer 2 A JXTA Pipe Actual Route Peer 3 Peer 4 Firewall • allows a peer to establish a virtual communication channel (i.e. a pipe) between peers • allows the binding of the two or more ends of the pipe endpoints forming the connection • a peer binds a pipe advertisement to a pipe endpoint • Bind occurs during the open operation, and unbind occurs during the close operation. Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol

  21. Rendezvous Protocol • controls how messages are propagated around a group. Co-operation between rendezvous nodes and group members • allows a Peer to send messages to all the listeners of the service • The rendezvous protocol defines how a peer can subscribe or be a subscriber to a propagation service. • A rendezvous nodes’ scope is a peer group • e.g. the rendezvous protocol uses the peer resolver protocol and is used by the pipe binding protocol in order to propagate messages. Rendezvous Protocol Peer Resolver Protocol Endpoint Routing Protocol

  22. The Resolver Protocol Rendezvous Protocol • enables a peer to implement resource search capabilities • implemented by peers offering resolver services for particular resources. • allows a peer to send and receive generic queries to find or search for peers, peer groups, pipes, and other information Peer Resolver Protocol Endpoint Routing Protocol

  23. Routing Those Messages Rendezvous Protocol • allows a peer to find information about the available routes for sending a message to destination peer • i.e. pipes are often not directly connected to each other • allows the implementation of routing algorithms into JXTA • Peers implementing the endpoint routing protocol respond to queries with available route information giving a list of gateways along the route. Peer Resolver Protocol Endpoint Routing Protocol

  24. JXTA Protocol Stack Peer Discovery Protocol Peer Discovery Protocol Via Peer Resolver Protocol Peer Information Protocol Peer Information Protocol Via Peer Resolver Protocol Pipe Binding Protocol Pipe Binding Protocol Via Peer Resolver Protocol Rendezvous Protocol Rendezvous Protocol Via Enpoint Routing Protocol Peer Resolver Protocol Peer Resolver Protocol Via Enpoint Routing Protocol Endpoint Routing Protocol Endpoint Routing Protocol Via installed Network Transports Network Transport Via Installed Network Transports Network Transport

  25. JXTA Community • Various sub projects • JXTA SOAP • JXTA ME • Reliable Multicast Pipes • … • Currently placeholder website (all ofjava.net is moving) http://jxta.kenai.com/

  26. JXTA • JXTA Overview • Background and Overview • Virtual JXTA • Virtual Network Overlay, Groups & Pipes • JXTA Protocols • Peer Discovery Protocol, Peer Information Protocol, Pipe Binding Protocol, Peer Resolver Protocol, Rendezvous Protocol, Endpoint Routing Protocol • Focus • Role of Rendezvous – relation to other systems?

More Related