21
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

Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

Wang-kee Poon and Jiannong CaoDepartment of Computing, The Hong Kong Polytechnic University

ICDCSW’02

Page 2: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

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

Page 3: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

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

Page 4: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

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.

Page 5: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

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

Page 6: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

System Architecture (1)

HTTP over the Internet/Intranet

Programming Platform, Operation System

WebDownloading

Local File Recovery

Mobile-agent System

LANbroadcasting

Message Passing Mechanism

Service Announcing

Work Distribution Mechanism

Resource Management

HTTPConnection

ServiceDelivery

Peer Management

ServiceManagement

Application Programming

Interface

VisualDesign

Interface

ApplicationControl

Mechanism

Utilities

Applications

Peer Platform

Page 7: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

System Architecture (2)

ShellPlatform

FileManager

HTTP

Server

ListenerManager

Mobile Agent System

UDPServer

Updater

ApplicationRunner

Application UDPServer

FileManager

Mobile Agent System

Platform

Shell

Application

ApplicationRunner

Updater

Connection Client

ListenerManager

PeerUCI List

Mobile AgentSystem

HTTP

Server

HTTPServer

Connection Client

Well-known Server

UCI: Universal Connection Identifier, consists of a protocol name, a host address and a port number.

Page 8: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

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.

Page 9: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

Peer Management (1)

Page 10: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

Peer Management (2)

Page 11: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

Peer Management (3)

Page 12: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

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.

Page 13: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

Service Discovery and Delivery (1)

Page 14: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

Service Discovery and Delivery (2)

Page 15: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

Service Discovery and Delivery (3)

Page 16: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

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.

Page 17: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

Work Distribution and Execution Mechanism

Work 2 Work 3 Work 4

Done

Work 1

Application

Work ManagerFile

Manager

FileManager

WorkEngine

HTTP Server

HTTP Connector

HTTP Connector

HTTP Server

Get work description

Download result

Download programming code and data

Get work

Post work

WorkPool

Submit a series of

work

Return Result Link

Post programming

code and data

Peer 1

Peer 2

Page 18: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

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

Page 19: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

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

Page 20: Rheeve: A Plug-n-Play Peer-to-Peer Computing 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.

Page 21: Rheeve: A Plug-n-Play Peer-to-Peer Computing Platform

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.

http://www.decelerate.net/fyp/