SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
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
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
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
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
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
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.   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

Más contenido relacionado

La actualidad más candente

Defining Characteristics of QFabric
Defining Characteristics of QFabricDefining Characteristics of QFabric
Defining Characteristics of QFabricJuniper Networks
 
Software Developer Conference 2012 - Paper Presentation - Cloud File Systems
Software Developer Conference 2012 - Paper Presentation - Cloud File SystemsSoftware Developer Conference 2012 - Paper Presentation - Cloud File Systems
Software Developer Conference 2012 - Paper Presentation - Cloud File SystemsAbhijeet Kulkarni
 
Patterns of Data Distribution
Patterns of Data DistributionPatterns of Data Distribution
Patterns of Data DistributionRick Warren
 
Value Networks and Business Models of Information-centric Networking
Value Networks and Business Models of Information-centric NetworkingValue Networks and Business Models of Information-centric Networking
Value Networks and Business Models of Information-centric NetworkingTapio Levä
 
Virtualizing Telco Networks
Virtualizing Telco NetworksVirtualizing Telco Networks
Virtualizing Telco NetworksNetAppUK
 
RACKSPACE MANAGED HOSTING
RACKSPACE MANAGED HOSTINGRACKSPACE MANAGED HOSTING
RACKSPACE MANAGED HOSTINGwebhostingguy
 
Fast Distribution of Replicated Content to Multi- Homed Clients
Fast Distribution of Replicated Content to Multi- Homed ClientsFast Distribution of Replicated Content to Multi- Homed Clients
Fast Distribution of Replicated Content to Multi- Homed ClientsIDES Editor
 
Slash n: Technical Session 3 - Storage @ Scale: Quest for the mythical silver...
Slash n: Technical Session 3 - Storage @ Scale: Quest for the mythical silver...Slash n: Technical Session 3 - Storage @ Scale: Quest for the mythical silver...
Slash n: Technical Session 3 - Storage @ Scale: Quest for the mythical silver...slashn
 
Seneca, Pittsburgh Supercomputer, and LSI
Seneca, Pittsburgh Supercomputer, and LSI Seneca, Pittsburgh Supercomputer, and LSI
Seneca, Pittsburgh Supercomputer, and LSI Jan Robin
 
CACMAN COMPARISION WITH MOCA USING PKI ON MANET.
CACMAN COMPARISION WITH MOCA USING PKI  ON MANET.CACMAN COMPARISION WITH MOCA USING PKI  ON MANET.
CACMAN COMPARISION WITH MOCA USING PKI ON MANET.neeravkubavat
 
Cag Corporate Dossier May 2012
Cag Corporate Dossier May 2012Cag Corporate Dossier May 2012
Cag Corporate Dossier May 2012fastmpj
 
An Introduction to the Message Queuning Technology
An Introduction to the Message Queuning TechnologyAn Introduction to the Message Queuning Technology
An Introduction to the Message Queuning TechnologyHarinath Krishnamoorthy
 
Virtual Server Web Hosting Supplementary Terms
Virtual Server Web Hosting Supplementary Terms Virtual Server Web Hosting Supplementary Terms
Virtual Server Web Hosting Supplementary Terms webhostingguy
 
Cgmm presentation on distributed multimedia systems
Cgmm presentation on distributed multimedia systemsCgmm presentation on distributed multimedia systems
Cgmm presentation on distributed multimedia systemsMansi Verma
 
VNSISPL_DBMS_Concepts_ch25
VNSISPL_DBMS_Concepts_ch25VNSISPL_DBMS_Concepts_ch25
VNSISPL_DBMS_Concepts_ch25sriprasoon
 

La actualidad más candente (18)

Defining Characteristics of QFabric
Defining Characteristics of QFabricDefining Characteristics of QFabric
Defining Characteristics of QFabric
 
Software Developer Conference 2012 - Paper Presentation - Cloud File Systems
Software Developer Conference 2012 - Paper Presentation - Cloud File SystemsSoftware Developer Conference 2012 - Paper Presentation - Cloud File Systems
Software Developer Conference 2012 - Paper Presentation - Cloud File Systems
 
Patterns of Data Distribution
Patterns of Data DistributionPatterns of Data Distribution
Patterns of Data Distribution
 
Value Networks and Business Models of Information-centric Networking
Value Networks and Business Models of Information-centric NetworkingValue Networks and Business Models of Information-centric Networking
Value Networks and Business Models of Information-centric Networking
 
Virtualizing Telco Networks
Virtualizing Telco NetworksVirtualizing Telco Networks
Virtualizing Telco Networks
 
Open Access Repository Junction (poster)
Open Access Repository Junction (poster)Open Access Repository Junction (poster)
Open Access Repository Junction (poster)
 
RACKSPACE MANAGED HOSTING
RACKSPACE MANAGED HOSTINGRACKSPACE MANAGED HOSTING
RACKSPACE MANAGED HOSTING
 
Swiss National Supercomputing Center
Swiss National Supercomputing CenterSwiss National Supercomputing Center
Swiss National Supercomputing Center
 
Fast Distribution of Replicated Content to Multi- Homed Clients
Fast Distribution of Replicated Content to Multi- Homed ClientsFast Distribution of Replicated Content to Multi- Homed Clients
Fast Distribution of Replicated Content to Multi- Homed Clients
 
Slash n: Technical Session 3 - Storage @ Scale: Quest for the mythical silver...
Slash n: Technical Session 3 - Storage @ Scale: Quest for the mythical silver...Slash n: Technical Session 3 - Storage @ Scale: Quest for the mythical silver...
Slash n: Technical Session 3 - Storage @ Scale: Quest for the mythical silver...
 
Seneca, Pittsburgh Supercomputer, and LSI
Seneca, Pittsburgh Supercomputer, and LSI Seneca, Pittsburgh Supercomputer, and LSI
Seneca, Pittsburgh Supercomputer, and LSI
 
CACMAN COMPARISION WITH MOCA USING PKI ON MANET.
CACMAN COMPARISION WITH MOCA USING PKI  ON MANET.CACMAN COMPARISION WITH MOCA USING PKI  ON MANET.
CACMAN COMPARISION WITH MOCA USING PKI ON MANET.
 
Cag Corporate Dossier May 2012
Cag Corporate Dossier May 2012Cag Corporate Dossier May 2012
Cag Corporate Dossier May 2012
 
An Introduction to the Message Queuning Technology
An Introduction to the Message Queuning TechnologyAn Introduction to the Message Queuning Technology
An Introduction to the Message Queuning Technology
 
Virtual Server Web Hosting Supplementary Terms
Virtual Server Web Hosting Supplementary Terms Virtual Server Web Hosting Supplementary Terms
Virtual Server Web Hosting Supplementary Terms
 
Cgmm presentation on distributed multimedia systems
Cgmm presentation on distributed multimedia systemsCgmm presentation on distributed multimedia systems
Cgmm presentation on distributed multimedia systems
 
Eska bridge
Eska bridgeEska bridge
Eska bridge
 
VNSISPL_DBMS_Concepts_ch25
VNSISPL_DBMS_Concepts_ch25VNSISPL_DBMS_Concepts_ch25
VNSISPL_DBMS_Concepts_ch25
 

Destacado

Nsbsd Strategicplan R6
Nsbsd Strategicplan R6Nsbsd Strategicplan R6
Nsbsd Strategicplan R6nsbsd
 
Asstra Liquid&Bulked Ru
Asstra Liquid&Bulked RuAsstra Liquid&Bulked Ru
Asstra Liquid&Bulked RuPavel Red'ko
 
Benefits of Certifications by Corporations
Benefits of Certifications by CorporationsBenefits of Certifications by Corporations
Benefits of Certifications by CorporationsNational University
 
Basics of new twitter
Basics of new twitterBasics of new twitter
Basics of new twitterHeidi Allen
 
Gamification at large and in learning
Gamification at large and in learningGamification at large and in learning
Gamification at large and in learningPete Baikins
 
Bldrux11 final
Bldrux11 finalBldrux11 final
Bldrux11 finalweitzelm
 
Donatas Bedulskis: „PR 2.0 spindesys ir skurdas“
Donatas Bedulskis: „PR 2.0 spindesys ir skurdas“Donatas Bedulskis: „PR 2.0 spindesys ir skurdas“
Donatas Bedulskis: „PR 2.0 spindesys ir skurdas“bestmarketing
 
Health - Diagnostic and therapeutic tools
Health - Diagnostic and therapeutic toolsHealth - Diagnostic and therapeutic tools
Health - Diagnostic and therapeutic toolsstjulians school
 
Blogging
BloggingBlogging
Blogginggarylee
 
Horizon Report Presentation Innovation Day 2014
Horizon Report Presentation Innovation Day 2014Horizon Report Presentation Innovation Day 2014
Horizon Report Presentation Innovation Day 2014National University
 
Jongerenjaarverslag
JongerenjaarverslagJongerenjaarverslag
JongerenjaarverslagSonny1967
 
Let´s meet Yolanda
Let´s meet Yolanda Let´s meet Yolanda
Let´s meet Yolanda cpremolino
 
Steve connolly pilot presentation for madrid
Steve connolly pilot presentation for madridSteve connolly pilot presentation for madrid
Steve connolly pilot presentation for madridcpremolino
 
Growing Revenues with Partners
Growing Revenues with PartnersGrowing Revenues with Partners
Growing Revenues with Partnerscapevector
 
Change Management (In Malay Language)
Change Management (In Malay Language)Change Management (In Malay Language)
Change Management (In Malay Language)ewan shah
 
Jive World 12 - Apps 202
Jive World 12 - Apps 202Jive World 12 - Apps 202
Jive World 12 - Apps 202weitzelm
 

Destacado (20)

Nsbsd Strategicplan R6
Nsbsd Strategicplan R6Nsbsd Strategicplan R6
Nsbsd Strategicplan R6
 
Asstra Liquid&Bulked Ru
Asstra Liquid&Bulked RuAsstra Liquid&Bulked Ru
Asstra Liquid&Bulked Ru
 
Benefits of Certifications by Corporations
Benefits of Certifications by CorporationsBenefits of Certifications by Corporations
Benefits of Certifications by Corporations
 
Basics of new twitter
Basics of new twitterBasics of new twitter
Basics of new twitter
 
Gamification at large and in learning
Gamification at large and in learningGamification at large and in learning
Gamification at large and in learning
 
Bldrux11 final
Bldrux11 finalBldrux11 final
Bldrux11 final
 
Donatas Bedulskis: „PR 2.0 spindesys ir skurdas“
Donatas Bedulskis: „PR 2.0 spindesys ir skurdas“Donatas Bedulskis: „PR 2.0 spindesys ir skurdas“
Donatas Bedulskis: „PR 2.0 spindesys ir skurdas“
 
Health - Diagnostic and therapeutic tools
Health - Diagnostic and therapeutic toolsHealth - Diagnostic and therapeutic tools
Health - Diagnostic and therapeutic tools
 
Blogging
BloggingBlogging
Blogging
 
Dibujos
DibujosDibujos
Dibujos
 
Horizon Report Presentation Innovation Day 2014
Horizon Report Presentation Innovation Day 2014Horizon Report Presentation Innovation Day 2014
Horizon Report Presentation Innovation Day 2014
 
U R A Brand Elite Opening Slide 20080301 Jason Laipmp
U R A Brand Elite Opening Slide 20080301 Jason LaipmpU R A Brand Elite Opening Slide 20080301 Jason Laipmp
U R A Brand Elite Opening Slide 20080301 Jason Laipmp
 
Jongerenjaarverslag
JongerenjaarverslagJongerenjaarverslag
Jongerenjaarverslag
 
Let´s meet Yolanda
Let´s meet Yolanda Let´s meet Yolanda
Let´s meet Yolanda
 
Steve connolly pilot presentation for madrid
Steve connolly pilot presentation for madridSteve connolly pilot presentation for madrid
Steve connolly pilot presentation for madrid
 
CHAMPS LEYSIN 2014
CHAMPS LEYSIN 2014CHAMPS LEYSIN 2014
CHAMPS LEYSIN 2014
 
Growing Revenues with Partners
Growing Revenues with PartnersGrowing Revenues with Partners
Growing Revenues with Partners
 
Change Management (In Malay Language)
Change Management (In Malay Language)Change Management (In Malay Language)
Change Management (In Malay Language)
 
Buying A Vehicle
Buying A VehicleBuying A Vehicle
Buying A Vehicle
 
Jive World 12 - Apps 202
Jive World 12 - Apps 202Jive World 12 - Apps 202
Jive World 12 - Apps 202
 

Similar a P57 Novelli

Cloud: CDN Killer?
Cloud: CDN Killer? Cloud: CDN Killer?
Cloud: CDN Killer? Internap
 
M.E Computer Science Parallel and Distributed System Projects
M.E Computer Science Parallel and Distributed System ProjectsM.E Computer Science Parallel and Distributed System Projects
M.E Computer Science Parallel and Distributed System ProjectsVijay Karan
 
M.Phil Computer Science Parallel and Distributed System Projects
M.Phil Computer Science Parallel and Distributed System ProjectsM.Phil Computer Science Parallel and Distributed System Projects
M.Phil Computer Science Parallel and Distributed System ProjectsVijay Karan
 
M phil-computer-science-parallel-and-distributed-system-projects
M phil-computer-science-parallel-and-distributed-system-projectsM phil-computer-science-parallel-and-distributed-system-projects
M phil-computer-science-parallel-and-distributed-system-projectsVijay Karan
 
Provable multicopy dynamic data possession
Provable multicopy dynamic data possessionProvable multicopy dynamic data possession
Provable multicopy dynamic data possessionnexgentech15
 
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMSPROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMSNexgen Technology
 
Provable multicopy dynamic data possession
Provable multicopy dynamic data possessionProvable multicopy dynamic data possession
Provable multicopy dynamic data possessionnexgentechnology
 
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMSPROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMSNexgen Technology
 
A Survey of Performance Comparison between Virtual Machines and Containers
A Survey of Performance Comparison between Virtual Machines and ContainersA Survey of Performance Comparison between Virtual Machines and Containers
A Survey of Performance Comparison between Virtual Machines and Containersprashant desai
 
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...IOSR Journals
 
Impact of Video Encoding Parameters on Dynamic Video Transcoding
Impact of Video Encoding Parameters on Dynamic Video TranscodingImpact of Video Encoding Parameters on Dynamic Video Transcoding
Impact of Video Encoding Parameters on Dynamic Video TranscodingVideoguy
 
Integrity for join queries in the cloud
Integrity for join queries in the cloudIntegrity for join queries in the cloud
Integrity for join queries in the cloudPapitha Velumani
 
SURVEY ON KEY AGGREGATE CRYPTOSYSTEM FOR SCALABLE DATA SHARING
SURVEY ON KEY AGGREGATE CRYPTOSYSTEM FOR SCALABLE DATA SHARINGSURVEY ON KEY AGGREGATE CRYPTOSYSTEM FOR SCALABLE DATA SHARING
SURVEY ON KEY AGGREGATE CRYPTOSYSTEM FOR SCALABLE DATA SHARINGEditor IJMTER
 
Mohit seminar gs.cse2012
Mohit seminar gs.cse2012Mohit seminar gs.cse2012
Mohit seminar gs.cse2012Mohit Modi
 
35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...INFOGAIN PUBLICATION
 
Client server computing
Client server computingClient server computing
Client server computingjorge cabiao
 
Cloud computing-ieee-2014-projects
Cloud computing-ieee-2014-projectsCloud computing-ieee-2014-projects
Cloud computing-ieee-2014-projectsVijay Karan
 

Similar a P57 Novelli (20)

234 237
234 237234 237
234 237
 
234 237
234 237234 237
234 237
 
Cloud: CDN Killer?
Cloud: CDN Killer? Cloud: CDN Killer?
Cloud: CDN Killer?
 
M.E Computer Science Parallel and Distributed System Projects
M.E Computer Science Parallel and Distributed System ProjectsM.E Computer Science Parallel and Distributed System Projects
M.E Computer Science Parallel and Distributed System Projects
 
M.Phil Computer Science Parallel and Distributed System Projects
M.Phil Computer Science Parallel and Distributed System ProjectsM.Phil Computer Science Parallel and Distributed System Projects
M.Phil Computer Science Parallel and Distributed System Projects
 
M phil-computer-science-parallel-and-distributed-system-projects
M phil-computer-science-parallel-and-distributed-system-projectsM phil-computer-science-parallel-and-distributed-system-projects
M phil-computer-science-parallel-and-distributed-system-projects
 
Provable multicopy dynamic data possession
Provable multicopy dynamic data possessionProvable multicopy dynamic data possession
Provable multicopy dynamic data possession
 
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMSPROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
 
Provable multicopy dynamic data possession
Provable multicopy dynamic data possessionProvable multicopy dynamic data possession
Provable multicopy dynamic data possession
 
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMSPROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
PROVABLE MULTICOPY DYNAMIC DATA POSSESSION IN CLOUD COMPUTING SYSTEMS
 
A Survey of Performance Comparison between Virtual Machines and Containers
A Survey of Performance Comparison between Virtual Machines and ContainersA Survey of Performance Comparison between Virtual Machines and Containers
A Survey of Performance Comparison between Virtual Machines and Containers
 
H017144148
H017144148H017144148
H017144148
 
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...
 
Impact of Video Encoding Parameters on Dynamic Video Transcoding
Impact of Video Encoding Parameters on Dynamic Video TranscodingImpact of Video Encoding Parameters on Dynamic Video Transcoding
Impact of Video Encoding Parameters on Dynamic Video Transcoding
 
Integrity for join queries in the cloud
Integrity for join queries in the cloudIntegrity for join queries in the cloud
Integrity for join queries in the cloud
 
SURVEY ON KEY AGGREGATE CRYPTOSYSTEM FOR SCALABLE DATA SHARING
SURVEY ON KEY AGGREGATE CRYPTOSYSTEM FOR SCALABLE DATA SHARINGSURVEY ON KEY AGGREGATE CRYPTOSYSTEM FOR SCALABLE DATA SHARING
SURVEY ON KEY AGGREGATE CRYPTOSYSTEM FOR SCALABLE DATA SHARING
 
Mohit seminar gs.cse2012
Mohit seminar gs.cse2012Mohit seminar gs.cse2012
Mohit seminar gs.cse2012
 
35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...
 
Client server computing
Client server computingClient server computing
Client server computing
 
Cloud computing-ieee-2014-projects
Cloud computing-ieee-2014-projectsCloud computing-ieee-2014-projects
Cloud computing-ieee-2014-projects
 

Último

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Último (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

P57 Novelli

  • 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. 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. 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. 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. 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. 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. 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