<!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>Energy and QoE aware Placement of Applications and Data at the Edge</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matteo Mordacchini</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luca Ferrucci</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emanuele Carlini</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hanna Kavalionak</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Massimo Coppola</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Patrizio Dazzi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Pisa</institution>
          ,
          <addr-line>56127</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IIT-CNR</institution>
          ,
          <addr-line>Pisa, 56124</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>ISTI-CNR</institution>
          ,
          <addr-line>Pisa, 56124</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Recent years are witnessing extensions of cyber-infrastructures towards distributed environments. The Edge of the network is gaining a central role in the agenda of both infrastructure and application providers. Following the actual distributed structure of such a computational environment, nowadays, many solutions face resource and application management needs in Cloud/Edge continua. One of the most challenging aspects is ensuring highly available computing and data infrastructures while optimizing the system's energy consumption. In this paper, we describe a decentralized solution that limits the energy consumption by the system without failing to match the users' expectations, defined as the services' Quality of Experience (QoE) when accessing data and leveraging applications at the Edge. Experimental evaluations through simulation conducted with PureEdgeSim demonstrate the efectiveness of the approach.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Edge Computing</kwd>
        <kwd>Self-organization</kwd>
        <kwd>QoE</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Cloud solutions are spreading and getting momentum, being used in a vast majority of fields
and environments. In spite of the large availability and variety of cloud solutions, we witness
increasing dificulties in coping with next generation applications, like latency-sensitive ones.
Edge/Cloud continua have all the possibilities to overcome these limits by seamlessly integrating
one (or more) Cloud(s) and large numbers of Edge resources that are geographically distributed.
Despite being conceptually feasible, many challenges emerge for the actual management,
coordination and optimization of these huge sets of heterogeneous and dispersed resources [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1,
2, 3</xref>
        ]. A key issue is the eficient management of the overall energy consumption, memory and
computational resource usage of the system. As a matter of fact, one way to achieve these results
is to optimize the placement of the instances of the applications requested by the users, by taking
into account the functional needs of the applications, the computational limits of Edge resources
and the non-functional requirements associated with the users’ Quality of Experience (QoE).
Distributed [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ], self-organizing [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ] and adaptive [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ] solutions have been proposed for
facing such challenges at the Edge. In this paper, we describes a decentralized, self-organizing
and QoE-centric scheme for the optimization of the energy consumed by the system. The
approach enables Edge entities to interact with one another to exchange information in an
attempt to determine whether the users of each application can be served using a lower number
of instances. This behaviour allows to reduce the number of instances executed in the system,
thus reducing the energy consumed and resource usage. When taking the decision to shut
down a potential redundant instance, the entities exploit the data they have exchanged to
evaluate whether this decision is in accordance with the services’ QoE and the computational
limits of Edge resources. Experimental results through simulation show that the proposed
solution is able to reduce the energy required by the system up to nearly 40%. The rest of
this paper is organized as follows. Section 2 contextualizes this work in the related scientific
literature. Section 3 presents our the definition of the problem and the approach we propose.
Section 4 describes the experimental evaluation of the proposed solution. Finally, Section 5
draws concluding remarks and highlights future work directions.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Edge-based systems are the object of many researches that try to optimize the overall
performances of a system by limiting the communications with centralized Clouds [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11, 12, 13, 14, 15</xref>
        ].
In fact, data exchange between Cloud and Edge systems introduce significant overhead and
could potentially degrade the performance of applications running at the Edge, like locality and
context-based services. A well-known approach to overcome this problem is to use decentralized
and/or self-organizing solutions [16, 17]. These solutions achieve their goal by moving the
applications [18, 19, 20] and/or data closer to users. When the data is moved in the system,
the aim is to make it easy for the users to access it [21, 22]. In this case, the general strategy
is to shorten the distance between the data storage devices or the data producers and their
respective consumers [23, 24]. To achieve an optimization of the energy consumption levels
of the entities at the Edge, we use a method which does not move data and/or applications
closer to each other and/or closer to their users. Beraldi et al. propose CooLoad [25], a scheme
where Edge datacenters re-direct their requests to other adjacent data centers whenever they
become congested. Carlini et al. [14] propose a decentralized system, where autonomous entities
in a Cloud Federation communicate to exchange computational services, trying to maximize
the profit of the whole Federation. Diferently from the previous solutions, in this paper, the
eficient exploitation of the resources at the Edge is obtained by optimizing the energy
consumption of the system as a whole. As we explain in depth in the rest of the paper, this result is
achieved through point-to-point interactions between Edge entities, known as Edge Miniclouds
(EMCs). These entities use their communications to detect potential redundant instances of
the applications requested by the users. As a result, the users are directed to use only a limited
set of instances, thus allowing to shut down the others. However, an user request could be
served by a diferent instance running on another EMC only if the associated QoE constraints
remain satisfied. The outcome of the collective behaviour of the entities at the Edge is a notable
reduction of the energy needed by the system performing the computational tasks requested by
its users.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Problem Definition and Proposed Solution</title>
      <p>Consistently with the definitions of the EU ACCORDION project 1, we consider that the
system at the Edge is a federation of so-called Edge mini-clouds (EMCs). Each EMC is an entity
that supervises a set of other devices with limited resources, like IoT devices, sensors, etc.
Applications are sent to an EMC, which is in charge to orchestrate their execution among the
devices it controls. We consider that  = { 1, . . . ,  } is the set of all the EMCs in
the system, with || =  . The set  = {1, . . . , } is the set of all the types of applications
that can be executed in the system, with  = ||. Each  ∈  represents a distinct type
of service, with specific requirements in term of resources. In order to meet the requests of
the users, several instances of an application  can be deployed on the EMCs. The symbol
 denotes the instance of the application  executed by   . Running  implies a
 and a variable
resource occupancy equal to  . This weight is composed of a base weight 
component , where the variable component depends on the number of users served by
 . Therefore, if we denote with  the number of users of  , we have that  =  ,
where  is the weight-per-user of . Thus,  =  +  . The overall number of
users served by all the instances of  is , while  is the maximum weight that can be
supported by   for running all the instances that are assigned to it. In addition to the
functional requirements, in order to meet the required QoE, each application has also additional
non-functional requirements. These requirements limit the EMCs where an instance can be
deployed. QoE is expressed in terms of latency that each service  constraints to be lower
than a value . In fact, latency is one of the main factors that influence a user’s perception
of the quality of a service. We assume that each time a user requests a service, an instance
of such service is activated in the user’s closest EMC (in terms of latency), thus latency is
initially minimized but this allocation scheme also generate a set of redundant instances of the
same service. In fact, users initially assigned to diferent EMCs could be served by just one,
properly selected instance, without violating the service’s QoE. This allows to shut down the
other instances and reduce the amount of energy consumed for serving the same users. Always
relaying on the direct intervention of a distant Cloud orchestrator to reach this result could be
a source of delay and degradation of the QoE. To overcome this limit, we developed an adaptive
decentralized approach that identifies and stop redundant instances of the running applications.
In the next, following the pseudocode given in Algorithm 1, we describe the steps executed by
a generic   .   has a set  of neighboring EMCs (EMCs within the communication
range of   ). The latency between   and any of its neighbors   ∈  is ℒ(, ).
 is the set of application types running on the instances on   at time . Each application
 ∈  has a maximum agreed latency , and a set of users  , which experiences a maximum
latency  . At regular time intervals,   randomly chooses one neighbor   ∈  .It
1https://www.accordion-project.eu/
Algorithm 1 Actions performed by a generic   at each time step</p>
      <p>Input:  = set of neighbors of  
Randomly choose   ∈ 
Request , ,  to  
Compute  = {| ∈  ∩ }
if  ̸= ∅ then
if  ≥  then
 = { ∈ | + ℒ(, ) ≤ }
Order  in ascending order using 
Let  be the index of the first application  ∈  s.t.  +  ≤ 
Direct the users of  to use</p>
      <p>Turn of 
else
 = { ∈ | + ℒ(, ) ≤ }
Order  in ascending order using 
Let  be the index of the first application  ∈  s.t.  +  ≤ 
Direct the users of  to use</p>
      <p>Tell   to turn of 
end if
end if
then asks   for the list of its running applications  with their number of users, its
maximum capacity  and its actual resource occupancy . The solution tries to gather
the users of both the instances on the EMC with the lowest actual occupancy. If  ̸= ∅,  is
the source EMC (the one from which the users will be moved), with  the EMC receiving that
users. Thus,  ≥ .   builds a set  = { ∈ | + ℒ(, ) ≤ } containing
the instances whose users can be moved without violating the QoE.   traverses  in
descending order (on the basis of the instances weights in   ), choosing for the exchange
the first application whose users can be transferred without exceeding . In the special case
where both the EMCs select each other for an exchange, having equal loads and selecting the
same service, the EMC with the lowest ID rejects to receive the exchange, asking for another
application. Once the users are directed to another instance, the instance on   is turned
of. This action allows both to save energy and to free space for other potential exchanges or
new instances.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Experimental Evaluation</title>
      <p>The experimental evaluation has been conducted through a simulation of a target scenario
using PureEdgeSim [26], a discrete-event simulator for Edge environments, that well matches
the EMC-based structure of our scenario, allowing also to measure energy consumptions. At
the beginning of the simulation, each user requests a single application to its closest EMC.
In case an instance of the requested application type already exists on that EMC, the user
is simply added to the instance’s local set of users. In the experiments the number of users
varies in the set {60, 120, 180}. Each user device is placed randomly in a bi-dimensional area of
200 × 200 metres. In all the experiments the number of EMCs is fixed to 4. They are placed at
predefined locations inside the simulation space. We assume that any EMC can host any type
of application. Moreover, each EMC is able to communicate with the others. There are three
types of resources available in the system (at the EMCs): the number of VCPU; the amount of
RAM; the amount of network bandwidth (BW). In the simulations, we use four diferent types
of applications. Application types difer on the resources they request and, as a consequence,
the energy footprint they produce when their instances are executed. The application types
are divided as Computational Bound (i.e, computational intensive), Memory Bound (memory
intensive) and I/O Bound (networking intensive) applications, where “intensive” means having
double the requirements of the basic Balanced application type. The load of an EMC is calculated
as the mean of the percentage of availability of the three resources. The fixed weight  and
the weights per user  associated with the diferent application types is shown in Table 1. RAM
and BW are in Mbytes and Mbit/s, respectively. In addition to these parameters, we also use
three diferent values for the maximum application latency : 0.2, 0.3, 0.5 seconds. Therefore,
we have 12 possible combinations of parameters for the applications: 4 types of applications
times 3 diferent latency constraints. All the results presented in the next are the average of 10
independent runs. The first and main result of our evaluation is presented in Figure 1a. This
ifgure presents the evolution over time of the energy required by all the EMCs in the system,
including the energy needed for inter-EMCs communications. The results are presented as the
ratio between the energy needed at a time  &gt; 0 and the energy consumed by the system at
the beginning of the simulation. It is possible to observe that the level that is required to serve
the very same number of users drops by a minimum of 20% (with 180 users) up to nearly 40%
(with 60 users); this drastic reduction in the energy footprint of the system demonstrates the
high level of eficiency of the proposed approach.</p>
      <p>Figure 1b depicts how the configurations adopted by the system are able to remain compliant
with the applications’ QoE. A simulated latency function is calculated for each user’s device,
which is the composition of a fixed part, which is dependent from the communication channel
type, and a linear part, proportional to the Euclidean distance between the EMC hosting the
instance of the serving application and the user’s device. The average latency is measured as
the percentage of the maximum average latency, as constrained by the applications’ limits. It
is possible to note that there is only a limited increase on the average latency. Therefore, the
proposed solution shows its ability to remarkably reduce the energy needed to run the instances
y
g
r
e
n
E</p>
      <p>Iteration
(a)
60 users
120 users
180 users
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28</p>
      <p>Iteration number
(a)
44
43
42
%41
e
tagen 4309
c
re 38
P 37
that serve a given population of users, while remaining well below the limits of the required QoE.
In order to better understand how these results are achieved, the next set of figures analyses how
the system collectively adapts its behaviour and how it changes the exploitation of the available
resources. Figure 2a presents the variation over time of the number of running instances in the
system. Clearly, these entities are the source of energy consumption. The ability of the system
to detect and eliminate redundant instances is the basis for the energy minimization scheme. It
is possible to observe a clear and sharp decrease of this quantity. The final number is nearly
the half of the original number of instances. Figure 2b presents the global level of exploitation
of the resources. The  axis presents the percentage of all the resources that are required to
run the application instances. As in the previous case, we can observe a clear reduction. The
amount of this reduction is lower than that of the number of instances, since users are moved
from a redundant instance to an active one. As we highlighted in Section 3, each user bring an
additional cost in terms of resources. Despite this fact, the overall level of occupied resources is
decremented, since the fixed costs needed for running redundant instances are saved.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions</title>
      <p>This paper presents a solution for application placement performing edge-to-edge exchanges to
reduce the energy consumption and resource usage, while guaranteeing the QoE of applications
by keeping the communication latency below given thresholds. The paper provides a definition
of the problem and the pseudo code of the proposed approach. An experimental evaluation via
simulation shows the validity of our solution. While the solution is quite a promising one, there
is space to improve the results in the near future. It is worth e.g. considering alternative local
search criteria and heuristics for the selection criteria of the EMC and application for the swap
proposal. This may improve the asymptotic cost savings and is likely to improve the achieved
savings as well as the convergence speed of our algorithm.
Dynamic resource selection in cloud service broker, in: 2017 Int. Conf. on High Perform.</p>
      <p>Comput. Simul. (HPCS), IEEE, 2017, pp. 233–235.
[12] U. Ahmed, A. Al-Saidi, I. Petri, O. F. Rana, Qos-aware trust establishment for cloud
federation, Concurrency and Computation: Practice and Experience 34 (2022) e6598.
[13] J. Altmann, B. Al-Athwari, E. Carlini, M. Coppola, P. Dazzi, A. J. Ferrer, N. Haile, Y.-W.</p>
      <p>Jung, J. Marshall, E. Psomakelis, et al., Basmati: an architecture for managing cloud and
edge resources for mobile users, in: International Conference on the Economics of Grids,
Clouds, Systems, and Services, Springer, Cham, 2017, pp. 56–66.
[14] E. Carlini, M. Coppola, P. Dazzi, M. Mordacchini, A. Passarella, Self-optimising
decentralised service placement in heterogeneous cloud federation, in: 2016 IEEE 10th
International Conference on Self-adaptive and Self-organizing Systems (SASO), IEEE, 2016, pp.
110–119.
[15] G. F. Anastasi, M. Coppola, P. Dazzi, M. Distefano, Qos guarantees for network bandwidth
in private clouds, Procedia Computer Science 97 (2016) 4–13.
[16] M. Mordacchini, M. Conti, A. Passarella, R. Bruno, Human-centric data dissemination in
the iop: Large-scale modeling and evaluation, ACM Trans. Auton. Adapt. Syst. 14 (2020).
[17] C. Gennaro, M. Mordacchini, S. Orlando, F. Rabitti, Mroute: A peer-to-peer routing index
for similarity search in metric spaces, in: 5th VLDB International Workshop on Databases,
Information Systems and Peer-to-Peer Computing (DBISP2P 2007), 2007.
[18] Z. Ning, P. Dong, X. Wang, S. Wang, X. Hu, S. Guo, T. Qiu, B. Hu, R. Kwok, Distributed
and dynamic service placement in pervasive edge computing networks, IEEE Transactions
on Parallel and Distributed Systems (2020).
[19] A. M. Maia, Y. Ghamri-Doudane, D. Vieira, M. F. de Castro, Optimized placement of
scalable iot services in edge computing, in: 2019 IFIP/IEEE Symposium on Integrated
Network and Service Management (IM), 2019, pp. 189–197.
[20] P. Dazzi, M. Mordacchini, Scalable decentralized indexing and querying of multi-streams
in the fog, Journal of Grid Computing 18 (2020) 395–418.
[21] E. Carlini, M. Coppola, P. Dazzi, D. Laforenza, S. Martinelli, L. Ricci, Service and resource
discovery supports over p2p overlays, in: 2009 International Conference on Ultra Modern
Telecommunications &amp; Workshops, IEEE, 2009, pp. 1–8.
[22] M. Mordacchini, P. Dazzi, G.Tolomei, R. Baraglia, F. Silvestri, S. Orlando, Challenges in
designing an interest-based distributed aggregation of users in p2p systems, in: 2009 IEEE
ICUMT, IEEE, 2009, pp. 1–8.
[23] A. Aral, T. Ovatman, A decentralized replica placement algorithm for edge computing,</p>
      <p>IEEE Trans. on Network and Service Management 15 (2018) 516–529.
[24] C. Li, Y. Wang, H. Tang, Y. Zhang, Y. Xin, Y. Luo, Flexible replica placement for enhancing
the availability in edge computing environment, Computer Communications 146 (2019)
1–14.
[25] R. Beraldi, A. Mtibaa, H. Alnuweiri, Cooperative load balancing scheme for edge computing
resources, in: 2017 Second International Conference on Fog and Mobile Edge Computing
(FMEC), IEEE, 2017, pp. 94–100.
[26] C. Mechalikh, H. Takta, F. Moussa, Pureedgesim: A simulation toolkit for performance
evaluation of cloud, fog, and pure edge computing environments, in: 2019 Int. Conf. on
High Perform. Comput. Simul. (HPCS), 2019, pp. 700–707.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>C.-H. Youn</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Dazzi</surname>
          </string-name>
          ,
          <source>Cloud Broker and Cloudlet for Workflow Scheduling</source>
          , Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Taleb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Samdanis</surname>
          </string-name>
          , Kand Mada,
          <string-name>
            <given-names>H.</given-names>
            <surname>Flinck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dutta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Sabella</surname>
          </string-name>
          ,
          <article-title>On multi-access edge computing: A survey of the emerging 5g network edge cloud architecture and orchestration</article-title>
          ,
          <source>IEEE Communications Surveys Tutorials</source>
          <volume>19</volume>
          (
          <year>2017</year>
          )
          <fpage>1657</fpage>
          -
          <lpage>1681</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>N.</given-names>
            <surname>Kumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jindal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Villari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. N.</given-names>
            <surname>Srirama</surname>
          </string-name>
          ,
          <article-title>Resource management of iot edge devices: Challenges, techniques, and solutions</article-title>
          ,
          <source>Software: Practice and Experience</source>
          <volume>51</volume>
          (
          <year>2021</year>
          )
          <fpage>2357</fpage>
          -
          <lpage>2359</lpage>
          . doi:https://doi.org/10.1002/spe.3006.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G. F.</given-names>
            <surname>Anastasi</surname>
          </string-name>
          , E. Carlini,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dazzi</surname>
          </string-name>
          ,
          <article-title>Smart cloud federation simulations with cloudsim</article-title>
          ,
          <source>in: Proceedings of the first ACM workshop on Optimization techniques for resources management in clouds, 2013</source>
          , pp.
          <fpage>9</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Marzolla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mordacchini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Orlando</surname>
          </string-name>
          ,
          <article-title>A p2p resource discovery system based on a forest of trees</article-title>
          ,
          <source>in: 17th International Workshop on Database and Expert Systems Applications (DEXA'06)</source>
          , IEEE,
          <year>2006</year>
          , pp.
          <fpage>261</fpage>
          -
          <lpage>265</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Ferrucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Ricci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Albano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Baraglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mordacchini</surname>
          </string-name>
          ,
          <article-title>Multidimensional range queries on hierarchical voronoi overlays</article-title>
          ,
          <source>Journal of Computer and System Sciences</source>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Conti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mordacchini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Passarella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rozanova</surname>
          </string-name>
          ,
          <article-title>A semantic-based algorithm for data dissemination in opportunistic networks</article-title>
          ,
          <source>in: 7th International Workshop on SelfOrganizing Systems (IWSOS</source>
          <year>2013</year>
          ),
          <source>LNCS 8221</source>
          , Springer,
          <year>2013</year>
          , pp.
          <fpage>14</fpage>
          -
          <lpage>26</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>R.</given-names>
            <surname>Baraglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dazzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Guidi</surname>
          </string-name>
          , L. Ricci, Godel:
          <article-title>Delaunay overlays in p2p networks via gossip</article-title>
          ,
          <source>in: IEEE 12th International Conference on Peer-to-Peer Computing (P2P)</source>
          , IEEE,
          <year>2012</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mordacchini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Passarella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Conti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Allen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Chorley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. B.</given-names>
            <surname>Colombo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Tanasescu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Whitaker</surname>
          </string-name>
          ,
          <article-title>Crowdsourcing through cognitive opportunistic networks</article-title>
          ,
          <source>ACM Transactions on Autonomous and Adaptive Systems (TAAS) 10</source>
          (
          <year>2015</year>
          )
          <fpage>1</fpage>
          -
          <lpage>29</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Salaht</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Desprez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lebre</surname>
          </string-name>
          ,
          <article-title>An overview of service placement problem in fog and edge computing</article-title>
          ,
          <source>ACM Comput. Surv</source>
          .
          <volume>53</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>G. Z.</given-names>
            <surname>Santoso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.-W.</given-names>
            <surname>Jung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.-W.</given-names>
            <surname>Seok</surname>
          </string-name>
          , E. Carlini,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dazzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Altmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Violos</surname>
          </string-name>
          , J. Marshall,
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>