360 likes | 566 Views
PEER DISCOVERY PROTOCOL FOR JXTA. SNEHAL PATEL ADVISIOR: DR. HUIPING GUO CALIFORNIA STATE UNIVERSITY LOS ANGELES 1 DECEMBER 2006. Peer-to-Peer Architecture Peer-to-Peer Networks Related Work on Peer Discovery Suggested Peer Discovery Protocol Conclusion. Outline.
E N D
PEER DISCOVERY PROTOCOL FOR JXTA SNEHAL PATEL ADVISIOR: DR. HUIPING GUO CALIFORNIA STATE UNIVERSITY LOS ANGELES 1 DECEMBER 2006
Peer-to-Peer Architecture Peer-to-Peer Networks Related Work on Peer Discovery Suggested Peer Discovery Protocol Conclusion Outline
Peer-to-Peer Architecture • P2P are distributed systems without any centralized control or hierarchical organization. • Each peer is considered as a server and a client is called a servent. • P2P networks are self-organized and self-administrative.
Peer-to-Peer Architecture Peer-to-Peer Networks Type of P2P Advantages and Disadvantages of P2P JXTA and Gnutella Related Work on Peer Discovery Suggested Peer Discovery Protocol Conclusion Outline
Types of P2P Networks • Collaborative Computing: Combines the idle or unused CPU processing power and/or free disk space of many computer in the network • Grid MP Platform • Instant Messaging: • MSN Messenger • AOL Messenger. • Affinity Communities: Group of P2P networks that is based around file-sharing • Napster • Gnutella
Advantages of P2P • Distributes the responsibility of providing services • Prevents from a single point of failure • Improves scalability • Reduces network congestion
Disadvantages of P2P • Query flooding • Scalability • Security • Efficient group communication
Gnutella • A common P2P file sharing network • Purely a query flooding-based protocol • Works on five different packet types: • ping: discover hosts on network • pong: reply to ping • query: search for a file • query hit: reply to query • push: download request for firewalled servents • Query flooding is one of the problems with Gnutella
JXTA • Introduced by Sun Microsystems. • JXTA is a set of open, generalized P2P protocol specification, that allows any connected device, from cell phone and PDAs, to desktops and servers; to network, communicate, and collaborate in a fully decentralized manner. • Developed in Java and XML • JXTA protocols are language-independent, platform independent.
Peer-to-Peer Architecture Peer-to-Peer Networks Related Work on Peer Discovery Decentralized and Self-Organizing Instant Message Relaying Suggested Peer Discovery Protocol Conclusion Outline
Decentralized & Self Organizing Mechanism • Proposed by Moore and Suda. • A discovery mechanism that structures relationship and forwards discovery queries based on keyword similarity, usage history, and small-world clustering. • The peers in the networks are considered as agents that contain a limited number of relationships to the other agents.
Decentralized & Self Organizing Mechanism • The algorithm is divided into following sections • The definition of agents and their relationship • How the overall network of relationship are to be organized • How the relationship organization is used for discover forwarding • This peer discovery mechanism is limited to a small clustering.
Instant Message Relaying Mechanism • Proposed by Cuihong Li, Bin Yu, and Katia Sycara. • The peer discovery mechanism is developed based on sending messages to each other. • The source peer sends the query to some neighbors and promises some payment to each receiver. • Each receiver decides the number of neighbors she relays the message to. • Not feasible for an anonymous message relaying process. • Limited by the free-riding problem.
Outline • Peer-to-Peer Architecture • Peer-to-Peer Networks • Related Work on Peer Discovery • Suggested Peer Discovery Protocol • Semi-Centralized, Agent-based Hierarchical Model • Caching Mechanism • Evaluation of the Model • Update Mechanism • Failure Handling and Recovery • Performance • Conclusion
Suggested Peer Discovery Protocol • The thesis proposes a semi-centralized, agent-based hierarchical tree schema for peer discovery of JXTA. • The main proposal of the thesis is to use edge peers as hosts, rendezvous peers as agents, and group the edge peers based on their network proximity. • This type of structure would provide better scalability than a fully decentralized system.
Semi-Centralized, Agent-based Model • The components used to construct the framework are: • Registration Server (RS): Maintains a database about the IP address of all the agents at different levels of the hierarchy • Agents: Act as a service provider to hosts.
Determine the number of Agents and their threshold Determine the no. of agents and their threshold • Input: N[DNS] • Output: N[A], N[G] • N [P] = c % * N [DNS] where c is constant; 5 < c <10 • N [A] = p % * N [P] = p % * c% * N [DNS] where c is constant • N [G] = N [P] / N [A]; N [A] < N [G]
Determine the Host’s Agents and Grouping Mechanism Construction of Agent based Framework Input: RS, Ah[i], H[j] Output: join [H[j]; A1 [i]] 1: register [A1[i] for every i ; RS]; 2: query [H[j] for any j; RS]; 3: response [RS; H[j] for any j ]; 4: ping [H[j] for any j; A1 [i] for every i];
Determine the Host’s Agents and Grouping Mechanism 5: ST[k] ← Record time [H[j] for any j; A1 [i] for every i ] for k = 1,2.. N 6: compute T[i] = Σ ST[k] / n for every k = 1 7: compute = min [T[i] for every i]; 8: join [H[j]; A1 [i] with];
Caching Mechanism • A peer will ping all the agents of level 1 to discover its closest agent and computes the shortest time. • A peer host will also cache the IP address and ping times of a few agents having the shortest times. • The main advantage is that if a host leaves the network and tries to join again, it does not have to go through the query and ping message process again.
Evaluation of the Framework • The main contribution of this thesis is to provide a scalable model for peer discovery, while maintaining load balancing of the nodes and proximity feature of the grouping mechanism. • The model is very dynamic in nature once the framework is constructed. • The cost factor is involved with the maintenance of the agents. • The self-organization property of the P2P network is violated; hence the model is more like a hybrid P2P model.
Update Mechanism Peer join/leave mechanism Input: Host, Agents at level 1 Output: Join the group for every peer host { send_query_message (host [source] , RS [destination] ) send_response_message ( RS[source] , host [destination] ) send_ping_message ( host [source] , Agent_level_1(i) where i = 1,2,3,….[destination] ) compute sample ping times(host [source] , Agent_level_1(i) where i = 1,2,3,….[destination]) compute_average_time ( host [source] , Agent_level_1(i) where i = 1,2,3,….[destination] )
Update Mechanism compute min_average_time send_join_message ( host[source] , Agent_level_1 with min_average_time [destination] ) cache the IP addresses of few agents with the minimum ping times } Input: Host, Agent, quit message Output: leave the group Host sends a quit message to its agent The agent breaks the connection with the host The agent updates the database
Failure Handling and Recovery • In a hierarchical tree structure failure handling can be established by back up links. • Back up links are created with agents that have the second shortest ping time response. • The failure detection can be done using “KeepAlive messages”. • The host and agents, or two agents exchange “KeepAlive messages” to test network connectivity.
Performance of the Hierarchical Model • The performance of discovery process is mainly based on the number of routing connections. • Fewer connections have a quick discovery process and higher system performance. • The average service discovery speed v can be defined as v= r/d where r is the total number of requests d is the total number of connections • The complexity of the model is O(m) + O(log n) where m is the no. of agents at level 1 and n is total no. of nodes.
Conclusion • The thesis proposes a semi-centralized, agent-based hierarchical model for peer discovery of the JXTA network. • It would provide better efficiency and load balancing than a fully decentralized model.
References [1] JXTA First Edition. Brendon J. Wilson, June 2002. [2] Mastering JXTA: Building Java Peer-to-Peer Applications. Joseph D. Gradecki. [3] J. Verbeke, N. Nadgir, G. Ruetsch, et al., "Framework for Peer-to-Peer Distributed Computing in a Heterogeneous, Decentralized Environment," [4] "Project JXTA Community Home Page," http://www.jxta.org/ [5] JXTA Technology: Creating Connected Communities, Sun Microsystems, Jan. 2004. [6] Project JXTA: An Open, Innovative Collaboration, Sun Microsystems, April 25, 2001. [7] Emir Halepovic, Ralph Deters, “The Costs of Using JXTA”, Department of Computer Science, University of Saskatchewan [8] Buyya , Rajkumar, Steve Chapin, and David DiNucci, “ Architectural Models for Resource Management in the Grid”. In First IEEE/ACM International Workshop on Grid Computing (GRID 2000), Bangalore, India, December 2000. [9] Clarke, Ian, Oskar Sandberg, Brandon Wiley, and Theodor W. Hong., "Freenet: A distributed anonymous information storage and retrieval system". In Proceedings of the Workshop on Design Issues in Anonymity and Unobservability, July 2000, pp. 46-66 [10] Kalogeraki, Vana, Dimitrios Gunopulos, and D. Zeinalipour-Yiatzi," A local search mechanism for peer-to-peer networks". In Proceedings of the Eleventh International Conference on Information and Knowledge Management, 2002, pp. 300-307 [11] Junginger Markus, and Yugyung Lee, "A high performance messaging system for peer-to-peer computing". In Proceedings of IEEE P2P Conference 2002, pp. 49-56
References [12] Lee, Yugyung, Changgyu Oh, and E. K. Park, "Intelligent knowledge discovery in peer-to-peer file sharing". In Proceedings of the Eleventh International Conference on Information and Knowledge Management, 2002, pp. 308-315 [13] Napster. Available from http://www.napster.com/; [14] Ratnasamy, Sylvia, Paul Francis, Mark Handley, Richard Karp, and Scott Shenker, "A scalable content-addressable network". In proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications August 2001 [15] Stoica, Ion, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan, "CHORD: A scalable peer-to-peer lookup service for Internet applications". Technical report TR-819, MIT, March 2001 [16] Michael Moore and Tatsuya Suda, "A Decentralized and Self-Organizing Discovery Mechanism”. Department of Information and Computer Science, University of California, Irvine [17] Cuihong Li, Bin Yu, and Katia Sycara, "An incentive mechanism for message relaying in peer-to-peer discovery". In the proceedings of second workshop on the economics of peer-to-peer systems, 2004 [18] M. Kelaskar, V. Matossian, P. Mehra, D. Paul, and M. Parashar, "A Study of Discovery Mechanisms for Peer-to-Peer Applications". Department of Electrical and Computer Engineering, Rutgers University, Piscataway, NJ
References [19] Carlo Mastroianni, Domenico Talia, and Oreste Verta, ""A Super-Peer Model for Building Resource Discovery Services in Grids: Design and Simulation Analysis". In the proceeding of EGC 2005, LNCS 3470, pp. 132 – 143, 2005 [20] Cameron Ross Dunne, "Using Mobile Agents for Network Resource Discovery in Peer-to-Peer Networks”. School of Computer Applications, Dublin City University, Dublin 9, Ireland [21] Luciana dos Santos Lima, Antônio Tadeu Azevedo Gomes, Artur Ziviani, Markus Endler, Luiz Fernando Gomes Soares, and Bruno Schulze, "Peer-to-Peer Resource Discovery in Mobile Grids". Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), Laboratório Nacional de Computação Científica (LNCC), August, 2005 [22] Zhanping Yin and Victor C.M. Leung, "Third-Party Handshake Protocol for Efficient Peer Discovery and Route Optimization in IEEE 802.15.3 WPANs". In the proceeding of IEEE BroadNets 2005, Boston, MA, Oct. 2005 [23] Michael J. Freedman and Robert Morris, "Tarzan: A Peer-to-Peer Anonymizing Network Layer". In the proceeding of CCS’02, November 2002 [24] Jan Sacha, Jim Dowling, Raymond Cunningham and René Meier, "Using Aggregation for Adaptive Super-Peer Discovery on the Gradient Topology". In the proceeding of Digital Business Ecosystem Project IST-507953 [25] Adeep S. Cheema, Moosa Muhammad, and Indranil Gupta, "Peer-to-peer Discovery of Computational Resources for Grid Applications". In the proceeding of NSF CAREER, June 3, 2005
References [26] Andraž Jere, Marko Meža, Boštjan Marušič, Štefan Dobravec, Tomaž Finkšt, and Jurij F. Tasič, "Peer to Peer Search Engine and Collaboration Platform Based on JXTA Protocol". In the proceeding of EUROCON 2003 [27] Massimo Paolucci, Katia Sycara, Takuya Nishimura, and Naveen Srinivasan, "Using DAML-S for P2P Discovery". Carnegie Mellon University, USA [28] Michael Moore and Tatsuya Suda, "Adaptable Peer-to-Peer Discovery of Objects that Match Multiple Keywords". In the proceeding of the 2004 International Symposium on Applications and the Internet Workshops, 2004 [29] Tie-Yan Li, Zhi-Gang Zhao, and Si-Zhen You, "A-peer: An Agent Platform Integrating Peer-to-Peer Network". In the proceeding of the Proceedings of the 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, 2003 [30] Jan Sacha, Jim Dowling, Raymond Cunningham, and René Meier, "Discovery of Stable Peers in a Self-Organizing Peer-to-Peer Gradient Topology". In the proceeding of International Federation for Information Processing [31] Naveen Srinivasan and Timothy Finin, "Enabling Peer-to-Peer SDP". University of Maryland Baltimore County, Baltimore MD 21250 [32] P.A. Felber, E.W. Biersack, L. Garcés-Erice, K.W. Ross, and G. Urvoy-Keller, "Data Indexing and Querying in DHT Peer-to-Peer Networks". Institute EURECOM, 06904 Sophia Antipolis, France