Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

P57 Novelli

263 views

Published on

Published in: Technology
  • Be the first to comment

P57 Novelli

  1. 1. A Grid-based Infrastructure to Support Multimedia Content Distribution Giovanni Novelli, Giuseppe Pappalardo, Corrado Santoro, Emiliano Tramontana Dipartimento di Matematica e Informatica Universita’ di Catania, Viale A. Doria, 6 - 95125 Catania, Italy pappalardo, santoro, tramontana}@dmi.unict.it {novelli, ABSTRACT the user with high quality-of-service (QoS). This is generally achieved by means of several servers, geographically placed This paper proposes a software architecture able to realise a at far edges of the network, which hold replicas of the data: Content Distribution Network (CDN), for multimedia data, once a client sends a request to obtain e.g. a document, by means of a Grid computing environment. The key as- the request is automatically redirected to the nearest replica pect of the proposed approach is exploiting the computa- server to the client, thus providing a high response time tional power of a Grid not only to store replicas of the same and the best possible quality of service. Supporting such a multimedia content, but also to perform on-the-fly transcod- kind of operations implies a proper software infrastructure ing, when the requesting client is using a player that cannot able to manage replicas and determine client-replica server handle the original file format. distance [9, 8, 5, 11]. The proposed software infrastructure, which exploits the While a high QoS is important for fetching any sort of Globus Grid services, is able on one hand to identify the stor- data, it becomes a mandatory feature when the data being age element, holding the replica, which is the nearest to the transferred is a multimedia content, such as video or audio. client (if such a replica exists); and on the other hand, when In this case, the QoS parameters are not only related to the the requested file is encoded with a scheme that the player ability of the content network to delivery data in order to cannot support, the infrastructure selects the computing ele- ensure a smooth play at client side, but also to the possibil- ment which is “best suited”—i.e. has enough computational ity of providing a content that the client’s player is able to power—to perform on-the-fly transcoding, thus providing decode and reproduce. In fact, a large number of multime- data to the user with the requested format. This selection dia formats and encoding schemes exist, most of them are is based on proper metrics that aim at minimising latencies standardized but some are still proprietary, so that they re- in order to increase the quality-of-service for the user. quire their own ad hoc players or codecs. This means that, it could be the case that a multimedia content cannot be Categories and Subject Descriptors played because the player or the codec does not support its D.1.3 [Programming Techniques]: Concurrent Program- format. ming—Distributed Programming; C.2.4 [Computer-Com- To solve this problem, two main solutions could be en- munication Networks]: Distributed Systems—Distributed visaged: (i) to publish, in the CDN, several files featuring Applications the same content encoded using different schemes; or (ii) to provide the CDN with a mechanism to perform on-the-fly General Terms transcoding from the format of the file stored in the servers to the format that can be understood by the player. Indeed Measurement, Performance, Design, Experimentation. these solutions are tied to each other, because, once a file has been transcoded for a player P , the resulting data can Keywords be also stored onto the CDN, in order to be ready to be delivered when the same player requests the same content. Content Distribution Networks, Grids, Quality-of-Service, This means that, in the long time, solution (ii) incorporates Multimedia Streaming and Transcoding also solution (i). To make this possible, traditional CDN software infras- 1. INTRODUCTION tructures do not suffice: they are, in fact, data-centric and Content Distribution Networks (CDN) [13, 15, 14, 12] are thus focused on data distribution and replication, while, in a kind of distributed systems designed to provide data to our case, a high computation power is also needed for on- the-fly transcoding. Such features are instead provided by Grid computing environments [3]: thanks to the ability of managing and offering a huge amount of storage space and Permission to make digital or hard copies of all or part of this work for CPU power, a Grid can be used not only to store and pro- personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies vide multimedia contents, but also to perform server-side bear this notice and the full citation on the first page. To copy otherwise, to on-line adaptation of streaming, in order to satisfy at best republish, to post on servers or to redistribute to lists, requires prior specific the QoS parameters requested by the user. permission and/or a fee. With this scenario in mind, this paper describes an infras- UPGRADE-CN’07, June 26, 2007, Monterey, California, USA. Copyright 2007 ACM 978-1-59593-718-6/07/0006 ...$5.00. 57
  2. 2. tructure able to realise a multimedia distribution network Our software infrastructure for multimedia provisioning by means of a Grid environment. A software architecture is interacts with these components to reach its objective, as proposed, able to integrate with standard Grid middlewares illustrated in-depth in the following Sections. and services, thus making it possible content replication and on-the-fly transcoding and storing. The key aspect, as in a 3. USING A GRID AS A CDN traditional CDN, is the ability of trying to provide contents Given the reference architecture above, in order to make with the best possible QoS. This is achieved by means of it able to behave like a CDN to perform multimedia provi- some components that are able to determine not only the sioning, we have to map into this new environment the in- Grid host, holding the desired content, which is the near- teraction steps that are traditionally performed in a CDN. est to the client, but also, when transcoding is needed, the So, let us recall the operations made in a CDN when a user Grid node able to provide the necessary power to perform asks for a content: the operation on-the-fly, as required. The paper is structured as follows. Section 2 describes 1. The user sends a request to a “reference server”, called the reference architecture of a Grid environment and high- origin server. lights how the various Grid components can be used for our 2. The origin server determines the replica server which purposes. Section 3 illustrate the basic working schema of holds the requested data and is the nearest to the our solution. Section 4 presents our software infrastructure client. to perform multimedia content providing and transcoding. Section 5 reports some performance evaluations. Finally, 3. Once a replica server is determined, the origin server Section 6 ends up the paper with our conclusions. redirects the client’s request to it. 2. GRID REFERENCE INFRASTRUCTURE 4. The contacted replica server elaborates the request and provides the client with the desired data. Typically, within the Grid environment a large amount of computational and storage resources are available to users. In our environment, content provisioning is performed by As found e.g. in many European projects, as EGEE, Tri- the Grid, so operations 2–4 will be performed by one or GRID or COMETA [2], computing resources have a spe- more SEs, CEs and WNs; the “reference server” is instead cialised role according to their characteristics. As depicted something that should be placed between the user and the in Figure 1, a Grid is basically composed of several nodes, in- Grid, thus holding the credentials to perform access to the terconnected to one another and distributed geographically. Grid itself and use the resources. To this aim, we consider Each node features a host providing a large amount of stor- the presence of a new host, that we call Grid Interface (GI), age space, which is called Storage Element (SE); many hosts acting as a gateway between the user and the Grid world; that have the task of executing applications, called Worker it is interfaced to the user by means of e.g. web technology, Nodes (WN); and another host which performs as applica- CORBA, Web Services, etc., depending on the type of the tion scheduling coordinator, which is called Computing El- provisioning system that we intend to use. This host is ement (CE). People that want to use the Grid, can log into therefore seen by the user as e.g. a web server, while, from it, send their commands and receive results, by means of the Grid point of view, it behaves like a UI. another host called User Interface (UI) [4, 6]. In such an environment, the sequence of operations for Finally, a system called Resource Broker (RB) is able to multimedia provisioning can be summarised as follows. deal with user requests, by finding the storage element host- 1. The user sends a request for a multimedia content to ing the required resources (e.g. one or more data files) or the GI; such a request does not hold only the name the computing element with sufficient resources to execute a of the content but also a specification of the capabil- submitted application. In general, this relies on distributed ities of the player, e.g. supported encoding formats, repositories that store, in suitable indexes, the information resolution, etc. on the files of the various SEs, the resources available in the CEs, etc. 2. The GI, by means of suitable Grid services illustrated To enable the above functionalities, a software infrastruc- in the following Section, searches for the SE, holding ture — i.e. a middleware — is obviously needed. The Globus the desired content, which is the nearest to the client— Toolkit (GT) [10] is one of the most widespread set of li- if such a content exists. braries used to build middlewares for Grid environments; it is strongly based on the Web Service paradigm and pro- 3. If the content exists but it is not in the format required vides support to access and monitor computing and data by the client, it needs to be transcoded; to this aim, the resources, enforce security, etc. The main components of GI prepares a “transcoding job” to be sent to the Grid GT are: for execution. We suppose that the code of such a job is extracted from a local library, holding the program • Globus Security Infrastructure (GSI), which controls codes for performing transcoding from/to many well- and enforce user access and resource usage; known encoding formats.1 • Monitoring and Discovery Systems (MDS), which pro- 4. A CE is selected to run the job, by using a criteria vides the repositories holding information on data and that ensures the CE has sufficient resources to permit resource availability on the various nodes; on-the-fly transcoding. • Globus Resource Allocation Manager (GRAM), which 1 Sometimes the “transcoding job” is already available on a takes care of allocating resources, on a node, for a job host and needs just to start processing a content (see next to be executed. Section for details). 58
  3. 3. Worker Nodes Worker Nodes Storage Element Storage Element VA LINUX VA LINUX Computing Element Computing Element Grid Node Grid Node VA LINUX User Interface Resource Broker Worker Nodes Worker Nodes Storage Element Storage Element VA LINUX VA LINUX Computing Element Computing Element Grid Node Grid Node Figure 1: A typical Grid environment 5. The transcoding job is started: the transcoded content chosen CE (this choice can be performed on the basis of is sent to both the client and a SE, in order to be stored some settings, automatically by the GRAM). Once the ap- for a future request of the same type. plication is within the CE, this chooses an idle host that finally executes the application. Note that hosts, providing 6. The code of the transcoding program is “cached” into services, passing the applications along and communicating the CE, so that it is ready to be executed if another replies, as well as executing applications are often geograph- multimedia content has to be transformed in the same ically distributed on a wide area, therefore the propagation way. delay can be long. Due to the passages involved for allocating an application, As the reader can notice, all of these operations need to the corresponding necessary processing, the network delays, be “highly responsive”, otherwise the presence of latencies and the ratio between the number of applications and the can provoke undesired delays that the user can experience, available resources, allocation time can be long (typically, a so that an acceptable QoS cannot be provided. To this aim, few seconds). Moreover, there is no guarantee for an upper the software infrastructure proposed in this paper, which is bound of allocation delay. detailed in the following Section, has to take into account For employing a Globus infrastructure to run responsive not only the proper management of distribution of content applications, e.g. those accepting user inputs for showing a but also the prompt execution of the transcoding code. transcoded multimedia content on the UI, we need to prop- erly use resources. I.e. the resource has to be “immediately” 4. AN INFRASTRUCTURE ENABLING available to the user that asks for a given content. For this purpose an estimated amount of resources should be re- CONTENT DISTRIBUTION IN A GRID served and allocated before user requests. Estimation can be achieved by considering the statistic on provided throughput 4.1 Responsive Applications on Globus and amount of requests per minute. As a result, the delays Generally, the time necessary for an application to start due to reservation and allocation can be absorbed before the running on Globus and then accepting inputs from users can application is actually needed in running. Of course, the be longer than the time needed for the same application to amount of resources allocated beforehand should be low, to start and accept inputs when running on the user’s personal avoid wasting them, and run-time adaptation of estimation host. In the following, we analyse what are the main issues and then reservation and allocation is employed to match that have to be tackled to make this time shorter, so as to the actual amount of requests. provide Globus users with means to effectively run interact- In order to make it available to clients, a multimedia ing and responsive applications. content is initially spread, in several formats, on different Typically, an application needing to run on a host, within sites (SEs). I.e. in a preliminary phase multimedia con- Globus, has to be sent to a resource allocation manager tents are transferred into available Grid hosts. Moreover, a (GRAM) of a certain site (i.e. a group of CEs and SEs). given number of CEs are asked to reserve and allocate sev- Then the allocation manager sends the application to the 59
  4. 4. user interface supporting services computing and storage elements CoT 4.5: update 3.1: find content TraM 4.4: send content SE1 4.2, 4.6: state update 2: ask content 3.2: ask available Transcoders 4.1: send initiate command CE1 TraS GI 4.3: ask content 5: find free CEs 5.2: allocate CE 1: play request SE2 5.3: send Transcoder CET CE2 3.3, 5.1: look up distances 5.4: delay update THub Figure 2: Interactions between services supporting transcoding eral instances of some Transcoder applications, each able to the initiation command to it, and transfer the necessary in- perform a certain type of multimedia conversion. When a put data. Transcoder begin executing, it contacts a repository, named To minimise latencies for sending commands and data, it THub (for Transcoder Hub), to communicate its location is worth considering the location of both Transcoder s and and to measure the communication delay between its loca- stored contents (in several compatible formats). For this, tion and THub in the current scenario. This value is then several Grid services are set up to: find the location of idle stored by THub. Transcoder s, find the location of compatible multimedia for- The communication delay, called “distance”, is measured mats, select the pair that minimise latencies, and send the as the number of seconds necessary to deliver 100Mb across initiation command to the Transcoder. two end points, thus it takes into account both the available 4.2 A Content Distribution Architecture bandwidth and the latency, i.e. the physical space that has to be crossed. Measures between each two pairs of known The main components of the distributed architecture we sites are performed as the first operation when a Transcoder employ for the purpose of efficiently distributing multime- starts running and stored into THub. dia content are depicted in Figure 2, where their mutual Of course, a caching policy is used for THub data so as to interactions are also sketched. They are: avoid having to perform measures too frequently. • CoT, the Content T racer Moreover, each Transcoder query THub for the position of other Transcoder s, so as to measure the communication • TraM, the Transcoder M onitor delay between each other. The latter measure is useful when having to transfer a multimedia content previously produced • CET, the C omputing E lement T racer by a Transcoder or stored on a SE local to the same Grid node as the CE. Once this phase is over, i.e. THub has been • TraS, the Transcoder S elector. informed about all the communication delays between all the The task entrusted to CoT is to find a SE holding the ap- running Transcoder s, then each Transcoder waits for one of propriate format of the content requested by a user, and two types of “commands”. provide its location (cf. Figure 2, interactions 1, 2 and 3.1). The first type of command is initiation. This provides, For this purpose, CoT implements a repository exploiting along with itself, the location of the original content to be GRIS, the Grid Resource Information Service made avail- transcoded and the parameters for the processing, thus mak- able by Globus within the Monitoring and Discovery Service ing the processing begin. Once the original content data (MDS) [1]. Thanks to GRIS, the information managed by have been transferred to the CE, Transcoder sends the trans- CoT gets refreshed whenever new contents, and the associ- formed content to the user, in the output format required, ated formats, are added, removed, relocated, etc. (cf. Fig- while processing chunk of original data, until reaching the ure 2, (4.5)). In the current implementation, for the sake of end of these data. Then Transcoder goes back to the wait- simplicity, CoT runs on the same nodes hosting MDS. ing state. The second type of command is termination. This The TraM, or Transcoder M onitor, component traces the allows Transcoder s to properly end execution and so free available Transcoder instances and their types. Initially, their hosts. Whether to terminate a Transcoder depends on several Transcoder instances are started on all the available the rate of requests that are currently arriving and on the CEs, but, as transcoding requests are issued and served, number of idle Transcoder s. some of these may get overloaded to the point that further As a result of the described resource provisioning, when a requests would better be refused. A list of the CEs actually user asks for content transcoding, the time needed to start available for transcoding is maintained by TraM, on the ba- working for the request, so as to provide the initial results, sis of notifications from the CEs (cf. Figure 2, (4.2, 4.6)), consists just of the time taken to select a Transcoder, send and is returned on request (cf. Figure 2, (3.2)). 60
  5. 5. CE GI TraS CoT TraM THub CET SE ask content find content ask available Transcoders look up distances find free CEs look up distances send Transcoder allocate CE delay update send initiate command state update ask content send chunk send content update state update Figure 3: Sequence diagram for activating services supporting transcoding The CET, or CE Tracer, component is intended to mon- up the “distance” between any applicable pair of hosts (3.3), itor CEs from the point of view of availability and CPU by querying THub. load/remaining capacity. Like CoT, also CET relies on the Note that not all CEs are appropriate for running the GRIS information services, initially, to obtain information Transcoder for a given user request. For, the associated concerning the worker nodes within each CE, in terms of transcoding computation might be excessive for the combi- number and hardware profile (CPU and available RAM). nation of a given CE’s hardware profile and workload. To Moreover, CET polls GRIS in order to know the job queue decide whether the CE is appropriate, we need to assess the length on each CE; this activity is carried out periodically computational cost of a request. For this purpose, we de- in the background, with respect to user queries, and the re- termine, as explained in Section 5, a function returning an sulting information cached locally; thus most queries do not estimate of the time necessary to transcode video content in incur in the penalty of being passed along to GRIS. a standard setting, in terms of the video’s parameters. When it is determined (by querying TraM, interaction Thus, TraS will minimise, for i, j ranging over the appli- (3.2)) that known CEs are overloaded, so that no more re- cable sets of SEi , CEj , the sum quests should be directed to already running Transcoder s, d(SEi , CEj ) + d(CEj , U I) CET will be requested (interaction (5)) to provide the ad- dresses of CEs whose hosts are idle or lightly loaded. Fur- and the selected SEi , CEj will be taken, respectively, as ther on, CET will be told which of these CEs has been se- the storage host whence multimedia content will be loaded lected for transcoding (5.2) and requested to allocate on it from and the CE where the transcoding application to be a Transcoder application, for later use (5.3). employed will run. Figure 2, shows a situation where these The critical task of choosing the most appropriate CE, and SE2 and CE1 have been selected. among those known to CET, is entrusted to TraS, the Trans- Multimedia content transformation and delivery is initi- coder S elector. It will do so by striving to keep network ated by TraS by dispatching a command to the selected CE latencies to a minimum, so as to optimise the overall time (e.g. CE1 , cf. (4.1) in Figure 2). elapsing between the request of multimedia content and its Transcoder will react by performing the following sequence provision in adapted form. Latencies are assumed to be of actions: proportional to the sum of the following “distances”: 1. it informs TraM that its state has changed (4.2), from available to busy; 1. the “distance” d(SE, CE) between the SE where the needed content is stored and the CE where the em- 2. it retrieves the requested multimedia content from SE2 ployed Transcoder runs; (4.3); 2. the “distance” d(CE, U I) between the noted CE and 3. it processes the content and passes the result directly the involved user interface. to the requesting user’s terminal; In order to estimate how these distances range over available 4. as an optimisation, in view of further requests, the SEs and CEs, TraS queries CoT for SEs holding the desired transformed content can be cached to an available SE content (3.1) and CeT for the CEs (5). Moreover, it looks (4.4) 61
  6. 6. 5. the availability of this new content is published by in- Table 2: Transcoding time. forming CoT (4.5); content frames size MPEG4 MJPEG h263p rv10 chinese 1– 50 0.27 87 79 107 110 6. once it is done, Transcoder notifies TraM that its state 51–100 1.51 181 156 179 181 is now idle (4.6). 101–150 1.25 182 139 180 183 151–200 1.35 191 148 189 188 5. RESOURCE REQUIREMENT wr 1– 50 2.28 247 212 244 238 51–100 1.69 204 180 200 206 ESTIMATION 101–150 1.76 204 186 205 202 The user player’s capabilities affect the activities that are 151–200 1.55 193 170 193 194 cartoon 1– 60 1.76 240 240 230 250 performed by the infrastructure to serve the user request. 61–120 1.64 280 260 300 290 When multimedia transcoding is needed, an a priori reser- 121–180 3.32 380 340 370 380 vation of bandwidth and computational power in Grid hosts 181–240 4.10 470 400 450 450 is required. The number of hosts that will be reserved to dhl 1– 60 8.00 935 894 901 891 run the Transcoder application depends on the necessary 61– 120 6.77 853 738 835 842 processing. A single host suffices when the estimated time 121– 180 6.64 808 733 815 806 181– 240 8.95 956 905 953 923 needed to sequentially transcode the content results in an output rate that is more than the rate ensuring that the content can be played smoothly. If the output rate is lower, then a parallel transcoding activity is organised. In this hosts is the minimum natural number greater than the ratio case, the initial multimedia content is fragmented and each between transformation and processing time. chunk is processed by a task on a dedicated host. As for the bandwidth, the amount needed is computed To perform such an estimation of the transcoding work- in a similar way. Indeed, the requirement here is to ensure load, we have processed several videos having different res- a readily data transfer from a disk to the selected CE that olutions, and reported the results in Tables 1 and 2. We will perform transcoding, and from the CE to the user. This observed that processing time is mainly related with the bandwidth is determined by using the ratio between size (in frame resolution and the size in bytes of the frames to be bytes) of the content and its length (in seconds). However, processed. I.e. for the same video, having e.g. a resolution of this is an approximation (that will be improved in our future 320x240 pixels, the processing time is almost proportional work) since the amount of bytes per frame are not constant to the size (in bytes) of the JPEG frame that has to be for the whole video. transcoded. 6. CONCLUSIONS Table 1: Sample videos. This paper has described a software infrastructure to use a content source resolution length (s) size (MB) Grid as a content distribution network for multimedia data. chinese AVI 320x191 152 20.3 The aim is to exploit the computational and storage power wr AVI 320x240 14 1.0 of a Grid to provide the user with a content with the best cartoon AVI 480x272 115 7.6 dhl AVI 640x480 43 17.7 quality-of-service parameters. Such parameters are related not only to the prompt streaming of the multimedia content, that ensures a smooth play at client side, but also to the Table 2 reports, for several videos (whose characteristics ability of providing the data with the format that can be are found in Table 1), the time in milliseconds needed to understood by the player. In fact, an on-the-fly transcoding convert from AVI to MPEG, MJPEG, h263p and rv10 (see activity is organized when the infrastructure detects that the 4 right-most columns, respectively) several chunks of the a content could not be properly decoded by the requesting content, lasting 2 seconds each and having 50 or 60 frames, player. as indicated in the column frames. Transcoding is performed An accurate analysis and evaluation of the proposed in- from the set of frames (each stored as a JPEG file), whose frastructure is under way by means of a simulation environ- overall size in megabytes is indicated in the size column. ment. We are using GridSim [7], a Java toolkit simulating As explained in Section 4.2, selecting an adequate CE for a Grid system and offering support, in terms of classes, for a given transcoding task presupposes the ability to estimate emulating CEs, SEs, Virtual Organisations, etc. The aim the time it will take in the setting of interest. This estimate is to use the techniques presented in Section 5 to assess the can be derived from experimental data sets like those shown response time of a Grid environment when the proposed soft- in Tables 1 and 2. What we need is a function to estimate ware infrastructure is deployed and a large number of users the time needed to transcode a multimedia content into a send requests to access multimedia contents. specific format; it is the trend function calculated according Initial experiments have been performed for a Grid envi- to the values stored in a database of observed times. The ronment having 64 CEs and a maximum latency value equal resulting trend function takes as input the resolution and to 8 milliseconds between any two hosts, when 100 requests frame size as parameters and returns the estimated time. are sent simultaneously for the same content that is initially The estimation function is then used to calculate the num- stored on only one SE. The results have shown that in the ber of hosts needed for a transcoding task; to this aim, we average the time necessary to allocate a Transcoder, using compare the estimated transformation time and the length the strategy implemented by TraS, is about one third that in seconds of the processed video. When transformation required with a naive strategy, while the average stream- time is greater than processing time, we must use more than ing time is about one fifth. More extensive experiments are one host for the transformation and the number of needed under way. 62
  7. 7. 7. ACKNOWLEDGMENTS [5] M. J. Freedman, E. Freudenthal, and D. Mazi`res. e Democratizing Content Publication with Coral. In This work has been supported by the QUASAR PRIN Proc. of 1st USENIX/ACM Symposium on Networked project funded by MIUR, the Italian Ministry of University Systems Design and Implementation (NSDI’04), San and Research. Francisco, California, March 2004. It has also been supported by the TriGrid VL project, on [6] F. Gagliardi, B. Jones, M. Reale, and S. Burke. which more information is available at http://www.trigrid.it, European DataGrid Project: Experiences of Deploying funded by Regione Sicilia. a Large Scale Testbed for E-science Applications. It makes use of results produced by the PI2S2 Project Lecture Notes in Computer Science, 2459, 2002. managed by the Consorzio COMETA, a project co-funded [7] Grid Computing and Distributed Systems (GRIDS) by MIUR within the Piano Operativo Nazionale “Ricerca Laboratory. GridSim: A Grid Simulation Toolkit for Scientifica, Sviluppo Tecnologico, Alta Formazione” (PON Resource Modelling and Application Scheduling for 2000-2006). More information is available at the web sites Parallel and Distributed Computing, 2005. http://www.pi2s2.it and http://www.consorzio-cometa.it. http://www.gridbus.org/gridsim/. [8] M. Hofmann and L. R. Beaumont. Content 8. REFERENCES Networking. Morgan Kaufmann, 2005. [1] K. Czajkowski, S. Fitzgerald, I. Foster, and [9] G. Pierre and M. van Steen. Globule: a Collaborative C. Kesselman. Grid information services for Content Delivery Network. IEEE Communications distributed resource sharing. In Proceedings of the Magazine, 44(8):127–133, August 2006. 10th IEEE Symposium On High Performance [10] The Globus Alliance. Home page and publications, Distributed Computing, 2001. 2007. http://www.globus.org. [2] EGEE Project. Enabling Grids for E-sciencE, 2007. [11] L. Wang, K. Park, R. Pang, V. Pai, and L. Peterson. http://public.eu-egee.org. Reliability and Security in the CoDeeN Content [3] I. Foster and C. Kesselman, editors. The Grid (2nd Distribution Network. In Proc. of USENIX 1994 Edition): Blueprint for a New Computing Annual Technical Conference, Boston, MA, June 2004. Infrastructure. Morgan Kaufmann, 2004. [12] WWW. http://www.akamai.com, 2007. [4] I. Foster, C. Kesselman, J. Nick, and S. Tuecke. The [13] WWW. http://www.coralcdn.org/, 2007. Physiology of the Grid: An Open Grid Services [14] WWW. http://www.mirror-image.com, 2007. Architecture for Distributed Systems Integration. In [15] WWW. http://www.web-caching.com/cdns.html, Open Grid Service Infrastructure WG, Global Grid 2007. Forum, June 22 2002. 63

×