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.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

Web Visualization Technology Horner APG Ver 1.0.
Design and Implementation of HTTP-Gnutella Gateway Baoning Wu (baw4) Wei Zhang (wez5) CSE Department Lehigh University.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
Developers: Alexey Rastvortsev, Ilya Kolchinsky Supervisors: Roy Friedman, Alex Kogan.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
An Overview of Peer-to-Peer Networking CPSC 441 (with thanks to Sami Rollins, UCSB)
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
JXTA P2P Platform Denny Chen Dai CMPT 771, Spring 08.
Socket Programming.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Objectives The key roles an architecture description plays in a software project. The key roles an architecture description plays in a software project.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
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.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
System Architecture & Hardware Configurations Dr. D. Bilal IS 592 Spring 2005.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Introduction Widespread unstructured P2P network
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Networks A network is a collection of computers and devices connected together via communications devices and transmission media Advantages of a network.
思科网络技术学院理事会. 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Peer To Peer Applications
1 A P2P Collaborative System Using JXTA Hosei Graduation School ITPC 02R3315 Katsuhiro CHIBA.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Bit Torrent A good or a bad?. Common methods of transferring files in the internet: Client-Server Model Peer-to-Peer Network.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
1 Version 3.0 Module 11 TCP Application and Transport.
Department of Information Engineering The Chinese University of Hong Kong A Framework for Monitoring and Measuring a Large-Scale Distributed System in.
Architectures of distributed systems Fundamental Models
Computer Emergency Notification System (CENS)
PSI Peer Search Infrastructure. Introduction What are P2P Networks? The term "peer-to-peer" refers to a class of systems and applications that employ.
Software Architectural Styles Andrew Midwinter, Mark Mullen, Kevin Wong, Matt Jones 1.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Enabling Peer-to-Peer SDP in an Agent Environment University of Maryland Baltimore County USA.
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.
INTERNET AND ADHOC SERVICE DISCOVERY BY: NEHA CHAUDHARY.
Freelib: A Self-sustainable Digital Library for Education Community Ashraf Amrou, Kurt Maly, Mohammad Zubair Computer Science Dept., Old Dominion University.
802.11n Sniffer Design Overview Vladislav Mordohovich Igor Shtarev Luba Brouk.
FastTrack Network & Applications (KaZaA & Morpheus)
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Architecture Models. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Lecture Week 3 Application Layer Functionality and Protocols Network Fundamentals.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
1 University of California, Irvine Done By : Ala Khalifeh (Note : Not Presented)
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
Worldwide Lexicon Brian McConnell May, WWL – Brian McConnell Worldwide Lexicon Intro Automatic discovery of dictionary, semantic net and translation.
A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Peer to Peer Computing. What is Peer-to-Peer? A model of communication where every node in the network acts alike. As opposed to the Client-Server model,
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Skype.
CHAPTER 3 Architectures for Distributed Systems
#01 Client/Server Computing
InfoShare A Distributed P2P Information Storage & Retrieval System
Computer Networks Protocols
#01 Client/Server Computing
Presentation transcript:

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 ’ 02

Outline Peer-to-Peer systems Rheeve Features of Rheeve System Architecture Visual, Plug-n-Play Design Peer Management Service Discovery and Delivery Work Distribution and Execution Mechanism Resource Management Application Control Communication Mechanisms Conclusions

Peer-to-Peer Systems P2P systems are distributed systems where nodes play equal roles and have capabilities to discover and connect with others. Napster: centralized file indexing server Gnutella: a gossip algorithm with TTL value for each message Morpheus: similar to Gnutella; peers with fast connections play as servers for other peers including slow peers

Rheeve Rheeve uses a hybrid approach for peer discovery: a well-known server for peers to submit their locations and download other ’ s locations at start-up time, a flooding algorithm similar to Gnutella within a LAN, and an algorithm of joining peer sub- network using mobile agents.

Features of Rheeve Hierarchical, modular system architecture Visual interface facilitating plug-n-play style of application design Effective and fault-tolerant peer connection establishment Efficient utilization of system resources Mechanisms for work distribution and execution with heterogeneous programming languages, platforms and protocols HTTP-enabled communication basis enabling real peer-to-peer computing on the internet

System Architecture (1) HTTP over the Internet/Intranet Programming Platform, Operation System Web Downloading Local File Recovery Mobile-agent System LAN broadcasting Message Passing Mechanism Service Announcing Work Distribution Mechanism Resource Management HTTP Connection Service Delivery Peer Management Service Management Application Programming Interface Visual Design Interface Application Control Mechanism Utilities Applications Peer Platform

System Architecture (2) Shell PlatformPlatform File Manager HTTPServerHTTPServer Listener Manager Mobile Agent System UDP Server Updater Application Runner ApplicationUDP Server File Manager Mobile Agent System PlatformPlatform Shell Application Application Runner Updater Connection Client Listener Manager Peer UCI List Mobile Agent System HTTPServerHTTPServer HTTP Server Connection Client Well-known Server UCI: Universal Connection Identifier, consists of a protocol name, a host address and a port number.

Visual, Plug-n-Play Design Rheeve provides a higher level support by providing a visual interface that facilitates the plug-n-play style of design. The visual design interface displays sets of classes in the platform as modules with icons. The programmer can thus design a P2P application by dragging the required icons (e.g. icons representing message sender, file manager, peer list) and linking them with event flow. The code would be generated automatically.

Peer Management (1)

Peer Management (2)

Peer Management (3)

Peer Management (4) Sever maintains only a small number of peer UCIs which are listed in a FIFO order. A starting node also broadcasts in its LAN to notify all other peers via UDP. Rheeve uses a mobile agent-enabled approach to connect disjoint peer groups in the whole internet. To make the algorithm resilient to node crashes and connection instability: A peer platform periodically records the current list of peer ’ s UCIs in a log file. Every peer node P downloads the peer UCI lists from the known peers periodically.

Service Discovery and Delivery (1)

Service Discovery and Delivery (2)

Service Discovery and Delivery (3)

Service Discovery and Delivery (4) Services are discovered by Pull mode: peers request services on demand Push mode: services are announced to other peers A peer node that provides a certain service makes the service available for distribution by periodically announcing the service to its known peers. Upon receiving the announcement, a node register the service to itself and forward the message to its known peers. If the receiving peer knows other peers that provide the same service, it sends a message containing UCIs of existing server peers to inform the service announcer that the same service exists on these peer nodes as well. The service announcer will then connect to the existing service nodes to form a group.

Work Distribution and Execution Mechanism Work 2Work 3Work 4 Done Work 1 Application Work Manager File Manager Work Engine HTTP Server HTTP Connector HTTP Server Get work description Download result Download programming code and data Get work Post work Work Pool Submit a series of work Return Result Link Post programming code and data Peer 1 Peer 2

Resource Management Listen Manager: Responsible for handling all incoming network connections A unique key to identify the connections of their interest Updater: Support periodical updating for pieces of code All the modules only need to register their periodical events File Manager Provide an abstraction over the file system Independent of the file system and of security implementation

Application Control The control mechanism support: Controls the execution of P2P applications such as the starting, loading, and stopping operations Coordinates with the file manager for loading programming code and predefined data Contains a shell which provides an interface for the user to run and stop applications, announce services and configure the platform

Communication Mechanisms All communication except the LAN broadcasting use HTTP as communication protocol, therefore, the platform can interoperate crossing the firewalls. Each HTTP requests may contain data or message which is coded in XML to achieve protocol independence. As a result, the Rheeve is flexible to implement in different languages and more compatible to other existing P2P applications.

Conclusions Rheeve made contributions to the P2P research by introducing concepts and methods to improve the efficiency, scalability, and reliability of P2P systems. We are currently implementing the work distribution, execution mechanism and visual interface.