JXTA Lecture 1.JXTA Overview a) Background to Project JXTA b) Design Constraints c) Terminology d) Overview and Architecture e) Introducing the Concepts.

Slides:



Advertisements
Similar presentations
UNIVERSITY OF JYVÄSKYLÄ P2PDisCo – Java Distributed Computing for Workstations Using Chedar Peer-to-Peer Middleware Presentation for 7 th International.
Advertisements

peer-to-peer and agent-based computing
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
1-1 Introduction. 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.
Extensible Networking Platform IWAN 2005 Extensible Network Configuration and Communication Framework Todd Sproull and John Lockwood
Service Oriented Architectures in Heterogeneous Environments
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
JXTA P2P Platform Denny Chen Dai CMPT 771, Spring 08.
JXTA Protocol Introduction Student : Jia-Hui Huang Adviser : Kai-Wei Ke Date : 2005/11/22.
Peer to Peer Discovery Nate Thrasher. Peer to Peer Discovery ● 2 Basic Categories – Hardware Discovery – Information Discovery ● JXTA (
Supporting Mobile Sensors and Typed Data Exchange Through the JXTA p2p Framework Supporting Mobile Sensors and Typed Data Exchange Through the JXTA p2p.
JXTA Selo TE Introduction What is JXTA ( pronounced Juxta ) What is JXTA ( pronounced Juxta ) Jxta – an open, network computing platform designed.
CS3771 Today: network programming with sockets  Previous class: network structures, protocols  Next: network programming Sockets (low-level API) TODAY!
Peer-to-Peer Networks & JXTA by Madhurasmitha Chakravarthy & Priti Sabadra.
Fionn Murtagh Dimitri Zervas Pedro Contreras Royal Holloway, University of London Munich, 24 of June 2005 JXTA P2P, Web Services and WS-Talk.
Project Jxta Prepared by: Sameh El-Ansary SICS AB.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
The NaradaBroker: A Flexible Messaging Infrastructure Rahim Lakhoo (Raz) DSG Seminar 12 th April 2004.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
1 19 April 2002 POSSIBLE ELEMENTS FOR TECHNOLOGY TRANSFER NETWORKS AND MATCHING SYSTEMS I.F. Vladu Sustainable Development Programme Technology Sub-programme.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Cmpe 494 Peer-to-Peer Computing Anıl Gürsel Didem Unat.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Project JXTA Instructor: Dr. Erdogan Dogdu Presented by: Liu Shuai
Getting Started with JXTA for J2ME Advisor : Dr. Ching-Long Yeh Report : DI.2, 洪泰昌 ( ) Course: XML 文件管理.
Sun’s Project JXTA Technical Overview Presented by Sergei Kovalenko Red Team: Janhavi James A. Davis Fernando D. Diaz.
Peer To Peer Applications
1 A P2P Collaborative System Using JXTA Hosei Graduation School ITPC 02R3315 Katsuhiro CHIBA.
Project JXTA : An Open Peer-to-Peer Network Environment Gene Kan Project JXTA Sun Microsystems, Inc.
Rev PA102/03/20041 Communication Between Peer Wireless Sensor Networks over 2.5G/3G Mobile Networks Srdjan Krco R&D Ericsson Ireland
KEx objectives Supporting distributed and heterogeneous organizations in managing their knowledge processes, by technologically implementing the basic.
Lecture 15 Introduction to Web Services Web Service Applications.
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
Networking Concepts. Week-7 Network Protocols Three Major Components:  Application Interface –Connects programs to network  Global Network Transport.
2-1 JXTA Concepts. 2-1 Learning Objectives ● This module will help you... – Understand P2P principles – Learn about JXTA virtual network core building.
3-1 JXTA Platforms. 3-1 Learning Objectives ● Learn about the different platform implementations of the JXTA protocols – Features provided by each implementation.
P2P-Based Best Resolution Match Image Access, Retrieval and Delivery P Contreras, S Johnstone, F Murtagh CS, QUB.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
JXTA (Juxtapose) Presented By: Anıl Gürsel Mehmet Çatalgöl.
14-1 JXTA for J2ME Learning Objectives ● This module will help you... – Learn about the architecture of JXTA for J2ME – Learn the JXTA for J2ME.
Internet Real-Time Laboratory Arezu Moghadam and Suman Srinivasan Columbia University in the city of New York 7DS System Design 7DS system is an architecture.
Dr. Ian Wang Cardiff University, U.K.. Ian Wang, Cardiff University Peer-to-Peer and Grids What does the Peer-to-Peer paradigm offer Grids? Scalable Decentralized.
Peer-to-Peer (P2P) Computing Yi Zhang. Agenda History What is P2P Client/Server and P2P Why P2P Problems and possible solution P2P middleware services.
9-1 JXTA Discovery Learning Objectives This module will help you... – Understand how JXTA advertisements are published, cached, and.
P2P Computing MIRA YUN September 16, Outline What is P2P P2P taxonomies Characteristics Different P2P systems Conclusion.
An analysis of Skype protocol Presented by: Abdul Haleem.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
JXTAJXTA By Fawaz AlSulaiman
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
Protocols COM211 Communications and Networks CDA College Olga Pelekanou
Kemal Baykal Rasim Ismayilov
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
18-1 Summary (Day 2) Learning Summary – What is JXTA ? – Understand the fundamental concepts of JXTA – Learn about the various implementations of.
A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
Introduction1 From P2P to Web Services and Grids MM Lab. Catholic University of Daegu Ian J. Taylor.
6-1 How to Write JXTA Applications. 6-1 Learning Objectives ● This module will help you... – Gain familiarity with guidelines and design conventions that.
Department of Communications, Optics & Materials Technical University of Denmark JXTA protocols Colin Chaballier Advanced.
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
Project JXTA Kaarthik Sivashanmugam. JXTA..? JXTA is a set of open, generalized peer-to-peer (P2P) protocols that allow any connected device on the network.
Skype.
Project JXTA By Jude Mercado.
Building Distributed Educational Applications using P2P
Chapter 3: Windows7 Part 4.
Presentation transcript:

JXTA Lecture 1.JXTA Overview a) Background to Project JXTA b) Design Constraints c) Terminology d) Overview and Architecture e) Introducing the Concepts 2.Virtual JXTA a) JXTA Virtual Network Overlay b) JXTA Groups c) JXTA Pipes d)JXTA Scenario 3.JXTA Protocols a)Peer Discovery Protocol b)Peer Information Protocol c)Pipe Binding Protocol d)Peer Resolver Protocol e)Rendezvous Protocol f)Peer Endpoint Protocol 4.Summary

Web Sites

Conceived by Sun Microsystems + designed by a small number of experts from academic institutions and industry The term JXTA is short for juxtapose, as in side by side 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 a recognition that P2P is juxtaposed to client-server or Web-based computing, which is today’s traditional distributed computing model. Background to JXTA

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 (Wintel…) future proof e.g. such technologies should be extended to new platforms e.g. mobile phones etc e.g. using J2ME JXTA Design Constraints

JXTA for the Java 2 Platform Standard Edition (J2SE)—the reference implementation JXTA for the Java 2 Platform Micro Edition (J2ME)—for MIDP-1.0 compliant devices such as cell phones, PDAs, and controllers JXTA for PersonalJavaTM technology—for devices such as PDAs and webpads JXTA for C JXTA for PERL JXTA for Python JXTA for Ruby JXTA Platform Current Implementations TCP HTTP BEEP JXTA Transport Current Implementations JXTA Current Implementations

JXTA Group: a group is a set of JXTA nodes who share a common interest Peer: A JXTA node. Peer A Rendezvous Peer: a meeting place e.g. gateway for JXTA groups Peer JXTA Terms

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 brokered) As in Gnutella, every JXTA peer can be both a client and a server Peer Discovery Protocol Peer Resolver Protocol Peer Information Protocol Pipe Binding Protocol Endpoint Routing Protocol Rendezvous Protocol 6 protocols: What is JXTA ?

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. JXTA Overview

JXTA Community Applications JXTA Applications JXTA Community Services JXTA Services SUN JXTA Services Indexing Searching File Sharing Peer Groups JXTA Core Any Peer on the extended Web Peer PipesPeer Monitoring Security (authentication, authorization and on the wire) JXTA Shell Peer Commands SUN JXTA Applications JXTA Architecture

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

Peer: any networked device that implements one or more of the JXTA protocols Identifiers: each JXTA entity e.g. peer, advert etc has a UUID identifier 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 … Rendezvous Nodes: a caching nodes for advertisements – similar to the super/ reflector nodes in lecture 4. Relay Nodes: JXTA routers – help to route messages via firewalls, NAT systems etc – i.e. they relay the message on JXTA Terms and Concepts

Virtual JXTA JXTA Virtual Network overlay JXTA Groups JXTA Virtual Pipes

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

virtual entity - speak a set of peer group protocols collection of cooperating peers providing a common set of 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 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 Peer FS Fred FS Frank JXTA Groups

Virtual Communication Channels Switchable e.g. TCP/IP, HTTP, Bluetooth NOT point to point 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 Propagate - multicast Peer 1 Peer 2 Peer 3 Peer 4 A JXTA Pipe Firewall Actual Route Output PipeInput Pipe Pee r Point to PointPropagate JXTA Pipes

JXTA Scenario 1.Rendezvous node (RV) accepts connection for nodes 1-7 and stores advertisements locally 2.New node contacts Rendezvous using a discovery mechanism e.g. Unicast/multicast (PDP) 3.RV authenticates New Node and adds the New Node to the group (RVP) 4.New Nodes 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) 5.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. RV New Node

JXTA Protocols Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol Peer Resolver Protocol Rendezvous Protocol Peer Endpoint Protocol

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

Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol 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 Two levels of discovery: 1.Joining a JXTA network 1.Multicast 2.Unicast 2.discovering JXTA resource within a JXTA network. Peer Discovery

Protocol Peer Information Protocol Pipe Binding Protocol 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 Finding Information about Peers

Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol 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 thus indicating here messages actually go over the pipe Bind occurs during the open operation, whereas unbind occurs during the close operation. Peer 1 Peer 2 Peer 3 Peer 4 A JXTA Pipe Firewall Actual Route Output PipeInput Pipe Binding Pipes

Peer Resolver Protocol Rendezvous Protocol Peer Endpoint Protocol enables a peer to implement high-level search capabilities allows a peer to send and receive generic queries to find or search for peers, peer groups, pipes, and other information ‘The’ Resolver

Peer Resolver Protocol Rendezvous Protocol Peer Endpoint Protocol 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 allowing larger communities to form A rendezvous nodes’ scope is a peer group e.g. the rendezvous protocol is used by the peer resolver protocol and by the pipe binding protocol in order to propagate messages. Rendezvous

Peer Resolver Protocol Rendezvous Protocol Peer Endpoint 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. Routing Those Messages

JXTA Lecture 1.JXTA Overview a) Background and Overview 2.Virtual JXTA a)Virtual Network Overlay, Groups & Pipes 3.JXTA Protocols a)Peer Discovery Protocol, Peer Information Protocol, Pipe Binding Protocol, Peer Resolver Protocol, Rendezvous Protocol, Peer Endpoint Protocol 4.Focus a)Role of Rendezvous – relation to other systems?