View
218
Download
3
Tags:
Embed Size (px)
Citation preview
1
PEER DISCOVERY PROTOCOL FOR JXTA
SNEHAL PATELADVISIOR: DR. HUIPING GUO
CALIFORNIA STATE UNIVERSITY LOS ANGELES1 DECEMBER 2006
2
Outline
• Peer-to-Peer Architecture
• Peer-to-Peer Networks
• Related Work on Peer Discovery
• Suggested Peer Discovery Protocol
• Conclusion
3
• 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
4
Outline
• 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
5
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
6
Advantages of P2P
• Distributes the responsibility of providing services
• Prevents from a single point of failure
• Improves scalability
• Reduces network congestion
7
Disadvantages of P2P
• Query flooding
• Scalability
• Security
• Efficient group communication
8
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
9
Gnutella
10
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.
11
JXTA Peer Discovery Protocol
12
• 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
13
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.
14
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.
15
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.
16
• 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
Outline
17
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.
18
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.
19
Determine the number of Agents and their threshold
Determine the no. of agents and their threshold
Input: N[DNS]
Output: N[A], N[G]
1. N [P] = c % * N [DNS] where c is constant; 5 < c <10
2. N [A] = p % * N [P] = p % * c% * N [DNS] where c is constant
3. N [G] = N [P] / N [A]; N [A] < N [G]
20
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];
minTminT
Determine the Host’s Agents and Grouping Mechanism
21
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];
22
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.
23
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.
24
Update MechanismPeer join/leave mechanism
Input: Host, Agents at level 1Output: Join the groupfor 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] )
25
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 messageOutput: leave the group
Host sends a quit message to its agentThe agent breaks the connection with the hostThe agent updates the database
26
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.
27
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.
28
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.
29
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
30
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
31
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
32
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
33
Thank you!!
34
35
36