JXTA Overview. Mathieu Jan IRISA Rennes Projet Paris



Similar documents
JXTA TM : Beyond P2P File Sharing the Emergence of Knowledge Addressable Networks

Common P2P Examples. Peer to Peer Networks. Client-Server Architecture. Uses of P2P. Napster Morpheus Gnutella Freenet BitTorrent Skype

Peer-to-peer framework of Distributed Environment for Cooperative and Collaborative Work Service Composition

Peer to Peer Search Engine and Collaboration Platform Based on JXTA Protocol

Exploiting peer group concept for adaptive and highly available services

Extending JXTA for P2P File Sharing Systems

Classic Grid Architecture

Security. Learning Objectives. This module will help you...

Storing and Accessing Live Mashup Content in the Cloud Krzysztof Ostrowski, Ken Birman

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks

XML Filtering in Peer-to-peer Systems

Interacting the Edutella/JXTA Peer-to-Peer Network with Web Services

An Approach for FIPA Agent Service Discovery in Mobile Ad Hoc Environments

P2P File Sharing: BitTorrent in Detail

RELOAD Usages for P2P Data Storage and Discovery

Information Searching Methods In P2P file-sharing systems

Software design (Cont.)

Bridging the gap between peer-to-peer and conventional SIP networks

Bit Chat: A Peer-to-Peer Instant Messenger

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

P2P: centralized directory (Napster s Approach)

Extensible Network Configuration and Communication Framework

Advertising Peer-to-Peer Networks over the Internet

A P2P SIP Architecture - Two Layer Approach - draft-sipping-shim-p2p-arch-00.txt

This presentation describes the IBM Tivoli Monitoring 6.1 Firewall Implementation: KDE Gateway Component.

Architectures and protocols in Peer-to-Peer networks

Mobile P2PSIP. Peer-to-Peer SIP Communication in Mobile Communities

Computer Networks & Security 2014/2015

A Peer-to-peer Extension of Network-Enabled Server Systems

Owner of the content within this article is Written by Marc Grote

apt-p2p: A Peer-to-Peer Distribution System for Software Package Releases and Updates

An Introduction to Peer-to-Peer Networks

DistriWiki: A Distributed Peer-to-Peer Wiki Network

SERVICE DISCOVERY AND MOBILITY MANAGEMENT

Introduction to Computer Networks

Contents. About the Author. List of Contributors

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

How To Make A Network Overlay More Efficient

A distributed system is defined as

BorderWare Firewall Server 7.1. Release Notes

Planning and Maintaining a Microsoft Windows Server Network Infrastructure

Jini and JXTA Based Lightweight Grids

Windows Server 2003 default services

ALTO and Content Delivery Networks dra7- penno- alto- cdn

Peer-to-peer filetransfer protocols and IPv6. János Mohácsi NIIF/HUNGARNET TF-NGN meeting, 1/Oct/2004

Automatic Configuration and Service Discovery for Networked Smart Devices

Information Technology Career Cluster Introduction to Cybersecurity Course Number:

Essential Curriculum Computer Networking 1. PC Systems Fundamentals 35 hours teaching time

Chapter 1 Personal Computer Hardware hours

Software Life-Cycle Management

Introduction into Web Services (WS)

SANE: A Protection Architecture For Enterprise Networks

The Advantages of a decentralized Telephone Network

Multicast vs. P2P for content distribution

Configuring Security Features of Session Recording

The p2pweb model: a glue for the Web

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

How Comcast Built An Open Source Content Delivery Network National Engineering & Technical Operations

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

DEPLOYMENT GUIDE Version 1.1. Configuring BIG-IP WOM with Oracle Database Data Guard, GoldenGate, Streams, and Recovery Manager

Security in Structured P2P Systems

Project SailFin: Building and Hosting Your Own Communication Server.

IFIP TC6 Advanced Tutorials in Networking. Software Defined Networking! University of Kelaniya Kelaniya, Sri Lanka June 2015

Telematics. 14th Tutorial - Proxies, Firewalls, P2P

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Network: several computers who can communicate. bus. Main example: Ethernet (1980 today: coaxial cable, twisted pair, 10Mb 1000Gb).

8 Conclusion and Future Work

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

Session Initiation Protocol Deployment in Ad-Hoc Networks: a Decentralized Approach

Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet

Skype characteristics

Emergency Services Interconnection Forum (ESIF) Emergency Services Messaging Interface Task Force ( Task Force 34 )

LAN TCP/IP and DHCP Setup

bbc Adobe LiveCycle Data Services Using the F5 BIG-IP LTM Introduction APPLIES TO CONTENTS

MCSE Core exams (Networking) One Client OS Exam. Core Exams (6 Exams Required)

WSPeer - An Interface to Web Service Hosting and Invocation

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

Analisi di un servizio SRM: StoRM

Alfresco Enterprise on AWS: Reference Architecture

Scalable Internet Services and Load Balancing

Disaster Recovery White Paper

Outline : Computer Networking. Narrow Waist of the Internet Key to its Success. NSF Future Internet Architecture

Microsoft Office Communications Server 2007 R2

This presentation discusses the new support for the session initiation protocol in WebSphere Application Server V6.1.

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

Scalable Internet Services and Load Balancing

XML for Java Developers G

Computer Networks. A Top-Down Approach. Behrouz A. Forouzan. and. Firouz Mosharraf. \Connect Mc \ Learn. Hill

Sync Security and Privacy Brief

Sentinet for Windows Azure SENTINET

Designing a Windows Server 2008 Network Infrastructure

Industrial Network Security and Connectivity. Tunneling Process Data Securely Through Firewalls. A Solution To OPC - DCOM Connectivity

Principles of Network Applications. Dr. Philip Cannata

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Module 1: Overview of Network Infrastructure Design This module describes the key components of network infrastructure design.

Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015

Application Note. Onsight Connect Network Requirements v6.3

Enterprise Edge Communications Manager. Data Capabilities

How To Configure A Vyatta As A Ds Internet Connection Router/Gateway With A Web Server On A Dspv.Net (Dspv) On A Network With A D

Transcription:

JXTA Overview Mathieu Jan IRISA Rennes Projet Paris

Plan Why peer-to-peer (P2P)? Introduction to JXTA Goals Basic concepts Protocols JXTA 2.0 Loosely-Consistent DHT Conclusion 2

Why peer-to-peer (P2P)? Client Client Client Internet Cache Proxy Client Client server server Client -to-peer model Client Congestion zone Client Client Client/server model Client Client/ Server Client/ Server Client/ Server server server Client/ Server Client/ Server Client/ Server Congestion zone Client/ Server Client/ Server Client/ Server 3

P2P: a definition Goal: take advantage of resources available at the edges of Internet Computing power, storage, content Definition Larged distributed system Variable connectivity and temporary IP addresses Parity: each node can be client and server 4

P2P: features Dynamicity of the network Composition and topology Dynamic discovery of peers and resources Scalability More peers => more performance High availability Interchangeable peers (replication) 5

JXTA: a Generic Framework for P2P Computing Open platform for P2P programming Common functionalities Language, OS, network agnostic Set of interoperable protocols (XML) Open source project: http://www.jxta.org 6

JXTA Services and Applications Distributed storage and data sharing Search, indexing and file sharing Large scale distributed computing P2P messaging and collaboration tools 7

JXTA Virtual Network ID ID ID ID ID ID ID ID Virtual Mapping Firewall TCP/IP HTTP Firewall Physical Network 8

s A peer Unique identifier (UUID) Adressable independently of its location (firewalls, NAT) Multiple endpoint address (TCP, HTTP, etc.) types Minimal edge : send/receive Full edge : + cache Rendezvous : + fwd requests Relay : +routing cache +firewall support 9

Groups Why Groups? Provide a group identity (common interest) Create secure & protected domains Scope peer operations (discovery, search, communications) Enable monitoring ID GroupA ID ID NetGroup ID ID ID ID GroupB ID 10

Advertisements Every resource is represented by an advertisement group Pipe Service Content status Group Advertisement: <?xml version="1.0"?> <!DOCTYPE jxta:pga> <jxta:pga> <GID> urn:jxta: uuid- BCBCDEABDBBBABEABBBABA000000 </GID> <MSID> urn:jxta:uuid- BFEFDEDFBABAFRUDBACE00000001 </MSID> <Name> My Group </Name> <Desc> This group is to be used for my own testing </Desc> </jxta:pga> 11

Pipe: Virtual Communication Channel Non-localized communication channel between two or more peers Uni-directional Asynchronous Unreliable Input Pipe Output Pipe Propagate Receive Pipe Point-to-Point Pipe Send Propagate Group B Group A 12

Pipe Communication Model Connect to services independently of their peer locations Dynamic binding At pipe creation or for every message sent Build highly-available services Transparent fail-over by reconnecting pipe endpoints Pipeline multiple services to form complex service 13

Network Services Services Group Services Can be dynamically loaded 14

JXTA Protocol Stack Discovery Protocol Pipe Binding Protocol Info Protocol Resolver Protocol Endpoint Protocol Rendezvous Protocol 15

JXTA Protocol Stack 16

Discovery Protocol (JXTA 1.0) 1 2 2 RdV 2 2 RdV 3 3 3 4 4 4 RdV 17

JXTA: Architecture JXTA Applications Community JXTA Applications Sun JXTA Applications JXTA Services Community JXTA Services Sun JXTA Services Indexing Searching File sharing JXTA Shell Commands JXTA Core Groups Pipes Security Monitoring Any on the Expanded Web 18

JXTA: Core Services Discovery Service Info Service Pipe Service Resolver Service Membership Service Access Service 19

JXTA 2.0 J2SE Released Better performance Greater scalability More stable Wire protocol incompatible Mostly API compatible 20

New Rendezvous Network In JXTA 1.0, all peers were involved in the propagation of resolver, discovery, and propagate pipe messages within the Group In JXTA 2.0, resolution and propagation are done via two new concepts: Rendezvous super-peer network and Rendezvous Walker Service Shared Resource Distributed Index (SRDI) Service to distribute advertisement indexes throught the rendezvous network 21

New Propagation Queries only propagated among rendezvous peers Edge peers only receive direct queries for their own advertisements Rendezvous peers self organize Pluggable frameworks used to walk the Rendezvous web 22

Shared Ressource Distributed Index Edge peers publish indices of advertisements across Rdv network using Distributed Hash Tables (DHT) DHTs are maintained by Rendezvous peers Queries are directed to appropriate Rdv If not found, a walk of the Rdv web is performed Hash functions are pluggable 23

Loosely-Consistent DHT s have high churn rate Maintening a consistent distributed index outweight the advantages of having one Network crawling is expensive but does not have any maintenance cost 24

Rendezvous View (RPV) Each rendezvous peer maintains an ordered list of known rendezvous peer in the peergroup by their peer IDs No strong consistency mechanism is used to enforce the consistency of the RPV across all rendezvous Rendezvous periodically select random number of rendezvous from their RPV, and send them a random list of their known rendezvous 25

Publish advertisement 26

Search advertisement 27

Inconsistent view 28

Limited-range walker 29

Finding Rendezvous s Edge peers maintain lists of rendezvous peers Dynamic fail-over when connection fails Edge peers discover and cache Rdv advertiements Seeding Rdvs are used to bootstrap Auto-promotion to Rdv if none can be found in Group 30

JXTA Implementation Platforms JXTA-J2SE Implementation (J2SE 1.3.1) Full Implementation of JXTA Protocols Tutorials and Programmer Guide JXTA-C JXTA 1.0 Edge peer only Others: Objective-C, Perl, Ruby,.Net 31

Conclusion JXTA: open platform for P2P services and applications JXTA Concepts s Groups Advertisements Pipe JXTA protocol stack Loosely-Consitent DHT 32