210 likes | 383 Views
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
E N D
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
Applications VisualDesignInterface Application ProgrammingInterface ApplicationControlMechanism Message Passing Mechanism Work Distribution Mechanism Resource Management HTTPConnection Utilities ServiceManagement Service Announcing ServiceDelivery WebDownloading LANbroadcasting Local File Recovery Mobile-agent System Peer Management Programming Platform, Operation System Peer Platform HTTP over the Internet/Intranet System Architecture (1)
Shell Platform FileManager HTTPServer HTTPServer FileManager Platform Shell ListenerManager ListenerManager Mobile Agent System Mobile Agent System ApplicationRunner ApplicationRunner Updater Updater Application UDPServer UDPServer Application Connection Client Connection Client PeerUCI List HTTPServer Well-known Server Mobile AgentSystem System Architecture (2) 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.
WorkPool Application Submit a series of work Done Work 1 Work 2 Work 3 Work 4 Post programming code and data Return Result Link Post work Get work Work Manager FileManager HTTP Connector HTTP Server Peer 1 Get work description Download result HTTP Connector HTTP Server Download programming code and data WorkEngine FileManager Peer 2 Work Distribution and Execution Mechanism
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/