<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A QoS-Aware Architecture for Multimedia Content Provisioning in a GRID Environment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Client Proxy</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Server Application</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Fabrizio Messina, Giovanni Novelli, Giuseppe Pappalardo, Corrado Santoro, Emiliano Tramontana Dipartimento di Matematica e Informatica Universita` di Catania, Viale A. Doria</institution>
          ,
          <addr-line>6 - 95125 Catania, Italy fmessina, novelli, pappalardo</addr-line>
        </aff>
      </contrib-group>
      <fpage>60</fpage>
      <lpage>65</lpage>
      <abstract>
        <p>- In this paper, we propose a mobile agent infrastructure to support “Quality of Service” (QoS) parameters in multimedia content streaming. The infrastructure is able to face the issues concerning multimedia content transformation, in order to ensure that the client-side QoS is met. A Grid computing platform is exploited and content adaptation is performed through appropriate agents that are allocated as jobs and executed on Grid hosts. A location service is therefore devised and made available within the Grid system, which helps finding the hosts whose geographic position and network connections minimise the delays required to move the desired multimedia content from the storage to the processing site, and (after suitable transcoding) from this to the requesting client.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Nowadays a large number of multimedia coding formats
exists. Each format not only needs a proper decoder/player
at the client side but also a different transport protocol
featuring timing characteristics that require a network offering
mechanisms to guarantee throughput, latency, packet loss
ratio, jitter, etc. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Such “Quality of Service”
(QoS) requirements [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], if not fulfilled, can cause delays or
interruptions in content playing and thus result in a service
whose quality could be lower than expected.
      </p>
      <p>As for coding scheme, even if some well-known
generalpurpose players, like WindowsT M Media Player or Xine,
are able to support the majority of multimedia formats,
there are still some schemes (e.g. QuickTimeT M MOV or
RealplayerT M RAM) that require their own players. Moreover,
some players are not able to adapt the content to the quality
of the connection used by the client, which could be too
slow for the selected multimedia file, thus preventing proper
reproduction. As a result, sometimes a multimedia content
cannot be retrieved, played and used at client side, because the
player is not available, the protocol is not supported, the client
connection has not enough bandwidth or client performance
is inadequate.</p>
      <p>
        The reason behind this is due to the fact that current
multimedia provisioning solutions give the client the responsibility
of adapting the received content to both client and network
capabilities. This may well be deemed unreasonable if we
think that, in general, servers have more computational power
and performances than traditional desktops or laptops, so
having them adapt the provided content to each client seems
more appropriate. Moreover, when multimedia provisioning
is not performed by single servers but a Grid computing
environment is employed [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], server-side on-line adaptation
of streaming becomes not only feasible but also preferable:
thanks to the ability of managing and offering a huge amount
of storage space and CPU power, a Grid can be used not
only to store and provide multimedia contents, but also to
perform multimedia transcoding in order to satisfy at best the
QoS parameters requested by the user, taking also into account
network capabilities.
      </p>
      <p>By considering the issues and goals outlined, this paper
proposes a software architecture, based on mobile agents
running in a computational Grid, for multimedia content
provisioning and QoS satisfaction1. The main aspect of the
proposed solution is that it is able to share the content
adaptation cost between the client and the server, thus overcoming
the problems described. A location service is also included,
which aims at finding the host whose geographic position
and network connections capabilities are able to minimise
the time required to move the desired multimedia content (i)
from the storage to the processing site, and (ii)—after suitable
transcoding—from this to the requesting client.</p>
      <p>The paper begins (Section II) with a description of a
usecase that serves as a reference scenario to introduce the
basic model of the solution. Then Section III illustrates the
software architecture of the solution as integrated in a Grid
environment, thus explaining how the main services of a Grid
can be exploited for our purpose. Section IV describes the
prototype implementation of the architecture, which has been
developed, using GridSim. Section V discusses and compares
other approaches. Section VI concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>II. USE-CASE SCENARIO AND SYSTEM MODEL</title>
      <p>We consider a scenario in which a user asks for the retrieval
and playing of a multimedia content by means of a client
program or a web interface. We suppose that the client/player,
when it connects to the server, specifies some Quality of
Service (QoS) parameters regarding its capabilities, such as
encoding scheme it is able to support, the speed of the
connection used, etc. In particular, two sets of QoS parameters
1This work has been (partially) carried out within the Web-Minds,
QUASAR and PI2S2 projects, funded by the Italian Ministry of Education,
University and Research (MIUR), and the TriGrid VL project, funded by
Regione Sicilia.</p>
      <p>Application QoS</p>
      <p>Encoding Scheme
Compression Scheme
Compression Ratio
Sampling/Frame Rate</p>
      <p>Picture Size</p>
      <p>Colors
Channels</p>
      <p>Network QoS</p>
      <p>End-to-end Throughput
End-to-end Throughput Jitter</p>
      <p>Propagation Delay
Propagation Jitter</p>
      <p>Packet-loss ratio
can be considered, which are summarised in Table I and
explained in the following:</p>
      <p>Application QoS parameters. They are those
parameters concerning application-level multimedia handling
and include encoding scheme, compression scheme and
compression ratio, for all types of contents, sampling
rate, sampling size and number of channels for audio
contents, and frame rate, picture size and number of
colors for video data.</p>
      <p>Network QoS parameters. They refer to the capability
of the network and subnetworks located on the path
from the client to the server. Such parameters include
the end-to-end throughput, the propagation delay, the
propagation jitter, etc.</p>
      <p>When the server receives a client’s request, it has to try to
fulfill it by matching the parameters specified with those of
the multimedia content to be retrieved, also considering the
capabilities of the network that has to carry the streamed data:
if they differ or the network is not able to deliver the content
according to the requirements, an adaptation would be needed,
the complexity and feasibility of which depend on how much
requested and offered contents differ from each other, and the
type of conversions they imply.</p>
      <p>Following such a use-case scenario, our solution aims at
proving an efficient and reliable way to perform content
transcoding and adaptation in order to fulfill at best the
requirements of a client program. The basic model of the solution,
which is based on mobile agent technology, exploits two
agents, called ClientProxy and ServerProxy , running
on the client and the server respectively, which act as “proxies”
intercepting and adapting multimedia data. Basically (see
Figure 1), the ClientProxy is designed as able to talk with the
client application/player; it knows client’s abilities in handle
multimedia data and thus its application QoS parameters. On
the other hand, the ServerProxy is able to handle both
client’s application QoS and the format of the multimedia
content requested. Both agents start at the client side and thus
both knows how to support the player characteristics, but the
ServerProxy is a mobile agent; when the content streaming
has to begin, the ServerProxy migrates to the server and
both agents start to collaborate as follows:
1) The ServerProxy agent retrieves multimedia content
and analyses it.
2) Both agents, according to the application QoS parameters
of both the client and the content, and knowing the</p>
      <p>Player</p>
      <sec id="sec-2-1">
        <title>Client</title>
        <p>Player</p>
      </sec>
      <sec id="sec-2-2">
        <title>Client</title>
        <p>Server
Proxy
Client
Proxy
Migration
Inter−agent
Protocol</p>
      </sec>
      <sec id="sec-2-3">
        <title>Server</title>
        <p>Server Application
Server
Proxy</p>
      </sec>
      <sec id="sec-2-4">
        <title>Server</title>
        <p>Working Scheme of the Solution
capabilities of the transfer link (network QoS parameters),
establish an inter-agent protocol in order to transfer
the multimedia content. Therefore, the ServerProxy
performs the appropriate conversions and QoS adaptions
to allow data transmission through the network with the
negotiated inter-agent protocol.
3) The ClientProxy agent receives the data using the
inter-agent protocol and performs the final conversions in
order to supply data to the player with application QoS
parameters requested.</p>
        <p>Roughly speaking, this solution provides a significant
advantage since it (basically) is able to avoid QoS loss. In
fact, traditional solutions are based on some general purpose
QoS translation algorithms running at server side, but such
algorithms are not able to cover all the possible cases needed
by a client. On the other hand, in the proposed solution, the
transcoding part running in the server—the ServerProxy —
originates from the client machine: it exactly knows what are
the client’s requirements and thus can encapsulate the right
algorithms to perform a correct transcoding.</p>
        <p>A significant drawback of the solution is however the
computational power needed, at server side, to perform transcoding
in the case of many concurrent requests. To face such an issue,
we consider our solution as running on a Grid infrastructure
since it can provide the power needed; to this aim a suitable
architecture has been designed and detailed in the following
Section.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>III. RUNNING TRANSCODING AGENTS IN A GRID</title>
      <p>ENVIRONMENT</p>
      <p>
        For obtaining the transcoding of a multimedia content,
agents are allocated and executed in capable hosts of a Grid
system. The most widespread software system used for Grid
environment is the Globus Toolkit (GT) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. This includes
services to access and monitor computing and data resources,
enforce security, allow users to send and execute their
applications. Computing resources have a specialised role according
to their characteristics. Hence, a host providing a large amount
of storage space is a Storage Element (SE); a host holding a
certain number of CPUs that can execute jobs is a Computing
Element (CE); whereas users are able to log into GT, send
their commands and receive results, by means of a host called
User Interface (UI) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>In order to determine the host where the transcoding agent
should run it is appropriate to take into account: (i) the
location of the agent, (ii) the location of the user requesting the
multimedia content, and (iii) the location of available hosts.</p>
      <p>The services necessary for performing this selection are
provided by the architecture components described in the
following (see Figure 2).</p>
      <p>In order to make the multimedia contents available to users,
these are initially transferred into available SEs. Each content
is characterised by its name, encoding, length, description,
size, etc.</p>
      <p>A user requests a multimedia content, by running a client
software on his/her UI. The request is characterised by: (i) the
name of the multimedia content or its description, and (ii) the
needed encoding format.</p>
      <p>The request is processed by service MuM (for Multimedia
Mining) that finds available versions of the content. When
transcoding from an available format to the requested version
is required, other services are involved in order to: find an
appropriate CE that will host one or more capable agents,
find and transfer both the source version of the content and
the transcoding agent into the selected CE. The output of
the transcoding agent, which is a new format for the initial
multimedia file, is then provided to the user on his/her UI and
also stored to some SE so as to better serve further requests
for the same file and for the newly available format.</p>
      <sec id="sec-3-1">
        <title>A. Services for Selecting Hosts</title>
        <p>
          The service MuM is able to find the locations of a user
requested multimedia content (see in Fig. 2 interactions (1,
2, 3)). MuM returns the location, in terms of SE address,
where each format of the content can be found. MuM is
organised as a repository based on the existing Grid Resource
Information Service (GRIS) [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]2. MuM’s data are updated
when new contents are inserted, new formats are available, and
existing ones are re-organised (e.g. moved to better support
accessing them).
        </p>
        <p>Service Agent Locator (AL) is responsible to store the
location of transcoding agents. While agents are initially
stored only on the users’ hosts, they are re-located to several
CEs according to the requests for transcoding the multimedia
contents. To minimise the re-location overhead, agents are kept
on the CEs even when idle, i.e. after contents processing has
finished. Service AL traces where each agent is, thus when AL
is queried for a given transcoding agent (see (4) in Fig. 2), it
returns the list of CEs addresses where that agent is located.</p>
        <p>Service CE Locator (CEL) traces the availability and CPU
capacity of CEs. This service initially asks known GRIS
about data concerning the number of hosts in a CE, and the
characteristics of the hosts, in terms of CPU type and amount
2GRIS is part of the Monitoring and Discovery Service (MDS) provided
by the Globus Toolkit.
of RAM. Additionally, CEL periodically asks the length of the
job queue on a CE. All these data are asked asynchronously
from a user query and stored locally by CEL. This helps
reducing the performance penalties given by the interactions
with GRIS. When an agent has to be allocated, CEL is asked
for available hosts (see (5) in Fig. 2) and returns a list of CE
addresses, whose hosts are idle or lightly loaded.</p>
        <p>Finally, service Resource Finder (ReF) selects a CE for
hosting transcoding agents. In selecting a CE, ReF tries to
minimise latencies due to the network and achieve the shortest
response time for having the adapted content. Latencies are
calculated according to the following three “distances”: (i) the
“distance” d(SEi; CEj ) between the SEs where the needed
content is stored (provided by MuM) and the available CEs
(provided by CEL); (ii) the “distance” d(CEj ; U I) between
available CEs and UI; and (iii) the “distance” d(CEj ; A(Hk))
between the available CEs and agent A that can be found in
one of several hosts Hk (the locations where agent A is found
is provided by AL).</p>
        <p>Each “distance” is measured as the number of seconds
necessary to deliver 100Mb across two end points, thus it takes
into account both the available bandwidth and the latency, i.e.
the physical space that has to be crossed. Measures between
each two pairs of known sites are performed off-line and
stored. 0 0</p>
        <p>The selected sites SEi , CEj , representing, respectively, the
host from which the source content will be loaded and the host
allocating the transcoding agent are those that minimise
d(SEi; CEj ) + d(CEj ; U I)
for i, j rang0ing over the available sets of SEi, CEj .
0
Once CEj has been determined, the value d(CEj ; A(Hk))
0
is minimised, i.e. the host Hk is chosen from which the agent
will be transferred.</p>
        <p>Note that ReF collects the necessary data and determines the
CE that should host the transcoding agents, the CE providing
such an agent, and the SE where the source multimedia content
is stored. In Fig. 2, they are CE1, CE2 and SE2, respectively.</p>
        <p>In order to activate multimedia content transformation and
delivery, ReF submits a job to the selected CE, e.g. CE1, (see
(6) in Fig. 2). This job executes the following set of steps.
Firstly, it collects the necessary parts, i.e. the transcoding agent
from CE2 (6.1) and the multimedia content from SE2 (6.2).
Secondly, it executes the agent that will process the content.
Finally, the result of content transformation is directly passed
on to the user front-end.</p>
      </sec>
      <sec id="sec-3-2">
        <title>B. Handling QoS for Multimedia Contents</title>
        <p>In order to have a short response time between a user
request for a multimedia content and the transcoded version,
the capabilities of the supporting infrastructure, i.e. available
bandwidth and computing “power” have to be determined
beforehand.</p>
        <p>The preferences set by a user in terms of frame size and
coding format for a multimedia content affect the activities that
are performed by the infrastructure to serve the user request.</p>
        <p>One of these activities consists in the multimedia processing,
another one is the a priori reservation of bandwidth and hosts.</p>
        <p>At least one capable host will be reserved to run the
transcoding agent. However, just one host could be not
sufficient for the necessary processing. When the estimation of
the time needed to sequentially transcode the content on a
single host would result in an output rate that is less than the
rate necessary to ensure that the content can be seen/listened
smoothly, then a parallel transcoding activity is organised.</p>
        <p>For this parallel processing, the initial multimedia content
is fragmented and each chunk processed by an agent on a
dedicated host.</p>
        <p>Let us first express the way we estimate the time needed to
transcode a content from a format to another.</p>
        <p>We have processed several videos having different
resolution (see Table II and III) and observed that processing time is
mainly related with the frame resolution and size in bytes of
the frames to be processed. I.e. for the same video, having e.g.
a resolution of 320x240 pixels, the processing time is almost
proportional to the size (in bytes) of the JPEG frame that has
to be transcoded.</p>
        <p>In Table III, we report for several videos (whose
characteristics are found in Table II) the time in milliseconds necessary
to convert from AVI to MPEG, MJPEG, h263p and rv10 (see
the 4 right-most columns, respectively) several chunks of the
content lasting 2 seconds each and having 50 or 60 frames,
as indicated in the column frames. Transcoding is performed
from the set of frames (each stored as a JPEG file) and whose
overall size in megabytes is indicated in column size.</p>
        <p>The reported values are just an excerpt of the experiments
we have performed. In other experiments we have converted
the whole reported video, moreover other videos have been
processed in a similar way.</p>
        <p>The estimation function for the time needed to transcode
into MPEG4, but the same applies to the other output formats,
is the trend function calculated according to the values stored
in a database of observed times. The resulting trend function
takes as input the resolution and frame size as parameters and
returns the estimated time.</p>
        <p>In order to calculate the number of hosts needed for the
transcoding, we compare the estimated transformation time
and the length in seconds of the processed video. When
transformation time is greater than processed video then we
must use more than one host for the transformation and the
number of needed hosts is the minimum natural number bigger An additional User class models the user requests, thus the
than the ratio between transformation time and length. ability to ask for a content and receive a result.</p>
        <p>Bandwidth reservation aims at readily transfer data from a Along the above classes, all the services of the proposed
disk to the selected CE that will perform transcoding and from infrastructure (i.e. ReF, MuM, AL and CEL) are modelled as
the CE to the user device. classes that execute on the Grid system, process requests and</p>
        <p>The amount of bandwidth necessary is calculated as the provide corresponding results.
ratio between size of the content and length (this is just an For running a simulation, the number of CEs, transcoding
approximation since the amount of bytes per frame are not agents types and users are set. The number of instances of
constant for the whole video). AgentSite created is according to the the given number of CEs
chosen. Each AgentSite instance is set with a CE identifier.</p>
        <p>
          IV. SIMULATING ENVIRONMENT Each type of transcoding agent is modelled as an instance of
In order to assess the timing characteristics of the proposed Agent. Several instances of Agent are created and each is set
software infrastructure and how it reacts when a large number with: a value for the size of the code of the agent (in bytes); its
of users send requests for accessing multimedia contents, we initial location, using an instance of AgentSite; and the state
are in the process of developing a model of the proposed of the agent, as idle. Finally, instances of User are created.
infrastructure using the simulation environment GridSim [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Once a simulation is executed, GridSim output is a report
GridSim is a Java toolkit that can be programmed to simulate that for each modelled class describes the number of received
a Grid system, thus it offers support, in terms of classes, for requests, the amount of time necessary to process the requests,
simulating CEs, SEs, Virtual Organisations, etc. the time spent waiting for replies, etc. This report will provide
        </p>
        <p>
          In our proposed infrastructure, transcoding agents can move valuable feedback on all the assumptions concerning the
and communicate within a Grid environment. The underlying expected time of network connections to transfer multimedia
support for allowing such agents to move, communicate, etc. is contents, hosts to process fragments of contents, infrastructure
an agent-platform, such as Jade [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. For simulation purposes, to select hosts for processing, etc.
on top of GridSim we have developed a class library that
models the activities of an agent platform (similar to Jade). V. RELATED WORK
Such a library, called GAP (Grid Agent Platform), includes Several existing approaches, including [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], generate
the classes: AgentPlatform, AgentSite, and Agent. off-line different transcoded versions of a multimedia content,
        </p>
        <p>Class AgentPlatform represents a federation of sites of- i.e. before users request a format this is prepared and stored
fering facilities that allow agents to move, find each other, into the disk. Thus serving a request is just a matter of
communicate, etc. This class allows the access to services that reading the content from the disk. Of course, generating
are expected from an agent platform, such as: (i) a registry different formats for a given content requires a large amount
informing about available agents on any site, simulated as of computing resources, thus these approaches recur to parallel
class DirectoryFacilitator; and (ii) an observer for all the processing, using clusters of hosts, for the initial content.
movements of agents, simulated as class NetworkMonitor. An approach for the on-line transcoding of multimedia</p>
        <p>
          Class AgentSite is responsible to hold data about the contents by means of software system for a Grid environment
location and the state (e.g. running, stopped, idle) of existing is proposed in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. In such an approach, a broker component
agents in a given CE within the Grid system. AgentSite finds and dynamically allocates transcoding jobs on available
extends GridSim class GridSim and holds an instances of Grid resources, according to the incoming requests. Similarly
GridSim class GridResource, which represents the CE. to our approach, the broker component selects capable and
        </p>
        <p>
          Class Agent represents an agent and holds data about the unloaded host for ensuring a short response time. However,
identifier, state, type, and size of the agent. Each Agent we additionally take into account both static and dynamic
instance simulates the computation performed by an agent, network conditions. Moreover, in this approach the server
which can be affected by events that are notified to it through hosts have to be equipped with all the necessary transcoding
messages. The events that can affect an agents are: stop, libraries beforehand. In contrast, our approach employs agents
resume, terminate, and migrate. Messages are exchanged be- that move to available hosts, thus we do not need to install
tween agents while performing their computation. Each time transcoding support into all the Grid hosts.
an agent migrates or change its state, both classes Directory- On-line transcoding is also faced in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], where the authors
Facilitator and AgentSite are informed. An Agent instance propose a support for fitting multimedia content into mobile
simulates some processing by generating jobs and submitting devices connected to a wireless network. Transcoding, which
them into the CE where the agent is located. A generated job is based on changing frame size, color depth and Q-scale,
is an instance of GridSim class Gridlet. is performed inside a HTTP proxy, therefore the approach is
        </p>
        <p>The network connections between CEs and SEs are mod- suitable to adaptation of video content that could be found on
elled according to GridSim class Link. Instances of such a the web. In contrast to our proposal, this approach considers
class are set with values representing bandwidth and delay of only some parameters that are fixed at server-side and does
the network link, as well as the instances of GridResource not perform automatic parameter adaptation on the basis of
it connects. network connection monitoring. Moreover, in our approach
agents are dispatched from the client, they are aware of
the target player’s capabilities and are thus able to adapt
the content at best, taking also into account the varying
communication conditions.</p>
        <p>
          When having to serve requests for contents, Content
Delivery Network (CDN) [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] can bring benefits in terms of efficient
delivering, since contents are replicated and relocated by the
CDN according to request types and origins. Our approach is
aimed not only at finding the nearest location for the requested
multimedia content, but especially for on-the-fly generation of
new a content format through transcoding according to client
requirements.
        </p>
        <p>
          Adaptive Web Systems (AWS) [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] provide unaware users
with customised versions of contents, selected at server side on
the basis of user profile, location, access mode, terminal, etc.
        </p>
        <p>In contrast, our approach suggest that clients have an active
role in the content adaptation process, i.e. they are represented
by their agents for this purpose. In principle, this permits more
sophisticated and dynamic forms of adaptation, but of course
requires a supporting infrastructure and a more capable and
aware client.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>VI. CONCLUSIONS</title>
      <p>This paper has presented a mobile agent architecture for
multimedia content provisioning and QoS adaptation which
exploits a computational Grid, for its CPU power and storage
space availability. The basic working scheme of our proposal
entails two mobile agents, one at client side and the other at
server side, what cooperate with each other to perform
multimedia adaptation and transcoding, thus aiming at adapting
the QoS of the content to the QoS requested by multimedia
player.</p>
      <p>The architecture consists of a set of components entailed
with the task of finding (i) the storage element that possesses
the multimedia content to be played and (ii) the computing
element where to host the mobile agent in charge of
serverside transcoding. To this aim, some metrics are introduced,
intended to minimize the distances between user and the
computing element, and between the latter and the storage
element where the multimedia content is stored.</p>
      <p>In order to evaluate the feasibility of our solution, numerous
tests have been performed to determine the time taken by
various types of transcoding. A prototype implementation,
running with a simulation tools, has also been developed, in
order to evaluate not only the feasibility of the solution but
also its performances.</p>
      <p>As a future work, our goal is to package the system as
a Globus Toolkit extension, so as to obtain a complete and
standard solution.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bellifemine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Rimassa.</surname>
          </string-name>
          <article-title>Developing multi-agent systems with a FIPA-compliant agent framework</article-title>
          .
          <source>Software - Practice and Experience</source>
          ,
          <volume>31</volume>
          (
          <issue>2</issue>
          ):
          <fpage>103</fpage>
          -
          <lpage>128</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Anjali</given-names>
            <surname>Bhargava</surname>
          </string-name>
          and
          <string-name>
            <given-names>Bharat</given-names>
            <surname>Bhargava</surname>
          </string-name>
          .
          <article-title>Measurements and Quality of Service Issues in Electronic Commerce Software</article-title>
          .
          <source>In Proceedings of IEEE International Conference on application-specific Software Engineering and Technology (ASSET-99)</source>
          , Texas, March
          <volume>24</volume>
          -27
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K.</given-names>
            <surname>Czajkowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Fitzgerald</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Foster</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Kesselman</surname>
          </string-name>
          .
          <article-title>Grid information services for distributed resource sharing</article-title>
          .
          <source>In Proceedings of the 10th IEEE Symposium On High Performance Distributed Computing</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>I.</given-names>
            <surname>Foster</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kesselman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Nick</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Tuecke</surname>
          </string-name>
          .
          <article-title>The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration</article-title>
          . In Open Grid Service Infrastructure WG,
          <source>Global Grid Forum, June</source>
          <volume>22</volume>
          2002.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Ian</given-names>
            <surname>Foster</surname>
          </string-name>
          and Carl Kesselman, editors.
          <source>The Grid (2nd Edition)</source>
          :
          <article-title>Blueprint for a New Computing Infrastructure</article-title>
          . Morgan Kaufmann,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Fabrizio</given-names>
            <surname>Gagliardi</surname>
          </string-name>
          , Bob Jones, Mario Reale, and
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Burke</surname>
          </string-name>
          .
          <article-title>European DataGrid Project: Experiences of Deploying a Large Scale Testbed for E-science Applications</article-title>
          . Lecture Notes in Computer Science,
          <volume>2459</volume>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>F.</given-names>
            <surname>Gonzalez-Castano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Asorey-Cacheda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Martinez-Alvarez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Comesana-Seijo</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>J.</given-names>
            <surname>Vales-Alonso</surname>
          </string-name>
          .
          <article-title>Dvd transcoding with linux metacomputing</article-title>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Grid</given-names>
            <surname>Computing</surname>
          </string-name>
          and
          <article-title>Distributed Systems (GRIDS) Laboratory</article-title>
          .
          <article-title>GridSim: A Grid Simulation Toolkit for Resource Modelling and Application Scheduling for Parallel and</article-title>
          Distributed Computing,
          <year>2005</year>
          . http://www.gridbus.org/gridsim/ .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Markus</given-names>
            <surname>Hofmann and Leland R. Beaumont</surname>
          </string-name>
          . Content Networking. Morgan Kaufmann,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>ITU-T (CCITT). Recommendation</surname>
          </string-name>
          .
          <article-title>Terms and Definitions Related to The Quality of Service and Network Performance including Dependability</article-title>
          ,
          <year>August 1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Ricardo</given-names>
            <surname>Oliveira Parixit Aghera</surname>
          </string-name>
          , Advait Dixit and
          <string-name>
            <given-names>Vidyut</given-names>
            <surname>Samanta</surname>
          </string-name>
          .
          <article-title>Wireless middleware: Dynamic video transcoding</article-title>
          .
          <source>In Communication Systems Software and Middleware</source>
          , New Delhi, India, jan
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Mike</given-names>
            <surname>Perkowitz</surname>
          </string-name>
          and
          <string-name>
            <given-names>Oren</given-names>
            <surname>Etzioni</surname>
          </string-name>
          .
          <article-title>Adaptive web sites</article-title>
          .
          <source>Communication ACM</source>
          ,
          <volume>43</volume>
          (
          <issue>8</issue>
          ):
          <fpage>152</fpage>
          -
          <lpage>158</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <article-title>The Globus Alliance</article-title>
          .
          <article-title>Home page and publications</article-title>
          . http://www.globus.org .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Andreas</surname>
            <given-names>Vogel</given-names>
          </string-name>
          , Brigitte Kerherve`, Gregor von Bochmann, and
          <string-name>
            <given-names>Jan</given-names>
            <surname>Gecsei</surname>
          </string-name>
          .
          <article-title>Distributed Multimedia and QoS: A Survey</article-title>
          .
          <source>IEEE Multimedia</source>
          ,
          <volume>2</volume>
          (
          <issue>1</issue>
          ):
          <fpage>10</fpage>
          -
          <lpage>19</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Gord</given-names>
            <surname>Watts</surname>
          </string-name>
          and
          <string-name>
            <given-names>Steve</given-names>
            <surname>Forde</surname>
          </string-name>
          .
          <article-title>Grid Computing: A Practical Guide to Technology and Applications, chapter Grid Enabling Software Applications</article-title>
          , pages
          <fpage>252</fpage>
          -
          <lpage>263</lpage>
          . Charles River Media, Hingham, MA,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Angelo</surname>
            <given-names>Zaia</given-names>
          </string-name>
          , Dario Bruneo, and Antonio Puliafito.
          <article-title>A scalable gridbased multimedia server</article-title>
          . In Enabling Technologies:
          <article-title>Infrastructure for Collaborative Enterprises (WET ICE)</article-title>
          , pages
          <fpage>337</fpage>
          -
          <lpage>342</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>John</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Zinky</surname>
            ,
            <given-names>David E.</given-names>
          </string-name>
          <string-name>
            <surname>Bakken</surname>
            , and
            <given-names>Richard D.</given-names>
          </string-name>
          <string-name>
            <surname>Schantz</surname>
          </string-name>
          .
          <article-title>Architectural Support for Quality of Service for CORBA Objects</article-title>
          .
          <source>Theory and Practice of Object Systems</source>
          ,
          <year>January 1997</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>