14
Evaluating Super Node Selection and Load Balancing in P2P VoIP Networks Using Stochastic Graph Transformation Ajab Khan 1 and Reiko Heckel 2 1 Department of Computer Science, University of Malakand, Pakistan 2 Department of Computer Science, University of Leicester, U.K. [email protected], [email protected] Abstract. Super nodes have been introduced to improve the performance of structured P2P networks. The resulting heterogeneity benefits efficiency without compromising the decentralised nature. However, this only works as long as there are enough super nodes and the distribution of clients among them is roughly even. With the increase in the number of users or organisations preventing the use of their clients as super nodes, the overall number of candidate super nodes is limited. Thus selection and load balancing strategies are critical, especially in voice-over-IP (VoIP) networks where poor connectivity results in immediate loss of audio quality. To evaluate different strategies we model the dynamics of P2P systems by graph transformations, a visual rule-based formalism supported by stochastic simulation. Considering P2P VoIP applications such as Skype, we model two alternative strategies one with static super node selection and load balancing and one based on dynamic selection and promotion, and compare their performance in ensuring client satisfaction. Keywords: P2P VoIP networks, Load balancing, Static and dynamic super node selection, Stochastic modelling and simulation, Graph transformation. 1 Introduction Peer-to-Peer (P2P) networks are distinguished from classical distributed systems by the concept of peers collaborating equally without central authority or infrastructure. To achieve this, peers have to pool resources such as CPU power, storage capacity, network bandwidth, and content [1]. Networks may be large (up to millions of peers), widely distributed, and subject to high degrees of peer dynamics churn resulting in frequent reconfiguration of their topology. It comes as no surprise that, with large scale, geographic distribution, and high de- grees of churn, the designer of a P2P network is faced with a number of challenges to ensure reliable service. Peers and their resources are contributed by participants who have full control of their system and can change the policies regarding their partici- pation in the network at any time. The underlying network infrastructure can degrade or fail. When this happens, the communication topology needs to be updated to reroute connections, transfer administrative tasks, etc. To achieve this a dynamic, self-organised M.S. Obaidat, J.L. Sevillano, and J. Filipe (Eds.): ICETE 2011, CCIS 314, pp. 60–73, 2012. c Springer-Verlag Berlin Heidelberg 2012

[Communications in Computer and Information Science] E-Business and Telecommunications Volume 314 || Evaluating Super Node Selection and Load Balancing in P2P VoIP Networks Using Stochastic

  • Upload
    joaquim

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Evaluating Super Node Selection and Load Balancingin P2P VoIP Networks Using Stochastic Graph

Transformation

Ajab Khan1 and Reiko Heckel2

1 Department of Computer Science, University of Malakand, Pakistan2 Department of Computer Science, University of Leicester, U.K.

[email protected], [email protected]

Abstract. Super nodes have been introduced to improve the performance ofstructured P2P networks. The resulting heterogeneity benefits efficiency withoutcompromising the decentralised nature. However, this only works as long as thereare enough super nodes and the distribution of clients among them is roughlyeven. With the increase in the number of users or organisations preventing theuse of their clients as super nodes, the overall number of candidate super nodesis limited. Thus selection and load balancing strategies are critical, especially invoice-over-IP (VoIP) networks where poor connectivity results in immediate lossof audio quality.

To evaluate different strategies we model the dynamics of P2P systems bygraph transformations, a visual rule-based formalism supported by stochasticsimulation. Considering P2P VoIP applications such as Skype, we model twoalternative strategies one with static super node selection and load balancing andone based on dynamic selection and promotion, and compare their performancein ensuring client satisfaction.

Keywords: P2P VoIP networks, Load balancing, Static and dynamic super nodeselection, Stochastic modelling and simulation, Graph transformation.

1 Introduction

Peer-to-Peer (P2P) networks are distinguished from classical distributed systems bythe concept of peers collaborating equally without central authority or infrastructure.To achieve this, peers have to pool resources such as CPU power, storage capacity,network bandwidth, and content [1]. Networks may be large (up to millions of peers),widely distributed, and subject to high degrees of peer dynamics churn resulting infrequent reconfiguration of their topology.

It comes as no surprise that, with large scale, geographic distribution, and high de-grees of churn, the designer of a P2P network is faced with a number of challenges toensure reliable service. Peers and their resources are contributed by participants whohave full control of their system and can change the policies regarding their partici-pation in the network at any time. The underlying network infrastructure can degradeor fail. When this happens, the communication topology needs to be updated to rerouteconnections, transfer administrative tasks, etc. To achieve this a dynamic, self-organised

M.S. Obaidat, J.L. Sevillano, and J. Filipe (Eds.): ICETE 2011, CCIS 314, pp. 60–73, 2012.c© Springer-Verlag Berlin Heidelberg 2012

Evaluating Super Node Selection and Load Balancing in P2P VoIP Network 61

overlay topology is used, where peers make decisions based on local knowledge of thenetwork only [2].

At the infancy stage of the P2P approach, most applications deployed over the in-ternet were lacking a specific mechanism for enforcing a particular topology [4]. Thisresulted in the adoption of inefficient schemes such as flooding, or maintenance of largenumbers of overlay connections with other participating peers. Today, most approachesrealise the importance of selecting, constructing and maintaining appropriate overlaytopologies for the implementation of efficient, reliable and robust P2P systems [4,3,5,7].

P2P VoIP services are gaining in popularity because they are apparently free. However,they still consume network bandwidth, resulting in hidden expenses for the client or In-ternet Service Provider (ISP). Most of these applications have use structured topologies,separating nodes into two classes, such as peers and super peers. Among these appli-cations, Skype [12,14,6] is considered the most successful, contributing currently bout8% of the total VoIP traffic. Skype distinguishes its nodes into Skype clients and supernodes [6]. This results in a two-level hierarchy: Nodes with powerful CPU, more freememory and greater bandwidth take on server-like responsibilities for the Skype clients.This approach enables a decentralised network to perform more efficiently by exploitingheterogeneity and putting the load on those clients that can handle the burden. At thesame time it overcomes problems with the centralised client-server model, such as lackof scalability and a single point of failure, by using a distributed network of servers.

However, building and maintaining a super node-based overlay topology is not asimple task. Specifically, the selection strategy for super nodes turns out to be more andmore critical because the number of clients available to be used as super nodes is lim-ited. Apart from clients having limited resources, ISPs may impose bandwidth limita-tions. For example, the bandwidth available to a super node with cable/DSL connectionis limited by the upstream link bandwidth of its host. As network address translation(NAT) and firewalls are on the rise, more standard nodes depend on super nodes to ob-tain VoIP services. The quality of Skype may degrade when the bandwidth demand ofactive sessions exceeds the available access capacity of the Skype super node network.At the same time super nodes may be subject to autonomous systems policy constraintssuch as the no valley routing policy [9] which prevents a customer from relaying trafficfor other users. Super nodes relaying traffic for Skype clients violate this policy [10].For this reason, some universities have already banned Skype from their campuses [11].Consequently, P2P networks require efficient protocols to deliver a good the Quality ofService (QoS) in the face of scarce resources such as limited numbers of super nodes.Due to the dynamic nature of P2P, this includes the self reconfiguration of the overlaytopology to react to events such as nodes joining or leaving the network in selfish orcooperative ways, crashing, or changing their resource characteristics. Where P2P isused for VoIP traffic, the network needs to reconfigure fast enough so that the QoS isnot affected [19,23].

Questions about the quality of P2P VoIP network protocols therefore include thefollowing. What is the effect on QoS if there are not enough super nodes? Can wepredict if an existing super node will be capable of providing VoIP services to all itsconnected clients? How does it effect QoS if the load is not balanced, so that some supernodes are overloaded by clients and others are free? How many super nodes should a

62 A. Khan and R. Heckel

network have? The overall QoS of a protocol can be measured by counting the clientsthat are provided with a good quality connection, i.e., that are happy with their currentselection of super node.

Based on this measurement, we are going to evaluate existing strategies: [16] proposea simple algorithm for load balancing by uniformly distributing load on peers; [17]explore the space of load-balancing algorithms that use a notion of virtual servers; [18]propose distributed and cooperative scheduling mechanism for dynamic load balancingin a large-scale distributed computing environment; [21] propose load balancing bymoving clients from overloaded to free super nodes; [4] present a super node overlaytopology algorithm and validated the approach using the Psim simulator; [15] proposeto maintain redundant links between peers; [20] propose three different approaches forthe selection of super node.

However, it is difficult and expensive to validate solutions directly on real networks.Geographic distribution of peers, network dynamics and lack of central control maketesting difficult and costly. The simulation provides an alternative, but in particular loadbalancing and associated architectural reconfiguration is not easy either as existing sim-ulators provide limited support for networks with dynamic topology [19,22,23].

We propose to model load balancing and architectural reconfigurations in P2P VoIPnetworks by means of graph transformation systems and use a new approach to thestochastic simulation of such systems to evaluate the performance of network proto-cols. We consider the P2P network architecture as a graph, in which network nodes arerepresented by graph vertices and graph edges represent network connections. Recon-figuration in such a network can be naturally modelled by graph transformation in avisual and rule-based formalism [19,23,15]. Stochastic simulation techniques [19] canbe used to analyse performance questions such as those discussed above. In this pa-per we are going to use this approach to analyse, based on a model of the Skype VoIPapplication, different protocols for super node selection and load balancing.

2 Case Study: Skype Network

Skype is a P2P VoIP application developed in 2003 by KaZaA, currently claiming morethan 200 million users. Statistics shows that an average of 20 million [27] users areusually online. Due to Skype’s popularity, its architecture is receiving interest from theP2P research community as well as Telecom operators, resulting in a number of stud-ies [6,13], but proprietary protocols, and sophisticated anti reverse-engineering tech-niques [14] mean that many interesting question are still unanswered.

The core architecture of the network remains largely unchanged. The Skype networkconsists of Skype clients and super nodes [6]. The nodes are heterogeneous in terms ofnetwork locality, CPU power, memory, and most importantly network bandwidth andtype of internet connection. Skype clients with sufficient resources can be promotedto super node while continuing their primary role of client for the human user [6,13].Super nodes form an overlay network among themselves, where each client first has toregister with a central registration server and then subsequently select one of the supernodes as their host or point of contact[6]. The client will use its super node not onlyfor searching for contacts, but use it for relaying actual traffic if the client is behind

Evaluating Super Node Selection and Load Balancing in P2P VoIP Network 63

NAT or firewall. The registration server is responsible for storing user information,including passwords, authenticating users on login and providing clients with supernode addresses. All relevant information regarding on-line users and their current statusis stored in a distributed fashion, which improves scalability and stability, even if theinformation is sometime out of date.

The population of super nodes in the network is not determined by demand, butbased on the availability of bandwidth and reachability [13]. A network may have moresuper nodes than strictly necessary if these resources are plentiful. Due to the propri-etary nature of Skype, little information is available about codecs but the in [6] authorclaims that Skype uses 5 Kbps to 16 Kps bandwidth, however a bandwidth of 25 kbps isconsumed whenever a VoIP call is in progress. If a Skype client is behind NAT or fire-wall, the actual call traffic will be relayed by the super node. The client sends keep-alivemessages to the super node in order to check whether the super node still exists. In casethe super node has left the network, the client has to reconfigure and try another supernode for establishing a connection. The super node, based on the available free band-width, may allow or refuse new connections. Both clients and super nodes can leave thenetwork either by shutting down selfishly or by using collaborative exit procedures.

3 A Graph-Based Model for Skype

We use graph transformations to model the structural evolution of the Skype network.Graphs provide are a natural representation for all kinds of structures, including networktopologies. Formally, a graph consists of a set of vertices V and a set of edges E suchthat each edge e ∈ E has source and target vertex s(e) and t(e) in V , respectively.More advanced notions allow for nodes and edges to be attributed with textual, booleanor numeric data [24]. Graphs occur at two levels, the type level and the instance level.A type-level graph is comparable to a class or ER diagram, containing types of nodesand edges, declarations of attributes, etc. Instance graphs represent the states of thesystem, typed over the type graph. With graphs as states, transformation rules providestate changing operations [15,19].

The type graph TG in Fig. 1 represents a model of the Skype architecture as de-scribed above. It defines types for registration server (RS), super node (SN), Skypeclient (SC) and their common super type. LK nodes are used to model links betweenSC and SN nodes while OV represents the connection between existing SN nodes, tomodel the overlay topology. Call and RouteCall are used to model two different calltypes. Edges of type offline are used to show that a user is registered but not currently inthe network, while online shows that a user is successfully authenticated. The overlay-index models the connection between SNs and the RS, while route shows that a call isrouted through an SN. Edge types caller and callee refer to the two parties in a call.

VoIP calls are modelled on the assumption that current codecs use 60 Kbps of band-width. The model supports direct calls as relayed calls. We randomly update the band-width of the nodes in order to model background traffic. If an SN leaves the networkeither by crashing or cooperative exit, we reconfigure the client to connect to a new SN.

We model two strategies for load balancing and super node selection, called staticand the dynamic VoIP protocols [28]. In Fig. 2 we use a feature model to illustrate the

64 A. Khan and R. Heckel

Fig. 1. Type graph

Fig. 2. Feature tree for P2P VoIP Protocol

options. In the static protocol, selection of SNs takes place only when peers are joiningthe network, provided that their bandwidth is at least 1.5 Mbps. The static protocolincorporates the optional feature of load balancing, allowing to transfer clients from anoverloaded SN (with bandwidth less than 800 Kbps) to another SN. This action of theSN is based on its local awareness of its own bandwidth.

The dynamic VoIP protocol does not support this behaviour, but instead will promote(and demote) SCs to SNs at any time in their life, thus optimising the number and qualityof SNs. The strategy enables this protocol to react to fluctuations of bandwidth, allowingpromotion of SCs that have entered with low bandwidth and improved more recently.

The objective of modelling these two variants is to be able to evaluate them against eachother through simulation. We will gather information about the numbers of SNs and SCscreated as well as the proportion of connected and “happy” (i.e., well-connected) clients.

Evaluating Super Node Selection and Load Balancing in P2P VoIP Network 65

4 Network Operations as Graph Transformations

Reconfiguration steps are modelled by graph transformation rules p : L −→ R con-sisting of a name p and a pair of TG-typed instance graphs L,R such that their inter-section L ∩ R is well defined. The left-hand side L represents the preconditions of therule whereas the right-hand side R describes the postconditions. Their intersection rep-resents the elements that are required, but not destroyed, by the transformation. Graphtransformation rules also use negative application conditions (NACs). A NAC assuresthat the rule will only be applied if pattern specified does not match the given graph.Graph transformation rules also allow computations on node attributes, enabling therule to impose constraints in preconditions and to update them in the postcondition. Agraph transformation system G = (TG, P ) consists of a type graph TG and a set ofrules P over TG.

Of the two graph transformation systems modelling, respectively, the static and dy-namic protocols, due to space limitations we only introduce the rules for super nodeselection and load balancing. Operations for connecting SCs to SNs, crashing and con-trolled exits, etc. are described in our previous work [29,23]. However, for the simula-tion all these rules are required to provide a functioning model.

Static Protocol for Super Peer Promotion. The rule in Fig. 3 is used for static promo-tion from SC to SN. In this rule, a recently online Skype client SC will be promoted tosuper node SN, only if SCS current bandwidth is more than 1.5 Mbps and if connectedto the Internet without firewall. After promotion to the new role SC will retain the pri-mary role of client for its owner user while at the same time serving other SCs. Oncesuccessfully promoted, SC informs server RS about the recent change to its role in thenetwork.

Dynamic Protocol for Super Peer Promotion. The rule in Fig. 4 along with that inFig. 3 are used to implement the dynamic protocol for SC. This promotes an SC to SNat the start or later on. A SC may not have sufficient bandwidth at the start as, but lateron may improve due to completion of other running tasks.

In this approach, the rule in Fig. 4 is used to promote a client which is already usingthe network. A client x with sufficient bandwidth and connected to the Internet withoutfirewall which, is not leaving the network in a cooperative exit procedure, can be pro-moted to SN. Once selected for promotion, the client terminates its connection with itsSN and informs the server RS regarding the new assignment.

Load Balancing. The rule in Fig. 5 models the operation where an SN, based on itslocal awareness of bandwidth, transfers some of its dependent SCs to other SNs inorder to distribute the load more fairly. This is triggered if the SNs current bandwidth isless then 800 kbps, as long as there are other SNs with bandwidth more than 1.0 Mbps.This rule will make sure that an SC is only disconnected from the current SN. Whenthe other SN has accepted a new connection. It is only used with the static variant.

The experiments in this paper are using 33 GT rules. Both the models link an SCwith SN based on random SN selection approach as presented in [23,29]. Further, bothmodel use control exit procedure and uncontrolled exit procedure for clients [23,29].

66 A. Khan and R. Heckel

Fig. 3. SC promotion to SN at start of joining

Fig. 4. Linked SC promotion to SN

Fig. 5. Load balancing by transferring clients from overloaded

5 Stochastic Simulation of Graph Transformation System

Stochastic graph transformation allows to model, in conjunction with dynamic reconfig-uration, non-functional qualities such as performance and reliability. In order to reasonstochastically about a stochastic GTS (SGTS), we associate with each rule a distri-bution function governing the timing of the corresponding step. In this study we uselog-normal and exponential distributions.

We say that S = 〈G,F 〉 is a stochastic graph transformation system whenever G isa GTS and F : P → (R → [0, 1]) is a function which associates with every rule in G acontinuous distribution function.

Evaluating Super Node Selection and Load Balancing in P2P VoIP Network 67

Our interest in stochastic graph transformation systems is closely associated withtheir simulation, where the stochastic aspect is useful in order to resolve the non-deterministic character of ordinary GTS. We rely on standard notions of stochastic pro-cess and discrete event system [30]. The behaviour of a stochastic GTS can be describedas a stochastic process over continuous time, where reachable graphs form a discretestate space, the application of transformation rules defines state transitions as instan-taneous events, and interevent times, determined by the application of transformationrules, are dominated by continuous probability distributions. More precisely, we asso-ciate each rule, as it becomes enabled by a match, with an independent random variable(timer) which represents the time expected to elapse (scheduled delay) before the ruleis applied to the match.

We simulate our model using the GraSS (Graph-based Stochastic Simulation) tool[8]. In GraSS a GTS is represented as a VIATRA model, consisting of a model spacewith the current graph and the transformation rules. Moreover, GraSS takes as input anXML file with the definitions of the distributions associated with transformation rules aswell as general simulation parameters. Rules with empty post-conditions, called probes,are used to count the numbers of occurrences of certain patterns, such as connected ordisconnected peers, for statistical purposes.

In our experiments we have used exponential distributions as well as log-normal dis-tribution to control the delays of rule applications. We have used log-normal distributionfor all rules modelling operations with a defined duration. For example [13] states thatan SC takes from 10 seconds to 30 seconds to link to an SN. We have derived a log-normal distribution for this rule with corresponding mean and variance. At the sametime we can not predict when a user will start using the network. For such external op-erations we use exponential distribution. The GT rules modelling static and the dynamicprotocols are assigned exponential distributions because promotion does not depend onuser choice. Once a peer satisfies the constraint or bandwidth requirement of 1.5 Mbps,the protocol could select that SC for promotion. However, with load balancing the superpeer promotes one of its client. The super peer takes an average 50 seconds to promotea local client and transfer the load. Hence, log-normal distributions are assigned to theGT rules modelling this feature.

We have run several simulations of each of the two protocols, varying the rate forthe client arrival rule in both protocols across {2, 3, 4, 5, 6}. With a unit of per day thatmeans, a client will on average join the network every {8, 6, 4.8, 4} hours. The totalnumber of clients in model space is 1000. The aim behind the varying rate is to producesimilar numbers of average clients online as in the real network [27] over a period of 24hours.

In order to measure scale and quality of the network, we use probe rules to countSCs, SNs, linked SCs. The rule in Fig. 6 is used to count the number of clientshappy with their current selection of SN. In our experiments, an SC is happy withits SN if this has more than 1 Mbps available bandwidth. While running individualsimulations, GraSS computes statistics of these probes by collecting average, maxi-mum, minimum and standard deviation values for each of them. Over each batch ofruns, GraSS computes average, standard deviation and a confidence interval for eachvariable.

68 A. Khan and R. Heckel

Fig. 6. Probe rule counting the number of clients happy with their SN

The rule in Fig. 6 is rewritten in to VIATRA2 code for use in the simulation toolGraSS.

gtrule Rule_SC_Happy_with_SN_Bandwidth() ={

precondition pattern lhs(SC,LK,SN,BW) ={

SN(SN);SC(SC);LK(LK);find LK_LinkTo(LK,SC);find LK_OutTo(LK,SN);find SN_Bandwidth(SN,BW);check((toInteger(value(BW)))>1000);

}action {

println("SC is happy with existing SN");}

}

6 Simulation Results

We compare the static and dynamic protocols, each running through 4 variations of ratex for clients joining the network. For each variation we performed 6 runs with a timelimit of 19.2 hours. The results are presented by graphs. The simulations in this paperare based on the time unit of 24 hours with a simulation time of 19.2 hours. We run thesimulation with a batch size of 6 runs. The simulation time was selected based on steadystate experiments. We simulated all models and observed that after 12 hours simulationtime every model was in a steady state. Fig. 7 shows that the model is in a steady statefor client joining at rate 2, 3, 4, 5 and 6.

Fig. 8 shows that the dynamic protocol and the static protocol with optional loadbalancing (LB) result in similar online client populations. This provides comparableinput to the model and enables us to evaluate the output. The average number of SNs inboth models are presented in Fig. 9. It shows that at joining rate 3 the average numbersof SNs are not much different, but at joining rates 5 and 6 this changes significantly.

In order to comment on performance, we evaluate both models on the basis of thenumbers of SCs linked and the percentages of happy SCs. Fig. 10 shows the averagenumber of SCs linked with SN. The graph shows that both protocols have similar av-erages at joining rate 2, 3, 5 and 6. Fig. 11 shows the percentages of happy peers in

Evaluating Super Node Selection and Load Balancing in P2P VoIP Network 69

Fig. 7. Steady state of random SN selection

Fig. 8. Average number of SCs

Fig. 9. Average number of SNs

Fig. 10. Average number of SCs linked with SNs

70 A. Khan and R. Heckel

Fig. 11. Average number of SCs happy with SNs

the network. The static protocol with independent load balancing is performing muchbetter than the dynamic protocol. The number of happy SCs is stable under increase ofthe joining rate, which confirms the scalability of the protocol.

These simulation results confirm that large numbers of SNs do not guarantee thatthe load will be balanced fairly. Therefore, local load transfer decisions can result in agreater number of happy clients.

7 Threats to Validity

In this section, we are going to discuss the possible threats to the validity of the simula-tion results. The case study in this paper is subject to threats from the modelling to theencoding stage. The threats we identified are explained in the following subsections.

7.1 Reducing Bandwidth Requirement for Promotion

In order to see the impact of bandwidth requirement, we develop a new set of rulesfor the SC connection to SN experiment, changing the requirement for promotion from1.5 Mbps to 1.0 Mbps. These rule use the dynamic protocol for promotion. We run thesimulation with joining rate 3 and simulation time 2.4 hours. The batch size is 6. Weobserve the average number of SCs, SNs, SCs, happy SCs, percentage of happy SCs andlinked SCs. The simulation results show that reducing the requirement for promotionhas affected the number of SNs in the model. The number has increased at joining rate3. The SNs availability has improved the connection process and linking a large numberof clients. The results shown in Fig. 12 suggest that beyond the expected improvement,the overall trends remain the same.

7.2 Start Graph

In order to see the effect of the start graph on the simulation results. We perform twoexperiments. The start graph in first experiment consists of one super peer and a singleregistration server. To analyse how the choice of start graph can change the result, wedevelop a second start graph that consists of five super peers, a single registration serverand two online clients. We run the experiment again with all GT rules using the samedistributions and rates. The simulation time is 2.4 hours and batch size is 6. We run

Evaluating Super Node Selection and Load Balancing in P2P VoIP Network 71

Fig. 12. Impact of reducing bandwidth constraint

Fig. 13. Simulation results for two different start graphs

the simulation at joining rate 3 on both start graphs and observe using probe rules thenumber of SCs, the number of SNs, the number of SCs happy with the current selec-tion of SN, the percentage of happy and linked peers. The simulation results show thatdespite the average number of SCs remaining the same, the start graph with more SNshas managed to link slightly more clients. The reason behind this could be that, as thenumber of SNs increases in the model, the chance of accepting a new connection alsoincreases. The results are shown in Fig. 13. Overall difference is small.

8 Model Validation and Verification

Verification and validation of the simulation model is one of the core activities inmodelling and simulation. There are various methods in the literature for this pur-pose [32,33]. In this study, we have used static and dynamic verification techniquesin order to make sure that the model has correctly been converted into VIATRA2. Thestatic technique has ensured that model and rules are error free and the right syntax hasbeen followed. The dynamic verification technique has ensured that each rule does thetask it was suppose to do.

Similarly for the purpose of model validation, we have used animation, face valida-tion, event validation as well as compared the model with real system data [32,33]. Inorder to conclude this testing process and confirm the rates and distributions associatedwith GT rules, we performed a comparison with the output data of the real system.Although collection of real statistics from Skype’s proprietary protocol is complex,

72 A. Khan and R. Heckel

previous authors not only provided crucial data for model development but have givenenough statistics to help to validate the model. Apart from their work, forums like [27]provide Skype statistics with 15 second intervals as well as weekly, monthly and threemonthly global statistics. The author in [31] states that in December 2010 there were1.4 million super peers and 25 million users online, when the Skype network crasheddue to non availability of super peers. This figure confirms that almost 6% of the on-line users were super peers, and still the Skype network crashed. This supports that theSkype super peer population must be over 6% of the online users, in order to make thenetwork stable. The simulation results show the percentage of clients that go online isbetween 22% to 47% and super peer population is over 6%, which confirms the realstatistics and previous experimental results.

9 Conclusions

In this paper we have outlined our simulation approach based on stochastic graph trans-formation. We have applied it to the problem of super peer selection and load balancing.From our simulation results we see that load balancing is more important to achievinghigh levels of client satisfaction than a sophisticated dynamic protocol for promotionand demotion, even if the number of super nodes is somewhat higher in this case. Ascandidates for super nodes are potentially scarce, this is a potentially important insight.

References

1. Li, Y., Cheng, D., Jhang-Li, J.: Building cooperation in VoIP network through a rewardmechanism. In: Proc. 12th Pacific Asia Conference on Information Systems (PACIS 2008),Suzhou, China, pp. 799–808 (July 2008)

2. Chun Ji, L.: Computation in Peer-to-Peer Networks. Department of Computer Science,University of Saskatchewan, Canada, Tech. Report (2001)

3. Dabek, F., Brunskill, E., Frans Kaashoek, M., Karger, D., Morris, R., Stoica, I., Balakrishnan,H.: Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service. In: Proc. of the8th IEEE Workshop on Hot Topics in Operating Systems, HotOS-VIII (2001)

4. Montresor, A.: A robust Protocol for Building Superpeer Overlay Topologies. Departmentof Computer Science, University of Bologna, Italy, Technical Report UBLCS-2004-8 (May2004)

5. Rowstron, A., Druschel, P.: Pastry: Scalable, Decentralized Object Location and Routing forLarge-Scale Peer-to-Peer Systems. In: Proc. of the 18th Int. Conf. on Distributed SystemsPlatforms, Germany (November 2001)

6. Baset, S.A., Schulzrinne, H.G.: An analysis of the skype Peer-to-Peer internet telephonyprotocol. In: Proc. of the 25th IEEE International Conference on Computer Communications,pp. 1–11 (April 2006)

7. Zhao, B.Y., Huang, L., Stribling, J., Rhea, S.C., Joseph, A.D., Kubiatowicz, J.D.: Tapestry:A Resilient Global-scale Overlay for Service Deployment. IEEE Journal on Selected Areasin Communications 22, 41–53 (2003)

8. Torrini, P., Heckel, R., Rath, I.: Stochastic Simulation of Graph Transformation Systems. In:Rosenblum, D.S., Taentzer, G. (eds.) FASE 2010. LNCS, vol. 6013, pp. 154–157. Springer,Heidelberg (2010)

9. Gao, L., Rexford, J.: Stable Internet routing without global coordination. In: Proceedings ofSIGMETRICS, Santa Clara, CA (June 2000)

Evaluating Super Node Selection and Load Balancing in P2P VoIP Network 73

10. Seetharaman, S., Ammar, M.: Characterizing and mitigating inter-domain policy violationsin overlay routes. In: Proc. of the 2006 IEEE International Conference on Network Protocols(2006)

11. Paul, R.: More Universities banning Skype (September 2006),http://arstechnica.com/news.ars/post/20060924-7814.html

12. Skype, http://www.skype.com13. Guha, S., Daswani, N., Jain, R.: An Experimental Study of the Skype Peer-to-Peer VoIP

System. In: Proc. of the IPTPS 2006 (2006)14. Biondi, P., Desclaux, F.: Silver Needle in the Skype. EADS Corporate Research Centre,

Suresnes, France (2006)15. Heckel, R.: Stochastic Analysis of Graph Transformation Systems: A Case Study in P2P

Networks. In: Van Hung, D., Wirsing, M. (eds.) ICTAC 2005. LNCS, vol. 3722, pp. 53–69.Springer, Heidelberg (2005)

16. Karger, D.R., Ruhl, M.: Simple Efficient Load Balancing Algorithms for Peer-to-Peer Sys-tems. In: Proc. of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms andArchitectures (2004)

17. Surana, S., Godfrey, B., Lakshminarayanan, K., Karp, R., Stoica, I.: Load balancing in dy-namic structured peer-to-peer systems. Performance Evaluation 63(3) (March 2006)

18. Murata, Y., Inaba, T., Takizawa, H.: A distributed and cooperative load balancing mechanismfor large-scale P2P systems. In: Proc. of the International Symposium on Applications onInternet Workshops (2006)

19. Khan, A., Torrini, P., Heckel, R.: Model-based simulation of VoIP network reconfigurationsusing graph transformation systems. In: ICGT-DS 2009. ECEASST, vol. 16 (2009)

20. Lo, V., Zhou, D., Liu, Y., Dickey, C.G., Li, J.: Scalable super node selection in peer-to-peeroverlay networks. In: Proc. of the Second International Workshop on Hot Topics in Peer-to-Peer Systems (2005)

21. Pournaras, E., Exarchakos, G., Antonopoulos, N.: Load-driven neighbourhood reconfigura-tion of gnutella overlay. Computer Communications 31(13), 3030–3039 (2008)

22. ISI, University of Southern California. The Network Simulator-NS2 (2008)23. Khan, A., Heckel, R., Torrini, P., Rath, I.: Model-Based Stochastic Simulation of P2P VoIP

Using Graph Transformation System. In: Al-Begain, K., Fiems, D., Knottenbelt, W.J. (eds.)ASMTA 2010. LNCS, vol. 6148, pp. 204–217. Springer, Heidelberg (2010)

24. de Lara, J., Bardohl, R., Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Attributed graphtransformation with node type inheritance. Theor. Comput. Sci. 376(3), 139–163 (2007)

25. Heckel, R., Lajios, G., Menge, S.: Stochastic Graph Transformation Systems. In: Ehrig, H.,Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 210–225. Springer, Heidelberg (2004)

26. Bergmann, G., Okros, A., Rath, I., Varro, G.: Incremental pattern matching in the VIATRAmodel transformation system. In: Proc. of the Third International Workshop on Graph andModel Transformations. ACM, New York (2008)

27. Skype Statistics, http://aaytch.com28. Khan, A., Heckel, R.: Model-based Stochastic Simulation of Super Peer Promotion in P2P

VoIP using Graph Transformation. In: Proc. of the DCNET 2011 in Seville Spain (2011)29. Khan, A.: Stochastic Simulation of P2P VoIP Network Reconfiguration using Graph Trans-

formation, PhD Thesis, University of Leicester, UK (2011)30. Cassandras, C.G., Lafortune, S.: Introduction to discrete event systems. Kluwer (2008)31. Wolff, P.: 1.4 Million Skype supernodes crashed, http://skypejournal.com/

blog/?s=skype+crashed (accessed on October 10, 2011)32. Sargent, R.G.: Verifying and Validating Simulation Models. In: Proc. of the 28th Conference

on Winter Simulation. IEEE Computer Society, Washington (1996)33. Whitner, B., Balci, O.: Guidelines for selecting and using Simulation model verification tech-

niques. In: Proc. of the 21st Conference on Winter Simulation (1989)