Replicated servers allocation for multiple information sources in a distributed environment

https://doi.org/10.1016/S0141-9331(00)00087-9Get rights and content

Abstract

Recently, we have witnessed a phenomenal growth in the Internet/Intranet coupled with rapid deployment of new services. Information dissemination over the network has become one of the most important activities in our daily life. The existing systems, however, often suffer from notorious long delay experienced by clients, especially during peak hours. This is caused by the combination of a variety of factors including inadequate link bandwidth, server overload and network congestion. Server replication has been shown to be one of the most effective mechanisms to cope with this problem. The basic idea is to replicate the information across a network so that the clients’ requests can be spread out. The major issue is in which locations inside the network this replication takes place at, i.e. where to place the replicated servers. In this paper we investigate the server replication in a controlled distributed environment. The salient feature of this environment is that the decision of where to replicate information can be determined by a single authority, the Intranet being the typical example. We consider the problem of placing multiple replicated servers within a network, given there exist multiple target web servers as information providers. We formulate this as an optimization problem by taking into consideration the characteristics of the network topology. We first show that this is an NP-complete problem, and then present a number of heuristics-based algorithms for server replications. Finally, in order to investigate various tradeoffs in terms of cost and algorithm complexity, we carry out comparison studies among different heuristic algorithms.

Introduction

We have witnessed an explosive growth in the use of the World Wide Web (or web) in the past few years; there are many reasons behind this success, in particular, the ease of use, the availability of standard tools for creating web documents and for navigating the web, timely dissemination of information and the increased popularity of the Internet [1]. At the same time, this quick adoption also leads to its poor performance, as web clients often have to tolerate long response times. There are a number of factors contributing to this inefficiency such as server or network congestion during peak time, links with limited or inadequate bandwidth and long propagation delay. Server replication has been shown to be one of the most effective mechanisms to cope with this problem [19].

The basic idea is to replicate the content of the web server at selected locations within a network, known as replicated servers. A replicated server is an intermediate server acting as an agent between the clients and the web server. If properly designed, this can significantly reduce the web access delay and alleviate the potential network congestion. Additionally, it can also reduce the server load, which may be critical during peak time. Such a replicated server approach has been widely used in existing systems, evidenced by the fact that many popular web sites have already employed replication. For example, users can select among 101 different servers to access the Netscape browser, 15 different servers to access Yahoo within the US, 12 servers to access Lycos, 8 servers to access America Online, 7 servers to access Alta Vista and 3 servers to access Infoseek [12].

The effectiveness of the replicated servers is primarily determined by the locality, similar to the cache mechanism used in conventional memory hierarchical system. The server replication can be treated as a special case of caching where all the information is cached semi-permanently. This locality depends on a number of factors such as the clients’ access patterns and the resource constraints. One of the key factors, different from conventional caching mechanism, is the location of the replicated servers. Simply put, putting a replicated server in the “wrong” place is not only costly, but also does little to improve the system performance. The decision of where to place the replicated servers in the existing systems is largely based on an “ad hoc” approach. To the best of our knowledge, there has been no systematic study on the proper placement of replicated servers for multiple target web servers, which is the aim of this paper.

In this paper, we focus on the networking aspect, i.e. to minimize a network measure as the primary objective. We define a cost function based on the “distance” measure along the path between two nodes. The objective is to minimize the product of this “distance” measure and the traffic traversing the path. This makes intuitive sense in that the minimal value will yield the least overall traffic in the network. Specifically, we are interested in finding the optimal placement of multiple web proxies (M) among potential sites (N) under a given traffic pattern for multiple target web servers (R). The main complication is caused by the dependencies among the potential sites. Consider a potential site, say i, it can be in place between another potential site (j) and a target web server. We define site i to be upstream of site j and j to be downstream of site i, as the request from site j to this web server has to pass the site i. Replication at a downstream site (j) will modify the traffic pattern of the upstream site (i), which is the primary factor causing the complication.

We formulate this as an optimization problem by taking into consideration the characteristics of the network topology. We first show that this is an NP-complete problem, and then present a number of heuristics-based algorithms for server replications. Finally, in order to investigate various tradeoffs in terms of cost and algorithm complexity, we carry out comparison studies among different heuristic algorithms.

Sayal et al. [12] considers the selection algorithms for replicated web servers, which concerns how a client chooses the “closest” replicated server based on either the hop count, ping round trip time or the HTTP request latency. In addition, it addresses the issue of a client getting stuck to one replicated server, and proposes to use probabilistic or refresh approach based on the previously measured HTTP response time to spread the clients’ requests to different replicated servers. In this paper, the replicated servers’ locations is assumed to be given, no proper placement is considered.

Wolfson et al. [18] proposes an adaptive data replication (ADR) algorithm which can dynamically replicate objects to minimize a cost function defined to balance the “read” and “write” operations. The algorithm proposed works on a logical tree structure and requires that communication traverse along the path over the tree. It further shows that the dynamic replication leads to convergence of the set of the nodes that replicate the object. It does not, however, consider the issue of multiple objects replication. In addition, given the fact that most objects in the Internet/Intranet do not require “write”, the cost function based on “read” and “write” operation might not be ideal for such an environment. Therefore, the fact that the result, i.e. number of replications and replication locations1 depending on the pattern of the “read” and “write” operations makes this approach less applicable in a real situation.

There exist several work related to traffic characterization for the web [1], [4], the cache replacement [13], [16], [17] and web server design [7], [11]. There are also a number of more recent work addressing the caching or replication location. In Ref. [3], Bhattacharjee et al. proposes a self-organizing cache scheme in an active network [15]. It suggests associating small caches with switching nodes throughout the network, and considers the use of various self-organizing or active caching management strategies for organizing cache content. This essentially requires each internal node inside a network to replicate part of the content, which makes it difficult and costly to implement. Bestavros considers the problem of replicating the content of multiple web servers at a given location [2]. The objective is to maximize the fraction of the requests subject to the fixed storage space. It models the problem as a constrained-maximization problem, and obtains the solution using the Lagrange multiplier theorem. It, however, does not consider the issues of selecting multiple locations throughout the network to do the replications.

Our prior work has addressed the issue of multiple replicated server placement for a single target web server [9], [10]. Specifically, in Ref. [10], we consider a logical tree topology similar to Ref. [18], we show that the replicated server placement problem can be solved using a dynamic programming approach, and its solution can be obtained in O(N3M2) time, where N is the size of the tree and M is the number replicated servers. A simple linear topology is studied in Ref. [9], and the optimal solution can be derived using O(N2M) time.

Our contribution in this paper is to consider for the first time how to properly replicate the content of multiple web servers in a controlled environment like the Intranet. We show that this can be formulated as an optimization problem, and it is NP hard. We present a number of heuristics-based algorithms for server replications, and also carry out comparison studies among the proposed algorithms to investigate various tradeoffs in terms of cost and algorithm complexity.

Our formulation is particularly suited for an Intranet environment in which there exists a single authority determining proper placement of the replicated servers, or for service providers (such as ISPs) that need to provision their resources. The major assumption used in the formulation is the static nature of the network topology and the prior-known web access traffic pattern for all target web servers. This is justified in the sense that when a service provider does resource provisions, some long-term statistics regarding the web traffic pattern and the network topology have to be known. In reality, however, this can be instead semi-static nature, such that the replicated servers might need to be relocated when significant changes in either topology or traffic pattern are observed. In addition, in a typical networking environment, both traffic and topology in fine granularity can be highly dynamic in nature, for example considering an individual request. Our formulation based on the static assumption can be considered as a coarse-grained topology in that each node in the network is a super-composition of multiple nodes, e.g. an area within an autonomous system (AS) in IP terminology. In such a case, the effect of isolated requests becomes insignificant.

The rest of the paper is organized as follows. We present the problem formulation in Section 2. We discuss a number of heuristics-based algorithms in Section 3. The comparison and results are presented in Section 4. Finally, Section 5 concludes the paper with discussions of possible extensions.

Section snippets

Problem formulation

We start by describing the graph formulation of the replicated server placement problem. We assume that the network topology can be represented by a graph G(V,E), in which N=‖V‖ is the number of nodes or vertices and E is the number of edges (links). Each node in the graph representation corresponds to a router (or a switch) in the actual physical network, which can be responsible for a local domain (site). Each link corresponds to a physical link. We assume that out of those N nodes (routers),2

The heuristic algorithms

The cost function in the above formulation can be interpreted as the sum over the weight of the nodes times the cost of servicing the node. The objective is to find the set of nodes that minimizes the cost function. This is one of the classical problems known as the p-median problem, which finds the placement of p resources among nodes in a graph G that achieves the smallest cost over all possible placements of the p resources. Kariv and Hakimi proved that the p-median problem is NP hard for

Numerical results

The first example considers the topology shown in Fig. 2. There are nine nodes in the network, and two web servers attached to nodes 1 and 2. The corresponding minimum spanning trees are also given in Fig. 3 along with the traffic and “distance” parameters.

We compare three algorithms for this example, the simple greedy algorithm, the GA and the GRASP.

Conclusions

In this paper, we consider the issue of replicated server allocation in the control environment. The salient feature of this environment is that the decision of where to replicate information can be determined by a single authority, the Intranet being the typical example. We consider the problem of placing multiple replicated servers inside a network, given there exist multiple (target) web servers as information providers. We formulate this as an optimization problem by taking into

Acknowledgements

This work was supported in part by grants from Research Grant Council (RGC) under contracts CRC98/01.EG03 and HKUST6071/97E, and in part by a grant from Hong Kong Telecom Institute of Information Technology (HKTIIT) under contract HKTIIT97/98.EG01

Feng Chen received a BS degree in Computer Engineering from Guang Dong University of Technology, Guangzhou, China, in 1995 and MS degree in Computer Science from Hong Kong University of Science and Technology, Hong Kong, China in 2000. Currently, she is a PhD student in the Department of Computer Science, Hong Kong University of Science and Technology. Her research interests include web replication, active networks and reliable multicast network.

References (19)

There are more references available in the full text version of this article.

Cited by (0)

Feng Chen received a BS degree in Computer Engineering from Guang Dong University of Technology, Guangzhou, China, in 1995 and MS degree in Computer Science from Hong Kong University of Science and Technology, Hong Kong, China in 2000. Currently, she is a PhD student in the Department of Computer Science, Hong Kong University of Science and Technology. Her research interests include web replication, active networks and reliable multicast network.

Bo Li (S'89, M'92, SM'99) received the BS (summa cum laude) and MS degrees in Computer Science from Tsinghua University, Beijing, People's Republic of China, in 1987 and 1989, respectively, and the PhD in Computer Engineering from the University of Massachusetts at Amherst in 1993. Between 1994 and 1996, he worked on high performance routers and ATM switches in the IBM Networking System Division, Research Triangle Park, North Carolina. He joined the faculty in the Computer Science Department of the Hong Kong University of Science and Technology in January 1996.

He has been on the editorial board for IEEE Journal of Selected Areas in Communications—Wireless Communications Series, ACM Mobile Computing and Communications Review (MC2R), ACM/Baltzer Journal of Wireless Networks (WINET), and Journal of Communications and Networks (JCN). He has been co-guest editing special issues for IEEE Communications Magazine, IEEE Journal of Selected Areas in Communications, and an upcoming SPIE/Baltzer Optical Networks Magazine. He has been involved in organizing numerous conferences, in particular for IEEE Infocom since 1986, is the Vice-Chair for Infocom '2001.

His current research interests are: wireless mobile networking supporting multimedia, voice and video (MPEG-2 and MPEG-4) transmission over the internet, all optical newtorks using WDM.

Dr. Li is a member of ACM and a senior member of IEEE. He can be reached at [email protected] or [email protected]

View full text