Approximation Algorithms for Data Management in Networks



Similar documents
Efficient Redundancy Techniques for Latency Reduction in Cloud Systems

Over-encryption: Management of Access Control Evolution on Outsourced Data

Top K Nearest Keyword Search on Large Graphs

INITIAL MARGIN CALCULATION ON DERIVATIVE MARKETS OPTION VALUATION FORMULAS

Questions & Answers Chapter 10 Software Reliability Prediction, Allocation and Demonstration Testing

AN IMPLEMENTATION OF BINARY AND FLOATING POINT CHROMOSOME REPRESENTATION IN GENETIC ALGORITHM

UNIT CIRCLE TRIGONOMETRY

Comparing Availability of Various Rack Power Redundancy Configurations

Chapter 3 Savings, Present Value and Ricardian Equivalence

MULTIPLE SOLUTIONS OF THE PRESCRIBED MEAN CURVATURE EQUATION

est using the formula I = Prt, where I is the interest earned, P is the principal, r is the interest rate, and t is the time in years.

Comparing Availability of Various Rack Power Redundancy Configurations

Cloud Service Reliability: Modeling and Analysis

An Approach to Optimized Resource Allocation for Cloud Simulation Platform

Spirotechnics! September 7, Amanda Zeringue, Michael Spannuth and Amanda Zeringue Dierential Geometry Project

Data Center Demand Response: Avoiding the Coincident Peak via Workload Shifting and Local Generation

HEALTHCARE INTEGRATION BASED ON CLOUD COMPUTING

The transport performance evaluation system building of logistics enterprises

Uncertain Version Control in Open Collaborative Editing of Tree-Structured Documents

An Analysis of Manufacturer Benefits under Vendor Managed Systems

Continuous Compounding and Annualization

STUDENT RESPONSE TO ANNUITY FORMULA DERIVATION

9:6.4 Sample Questions/Requests for Managing Underwriter Candidates

Ilona V. Tregub, ScD., Professor

Modeling and Verifying a Price Model for Congestion Control in Computer Networks Using PROMELA/SPIN

Financing Terms in the EOQ Model

ON THE (Q, R) POLICY IN PRODUCTION-INVENTORY SYSTEMS

Channel selection in e-commerce age: A strategic analysis of co-op advertising models

Carter-Penrose diagrams and black holes

4a 4ab b (count number of places from first non-zero digit to

The Binomial Distribution

Software Engineering and Development

Tracking/Fusion and Deghosting with Doppler Frequency from Two Passive Acoustic Sensors

Figure 2. So it is very likely that the Babylonians attributed 60 units to each side of the hexagon. Its resulting perimeter would then be 360!

THE DISTRIBUTED LOCATION RESOLUTION PROBLEM AND ITS EFFICIENT SOLUTION

Effect of Contention Window on the Performance of IEEE WLANs

High Availability Replication Strategy for Deduplication Storage System

An application of stochastic programming in solving capacity allocation and migration planning problem under uncertainty

Load Balancing in Processor Sharing Systems

Load Balancing in Processor Sharing Systems

Converting knowledge Into Practice

An Epidemic Model of Mobile Phone Virus

PAN STABILITY TESTING OF DC CIRCUITS USING VARIATIONAL METHODS XVIII - SPETO pod patronatem. Summary

Towards Realizing a Low Cost and Highly Available Datacenter Power Infrastructure

Towards Automatic Update of Access Control Policy

Real Time Tracking of High Speed Movements in the Context of a Table Tennis Application

Supporting Efficient Top-k Queries in Type-Ahead Search

Valuation of Floating Rate Bonds 1

How To Write A Theory Of The Concept Of The Mind In A Quey

Things to Remember. r Complete all of the sections on the Retirement Benefit Options form that apply to your request.

Week 3-4: Permutations and Combinations

Scheduling Hadoop Jobs to Meet Deadlines

Database Management Systems

Risk Sensitive Portfolio Management With Cox-Ingersoll-Ross Interest Rates: the HJB Equation

Chris J. Skinner The probability of identification: applying ideas from forensic statistics to disclosure risk assessment

Review Graph based Online Store Review Spammer Detection

How to recover your Exchange 2003/2007 mailboxes and s if all you have available are your PRIV1.EDB and PRIV1.STM Information Store database

An Efficient Group Key Agreement Protocol for Ad hoc Networks

YARN PROPERTIES MEASUREMENT: AN OPTICAL APPROACH

A Comparative Analysis of Data Center Network Architectures

Research on Risk Assessment of the Transformer Based on Life Cycle Cost

How To Find The Optimal Stategy For Buying Life Insuance

2. TRIGONOMETRIC FUNCTIONS OF GENERAL ANGLES

A Two-Step Tabu Search Heuristic for Multi-Period Multi-Site Assignment Problem with Joint Requirement of Multiple Resource Types

Symmetric polynomials and partitions Eugene Mukhin

Reduced Pattern Training Based on Task Decomposition Using Pattern Distributor

Optimizing Content Retrieval Delay for LT-based Distributed Cloud Storage Systems

Chapter 2 Valiant Load-Balancing: Building Networks That Can Support All Traffic Matrices

Secure Smartcard-Based Fingerprint Authentication

Automatic Testing of Neighbor Discovery Protocol Based on FSM and TTCN*

Self-Adaptive and Resource-Efficient SLA Enactment for Cloud Computing Infrastructures

Firstmark Credit Union Commercial Loan Department

VISCOSITY OF BIO-DIESEL FUELS

Promised Lead-Time Contracts Under Asymmetric Information

The Role of Gravity in Orbital Motion

Statistics and Data Analysis

Strength Analysis and Optimization Design about the key parts of the Robot

Episode 401: Newton s law of universal gravitation

FXA Candidates should be able to : Describe how a mass creates a gravitational field in the space around it.

Gravitational Mechanics of the Mars-Phobos System: Comparing Methods of Orbital Dynamics Modeling for Exploratory Mission Planning

A Capacitated Commodity Trading Model with Market Power

College Enrollment, Dropouts and Option Value of Education

ENABLING INFORMATION GATHERING PATTERNS FOR EMERGENCY RESPONSE WITH THE OPENKNOWLEDGE SYSTEM

Lesson 7 Gauss s Law and Electric Fields

AMB111F Financial Maths Notes

Transcription:

Appoximation Algoithms fo Data Management in Netwoks Chistof Kick Heinz Nixdof Institute and Depatment of Mathematics & Compute Science adebon Univesity Gemany kueke@upb.de Haald Räcke Heinz Nixdof Institute and Depatment of Mathematics & Compute Science adebon Univesity Gemany hay@upb.de Matthias Westemann Heinz Nixdof Institute and Depatment of Mathematics & Compute Science adebon Univesity Gemany masu@upb.de ABSTRACT This pape deals with static data management in compute systems connected by netwoks. A basic functionality in these systems is the inteactive use of shaed data objects that can be accessed fom each compute in the system. Examples fo these objects ae files in distibuted file systems, cache lines in vitual shaed memoy systems, o pages in the WWW. In the static scenaio we ae given ead and wite equest fequencies fo each compute-object pai. The goal is to calculate a placement of the objects to the memoy modules, possibly with edundancy, such that a given cost function is minimized. With the widespead use of commecial netwoks, as, e.g., the Intenet, it is moe and moe impotant to conside commecial factos within data management stategies. The goal in pevious wok was to utilize the available esouces, especially the bandwidth, as good as possible. We will pesent data management stategies fo a model in which commecial cost instead of the communication cost ae minimized, i.e., we ae given a metic communication cost function and a stoage cost function. We intoduce new deteministic algoithms fo the static data management poblem on tees and abitay netwoks. Ou algoithms aim to minimize the total cost. To ou knowledge this is the fist analytic teatment of this poblem that is N-had on abitay netwoks. Ou main esult is a combinatoial algoithm that calculates a constant facto appoximation fo abitay netwoks in polynomial time. Futhe, we pesent an algoithm fo tees that calculates an optimal placement of all objects in X on a tee T = (V, E) in time O( X V diam(t ) log(deg(t ))). atially suppoted by the DFG-Sondefoschungsbeeich 376 and the IST ogamme of the EU unde contact numbe IST-1999-14186 (ALCOM-FT). emission to make digital o had copies of all o pat of this wok fo pesonal o classoom use is ganted without fee povided that copies ae not made o distibuted fo pofit o commecial advantage and that copies bea this notice and the full citation on the fist page. To copy othewise, to epublish, to post on seves o to edistibute to lists, equies pio specific pemission and/o a fee. SAA 001 Cete Island, Geece Copyight 001 ACM 0-89791-88-6/97/05...$5.00. 1. INTRODUCTION In ecent yeas, lage compute systems connected by netwoks have become pat of ou eveyday live. A good example is the widespead use of the Intenet and Intenet-elated applications such as the Wold Wide Web (WWW). A basic functionality in these systems is the inteactive use of shaed data objects that can be accessed fom each compute in the system. Examples fo these objects ae files in distibuted file systems fo Ethenet-connected wokstations, cache lines in vitual shaed memoy systems fo massively paallel computes, o pages in the WWW. The damatic gowth of compute systems necessitates moe and moe an intelligent management of shaed data objects. With the widespead use of commecial netwoks, as, e.g., the Intenet, it is moe and moe impotant to conside commecial factos within data management stategies. The goal in pevious wok was to utilize the available esouces, especially the bandwidth, as good as possible. In such a scenaio it is usually assumed that the use of the esouces is fo fee. We will pesent data management stategies fo a model in which commecial cost instead of the communication cost ae minimized. Ou model mios, e.g., the pespective of a content povide that offes infomation via pages in the WWW. Fo that pupose, the content povide has to ent o buy some amount of the esouces bandwidth and memoy. We assume that thee is a fee pe tansmitted byte fo each communication link and a fee pe stoed byte fo each memoy module in the netwok. Then, the total cost of the content povide is chaged in dependency of the amount of bytes that ae sent along communication links o stoed in memoy modules. In this cost based model we will pesent static data management stategies. In the static scenaio we ae given ead and wite equest fequencies fo each compute-object pai. A data management stategy has to answe the following questions. How many copies of a shaed data object should be ceated? On which memoy modules should these copies be placed? How should the ead and wite equests be seved?

The goal is to calculate a placement of the objects to the memoy modules, possibly with edundancy, such that the total cost ae minimized. In geneal, the goal in pevious wok was to minimize the total communication load (see, e.g., [1,, 4, 9]) which is defined as follows: The communication load of a link is the amount of data tansmitted by this connection. The total communication load is the sum ove the load of all links divided by the bandwidth of the espective link. Obviously, a data management stategy, that is povably good in ou cost based model, minimizes also the total communication load, if the fee of each link is equivalent to the ecipocal value of the bandwidth of the espective link, and if the fee of each memoy module is 0. Thus, ou cost based model is a genealization of the total load model. 1.1 The cost based model The compute system is modeled by an undiected gaph G = (V, E) with node set V and edge set E such that the nodes epesent the pocessos with thei memoy modules, and the edges epesent the links. The cost pe stoed data object fo the memoy modules ae descibed by a function c s : V + 0 and the cost pe tansmitted data object fo the links ae descibed by a function c t : E + 0. Fo simplicity, we assume that all the data objects have unifom size. Thus, the functions c s and c t do not depend on the data objects. Howeve, all ou esults hold also in a non-unifom model. Let c t(v, v ) denote the cost pe tansmitted data object fom a node v to a node v. We define c t(v, v ) := min path p fom v to v n edge e lies on p ct(e) o. Then, the function c t defines a metic space ove the node set V, since c t is non-negative, symmetic, and satisfies the tiangle inequality. Thus, c t can also be seen as a distance function. To keep ou algoithms and poofs simple and clea we often use this view of c t. The static data management poblem is defined as follows (compae [10]). We ae given a set X of shaed data objects and the ead and wite equest fequencies fo each nodeobject pai which ae descibed by the functions f : V X and f w : V X, espectively. Fo each object x X, we have to detemine a set of nodes holding copies of x. Then, it emains to specify how each equest fo x will be seved. The node issuing is denoted the home h() of the equest. In case of a ead equest, h() simply eads the neaest copy of x. The node holding this copy is denoted the node s() that seves the equest. Note that fo a given set of nodes holding copies of x a ead equest is always seved with optimal cost. In case of a wite equest, an update is sent fom h() to all copies of x. Thus, we have to detemine the edges along which this update is sent. This is modeled by a multi-set of edges E U which is denoted the update set of equest. Note that some edges in this multi-set can induce a multi-cast tee that banches at abitay nodes and that some edges can appea seveal times in this multi-set. Fo technical easons, the node holding the copy of x that is neaest to h() is denoted the node s() that seves the equest. The goal in the cost based model is to calculate a placement of the objects to the memoy modules such that the total cost ae minimized. The total cost ae defined as follows. A copy of object x on the node v inceases the total cost by c s(v). A ead equest fo object x inceases the total cost by c t(h(), s()). A wite equest fo object x inceases the total cost by e E U E U (e) c t(e), whee E U (e) denotes the numbe of appeaances of edge e in the multi-set E U. The model descibed above is slightly estictive in the sense that it fixes the update policy to a cetain ange. In paticula, it does not include stategies that allow only a faction of the copies to be updated in case of a wite, which, e.g., is implemented in stategies using the majoity tick intoduced in [14]. Howeve, all stategies using such techniques add time stamps to the copies. This equies that thee is some definition of unifom time among diffeent nodes. Since it is not clea how to ealize this in an asynchonous setting, we estict ouselves to stategies that update o invalidate all copies in case of a wite. 1. evious and elated wok The fist appoaches to solve static data management poblems concentate on modeling it by mixed intege pogams and solving these pogams efficiently by using heuistics. Hee seveal models with diffeent cost functions and constaints have been developed. The suvey pape by Dowdy and Foste [7] gives an oveview of this wok. Recently and independently, Baev and Rajaaman [3] conside static data management in abitay netwoks with memoy capacity constaints in a model that is simila to ou model. The majo diffeence is that they only conside ead equests. They pesent a constant facto appoximation algoithm that aims to minimize the total cost. This algoithm is based on solving a linea pogamming elaxation of the poblem and ounding the obtained solution. Milo and Wolfson [15] show that the static data management poblem in abitay netwoks is aleady N-had in the total communication load model. Futhe, they pesent polynomial time algoithms fo completely-connected netwoks, tees, and ings that calculate optimal placements in the total communication load model. Maggs et. al. [10] pesent static and dynamic data management stategies fo tees, meshes, and Intenet-like clusteed netwoks. All these stategies aim to minimize the congestion, i.e., the maximum ove the load of all edges divided by the bandwidth of the espective edge. They pesent a deteministic stategy fo static data management on tees that minimizes the communication load on all edges simultaneously. Obviously, this yields minimum congestion as well as minimum total communication load. Futhe, they pesent optimal o close-to-optimal stategies that aim to minimize the congestion on meshes and Intenetlike clusteed netwoks. Fo example, the stategy fo d- dimensional meshes with n nodes achieves optimal congestion up to a facto of O(d log n). The sequential unning time of these algoithms is linea in the input size. Moeove, they show that the static poblem is aleady N-had on a 3 3 mesh in the congestion model.

In the dynamic setting, no knowledge about the equest patten is assumed. An advesay specifies equests at un-time. Hee, they pesent optimal o close-to-optimal stategies that also aim to minimize the congestion on tees, meshes, and Intenet-like clusteed netwoks. These stategies ae investigated in a competitive model. Meye auf de Heide et. al. [11, 1] extend these esults in the dynamic setting to non-unifom cost models with diffeent communication costs fo accessing and migating data objects, to netwoks with memoy capacity constaints, and othe classes of netwoks. Awebuch et. al. [1, ] conside the dynamic data management poblem in abitay netwoks. In [1], they pesent a centalized stategy that achieves an optimal competitive atio O(log n) and a distibuted stategy that achieves competitive atio O((log n) 4 ) on an abitay netwok with n nodes. In [], the distibuted stategy is adapted to netwoks with memoy capacity constaints. All competitive atios ae with espect to the total communication load. The static data management poblem in ou cost based model is simila to the facility location poblem. The majo diffeence is that in the facility location poblem thee exists nothing compaable to the wite equests in the data management poblem. Aadal et. al. [13] gave the fist constant facto appoximation algoithm fo the facility location poblem. This was subsequently impoved by Chudak and Shmoys [5, 6] who achieved the cuently best known appoximation atio of 1 + /e 1.736. All these algoithms ae based on solving linea pogamming elaxations of the facility location poblem and ounding the obtained solutions. Koupolu et. al. [8] analyzed a well known local seach heuistic and showed that it achieves an appoximation facto of 5 + ɛ with ɛ > 0. 1.3 New esults We intoduce new deteministic algoithms fo the static data management poblem on tees and abitay netwoks. Ou algoithms aim to minimize the total cost in ou cost based model. To ou knowledge this is the fist analytic teatment of this poblem. Ou main esult, pesented in Section, is a combinatoial algoithm that calculates a constant facto appoximation fo abitay gaphs in polynomial time. Futhe, we pesent in Section 3 an algoithm fo tees that calculates an optimal placement of all objects in X on a tee T = (V, E) in time O( X V diam(t ) log(deg(t ))), whee diam(t ) denotes the unweighted diamete of T, i.e., the maximum numbe of edges on a path connecting two abitay nodes in T, and deg(t ) denotes its maximum node degee.. THE AROXIMATION ALGORITHM FOR ARBITRARY NETWORKS In this section, we pesent a combinatoial algoithm that calculates a constant facto appoximation fo the static data management poblem on abitay gaphs. Ou algoithm places all objects independently fom each othe. Thus, fix an object x. The focus in ou algoithm lies on the calculation of a good placement fo object x. Given such a placement wite accesses ae handled as follows. A node that issues a wite equest fo x fist sends a message to the closest node holding a copy, i.e., s(). Then an update of all copies of x via a minimum spanning tee is initiated, i.e., s() sends out one message that is tansmitted along the banches of a minimum spanning tee that connects all nodes holding copies of x. Thus, the update set E U contains all edges on the shotest path between h() and s() and all edges of the minimum spanning tee. Note that edges on the path fom h() and s() can be contained twice in the multi-set E U. In ode to show the quality of ou solution we will compae it to an optimal solution that fulfills the following additional constaints. 1. A wite equest fo x fist sends a message to s() and then initiates the update of all copies of x via a multi-cast tee. All wite equests fo x use the same multi-cast tee T x.. Each copy of x seves at least W equests, with W = v V fw(v) denoting the total numbe of wite equests fo x. A placement fulfilling these constaints is called esticted. The following lemma ensues that thee exists a esticted placement that has nealy optimal cost fo eading, stoing and updating global objects. Lemma 1. Let O T and OT W denote an optimal and optimal esticted placement, espectively. Then C OT W 4C OT, whee C OT W and C OT denote the total cost of OT W and OT, espectively. oof. Suppose the optimum placement OT is given togethe with the optimal update sets of all equests. We will successively tansfom this placement into a esticted placement as follows. Fist, we eplace each update set EU OT of the optimum placement by the edge set of a minimum spanning tee (MST) connecting all copies plus the edges on the path fom h() to s(). The following claim shows that the total cost of the placement is only doubled by this tansfomation. Claim. Let OT denote the new placement and EU OT its update set fo equest. Then X (e) c t(e) X e E OT U e E OT U E OT U e E OT U E OT U (e) c t(e). oof. Let E ST and E MST denote the edge set of a minimum Steine tee and a minimum spanning tee, espectively, connecting h() with all nodes holding a copy of x. Then e E MST c t(e) e E ST c t(e) e E c t(e), whee E denotes the edge set containing all edges of an abitay path of the Steine tee. By choosing the path fom h() to s() fo we get X EU OT (e) c t(e) X X which yields the claim. c t(e) + c t(e) e E MST e E X X c t(e) = e E ST e E OT U E OT U (e) c t(e),

In a second step the placement OT is tansfomed into a esticted placement OT W as follows. As long as the set C W of copies that do not seve at least W equests is not empty, delete the copy c C W with maximum tee distance fom the oot node of the MST, which is ooted at an abitay node. (The tee distance between a node u and v is the length of the unique path that connects u and v via edges of the MST.) Afte the deletion of c, each equest peviously assigned to c is eassigned to its neaest emaining copy in the netwok. This algoithm teminates because the numbe of equests is lage than W and thus the last copy will not be deleted. Obviously, the esulting placement is esticted because each emaining copy seves at least W equests. It emains to show that the additional cost that incu by eassigning equests to othe copies is small. Each equest that is eassigned fom a copy on node v to anothe copy on node v inceases the total cost by c t(h(), v ) c t(h(), v). Note that this holds fo wite equests as well, because the algoithm has to maintain the fist constaint of a esticted placement, i.e., the cost fo a message fom h() to v has to be taken into account. Let v f denote the fathe node of v accoding to the tee stuctue given by the MST. Each e-assignment inceases the cost by c t(h(), v ) c t(h(), v) c t(h(), v f ) c t(h(), v) c t(v, v f ). The fist step holds since c t(h(), v ) c t(h(), v f ). v holds the copy closest to h(), but v f still holds a copy, because copies close to the oot node ae deleted late. The second step holds because of the tiangle inequality. At most W equests ae eassigned in a deletion step because othewise the copy would not have to be deleted since it would have seved moe than W equests. The total costincement caused by a deletion on node v is theefoe at most W c t(v, v f ). Summing this ove all nodes holding a copy yields that the total cost-incement does not exceed the cost expended by OT fo updating objects. Togethe with Claim this yields the lemma. In the emainde of this section we only conside esticted placements. We split the total cost of such a placement into ead, update, and stoage cost which ae defined as follows. Fo a given placement, the stoage cost Cs ae defined as Cs := v V holding a copy cs(v), the update cost Cu ae defined as Cu := W e E Tx c t(e), with E Tx denoting the edge set of the multi-cast tee connecting all copies of x and W = v V fw(v) denoting the total numbe of wite equests fo x, the ead cost C ae defined as C = equest fo x ct(h(), s()). Futhemoe, C (S) := S ct(h(), s()) denotes the ead cost fo a set S of equests. Note that these definitions ae only useful fo esticted placements because the cost fo a wite equest (epesented by the multi-set E U ) ae patitioned into the cost fo a multi-cast tee E Tx and the cost fo the path fom h() to s(). The latte cost ae defined to belong to the ead cost. By defining the ead cost this way, we do not diffeentiate between ead and wite equests any moe. The wite equests ae only epesented by thei total numbe W. Thei exact location in the netwok does not influence the update cost. Obviously, fo the total cost C of a esticted placement holds C = C + C u + C s..1 ope placements In this section, we define pope placements and pove some helpful popeties of such pope placements. Fist, we intoduce some notations and definitions. Fo a node v, let R z v denote the set of those z distinct equests that ae closest to v. Futhe, let d(v, z) denote the aveage distance between v and the equests in R z v, i.e., d(v, z) := 1 R z v R ct(h(), v). z v Fo each node v, we define the wite adius w(v) := d(v, W ), whee W denotes the total numbe of wite equests fo x. Futhemoe, we choose the stoage adius s(v) + 0 and the stoage numbe zs(v) 0 such that (z s(v) 1) s(v) c s(v) < z s(v) s(v) and d(v, z s(v) 1) s(v) < d(v, z s(v)). This is done as follows. Obviously z s(v) can be chosen such that (z s(v) 1) d(v, z s(v) 1) c s(v) < z s(v) d(v, z s(v)). Then s(v) is chosen fom the inteval [d(v, z s(v) 1), d(v, z s(v)) such that the fist inequalities hold. The idea behind these definitions is that the wite adius and the stoage adius of a node v give an indication of the optimal distance fom v to the neaest copy in the netwok. This is fomalized in the following. We call a placement pope if the copies ae distibuted accoding to the wite and stoage adii of the nodes as follows. 1. Evey node v has a copy in distance at most k 1 max{ w(v), s(v)}, whee k 1 denotes a suitable constant.. Two nodes u and v both holding a copy have at least distance k max{ w(u), w(v)}, whee k denotes a suitable constant. In the emaining pat of this section we will show that any pope placement guaantees a constant appoximation facto fo the ead and update cost. In Section. we will pesent an algoithm that calculates a pope placement with low stoage cost. Theoem 3. Fo the ead and update cost of a pope placement RO holds C RO C RO u whee OT W (k 1 + 1) (C OT W k k 1 (CRO + C OT W s ) and + C OT W ) + C OT W u denotes an optimal esticted placement. oof. Fist, the following lemma elates the ead cost of a pope placement RO to the ead cost and stoage cost of a optimal esticted placement OT W. Lemma 4. Fo the ead cost C RO holds C RO (k 1 + 1) (C OT W «of a pope placement + C OT W s ).,

oof. In ode to show the lemma we compae the pope placement and the optimal esticted placement OT W. Suppose a copy is placed on node v in the optimal esticted placement OT W. Let S v denote the set of equests seved by this copy in OT W. We show that C RO (S v) (k 1 + 1) (C OT W (S v) + c s(v)). Then the lemma follows immediately by summing ove all equest sets. Let S v denote a equest issued at node h() and seved at node s() in the pope placement. The distance between h() and s() can be estimated by c t(h(), s()) c t(h(), v ) c t(h(), v) + c t(v, v ), whee v denotes the node holding the copy neaest to v in the pope placement RO. The fist step uses the fact that s() is the closest copy to h() and the second step holds due to the tiangle inequality. Then the ead cost C RO (S v) of the pope placement RO can be bounded by C RO (S v) = X c t(h(), s()) S v X X c t(h(), v) + c t(v, v ) S v S v C OT W (S v) + S v c t(v, v ) C OT W (S v) + S v k 1 max{ s(v), w(v)}. Recall that c t(v, v ) k 1 max{ s(v), w(v)} due to the fist popety of a pope placement. Now, we distinguish two cases accoding to the maximum of { s(v), w(v)}. Suppose w(v) = max{ s(v), w(v)}. Obviously, C OT W (S v) S v w(v), since the copy on node v seves S v W equests in the optimal esticted placement OT W. Then C RO (S v) C OT W (S v) + S v k 1 max{ s(v), w(v)} C OT W (S v) + k 1 S v w(v) (k 1 + 1) C OT W (S v). Suppose s(v) = max{ s(v), w(v)}. In this case we distinguish two sub-cases accoding to the cadinality of S v. Suppose S v < z s(v). Then C RO (S v) C OT W (S v) + S v k 1 max{ s(v), w(v)} C OT W (S v) + (z s(v) 1) k 1 s(v) C OT W (S v) + k 1 c s(v). Recall that (z s(v) 1) s(v) c s(v) by the definition of z s(v) and s(v). Suppose S v z s(v). Then C OT W (S v) S v d(v, S v ) S v d(v, z s(v)) S v s(v). Thus, fo the ead cost of the pope placement RO holds C RO (S v) C OT W (S v) + S v k 1 max{ s(v), w(v)} Altogethe this yields the lemma. C OT W (S v) + S v k 1 s(v) (k 1 + 1) C OT W (S v). Finally, the following lemma elates the wite cost of a pope placement RO to the cost of an optimal esticted placement OT W. Lemma 5. Fo the update cost of a pope placement RO holds Cu RO ( k k 1 (CRO + C OT W ) + C OT W u ). oof. Fist, we pove the following claim showing that evey copy in the pope placement RO seves a cetain numbe of equests. Claim 6. Evey copy in a pope placement seves at least (1 1 k ) W equests. oof. In the pope placement RO each equest with c t(h(), v) k w(v) is seved by the copy on v due to the second popety of a pope placement. Now, the claim follows fom a simple aveaging agument. Assume fo contadiction that a copy on node v seves less than (1 1 k ) W equests. Then at least W (1 1 k ) W = W k equests in R W v have a distance to v lage than k w(v). This yields w(v) = 1 R W v X c t(h(), v) > 1 W W k w(v) = w(v), k R W v which is a contadiction. Suppose that a node v holds a copy in the pope placement RO and that the copy neaest to v in the optimum esticted placement OT W is placed on v. Fo a equest that is seved by v in the pope placement, let s() denote the node seving in OT W. Then c t(v, v ) c t(v, s()) c t(v, h()) + c t(h(), s()). Let S v denote the set of equests seved by v in the pope placement. Summing the above inequality ove all equests in S v yields S v c t(v, v ) = X c t(v, v ) S v X X c t(v, h()) + c t(h(), s()) S v S v = C RO (S v) + C OT W (S v). Now, we compae the update cost of the pope placement RO and the optimal esticted placement OT W. The

additional cost in RO caused by the update messages fo the copy on v ae less than W c t(v, v ) k k 1 Sv ct(v, v ) k k 1 (CRO (S v) + C OT W (S v)). Recall fo the fist step that S v (1 1 k ) W due to Claim 6. Summing this inequality ove all nodes holding a copy in the pope placement and taking the cost fo updating all copies of the optimal esticted placement into account yields that thee exists a Steine tee fo updating all copies of RO with cost at most k k 1 (CRO +C OT W )+C OT W u. Thus, Cu RO ( k k 1 (CRO + C OT W ) + C OT W u ), since we use a minimum spanning tee fo updating. Lemmata 4 and 5 yield the theoem.. The appoximation algoithm In this section, we pesent the algoithm that computes a pope placement with low stoage cost. The algoithm consists of the following thee phases. 1. An initial placement is calculated by an appoximation algoithm fo the facility location poblem. The input is the elated facility location poblem, i.e., the same input as fo ou data management poblem with the diffeence that all wite equests become ead equests. Hence, in this phase the update cost ae neglected.. Additional copies ae added to the initial placement. As long as thee exists a node v whose neaest copy has a distance to v lage than 5 s(v), a new copy is stoed on v. 3. Copies that violate the second popety of a pope placement ae deleted in the following way. All nodes holding a copy ae scanned in ascending ode accoding to thei wite adii w(v). Fo a cuent node v holding a copy, a copy on node u is deleted if c t(u, v) 4 w(u). Theoem 7. The placement calculated by the above algoithm achieves a constant appoximation facto fo the static data management poblem. oof. In ode to pove the theoem, we fist show that the algoithm computes a pope placement. Then we show that the stoage cost of this placement ae optimal up to a constant facto. Lemma 8. The above algoithm calculates a placement fulfilling the following popeties. Evey node v has a copy in distance at most 9 max{ w(v), s(v)} fom v. This is the fist popety of a pope placement with k 1 = 9. Two nodes u and v both holding a copy have at least distance 4 max{ w(u), w(v)}. This is the second popety of a pope placement with k =. oof. Fist, we show that the second popety holds. Let u and v denote two nodes both holding a copy. Assume fo contadiction that c t(v, u) 4 w(u). Obviously, the copy on v would have been deleted in the thid phase of the algoithm. In ode to show the fist popety, we make the following obsevation. If a node v holds a copy afte the second phase of the algoithm, thee exists a node holding a copy in the final placement with distance at most 4 w(v) to v. Assume that the copy on node v is deleted in phase 3 duing the scan of node u that holds a copy. Thus c t(v, u) 4 w(v). Assume that the copy on node u is deleted late in phase 3 duing the scan of some node v that holds a copy. Hence, c t(u, v ) 4 w(u) 4 w(v ). The last inequality holds since the nodes ae consideed in ascending ode accoding to thei wite adii. But in this case the copy on node v would have been aleady deleted duing the scan of node u, since c t(u, v ) 4 w(v ). This is a contadiction. Now, we bound the distance fom a node u to its closest copy in the netwok. Let v and v denote the nodes holding the closest copy afte the second and thid phase of the algoithm, espectively. Then c t(u, v ) c t(u, v) + c t(v, v ) 5 s(u) + 4 w(v), because of the above obsevation and the tiangle inequality. To get the desied esult we have to elate w(v) to w(u). Obviously, w(v) c t(v, u) + w(u), since w(v) denotes the aveage distance between v and the set of those W distinct equests that ae closest to v. Thus, c t(u, v ) 5 s(u) + 4 w(v) 5 s(u) + 4 w(u). Thus choosing k 1 = 9 and k = we get a pope placement. It emains to pove that the stoage cost of the placement calculated by the algoithm ae low. Lemma 9. The stoage cost of the placement calculated by the above algoithm ae bounded by f (C OT W s + C OT W ), whee f denotes the appoximation atio of the facility location algoithm used in the fist phase. oof. Let Cs i and C i denote the stoage cost and ead cost of the placement afte the ith phase of the algoithm, espectively. Futhe, let Cs FL and C FL denote the optimum stoage cost and ead cost, espectively, of the elated facility location poblem. Then C 3 s C s + C C 1 s + C 1 f (C FL s f (C OT W s + C FL ) + C OT W ). The fist inequality holds, since duing the thid phase copies ae only deleted and thus the stoage cost deceases. The second inequality will be shown in Claim 10. The last two inequalities ae obvious. Claim 10. The sum of stoage and ead cost does not incease duing the second phase of the algoithm, i.e., C s + C C 1 s + C 1.

oof. In ode to show the claim we need the following obsevation. Obsevation 11. In distance at most s(v) fom a node v, thee ae at least zs(v) equests. oof. We call a equest with c t(h(), v) s(v) close to v. Assume fo contadiction that thee ae less than zs(v) close equests. In this case at most zs(v) 1 equests ae close to v. Theefoe at least (z s(v) 1) zs(v) 1 = zs(v) equests fom the set R zs(v) 1 v = z s(v) 1. Thus that R zs(v) 1 v d(v, z s(v) 1) < This is a contadiction. 1 z s(v) 1 zs(v) d(v, z s(v) 1). ae not close. Recall «s(v) We will show that the cost always deceases wheneve a copy is placed on a node v duing the second phase. Befoe the new copy is added evey copy has distance lage than 5 s(v) fom v. Theefoe the zs(v) equests that ae close to v have distance lage than 3 s(v) to the neaest copy. This causes ead cost of at least ı zs(v) zs(v) 3 s(v) ı s(v) + c s(v). The inequality follows diectly fom the choice of s(v). When a copy has been placed on v the cost is ı ı«ı zs(v) zs(v) zs(v) d v, + c s(v) s(v) + c s(v). Hence, the ead and stoage cost do not incease when a copy is added duing the second phase of the algoithm. This completes the poof of the lemma. Thus, the theoem follows fom Theoem 3 and Lemmata 8 and 9. 3. THE OTIMAL ALGORITHM FOR TREES In this section, we pesent an algoithm that calculates an optimal placement fo the static data management poblem on a ooted tee T = (V, E). Ou algoithm places all objects independently fom each othe. Thus, fix an object x. This section is oganized as follows. Fist, we pesent fo the ead-only case, i.e., f w(v, x) = 0 fo all v V, an algoithm that computes an optimal placement fo binay tees. By simulation, this algoithm can be used to compute an optimal placement fo abitay tees. Finally, we show how to adapt this algoithm fo the geneal case, i.e., fo abitay ead and wite fequencies. 3.1 The ead-only case Let diam(t ) denote the unweighted diamete of T, i.e., the maximum numbe of edges on a path connecting two abitay nodes in T, and let deg(t ) denote its maximum node degee. Fo a node v, let T v denote the subtee ooted at v, i.e., the connected component containing v if the edge incident to v and its fathe is emoved. Then let T v denote the numbe of nodes in T v. A placement on a subtee T v consists of a set C of nodes holding copies, a set R ass of equests assigned to copies in T v and a set R out of outgoing equests, i.e., equests that ae not assigned to any copy in T v. The cost of a placement on a subtee T v ae defined as cost( ) := v C cs(v) + R ass c t(h(), s()) + R out c t(h(), v). The copy distance d of a placement is defined to be the distance fom node v to the closest copy in T v. Futhe, we call a placement of a subtee T v natually assigned if it fulfills the following conditions. If a equest is assigned to a copy in T v then this is the closest copy to h(). All equests that pass a node ae eithe assigned to the same copy in T v o belong all to the set of outgoing equests. Obviously, thee always exists an optimal placement on T v that is natually assigned. Ou tee algoithm is based on the key obsevation that the optimal placement on a subtee T v does not too heavily depend on the placement decisions made on T \T v. In fact it only depends on a few paametes. Thus, only a esticted numbe of placements on T v have to be consideed fo calculating the optimal placement fo T. This obsevation can be fomalized as follows. We call a set S Tv of placements on T v sufficient if in each natually assigned placement on T the placement on T v can be eplaced by a placement fom S Tv without inceasing the total cost. Hence, only the placements in S Tv have to be consideed by an algoithm that seaches fo an optimal placement fo T. Lemma 1. Fo any subtee T v exists a sufficient set S Tv with S Tv T v + 1. oof. Fist, we define the set S Tv as follows. Fo + any D 0, the set STv contains a placement Ev D := ag min placement {cost( ) + R out D} which is denoted the optimal expot placement fo distance D. Futhemoe, fo any R, the set S Tv contains a placement Iv R := ag min placement {cost( ) + d R} which is denoted the optimal impot placement fo equest-quantity R. Now, we will pove that S Tv is sufficient. Finally, we will show that it contains at most T v +1 placements. Suppose that we ae given a natually assigned placement fo T. Let Tv and T \Tv denote the coesponding sub-placements on T v and T \ T v, espectively. We have to eplace the placement Tv by one of the placements fom S Tv without inceasing the cost. We distinguish the following two cases: equests issued in T \T v ae seved in T v and equests issued in T v ae seved in T \T v. Note that no othe case can occu in a natually assigned placement. Suppose that R equests issued in T \ T v ae seved in T v. The total cost of the placement is cost( T \Tv ) + cost( Tv ) + d Tv R. Replacing Tv with Iv R yields total cost cost( T \Tv ) + cost(iv R ) + d I D v R which is not lage by the definition of Iv R. Suppose that equests issued in T v ae seved in T \ T v by a copy that has distance D fom v. The total cost

of this placement is cost( T \Tv ) + cost( Tv ) + R out Tv D. Simila to case 1, we do not incease the cost by eplacing Tv with E D v. Finally, we pove that S Tv T v + 1. Fist of all, T v placements suffice in ode to contain a placement Iv R = ag min placement {cost( ) + d R}, fo any R, since the distance d fom v to its neaest copy in T v can only take T v distinct values, and fo evey value of d thee is one optimal placement. To pove that T v + 1 placements in S Tv suffice in ode to contain a placement Ev D = ag min placement {cost( ) + R out D}, fo any D + 0, we ague that Rout can only take T v + 1 distinct values fo placements that minimize cost( ) + R out D. Fo distances D 1 and D with D 1 < D, define the placements 1 and with i := ag min placement {cost( ) + R D i}, fo each i {1, }. Fo these placements hold that the equests of a node ae eithe all assigned to the same copy o belong all to the set of outgoing equests. This follows fom the fact that 1 and ae natually assigned. R out takes only T v + 1 diffeent values because if the equests of a node u ae assigned to a copy in 1, then these equests ae assigned to a copy in, as well. This will be shown in the following. Assume fo contadiction that the equests of node u ae assigned to a copy in 1 and belong to the set of outgoing equests in. We call a subtee T w T v self-contained if no equest issued in T w is assigned to a copy in T v \ T w o belongs to the set of outgoing equests, and if no equest issued in T v \ T w is assigned to a copy in T w. Obviously thee exists a selfcontained subtee T w that contains u in the placement 1. In placement the sub-placement of T w has changed such that the equests fom u belong to the set of outgoing equests. By exchanging the diffeent sub-placements on T w between 1 and eithe the placement 1 o would impove. This is a contadiction. Now, we give a shot sketch of the algoithm that computes an optimal placement fo T. Let v denote the oot node of T, i.e., T = T v. The algoithm ecusively computes the so called elevant paametes of the placements belonging to the sufficient set S Tv. The elevant paametes of a placement v on T v ae paametes that ae used fo computing the total cost of a placement on T w T v that uses v as placement on the subtee T v. Fo the case that v is an impot placement these paametes ae the cost of v, its copy distance, and the node v i holding the closest copy to v in T v. If v is an expot placement the elevant paametes ae the cost of v, its numbe of outgoing equests, and an inteval I v, indicating the distances D I v fo which v is an optimal expot placement. When the elevant paametes of the placements in S Tv have been computed the cost of Ev is the cost of an optimal placement on T. Theoem 13. The optimal placement on an abitay tee T can be computed in time O( T diam(t ) log(deg(t ))). oof. The following lemma gives an uppe bound on the time needed to compute the elevant paametes of all placements in the sufficient set of a node, if the paametes of the placements, in the sufficient sets of the childen of this node ae given. Lemma 14. Fo a binay subtee T v of T the elevant paametes of all placements in the sufficient set S Tv can be computed in time O( T v ) if the paametes of the placements belonging to the sufficient sets of v s childen ae given. oof. Duing the algoithm the set S Tv is coded by a sequence of at most T v impot tuples and a sequence of at most T v + 1 expot tuples that descibe the coesponding impot and expot placements of S Tv. An impot tuple (C, d, v i) consists of the cost C of the coesponding placement, the node v i holding the closest copy to v in T v and the copy distance d := c t(v, v i) of. An expot tuple (C, R, I ) consists of the cost C of the coesponding placement, the numbe of outgoing equests R of and an optimality inteval I. Fo D I, the placement is the optimal expot placement Ev D. Duing the algoithm the sequences of impot tuples ae soted due to thei copy distances and the sequences of expot tuples ae soted due to thei optimality intevals. Now, we explain how to constuct these sequences fo a subtee T v. If v is a leaf the constuction woks as follows. Fo an impot placement the subtee T v must contain a copy. Thus a copy has to be stoed on v. This yields cost c s(v) and copy distance 0. Fo the constuction of the expot placements we distinguish two cases accoding to the distance D to a copy within T \ T v. If D < cs(v) then the optimal expot placement f ED (v) v has no copy on v. The coesponding expot tuple is (0, f (v), [0,..., cs(v) )). f (v) If D cs(v) then a copy is placed on v in f ED (v) v. The expot tuple is (c s(v), 0, [ cs(v),..., )). f (v) Now, suppose that v is an inne node of T and has two childen v 1 and v, connected via edges e 1 = (v 1, v) and e = (v, v), espectively. Fist we constuct the tuples fo the optimal impot placements of S Tv. Claim 15. The soted sequence of impot tuples of T v can be computed in time O( T v ) if the soted sequences of impot and expot tuples of T v1 and T v ae given. oof. In the poof of Lemma 1 was shown that fo each node v i T v thee exists at most one optimal impot placement in which v i holds the closest copy to v in T v. In the following we will denote this placement with I v i v. This notation will coexist with the notation Iv R fo the optimal impot placement with equest-quantity R in the following. Note that each I v i v = Iv R fo R in a cetain, possibly empty inteval. We will constuct an impot tuple fo evey placement I v i v. The fist tuple that has to be computed coesponds to a placement stoing a copy on node v, i.e., v i = v. This placement is optimal if a lage numbe of equests fom T \T v ae seved within T v, i.e., it equals Iv. The copy distance of this tuple is 0. Futhemoe, no equests ente the subtees T v1 and T v. Thus, the cost of the tuple can be obtained by combining the tuple (C 1, R 1, I 1) of E c t(e 1 ) v 1 and the tuple (C, R, I ) of E c t(e ) v. It is given by c s(v) + C 1 + c t(e 1) R 1 + C + c t(e ) R.

Now assume w.l.o.g. that v i T v1. Obviously, thee exists an optimal placement in which no equests ente T v fom T \ T v, because the copy on node v i T v is at least as close as any copy in T v. Thus, we can constuct the optimal impot placement I v i v by combining the placements I v i v 1 fo T v1 and E c t(v i,v ) v fo T v. The only poblem is that all tuples coesponding to some I v i v, v i T v1, have to be computed in time O( T v ). In ode to do this we exploit that the tuples of I v i v 1 and Ev D ae soted. We tavese the sequence of impot tuples in ode of inceasing copy distance and seach fo the equied expot tuple in the sequence of T v. Since the tuples in this sequence ae soted in ode of thei optimality intevals, we can use linea seach and stat each seach at the position the pevious seach stopped. Thus, we need only time O( T v1 + T v ) = O( T v ) fo computing all I v i v with v i T v1. Afte all tuples have been computed fo v i T v1 and v i T v, the esulting sequences which ae still soted have to be meged to get a soted sequence fo T v. This can be done in time O( T v ). Now, we show how to constuct the expot tuples of T v. Claim 16. The soted sequence of expot tuples of T v can be computed in time O( T v ) if the soted sequences of expot tuples of T v1 and T v ae given. oof. We stat with the expot tuple fo the placement Ev, i.e., the expot placement that is optimal fo D =. Obviously, the numbe of outgoing equests of the coesponding expot tuple is 0, because othewise the tem cost(ev ) + R E v D would not be bounded. Since R E v = 0 this placement can be viewed as an impot placement with equest-quantity 0. The optimal cost, i.e., cost(iv 0 ), fo this placement can be computed due to Claim 15. Thus we choose Cv E := cost(iv 0 ) fo the cost of the tuple. The optimality inteval fo this tuple will be computed late. This was the optimal placement fo vey lage distances D. All othe expot placements have some outgoing equests, because othewise they ae not diffeent fom Ev. Obviously, in such a placement no equests ente the subtees T v1 and T v, because the placements ae natually assigned. Theefoe each outstanding expot placement can be obtained by combining two expot placements of T v1 and T v. Moe fomally the expot tuple fo Ev D can be constucted fom the combination of the tuples fo E D c t(e 1 ) v 1 and E D c t(e ) v. In ode to compute all equied combinations in time O( T v ) we fist shift the optimality intevals of all expot tuples of T v1 and T v by c t(e 1) and c t(e ), espectively. Then the sequences of expot tuples of T v1 and T v ae tavesed in inceasing ode of thei optimality intevals. If the shifted optimality intevals of two expot placements (one of subtee T v1 and the othe of T v ) intesect, the coesponding tuples (C 1, R 1, I 1) and (C, R, I ) ae combined fo a new tuple (C, R, I) of T v as follows. The optimality inteval I is simply the intesection of the shifted intevals I 1 and I. The cost is given by C := C 1 + C + R 1 c t(e 1) + R c t(e ) and the numbe of outgoing equests is R := R 1 + R + f (v). Afte this computation has finished thee ae at most T v tuples with R out > 0 and the tuple coesponding to the placement Ev. It emains to detemine the lowe bound of the optimality inteval fo the last tuple, and to adjust the othe intevals, accodingly. This is done as follows. Fo each tuple E = (C E, R E, I E) with R E > 0, we compute the distance D E fo which C E + D E R E = cost(ev ). If D E is smalle than the lowe bound of I E the tuple E is deleted because the coesponding placement is neve optimal. Thee exists exactly one tuple E = (CE, R E, IE) fo which DE I will hold. Fo this tuple the uppe bound of the optimality inteval will be set to DE. Futhe, the distance DE is the lowe bound of the optimality inteval fo the tuple coesponding to Ev. Altogethe, all these computations can be done in time O( T v ) and give the soted sequence of expot tuples of T v. Claims 15 and 16 yield the lemma. Applying this lemma the elevant paametes of an optimal placement OT on a binay tee T can be computed in time O( v Tv ) = O( T diam( T )). This gives only the cost of OT. To compute the whole placement we use the fact that fo any tee T v thee is exactly one expot tuple indicating that v holds a copy and at most one impot tuple with this popety. Thus, if we know which tuple fom T v is used to compute the cost of OT, we know whethe v holds a copy in OT. This is done as follows. Fo evey tuple T we memoize fom which tuples T 1 and T it has been constucted. This can easily be ealized by assigning two pointes to T pointing to T 1 and T. Finally, evey tuple used to compute the cost of OT can be econstucted by following the pointes stating at the tuple with optimal cost. It is easy to see that an abitay tee T can be simulated on a binay tee with O( T ) nodes and diamete O(diam(T ) log(deg(t ))), which yields the oveall unning time of O( T diam(t ) log(deg(t ))) fo the computation of an optimal placement fo T. 3. The geneal case Now, we extend the esults of the pevious section to the geneal case whee nodes can issue ead and wite equests to object x. A wite equest issued fom node v inceases the total cost by e E ST c t(e) whee E ST denotes the edge set of the minimum Steine-tee connecting v with all nodes holding a copy of x. We define the wite cost cost W ( ) of a placement on a subtee T v as the cost caused by wite messages along edges in T v. Thus, a wite equest issued at node v inceases cost W ( ) by e E ST E Tv c t(e). Unfotunately, this definition of the wite cost of a placement on T v depends on the placement of T \ T v. Moe pecisely, it depends on whethe a copy is placed in T \ T v o not. Let cost 1 W ( ) and cost 0 W ( ) denote the wite cost of unde the condition that at least one o no copy is placed in T \ T v, espectively. These definitions ae independent of the placement in T \ T v and eithe cost W ( ) = cost 0 W ( ) o cost W ( ) = cost 1 W ( ) holds. Now, we will show that thee exists a sufficient set with small cadinality fo the new cost function. Adopting the notations and definitions fom the pevious section we call a set S Tv sufficient, if in each natually assigned placement on T the placement on T v can be eplaced by a placement in S Tv without inceasing the total cost. We define a sufficient

set S Tv as follows. Fistly, S Tv contains a placement E D v := ag min placem. {cost( ) + cost1 W ( ) + R out D}, fo any D + 0. This is the optimal expot placement fo distance D. Note that cost( ), as in the pevious section, only denotes the cost fo seving ead equests and stoing objects. Secondly, S Tv contains the placement E v in which no node of T v holds a copy. Finally, fo any R, the set S Tv contains placements I R v := ag min placem. {cost( ) + cost0 W ( ) + d R} and J R v := ag min placem. {cost( ) + cost1 W ( ) + d R}. These ae the optimal impot placements of equest quantity R. Note that fo each equest quantity R two impot placements ae needed in ode to ensue that S Tv is sufficient. By simila techniques as used in Lemma 1 it can be shown that S Tv has cadinality at most 3 T v +. Now, we pove that the set S Tv as defined above is indeed sufficient. We ae given a placement fo T togethe with the coesponding subplacements Tv and T \Tv fo T v and T \ T v, espectively. We have to eplace the placement Tv by one of the placements in S Tv without inceasing the total cost. The poof is elatively staightfowad and consists of a long enumeation of case distinctions. To shoten the poof we estict ouselves to a single case. Suppose that R equests issued in T \ T v ae seved in T v and that a copy is placed in T \ T v. The total cost of the placement is cost( T \Tv ) + cost 1 W ( T \Tv ) + cost( Tv ) + cost 1 W ( Tv ) + d Tv R. Replacing Tv with Jv R yields total cost cost( T \Tv )+cost 1 W ( T \Tv )+ cost(jv R ) + cost 1 W (Jv R ) + d J R v R, which is not lage by the definition of Jv R. The algoithm fo the geneal case woks simila to the algoithm in the pevious section by simply computing the elevant paametes fo all placements in each set S Tv. Its desciption is omitted since it gives no new algoithmic insights. 4. REFERENCES [1] B. Awebuch, Y. Batal, and A. Fiat. Competitive distibuted file allocation. In oceedings of the 5th ACM Symposium on Theoy of Computing (STOC), pages 164 173, 1993. [] B. Awebuch, Y. Batal, and A. Fiat. Distibuted paging fo geneal netwoks. Jounal of Algoithms, 8:67 104, 1998. [3] I. Baev and R. Rajaaman. Appoximation algoithms fo data placement in abitay netwoks. In oceedings of the 1th ACM-SIAM Symposium on Discete Algoithms (SODA), 001. [4] Y. Batal, A. Fiat, and Y. Rabani. Competitive algoithms fo distibuted data management. In oceedings of the 4th ACM Symposium on Theoy of Computing (STOC), pages 39 50, 199. [5] F. Chudak. Impoved appoximation algoithms fo uncapitated facility location. In oceedings of the 6th Intege ogamming and Combinatoial Optimization Confeence (ICO), pages 180 194, 1998. [6] F. Chudak and D. Shmoys. Impoved appoximation algoithms fo a capacitated facility location poblem. In oceedings of the 10th ACM-SIAM Symposium on Discete Algoithms (SODA), pages 875 876, 1999. [7] D. Dowdy and D. Foste. Compaative models of the file assignment poblem. Computing Suveys, 14():87 313, 198. [8] M. Koupolu, G. laxton, and R. Rajaaman. Analysis of a local seach heuistic fo facilty location poblems. In oceedings of the 9th ACM-SIAM Symposium on Discete Algoithms (SODA), pages 1 10, 1998. [9] C. Lund, N. Reingold, J. Westbook, and D. Yan. On-line distibuted data management. In oceedings of the nd Euopean Symposium on Algoithms (ESA), 1994. [10] B. M. Maggs, F. Meye auf de Heide, B. Vöcking, and M. Westemann. Exploiting locality fo netwoks of limited bandwidth. In oceedings of the 38th IEEE Symposium on Foundations of Compute Science (FOCS), pages 84 93, 1997. [11] F. Meye auf de Heide, B. Vöcking, and M. Westemann. ovably good and pactical stategies fo non-unifom data management in netwoks. In oceedings of the 7th Euopean Symposium on Algoithms (ESA), pages 89 100, 1999. [1] F. Meye auf de Heide, B. Vöcking, and M. Westemann. Caching in netwoks. In oceedings of the 11th ACM-SIAM Symposium on Discete Algoithms (SODA), pages 430 439, 000. [13] D. Shmoys, E. Tados, and K. Aadal. Appoximation algoithms fo facility location poblems. In oceedings of the 9th ACM Symposium on Theoy of Computing (STOC), pages 65 74, 1997. [14] E. Upfal and A. Wigdeson. How to shae memoy in a distibuted system. Jounal of the ACM, 34:116 17, 1987. [15] O. Wolfson and A. Milo. The multicast policy and its elationship to eplicated data placement. ACM Tansactions on Data Base Systems (TODS), 16(1):181 05, 1991.