Upload
malcolm-kirby
View
52
Download
0
Tags:
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
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
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
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
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.
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 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
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.
http://www.decelerate.net/fyp/