<!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>Performance Evaluation of Content Distribution Network Architectures through Agent-Based Modeling and Simulation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Giancarlo Fortino</string-name>
          <email>g.fortino@unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alfredo Garro</string-name>
          <email>garro@unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wilma Russo</string-name>
          <email>w.russo@unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marino Vaccaro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Elettronica, Informatica e Sistemistica (DEIS) Università della Calabria Via P. Bucci</institution>
          ,
          <addr-line>cubo 41C, 87036, Rende (CS)</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Agent-Based Modeling and Simulation (ABMS) has emerged as a new and powerful technology for the analysis of natural and artificial complex systems. In this paper ABMS is exploited for the modeling and performance evaluation of Conventional, Clustered and Cooperative Content Distribution Network (CDN) architectures. Clustered and Cooperative architectures differ from Conventional architectures as surrogate servers can loosely (in the Cooperative architectures) or tightly (in the Clustered architectures) cooperate to provide the requested contents to users. The results obtained from the simulation phase show that the Clustered architectures allow for significant improvements of the main CDN performance indices (average user perceived latency, cache hit ratio, and CDN utility) with respect to Conventional and Cooperative architectures.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Keywords-component; Content Delivery Networks, Surrogate
Clustering, Agent-based Modeling and Simulation, Performance
Evaluation.</p>
      <p>I.</p>
      <p>
        INTRODUCTION
The analysis and design of modern distributed systems require
powerful and flexible methods, tools and techniques, which are
also based on bottom-up approaches and incorporate the use of
simulation to support the typical phases of a software
engineering process [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In this context, a suitable support can
be represented by the possibility of obtaining agent-based
models of systems, i.e. system models which are built through
a bottom-up approach in terms of proactive and reactive
autonomous entities that dynamically interact and cooperate
with each other [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. An agent-based model of a system can then
be simulated, so to observe emergent macro-level phenomena
hard to catch with other analysis techniques, and can be used to
validate and evaluate different design choices at architectural
and behavioral levels [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Moreover, the agent-based model of
the system exploited during the design phase can be used as a
starting point for an agent-based system implementation [3].
      </p>
      <p>
        In this paper, the Agent-Based Modeling and Simulation
(ABMS) approach is exploited for modeling and evaluating
through simulation different Content Distribution Networks
(CDNs) architectures that represent effective solution for
improving the performance of content delivery by means of
coordinated content replication [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In particular, five
distributed architectures (Conventional, Cooperative,
*corresponding author
      </p>
    </sec>
    <sec id="sec-2">
      <title>Master/Slave, Multicast-based, Peer-to-Peer), which are</title>
      <p>
        enhanced with respect to those presented in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], have been
modeled and extensively evaluated.
      </p>
      <p>
        The Conventional architecture is based on the basic schema
of CDN, Master/Slave, Multicast-based, and Peer-to-Peer
architectures (or Clustered architectures) relies on a new
schema based on clustering [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], whereas the Cooperative
architecture depends on non coordinated cooperation among
neighbor surrogate servers. In particular, the Clustered
architectures differ from the Conventional architecture as
surrogate servers, which cache the content originally produced
and stored in origin servers so to improve performances in
delivering contents to users, are grouped into clusters of
neighbor surrogates which can cooperate to provide requested
contents. Specifically, a surrogate that is not able to provide the
requested content does not directly ask the origin server for it
as in the Conventional architecture; the surrogate first checks
for a surrogate of the same cluster having the content so as to
forward the unfulfilled user request to it. Differently, in the
Cooperative architecture the surrogate asks its neighbors for
the requested content and, upon content attainment, replies to
the requesting user. Finally, both in Clustered and Cooperative
architectures, if the surrogate is not able to find the content in
its cluster or among its neighbors, it contacts the origin server
as in the Conventional architecture.
      </p>
      <p>
        To analyze the performances of the five considered
architectures with respect to the most important CDN
performance indices (average perceived user latency [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ],
cache hit ratio [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and CDN utility [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]), for each
architecture, an agent-based model has been defined and
simulated by using the ELDAMeth methodology [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In
particular, the modeling phase is driven by a Statecharts-based
modeling language and supported by a CASE tool
(ELDATool) which automatically translates visual
specifications into platform-independent code; the simulation
phase is based on an agent-oriented and event-driven
simulation framework (ELDASim) which executes the code
produced in the modeling phase in the context of purposely set
distributed scenarios.
      </p>
      <p>The results obtained from the performance evaluation phase
show that the Clustered architectures can provide higher
performances, in terms of the considered performance indices,
than those of Conventional and Cooperative architectures.</p>
      <p>The rest of the paper is organized as follows. Section 2
introduces the considered distributed architectures for content
delivery. Section 3 is devoted to the agent-based simulation of
the presented architectures and, in particular, to the analysis of
the performance evaluation results. Finally conclusions are
drawn and directions of future research briefly elucidated.</p>
      <p>II.</p>
      <p>CONVENTIONAL, COOPERATIVE AND CLUSTERED CDN</p>
      <p>
        ARCHITECTURES
In Conventional CDN architectures [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], which are based on
stand-alone Surrogates, when a Client issues a content request,
a Redirection System selects the most appropriate Surrogate
(typically the closest to the Client) to which the request is
routed. The selected Surrogate serves the request if the
requested content is available; otherwise it asks the Origin
Server for the content and, once retrieved, sends it to the
requesting Client. Although this Conventional architecture
(hereafter named SimpleArch) is easy to develop and maintain,
it suffers of two main drawbacks: limited dimension of the
cache of the surrogates and high response time when not
cached content must be fetched from the Origin Server.
      </p>
      <p>
        To deal with these drawbacks, Surrogates can be grouped
into loosely-coupled and tightly-coupled clusters according to
their proximity (e.g. neighboring Surrogates belong to the same
cluster) [
        <xref ref-type="bibr" rid="ref12 ref17 ref4 ref8">4, 8, 12, 17</xref>
        ]. Surrogates of the same cluster (hereafter
referred as peers) cooperate with each other to provide contents
when they cannot directly serve content request. This would
result in a higher hit rate, as the available content is at most the
total content of all peers and not just the content of a single
Surrogate, and in a shorter response time, as distance between
peers is much shorter than the distance between Surrogates and
their related Origin server. Indeed, a request is forwarded to the
Origin Server only if none of the peers can provide the
requested content.
      </p>
      <p>In the following, four different distributed architectures for
surrogate clustering are presented. In particular, the three
tightly-coupled Clustered architectures, Master/Slave
(M/SArch), Multicast-based (MCArch), and Peer-to-Peer
(P2PArch), are described in Sections II.A-C, respectively; in
Section II.D the loosely-coupled Cooperative architecture
(CoopArch) is defined.</p>
    </sec>
    <sec id="sec-3">
      <title>A. Master/Slave Architecture</title>
      <p>
        In the M/SArch architecture [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], a master/slave approach is
exploited which is based on a master peer to manage the cluster
Content Location Hash Table (CLHT) whereas the other peers
only manage a CLHT of their own content. When a request
arrives, the selected surrogate looks up its CLHT and then, if
the content is not found, forwards the request to the master peer
that, in turn, forwards it either to the peer (which could also be
the master itself) with that content or to the origin server. It is
worth noting that every time a peer chooses to evict a content,
it notifies the master that consequently updates the global
CLHT. In this way consistency of the cluster is guaranteed by
the master even though it could become a bottleneck.
      </p>
      <p>Four variants of M/SArch (M/SArch _1, M/SArch_2, and
M/SArch_3, M/SArch_4) have been defined on the basis of
different schemas related to content found/content not found in
the cluster scenarios. Specifically, two schemas for the content
found in the cluster scenario are considered: in the first, which
is exploited in M/SArch_1 and M/SArch_2, the master peer
forwards the request directly to the surrogate which has the
content; in the second, which is exploited in M/SArch_3 and
M/SArch_4, the master peer notifies the address of the
surrogate which has the content to the selected surrogate
which, in turn, forwards the request to it. Two schemas for the
content not found in the cluster scenario are also introduced; in
the first, which is exploited in M/SArch_1 and M/SArch_3, the
master peer replies to the selected surrogate which, in turns,
downloads the content from the origin to serve the client; in the
second, which is exploited in M/SArch_2 and M/SArch_4, the
master peer contacts the origin which sends the missing content
to the selected surrogate.</p>
      <p>It is worth noting that the four variants of M/SArch consider
the architectures that averagely involve the lowest number of
exchanged messages (M/SArch_2), the highest number of
exchanged messages (M/SArch_3), and a number of exchanged
messages between the highest and lowest ones (M/SArch_1,</p>
    </sec>
    <sec id="sec-4">
      <title>M/SArch_4).</title>
    </sec>
    <sec id="sec-5">
      <title>B. Multicast-based Architecture</title>
      <p>
        In the MCArch architecture [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], each peer surrogate manages a
CLHT in which stores the content location information of all
peer surrogates. A missing content in the selected peer is
handled as follows: if the CLHT has an entry for that content,
the request is forwarded to the peer that has the requested
content and will then serve the client request; otherwise, the
request is forwarded to the origin server and then handled as in
the Conventional architecture. Every update of the CLHT is
multicast from the peer that updated its content to all the others
that consequently update their CLHT without an ACID
(Atomicity, Consistency, Isolation, e Durability) coordination
mechanism. This implies that the consistency of the CLHT is
not guaranteed and then a peer could forward a request to
another peer that may not have the requested content;
moreover, duplicated copies of the same content could be
present in a cluster.
      </p>
    </sec>
    <sec id="sec-6">
      <title>C. Peer-to-peer Architecture</title>
      <p>
        In the P2PArch architecture [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], each peer has an SLT
(Surrogate Location Table) which contains the location
information of all the peers and their respective contents. In
particular, for each peer surrogate an SLT has an entry
formalized by the pair &lt;SId, CZ&gt;, where CZ (Content Zone) is
the space of the identifiers of the contents potentially stored in
the peer identified by SId. According to the peer-to-peer model,
a content request issued by a client is served by the selected
surrogate as follows: (i) if the CId of the requested content
belongs to its CZ, the content is looked up in the CLHT and
then, if the content is present, it is sent to the client; otherwise,
the content is retrieved from the origin, sent to the client and
finally stored; (ii) if the CId of the requested content does not
belong to its CZ, the request is forwarded to the peer
responsible for Cid and then, if the requested content is present,
it sent it to the requesting client; otherwise, the content is
fetched from the origin before sending it to the requesting
client.
      </p>
      <p>As in the M/SArch architecture, the P2PArch provides
consistency of the content in the cluster. Moreover it
overcomes the main drawback of M/SArch and MCArch as a
peer does not need to maintain content information belonging
to the other peer surrogates.</p>
    </sec>
    <sec id="sec-7">
      <title>D. Cooperative Architecture</title>
      <p>
        In the CoopArch architecture, which is based on the
cooperative architecture proposed in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], each peer has a
given number of Neighbor surrogates and manages a CLHT in
which stores the content location information of its Neighbors.
When a peer is not able to provide the requested content but the
CLHT has an entry for it, the content is asked to the associated
Neighbor otherwise it is asked to the Origin Server. Upon the
reception, the content is stored in the peer cache (removing
another content if necessary) and sent to the user; as a
consequence a content can be replicated on different
surrogates. The CLHT of the peer is then updated and this
information is sent to all the Neighbor surrogates of the peer so
that they can consequently update their CLHT.
      </p>
      <p>III.</p>
      <p>PERFORMANCE EVALUATION THROUGH AGENT-BASED</p>
      <p>
        MODELING AND SIMULATION
The distributed architectures presented in Section II have been
modeled as Multi-Agent Systems (MASs) by exploiting the
ELDAMeth methodology and related tools that allow a visual
and Statecharts-based modeling of the agent behaviors and the
semi-automatic translation of the visual specifications into
code which can be executed by an agent-oriented and
eventdriven simulation framework [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Specifically, the aim of the
simulation was to analyze the efficiency of the proposed
distributed architectures in terms of the following three indices
which mainly characterize the performances of content
delivery networks:
•
•
      </p>
      <p>
        Average user perceived latency (AUPL) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], which is
defined as the average time ranging from the
transmission of the content request by a client (treq)
and the reception of the content (tserv):
AUPL = 1 ∑N ( 1 n∑reqi(ti,req j - ti,serv j ))
      </p>
      <p>
        N i=1 nreqi j=1
where N represents the number of surrogates and
nreqi the number of requests issued to the surrogate i.
Cache hit ratio (CHR) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], which is defined as the
percentage of content requests successfully served by
the CDN without fetching content from the Origin
Server:
(1)
(2)
•
      </p>
      <p>UTNC = i=1</p>
      <p>N
where N represents the number of surrogates, req the
amount of bytes requested to a surrogate and locserv
the amount of bytes served by a surrogate without
fetching content from the origin server.</p>
      <p>
        Utility (UT) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], which is defined in terms of the byte
amount that the surrogates of the CDN send to the
requesting clients and receive from the origin server
and/or other surrogates. Specifically, in the case of
      </p>
    </sec>
    <sec id="sec-8">
      <title>Non Clustered (NC) architectures, i.e. SimpleArch and</title>
      <p>CoopArch, UT is evaluated as follows:</p>
      <p>N
∑UTi
(3)
where N represents the number of surrogates in the
2
CDN and UTi = × arctan(ξ i ) is the utility of the
π
surrogate i which depends on the ratio ξ i = upi of the
dwi
bytes sent to clients (upi, upload to clients) and
received (dwi, download from the origin server and/or
other surrogates) by the surrogate i.</p>
      <p>Conversely, in a Clustered (C) CDN (M/SArch,
MCArch and P2PArch), as surrogates can download
contents only by the Origin Server and the cluster can
be therefore seen as a unique surrogate with a cache
equals to the sum of the caches of the peer surrogates
(see Section II), UT is calculated as:
UTC = 2 × arctan(Ξ) (4)</p>
      <p>π
where Ξ = upc is the ratio of the bytes sent to clients
dwc
(upc) and received (dwc) by the whole cluster of N</p>
      <p>N N
surrogates; upc = ∑ upi and dwc = ∑ dwi are
i=1 i=1
respectively obtained by summing up the amount of
bytes uploaded from and download by each surrogates
of the cluster.</p>
      <p>In the next subsections, after briefly discussing the agent-based
modeling of the CDN architectures (Section III.A), simulation
parameters are introduced (Section III.B) and the analysis of
the obtained simulation results (Section III.C) is presented with
reference to different and significant simulation settings.</p>
    </sec>
    <sec id="sec-9">
      <title>A. Agent-based modeling</title>
      <p>In order to evaluate the defined performance indices (AUPL.,
CHR and UT), agent-based models of the SimpleArch,</p>
    </sec>
    <sec id="sec-10">
      <title>CoopArch, M/SArch, MCArch and P2PArch architectures (see</title>
      <p>Section II), have been defined according to the reference
schema reported in Figure 1 which shows four type of Agents
representing the basic components of every CDN architecture:</p>
    </sec>
    <sec id="sec-11">
      <title>Client Agent, Redirection System Agent, Surrogate Agent and</title>
    </sec>
    <sec id="sec-12">
      <title>Origin Server Agent. Specifically, when a Client Agent request</title>
      <p>N
∑ locservi
CHR = i=1</p>
      <p>N
∑ reqi
i=1
is generated, it is forwarded to a Surrogate Agent randomly
selected by the Redirection System (RS) Agent; then, such
request is handled according to the different considered
architectures. The reference schema was defined to evaluate a
single cluster scenario so that the considered Surrogate Agents
adhere to either a Clustered or Non Clustered (i.e.
Conventional or Cooperative) architecture. A single cluster
scenario allows a straightforward comparison of the
considered architectures and a generalization of the obtained
results to a CDN composed of different clusters.</p>
      <p>
        According to the ELDAMeth methodology [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] the behaviors
of the above mentioned Agents are modeled as hierarchical
state machines driven by ECA (Event-Condition-Action)
rules; moreover, agent interactions are enabled by multiple
coordination spaces based on different coordination models
(e.g. message passing, tuples, publish/subscribe). As an
example, the Statecharts-based model of the behavior of the
Surrogate Agent in the CoopArch architecture is reported in
Figure 2.
      </p>
    </sec>
    <sec id="sec-13">
      <title>B. Simulation parameters</title>
      <p>The considered simulation parameters are organized in
architecture-dependent and architecture-independent
parameters.</p>
      <p>The architecture-independent parameters are:
•
•
•
•
•
•
•</p>
      <p>The number of objects that are contained in the Origin
Server (NO). NO is set to 100 and the objects are only
considered to be static.</p>
      <p>The number of Surrogates (NS), which is set in the
range [2..10] to consider clusters of surrogates of
different dimensions (small, medium, and large).</p>
      <p>The percentage of objects that are stored in a surrogate
with respect to the objects stored in the origin server
(C%). C% is varied from 1% to 1/NS with a step of
1% for Clustered architecture as content cannot be
replicated and from 1% to 80% with a step of 1% for</p>
    </sec>
    <sec id="sec-14">
      <title>SimpleArch and CoopArch.</title>
      <p>
        The average latency times among architecture
components: (i) between clients and surrogates (TCS),
(ii) between surrogates and origin server (TSO), and
(iii) among surrogates (TSS). As clients are very close
to surrogates, surrogates of the same cluster are close
to each other, and the origin is usually far away from
surrogates and clients, the following relationship
among the average latency times are established:
TSO=3*TSS=9*TCS. In the simulation runs the average
latency times are set as follows: TSO=90ms,
TSS=30ms, TCS=10ms. The instantaneous values of
latency times among architecture components are
calculated accordingto the following link delay model
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] by setting δm equals to TCS, TSO and TSS depending
of the link endpoint components:
δ i = K f δ m + N(K v δ m ,
      </p>
      <p>K v δ m )
(5)
K f + K v = 1 K f , K v ≥ 0
where δm is the mean delay and δi is the instantaneous
delay for a given message. δi is the sum of a fixed part
and a variable part. Constrains guarantee that the mean
of δi is equal to δm. The variable part of δi is generated
by a normal random variable whose mean and
variance are set to Kvδm. The distribution of the
normal variable is truncated to -Kfδm in order to assure
that δi cannot assume negative values. To limit the
delay variability Kf is set to 0.7.</p>
      <p>The policy for content eviction in surrogates (EP) can
be of the following types:
o Random: the object to be evicted is randomly
chosen.
o Last access: the evicted object is the one that has
not been requested for the longest time.
o Rank: the evicted object is the less requested
one.</p>
      <p>Average rate of client requests (λC) which are issued
according to an exponential probability density
function. λC is set as {0.1, 0.01, 0.001}.</p>
      <p>
        The type of distribution of the content popularity
(CDP), which can be uniform (i.e. all the NO objects
have the same popularity) or Zipf (i.e. the NO objects
are requested considering the object popularity
distributed according to a Zipf probability density
function). In particular, popularity of most popular and
less popular objects is defined according to a variant
of the algorithm proposed in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] which is focused on
static Web objects.
      </p>
      <p>With reference to CoopArch there is only a specific parameter
which is the number of neighbors NN of each surrogate and is
set in the range [1..NS-1].</p>
    </sec>
    <sec id="sec-15">
      <title>With reference to the Clustered architectures (M/SArch,</title>
      <p>MCArch and P2PArch) the following specific parameters are
defined:
•
•</p>
      <p>The type of distance (DST) between the surrogate
originally contacted by the client and the surrogate
that actually serves the client request, can be:
o Euclidean, the distance is evaluated as the square
root of the sum of the squares of the following
distances: (i) the distance between the client and
the surrogate originally contacted by the client
and (ii) the distance between the originally
contacted surrogate and the surrogate that
actually served the client request.
o Manhattan, the distance is evaluated as the sum
of the distances introduced in the Euclidean case.
o Homogeneous, the distance is set equal to the
distance between the client and the surrogate
originally contacted.</p>
      <p>The average latency time (TCAS) between the surrogate
originally contacted by the client and the surrogate
that actually served the client request. The value of
TCAS depends on the considered type of distance (DST),
thus it is set to:</p>
      <p>TC2S + TSS when DST=Euclidean,</p>
      <p>2
(TCS+TSS) when DST=Manhattan, and TCS when
DST=Homogeneous. In the simulation runs as
TCS=10ms and TSS=30ms, TCAS is equals to 31.62ms,
40ms and 30ms in the Euclidean, Manhattan, and
Homogeneous case respectively. The instantaneous
values are calculated according to the defined link
delay model (see Eq. 5) by taking δm equals to TCAS.</p>
    </sec>
    <sec id="sec-16">
      <title>C. Simulation Results</title>
      <p>In this Section, two sets of simulation results are presented and
discussed. The first set is related to a two-surrogate cluster
scenario; whereas the second one is related to specific choices
for the content request distribution (CPD=Zipf) and the
eviction policy (EP=Rank). Both scenarios refer to a
Manhattan distance type among surrogates as this setting
represents more realistic scenarios.</p>
    </sec>
    <sec id="sec-17">
      <title>1) Two-surrogate cluster analysis</title>
      <p>This analysis allowed evaluating the AUPL, CHR and UT
performance indices of all the considered architectures (see
Section II) in case the cluster consists of two surrogates
(NS=2). In particular, simulations are executed by setting
1,2
1
0,8
0,6
0,4
0,2
0
1,2
1
0,8
0,6
0,4
0,2
0
1,2
1
0,8
0,6
0,4
0,2
0
λC=0.01, CPD={uniform, Zipf}, DST=Manhattan and by
varying EP. With reference to the C% parameter, although the
C% parameters is varied in the range [1%..1/NS] (step 1%) for
the Clustered architectures as their surrogates do not store
replicated contents, C% is varied till 80% for Non Clustered
architectures to evaluate performances in case of larger cache
dimensions.</p>
      <p>Due to space limitations only a subset of the simulation
results are reported. In particular, the results for the UT,
performance index with CDP=Zipf and the three considered
Eviction Policies (Random, Last Access, Rank) are reported in
Figure 3a-c, whereas the results for CHR and AUPL with
CDP=Zipf and EP={Rank} are reported in Figure 4a and 4b
respectively.</p>
      <p>0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1</p>
      <p>(c) EP=Rank
Figure 3. UT for two surrogates, Zipf content request distribution, distance of
the Manhattan type and Random (a), Last Access (b) and Rank (c) eviction
policy.</p>
      <p>The analysis of all the obtained simulation results led to
the following important considerations:
•</p>
      <p>With CDP=uniform the Clustered architectures
(M/SArch, MCArch and P2PArch) outperform the
SimpleArch and CoopArch for the CHR and UT
performance indices as the C% increases. With respect
to the AUPL the architecture with higher performance
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1</p>
      <p>(a) EP=Random
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
(b) EP=Last access</p>
      <p>SimpleArch
M/SArch_1
M/SArch_2
M/SArch_3
M/SArch_4
MCArch
P2PArch
CoopArch
SimpleArch
M/SArch_1
M/SArch_2
M/SArch_3
M/SArch_4
MCArch
P2PArch
CoopArch
SimpleArch
M/SArch_1
M/SArch_2
M/SArch_3
M/SArch_4
MCArch
P2PArch
CoopArch
•
is MCArch if 10%&lt;=C%&lt;=1/NS(=50%); only if C% is
very small (&lt;=2%) the SimpleArch can achieve better
performance. Moreover, CHR and UT performance
indices are not influenced by the adopted eviction
policy whereas AUPL registers only small variations.
With CDP=Zipf the Clustered architectures have
almost the same performances with respect to CHR
and UT and outperform the SimpleArch and
CoopArch. However, while in the uniform case
SimpleArch and CoopArch show similar performances
in this case CoopArch performs better than
SimpleArch. With respect to AUPL in the range
[10%..50%] of C%, MCArch is the architecture that
performs better; in case of small dimensioned
cache(&lt;2%) or large dimensioned cache (&gt;75%)
SimpleArch is the best performing architecture.
However, the percentage of objects that are stored in a
surrogate with respect to the objects stored in the
origin server should not exceed given thresholds
which are usually far lower than 75%.
1,2
1
0,8
0,6
0,4
0,2
0
700
600
500
400
300
200
100
0
0
0
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9</p>
      <p>(a) CHR
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9</p>
      <p>(b) AUPL
Other considerations which can be derived from the obtained
results are related to the relationships between the content
request distribution and the eviction policy; in particular, with
a uniform content request distribution, the eviction policy does
not affect the performance, whereas, in the case of a Zipf
content request distribution the use of the Random eviction
policy gives the best results for CHR and the Rank eviction
policy provides better performance for UT. Finally, among the
M/SArch architectures, the M/SArch_2 is the one performing
better.</p>
      <p>of a
cluster
with
variable
number
of</p>
      <p>In this analysis the AUPL, CHR and UT performances
indices have been evaluated by considering a Zipf content
request distribution, a distance of the Manhattan type, a Rank
eviction policy and by varying the number of surrogate NS in
{2, 3, 5, 10}. As among the M/SArch architectures the
M/SArch_2 performs better, it has been selected as the
representative Master/Slave architecture.
1
1</p>
      <p>SimpleArch
M/SArch_1
M/SArch_2
M/SArch_3
M/SArch_4
MCArch
P2PArch
CoopArch
SimpleArch
M/SArch_1
M/SArch_2
M/SArch_3
M/SArch_4
MCArch
P2PArch
CoopArch
1,2
1
0,8
0,6
0,4
0,2
0
1,2
1
0,8
0,6
0,4
0,2
0
1,2
1
0,8
0,6
0,4
0,2
0
1,2
1
0,8
0,6
0,4
0,2
0
0
0
0
0
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9</p>
      <p>(a) two surrogates
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9</p>
      <p>(b) three surrogates
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9</p>
      <p>(c) five surrogates
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9</p>
      <p>(d) ten surrogates</p>
      <p>Due to space limitations only a subset of the simulation
results are reported. In particular, the results for the UT,
performance index with NS in {2, 3, 5, 10} are reported in
1
1
1
1</p>
      <p>SimpleArch
M/SArch_2
MCArch
P2PArch
CoopArch
SimpleArch
M/SArch_2
MCArch
P2PArch
CoopArch
SimpleArch
M/SArch_2
MCArch
P2PArch
CoopArch
SimpleArch
M/SArch_2
MCArch
P2PArch
CoopArch
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9</p>
      <p>1
(a) CHR
0
0,1 0,2 0,3
0,4</p>
      <p>CHR and UT of the Clustered architectures are better
than those of the SimpleArch and CoopArch by
increasing NS. Moreover, differences in the CHR and
UT performance indices between Clustered
architectures and Non Clustered architectures notably
augment by increasing NS.</p>
      <p>Differences in the AUPL performance index between</p>
    </sec>
    <sec id="sec-18">
      <title>Clustered architectures and Non Clustered</title>
      <p>architectures tend to decrease by increasing NS with
reference to a C% in the range [1..1/NS].</p>
      <p>It is worth noting that the performance indices of the Non
Clustered architectures may significantly improve by
increasing C%. In particular, with respect to AUPL (see
Figure 6b), the Non Clustered architectures can perform better
than the Clustered architectures in case C% is greater than a
given value: C%=68% for NS=2, C%=52% for NS=3,
C%=52% for NS=5 and C%=40% for NS=10. However, cache
size of a surrogate with respect to contents from a same origin
server should not exceed given thresholds which are usually
far lower than the aforementioned values. Finally, among the
Clustered architectures MCArch performs slightly better than
P2PArch which in turns performs better than M/SArch_2.</p>
      <p>
        CONCLUSIONS
In this paper the Agent-Based Modeling and Simulation
(ABMS) approach has been exploited in the evaluation of
different CDN architectures: Conventional, Cooperative and
Clustered. Such architectures have been modeled as
MultiAgent Systems and their performances analyzed and compared
on the basis of the most important quantitative performance
indices for CDNs (agent user perceived latency, cache hit ratio
and utility) in significant scenarios. The obtained simulation
results confirm that the Clustered architectures outperform the
Conventional and Cooperative architectures so providing
useful information for the setting of the different architecture
parameters. Moreover, the experimentation phase has shown
the flexibility and effectiveness of the ABMS approach based
on the ELDAMeth methodology for the modeling and analysis
through simulation of artificial complex systems. Future
research efforts are geared to develop the Clustered
architectures atop large-scale distributed platforms such as
PlanetLab [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and MetaCDN [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] to evaluate their
performances in complex and real scenarios.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Broberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Buyya</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Tari</surname>
          </string-name>
          , “MetaCDN: Harnessing '
          <article-title>Storage Clouds' for high performance content delivery</article-title>
          ,
          <source>” Journal of Network and Computer Applications</source>
          <volume>32</volume>
          (
          <issue>5</issue>
          ),
          <fpage>1012</fpage>
          -
          <lpage>1022</lpage>
          .
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Buyya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pathan</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Vakali</surname>
          </string-name>
          , “
          <source>Content Delivery Networks: Principles and Paradigms,” Lecture Notes Electrical Engineering</source>
          , Vol.
          <volume>9</volume>
          ,
          <string-name>
            <surname>Cap</surname>
          </string-name>
          . 12, Springer, Aug,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Cossentino</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Fortino</surname>
          </string-name>
          , and W. Russo, eds),
          <source>Inderscience</source>
          ,
          <volume>2</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>132</fpage>
          -
          <lpage>170</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fortino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Garro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mascillaro</surname>
          </string-name>
          , W. Russo, “
          <article-title>Agent-based Modeling and Simulation of Cooperative Content Distribution Networks,”</article-title>
          <source>in Proceedings of the 2nd Int'l Workshop on Multi-Agent Systems and Simulation (MAS&amp;S'07 - as part of the EUROSIS European Simulation and Modeling Conference)</source>
          ,
          <source>St. Julians, Malta</source>
          ,
          <fpage>22</fpage>
          -
          <lpage>24</lpage>
          October,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fortino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Garro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mascillaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Russo</surname>
          </string-name>
          .
          <article-title>Modeling Multi-Agent Systems through Event-driven Lightweight DSC-based Agents</article-title>
          .
          <source>Int. J. of Agent-Oriented Software Engineering, Special Issue "Best of AT2AI-6"</source>
          ,
          <issue>4</issue>
          (
          <issue>2</issue>
          ):
          <fpage>113</fpage>
          -
          <lpage>119</lpage>
          ,
          <year>2010</year>
          , Inderscience Enterprises Ltd.,
          <string-name>
            <surname>United Kingdom</surname>
          </string-name>
          (UK).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fortino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Garro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mascillaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Russo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vaccaro</surname>
          </string-name>
          .
          <article-title>Distributed architectures for surrogate clustering in CDNs: a simulation-based analysis</article-title>
          .
          <source>Proceedings of the 4th UPGRADE-CN Workshop on Content Management</source>
          and
          <article-title>Delivery in Large-Scale Networks jointly held with the ACM/IEEE International Symposium on High Performance Distributed Computing (HPDC'09)</article-title>
          , June 09-10,
          <year>2009</year>
          , Munich, Germany.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fortino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Mastroianni</surname>
          </string-name>
          , W. Russo, “
          <article-title>A Hierarchical Control Protocol for Group-Oriented Playbacks Supported by Content Distribution Networks</article-title>
          ,
          <source>” Journal of Network and Computer Applications</source>
          , Elsevier
          <volume>32</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>135</fpage>
          -
          <lpage>157</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fortino</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Russo</surname>
          </string-name>
          , “
          <article-title>Using P2P, GRID and Agent Technologies for the Development of Content Distribution Networks”</article-title>
          ,
          <source>In Future Generation Computer Systems. doi:10</source>
          .1016/j.future.
          <year>2007</year>
          .
          <volume>06</volume>
          .007. 2008
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Garro</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Russo</surname>
          </string-name>
          , “
          <article-title>easyABMS: a domain-expert oriented methodology for Agent Based Modeling and Simulation</article-title>
          . Simulation,”
          <source>Modelling Practice and Theory</source>
          , Vol.
          <volume>18</volume>
          , pp.
          <fpage>1453</fpage>
          -
          <lpage>1467</lpage>
          ,
          <year>2010</year>
          ,
          <string-name>
            <surname>Elsevier</surname>
            <given-names>B.V.</given-names>
          </string-name>
          , Amsterdam, The Netherlands.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Hoffer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>George</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Valacich</surname>
          </string-name>
          .
          <source>Modern Systems Analysis and Design</source>
          . Prentice
          <string-name>
            <surname>Hall</surname>
            <given-names>PTR</given-names>
          </string-name>
          , Upper Saddle River, NJ, USA,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>N. R Jennings,</surname>
          </string-name>
          “
          <article-title>An agent-based approach for building complex software systems</article-title>
          ,
          <source>” Communications of the ACM</source>
          ,
          <volume>44</volume>
          (
          <issue>4</issue>
          ):
          <fpage>35</fpage>
          -
          <lpage>4</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ni</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.H.K.</given-names>
            <surname>Tsang</surname>
          </string-name>
          . “
          <string-name>
            <surname>Large-Scale Cooperative</surname>
          </string-name>
          Caching and
          <article-title>Application-Level Multicast in Multimedia Content Delivery Networks</article-title>
          ,” IEEE Communications,
          <volume>43</volume>
          (
          <issue>5</issue>
          ), pp.
          <fpage>98</fpage>
          -
          <lpage>105</lpage>
          , May,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>A-M.K. Pathan</surname>
            and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Buyya</surname>
          </string-name>
          .
          <article-title>“A Taxonomy and Survey of Content Delivery Networks</article-title>
          ,
          <source>” Technical Report, GRIDS-TR-2007-4</source>
          ,
          <string-name>
            <given-names>Grid</given-names>
            <surname>Computing</surname>
          </string-name>
          and Distributed Systems Laboratory, The University of Melbourne, Australia, Feb.
          <volume>12</volume>
          .
          <year>2007</year>
          . http://www.gridbus.org/reports/CDN-Taxonomy.pdf
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>G.</given-names>
            <surname>Peng</surname>
          </string-name>
          , “CDN: Content Distribution Network”
          <source>Technical Report TR125</source>
          , Experimental Computer Systems Lab, Stony Brook University,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>L.</given-names>
            <surname>Peterson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bavier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fiuczynski</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Muir</surname>
          </string-name>
          , “Experiences Building PlanetLab,
          <source>” Proceedings of the Seventh Symposium on Operating System Design and Implementation</source>
          (OSDI),
          <year>November 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <string-name>
            <surname>Z-M Gu</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y-C Tao</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Wei</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Shi</surname>
          </string-name>
          ,
          <article-title>"Modeling Web objects' popularity,"</article-title>
          <source>In Proc. of International Conference on Machine Learning and Cybernetics</source>
          ,
          <volume>18</volume>
          -
          <fpage>21</fpage>
          Aug., Vol.
          <volume>4</volume>
          , pp.
          <fpage>2320</fpage>
          -
          <lpage>2324</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sivasubramanian</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. van Halderen</surname>
          </string-name>
          , and
          <string-name>
            <surname>G. Pierre.</surname>
          </string-name>
          “
          <article-title>Globule: a UserCentric Content Delivery Network</article-title>
          .,”
          <source>In Proc of the 4th International System Administration and Network Engineering Conference</source>
          , Sept.
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>K.</given-names>
            <surname>Stamos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Pallis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vakali</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. D.</given-names>
            <surname>Dikaiakos</surname>
          </string-name>
          , “
          <article-title>Evaluating the utility of content delivery networks” Proceedings of the 4th edition of the UPGRADE-CN workshop on Use of P2P, GRID and agents for the development of content networks (UPGRADE-CN '09)</article-title>
          . ACM, New York, NY, USA,
          <fpage>11</fpage>
          -
          <lpage>20</lpage>
          .
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>K.</given-names>
            <surname>Stamos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Pallis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vakali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Katsaros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sidiropoulos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Manolopoulos</surname>
          </string-name>
          , “
          <article-title>CDNsim: A simulation tool for content distribution networks</article-title>
          .
          <source>” ACM Transactions on Modeling and Computer Simulation - TOMACS</source>
          , vol.
          <volume>20</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>40</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>