Optimised balancing algorithm for content delivery ...

3 downloads 2532 Views 834KB Size Report
balancing in a content delivery network (CDN) scenario. FSOB exploits the multiple .... assigned to the server that shows the fastest response time [12]. The 'two ...
www.ietdl.org Published in IET Communications Received on 7th September 2011 Revised on 9th December 2011 doi: 10.1049/iet-com.2011.0651

ISSN 1751-8628

Optimised balancing algorithm for content delivery networks S. Manfredi F. Oliviero S. Pietro Romano Dipartimento di Informatica e Sistemistica, Federico II University of Napoli, Napoli, Italy E-mail: [email protected]; [email protected]

Abstract: In this study the authors present the ‘fictitiously starred optimised balancing’ (FSOB), a novel algorithm for load balancing in a content delivery network (CDN) scenario. FSOB exploits the multiple redirection mechanism of the HTTP protocol to optimally redistribute clients requests among the servers which build up the CDN. Load redistribution is aimed at equalising the level of occupancy of the server queues and is achieved through the periodical exchange of information computed locally at each node. The algorithm initially makes a fictitious assumption about the local topology of the network, as it is seen by each single server node, which looks at itself as the centre (i.e. the master) of a star made up of all of its neighbours (i.e. the slaves). Load redistribution is performed by the master which, if needed, appropriately redirects incoming requests to its slaves. The authors show how FSOB outperforms most of its competitors under a number of fundamental aspects, at the price of an increased overhead owing to the adoption of the multiple redirections mechanism for the redistribution phase. Finally, they study the scalability properties of FSOB and perform a comparative evaluation of its performance with respect to the most interesting existing solutions.

1

Introduction

A content delivery network (CDN) represents a popular and useful solution to effectively provide contents to users by adopting a distributed overlay of servers. By replicating content on several servers, a CDN is capable of partially solving congestion issues owing to high client request rates, thus reducing latency at the same time increasing content availability. Usually, a CDN consists of an original server (called ‘backend server’) containing new data to be diffused, together with one or more distribution servers, called ‘surrogate servers’. Periodically, the surrogate servers are actively updated by the back-end server. Surrogate servers are typically used to store static data, whereas dynamic information (i.e. data that change in time) is just stored in a small number of back-end servers. In some typical scenarios there is a server called ‘redirector’, which dynamically redirects client requests based on selected policies. CDNs were born to improve accessibility, while maintaining correctness: this is achieved through content replication. They involve an orchestrated combination of heterogeneous techniques, such as content delivery, request routing, information spreading and accounting. The most important performance improvements derived from the adoption of such networks concern two aspects: (i) overall system throughput, that is the average number of requests served in a time unit (optimised also on the basis of the processing capabilities of the available servers); and (ii) response time experienced by clients after issuing a request. The decision process about these two aspects could be in contraposition. As an example, a ‘better response time’ IET Commun., pp. 1–7 doi: 10.1049/iet-com.2011.0651

server is usually chosen based on geographical distance from the client, that is network proximity; on the other hand, the overall system throughput is typically optimised through load balancing across a set of servers. Although the exact combination of factors employed by commercial systems is not clearly defined in the literature, evidence suggests that the scale is tipped in favour of reducing response time. Akamai [1], LimeLight [2] and CDNetworks [3] are wellknown commercial CDN projects, which provide support to the most popular Internet and media companies, including BBC, Microsoft, DreamWorks, EA and Yahoo. Several academic projects have also been proposed, such as CoralCDN [4] at New York University and CoDeeN [5] at Princeton University, both running on the PlanetLab (http:// www.planet-lab.org/) testbed. A critical component of a CDN architecture is the request routing mechanism. It allows to direct users’ requests for a content to the appropriate server, based on a specified set of parameters. The proximity principle, by means of which a request is always served by the server which is closest to the client, can sometime fail. Indeed, the routing process associated with a request might take into account several parameters (such as traffic load, bandwidth and servers’ computational capabilities) in order to provide the best performance in terms of time of service, delay etc. Furthermore, an effective request routing mechanism should be able to face temporary, and potentially localised, high request rates (the so-called ‘flash crowds’) in order to avoid affecting the quality of service perceived by other users. Depending on the network layers and mechanisms involved in the process, generally request routing techniques can be 1

& The Institution of Engineering and Technology 2012

www.ietdl.org classified in domain name system (DNS) request routing, transport-layer request routing, and application-layer request routing [6]. In a DNS-based approach, a specialised DNS server is able to provide a request balancing mechanism based on welldefined policies and metrics [7 – 9]. For every address resolution request received, the DNS server selects the most appropriate surrogate server in a cluster of available servers and replies to the client with both the selected internet protocol (IP) address and a time-to-live. The latter allows to define a period of validity for the mapping process. Typical implementations of this approach can provide either a single surrogate address or a record of multiple surrogate addresses, in the last case leaving to the client the choice of the server to contact (e.g. in a round-robin fashion). With transport-layer request routing, a layer 4 switch usually inspects information contained in the request header in order to select the most appropriate surrogate server. Information about the client’s IP address and port (and more generally all layer 4 protocol data) can be analysed. Specific policies and traffic metrics have been defined for a correct server selection. Generally, the routing to the server is achieved either by rewriting the IP destination of each incoming packet, or by a packet tunnelling mechanism, or by a forwarding mechanism at the MAC layer. With application-layer request routing, the task of selecting the surrogate server is typically carried out by a layer 7 application, or by the contacted web-server itself. In particular, in the presence of a web-server routing mechanism the server can decide to either serve or redirect a client request to a remote node. Differently from the previous mechanism, which usually needs a centralised element, a web-server routing solution is usually designed in a distributed fashion. ‘URL rewriting’ and ‘HTTP redirection’ are typical solutions based on this approach. In the former case, a contacted server can dynamically change the links of embedded objects in a requested page in order to let them point to other nodes. The latter technique, instead, exploits the redirection mechanism of the HTTP protocol to appropriately balance the load on several nodes. In the following of this paper we will focus our attention on the application-layer request routing mechanism. More precisely, we will provide a solution for load balancing in the context of the HTTP redirection approaches. We present a new mechanism for redirecting incoming client requests to the most appropriate server, thus balancing the overall system requests load. Our mechanism leverages local balancing in order to achieve global balancing. This is carried out through a periodic interaction among the system nodes. The rest of the paper is organised as follows. We will briefly describe some interesting solutions for load balancing in Section 2. Our solution for request balancing will be described in Section 3. Simulation results of the algorithm will be provided in Section 4. We will provide concluding remarks in Section 5.

2

Related work

Request routing in a CDN is usually concerned with the issue of properly distributing client requests in order to achieve load balancing among the servers involved in the distribution network. Several mechanisms have been proposed in the literature. They can usually be classified as either ‘static’ or ‘dynamic’, depending on the policy adopted for server selection [10]. 2

& The Institution of Engineering and Technology 2012

Static algorithms select the server without relying on any information about the status of the system at decision time. Static algorithms do not need any data retrieval mechanism in the system, which means no communication overhead is introduced. These algorithms definitely represent the fastest solution since they do not adopt any sophisticated selection process. However, they are not able to effectively face anomalous events such as flash-crowds. The simplest static algorithm is the ‘random’ balancing mechanism (RAND). In such policy the incoming requests are distributed to the servers in the network with a uniform probability. Another well-known static solution is the ‘round robin’ algorithm (RR). This algorithm selects a different server for each incoming request in a cyclic mode. Each server is loaded with the same number of requests without making any assumption on the state of neither the network nor the servers. Dynamic load-balancing strategies represent a valid alternative to static algorithms. Such approaches make use of information coming either from the network or from the servers in order to improve the request assignment process. The selection of the appropriate server is done through a collection and subsequent analysis of several parameters extracted from the network elements. Hence, a data exchange process among the servers is needed, which unavoidably incurs in a communication overhead. ‘Least-loaded’ algorithm (LL) is a well-known dynamic strategy for load balancing. It assigns the incoming client request to the currently least-loaded server. Such approach is adopted in several commercial solutions. Unfortunately, it tends to rapidly saturate the least-loaded server until a new message is propagated [11]. Alternative solutions can rely on ‘response time’ to select the server: the request is assigned to the server that shows the fastest response time [12]. The ‘two random choices’ algorithm [13] (2RC) randomly chooses two servers and assigns the request to the least loaded one between them. A modified version of such algorithm is the ‘next-neighbour load sharing’ [14]. Instead of selecting two random servers, this algorithm just selects randomly one server and assigns the request to either that server or its neighbour based on their respective loads (the least loaded server is chosen). All the redirection mechanisms described in this section can be implemented either in a ‘centralised’ or in a ‘distributed’ way [10]. In the former a centralised element, usually called ‘dispatcher’, intercepts all the requests generated into a wellknown domain, for example an autonomous system, and redirects them to the appropriate server into the network by means of either a static or a dynamic algorithm. Such approach is usually adopted by commercial CDN solutions. In a distributed redirection mechanism, instead, any server receiving a request can either serve it or redistribute it to another server based on an appropriate (static or dynamic) load-balancing solution. Clearly, hybrid approaches encompassing a hierarchial mechanism also exist. Both centralised and distributed solutions present pros and cons depending on the considered scenario and the specific performance parameters evaluated. As stated in [15], although in some cases the centralised solution achieves lower response time, a fully distributed mechanism is much more scalable. It is also robust in case of dispatcher fault, as well as easier to implement. Finally, it imposes much lower computational and communication overhead. In the next section, we will propose an alternative distributed dynamic solution for load balancing. The strength IET Commun., pp. 1–7 doi: 10.1049/iet-com.2011.0651

www.ietdl.org of our algorithm resides in the observation that it provides a global request balancing through local interaction among servers. Any server balances the load locally with its neighbours, and we provide a global balancing strategy by exploiting HTTP multiredirection process. Such approach limits state exchanging overhead to just local servers.

3 Fictitiously starred optimised balancing (FSOB) In this section we will present a novel algorithm for balancing client requests among several servers: the FSOB algorithm. Before describing the details of our algorithm we briefly discuss some models for distributed load balancing. With a distributed approach, every node usually consists of a scheduler, a buffer for holding requests and a processor. A request might either be served locally or assigned to a remote server based on the specific balancing strategy. Depending on how the scheduler interacts with the other components of the node, it is possible to classify the balancing algorithms in three fundamental models [16]: a ‘queue-adjustment model’, a ‘rate-adjustment model’ and a ‘hybrid-adjustment model’ (Fig. 1). In a queue-adjustment strategy the scheduler is located after the queue and just before the server. The scheduler might assign the request pulled out from the queue to either the local server or a remote server depending on the status of the system queues: if an unbalancing exists in the network with respect to the local server, it might assign part of the queued requests to the most unloaded remote server. In this way the algorithm tries to equally balance the requests in the system queues. It is clear that in order to achieve an effective load balancing the scheduler needs to periodically retrieve information about remote queue lengths. In a rate-adjustment model, instead, the scheduler is located just before the local queue: upon arrival of a new request the scheduler decides whether to assign it to the local queue or send it to a remote server. Once a request is assigned to a local queue no remote rescheduling is allowed. Such strategy usually balances the request rate arriving at every node independently from the current state of the queue. No periodical information exchange, indeed, is requested. In a hybrid-adjustment strategy for load balancing the scheduler is allowed to control both the incoming request rate at a node and the local queue length. Such approach allows to have a more efficient load balancing in a very dynamic scenario, but at the same time it requires a more complex algorithm. In the context of a hybrid-adjustment mechanism, the queue adjustment and the rate adjustment might be considered, respectively, as a fine-grained and a coarse-grained process. The algorithm for load balancing proposed in this paper falls in the class of rate-adjustment approaches. Differently from

most of the previous algorithms, we propose a highly dynamic distributed strategy based on the periodical exchange of information about the status of the nodes, in terms of load. By exploiting the multiple redirection mechanism offered by HTTP, our algorithm tries to achieve a global balancing through a local request redistribution process. Upon arrival of a new request, indeed, a CDN server can either elaborate locally the request or redirect it to other servers according to an optimised decision rule, which is based on the state information exchanged among the servers. Let us consider several CDN servers which are ‘virtually’ connected into an overlay network. We remark that the consistency of the contents is out of the scope of this paper: we suppose that any server is able to serve a request independently from its specific content. FSOB is implemented locally at any node. With such algorithm, the server assumes itself to be the centre (i.e. the ‘master’) of a ‘fictitious star topology’. In Fig. 2, for example, the star topology for the master node B is reported. Any time a request arrives at a server, it can decide to either elaborate it or redistribute it, based on a proper policy, to one of the peers (i.e. the ‘slaves’) in the above described fictitious star topology. Under the assumptions above, any master is capable to ‘trace out’ the loads of the slaves, since, in the master’s view, they exclusively serve requests redirected from it. In this way, an optimised rule for load balancing can be implemented for each fictitious star topology. Since we assume that all servers have the same service rate, we can distribute the load among them based just on the queue length at each server: a new request is assigned by the master to the server, including itself, which has the least queue length value at that point in time (Fig. 3). Periodically, the slaves report to the master their queue length. For each request assigned, the master updates the expected value of the queue length of the server which the request is sent to by incrementing it by one. Yet, the real behaviour of the load of each server is different as we assumed fictitious assumptions. In particular, the queue length can significantly change over time with respect to the expected value, owing to local requests traffic at the slave node. The periodic information provided by the servers in the CDN allows to restore the correct value of the slave loads. Although the redistribution mechanism always assigns a new request to the least loaded (in terms of queue length)

Fig. 2 FSOB topology

Fig. 1 Local load-balancing strategies a Queue adjustment b Rate adjustment c Hybrid adjustment IET Commun., pp. 1–7 doi: 10.1049/iet-com.2011.0651

3

& The Institution of Engineering and Technology 2012

www.ietdl.org interval of duration T, the slave provides the master with the local load and Dˆr measures. Such information is exploited to estimate the expected load qˆ of the slave at time kT + Dt by means of the following equation s qˆ (kT + Dt) = qs (kT) + N[kT r(kT )Dt ,kT +Dt] + Dˆ

(3)

where qs is the queue length provided by the slave during the s updating process at time kT, and N[kT ,kT +Dt] is the number of requests assigned to such a slave during the interval [kT, kT + Dt]. In Fig. 4 we report the pseudo-code of the FSOB algorithm by highlighting its main events.

4 Fig. 3 FSOB algorithm

server, it is possible to identify two alternative behaviours of the algorithm with respect to network load conditions: an ‘equalising’ phase and a ‘cycling’ phase. In the former the algorithm tends to equalise the estimated server loads in the presence of an unbalanced distribution of queue lengths, by assigning new requests to the server with the least loaded queue. Once the load is supposed to be equally distributed among all the servers in the network, the algorithm assumes a ‘cycling’ behaviour, where the master tends to assign new incoming requests in a manner which approximates a round-robin policy. Once done with server updates, the master enters again the equalising phase. The sequence of the two phases and their respective durations depend on the existing degree of unbalancing among the master and the slaves. The distinctive feature of this algorithm is its intrinsic capability to adjust itself to the initial condition of the server loads. Indeed, if the load is already balanced the algorithm exhibits a round-robin behaviour for the requests distribution, thus simply preserving the initial equilibrium. Otherwise, if the initial load is extremely unbalanced, the algorithm tends to equalise it by assigning new incoming requests to the least loaded server. To further improve the estimation of the slaves load, we add to FSOB an additional estimation of the expected queue behaviour relying also on the arrival and service rates experienced locally at the server. Any server in the CDN, indeed, might experience different arrival rates as well as service rates over time. Such information is ‘sampled’ locally at any slave node and sent during the updating process together with the queue length value. The master node can use this information to optimally estimate the supposed behaviour of the slaves load. Any slave computes both its expected arrival and service rates by an exponential weighted moving average rˆ (kT ) = (1 − a)ˆr((k − 1)T ) + ar(kT )

Simulation results

The effectiveness of the FSOB algorithm is evaluated by a comparison with the most interesting existing techniques (both static and dynamic) through a simulation campaign. We provide extensive simulation tests by using the ns2 network simulator (http://www.isi.edu/nsnam/ns/). Since no suitable tool for CDN simulation is provided with the standard simulator package, we introduced a new library to support such a scenario [17]. The simulations have been carried out using the network topology of Fig. 6. We suppose to have ten servers connected in the overlay, as well as ten clients, each of them connected to a single server. We model each server i as a M/M/1 queue with service rate mi , and the generation requests form client i as a Poisson process with arrival rate li . We assume different values of li and mi for every server i. In order to correctly evaluate the capability of the algorithms to balance the load among the servers we suppose different initial conditions for each of them, by setting different initial queue lengths. Furthermore, we consider a critical scenario of a saturated network characterised by  1≤i≤10

li =



mi

(4)

1≤i≤10

Such assumption allows us to test the balancing algorithm in a critical network condition. Finally, we simulate a flash-crowd scenario by incrementing the arrival rate l7 to 100 req/s between time

(1)

where rˆ is the expected rate, r is the rate sampled by the slave and T is the updating time. Based on such values the slave computes the difference Dˆr(kT) = lˆ (kT) − mˆ (kT )

(2)

where lˆ and mˆ are, respectively, the estimations of arrival and service rates computed by formula (1). After every 4

& The Institution of Engineering and Technology 2012

Fig. 4 FSOB pseudo-code IET Commun., pp. 1–7 doi: 10.1049/iet-com.2011.0651

www.ietdl.org t0 ¼ 200 s and t1 ¼ 250 s. In Table 1 we report the values used in the simulations. Clearly, such a scenario represents just a simplified version compared to a realistic CDN topology: we are conscious that a wider-scale simulation would definitely provide a more solid demonstration of the effectiveness of our solution. In the first part of this section we exclusively focus on a qualitative evaluation of the solution proposed with respect to the existing algorithms. For the sake of completeness, later in this section we will also provide a scalability analysis aimed at evaluating the performance of our solution when the network size increases. In Fig. 5 we have reported the graphs of the queue length behaviours of all the servers, respectively, for RAND, RR, LL, 2RC and FSOB algorithms.

Table 1

Servers parameters

queue length li , req/s mi , req/s

1

2

3

4

5

6

7

8

9

10

20 11 10

10 12 7

5 13 5

25 15 6

20 7 12

10 9 8

5 8 9

25 5 13

10 6 15

20 10 11

We observe the effectiveness of the FSOB algorithm with respect to all the other solutions. The balancing process of FSOB is very careful, and it is able to distribute the requests among all the servers without overloading any node. Such peculiarity of FSOB with respect to the other algorithms is confirmed by analysing the ‘unbalancing

Fig. 5 Queue length behaviour (TSU ¼ 1 s) a b c d e

RAND RR LL 2RC FSOB

IET Commun., pp. 1–7 doi: 10.1049/iet-com.2011.0651

5

& The Institution of Engineering and Technology 2012

www.ietdl.org index’ of Table 2. Such an index is computed as the average, over the entire simulation, of the standard deviation of the differences of the queue lengths of any pair of servers at time t. The index points out that the lowest value is always achieved with FSOB in both the normal and the flashcrowd scenario. Another important parameter to evaluate is the response time RT. In Tables 3 and 4 we report the values of the average and standard deviation of the RT, respectively, in the normal and in the flash-crowd scenario. Again we observe how our solution clearly outperforms the existing ones. FSOB in fact reduces the overall amount of time needed to serve a request. Unfortunately, the improvements in stability and response time introduced by the FSOB algorithm are payed in terms of additional requests owing to the multiple HTTP redirection mechanism. Since the redirection process is common to all the algorithms analysed, we exclusively Table 2

evaluate the percentage of the requests redirected more than once over the total number of requests generated. By simulations we verify a multiple redirection for about 40% of the total requests in both the normal and the flash-crowd scenario. This problem can clearly be mitigated by limiting the number of redirections for each request. Finally, we briefly discuss the scalability properties of our algorithm. By adopting a local data exchange policy we can considerably reduce the amount of overhead traffic produced with respect to a solution requiring data exchanging across the whole network. Considering a fixed packet size, the amount of data exchanging for the implemented algorithm exclusively depends on the average number of neighbours at each  nb . The average neighbours number can be server N estimated by the ‘degree’ of the network [18]  nb = 2 × L N N

(5)

Unbalancing index

round robin random lowest loaded 2 random choice FSOB

Normal scenario

Flash-crowd scenario

342.58 344.10 123.00 34.37 5.15

357.52 337.06 126.37 60.74 7.30

where L is the number of links connecting the servers and N the total number of servers. For example, in Table 5 we observe a constant value for ring topologies and an asymptotical behaviour for the chain. Given the interval T, the update process overhead can be analytically estimated by (5), supposing that L is the number of logical links connecting the cooperating servers.  nb is the average In the case of the proposed algorithm N degree of a network (corresponding to a ‘logical; average neighbours number) that in a realistic network topology scales as a power law with values between 3 and 4 [19, 20]. On the other side, the global balancing approach, which requires the exchanging of status information with all the N nodes in the network, is logically assimilated to a full-mesh topology. In this scenario, the worst case of  nb logical average neighbours number occurs, with N linearly dependent on the number of nodes (N )  nb = N − 1 N

Fig. 6 Simulation topology

Table 3

Performance evaluation

round robin random lowest loaded 2 random choice FSOB

Table 4

AvgRT , s

sRT , s

65.04 65.59 17.75 7.00 4.08

210.22 209.77 12.23 2.90 1.99

(6)

In any case, even if more sophisticated mechanisms, such as flooding, might be implemented for the global data dissemination process, the total number of packets exchanged, as well as their size, increase as the size of the network increases. The results show the advantages of using a local information exchange with respect to providing all nodes with status information. In order to confirm such theoretical results we have generated several scale-free network topologies by using the BRITE (http://www.cs.bu.edu/brite/) topology generator. We have evaluated by simulations the scalability of our solution. We have adopted the Baraba´si – Albert [21] model to generate five topologies with, respectively, 5, 10, 15, 20 and 25 nodes. Furthermore, we have considered an update interval T of 0:5, 1:0, 1:5 and 2:0 s. We have also made sure that the traffic parameter varied according to (4).

Performance evaluation with flash-crowd

round robin random lowest loaded 2 random choice FSOB

AvgRT , s

sRT , s

76.65 68.03 23.94 12.97 8.30

224.26 207.29 14.82 8.16 5.45

6

& The Institution of Engineering and Technology 2012

Table 5

chain ring power law full mesh

Network degree 4

8

12

16

20

24

28

1.5 2 1.5 3

1.75 2 1.75 7

1.83 2 1.92 11

1.87 2 2 15

1.9 2 2.1 19

1.91 2 2.17 23

1.92 2 2.19 27

IET Commun., pp. 1–7 doi: 10.1049/iet-com.2011.0651

www.ietdl.org Firstly, we have evaluated the rate of control packets at every node owing to the server status update process. Clearly, such rate decreases by increasing the interval T. In Fig. 7 we have reported the average control rate corresponding to different network sizes. We observe a limited increase in the rate for each interval T with an increasing number of nodes, which confirms that the traffic owing to algorithm control data has no strict dependence on the size of the network. The capability of the algorithm to achieve good performance also by increasing the size of the network is another aspect worth evaluating in the scalability analysis. In Figs. 8 and 9 we have reported, respectively, the average and the standard deviation values of the queue lengths. In both figures a limited increase in such parameters can be appreciated, following an increase in the number of nodes. In particular, for low values of the interval T we observe a lower increase both in average and standard deviation, as far as queue lengths are concerned. Specifically, the last parameters definitely point out the capability of our solution to guarantee high performance in terms of balancing among the nodes.

5

In this paper we have presented the FSOB, a novel algorithm for effective load balancing in CDNs. We have first introduced the main features of the algorithm and then studied its performance, in terms of response reactiveness, scalability and capability to fairly balance, among the available servers, the overall request load submitted to the CDN. The experimental results, obtained through simulation, clearly show how FSOB outperforms most of its potential competitors (as presented in the current literature) under a number of fundamental aspects, at the price of an increased number of requests generated by clients owing to the adoption of the multiple redirections mechanism for the redistribution phase. In the future we will provide a more realistic scenario of a CDN infrastructure for a more accurate evaluation of our solution. Indeed, we are already working on this, by exploring both distributed simulation approaches and emulation-based approaches: an implementation of our cooperating CDN node is almost ready and an experimental campaign based on Planetlab has been designed.

6 1 2 3 4 5 6 7 8

Fig. 7 Control data rate

9 10 11 12

13 14

Fig. 8 Average queue length

15 16

17

18 19 20 21

Fig. 9 Average standard deviation IET Commun., pp. 1–7 doi: 10.1049/iet-com.2011.0651

Conclusions

References http://www.akamai.com/index.html http://www.limelightnetworks.com/index.html http://www.us.cdnetworks.com/index.php http://www.coralcdn.org http://codeen.cs.princeton.edu Barbir, A., Cain, B., Nair, R.: ‘Rfc 3568 – known content network (cn) request-routing mechanisms’, Internet Draft, IETF, July 2003, http:// tools.ietf.org/html/rfc3568 Brisco, T.: ‘Rfc 1794 – dns support for load balancing’, Internet Draft, IETF, April 1995, http://www.faqs.org/rfcs/rfc1794.html Colajanni, M., Yu, P.S., Dias, D.M.: ‘Analysis of task assignment policies in scalable distributed web-server systems’, IEEE Trans. Parallel Distrib. Syst., 1998, 9, (6), pp. 585–600 Dias, D.M., Kish, W., Mukherjee, R., Tewari, R.: ‘A scalable and highly available web server’. Proc. IEEE Computer Conf., 1996, pp. 85–92 Cardellini, V., Casalicchio, E., Colajanni, M., Yu, P.S.: ‘The state of the art in locally distributed web-server systems’, ACM Comput. Surv., 2002, 34, (2), pp. 263–311 Dahlin, M.: ‘Interpreting stale load information’, IEEE Trans. Parallel Distrib. Syst., 2000, 11, (10), pp. 1033–1047 Carter, R.L., Crovella, M.E.: ‘Server selection using dynamic path characterization in wide-area networks’. Proc. IEEE Int. Conf. on Computer Communications – INFOCOM ’97, 1997, vol. 3, pp. 1014– 1021 Mitzenmacher, M.D.: ‘The power of two choices in randomized load balancing’, IEEE Trans. Parallel Distrib. Syst., 2001, 12, (10), pp. 1094– 1104 Chen, C.-M., Ling, Y., Pang, M., et al.: ‘Scalable request routing with next-neighbor load sharing in multiserver environments’. Proc. IEEE Int. Conf. on Advanced Information Networking and Applications, 2005, vol. 1, pp. 441–446 Cardellini, V., Colajanni, M., Yu, P.S.: ‘Request redirection algorithms for distributed web systems’, IEEE Trans. Parallel Distrib. Syst., 2003, 14, (4), pp. 355–368 Zeng, Z., Veeravalli, B.: ‘Design and performance evaluation of queueand-rate-adjustment dynamic load balancing policies for distributed networks’, IEEE Trans. Comput., 2006, 55, (11), pp. 1410– 1422 Cece, F., Formicola, V., Oliviero, F., Romano, S.P.: ‘An extended ns-2 for validation of load balancing algorithms in content delivery networks’. Proc. Third Int. ICST Conf. on Simulation Tools and Techniques – SIMUTools 2010, Torremolinos, Malaga, Spain, 2010 Erdo´s, P., Re´nyi, A.: ‘On the evolution of random graphs’, A Matematikal Kutato´ Inte´zet Ko´leme´nyei, 1960, 5, pp. 17–61 Faloutsos, M., Faloutsos, P., Faloutsos, C.: ‘On power-law relationships of the internet topology’. Proc. SIGCOMM ’99, 1999, pp. 251–262 Adamic, L.A., Lukose, R.M., Puniyani, A.R., Huberman, B.A.: ‘Search in power-law networks’, Phys. Rev. E, 2001, 64, article id 046135 Baraba´si, A.-L., Albert, R.: ‘Emergence of scaling in random networks’, Science, 1999, 286, pp. 509–512 7

& The Institution of Engineering and Technology 2012

Suggest Documents