<!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>Distributed Adaptive VoIP Load Balancing in Hybrid Clouds*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jorge M. Cortés-Mendoza</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrei Tchernykh</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Yu. Drozdov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pascal Bouvry</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ana-Maria Simionovici</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arutyun Avetisyan</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>, Moscow Institute of Physics and Technology</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>, University of Luxembourg</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>CICESE Research Center</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <fpage>676</fpage>
      <lpage>686</lpage>
      <abstract>
        <p>Cloud computing as a powerful economic stimulus widely being adopted by many companies. However, the management of cloud infrastructure is a challenging task. Reliability, security, quality of service, and cost-efficiency are important issues in these systems. They require resource optimization at multiple layers of the infrastructure and applications. The complexity of cloud computing systems makes infeasible the optimal resource allocation, especially in presence of uncertainty of very dynamic and unpredictable environment. Hence, load balancing algorithms are a fundamental part of the research in cloud computing. We formulate the problem of load balancing in distributed computer environments and review several algorithms. The goal is to understand the main characteristics of dynamic load balancing algorithms and how they can be adapted for the domain of VoIP computations on hybrid clouds. We conclude by showing how none of these works directly addresses the problem space of the considered problem, but do provide a valuable basis for our work.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>and storage to deploy services. (Scalability) The user can increase or decrease resources (storage,
CPUs, memory, etc.) at any time, he only pays for what he is really used. (Mobility) The data can be
accessed anytime anywhere, the user only needs a device with internet connection (laptop,
smartphone, etc.). (Virtualization) It is a technology used to share resources. It makes a single physical
resource appear as many individually separate virtual resources. It allows the use of the server capacity
effectively, reducing unused CPU cycles, and minimizing wasted energy.</p>
      <p>The management of the large-scale cloud infrastructure is a challenge. Resource management for
clouds has been subject to research and development for many years. Here, we discuss different
aspects related with our study.</p>
      <p>
        Load balancing is a mechanism to improve the overall performance of the system by distribution
of the workload between the nodes. By reducing idle times, providers can improve the profit and
achieve a higher user satisfaction. Proper load balancing can help on utilizing the available resources,
thereby, minimizing the resource consumption [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. It also helps in enabling scalability, avoiding
bottlenecks and over-provisioning, reducing response time, and energy consumption.
      </p>
      <p>
        Quality of service (QoS). In cloud computing, providers need to ensure that sufficient amount of
resources are provisioned to ensure that QoS requirements of cloud service consumers such as
deadline, response time, and budget constraints are met [
        <xref ref-type="bibr" rid="ref19 ref3">3, 19</xref>
        ]. Service Level Agreements (SLAs) are
binding contracts between a service provider and the user.
      </p>
      <p>These SLAs contain the list of services, metrics, responsibilities of the provider and auditing
mechanisms. Any violation will lead to a penalty. Several ways exist to provide QoS: scheduling,
admission control, traffic control, dynamic resource provisioning, etc.</p>
      <p>
        Energy management. Energy consumption is determined by hardware efficiency, resource
management system deployed on the infrastructure, and the efficiency of applications running on the
system. The efficiency is very important due to its impacts to users in terms of resource usage costs,
which are typically determined by the total cost of ownership incurred by a resource provider [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The
goal is to avoid utilization of more resources than is required by the application. One solution to this
problem is to migrate virtual machines for one node to another and shut down the idle nodes. Such a
Dynamic Component Deactivation (DCD) policy [
        <xref ref-type="bibr" rid="ref18 ref5">5, 18</xref>
        ] switches off parts of the computer system
that are not utilized.
      </p>
      <p>The paper is structured as follow. The next section presents several important issues of dynamic
load balancing algorithms. Section 3 provides details of the Internet telephony and voice over IP
telephony (VoIP). Section 4 describes VoIP provider model and quality of service (QoS). Section 5
presents more formal definition (jobs, cloud infrastructure and criteria). Section 5 gives a brief overview
of the load balancing algorithms in cloud computer environments. Section 6 presents our load
balancing algorithm. Section 7 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Load balancing</title>
      <p>
        Load balancing is a job distribution decision-making process used in many production systems
and computing. It is widely known as a technique for the efficient utilization of resources, and it can
be implemented with hardware and software support. Jobs arrival rate, communication delay, the
variability of the job parameters, and other factors affect the performance of the systems, to deal with such
complex factors it is essential to design efficient and scalable load balancing algorithms. It helps in
implementing fail-over, scalability, avoiding bottlenecks, over-provisioning, reducing response time,
reducing energy consumption, etc. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
      </p>
      <p>Load balancing of services, computational jobs, virtual machines, virtual storages, database
requests, and VoIP traffic on the network are identified as a major concern for the efficient use of cloud
computing.</p>
      <p>
        The development of an effective dynamic load balancing algorithm involves many important
issues: load estimation, load levels comparison, performance indices, system stability, amount of
information exchanged among nodes, job resource requirements estimation, job selection for transfer,
remote nodes selection, etc. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Important aspects of the problem are distribution of the nodes, storage
replications, and virtual machine migrations.
Distribution of nodes. Some algorithms are efficient only if the nodes are closely located and the
communication delays are negligible. However, it is necessary to consider communication delay in the
cloud infrastructure.
      </p>
      <p>Storage replications. Full replication of data increases the storage and communication overhead.
Partial replication saves information in different nodes (with overlap), so that, the utilization, fault
tolerance and availability of data are increased.</p>
      <p>Virtual machine migrations. A heavily loaded node can migrate its virtual machines (VM) to
reduce the overload, but determinate which VMs have to be moved, the destination node, and the profit
of the migration are questions difficult to answer.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Internet telephony</title>
      <p>The Internet telephony (VoIP–Voice over Internet Protocol) refers to the provisioning of
communication services over the Internet, rather than via the traditional telephone network. VoIP services
significantly reduce calling rates, leading VoIP vendors continue offering extraordinary service using
modern cloud technology. Selection of a cloud based VoIP further reduces resource costs, adds new
features and capabilities, provides easier implementations, uniform deployments, and integrates
services that are dynamically scalable.</p>
      <p>To deploy and manage effective telephony tools via clouds a variety of factors need to be
improved. The most important one is the utilization of the infrastructure.
(b)</p>
      <p>Fig. 3. Data centers in clouds (a) and the cloud federation (b).</p>
      <p>However, it has several unsolved problems. To optimize the overall system performance, a
processor load of the voice signal processing over IP (jobs) should be balanced. The overload of a
processor reduces the quality of the call. A similar problem could happen with the network capability.
Further, the processor idle time increases the useless expenses of the provider.</p>
      <p>Load-balancing maximizes VoIP performance by keeping processor idle time and interprocessor
communication overhead as low as possible. To minimize the overall computation time, all processors
should contain the same amount of computational work.</p>
      <p>It is necessary to design a multi-level distributed VoIP load balancer to improve the local load
imbalance in data centers, and new techniques to scale on federation of data centers (Figure 4).</p>
      <p>The most important cause of load imbalance in VoIP is the dynamic nature of the problem over
time (in both computational and communication costs). Other causes may include the interference
from other users in time-sharing mode, the migration process, the time arrival, variability on the
utilization process, etc.</p>
      <p>Most load balancing algorithms focus on deterministic environments assuming knowledge of the
user jobs and system parameters. In general, it is impossible to get exact knowledge about the system.
Parameters like processor speed, number of available processors, and actual bandwidth are changing
over the time. However, load balancing algorithms should search how to improve resources and ensure
Quality of Service (QoS).</p>
    </sec>
    <sec id="sec-4">
      <title>4. Cloud provider model</title>
      <p>An important factor of VoIP on cloud computing is the rental time of the infrastructure. The VoIP
providers rent the resources during a time interval, this factor affects the incoming of the providers and
even can increase the cost of the service, for this reason is important to consider when a new resources
are rented and the rented time interval.</p>
      <p>Fig. 4 shows an example of VMs that provide VoIP services. This example consider the load
balancing of the utilization on the VMs. In Figure 5a, the VoIP provider needs three VMs to deal with the
load of time during the day. starts its execution when cannot process all calls in the system.
During the rental time of , its utilization is low, in this case the provider has to paid for the rent of
three VMs. Figure 5b shows the same example, but in this case the load balancer distributes the arrival
calls between and . When rental time is almost completed, a consolidation technique is
used to reduce utilization (number of call running on ). This approach helps providers to
reduce the number of VMs for calls processing.
(a)
Rent of 3 virtual machines.
(b)
Rent of 2 virtual machines.</p>
      <p>VM 2
M
V
tfo VM 1
n
u
o
m
A</p>
      <p>Time-interval</p>
      <p>VM 1</p>
      <p>Overflow of call on the VM</p>
      <p>VoIP providers also have to guarantee QoS to the users. Quality of service requirements for VoIP
are very important but several factor can affect the quality of calls. The quality degradation is
determined by the transit of the packets across the Internet, queuing delays at the routers, packet travel time
from source to destination, jitter (deviations of the packet inter-arrivals), packet loss, call set-up time,
and call tear-down time, etc. Processor utilization of 100% provides the best expected performance.
However, with increasing number of call, hence utilization, CPU cannot be able to handle the stress
anymore and jitters and broken audio symptoms will appear (Fig. 5).</p>
      <p>M
V
f
tno VM1
u
o
m
A</p>
      <p>VM
2
Time-interval</p>
      <p>Fig. 6 shows an example of VM rental to provide VoIP services with QoS. In Figure 6a, the VoIP
provider needs three VMs to deal with the load during a day. In this case, the QoS is not considered as
independent optimization criteria. The utilization of is above the utilization threshold. Figure 6b
shows the same example. However, load balancing guarantees the QoS by maintaining the VMs
utilization under the utilization threshold. Moreover, it reduces the amount of VMs to process calls.</p>
      <p>This model allows providers to deploy services in different countries by renting infrastructure in
public or/and private clouds providers.</p>
      <p>(a)
Rent of 3 virtual machines without QoS.</p>
      <p>(b)
Rent of 3 virtual machines with QoS.</p>
      <p>VM2
Overflow of utilization to ensure</p>
      <p>QoS</p>
    </sec>
    <sec id="sec-5">
      <title>5. Formal definition</title>
      <p>We address load balancing problem in the hierarchical federated cloud environment, where clouds
of different providers collaborate to be able to fulfill requests during peak demands. We assume
heterogeneous clouds and data centers with different number of cores, execution speed, energy efficiency,
amount of memory, bandwidth, etc.</p>
      <sec id="sec-5-1">
        <title>5.1 Infrastructure model</title>
        <p>Let us consider cloud that consists of nodes (data centers, sites) . Each node
, for all , consists of servers (blades, boards) and processors per board. We assume
that processors in the data center are identical and have the same number of cores. Let be the
number of identical cores of one processor in .</p>
        <p>We denote the total number of cores belonging to the data center by , and
belonging to all data centers of the cloud by .</p>
        <p>The processor of data center is described by a tuple { , , , , }, where is a
measure of instruction execution speed (MIPS), is the amount of memory (MB), is the
available bandwidth (Mbps), and is energy efficiency (MIPS per watt).We assume that data
centers have enough resources to execute any job but their resources are limited.</p>
        <p>A data center contains a set of routers and switches that transport traffic between the servers and
to the outside world. They are characterized by the amount of traffic flowing through it (Mbps). A
switch connects a redistribution point or computational nodes. The connections of the processors are
static but their utilization change, overload can occur due to a large amount of I/O being pushed
through it. The interconnection network architecture is Three-tier data center architectures that
include: access, aggregation, and core layers. The interconnection between clouds will be done through
public Internet.</p>
        <p>In addition, to satisfy requests during the peak demands that exceed the capacity of the cloud , it
collaborates with external independent clouds (sites) .</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2 Job model</title>
        <p>We consider n independent jobs that must be scheduled on federation of clouds. The
job (call) is described by a tuple { } that consist of: its release time , the duration
of the job and the contribution to the processor utilization of the job j. The release time of a job is not
available before the job is submitted, the duration of the job is unknown until the job has completed its
execution, and contribution is a constant for a given job. Due to the virtualization technique and
resource sharing, the resources are constantly changing. A job can be allocated to one cloud only. Jobs
submitted to the one cloud can be migrated to another one.
is defined as a set of indexes {
} of data</p>
        <p>The admissible set of data centers for a job
centers that can be used for migration of the job.</p>
      </sec>
      <sec id="sec-5-3">
        <title>5.3 Optimization criteria</title>
        <p>In this paper, two criteria are considered for the model: the billing hours for VMs to provide a
service, and their utilization to increase quality of service.</p>
        <p>In order to optimize VoIP cloud solutions, we use metrics that are useful for systems with VMs.
They have to allow the provider to measure the cost of the system in terms of number of demanded
VMs and time of their using. These metrics enable us to compare different load balancing policies:
total VM rented ( ) (number of billing hours) and utilization of VM ( ).</p>
        <p>allows providers to measure the cost of the system in terms of parameters that helps
him to establish utility margins.</p>
        <p>In general, QoS standards for VoIP traffic are set for voice. One of the possible generalizations of
the voice quality is processor utilization. Each codec provides a certain quality of speech only if
processor utilization is low enough in order to ensure QoS. If the number of calls is increased, and
utilization is close to 100%, CPU cannot be able to handle the stress anymore and reduced audio quality will
appear. Hence, we use as a way of measure the user satisfaction for the service.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Related work</title>
      <p>
        Previously, we briefly overview the load balancing algorithms in different computer environments
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Now, we consider the advances in the field of cloud computing. Table I presents the main
characteristics of the algorithms, and metrics used to study their quality.
      </p>
      <p>
        HBB -LB - Honeybee Foraging Behavior [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. It is a dynamic load balancing algorithm for
scheduling of tasks in cloud computing environment. The proposed algorithm balances the priority of
tasks on the machines to minimize the waiting time of the tasks in the queue. The tasks (honey bees)
are removed from the over loaded VM, they update the number of priority tasks and load of VMs, this
will help tasks to choose a VM based on load and priorities. Whenever a high priority task has to be
submitted to other VMs, it should consider the VM that has minimum number of high priority tasks so
that the particular task will be executed at the earliest.
      </p>
      <p>
        DT - PALB - Power Aware Load Balancing [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. A new version of the algorithm Power Aware
Load Balancing named Double Threshold PALB uses the migration of VMs to minimize the energy
consumption in the system. When the utilization of a node is under 25% (lower threshold), the load
balancer migrates workload (VMs) of the node to reduce its utilization to zero and shut down the node.
      </p>
      <p>
        TBSLB-PSO - Particle Swarm Optimization [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. It is a load balancing mechanism for cloud
computing. This algorithm uses Central Task Scheduler (CTS) to transfer extra tasks from an
overloaded VM to a new similar VM by applying the information on a blackboard; the blackboard contains
all cloud schedulers about VM features, executing tasks and Quality of Service (QoS). The migration
process considers the amount of data, memory, bandwidth and numbers of CPU of VM. Idle Physical
Machines (PM) will not be chosen as the new PM hosts, this allows to decrease energy consumption.
      </p>
      <p>
        LBS-BF - Load Balance Scheduling Based on firefly [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. It is a load balancing mechanism for
cloud computing. The load balancer computes a load index for resources shared and it will be initiated
to effectively use the resources dynamically. The fireflies attraction is linked to objective function and
monotonic decay of the attractiveness with distance, it (in the firefly algorithm) helps to generate
scheduling index and the distance calculation serves to find the closely associated nodes in the cloud
network. The technic proposed three parameters for the algorithm: attraction between the nodes and
the request, the scheduling index, and the distance between nodes. This parameters consider the CPU
rate, memory rate, processing time and the loads to the nodes.
      </p>
      <sec id="sec-6-1">
        <title>A2LB - Autonomous Agent Based Load Balancing Algorithm [13]. It is a dynamic load bal</title>
        <p>ancing algorithm for cloud environment. The load balancer mechanism comprises of three agents:
Load agent (LA), Channel agent (CA) and Migration agent (MA). LA is a static agent and it controls
information policy and maintains all detail of a datacenter, it most important job is to calculate the
load on every available VM. CA is a static agent, it controls the transfer policy, selection policy and
location policy. Finally, MA is an ant (special category of mobile agents), it will move to other
datacenters and communicate to enquire the status of VMs.</p>
      </sec>
      <sec id="sec-6-2">
        <title>GA – Genetic Algorithm based on load balancing [14]. It is a load balancing algorithm for</title>
        <p>cloud computing. It uses a binary representation for the chromosomes, a random single point
crossover, and a mutation with probability of 0.05. This algorithm considers an estimate of penalty (delay
cost), the amount of money that cloud service provider needs to pay to customer when job finishing
time being more than the deadline advertised by the service provider
HBB-LB 
DT-PALB 
TBSLB-PSO 
LBS-BF
A2LB
GA
FFA-DLB


 













</p>
        <p>Task
VM</p>
        <p>
Task 


Task 









</p>
      </sec>
      <sec id="sec-6-3">
        <title>FFA-DLB - Fuzzy-based Firefly Algorithm for Dynamic Load Balancing in Cloud Compu</title>
        <p>
          ting [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. It is a dynamic load balancing in Cloud computing environment and it is a combination of
Firefly algorithm with the fuzzy logic, this algorithm separate the cloud based on the frequent node
allocation to balance the load across the variety of partitions. The goal is to separate the hotspots and
least loaded nodes, then classify the nodes into groups (like lightly loaded, normal, and heavily
loaded). The set of tasks enter into the load balancer after the partition of the cloud. This algorithm
consider a balancing factor based on the parameters of the VM and the files to be processed from input. The
fuzzy inference engine determine to assign the tasks, with a condition that already assigned tasks are
migrated only when a high necessity arises.
        </p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>7. Adaptive load balancing algorithm</title>
      <p>
        Campos and Scherson proposed a dynamic distributed load balancing algorithm named Rate of
Change (RoC-LB) [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The balancer (Bal) makes job distribution decisions at runtime, locally and
asynchronously. Each Bal considers its own load; migration does not depend on the load of other Bals.
The migration decision depends on current load, load changes in the time interval (Rate of Change),
and current load balancing parameters.
      </p>
      <p>To define WHEN load balancing should be started the algorithm considers three thresholds:
upper bound, lower bound, and critical bound. If the load is larger than then the Bal is
considered as a source of the load and can satisfy job requests. If the predicted load is less than the Bal
is considered as a sink. When the current load is between these two bounds, the Bal is in the neutral
state. However, if the load or the predicted load fall below , the Bal immediately initiates a request
for a load.</p>
      <p>
        We extend this algorithm and design a VM-Aware Adaptive Rate of Change (VMA-AdRoC)
algorithm that is based on an adaptive decision policy and virtual machine utilization optimization.
Adaptability is essential for the efficient use of cloud infrastructure. Clouds differ from previous
computing environments in the way that they introduce a continuous uncertainty into the computational
process. The uncertainty becomes the main feature of the cloud computing and the principal difficulty
of the efficient resource management [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>There are several major sources of uncertainty: dynamic elasticity, dynamic performance
changing, virtualization, loosely coupling application to the infrastructure, among many others. A workload
in such an environment is not predictable and can be changed dramatically. It is impossible to get
exact knowledge about the system. Parameters such as an effective processor speed, number of available
processors, and actual bandwidth are changing over the time.</p>
      <p>VMA-AdRoC takes into account these uncertainties. The accuracy of each balancing decision
depends on the actual cloud characteristics at the moment of balancing. Cloud parameters are changing
over time and balancing parameters should be adapted to these changes. This dynamic and adaptive
approach can cope with different workloads, and cloud properties. To adjust , , and , the past
information within a given time interval can be analyzed to determine an appropriate parameters. This
interval should be set according to the dynamics of the system.</p>
      <p>Let be the utilization of ith Bal at time . Let be the
utilization change during sample interval = . We named it utilization change speed or utilization
consumption speed. The sampling time interval is an adaptive parameter; finer sampling allows
detecting the need to balance the system faster, but it generates a larger communication overhead.</p>
      <p>Bal uses as a predictor of the future utilization. It can be also used to estimate the number of
sampling intervals to reach an idle state. Let be the response delay of at time . It is an adaptive
parameter, and it is defined as the time it takes between the initiation of a load request and the
reception of load. If the time to reach idle state is less than , then Bal must initiate a migration
request. Let us note that and are independent from others Bals.</p>
      <p>Fig. 7 shows possible load balancing scenarios. Solid line shows real utilization, dashed lines are
predicted utilization.</p>
      <p>At time the Bal immediately initiates a request for load regardless of the predicted future
utilization based upon the estimation value or it initializes migration of the load to other VM.
Estimation on is under but Bal cannot initiates a request because the request at is not arrived, a
new request only can be generate at . In VMA-AdRoC, unlike RoC-LB, if the utilization is above
than then the Bal sends jobs to the sinks.</p>
      <p>To define WHERE a load is requested from or send to, each Bal keeps two lists. The sink list
records Bals that previously needed jobs, and source list enrolls Bals that previously offered jobs. Bal that
initiates a request is considered to be a sink. A sink selects a Bal from its source list for a load request,
and sends a requesting message. The source can accept the request or broadcast the request to other
Bals from its own source list. Bal does not send several load requests at the same time. It has to wait
an answer for the first request until it sends another message. The result of this message is the load
coming from other Bal or the request comes back as unfulfilled.</p>
      <p>In our algorithm, each element of the source and sink lists includes not only IP address like in
RoC-LB, but utilization , of the corresponding Bal. This information is not accurate and updated
dynamically. In our case, choosing the sink/source node is a two-parameter problem. In the future
work, we consider also requested load , , , answer time of the request ,
admissibility of Bals, etc. The goal is to choose the most adequate compromise solution.</p>
    </sec>
    <sec id="sec-8">
      <title>8. Conclusions</title>
      <p>In this paper, we formulate and discuss load balancing problem addressing VoIP in cloud
computing federation. We define models for VoIP load balancing. We overview the last advances of load
balancing in distributed computer environments to understand the main characteristics and
requirements of load balancing algorithms. We show that none of these works directly addresses the problem
space of the considered problem, but do provide a valuable basis for our study.</p>
      <p>In real clouds, the load balancing bounds can be dynamically adjusted to cope with the dynamic
workload situation. To this end, the past workload must be analyzed for a certain time interval to
determine an appropriate lower and upper bounds. The time interval should be set according to workload
characteristics, communication delays, and cloud configurations.
While the scope of this work is the introduction of the adaptive dynamic distributed load
balancing algorithm, in future work, we also intend to evaluate the practical performance of the proposed
strategy and their derivatives to assess its actual efficiency and effectiveness. To this end, we plan
simulations using real VoIP traces and corresponding VoIP cloud configurations. Further, we will
compare our approach with other existing strategies which are typically based on round robin
approach.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1 Mell,
          <string-name>
            <given-names>P.</given-names>
            , and
            <surname>Grance</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>The NIST definition of cloud computing (draft)</article-title>
          .
          <source>NIST special publication</source>
          ,
          <volume>800</volume>
          (
          <issue>145</issue>
          ),
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2 García,
          <string-name>
            <given-names>J. L. G.</given-names>
            ,
            <surname>Yahyapour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            , and
            <surname>Tchernykh</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>“Load Balancing for Parallel Computations with the Finite Element Method”</article-title>
          . Computación Y Sistemas,
          <volume>17</volume>
          (
          <issue>3</issue>
          ),
          <fpage>299</fpage>
          -
          <lpage>316</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3 Buyya,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Calheiros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. N.</given-names>
            , and
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <surname>X.</surname>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>“Autonomic Cloud computing: Open challenges and architectural elements”</article-title>
          .
          <source>In Emerging Applications of Information Technology (EAIT)</source>
          ,
          <year>2012</year>
          Third International Conference on,
          <fpage>3</fpage>
          -
          <lpage>10</lpage>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4 Beloglazov,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Abawajy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            , and
            <surname>Buyya</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>“Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing”</article-title>
          .
          <source>Future Generation Computer Systems</source>
          ,
          <volume>28</volume>
          (
          <issue>5</issue>
          ),
          <fpage>755</fpage>
          -
          <lpage>768</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5 Tchernykh,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Pecero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. E.</given-names>
            ,
            <surname>Barrondo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            , and
            <surname>Schaeffer</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>“Adaptive energy efficient scheduling in Peer-to-Peer desktop grids”</article-title>
          .
          <source>Future Generation Computer Systems. Elsevier Science</source>
          , Volume
          <volume>36</volume>
          ,
          <string-name>
            <surname>July</surname>
            <given-names>2014</given-names>
          </string-name>
          , Pages
          <fpage>209</fpage>
          -
          <lpage>220</lpage>
          . DOI:
          <volume>10</volume>
          .1016/j.future.
          <year>2013</year>
          .
          <volume>07</volume>
          .011,
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6 Kansal,
          <string-name>
            <given-names>N. J.</given-names>
            , and
            <surname>Chana</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>“Cloud Load Balancing Techniques: A Step Towards Green Computing”</article-title>
          .
          <source>IJCSI International Journal of Computer Science Issues</source>
          ,
          <volume>9</volume>
          (
          <issue>1</issue>
          ),
          <fpage>238</fpage>
          -
          <lpage>246</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7 Alakeel,
          <string-name>
            <surname>A. M.</surname>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>“A guide to dynamic load balancing in distributed computer systems”</article-title>
          .
          <source>International Journal of Computer Science and Information Security</source>
          ,
          <volume>10</volume>
          (
          <issue>6</issue>
          ),
          <fpage>153</fpage>
          -
          <lpage>160</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8 Tchernykh,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Cortés-Mendoza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            ,
            <surname>Pecero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. E.</given-names>
            ,
            <surname>Bouvry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            , and
            <surname>Kliazovich</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Adaptive energy efficient distributed VoIP load balancing in federated cloud infrastructure</article-title>
          .
          <source>In Cloud Networking (CloudNet)</source>
          ,
          <year>2014</year>
          IEEE 3rd International Conference on (pp.
          <fpage>27</fpage>
          -
          <lpage>32</lpage>
          ). IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9 Krishna,
          <string-name>
            <given-names>P.</given-names>
            <surname>Venkata</surname>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>"Honey bee behavior inspired load balancing of tasks in cloud computing environments</article-title>
          .
          <source>" Applied Soft Computing</source>
          <volume>13</volume>
          .5:
          <fpage>2292</fpage>
          -
          <lpage>2303</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10 Adhikari,
          <string-name>
            <given-names>J.</given-names>
            , and
            <surname>Patil</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          (
          <year>2013</year>
          ,
          <article-title>July)</article-title>
          .
          <article-title>Double threshold energy aware load balancing in cloud computing</article-title>
          .
          <source>In Computing, Communications and Networking Technologies (ICCCNT)</source>
          ,
          <year>2013</year>
          Fourth International Conference on (pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          ). IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11 Ramezani,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            , and
            <surname>Hussain</surname>
          </string-name>
          ,
          <string-name>
            <surname>F. K.</surname>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Task-based system load balancing in cloud computing using particle swarm optimization</article-title>
          .
          <source>International Journal of Parallel Programming</source>
          ,
          <volume>42</volume>
          (
          <issue>5</issue>
          ),
          <fpage>739</fpage>
          -
          <lpage>754</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12 Florence P., and
          <string-name>
            <surname>Shanthi</surname>
            <given-names>V.</given-names>
          </string-name>
          , (
          <year>2014</year>
          ).
          <article-title>A load balancing model using firefly algorithm in cloud computing</article-title>
          .
          <source>Journal of Computer Science</source>
          ,
          <volume>10</volume>
          (
          <issue>7</issue>
          ),
          <fpage>1156</fpage>
          -
          <lpage>1165</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13 Singh,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Juneja</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            , and
            <surname>Malhotra</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          (
          <year>2015</year>
          ).
          <source>Autonomous Agent Based Load Balancing Algorithm in Cloud Computing. Procedia Computer Science</source>
          ,
          <volume>45</volume>
          ,
          <fpage>832</fpage>
          -
          <lpage>841</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14 Dasgupta,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Mandal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Dutta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Mandal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. K.</given-names>
            , and
            <surname>Dam</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>A genetic algorithm (ga) based load balancing strategy for cloud computing</article-title>
          .
          <source>Procedia Technology</source>
          ,
          <volume>10</volume>
          ,
          <fpage>340</fpage>
          -
          <lpage>347</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15 Susila,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Chandramathi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            , and
            <surname>Kishore</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>A Fuzzy-based Firefly Algorithm for Dynamic Load Balancing in Cloud Computing Environment</article-title>
          .
          <source>Journal of Emerging Technologies in Web Intelligence</source>
          ,
          <volume>6</volume>
          (
          <issue>4</issue>
          ),
          <fpage>435</fpage>
          -
          <lpage>440</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16 Campos,
          <string-name>
            <given-names>L. M.</given-names>
            , and
            <surname>Scherson</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. D.</surname>
          </string-name>
          (
          <year>2000</year>
          ).
          <article-title>Rate of change load balancing in distributed and parallel systems</article-title>
          .
          <source>Parallel Computing</source>
          ,
          <volume>26</volume>
          (
          <issue>9</issue>
          ),
          <fpage>1213</fpage>
          -
          <lpage>1230</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17 Tchernykh,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Schwiegelsohn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            ,
            <surname>Alexandrov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            , and
            <surname>Talbi</surname>
          </string-name>
          ,
          <string-name>
            <surname>E. G.</surname>
          </string-name>
          (
          <year>2015</year>
          ).
          <article-title>Towards Understanding Uncertainty in Cloud Computing Resource Provisioning</article-title>
          . SPU'
          <fpage>2015</fpage>
          -
          <article-title>Solving Problems with Uncertainties (3rd Workshop)</article-title>
          .
          <source>In conjunction with The 15th International Conference on Computational Science (ICCS</source>
          <year>2015</year>
          ), Reykjavík, Iceland, June 1- 3,
          <year>2015</year>
          . Procedia Computer Science, Elsevier, Volume
          <volume>51</volume>
          ,
          <string-name>
            <surname>Pages</surname>
          </string-name>
          1772-
          <fpage>1781</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18 Tchernykh,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Lozano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Schwiegelshohn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            ,
            <surname>Bouvry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Pecero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. E.</given-names>
            , and
            <surname>Nesmachnow</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Yu</surname>
          </string-name>
          .
          <source>Drozdov</source>
          (
          <year>2015</year>
          ).
          <article-title>Online Bi-Objective Scheduling for IaaS Clouds with Ensuring Quality of Service</article-title>
          .
          <source>Journal of Grid Computing</source>
          , Springer-Verlag.
          <source>DOI 10.1007/s10723-015-9340- 0</source>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19 Schwiegelshohn,
          <string-name>
            <given-names>U.</given-names>
            ,
            <surname>Tchernykh</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Online Scheduling for Cloud Computing and Different Service Levels</article-title>
          ,
          <source>26th Int. Parallel and Distributed Processing Symposium</source>
          , Los Alamitos, CA, pp.
          <fpage>1067</fpage>
          -
          <lpage>1074</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>