<!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>Semantic Web in the Fog of Browsers</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Nantes</institution>
          ,
          <addr-line>LS2N</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Imagine connecting thousands of web browsers with browser-to-browser connections, sharing storage, bandwidth, and CPU. This builds a fog of browsers where end-user devices are ready to collaborate. Imagine semantic fog applications running in fogs of browsers, querying the linked data servers hosted in the cloud and data hosted in the fog. Fogs of browsers running semantic fog applications create a new massively decentralized infrastructure where RDF data and SPARQL query processing are available both on web servers and on browsers. In this paper, we explore new opportunities and research challenges opened by a fog of browsers for the semantic web.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The paper is organized as follows. Section 2 de nes semantic fog applications in the fog
of browsers. Section 3 presents new opportunities opened by semantic fog applications.
Section 4 highlights new research challenges for semantic fog applications. Finally, conclusions
are outlined in section 5.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Semantic Fog Applications in the Fog of Browsers</title>
      <sec id="sec-2-1">
        <title>Web Server</title>
        <p>http://myfog
b0</p>
      </sec>
      <sec id="sec-2-2">
        <title>GeoData DBpedia</title>
        <p>b1</p>
        <p>b3
b2
b4
b5
b6
b7
b8
b9</p>
        <p>A fog of browsers is a set of interconnected browsers with browser-to-browser connections.
Such connections are now supported thanks to the WebRTC standard in Firefox, Chrome,
Microsoft Edge and IOS. A browser can participate to one or several fogs.</p>
        <p>
          A fog of browsers is accessible through one or several URIs hosted on regular web server.
The web server dereferences this address to a JavaScript application bootstrapped with a
sample of already connected browsers2. This JavaScript application represents a semantic fog
application with its own logic. The application is able to manage RDF data and runs SPARQL
queries over linked data and/or over data hosted in the fog. We assume that all RDF data
are managed following the linked data principles [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>Once downloaded in the browser, the semantic fog application joins the network of browsers
by connecting the browser to at least one of the already connected browsers. Following this
approach, at a given time, there is potentially a high number of browsers, running the same
application, and all these browsers are connected together. We do not make any
assumption about the topology of the network, i.e. hierarchical, structured, unstructured, hybrid or
multi-layer. Topology depends on the objective of the semantic fog application. In gure 1,
the browsers are connected in an unstructured network, they execute SPARQL queries over
data in the fog and 2 datasources hosted in the cloud. The browser b0 contacts the web server
hosting the semantic fog application in order to join the network. The web server is returning
the semantic fog application and references to two browsers: b1 and b2. b0 contacts one of
them to join this fog.</p>
        <p>
          To be usable, a semantic fog application must meet the following requirements inspired
from P2P data management [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]:
2 As has been already done in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] and [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
autonomy Each browser participating in a fog of browsers is free to join and leave at any
time. It owns its data and have a full control on it.
query expressiveness A semantic fog application runs SPARQL queries or a subset of
SPARQL. The scope of the query can refer traditional linked data providers and/or fog
participants.
e ciency A fog of browsers is composed by the resources of fog participants and the
resources of cloud providers involved in the semantic fog application. The e cient uses of
all resources should result in higher throughput of queries.
quality of service The fog has to improve the user-perceived e ciency of the system.
fault tolerance Quality of service can be maintained for a period of time even in presence
of failures of browsers or failures of linked data providers.
security As an open system, a fog of browsers can be used to steal personal data, attack
other browsers in the fog or attack servers. Access control and resistance to malicious are
crucial for semantic fog applications.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Semantic Fog Applications</title>
      <p>Deploying semantic fog applications over a fog of browsers raises several opportunities. In this
section, we present several semantic fog applications illustrating di erent usages.
3.1</p>
      <p>Queries in the fog</p>
      <p>Connect b r o w s e r s g e o l o c a l i z e d i n Nantes /
Overlay . c o n f i g u r e ( G e o l o c a t i o n =' Nantes ' ) ;</p>
      <p>Q1 : Get nearby p o i n t o f i n t e r e s t /
S t r i n g query= ' s e l e c t ? p l a c e where ? p l a c e nearby ( '+ m y p o s i t i o n +' 100m) ' ;
R e s u l t S e t l o c = q u e r y E x e c u t i o n . e x e S e l e c t ( query , model )</p>
      <p>Q2 : C o l l e c t u s e r f e e d b a c k /
answer=askUser ( ' Do you l i k e your l o c a t i o n ?: '+ l o c )
UpdateAction . e x e c u t e ( ' INSERT DATA'+ 'me'+op : l i k e s+ l o c ) ;
/ Q3 : D i s p l a y most l i k e d p l a c e s /
q u e r y E x e c u t i o n . e x e S e l e c t (
'SELECT ? p l a c e COUNT( ? l i k e s ) f ? p l a c e l i k e d ? o g groupby ? p l a c e ' ) )</p>
      <p>Consider a simple semantic web application where people visiting a city have access to
point of interests around them, can rate these points, and can list top-ranked point of interests.
This application can be written with queries like Q1, Q2, and Q3 presented in gure 2 and
can be deployed in the cloud. Consequently, queries are executed in the cloud with data stored
in the cloud datastore. In this case, the cost of running this application relies entirely on the
application provider, the availability and the performances of the application relies on the
cloud provider.</p>
      <p>Now consider that the code of the Figure 2 is a semantic fog application that is loaded
and run in each browser visiting the web page of this application. The line 4, the semantic
fog application connects the browser of the visitor to a fog of browsers where browsers are
now located in the city of Nantes.</p>
      <p>Concerning query Q1, data are still located in the cloud, but now the fog could provide
data caching and consequently could improve data availability and reduce the cost of data
providers. Under certain conditions, the application could continue to run even if cloud services
are unavailable.</p>
      <p>Concerning query Q2, the semantic fog application can be con gured to store data locally
in the browser, in the fog, or in the cloud. Suppose user feedback is stored locally in the
browser. Then the cost of executing Q2 is no more on the charge of the application provider
and furthermore, user ratings do not leave browsers.</p>
      <p>Query Q3 is dependent on data location. Di erent situations are possibles: if users ratings
are stored in the cloud, then executing Q3 in the fog is similar to Q1. If users ratings are
stored in their own browsers, then Q3 execution requires to contact every browsers. If users
ratings are stored somewhere in the fog, then data can be smartly located and aggregated to
answer Q3 e ciently without contacting every browsers.</p>
      <p>As we can see, running semantic fog application opens di erent trade-o concerning what
can be done in the fog and what can be done in the cloud. This trade-o impacts the cost
of running an application, the performance of the application, and the availability of the
application. It can also impact the privacy of personal data and the quality of collected data.
3.2</p>
      <sec id="sec-3-1">
        <title>Semantic Collaborative caching</title>
        <p>DrugBank</p>
        <p>DBpedia
Serveur TPF 1</p>
        <p>Cache HTTP 1
C1
C1</p>
        <p>C2
C2</p>
        <p>C3
C3</p>
        <p>C4
C4</p>
        <p>C5
C5</p>
        <p>C6
C6</p>
        <p>C7</p>
        <p>C8
C7</p>
        <p>C8</p>
        <p>C9
C9</p>
        <p>
          Cyclades [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] is a collaborative caching system that can be used by a semantic fog
application as the one presented in gure 2. Cyclades connect similar browsers by assuming that users
with similar queries in the past will certainly perform similar queries in the future. Therefore,
data cached at similar nodes could be used to answer queries without using resources of linked
data servers.
        </p>
        <p>Cyclades is based on a double overlay networks; the rst one builds a random network
providing connectivity while the second one incorporates a similarity metric. The similarity
metric is able to detect users performing similar queries based on the analysis on their local
caches. The two-level network topology of Cyclades is described in gure 3.</p>
        <p>In this scenario, the fog is able to reduce the number of calls to data providers.
Consequently, this improves data availability and reduces the cost of providing data.
3.3</p>
      </sec>
      <sec id="sec-3-2">
        <title>Queries with the fog</title>
        <p>
          Ladda [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] is a semantic fog application that allows participants to delegate their SPARQL
queries to their neighbors in the fog. For example, one can want to execute:
g '
1 f o r e a c h $ c o u n t r y i n c o u n t r i e s
2 q u e r y . e x e c u t e ( "SELECT ? s o f t w a r e ? company WHERE f
3 ? s o f t w a r e dbpedia owl : d e v e l o p e r ? company .
4 ? company dbpedia owl : l o c a t i o n C o u n t r y
5 [ r d f s : l a b e l " $ c o u n t r y "@en ] .
6
        </p>
        <p>By parallelizing the execution of queries over di erent browsers, the execution time of
this workloads can be signi cantly reduced. Figure 4 illustrates a Ladda's query execution.
In this execution, a browser executes 1509 queries with the help of 6 neighbors in a network
composed of 50 participants. Each square represents the execution time of a query on the
swim lane of a browser. On this run, the execution time of the workload is 2m37s instead of
3m32s if the workload was executed by one browser.</p>
        <p>In this scenario, the semantic fog application allows to share the CPU and bandwidth of
browsers for SPARQL query processing.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Research challenges</title>
      <p>Deploying semantic fog applications on a fog of browsers opens many opportunities for
semantic web application developers. They can optimize nancial costs, availability, performances,
privacy . . . However, the programming model has to remain simple as the one depicted in
Figure 2. The con guration of the semantic fog application has to determine how queries
and data are deployed in the cloud and in the fog to reach developper expectations.</p>
      <p>
        The fog of browsers can reuse some scienti c results from P2P data management
systems [11, chapter 16]. Many works demonstrated how data can be e ciently stored and
accessed on structured, unstructured, and hybrid P2P networks such as Edutella [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
RDFPeers [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], PierDB [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], GridVine [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] etc. However, the context and objectives of fog of browsers
are slightly di erent:
{ Fog and cloud are interdependent. Cloud services can be used to manage the fog. The
fog can just improve the e ciency and the quality of services of data providers without
managing data as demonstrated in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
{ Most of work on P2P data management have been done on TCP/IP networks.
However, WebRTC networks used by browsers have several major di erences with traditional
TCP/IP networks:
1. A WebRTC network is not addressable and basically has no routing. Consequently,
contacting a particular browser can be costly.
2. Establishing a WebRTC connection between 2 browsers requires a third party to
exchange tokens. Once tokens exchanged, a complex negotiation protocol starts to allow
NAT traversal. So, establishing a WebRTC connection can be more costly than a
TCP/IP connection.
      </p>
      <p>The constraints of WebRTC change the cost of communications and potentially impact
all existing algorithms.</p>
      <p>
        Customized overlay networks for a fog of browsers. A fog of browsers connects
thousands of browsers over WebRTC. The nature of WebRTC networks and the objective of the
semantic fog application can lead to di erent design choices. As routing is costly in WebRTC,
keeping useful neighbors around us in one hop, can be a good strategy for e ciency and
quality of service. Indeed, direct neighbors can be contacted at low cost. 'useful neighbors' can
have di erent meanings according the application. Many similarity metrics can be de ned and
many overlay can be combined in the same fog as proposed in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Finding the best similarity
metrics, topologies and combinations of topologies for query e ciency and quality of services
is clearly an important research direction.
      </p>
      <p>Dynamic replication and consistency in a fog of browsers. Data replication is a
fundamental concept for improving data availability and performances of query processing.
In the context of a fog of browsers, replication contributes to query e ciency, quality of service
and fault-tolerance requirements. A replication strategy has to decide what data to replicate,
where to replicate and when to replicate. Such decisions are complex in a fog of browsers: the
participants are autonomous, the data storage is limited, the communication costs constrained
by network topology. Adaptivity of replication to queries seems a good strategy. Materializing
data fragments that are frequently retrieved from data providers and spreading them within
the fog can have a signi cant impact on performances. De ning these fragments, deciding
when to replicate them and where to locate them is clearly challenging. Another challenge
strongly related to data replication is consistency management. Data needs to be up-to-date.
Maintaining consistent data fragments at low-cost in a fog of browsers is clearly challenging.
Crowdsourcing with a fog of browsers A browser is not just an execution environment
for JavaScript programs. It could also involve humans with their Web of Things devices. Fog
computing allows a collaboration between man and machines to collect, curate and aggregate
data. Consequently, a fog of browsers can be seen as a distributed crowdsourcing platform
where data are collected, semanti ed and veri ed within the fog, before saved to the cloud.
How the functionalities of a crowdsourcing platform can be distributed among the fog and
cloud providers is an interesting challenge.</p>
      <p>
        Federated query engines for a fog of browsers. Federated SPARQL query engines [
        <xref ref-type="bibr" rid="ref13 ref2">13,
2</xref>
        ] allow to query several data sources in a transparent way. In the context of a fog a browsers,
the fog itself could be considered as a new data source that cloud be combined with traditional
data providers. However, each fog participant has a fragment of data and has to be contacted
to answer queries. Such problems have been partially addressed by P2P data management
systems. The challenge is to build a distributed federated query engine running in the fog,
able to query data in the cloud and in the fog.
      </p>
      <p>Security for semantic fog application If a fog of browsers opens many opportunities, it
also brings new threats: A fog of browsers can be used to perform DDOS attacks, to steal
personal information from browsers, and to watch people. A semantic fog application has to
protect participants and data providers against malicious users. Semantic fog applications
require appropriate security models.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>In this paper, we presented how semantic fog applications running in the fog of browsers
creates a massively decentralized infrastructure that extends the semantic web to the browsers
of end-users. By this way, the semantic web can take advantage of resources of browsers,
including end-users and IoT devices. Semantic fog applications can improve the e ciency
and quality of service of linked data providers. It can also enhance the linked data with data
provided by end-users.</p>
      <p>If some semantic fog applications are already there, more research e orts are needed
to fully exploit all the potential of semantic fog applications: pertinent network topologies,
dynamic replication, e cient query processing, data quality and security.</p>
      <p>Another interesting research questions have not been discussed in this paper: the
dynamicity of the fog of browsers and how fog of browsers can be combined with distributed ledgers
for commercial query processing in the fog of browsers.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Karl</given-names>
            <surname>Aberer</surname>
          </string-name>
          , Philippe Cudre-Mauroux,
          <string-name>
            <given-names>Manfred</given-names>
            <surname>Hauswirth</surname>
          </string-name>
          , and Tim Van Pelt.
          <article-title>Gridvine: Building internet-scale semantic overlay networks</article-title>
          .
          <source>In International semantic web conference</source>
          , volume
          <volume>3298</volume>
          , pages
          <fpage>107</fpage>
          {
          <fpage>121</fpage>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Maribel</given-names>
            <surname>Acosta</surname>
          </string-name>
          ,
          <string-name>
            <surname>Maria-Esther</surname>
            <given-names>Vidal</given-names>
          </string-name>
          , Tomas Lampo, Julio Castillo, and
          <string-name>
            <given-names>Edna</given-names>
            <surname>Ruckhaus</surname>
          </string-name>
          .
          <article-title>Anapsid: an adaptive query processing engine for sparql endpoints</article-title>
          .
          <source>The Semantic Web{ISWC</source>
          <year>2011</year>
          , pages
          <fpage>18</fpage>
          {
          <fpage>34</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Christian</given-names>
            <surname>Bizer</surname>
          </string-name>
          , Tom Heath, and
          <string-name>
            <surname>Tim</surname>
          </string-name>
          Berners-Lee.
          <article-title>Linked Data - The Story So Far</article-title>
          .
          <source>International Journal of Semantic Web and Information Syststems</source>
          ,
          <volume>5</volume>
          (
          <issue>3</issue>
          ):1{
          <fpage>22</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Min</given-names>
            <surname>Cai</surname>
          </string-name>
          and
          <string-name>
            <given-names>Martin</given-names>
            <surname>Frank</surname>
          </string-name>
          .
          <article-title>Rdfpeers: a scalable distributed rdf repository based on a structured peerto-peer network</article-title>
          .
          <source>In Proceedings of the 13th international conference on World Wide Web</source>
          , pages
          <volume>650</volume>
          {
          <fpage>657</fpage>
          . ACM,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Mung</given-names>
            <surname>Chiang</surname>
          </string-name>
          and
          <string-name>
            <given-names>Tao</given-names>
            <surname>Zhang</surname>
          </string-name>
          .
          <article-title>Fog and iot: An overview of research opportunities</article-title>
          .
          <source>IEEE Internet of Things Journal</source>
          ,
          <volume>3</volume>
          (
          <issue>6</issue>
          ):
          <volume>854</volume>
          {
          <fpage>864</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Pauline</given-names>
            <surname>Folz</surname>
          </string-name>
          ,
          <article-title>Hala Skaf-Molli, and Pascal Molli</article-title>
          .
          <article-title>CyCLaDEs: a decentralized cache for Linked Data Fragments</article-title>
          .
          <source>In ESWC: Extended Semantic Web Conference</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Arnaud</given-names>
            <surname>Grall</surname>
          </string-name>
          , Pauline Folz, Gabriela Montoya, Halla Skaf-Molli, Pascal Molli, Miel Vander Sande, and
          <string-name>
            <given-names>Ruben</given-names>
            <surname>Verborgh</surname>
          </string-name>
          .
          <article-title>Ladda: SPARQL queries in the fog of browsers</article-title>
          .
          <source>In Proceedings of the 14th ESWC: Posters and Demos</source>
          , May
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Ryan</given-names>
            <surname>Huebsch</surname>
          </string-name>
          , Joseph M Hellerstein,
          <string-name>
            <given-names>Nick</given-names>
            <surname>Lanham</surname>
          </string-name>
          , Boon Thau Loo,
          <string-name>
            <given-names>Scott</given-names>
            <surname>Shenker</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Ion</given-names>
            <surname>Stoica</surname>
          </string-name>
          .
          <article-title>Querying the internet with pier</article-title>
          .
          <source>In Proceedings of the 29th international conference on Very large data bases-</source>
          Volume
          <volume>29</volume>
          , pages
          <fpage>321</fpage>
          {
          <fpage>332</fpage>
          . VLDB Endowment,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Brice</given-names>
            <surname>Nedelec</surname>
          </string-name>
          , Pascal Molli, and
          <string-name>
            <given-names>Achour</given-names>
            <surname>Mostefaoui</surname>
          </string-name>
          . Crate:
          <article-title>Writing stories together with our browsers</article-title>
          .
          <source>In Proceedings of the 25th International Conference Companion on World Wide Web</source>
          , pages
          <volume>231</volume>
          {
          <fpage>234</fpage>
          . International World Wide Web Conferences Steering Committee,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Wolfgang</surname>
            <given-names>Nejdl</given-names>
          </string-name>
          , Boris Wolf, Changtao Qu, Stefan Decker, Michael Sintek, Ambjorn Naeve, Mikael Nilsson, Matthias Palmer, and
          <string-name>
            <given-names>Tore</given-names>
            <surname>Risch</surname>
          </string-name>
          .
          <article-title>Edutella: a p2p networking infrastructure based on rdf</article-title>
          .
          <source>In Proceedings of the 11th international conference on World Wide Web</source>
          , pages
          <volume>604</volume>
          {
          <fpage>615</fpage>
          . ACM,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>M</given-names>
            <surname>Tamer O</surname>
          </string-name>
          <article-title>zsu and Patrick Valduriez. Principles of distributed database systems -</article-title>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Satyanarayanan</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Bahl</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Caceres</surname>
            , and
            <given-names>N. Davies.</given-names>
          </string-name>
          <article-title>The case for vm-based cloudlets in mobile computing</article-title>
          .
          <source>IEEE Pervasive Computing</source>
          ,
          <volume>8</volume>
          (
          <issue>4</issue>
          ):
          <volume>14</volume>
          {
          <fpage>23</fpage>
          ,
          <string-name>
            <surname>Oct</surname>
          </string-name>
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Andreas</surname>
            <given-names>Schwarte</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Haase</surname>
          </string-name>
          , Katja Hose, Ralf Schenkel, and
          <string-name>
            <given-names>Michael</given-names>
            <surname>Schmidt</surname>
          </string-name>
          . Fedx:
          <article-title>Optimization techniques for federated query processing on linked data</article-title>
          .
          <source>In International Semantic Web Conference</source>
          , pages
          <volume>601</volume>
          {
          <fpage>616</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Luis M Vaquero and Luis</surname>
          </string-name>
          Rodero-Merino.
          <article-title>Finding your way in the fog: Towards a comprehensive de nition of fog computing</article-title>
          .
          <source>ACM SIGCOMM Computer Communication Review</source>
          ,
          <volume>44</volume>
          (
          <issue>5</issue>
          ):
          <volume>27</volume>
          {
          <fpage>32</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Shanhe</surname>
            <given-names>Yi</given-names>
          </string-name>
          , Zijiang Hao, Zhengrui Qin, and
          <string-name>
            <given-names>Qun</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>Fog computing: Platform and applications</article-title>
          .
          <source>In Hot Topics in Web Systems and Technologies (HotWeb)</source>
          ,
          <source>2015 Third IEEE Workshop on</source>
          , pages
          <volume>73</volume>
          {
          <fpage>78</fpage>
          . IEEE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>