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.
Published byModified over 5 years ago
Presentation on theme: "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."— 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 (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 (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. http://www.decelerate.net/fyp/