<!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>An Edge-centric Ensemble Scheme for Queries Assignment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kostas Kolomvatsos</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christos Anagnostopoulos</string-name>
          <email>christos.anagnostopoulosg@glasgow.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computing Science, University of Glasgow</institution>
          ,
          <addr-line>G12 8RZ, Glasgow</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The new era of the Internet of Things (IoT) reveals new potentials for the management of numerous devices. Such devices produce data streams that are guided to the Cloud for further processing. However, any processing in the Cloud, even if it is supported by increased computational resources, su ers from increased latency. For minimizing the latency, we can perform data processing at the edge of the network, i.e., at the edge nodes. The aim is to provide analytics and build knowledge on top of the collected data in the minimum time. In this paper, we deal with the problem of allocating queries, de ned for producing knowledge, to a number of edge nodes. The aim is to further reduce the latency by allocating queries to nodes that exhibit low load (the current and the estimated), thus, they can provide the nal response in the minimum time. However, before the allocation, we should decide the computational burden that a query will add. The allocation is concluded by the assistance of an ensemble similarity scheme responsible to deliver the complexity class for each query. The complexity class, thus, can be matched against the current load of every edge node. We discuss our scheme and through a large set of simulations and the adoption of benchmarking queries, we reveal the potentials of the proposed model supported by numerical results.</p>
      </abstract>
      <kwd-group>
        <kwd>Edge nodes • Queries assignment • Ensemble similarity scheme</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In the era of the Internet of Things (IoT), numerous devices form a vast
infrastructure while being capable of performing simple processing tasks and exchange
of data. One can identify a research challenge related to the connection of such
devices with the network and three locations of data processing. Data can be
processed at the devices, at the edge of the network (Edge/Fog) or at the Cloud.
As we move to the upper layers of this architecture (from the devices to the
Cloud), we observe improved computational resources, however, the latency
increases as well. Current research e orts (e.g., [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]) focus on the data
streams management at the edge to reduce the latency experienced by end users.
Hence, the power of data processing and knowledge production is transferred to
the edge nodes instead of relying on the Cloud or a central data warehouse.
      </p>
      <p>A number of Edge Nodes (ENs) can be considered as the distributed
repositories where queries can be executed to export meaningful analytics. ENs vary
from simple routers to complete servers placed at various locations. ENs are
connected with a number of devices and act as the repository of the data reported
by them. ENs are responsible to execute the queries and report the result to the
requested entity. The e cient management of the incoming queries as well as the
provided responses will characterize the success of the supported applications.
Usually, applications demand a response in the minimum time to provide high
quality services to end users. The most important challenge is that ENs receive
queries from multiple requestors and the collected data are quickly updated over
time. This makes imperative the need for intelligent methods that will be able
to manage the numerous requests (in the form of queries) and the large volumes
of the collected data.</p>
      <p>In this paper, we deal with the problem of query allocation to the
appropriate ENs. Queries are reported through streams into a set of entities called
Query Controllers (QCs). QCs are located at the Cloud and they have direct
connection with multiple ENs. Our aim is to e ciently allocate every query to
the appropriate EN in order to get the nal response in the minimum time. This
is a multi-dimensional problem involving queries and ENs characteristics (e.g.,
query type, ENs location, ENs load, the collected data). In the current e ort,
we focus on `matching' queries with ENs. We propose a method for classifying
queries into a set of complexity classes that depict the burden that a query will
cause to an EN. Hence, we can compare the requirements of the query with the
ENs' load and decide if the speci c allocation is productive. A question arises:
`Why do not we rely on the selection of ENs with the lowest load? '. The response
is two-fold, i.e., (i) we want a mechanism to estimate the computational burden
that a query will add to the selected ENs being di cult to classify a query in
a speci c complexity class; (ii) we cannot be based on the current minimum
load as ENs receive queries from multiple QCs, thus, the load is continuously
updated. We propose models for both problems; an ensemble similarity scheme
for the estimation of the complexity class based on historical queries and the
decision related to the selection of ENs based on a `combined' view of their
current and future loads. The following list reports on the contributions of our
work: (i) we provide a modeling process for di erent types of queries; (ii) we
provide an ensemble similarity scheme for concluding the complexity class; (iii)
we provide a ENs selection model based on their current and the future load;
(iv) we provide experimental evaluation of our ensemble similarity scheme.</p>
      <p>The paper is organized as follows. Section 2 presents the related work while
Section 3 discusses the problem under consideration. Section 4 presents the
proposed ensemble similarity scheme and the adopted decision making technique.
Section 5 reports on the experimental evaluation of our mechanism while Section
6 concludes our paper by giving insights in our future research directions.</p>
    </sec>
    <sec id="sec-2">
      <title>Prior Work</title>
      <p>
        In the IoT infrastructure, the collection of data in multiple locations is a
common approach. Data are geospatialy distributed with multiple nodes hosting the
data. The management of these numerous nodes is a very challenging task. A
set of e orts try to reveal opportunities for the management of the distributed
nodes/data. For instance, Dragon [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] tries to e ciently identify nodes that can
reply to user requests based on static criteria describing nodes themselves or
their data. In such settings, the important is to have a view on the nodes
characteristics as well as the available data. However, IoT nodes exhibit di erent
characteristics not only in the hardware but also in the software (e.g., their
middleware). In [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], the authors propose a Distributed Data Service (DDS)
providing functionalities for collecting and processing data. The main target is
to enable multiple and distinct IoT middleware systems to share common data
services, thus, to cover interoperability issues.
      </p>
      <p>
        In any case, the execution of queries, in parallel, can increase the
performance of the applications. This advantage is provided on top of the separation
of data in a number of partitions. The separation of data may `emerge' as a
natural consequence, e.g., when streams report data in high rates at various
locations. Multiple e orts try to handle the problem of proposing algorithms for
separating the available data. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], the authors adopt a sliding window
approach. Streams are partitioned on the y taking into consideration the query
semantics. A multi-route optimizer is proposed in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The optimizer tries to
exploit the intra- and inter-stream correlations to produce e ective partitions. The
authors in [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ] propose the separation of streams into a set of sub-streams over
which query operators are executed in parallel. Another e ort that focuses on
splitting functions is reported in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The proposed partitioning functions are
characterized by a set of properties, i.e, balance properties (e.g., memory,
processing, communication balance), structural properties (e.g., compactness, fast
lookup), and adaptation properties (e.g., fast computation, minimal migration).
      </p>
      <p>
        In addition, various models, originated in the database community, have been
proposed for delivering the similarity between SQL queries. Queries can be
represented at the intentional [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ] or at the extensional level [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. Other techniques
involve Information Retrieval (IR) models, i.e., queries can be depicted by
vectors of features [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], a set of fragments [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] or graphs [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]. Example schemes deal
with the inner product of vectors [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], the cosine distance [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] or the Jaccard
coe cient [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Other more `sophisticated' solutions focus on the adoption of
Support Vector Machines (SVMs) [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ], [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ]. SVMs aim to learn the ranking function
applied on queries. This way, we are able to sort the queries and get the top-k
of them. Most existing top-k query processing algorithms like [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] assume
that the ranking function is de ned over absolute attribute values or they are
monotonic. The exploitation of the similarity can involve index structures (e.g.,
B-trees) to access the scoring of a sub-region. Other e orts e.g., [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ], focus on
relaxing the monotonicity assumption to include functions whose scores can be
bounded in the given attribute value range.
      </p>
      <p>
        In our past research, we also deal with the allocation of queries to a set of
processors. In [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], we propose a time-optimized scheme for selecting the
appropriate processor(s) through the use of the Odds algorithm. With the proposed
model, we try to result the optimal allocation, in the minimum time. In [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], we
present a Q-learning scheme to calculate the reward retrieved for an allocation.
In [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], we extend the work presented in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] and incorporate into the learning
process a load balancer comparing it with a clustering model that creates groups
of processors with similar characteristics. The missing contributions in our past
research activities that we cover with the current work are: (i) in our previous
models, we do not adopt any speci c similarity technique for `matching' queries
with the available processors; (ii) Our past e orts do not deal with an ensemble
scheme that identi es the complexity class of queries; (iii) our past models are
mostly `static' meaning that they are applied on top of static values without
taking into consideration the continuous update of processors characteristics;
(iv) our previous research e orts require a training phase that increases the
latency in the provision of the nal response especially when adopted in dynamic
environments.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Problem De nition and High Level Description</title>
      <p>Data Processing at the Edge of the Network. We consider a set of ENs, i.e.,
E N = en1; en2; : : : ; enjEN j placed at various locations (e.g., in a city or around
the Globe). A set of IoT nodes (e.g., smartphones, sensors) are `connected' with
every EN to send their data. ENs, on top of the collected data, can build and
extend the produced contextual knowledge supporting decision making. A Query
Processor (QP) is adopted in every EN to respond to any incoming query. Let
the set of QPs be QP = qp1; qp2; : : : ; qpjEN j . QPs are `invoked' through the
mediation of Cloud where a number of QCs are present. QCs receive queries,
`invoke' the appropriate QPs, get their responses and return the nal result. We
consider two types of applications, i.e., (i) applications that demand responses
in real time; (ii) applications that do not de ne any time constraints. In our
research, we focus on the former type.</p>
      <p>In each EN, a dataset is formulated by the collected data de ning a
geodistributed local data repository. Each dataset Di, present at the ith EN, stores
multivariate data, i.e., vectors in the form x = hx1; x2; : : : ; xli where l is the
number of dimensions. Dis are updated over time as streams produced by IoT
devices report data at high rates. In our research, we cannot have any view on
the data present in every dataset and we do not adopt any separation algorithm
for the collected data.</p>
      <p>In the upper layer (i.e., the Fog/Cloud), there is a number of QCs that have
to process queries reported through streams Qi = fq1; q2; : : :g. QCs perform the
selection of the appropriate ENs/QPs and the nal aggregation of the `partial'
responses. As partial response, we de ne the response retrieved by an EN/QP that
should be aggregated with the remaining results reported by other ENs/QPs. In
our research, we provide models for the management of the ecosystem of QCs
ENs/QPs (see Figure 1) and de ne techniques for the e cient allocation of the
incoming queries. Our current e ort tries to `match': (a) queries q1; q2; : : : with;
(b) the available QPs qp1; qp2; : : : ; qpjEN j.</p>
      <p>
        Matching Queries and Processors. Every EN/QP exhibits speci c
characteristics Cqp = fcq1p; cq2p; : : :g, e.g., Cqp = fload; speed; language; ef f ectivenessg.
A detailed discussion on the QPs characteristics can be found in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. Some of
them are: (i) the input language; (ii) the types of the performed optimizations;
(iii) the optimization timing; (iv) the e ectiveness of processors as depicted by
statistics; (v) the decision sites; (vi) the exploitation of the network topology;
(vii) the exploitation of replicated fragments; (viii) the use of semi-joins. We
propose to extend the aforementioned list and incorporate more `dynamic'
characteristics that are related to high level features like the load and the speed
of each QP. Such characteristics are delivered as a more detailed view of the
performance depicting the current state of each QP. In our work, we focus on
the load as an indication of their ability to quickly perform the execution of a
query.
      </p>
      <p>
        We consider that every QP maintains a queue where the incoming queries
are placed and wait for processing. The size of the queue is adopted to deliver
which represents the percentage of the maximum load that can be a orded
by the corresponding QP. Without loss of generality, is de ned in [
        <xref ref-type="bibr" rid="ref1">0,1</xref>
        ] (a
maximum queue size Qmax is adopted for such purposes). When ! 1 means
that the corresponding QP exhibits a high load. The load is directly `connected'
with the throughput of each QP and the velocity in which queries arrive in the
discussed queue. A complex query (e.g., a join query - see below) may demand
for more time and resources to be answered compared with a simple query (e.g.,
a select query). Usually, a complex query requires a high number of steps (a
discussion on the query execution plans and the required steps can be found in
the upcoming sections). The `classi cation' of the complexity of a query and its
`combination' with the load of a QP is the main subject of the current work.
Future extensions involve the modeling of more QPs' characteristics as well as a
complex `matching' scheme for delivering the nal allocation.
      </p>
      <p>
        Every query reported to a QC also has a set of characteristics depicted by
Cq = fc1; cq2; : : :g, e.g., Cq = fclass; deadline; type; sizeg. According to [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
q
`generic' characteristics are: (i) the type of the query (e.g., repetitive, ad-hoc);
(ii) the query shape; (iii) the size of the query (e.g., simple, medium, complex).
Based on Cq, speci c execution plans could be de ned in the form of a processing
tree [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. We propose to extend the aforementioned list and incorporate more
characteristics that depict the complexity and the need for instant response.
Such characteristics a ect queries' execution in terms of the resources required
to produce the nal response. In the current work, we focus on the query class ;
it depicts the complexity of a query. is aligned with the complexity performed
by the operations required for producing the nal result. For instance, the
operations required by a select query may be easier than the operations required
by a Cartesian product. Various research e orts deal with the complexity of
queries [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
      </p>
      <p>Delivering the Query Complexity Class. Our aim is to combine with
and support the decision if a query can be e ciently executed in a QP.
Initially, we have to assign the incoming query to a complexity class (i.e., a typical
classi cation task). However, it is di cult to `match' any query against a single
class due to the increased number of constraints that could be adopted in each
query statement. The nal complexity should be de ned based not only on
quantitative (e.g., number of constraints / conditions) but also on qualitative (e.g.,
type of operations / constraints) characteristics. For handling this complicated
process, we propose a `fuzzy' approach and de ne a Fuzzy Classi cation Process
(FCP). The FCP is the process of grouping individuals having the same
characteristics into the same fuzzy set based on a membership function that indicates
whether a query is a member of a class. The FCP tells us the membership of
a query in each of the pre-de ned classes, thus, we could be able to estimate
the computational burden that will be added to the selected QP. A dataset of
historical queries (i.e., a set of tuples) together with their corresponding classes
is available for the FCP. The same class may be involved in multiple tuples, thus,
in multiple queries. The queries dataset if de ned by database experts and its
creation is not the focus of the current work.</p>
      <p>
        For evaluating for qj , we adopt Information Retrieval (IR) and Data Mining
(DM) techniques. We prefer to adopt fast similarity techniques to deliver the nal
result in real time instead of adopting a classi cation approach that requires a
training phase. Our model can be easily executed, even if the queries dataset
is updated; this is not the case in the majority of the classi cation algorithms
(the training phase should be executed again). The set = 1; 2; : : : ; j j
depicts the pre-de ned classes where a query can/should be classi ed. Let the
queries dataset be QD with tuples in the form hsk; ki ; 8k 2 f1; 2; : : : ; jQDjg.
sk represents the query's statement and k 2 . An example query statement
could be fSelect price from stocks where id =0 RBS0g. The function f gets the
qj and based on QD delivers a vector that depicts the `similarity' of qj with
every class in , i.e., f (qj ; QD) ! qs 2 Rj j. qs contains values in [
        <xref ref-type="bibr" rid="ref1">0,1</xref>
        ] forming
the basis of our FCP. An example vector could be qs = h0:2; 0:8; 0:3i for =
1 = O(nlogn); 2 = O(n); 3 = O(n2 . qs shows that the qj `belongs' by 20%
to the rst complexity class, by 80% to the second and by 30% to the third.
Based on qs, we can estimate and match it with QPs characteristics (i.e., in
this e ort).
      </p>
      <p>
        For calculating qs, we can be based on various e orts that deliver the
similarity between queries. The interested reader can refer in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] for more details.
We propose the use of an ensemble scheme for evaluating the nal similarity
between qj and every tuple hsk; ki in QD. The ensemble model aims at avoiding
the disadvantages of each individual metric. We process all the available tuples
in QD classi ed to k. The ensemble scheme adopts the set E = e1; e2; : : : ; ejEj
of similarity metrics. For instance, E could involve the Hamming distance [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ],
the Jaccard coe cient [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], the Cosine similarity [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] or any other metric. Any
distance metric available in the corresponding literature could be transformed to
depict the similarity between qj and hsk; ki. For instance, if ed is the Euclidean
distance between qj and a tuple, their similarity can be calculated by 1+1ed .
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Allocating Queries to Processors</title>
      <p>The Ensemble Scheme. The adopted similarity metrics are applied on each
tuple classi ed to k aggregated to a successive step for the nalization of qks,
i.e., the nal similarity of qj with k. Formally the `2D aggregation' is calculated
as follows: qks = (! fei(qj ; hsk; ki)g ; 8i, 8 hsk; ki. ! realizes the envisioned
ensemble similarity scheme while the aggregation operator produces the qks
through multiple ! values.</p>
      <p>
        For !, we consider that every single result (i.e., ei(qj ; hsk; ki) represents the
membership of qj to a `virtual' fuzzy set. We have jE j membership degrees that
should be combined to get the nal similarity for the each tuple. For instance, if
we get e1 = 0:2, e2 = 0:5 and e3 = 0:3, qj `belongs' to the e1 fuzzy set by 0.2, to
the e2 by 0.5 and to the e3 by 0.3. ! is a fuzzy aggregation operator, a jE j-place
function ! : [0; 1]jEj ! [0; 1]) that takes into consideration the membership to
every fuzzy set and returns the nal value. Aggregation operators are well studied
in various e orts [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Through a high number of experiments [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ],
a number of aggregators are identi ed to exhibit the best performance, i.e.,
the Einstein product, the algebric product, the Hamacher product [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and the
Schweizer-Sklar metric [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        In the proposed model, we adopt the Hamacher product as it gives us more
opportunities to `tune' the result through the parameter 0. The nal ! for a
e_ e
tuple is de ned as: !i = a+(1 a)(e_+e e_ e) where e_ and e are two similarity values.
As those values may be distributed in [
        <xref ref-type="bibr" rid="ref1">0,1</xref>
        ], i.e., similarity metrics may `disagree',
we propose the use of the top-n similarity values based on their signi cance
level. The Signi cance Level (SL) depicts if a value is `representative' for many
other results. We borrow the idea from the density based clustering where the
centroids are points being connected with many other objects. We propose the
use of the radius and calculate the SL for each similarity result as follows:
SLei = j 2) ; 8j, where 1 and 2 are parameters adopted to
1
1+e ( 1jd(ei;ej)
smooth the sigmoid function. With the sigmoid function, we want to eliminate
the SL of values with a low number of `neighbors' in the radius . Finally, the
results are sorted in descending order of the SL and the top-n of them are
processed with the Hamacher product to deliver the nal aggregated similarity
value.
      </p>
      <p>The operator builds on top of the ! values produced for each tuple in
QD classi ed in k. Let !1; !2; : : : ; !m are those values. For their aggregation,
we rely on a Quasi-Arithmetic mean, i.e., qks = m1 Pim=1 !i 1 where is a
parameter that `tunes' the function. When = 1, the function is the arithmetic
mean, when = 2, it is the quadratic mean and so on. After calculating the
nal values for each k, we get qs = 1; 2; : : : ; j j .</p>
      <p>The Matching Process. The next step is to estimate the required
processing steps to conclude the response for the qj , thus, to identify its computational
burden. We consider an additional vector Ts = T1; T2; : : : ; Tj j which
represents a `typical' number of processing steps (an upper bound) for each class.
The expected number of processing steps for qj is de ned by TE = Pji=j1 iTi.
Recall that depicts the current load of a processor, thus, 1 depicts the
room for `hosting' additional queries. The most common execution approach is
the creation of an execution tree where the required steps are connected 1. A
statistical study for the average required steps T E in various query execution
plans can assist us to de ne the room for additional queries in QPs. TE should be
compared with T^E = (1 ) T E to identify if qj can be executed in the speci c
QP. When TE T^E , we assign a reward r1 to the speci c QP, otherwise, r1
corresponds to a penalty.</p>
      <p>
        In addition, we want to incorporate in the decision process, our view on
the future load of QPs. Hence, we maintain historical values and apply a
single linear estimator to identify the future load as in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. The idea is to see if
the current (through T^E ) and future load can support the execution of qj . For
the latest W observations t 1; t 2; : : : ; t W , we estimate the future load
^ through the linear combination of t k; k = 1; 2; : : : ; W with real-valued ak
coe cients. The set fakg is estimated to minimize the error between ^ and .
In our e ort, we adopt the Levinson-Durbin algorithm [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Based on ^,
if TE
1
      </p>
      <p>^ T E , we assign a reward equal to r2 to the speci c processor,
otherwise, r2 corresponds to a penalty.</p>
      <p>
        The ith QP gets a reward/penalty equal to ri = PjjR=j1 sgn(ri)ri where jRj is
the number of rewards and sgn(ri) is the positive sign if the ri deals with a
reward; otherwise, it is the negative sign. For each QP, we calculate the probability
of allocation pi delivered by the softmax function [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], i.e., pi = PjiE=eN1rij eri . qj is
allocated in the processors that their probability exceeds a pre-de ned threshold
pT . This secures the optimal allocation based on the Probability Ranking
Principle [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], i.e., if QPs are ordered by decreasing pi, then the model's e ectiveness
is the best to be gotten for the qj .
1 https://docs.oracle.com/database/121/TGSQL/tgsql sqlproc.htm#TGSQL186
      </p>
    </sec>
    <sec id="sec-5">
      <title>Experimental Evaluation</title>
      <p>
        Experimentation Setup. We report on the performance of the proposed scheme
through a large set of simulations. Our simulator is written in Java and manages
a number of queries retrieved by a real dataset. We rely on two benchmarking
datasets, i.e., TPC-DS and TPC-H (http://www.tpc.org/). TPC-DS is the
defacto industry standard benchmark for measuring the performance of decision
support solutions. The TPC-H is a decision support benchmark that consists of
a suite of business oriented ad-hoc queries. For each of the adopted queries, we
de ne its class as described in [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] where a survey of databases experts de ne
their view on the complexity of every query. We classify our evaluation queries
in six (6) classes.
      </p>
      <p>We adopt three (3) performance metrics: (i) the time required for
concluding a query allocation depicted by measured in seconds. The lower the is
the more e cient the model becomes; (ii) the di erence between of the rst
selected QP compared to the lowest observed in the group of QPs . ! 0
means that the proposed model selects the best possible QP; (iii) the di erence
of between the lowest value in the group and the average of the top-n
selected QPs . We want close to zero which means that the proposed model
selects the best possible QPs. and depict the correct matching between the
qj and the available QPs. When we meet `ties', i.e., QPs with the same pi, we
experiment with two scenarios: Scenario A. the random selection of the QPs
for the nal allocation; Scenario B. the selection of the lowest possible . In the
later case, there is the risk of possible bottlenecks (consider the scenario where
all the QCs select QPs with the lowest load when `ties' arise).</p>
      <p>We get jE N j 2 f10; 100; 1000; 10000g and consider following: (a) the
Uniform; (b) the Gaussian distributions. With the Uniform distribution, we simulate
a very dynamic environment where continuously changes. The Gaussian
distribution assumes a `smooth' environment where abrupt changes in are absent.
In each simulation, we randomly select a query and apply the proposed model.
The adopted parameters are as follows: = 0:1, 1 = 5:0, 2 = 7:0, a = 1:5,
= 10:0, W = 20:0, r1 = r2 = 10:0.</p>
      <p>Performance Assessment. Initially, we report on the complexity of the
proposed scheme which depends on: (i) the complexity of the ensemble
similarity model; (ii) the complexity of the QPs selection process. The rst complexity
is a ected by the j j and the jQDj (the size of the dataset). Hence, the
complexity for (i) is O(j )j jQDj. In addition, when we produce the similarity values
with every metric in E , we require O(jE j2 + m) to calculate the value. O(jE j2)
is required to produce the SL for each metric and, additionally, O(m) to produce
the . Hence, the nal complexity of our scheme is O j j jQDj jE j2 + m .
In Figure 2, we plot the complexity of our scheme. At the left, we observe that
a combination of a high number of training queries with a high number of j j
increases the computational time. At the right, we see that the number of
similarity metrics does not mainly a ect the complexity. However, when remains
low (e.g., below 20), the required time for concluding an allocation is low as well.
1048
3
2
1
0
4000
1088
6
4
2
0
100
2000
0 0
50
100
50</p>
      <p>In Table 5, we present the conclusion time for various numbers of QPs (
metric). The distribution of does not a ect the result; The adoption of the
Uniform mainly results lower conclusion time than the Gaussian distribution. In
any case, our results are below 0.3 seconds no matter the jE N j. This depicts the
e ciency of our model and its ability to support real time decisions.</p>
      <p>In Figure 3, we depict our results for the metric. We observe that, as
natural, the Scenario A leads to a higher di erence with the lowest than the
Scenario B. The random selection of a QP, in the case of ties, does not secure the
optimality of the selection but it focuses only in the `load balancing' aspect of
the problem. We also observe that the di erence is high as jE N j ! 10; 000, The
higher the jE N j is, the higher the di erence becomes. These results stand for the
Scenario A. In the Scenario B, we see that the increased jE N j positively a ects
the performance as approaches zero. In the Scenario B, our model relies on
the minimum , however, under the risk of bottlenecks if this decision is adopted
by the majority of the QCs.</p>
      <p>In Figure 4, we present our results for the metric. Now, the di erence is
higher than in the case. The reason is that the remaining selected QPs in the
top-n list and their load negatively a ect the statistics. In any case, the load of
the selected QPs remains low in Scenario B.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and Future Work</title>
      <p>The e cient management of queries adopted to provide analytics comes, more
intensively, into scene in the IoT era. Queries should be immediately and e ciently</p>
      <p>metric.
responded to support high quality services. In this paper, we discuss a setting
where queries are set into the Cloud and responded in multiple edge nodes. We
propose a model for depicting the complexity of a query and an allocation
process to the edge nodes. The complexity class de nes the computational burden
that a query imposes to a node and it is delivered by an ensemble similarity
scheme. Our model does not impose any training process and does not require
an increased time to deliver the nal result. Our evaluation process reveals the
pros of the model and through numerical results con rms the increased
performance. Our future research plans involve the incorporation of more parameters
into the decision making process. For instance, we can take into consideration
the deadline de ned for the nal execution of a query or the statistics of data
hosted in each edge node. This way, we will be capable of providing a
mechanism fully adapted to the queries and nodes characteristics together with the
requirements de ned by end users.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgment</title>
      <p>This work is funded by the EU/H2020 Marie Sklodowska-Curie (MSCA-2016)
under the INNOVATE project; Grant#745829.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aligon</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , et al., '
          <article-title>Mining preferences from OLAP query logs for proactive personalization'</article-title>
          ,
          <source>in Proc. of ADBIS</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Antara</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , et al.,
          <article-title>'Plan selection based on query clustering'</article-title>
          ,
          <source>in Proc. of VLDB Endowment</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Artail</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , et al.,
          <article-title>'SQL query space and time complexity estimation for multidimensional queries'</article-title>
          ,
          <source>Int. Journal of Int. Inf. and Database Systems</source>
          ,
          <volume>2</volume>
          (
          <issue>4</issue>
          ),
          <year>2008</year>
          , pp.
          <volume>460</volume>
          {
          <fpage>480</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Aujla</surname>
            ,
            <given-names>G. S.</given-names>
          </string-name>
          , et al.,
          <article-title>'Optimal Decision Making for Big Data Processing at EdgeCloud Environment: An SDN Perspective'</article-title>
          ,
          <source>IEEE TII</source>
          , vol.
          <volume>14</volume>
          (
          <issue>2</issue>
          ),
          <year>2018</year>
          , pp.
          <volume>778</volume>
          {
          <fpage>789</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Balkensen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tatbul</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , '
          <article-title>Scalable Data Partitioning Techniques for Parallel Sliding Window Processing over Data Streams'</article-title>
          ,
          <source>in Proc. of 8th Int. Workshop on Data Management for Sensor Networks</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bishop</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , '
          <article-title>Pattern Recognition and Machine Learning'</article-title>
          , Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bruno</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gravano</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , '
          <string-name>
            <surname>Evaluating</surname>
          </string-name>
          top
          <article-title>-k queries over web-accessible databases'</article-title>
          ,
          <string-name>
            <surname>In</surname>
            <given-names>ICDE</given-names>
          </string-name>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Cao</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rundensteiner</surname>
            ,
            <given-names>E. A.</given-names>
          </string-name>
          ,
          <article-title>'High Performance Stream Query Processing with Correlation-Aware Partitioning'</article-title>
          ,
          <source>VLDB Endowment</source>
          ,
          <volume>7</volume>
          (
          <issue>4</issue>
          ),
          <year>2013</year>
          , pp.
          <volume>265</volume>
          {
          <fpage>276</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Chatzopoulou</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , et al., '
          <article-title>The QueRIE system for personalized query recommendations', IEEE Data Eng</article-title>
          . Bull.,
          <volume>34</volume>
          (
          <issue>2</issue>
          ),
          <year>2011</year>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>60</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Dias</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , et al., '
          <article-title>Distributed Data Stream Processing and Edge Computing: A Survey on Resource Elasticity and Future Directions'</article-title>
          , NCA,
          <volume>103</volume>
          ,
          <year>2018</year>
          , pp.
          <volume>1</volume>
          {
          <fpage>17</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Durbin</surname>
          </string-name>
          , J., '
          <article-title>The tting of time series models'</article-title>
          ,
          <source>Rev. Inst. Int. Stat.</source>
          , vol.
          <volume>28</volume>
          ,
          <year>1960</year>
          , pp.
          <fpage>233</fpage>
          -
          <lpage>243</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Farahbod</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eftekhari</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , '
          <article-title>Comparison of Di erent T-Norm Operators in Classi cation Problems'</article-title>
          , IJFLS, vol.
          <volume>2</volume>
          (
          <issue>3</issue>
          ),
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Gedik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , '
          <article-title>Partitioning Functions for Stateful Data Parallelism in Stream Processing'</article-title>
          ,
          <source>VLDB Journal</source>
          , vol.
          <volume>23</volume>
          (
          <issue>4</issue>
          ),
          <year>2014</year>
          , pp.
          <volume>517</volume>
          {
          <fpage>539</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Hameurlain</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morvan</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , '
          <article-title>Evolution of Query Optimization Methods'</article-title>
          , TLSDK-CS,
          <year>2009</year>
          , pp.
          <volume>211</volume>
          {
          <fpage>242</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Hossain</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Raihan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hashem</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , '
          <article-title>On Appropriate Selection of Fuzzy Aggregation Operators in Medical Decision Support System'</article-title>
          ,
          <source>In Proc. of the 8th Int. Conf. on Comp. and Inf. Technology</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Huacarpuma</surname>
          </string-name>
          , R. C., at el., '
          <article-title>Distributed Data Service for Data Management in Internet of Things Middleware'</article-title>
          ,
          <source>Sensors</source>
          , vol.
          <volume>17</volume>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Hwang</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chang</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , '
          <article-title>Optimizing access cost for top-k queries over web sources: A uni ed cost-based approach'</article-title>
          ,
          <string-name>
            <surname>in</surname>
            <given-names>ICDE</given-names>
          </string-name>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Jones</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , et al.,
          <article-title>'A probabilistic model of information retrieval: development and comparative experiments'</article-title>
          ,
          <source>Inf. Processing and Management</source>
          ,
          <volume>36</volume>
          (
          <issue>6</issue>
          ),
          <year>2000</year>
          , pp.
          <volume>779</volume>
          {
          <fpage>808</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Kolcun</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McCann</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          , '
          <article-title>Dragon: Data Discovery and Collection Architecture for Distributed IoT'</article-title>
          ,
          <source>Int. Conf. on IoT</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Kolomvatsos</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <source>'An Intelligent Scheme for Assigning Queries'</source>
          , Springer Applied Intelligence, doi.
          <source>org/10.1007/s10489-017-1099-5</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Kolomvatsos</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hadjiefthymiades</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , '
          <article-title>Learning the Engagement of Query Processors for Intelligent Analytics'</article-title>
          ,
          <source>Applied Intelligence Journal</source>
          , vol.
          <volume>46</volume>
          (
          <issue>1</issue>
          ),
          <fpage>96</fpage>
          -
          <lpage>112</lpage>
          ,
          <year>2017</year>
          , pp.
          <volume>1</volume>
          {
          <fpage>17</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Kolomvatsos</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anagnostopoulos</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , '
          <article-title>Reinforcement Machine Learning for Predictive Analytics in Smart Cities'</article-title>
          , Informatics,
          <volume>4</volume>
          (
          <issue>16</issue>
          ),
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Kul</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , et al.,
          <article-title>'Similarity Measures for SQL Query Clustering'</article-title>
          ,
          <string-name>
            <surname>IEEE</surname>
            <given-names>TKDE</given-names>
          </string-name>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Levinson</surname>
          </string-name>
          , N., '
          <article-title>The Wiener RMS error criterion in lter design and prediction'</article-title>
          ,
          <source>Journal of Math. Phys.</source>
          , vol.
          <volume>25</volume>
          ,
          <year>1947</year>
          , pp.
          <fpage>261</fpage>
          -
          <lpage>278</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Ozgu</surname>
            ,
            <given-names>M. T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valduriez</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , 'Overview of Query Processing',
          <source>Principles of Distributes Database Systems</source>
          ,
          <year>2011</year>
          , pp.
          <volume>205</volume>
          {
          <fpage>220</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Pandit</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , '
          <article-title>A Comparative Study on Distance Measuring Approaches for Clustering'</article-title>
          ,
          <source>Int. Journal of Research in Computer Science</source>
          ,
          <volume>2</volume>
          (
          <issue>1</issue>
          ),
          <year>2011</year>
          , pp.
          <volume>29</volume>
          {
          <fpage>31</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Satoh</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , '
          <article-title>Edge Data Processing'</article-title>
          ,
          <source>in Proc. of the 30th WAINA</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Simon</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pataki</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>'SQL Code Complexity</surname>
          </string-name>
          <article-title>Analysis'</article-title>
          ,
          <source>Proc. of the 8th Int. Conf. of Applied Informatics</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Stefanidis</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drosou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pitoura</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , '
          <article-title>You may also like results in relational databases'</article-title>
          ,
          <source>in Proc. of PersDB</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Vashistha</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jain</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , '
          <article-title>Measuring Query Complexity in SQLShare Workload'</article-title>
          ,
          <source>Proc. of the Int. Conf. on Management of Data</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Procopiuc</surname>
            ,
            <given-names>C. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , '
          <article-title>Recommending join queries via query log analysis'</article-title>
          ,
          <source>in IEEE ICDE</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Yao</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>An</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          , '
          <article-title>Finding and analyzing database user sessions'</article-title>
          ,
          <source>in Proc. DASFAA</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , et al., '
          <article-title>Exact indexing for support vector machines'</article-title>
          ,
          <source>in proc. of the 2011 ACM SIGMOD</source>
          ,
          <year>2011</year>
          , pp.
          <volume>709</volume>
          {
          <fpage>720</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Zazhir</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>El Qadi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bellatreche</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <article-title>'Identifying SQL Queries Similarity Using SVM'</article-title>
          ,
          <source>in Proc. of ICONIP</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Zeitler</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Risch</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <article-title>'Scalable Splitting of Massive Data Streams'</article-title>
          ,
          <source>in DASFAA 2010</source>
          , vol
          <volume>5982</volume>
          , Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          , et al.,
          <article-title>'Boolean + ranking: Querying a database by k-constrained optimization'</article-title>
          ,
          <source>in Proc. ACM SIGMOD</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>