research article efficient multidimensional top- query...
TRANSCRIPT
-
Research ArticleEfficient Multidimensional Top-๐ Query Processing inWireless Multihop Networks
Daichi Amagata,1 Yuya Sasaki,2 Takahiro Hara,1 and Shojiro Nishio1
1Graduate School of Information Science and Technology, Osaka University, Osaka 565-0871, Japan2Institute of Innovation for Future Society, Nagoya University, Aichi 464-8601, Japan
Correspondence should be addressed to Daichi Amagata; [email protected]
Received 29 August 2014; Accepted 1 September 2014
Academic Editor: David Taniar
Copyright ยฉ 2015 Daichi Amagata et al.This is an open access article distributed under theCreative CommonsAttribution License,which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Top-๐ queries, which retrieve the k most preferable data objects, have been receiving much attention. An emerging challengeis to support efficient top-๐ query processing in a wireless distributed network. In this study, we investigated how to processmultidimensional top-๐ queries efficiently in a wireless multihop network. A major challenge for multidimensional top-๐ queriesis that answers for different users are typically different, because each user has a unique preference and search range. Meanwhile, itis desirable for wireless networks to reduce unnecessary traffic even if users issue top-๐ queries with their own unique preferences.Therefore, we address the above problem and propose a top-๐ query processing method in wireless multihop networks, calledClusTo. ClusTo performs a novel clustering scheme for multidimensional top-๐ query processing and routes queries based on thecluster while guaranteeing the userโs specified search range. Moreover, ClusTo takes a dynamic threshold approach to suppressunnecessary query transmissions to nodes which do not contribute to top-๐ data retrieval. Extensive experiments on both real andsynthetic data have demonstrated that ClusTo outperforms existing methods in terms of traffic and delay.
1. Introduction
Recent remarkable innovations in engineering have beenbringing us to variety of distributed networks and wirelesscommunication mediums. Information retrieval in wirelessdistributed networks presents an important challenge of sup-porting efficient query processing [1]. Ranking queries, forexample, top-๐ queries, enhance efficiency of data retrievaland can help suppressing huge result sets and provideusers with only their required result. Top-๐ queries retrieveonly the ๐ data objects that best match the userโs specifiedquery condition (scoring function) [2โ4]. A wide range ofapplications, such as multimedia retrieval in P2P networks[5โ9], environment monitoring in wireless sensor networks[10โ12], and, in ad hoc networks, military situations andrescue operation in disaster sites [13โ15], realize considerablebenefits from top-๐ query processing.
As introduced above, the systems operated in the appli-cations are becoming increasingly distributed. Thus, manyresearchers nowadays engage in studying efficient queryprocessing in distributed environments. The emerging and
important challenge which we tackle in this paper is dataretrieval in wireless distributed networks with no infrastruc-ture support, and we focus on multidimensional top-๐ queryprocessing in such environments, where users can specifya monotone scoring function and search range as a querycondition.One of the representative examples is data retrievalin a wireless sensor network. A user wants to collect top-3sensor readings existing around a sensor node (e.g., within100 meters) to investigate environment details. The sensorreadings consist of some attributes such as temperatureand humidity. If the user cares about temperature morethan humidity, the users specify the scoring function whichweights temperature higher than humidity and the searchrange as 100 meters. Another example is a cooperative orgroup working in a site where there is no infrastructure, andeach of the group members is assigned a small region forinvestigation. In such application, users may retrieve dataobjects by utilizing wireless communication mediums. Forexample, a user wants to obtain top-2 data existing around theuser, where data objects are represented by some attributes,for example, 2-dimensional data. To obtain his/her preferable
Hindawi Publishing CorporationMobile Information SystemsVolume 2015, Article ID 657431, 20 pageshttp://dx.doi.org/10.1155/2015/657431
-
2 Mobile Information Systems
data, s/he may specify the scoring function as โ60% priorityto attribute ๐ด and 40% to attribute ๐ตโ and the search rangeas โ200 metersโ (we describe the definition in Section 2),and, through wireless peer-to-peer communication, s/he canreceive the top-2 data objects among the set of data objectsheld by the user and others in the group, without anyinfrastructure supports.
Due to the wireless communication, packet losses andwireless nodesโ energy consumption become severe problemsas traffic increases. It is therefore important to suppressunnecessary traffic by reducing the number of data repliesnot included in the exact result (we call this the top-๐ result) and the number of nodes to which a query istransmitted. Ideally, top-๐ query processing by only nodesthat contribute to retrieving the top-๐ result is preferable.Thetop-๐ result, on the other hand, varies according to usersโspecified query conditions and ๐. Two simple approachesmay be applied to processing a top-๐ query. One is thatthe query originator floods a query message over all thenodes in the search range and then collects the local top-๐ data objects from all query receiving nodes. The problemhere is that the query message is transmitted to manyunnecessary nodes which do not hold data objects includedin the top-๐ result. The other is to construct efficient querytransmission routes with respect to each query condition.However, if the query conditions are different for differentusers (i.e., the query conditions are diverse), it is necessary toconstruct and maintain too many query transmission routes,resulting in dramatic increase of overhead. On the otherhand, if every node distributes its own data objects whichmight be included in the top-๐ results to all nodes in thenetwork, they can avoid distributed query processing. Thedrawbacks of this approach are that toomany data objects aredistributed, and toomuch traffic is involvedwhendata updateoccurs. Such massive data distribution actually generates toomuch traffic and then misses necessary data objects becauseof packet losses. As seen above, streamlining multidimen-sional top-๐ query processing is difficult, but processinga top-๐ query with small traffic and delay is nonethelessimportant.
In this paper, we propose ClusTo (Cluster and ๐พ-skyband-based multidimensional top-๐ query processing),which processes a top-๐ query with small traffic and delayeven if the query conditions are diverse. ClusTo employsa new and novel clustering framework with skyline [16],which makes nodes holding data objects which are expectedto be included in many top-๐ results become cluster-heads.This clustering framework provides multidimensional top-๐query processing without transmitting queries to all nodes.Moreover, in the procedure in clustering, each node acquiresthe information on its neighboring nodesโ ๐พ-skyband [17].๐พ-skyband helps to construct a filter, which can prunereplying unnecessary data objects and query transmissionsto unnecessary nodes, and the filter is attached to a querymessage. ClusTo routes queries to cluster-heads within userโsspecified search range with small traffic, and then the cluster-heads transmit the query to nodes, based on a thresholdderived from the filter that contribute to retrieving the top-๐ result. As a consequence, ClusTo can retrieve the top-๐
result from a small number of nodes in the search range. Thecontributions of this paper are as follows.
(i) We propose a novel and scalable top-๐ processingmethod, ClusTo, which employs a new clusteringframework with skyline and a query routing scheme.This method performs multidimensional top-๐ queryprocessing with small traffic and delay even if thequery conditions are diverse.
(ii) The proposed approach is adaptable to wireless net-work environments such as unstructured P2P net-works, sensor networks, and ad hoc networks.
(iii) We evaluated our proposed method through exten-sive experiments on both real and synthetic data, andthe results show that ClusTo functions well in termsof traffic and delay.
The reminder of this paper is organized as follows.Section 2 provides the preliminaries to present ClusTo.Section 3 reviews the related work. In Section 4, we describethe detail of ClusTo. We show the results of our simulationexperiments in Section 5. Finally, in Section 6, we concludeour paper.
2. Preliminaries
In this section, we explain a data model, a network model,and definitions of top-๐ queries and some other concepts.
2.1. Data Model. We assume that each data object has uniqueidentifier, ๐, and ๐ metadata V
๐[๐] (1 โค ๐ โค ๐), which
represents the features of data objects, and data objects arenot replicated. Each metadata value is calculated by somekind of numerical scoring function and follows Euclideanspace. Without loss of generality, we assume that a smallervalue is preferable. We further assume that the value of eachmetadata is normalized between [0, V๐๐๐ข๐
๐๐๐ฅ]. In this paper,
we define the number of dimensions of data objects as thenumber of metadata,๐. A data object consists of not only๐metadata, but also some other contents such as images andtext information, for example, documents. Thus, the size ofdata object is basically larger than the summation of the sizeof metadata.
2.2. Network Model. A wireless network consists of ๐nodes, which are assigned unique identifier, such as{๐1, ๐2, . . . , ๐
๐}. Each node communicates by identical
wireless communication standardwith radio communicationrange of ๐ [m], so node๐
๐can communicate with node๐
๐if
the distance between them is notmore than ๐.We assume thateach node can recognize its accurate location informationvia GPS. In addition, we assume a static network; that is, thenetwork topology does not change and node failure does notoccur. Although there may be some applications that usersholding a portable device (node) move, we assume that theymove in a small range, which does not affect the networktopology. For example, in a wireless network for cooperativedata retrieval applications, each user does not move selfishly
-
Mobile Information Systems 3m
2
m1
K-skyband(K = 3)
00
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
Skyline
a
c
d
b m
f
e n g
i jo k
l
(1.4, 8.5)
(3.0, 5.3)
(4.2, 4.5)
h(6.9, 1.8)
10
Figure 1: An example of skyline and ๐พ-skyband (๐พ = 3).
and possibly moves only in a limited or small area, which isassigned to the user.
2.3. Definition. Top-๐ queries, in this paper, give a score to adata object ๐
๐from its metadata with increasingly monotone
scoring function, ๐ : R๐ โ R. Specifically, the score of ๐๐is
calculated as follows:
๐ ๐๐๐๐ (๐๐) = ๐ (๐
๐) =
๐
โ
๐=1
๐ค๐ร V๐[๐] , (1)
where ๐ค๐(1 โค ๐ โค ๐) is a weighting factor (value) for each
dimension ๐๐and nonnegative value (โ๐
๐=1๐ค๐= 1, ๐ค
๐โฅ
0). These weighting factors indicate user preference andinfluence the ranking of data objects. For example, Figure 1shows a 2-dimensional dataset and depicts data objects, ato o. If a high weight is assigned to๐
1, data object a becomes
the top-1 data object, while if a high weight is assigned to๐2, data object h becomes the top-1 data object. The scoring
function, ๐, is a weighting sum (linear) function and has afollowing property:
โ๐ โ [1,๐] , V๐ [๐] โค V๐ [๐] โ ๐ (๐๐) โค ๐ (๐๐) . (2)
Furthermore, this top-๐ query allows users to input a searchrange, ๐ [m]. Users can retrieve ๐ data objects within ๐ [m] oftheir locations. Thus, data objects, which exist in the searchrange, with the ๐ best scores are included in the top-๐ queryresult. The formal definition of top-๐ result is provided asfollows.
Definition 1 (top-๐ result). We define the top-๐ result as thedata objects with the ๐-lowest scores held by nodes within๐ [m] of a node (user) generating a query.
There is a maximum ๐ (๐พ) which is specified by thesystem. We assume that ๐พ is not large, for example, 15. Due
to the bandwidth limitation in wireless networks, commu-nication failures and packet losses frequently occur if ๐พ islarge; that is, traffic is large, resulting in a loss of necessarydata objects. In addition, applications such as data retrieval[18] and environment monitoring [10], for example, can dealwith basically only a small number of data objects. (Even websearch, e.g., Google, typically displays only ten web sites bydefault.) This assumption is therefore practical in terms ofboth users and the system; however our proposedmethod canbe adapted to cases where ๐พ is large.
In the past, some important concepts related to top-๐queries have been developed. ClusTo exploits them, so wedefine such concepts below.
Definition 2 (dominant). Consider data objects ๐๐and ๐๐ . ๐๐
is said to dominate ๐๐ if they satisfy the following condition:
(โ๐ โ [1,๐] , V๐ [๐] โค V๐ [๐])
โง (โ๐ โ [1,๐] , V๐ [๐] < V๐ [๐]) .(3)
In Figure 1, data object c dominates e, f, g, l, m, and n.This dominance relationship provides us with an impor-
tant dataset, that is, skyline [16]. The definition of skyline isshown as follows.
Definition 3 (skyline). Skyline is the set of data objects whichare not dominated by any other data objects.
In Figure 1, skyline contains data objects a, c, d, and h.An interesting observation from skyline shows a key to
develop a novel approach for query routing, and we give alemma explaining the observation.
Lemma4. The top-1 data object for any increasinglymonotonefunction belongs to the skyline.
๐พ-skyband enhances top-๐ query processing more, andwe define this dataset below and then give an importantlemma.
Definition 5 (๐พ-skyband). ๐พ-skyband is the set of dataobjects which are dominated by at most ๐พ โ 1 other dataobjects.
Lemma 6. The top-๐ data objects for any increasingly mono-tone function belong to the ๐พ-skyband.
Proof. Assume that data object ๐๐does not belong to ๐พ-
skyband. There exists at least ๐พ other data objects thatdominate it. According to (3), there exists at least ๐พ dataobjects whose score is less than ๐
๐. Consequently, ๐
๐cannot
be top-๐พ data object. Skyline is the special case where๐พ = 1.Therefore, since Lemma 6 is true, Lemma 4 is also true.
3. Related Work
Many studies have proposed top-๐ query processingmethodsin distributed environments as well as centralized fashion [2โ4, 19]. Here, we review some representative methods.
-
4 Mobile Information Systems
In [7], the authors proposed an algorithm called TPUT,which aims to prune unnecessary data objects. TPUT wasimproved by KLEE [8].These methods need multiple phases,so the delay increases if adapted to wireless multihopnetworks. Moreover, data objects are vertically distributed,which is different from our assumption.
In [5, 6, 9], data objects are horizontally distributed toeach node, which is the same assumption in this paper.Although the authors in [6] proposed a method that mini-mizes data replies, the method involves all nodes, which isinefficient for wireless networks. The method proposed in[5] can avoid query flooding by selecting nodes to accessbased on scores of data objects. However, this methodassumes that each node can communicate with any othernodes, which is different from our assumption. In [9], theauthors proposed SPEERTO which utilizes a super-peernetwork. This method performs top-๐ query processingthrough super-peers. Even though this method is efficientfor highly distributed environments to process top-๐ queries,this method is hard to adapt to wireless networks withlimited communication range. In SPEERTO, it is necessaryto communicate with some other super-peers to process top-๐ queries, so if adapting this method to a wireless multihopnetwork, many or most of nodes have to perform the roleof super-peer due to the limited communication range. Thisis obviously inefficient since this approach involves manyunnecessary nodes to retrieve top-๐ data, and actually it isimpossible to adapt such a special overlay network to wirelessnetworks, without no infrastructure support. Therefore, anefficient multidimensional top-๐ query processing techniquefor the environments that we assume is required, and wepropose an effective clustering framework specialized formultidimensional top-๐ query processing, which exploitsmetadata values of data objects held by nodes.This clusteringframework does not need special overlay such as the super-peer, meaning that no infrastructure support is required.
Many papers [10โ12, 20โ22] deal with efficient processingof top-๐ queries in wireless sensor networks with the aimof prolonging network life time. An in-network aggregationtechnique has been proposed in [11]. Every node sends its owntop-๐ data objects in each epoch in this method. Althoughthe method proposed in [23] processes a top-๐ query as in[11], this method replies to not only parent node but also itsbrother node to provide them with more information on thescores of data objects, which can prune more unnecessarydata objects. In [24], the authors proposed a method thatsuppresses energy consumptionwhich sacrifices the accuracyof the query result. The method proposed in [22] optimizestop-๐ queries by employing a sampling-based approximation.However, this approximation technique does not guaranteeperfect accuracy of the query result. The authors in [12, 20,21] proposed methods which utilize a filtering approach toprune unnecessary data objects. A sink node in the networkconstructs filters from received data objects and distributesthe filters to each sensor node. When updating the sensorreadings, each sensor node judges whether or not to sendthe reading to the sink based on the filter. The methodwhich retrieves the top-๐ result fast (within a certain upperbound time) has been proposed in [25]. Unfortunately, all
the above methods deal with only 1-dimensional data objects.Enhanced scheme proposed in [10] is the only method thatdeals with (continuous)multidimensional top-๐ queries.Thismethod utilizes the dominant graph [26] whichmaintains thedominance relation of data objects. The sink node constructsa filter, utilizing this dominant graph, to prune data objectswhich are never included in any top-๐ results. However, thismethod considers all possible query conditions that are notinserted in the system, which results in redundant increasesof traffic. Note that, in wireless sensor networks assumedin the above existing studies, only the sink node can bea query originator, but in this paper, we assume that allnodes can be query originators, that is, different assumptionof such wireless sensor networks. ClusTo performs efficientmultidimensional top-๐ query processing even in a casewhere all nodes generate queries.
Top-๐ query processingmethods have also been proposedformobile ad hoc networks [13โ15, 27].Themethod proposedin [27] assumes that the scores of data objects follow somekind of distribution such as Gaussian distribution. However,because such scores are dependent of query conditions inmultidimensional top-๐ queries, this assumption is imprac-tical. To suppress unnecessary data replies, the methodproposed in [14] estimates the ๐th score of data objects inthe network by attaching standard scores to query messages.The aim of the method proposed in [15] is to prune moredata objects which are not included in the top-๐ result. Thismethod adapts 2-phase query processing. In the first phase,a query originator collects scores of data objects and sets the๐th lowest score as a threshold. Then, in the second phase,the query originator floods a querymessage attachedwith thethreshold, and nodes receiving the query reply data objectswith scores not larger than the threshold. The commondrawback of these methods is that all nodes are involved intop-๐ query processing due to query flooding.This drawbackincreases unnecessary traffic and packet losses, resulting ina lack of scalability. Although the method proposed in [13]performs efficient query routing to prune unnecessary querypaths to retrieve the top-๐ result, thismethod generates exces-sive traffic if the query conditions are diverse because queryroutes are constructed according to each query condition.Thus, this method is unsuitable for multidimensional top-๐ queries. In contrast, ClusTo can perform efficient queryprocessing without transmitting queries to all nodes withinthe search range even if the query conditions are diverse. Itis not necessary, furthermore, to construct query routes withrespect to query conditions in ClusTo; that is, clustering isperformed only once. This suppresses overhead to constructquery routes.
4. Proposed Method
In this section, we first introduce the overview of ClusTo.Then we describe the detail of ClusTo, in the order corre-sponding to cluster formation (Section 4.2), filter construc-tion (Section 4.3), and top-๐ query processing (Section 4.4).
4.1. Overview. Our objective is to suppress unnecessarytraffic and delay, and to this end, ClusTo aims to process top-๐
-
Mobile Information Systems 5
queries by only nodes that contribute to retrieving the top-๐result as possible. Intuitively, it is effective to construct queryroutes as this can avoid the query flooding in processing oftop-๐ queries. Asmentioned in Section 1, however, construct-ing query routes for each query condition is inefficient. Thekey to solving this problem lies in constructing efficient queryroutes for any query conditions. In addition, since๐พ-skybandis the set of data objects included in the top-๐ (๐ โค ๐พ) results,acquiring the information on neighboring nodesโ๐พ-skybandis an effective mean for reducing unnecessary traffic. This isbecause nodes can prune unnecessary query transmissions toneighboring nodes which do not hold data objects includedin the top-๐ result by acquiring information on their ๐พ-skyband. Based on these ideas (constructing efficient queryroutes and utilizing neighboring nodesโ๐พ-skyband), we havedeveloped a novel clustering framework. ClusTo first per-forms a new 1-hop clustering framework exploiting skylineas preprocessing. This framework makes nodes holding dataobjects with high probability of being included inmany top-๐results become cluster-heads. By doing so, unnecessary querytransmissions can be significantly suppressed because cluster-heads hold many data objects with lower scores. In addition,each node sends metadata of data objects included in its๐พ-skyband to its neighboring nodes during the clusteringprocedure (detail in Section 4.2).
In this clustering framework, each node can acquirethe information on its neighboring nodesโ ๐พ-skyband, andeach query receiving node utilizes this information to pruneunnecessary data objects by constructing a filter (detail inSection 4.3). Query messages are transmitted over the userโsspecified search range via cluster-heads while establishingparent-child relationships, that is, data forwarding tree. Ifthe query messages are transmitted to the border of thesearch range, each query receiving node replies to its parentwith data objects with scores not larger than the thresholdcalculated from the filter. When cluster-heads have receivedreply messages from all their children, they judge whetheror not to send a query message to nodes included in theircluster. Cluster-heads send a query message to nodes holdingdata objects with scores not larger than the threshold. Thisapproach guarantees query transmission to nodes holdingdata objects included in the top-๐ result. If there does not existsuch nodes or received replymessages fromall queried nodes,cluster-heads send a reply message to their parent.
In this way, ClusTo performs efficient multidimensionaltop-๐ query processing exploiting effective clustering and๐พ-skyband. Next, we describe the detail of each procedure inClusTo.
4.2. Cluster Formation. In this subsection, we explain theprocedure of 1-hop clustering framework which realizesmultidimensional top-๐ query processing by less number ofnodes for any query conditions.
Flooding is a simple approach to transmit queries tonodes holding data objects included in the top-๐ result. How-ever, this approach generates redundant traffic because ofunnecessary transmissions to nodes that do not contribute totop-๐ data retrieval. ClusTo overcomes this problem by queryrouting based on the clustering approach. In cluster-based
routing, queries are transmitted between cluster-heads viagateway-nodes which have links to nodes in other clusters.Note that if cluster-heads hold data objects which dominatemany data objects held by nodes in their clusters, it is rarelynecessary to transmit queries to these nodes in the clusters.Following this idea, ClusTo designates as cluster-heads nodesholding data objects which are expected to be included inmany top-๐ results to realize top-๐ query processing byless number of nodes. Specifically, each node calculates theskyline for its own data objects (local skyline) and sets a timerto become a cluster-head based on the following equations:
๐๐๐๐๐ =๐ผ โ ๐๐๐ฆ๐ดV๐๐ท๐๐ ๐ก + (1 โ ๐ผ) โ ๐๐๐ฆ๐๐๐๐ท๐๐ ๐ก
๐ฝ, (4)
๐๐๐ฆ๐ดV๐๐ท๐๐ ๐ก =โ|๐ ๐๐ฆ๐๐๐๐|
๐=1(โโ๐
๐=1V๐[๐]2)
๐ ๐๐ฆ๐๐๐๐
,(5)
๐๐๐ฆ๐๐๐๐ท๐๐ ๐ก = min1โค๐โค|๐ ๐๐ฆ๐๐๐๐|
(โ
๐
โ
๐=1
V๐[๐]2) . (6)
๐ผ โ [0, 1] and ๐ฝ(>0) in (4) are system parameters and ๐ฝis used to avoid vain larger value of timer. |๐ ๐๐ฆ๐๐๐๐| in (5)and (6) represents the number of data objects in the localskyline. SkyAvgDist and SkyMinDist represent the averagedistance and minimum distance between local skyline pointsand the origin point (0, 0, . . . , 0), respectively. For example,assume that a node holds data objects shown in Figure 1. Inthis case, the SkyAvgDist is (โ(1.42 + 8.52) + โ(32 + 5.32) +โ(4.22 + 4.52) + โ(6.92 + 1.82))/4 = 7.0. The SkyMinDist isโ(32 + 5.32) = 6.1. It is intuitively clear that data objects heldby a node have a greater probability of being included inmanytop-๐ results if the values of SkyAvgDist and SkyMinDist aresmaller.
Clustering in ClusTo is performed according to Algo-rithms 1 and 2.The smaller the value of the timer set by a givennode is, the shorter the timer will expire, and a node becomesa cluster-head (CH) if its timer expires. A cluster-head broad-casts a cluster formation message (cf ), which is representedas ๐๐ = โจCH id, sender id, sender position, ๐พ๐๐พ๐โฉ.The firstelement, CH id, is the identifier of a cluster-head.The secondelement, sender id, is the identifier of the sender node ofthis message. If a cluster-head sends this message, CH id isequal to sender id. The third element, sender position, is thelocation information on the sender node of this message, andthe forth elementKSKY includes the identifiers andmetadataof data objects which are๐พ-skyband in the set of data objectsheld by the sender node. Nodes receiving a cf from a cluster-head cancel their timers and then execute the followingprocedures. (i)They construct their routing table (lines 8 and13 in Algorithm 1). Each entry in a routing table consists ofthe identifier of a cluster-head, location information on thecluster-head, and the identifier of a neighboring node for thetransmission of queries (next node) as shown in Figure 2.(ii) They record the neighboring nodesโ location informationand KSKY (line 14 in Algorithm 1). We emphasize that KSKYdoes not include data objects, but only metadata. Because
-
6 Mobile Information Systems
(1) /โExpire the timer of node๐๐โ/
(2) cf โ โจ๐, ๐,๐๐.position, ๐พ๐๐พ๐
๐โฉ
(3) Broadcast cf(4) /โNode๐
๐receives a cf from node๐
๐ โ/
(5) if cf.CH id ฬธ= ๐ then(6) if CH id = sender id then(7) Cancel its own timer(8) RoutingTable.entryโ RoutingTable.entryโช {๐, ๐
๐ .position, ๐}
(9) if ๐๐received cf for the first time then
(10) cf โ โจ๐, ๐,๐๐.position, ๐พ๐๐พ๐
๐โฉ
(11) Broadcast cf(12) else(13) RoutingTable.entryโRoutingTable.entryโช {๐๐.CH id, 0, ๐}(14)๐๐๐๐โ๐๐๐๐
๐โ ๐๐๐๐โ๐๐๐๐
๐โช {๐, ๐๐ .position, ๐พ๐๐พ๐
๐ }
Algorithm 1: Handling cluster formation message.
(1) /โProcedure of non-cluster-head,๐๐โ/
(2) CHLโ {โ{๐,๐๐.position} โ ๐
๐.RoutingTable}
(3) mnโ โจ๐, ๐ถ๐ป๐ฟโฉ(4) Sendmn to the nearest cluster-head from๐
๐
(5) /โProcedure of cluster head๐๐which receivesmn from๐
๐โ/
(6) CMโCM โช {๐}(7) for โmn.CHL.entry do(8) if โ๐, ๐, RoutingTable.entry
๐.CH =mn.CHL.entry
๐.CH then
(9) RoutingTable.entry๐.CH positionโmn.CHL.entry
๐.position
(10) if Dist(RoutingTable.entry๐.CH, ๐) < Dist(RoutingTable.entry
๐.CH, RoutingTable.entry
๐.next node) then
(11) RoutingTable.entry๐.next nodeโ ๐
(12) else(13) RoutingTable.entryโ RoutingTable.entryโช {mn.CHL.entry, ๐}
Algorithm 2: Handling member notice message.
metadata is needed to calculate the score of data object, it isonly necessary for nodes to obtain metadata. Distributing๐พ-skyband to all nodes generates toomuch overhead because ofthe reasonmentioned in Section 1. DistributingKSKY to onlyneighboring nodes generates small overhead, and utilizingthe KSKY, nodes can construct effective filter for any queryconditions (Section 4.3). (iii) They broadcast the cf if theyhave received it for the first time from a cluster-head (lines9โ11 in Algorithm 1).
After a certain time has elapsed, noncluster-head nodessend a member notice message (mn) to their nearest cluster-head. The mn is represented as ๐๐ = โจsender id, ๐ถ๐ป๐ฟโฉ.The first element is the identifier of the sender node ofthis message. The second element is a cluster-head listconsisting of a pair of cluster-head identifiers and theirlocation information. This procedure provides cluster-headswith the information on cluster-members (CM) includedin their cluster. In addition, each cluster-head can updateits routing table (i.e., know its neighboring cluster-headsand next nodes) by receiving this message. To reduce querytransmission hop counts, each cluster-head designates thenearest nodes from its neighboring cluster-heads (among thenodes fromwhich it has received anmn) as next nodes (lines
10-11 in Algorithm 2), because such nodes tend to have a linkto their corresponding cluster-heads.
Following the above procedure, ClusTo forms effectiveclusters for efficient top-๐ query processing and limits thenumber of nodes to which queries are transmitted. Duringthe clustering process, nodes obtain their neighboring nodesโlocation information and the ๐พ-skyband information. Evenin the case of data updates, nodes holding updated dataobjects simply have to recalculate their ๐พ-skyband andbroadcast necessary information, that is, updated metadatain KSKY and metadata of data objects newly included inKSKY. Nodes receiving this information update correspond-ing neighboring nodeโs KSKY.
4.3. Filter Construction. ClusTo performs query routingbased on a routing table and transmits queries over theuserโs specified search range. After that, to guarantee querytransmission to nodes holding data objects included in thetop-๐ result, each cluster-head transmits a query messageto its cluster-members which have yet to receive the query.Notice that it is redundant to transmit queries to nodes whichdo not contribute to retrieving the top-๐ result (noncon-tributor). It is therefore effective to estimate the ๐th lowest
-
Mobile Information Systems 7
CH CH position Next node
CH CH position Next node
(x8, y8)
(x15 , y15)
(x30 , y30)
(x11 , y11)
(x30 , y30)
N8
N1
N2 N3
N5N4
N20
N19
N21
N23 N24
N25N27
N26 N29N30
N31
N28
N12
N14
N18
N17
N15
N13
N7
N6
N8
N9
N11
N10
N16
N22
N15
N11
N30 N30
N30
N9
N14
N12
N12
Figure 2: An example of cluster and routing table.
score of data objects (threshold) in the search range. Thissuppresses unnecessary transmissions to noncontributors.An approach whereby nodes attach to the query messagethe ๐-lowest scores and corresponding identifiers of dataobject as a filter, and then query receiving nodes estimatethe threshold based on the received filter, their own dataobjects, and their neighborsโ KSKY, is intuitively applicable.If ๐ is large, however, filter transmission overhead becomeslarge. Therefore, to suppress such overhead, ClusTo employsnot ๐, but three specific scores of data objects; that is,we suppress the overhead for attaching a filter by using afixed number of scores (and their corresponding data objectidentifiers). Specifically, the filter consists of the lowest score(lower bound), the (โ๐/2โ + 1)th score (median), the ๐thscore (upper bound), and their corresponding data objectidentifiers (we define these pairs of scores and identifiers aslb, me, and ub, resp.). Each node ranks its own data objectsand neighborsโ KSKY by calculating their scores. To ensurethat the threshold approximates the exact threshold, queryreceiving nodes update the filter based on the received filter,their own data objects, and their neighborsโ KSKY.
Each node basically constructs the filter based on theinformation on its own data objects, neighborsโ KSKY, andthe received filter. Because the filter consists of three scoreand identifier pairs, if ๐ > 3, a query receiving node mightnot acquire the complete information on the ๐-lowest scoresand their corresponding data object identifiers among the setof data objects held by nodes on the query route from a queryoriginator to the query sender node, which has transmittedthe query to the query receiving node, and their neighboringnodes (we define this dataset as the upstream dataset). In thiscase, the node needs to estimate the missing information onscores which the node could not acquire by some kind of way.
However, if we roughly estimate the ๐th score, nodes may beprovided with a smaller threshold than the exact threshold,which results in query transmission failure to nodes holdingdata objects included in the top-๐ result. On the other hand,if we estimate safely, that is, estimate the scores at a large valueto guarantee access to all nodes holding data objects includedin the top-๐ result, unnecessary query transmissions and dataobject replies increase. Thus, it is important not to set thethreshold as large unnecessarily with guaranteeing the querytransmission to nodeswhich hold data objects included in thetop-๐ result.
Algorithm 3 illustrates the filter construction algorithm.In ClusTo, each query receiving node estimates the infor-mation on the ๐-lowest scores and their correspondingidentifiers in the upstream dataset based on the informationon its own data objects and its neighborsโ KSKY. Specifically,query receiving nodes initially calculate the scores of dataobjects held by nodes in common communication rangewith their query sender nodes. From these scores and thereceived filter, they estimate the ๐-lowest scores and theircorresponding data object identifiers in the upstream dataset(lines 5โ12). In the case where the number of calculatedscores, ๐, whose values are between [๐๐.score, ๐ข๐.score] isless than the number of data objects (there exist (โ๐/2โ โ1) data objects between (๐๐, ๐๐) and (๐ โ โ๐/2โ โ 2) dataobjects between (๐๐, ๐ข๐)) existing between (๐๐, ๐ข๐), that is,๐< (โ๐/2โ โ 1) + (๐ โ โ๐/2โ โ 2) accurately, such nodes
estimate the missing data object information atme in [๐๐, ๐๐]and ub in (๐๐, ๐ข๐] (lines 14โ16 and 18โ20). Supplementing thescore information which cannot be acquired with respectivemaximum scores in [๐๐, ๐๐] and (๐๐, ๐ข๐] does not estimatethe ๐th score of data object in the upstream dataset atless value than the exact value; that is, no false negative
-
8 Mobile Information Systems
Input: ๐๐, ๐๐, ๐ข๐Output: ๐๐, ๐๐, ๐ข๐
(1) /โNode,๐๐, constructs a filter from a query sent by๐
๐โ/
(2) local top-k dataโ 0(3) ๐๐ ๐๐๐ก๐ โ ๐๐ข ๐๐๐ก๐ โ 0(4) ๐๐ ๐๐๐ก๐
๐๐๐โ ๐๐ข ๐๐๐ก๐
๐๐๐โ 0
(5) for โ๐๐ โ ๐๐๐๐โ๐๐๐๐
๐do
(6) if ๐๐ is within search range then
(7) if ๐ท๐๐ ๐ก(๐๐, ๐๐ ) โค ๐ then
(8) ๐๐ ๐๐๐ก๐๐๐๐
โ ๐๐ ๐๐๐ก๐๐๐๐
โช {โ{score(๐๐), ๐} |
(9) ๐๐โ ๐๐ โs ๐พ-skyband, score(๐
๐) โ [๐๐.๐ ๐๐๐๐, ๐๐.๐ ๐๐๐๐]}
(10) ๐๐ข ๐๐๐ก๐๐๐๐
โ ๐๐ข ๐๐๐ก๐๐๐๐
โช {โ{score(๐๐), ๐} |
(11) ๐๐โ ๐๐ โs ๐พ-skyband, score(๐
๐) โ (๐๐.๐ ๐๐๐๐, ๐ข๐.๐ ๐๐๐๐]}
(12) Sort ๐๐ ๐๐๐ก๐๐๐๐
and๐๐ข ๐๐๐ก๐๐๐๐
by ascending order(13) lm dataโ ๐๐ โช ๐๐ ๐๐๐ก๐
๐๐๐
(14) if |๐๐ ๐๐๐ก๐| < โ๐/2โ + 1 then(15) for ๐ = 0 to โ๐/2โ + 1 โ |๐๐ ๐๐๐ก๐| do(16) lm dataโ lm dataโช {๐๐.๐ ๐๐๐๐, โ(๐ + 1)}(17)mu dataโ ๐๐ข ๐๐๐ก๐
๐๐๐
(18) if |๐๐ข ๐๐๐ก๐|
-
Mobile Information Systems 9
(1) if ๐๐receives ๐
๐for the first time then
(2) parentโ ๐๐.sedner id
(3) Set F by Algorithm 3(4) thresholdโ ๐
๐.๐น[2].score //๐ข๐.๐ ๐๐๐๐
(5) if ๐๐๐then
(6) CLโ ๐๐.๐ถ๐ฟ
(7) for โ๐๐.๐ด๐ where ๐
๐.๐ด๐.next node ฬธ= ๐
๐do
(8) CLโCLโช ๐๐.๐ด๐.CH
(9) ATโ 0(10) for โ๐ก โ RoutingTable.entry do(11) if ๐ก.CH is not included in CL and(12) ๐ก.next node is within ๐ from๐
๐๐๐then
(13) ATโAT โช {๐ก.CH, ๐ก.next node}(14) if ๐ด๐ ฬธ= 0 then(15) ๐๐
๐โ โจorg, org position, ๐, ๐, ๐, ๐ค, ๐น, ๐ด๐, ๐ถ๐ฟโฉ
(16) Send ๐๐๐to nodes included in AT as next node
(17) else(18) LeafFlagโ 1(19) Perform Algorithm 5(20) if ๐๐
๐then
(21) Reply data whose score is not more than threshold to parent
Algorithm 4: Handling query message, ๐๐.
Filter
3.6
3.81
7.05
7.05
7.05
3.6
3.81
7.01
7.05
7.05
7.05
7.05
8.0 2014
122
7.05
8.8
8.9
8.9
8.9
3.6 1009 1009
122
3500
414
551
7.05 122
8.9 414
Score ID Score ID Score ID Score ID
Filter(supplemented) Local top-k Local top-k
lb
me
ub
โ3
โ2
โ1
โ3
โ2
โ1
1009
9700
551
โ10
โ11
2.54
3.81
7.01
7.12
8.0
8.05
8.3
8.55
8.67
8.7
10001
37
2700
414
6278
2013
551
9700
10002
2014
7.12 10002
......
2.54 10001
Figure 3: An example of filter construction where ๐ = 10.
the identifiers of cluster-heads to which the query has beentransmitted, so initially CL = 0 in ๐
๐๐๐โs query message. (If
๐๐๐๐
is a cluster-head, ๐ถ๐ฟ = {org}.) ๐๐๐๐
sends the querymessage to the next nodes included in the AT. Algorithms4 and 5 explain the procedure for a query receiving node,๐๐. Algorithm 6 describes the procedure for reply messages.
The query receiving node,๐๐, transmits the query to cluster-
heads (or next nodes corresponding to them) except forthe cluster-heads to which the query has been already
transmitted (lines 6โ13 in Algorithm 4). If next node is outof the search range, ๐
๐does not transmit the query to the
cluster (lines 9โ13 in Algorithm 4). If ๐ด๐ = 0,๐๐recognizes
that it is a leaf node and sends a data acquisition query to itsneighboring nodes, within the search range, which hold dataobjects whose scores are not larger than the threshold (lines18-19 in Algorithm 4).
A data acquisition query, ๐๐๐, is represented as ๐๐
๐=
โจorg, org position, sender id, ๐, ๐, ๐ค, ๐น, ๐ดโฉ. ๐ด (=Address-set)
-
10 Mobile Information Systems
(1) Aโ 0(2) if LeafFlag = 1 then(3) Put in all neighborsโ identifiers,๐
๐which fulfill all the following conditions to ๐ด
(4) (i)๐๐is within ๐ from๐
๐๐๐
(5) (ii)๐๐has data whose score is not more than threshold
(6) (iii)๐๐โs cluster head is not within ๐ from๐
๐๐๐
(7) if ๐๐is a cluster head then
(8) Put in all cluster membersโ identifiers,๐๐which fulfill all the following conditions to ๐ด
(9) (i)๐๐is within ๐ from๐
๐๐๐
(10) (ii)๐๐has data whose score is not more than threshold
(11) (iii)๐๐is not parent
(12) if A ฬธ= 0 then(13) ๐๐
๐โ โจorg, org position, ๐, ๐, ๐, ๐ค, ๐น, ๐ดโฉ
(14) Send ๐๐๐to nodes included in ๐ด
(15) else(16) Reply data whose score is not larger than threshold to parent
Algorithm 5: Procedure by leaf nodes and cluster-heads.
(1) /โ๐๐receives ๐
๐โ/
(2) if threshold > ๐๐.threshold then
(3) thresholdโ ๐๐.threshold
(4) ๐ท โ ๐ท โช ๐๐.๐ท
(5) if ๐๐receives reply from all next nodes inlcluded in AT for the fist time then
(6) if ๐๐is a cluster head then
(7) Perform Algorithm 5(8) else(9) ๐ท โ {โdata โ ๐ท | data.score โค threshold}(10) ๐
๐โ โจ๐,๐ท
, thresholdโฉ
(11) Send ๐๐to parent
(12) else(13) ๐
๐receives reply from all next nodes inlcluded in ๐ด
(14)๐ท โ {โdata โ ๐ท | data.score โค threshold}(15) ๐๐โ โจ๐,๐ท
, thresholdโฉ
(16) Send ๐๐to parent
Algorithm 6: Handling reply message, ๐๐.
is a list of the identifiers of nodes to which ๐๐๐is transmitted.
Leaf nodes and cluster-heads which have received reply mes-sages from all next nodes in their AT send a data acquisitionquery based on the conditions in lines 3โ11 in Algorithm 5.Nodes receiving this message calculate the threshold fromtheir own filter. ClusTo transmits CtoC queries as far as leafnodes and then sends data acquisition queries. This flowcan make the threshold become a small value as possibleand suppress unnecessary transmissions to noncontributors.Here, there is a case where although a cluster-head is outsideof the search range, its cluster-members are within the searchbut near the border of the search range.The cluster-memberscannot be targets of data acquisition queries from theircluster-head. The problem is that even if they hold dataobjects included in the top-๐ result, the query is not transmit-ted to them from their cluster-head.Therefore, ClusTomakesleaf nodes send the data acquisition query to such cluster-members, according to the condition of line 6 inAlgorithm 5,which guarantees the query transmission to them.
A reply message, ๐๐, is represented as ๐
๐= โจsender id,
๐ท, thresholdโฉ. sender id is the identifier of the node whichsends this message. ๐ท includes the data objects with scoresnot larger than the threshold. Leaf nodes that do notneed to send the data acquisition query (lines 14โ16 inAlgorithm 5) and nodes receiving the data acquisition querysend a reply message to their parent. Reply receiving nodesupdate the threshold, and when received replymessages fromall next nodes in their AT (and ๐ด in the case of cluster-heads), they reply data objects with scores not larger than thethreshold to their parent.
Query and reply receiving nodes send anACKmessage tothe message sender node for receipt acknowledgement. If thesender nodes do not receive an ACKmessage within a certaintime, they retransmit the query (reply) message.
Following the above procedures, ClusTo can retrieve dataobjects included in the top-๐ result while suppressing thenumber of nodes to which the query is transmitted. Recallthat ClusTo designates as cluster-heads nodes holding data
-
Mobile Information Systems 11
objects with high probability to be included in many top-๐results (Section 4.2). ClusTo has a great advantage, derivedfrom its clustering, that the threshold gets a closer value tothe exact value by cluster-heads. This is because each nodetransmits queries to the cluster-heads and they typically holddata objects whose scores can be smaller for any scoringfunctions. As a result, ClusTo can significantly suppressthe number of nodes to which data acquisition queries aretransmitted, resulting in small traffic.
5. Simulation Experiments
In this section, we show the results of simulation exper-iments regarding the performance evaluation of our pro-posed method. For the simulation experiments, we useda network simulator, QualNet6.1 (Scalable Network Tech-nologies: Creaters of QualNet Network Simulator Software(http://www.scalable-networks.com)).
5.1. The Dataset
5.1.1. Intel Berkeley Lab Data. We used dataset of wirelesssensor networks collected by Intel Berkeley Research Lab(http://db.csail.mit.edu/labdata/labdata.html). The datasetconsists of sensor readings collected from 54 nodes. Weobserved some missing and error sensor readings, so weselected a complete dataset of temperature, humidity, andlight over a one-week (February 29 to March 6, 2004).In addition, we normalized the value of sensor readingsbetween [0, 250] and assume that the size of data objects is128 [bytes] (size of metadata is 12 [bytes]).
5.1.2. Synthetic Data. We generated a synthetic ๐ dimen-sional dataset of uniform (UN), clustered (CL), and anti-correlated (AC) to evaluate ClusTo carefully. In the uni-form dataset, the values of each metadata follow uniformdistribution. In the clustered dataset, we draw a coordinateof its centroid of a cluster on the ๐-dimensional space[0, V๐๐๐ข๐
๐๐๐ฅ]๐.The values ofmetadata on each dimension are
independently follows Gaussian distribution with a varianceof 30. The anticorrelated dataset is generated with referenceto [16]. The characteristic of this dataset is that a data objecttends to have high value on one dimension and low on theothers. Each data object is ๐ [bytes] (metadata is 4ร๐ [bytes]),and we set V๐๐๐ข๐
๐๐๐ฅas 250.
5.2. Comparison Methods. We compare the performance ofClusTo with ClusTo (OPT), 2-phase [15], and naฤฑฬve method.In ClusTo (OPT), the query originator attaches an exactthreshold (the ๐th lowest score in the given query condition)to the querymessage instead of a filter.Therefore, data objectsnot included in the top-๐ results are never replied. Althoughthis is impossible actually, we take this comparison methodto investigate the performance of ClusTo compared with itsoptimal case. 2-phase is a method introduced in Section 3.The reason why we take this method as a comparison isthat the assumption of this method is the most similar toour assumption, for example, wireless multihop network, and
Table 1: Configuration of parameters.
Parameter Default Range (type)Number of nodes, ๐ 300 200โ500Value of ๐ โ 1โ15Data size, ๐ [bytes] 128 32โ256Dimensionality,๐ 3 2โ5Data distribution UN CL, ACData update rate [%] 30 0โ100
all nodes can generate queries. In the naฤฑฬve method, thequery originator broadcasts a query message attached withthe ๐-lowest scores and their corresponding data identifiers.Each query receiving node calculates the top-๐ data objectsfrom the received scores and its own data objects and thenbroadcasts the query message attached with the those scoresand identifiers. Leaf nodes set the threshold, as in ClusTo, andreplies data objects with scores not larger than the threshold.This method is a special case of the method proposed in [14]and can strictly prune unnecessary data objects comparedwith the original method in [14] which transmits only a partof the ๐-lowest scores (i.e., the overhead can be much).
5.3. Simulation Model. ๐ wireless nodes exist randomly inan area of 800 [m] ร 800 [m]. Each node transmits messagesand data objects using an IEEE 802.11b device whose datatransmission rate is 11 [Mbps]. The transmission power ofeach node is determined so that the radio communicationrange becomes about 100 [m]. Packet losses and delays occurdue to a radio interference. We distribute the dataset to everynode and the number of data objects per node is 50 (i.e.,the total number of data objects is ๐ ร 50). Data objects areupdated as time passes (๐ฅ% of data objects are updated in thesimulation).
We set ๐พ as 15 and limit the number of reply retrans-missions per node to 10. We investigated the accuracy ofthe query result within the limited number of reply re-transmissions. Furthermore, we set ๐ผ and ๐ฝ in (4) as 0.35 and100, respectively, based on some preliminary experiments.Each node generates a query message between a randominterval within [60, 600] [sec] with random weighting. Thenumber of requested data objects, ๐, follows Gaussian distri-bution (except for the impact of ๐ in Section 5.4) with ameanand variance of 5, and the range of ๐ is [1, ๐พ]. The searchrange, ๐, is calculated as ๐ = 50 โ ๐ [m]. ๐ follows Gaussiandistribution with a mean of 5 and a variance of 20, and therange of ๐ is [2, 8]. Table 1 shows the range and default settingof parameters in our experiments.We set the simulation timeas 900 [sec] and evaluated the following criteria.
(i) Initial overhead: traffic defined as the total volume ofmessages sent in the clustering procedure.
(ii) Data update overhead: traffic defined as the totalvolume of messages sent during the simulation toinform updated๐พ-skyband.
(iii) Query overhead: traffic defined as (the total volume ofmessages sent on top-๐ query processing during thesimulation)/the number of generated query.
-
12 Mobile Information Systems
Traffi
c (kB
)
0
50
ClusTo (initial overhead)ClusTo (date update overhead)
100
150
200
200Number of nodes
250
300
300 400 500
(a) Impact of ๐
Traffi
c (kB
)
0
50
100
150
200
ClusTo (initial overhead)ClusTo (date update overhead)
2
Dimensionality
3 4 5
(b) Impact of๐
ClusTo (initial overhead)ClusTo (date update overhead)
Traffi
c (kB
)
0Uniform Clustered Anticorrelated
20
40
60
80
100
120
Data distribution
(c) Impact of dataset type
Traffi
c (kB
)
00 20
Data update rate40 60 80 100
ClusTo (data update overhead)
50
100
150
200
250
300
350
(d) Impact of data update rate
Figure 4: Initial overhead and data update overhead.
(iv) Number of contacted nodes: the average number ofnodes to which a query message is transmitted.
(v) Accuracy of query result: MAP (Mean Average Preci-sion) which is often used to calculate the accuracywith a rank. MAP averages accuracy of each queryresult, AP (Average Precision). AP and MAP aredetermined by the following equations:
๐ด๐๐=1
๐
๐
โ
๐=1
๐ฆ
๐โ ๐,
๐๐ด๐ =1
๐๐ข๐๐๐ฆ๐๐ข๐
๐๐ข๐๐๐ฆ๐๐ข๐
โ
๐=1
๐ด๐๐,
(7)
where ๐ด๐๐is the accuracy of the ๐th query result,
๐ฆ is the number of collected data objects with the๐-lowest scores included within the ๐-lowest correct
answer set, ๐๐ข๐๐๐ฆ๐๐ข๐ is the total number of gener-ated queries, and ๐ is determined by the followingequation:
๐ = {1 (๐th answer is included in collected data)0 (otherwise) .
(8)
Thus,MAP rises as the query originator obtains dataobjects with smaller score.
(vi) Delay: the average of the elapsed time between thequery originator generating a top-๐ query and itsacquisition of the result.
5.4. Simulation Results
5.4.1. Initial Overhead and Data Update Overhead. Firstly, weexamined the initial overhead and data update overhead ofClusTo. Figure 4 shows the simulation results. In Figure 4(a),
-
Mobile Information Systems 13
0200 300
ClusTo ClusTo (OPT)2-phase
Number of nodes400 500
20Que
ry o
verh
ead
(kB)
40
60
80
Naฬฤฑve
(a) Query overhead
200 300
ClusTo ClusTo (OPT)2-phase
Number of nodes400 500
Num
ber o
f con
tact
ed n
odes
0
20
40
60
80
100
120
140
Naฬฤฑve
(b) Number of contacted nodes
0.8
0.85
0.9
0.95
1
200 300
ClusTo ClusTo (OPT)2-phase
Number of nodes400 500
Accu
racy
of q
uery
resu
lt
Naฬฤฑve
(c) Accuracy of query result
200 300
ClusTo ClusTo (OPT)2-phase
Number of nodes400 500
Del
ay (s
)
0
0.2
0.4
0.6
0.8
1
Naฬฤฑve
(d) Search time
Figure 5: Impact of the number of nodes, ๐ (real dataset).
we used real dataset and examined the impact of ๐. InFigures 4(b), 4(c), and 4(d), we used the synthetic datasetand examined the impact of๐, the dataset type, and the dataupdate rate, respectively.
From Figure 4(a), we can see that both the initial over-head and the data update overhead increase as ๐ increases.This is to be expected because the number of cf and mn sentby nodes increase as ๐ increases. Also, the number of dataobjects in the network increases as ๐ increases, and this affectsthe overhead of updated ๐พ-skyband notification.
Figure 4(b) shows that both the initial overhead and thedata update overhead increase as ๐ increases. A data objectrarely dominates other data objects in the case of large ๐, sothe number of data objects included in๐พ-skyband increases.As a result, the size of cf and a message which informsupdated KSKY increases.
FromFigure 4(c), we can see that both overheads are largein the case of the anticorrelated dataset, where the numberof dominated data objects is typically smaller than other
datasets, resulting in the same impact as in the case of large๐.
From Figure 4(d), we can see that the data updateoverhead increases as the data update rate increases. Thisis also instinctive because as many data updates occur,the KSKY of each node is also updated. Hence, the num-ber of message to inform the updated KSKY increases.Note that the data update rate is irrelevant to the initialoverhead.
5.4.2. Top-๐Query Processing. Next, we examined the perfor-mance of each top-๐ query processing method.
Impact of ๐.We examined the impact of the number of nodes,๐. Figure 5 shows the simulation result with varying ๐. Figures5(a), 5(b), 5(c), and 5(d) plot the measured performance interms of query overhead, the number of contacted nodes,accuracy, and delay respectively. In this experiment, we usedthe real dataset.
-
14 Mobile Information Systems
ClusTo
00 5
Number of requested data10 15
10
20
30
40
50
60
ClusTo (OPT)2-phase
Que
ry o
verh
ead
(kB)
Naฬฤฑve
(a) Query overhead
ClusTo
0 5Number of requested data
10 15
ClusTo (OPT)2-phase
0
20
40
60
80
Num
ber o
f con
tact
ed n
odes
Naฬฤฑve
(b) Number of contacted nodes
0.8
0.85
0.9
0.95
1
ClusTo ClusTo (OPT)2-phase
Accu
racy
of q
uery
resu
lt
0 5 10 15Number of requested data
Naฬฤฑve
(c) Accuracy of query result
ClusTo ClusTo (OPT)2-phase
Del
ay (s
)
0
0.2
0.4
0.6
0.8
0 5 10 15Number of requested data
Naฬฤฑve
(d) Search time
Figure 6: Impact of the number of requested data objects, ๐ (real dataset).
From Figure 5(a), we can see that ClusTo performs top-๐ query processing with small query overhead. In 2-phaseand naฤฑฬve method, query flooding generates much queryoverhead as ๐ increases. On the other hand, ClusTo routesqueries to each cluster-head within the search range andthen transmits data acquisition queries to nodes holding dataobjects with scores not larger than the threshold, therebysuppressing the number of nodes involving in query process-ing. Thus, in ClusTo, the number of nodes that queries aretransmitted does not change basically (or changes slightly)if ๐ increases. We can see this result in Figure 5(b). ClusTosignificantly reduces the number of contacted nodes incomparison with 2-phase and naฤฑฬve method. Note that, inthe case where ๐ = 300, the difference in query overheadbetween ClusTo and 2-phase is 31.0 โ 10.7 = 20.3 [KB].In ClusTo, summation of the initial overhead and the dataupdate overhead is 231.2 [KB] (= 119.3 + 111.9). Therefore, iftop-๐ query processing is performed (231.2/20.3 = 11.4 โ โ โ โ12) times in this setting, the total traffic of ClusTo can be less
than that of 2-phase.This value, 12, is less than only 5% of thetotal number of nodes, so ClusTo is highly effective in caseswhere many nodes generate queries.
From Figure 5(c), we can see that ClusTo (as well asClusTo (OPT)) outperforms the other methods. The queryrouting in ClusTo suppresses unnecessary query overheadand this prevents the decrease in the accuracy of queryresult caused by packet losses. ClusTo (OPT) keeps higheraccuracy of query result than ClusTo. This is because ClusTo(OPT) replies only data objects included in the top-๐ result,resulting in a reduction of packet losses more than ClusTo.Basically, the accuracy of query result of 2-phase and naฤฑฬvemethod decreases as ๐ increases. Due to the query floodingin the methods, packet losses caused by message collisionsfrequently occur in the case where the number of nodes islarge.
Figure 5(d) shows that the delay of ClusTo is shorter thanthat of 2-phase and naฬฤฑve method. This is because ClusTocan retrieve the top-๐ result without transmitting queries to
-
Mobile Information Systems 15
ClusTo
02 3
Dimensionality4 5
10
20
30
40Q
uery
ove
rhea
d (k
B)
ClusTo (OPT)2-phase Naฬฤฑve
(a) Query overhead
0
20
40
60
80
Num
ber o
f con
tact
ed n
odes
ClusTo
2 3Dimensionality
4 5
ClusTo (OPT)2-phase Naฬฤฑve
(b) Number of contacted nodes
0.8
0.85
0.9
0.95
1
2 3
ClusTo ClusTo (OPT)2-phase
4 5
Accu
racy
of q
uery
resu
lt
Dimensionality
Naฬฤฑve
(c) Accuracy of query result
1
2 3
ClusTo ClusTo (OPT)2-phase
4 5
Del
ay (s
)
0
0.2
0.4
0.6
0.8
Dimensionality
Naฬฤฑve
(d) Search time
Figure 7: Impact of dimensionality,๐ (synthetic dataset).
all nodes within the search range. Moreover, ClusTo sendsa data acquisition query to only nodes holding data objectswith scores not larger than the threshold. This approach canreduce query overhead and packet losses, which suppressesthe number of reply retransmissions, resulting in small delay.ClusTo (OPT) can reduce the delay further compared withClusTo because ClusTo (OPT) sends a data acquisition queryto fewer nodes than ClusTo due to the optimal threshold.The delay of 2-phase is longer than that of naฬฤฑve methodbecause of the two-time query flooding in each top-๐ queryprocessing.
Impact of ๐. We examined the impact of the number ofrequested data objects, ๐. Figure 6 shows the simulationresult with varying ๐. Figures 6(a), 6(b), 6(c), and 6(d) plotthe measured performance in terms of query overhead, thenumber of contacted nodes, accuracy, and delay, respectively.Also in this experiment, we used the real dataset.
From Figure 6(a), we can see that the query overheadin all methods increases as ๐ increases. This is because thenumber of replied data objects increases. When ๐ is large,the threshold in ClusTo becomes large and the number ofnodes to which the data acquisition query is transmittedincreases (see Figure 6(b)). In addition, the increase in queryoverhead causes many packet losses; thus the accuracy in allmethods decreases as ๐ increases as shown in Figure 6(c).ClusTo, however, keeps high accuracy of query result andsmall delay, as seen in Figure 6(d), compared with 2-phaseand naฬฤฑve method because ClusTo suppresses the number oftransmitting messages as mentioned above. From the resultsof Figures 5(a) and 6(a), we can see that query floodinggenerates too much traffic and is inefficient for wirelessmultihop networks.
Impact of ๐.We examined the impact of the dimensionality,๐. Figure 7 shows the simulation result with varying ๐.
-
16 Mobile Information Systems
0
10
Uniform ClusteredData distribution
Anticorrelated
20
30Q
uery
ove
rhea
d (k
B)
ClusToClusTo (OPT)
2-phaseNaฬฤฑve
(a) Query overhead
0
40
60
20
Uniform ClusteredData distribution
Anticorrelated
80
Num
ber o
f con
tact
ed n
odes
ClusToClusTo (OPT)
2-phaseNaฬฤฑve
(b) Number of contacted nodes
0.8
0.85
Uniform Clustered
Data distribution
Anticorrelated
0.9
0.95
1
Accu
racy
of q
uery
resu
lt
ClusToClusTo (OPT)
2-phaseNaฬฤฑve
(c) Accuracy of query result
0
0.2
0.4
0.6
0.8
Del
ay (s
)
Uniform Clustered
Data distribution
Anticorrelated
ClusToClusTo (OPT)
2-phaseNaฬฤฑve
(d) Search time
Figure 8: Impact of the dataset type (synthetic dataset).
Figures 7(a), 7(b), 7(c), and 7(d) plot the measured perfor-mance in terms of query overhead, the number of contactednodes, accuracy, and delay, respectively. In the experimentsfrom here, we used synthetic dataset because we can arbitrar-ily change the target parameter.
FromFigure 7, we can see that the performance of ClusTois basically independent of ๐. ClusTo transmits queriesbased on (clusters and) the threshold, that is, aggregating๐-dimensional value to 1-dimension. Therefore, ClusTo hasa great advantage in cases of high-dimensional datasetsbecause the performance of ClusTo (like that of other meth-ods) is not affected by๐.
We can observe from Figure 7(a) that ClusTo reduces thequery overhead by up to about 60% and 40% in comparisonwith 2-phase and naฬฤฑve method, respectively.
Aswell as the result of Figure 7(a), the efficiency ofClusTocan be seen in Figures 7(b), 7(c), and 7(d). Figure 7(c) showsthe high accuracy of query result of ClusTo. In any๐, ClusTooutperforms 2-phase andnaฬฤฑvemethod because of its efficient
query processing. Moreover, the accuracy of ClusTo is muchthe same with that of ClusTo (OPT), which implies theefficiency of the filter algorithm of ClusTo. We can observefrom Figure 7(d) that ClusTo reduces the delay by up to about40% and 30% in comparison with 2-phase and naฤฑฬve method,respectively.
Impact of Data Distribution. We examined the impact ofdata distribution. Figure 8 shows the simulation result withrespect to UN, CL, and AC. Figures 8(a), 8(b), 8(c), and8(d) plot the measured performance in terms of queryoverhead, the number of contacted nodes, accuracy, anddelay, respectively.
From these figures, we can see that ClusTo keepshigh performance for any datasets. ClusTo forms clustersso that nodes holding data objects with high probabil-ity to be included in many top-๐ results become cluster-heads. Due to this effect, the number of nodes to whicha data acquisition query is transmitted can be suppressedas shown in Figure 8(b). As a result, ClusTo can reduce
-
Mobile Information Systems 17
032
10
64 128 256Data size
20
30
40Q
uery
ove
rhea
d (k
B)
ClusTo ClusTo (OPT)2-phase Naฬฤฑve
(a) Query overhead
032
20
64 128 256Data size
40
60
80
Num
ber o
f con
tact
ed n
odes
ClusTo ClusTo (OPT)2-phase Naฬฤฑve
(b) Number of contacted nodes
Accu
racy
of q
uery
resu
lt
Data size
ClusTo ClusTo (OPT)2-phase
0.832 64 128 256
0.85
0.9
0.95
1
Naฬฤฑve
(c) Accuracy of query result
032
0.2
64 128 256Data size
0.4
0.6
0.8
1
ClusTo ClusTo (OPT)2-phase
Del
ay (s
)
Naฬฤฑve
(d) Search time
Figure 9: Impact of the data size (synthetic dataset).
unnecessary query overhead and delay even if the datasetis anticorrelated as shown in Figures 8(a) and 8(d), whichdemonstrates the efficiency of our new clustering frameworkbased on the skyline distance in (4).
Impact of ๐.Weexamined the impact of the size of data object,๐. Figure 9 shows the simulation result with varying ๐. Figures9(a), 9(b), 9(c), and 9(d) plot the measured performance interms of query overhead, the number of contacted nodes,accuracy, and delay, respectively.
From Figure 9(a), we can see that the query overheadin all methods increases as ๐ increases. This is because thesize of the reply message becomes large as ๐ increases. In thecase of a large ๐, in particular, query overhead in all methodsincreases more because packet losses frequently occur andthe number of reply retransmissions becomes large. ClusTocan suppress query overhead through its query routing andfilter approach, resulting in a less number of nodes to access(Figure 9(b)), which prevents packet collisions as mentioned
before. From Figure 9(c), we can see that ClusTo and ClusTo(OPT) keep high accuracy of query result while that of 2-phase and naฬฤฑvemethod decreases as ๐ increases. Although 2-phase and naฬฤฑvemethod suppress unnecessary data replies by2-phase approach and filter approach, respectively, frequentmessage collisions caused by query flooding decrease theaccuracy of query result. From Figure 9(d), we can see thatClusTo suppresses the delay even in the case of large ๐. Itsquery routing and filter approach, described above, suppressthe number of nodes to which queries are transmitted. Thisreduces packet losses, resulting in less number of replyretransmissions. In contrast, the delay in naฬฤฑvemethod is longand is similar to that of 2-phase even though this methodprocesses a top-๐ query in a single phase. In this method,more unnecessary data objects are replied than 2-phase,and this increases unnecessary query overhead and packetlosses. As a consequence, the number of reply retransmissionsincreases.
-
18 Mobile Information Systems
00
10
5 10 15Number of updated data (/s)
20
30
40Q
uery
ove
rhea
d (k
B)
ClusTo ClusTo (OPT)2-phase Naฬฤฑve
(a) Query overhead
0 5 10 15Number of updated data (/s)
0
20
40
60
80
Num
ber o
f con
tact
ed n
odes
ClusTo ClusTo (OPT)2-phase Naฬฤฑve
(b) Number of contacted nodes
Accu
racy
of q
uery
resu
lt
0 5 10 15Number of updated data (/s)
ClusTo ClusTo (OPT)2-phase
0.8
0.85
0.9
0.95
1
Naฬฤฑve
(c) Accuracy of query result
0 5 10 15Number of updated data (/s)
ClusTo ClusTo (OPT)2-phase
0
0.2
0.4
0.6
0.8
Del
ay (s
)
Naฬฤฑve
(d) Search time
Figure 10: Impact of the data update rate [/sec] (synthetic dataset).
Impact of ๐ฅ. In sensor networks and some other applications,data objects are possibly updated, so we examined the impactof data update rate to show the robustness of ClusTo for dataupdate. Figure 10 shows the simulation result with varyingdata update rate. Figures 10(a), 10(b), 10(c), and 10(d) plotthe measured performance in terms of query overhead, thenumber of contacted nodes, accuracy, and delay, respectively.In Figure 10, we rescaled the data update rate [%] in thesimulation to the number of updated data [/sec].
From Figure 10, we can see that the data update rate doesnot affect the criteria in 2-phase and naฬฤฑve method. Thisis because these methods do not maintain any informationon data objects of neighboring nodes. In ClusTo, on theother hand, nodes maintain the information on only theirneighboring nodes. If a data update occurs, the nodesholding the data objects broadcast the updatedKSKY to theirneighboring nodes, ensuring that the neighboring nodes keepcorrect information on their ๐พ-skyband. Nodes to whichCtoC queries are transmitted do not change even if a data
update occurs because the queries are transmitted based onrouting tables. Furthermore, the number of nodes to whichdata acquisition queries are transmitted does not increase ordecrease even if a data update occurs. More specifically, evenif a data update occurs, the target nodes for data acquisitionqueries are simply changed to other nodes. As a result, thequery overhead, the number of contacted nodes, and thedelay are constant, and this is the advantage of our proposedmethod for the case where many data objects are updated.
From Figure 10(c), we can see that the accuracy of queryresult in ClusTo and ClusTo (OPT) slightly decreases as thenumber of updated data per sec increases. In ClusTo, if thenumber of updated data increases, the chance of neighboringnodes being formed of the updated KSKY increases. Conse-quently, frequent transmissions of suchmessages cause manymessage collisions in top-๐ query processing. This leads toa decrease in the accuracy of query result. However, theaccuracy in ClusTo is still high even in the case where all thedata objects are updated.
-
Mobile Information Systems 19
6. Conclusion
In this study, we proposed ClusTo, which realizes effi-cient multidimensional top-๐ query processing in wirelessmultihop networks, where users can specify a monotonescoring function and a search range. The proposed methodperforms effective clustering with skyline, which streamlinesquery routing and filter updating. Furthermore, ClusTo canconstructmore accurate filter by consideringwith๐พ-skybandof neighboring nodes, which can set a threshold as closervalue to the exact value. After routing queries over the searchrange, the queries are transmitted to nodes holding dataobjects whose scores are not larger than the threshold. Thisprocedure suppresses unnecessary query transmissions tonodes which do not contribute to top-๐ data retrieval. Oursimulation results show that ClusTo achieves efficient top-๐query processing in terms of query overhead and delay aswell as highly accurate query result even for limited replyretransmissions.
In this study, we assumed a wireless static networkwhose network topology does not change. However, in someapplications, nodes may not simply move locally, whichprovokes link disconnections between nodes. In ClusTo,because each node constructs a filter and routes queriesbased on the information on neighboring nodesโ positionand data objects, such network topology change presentsa challenging problem. We therefore plan to tackle thisproblem by extending ClusTo to adapt to such dynamicenvironments.
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper.
Acknowledgments
This research is partially supported by the Grant-in-Aid forScientificResearch (B) (24300037) ofMEXTand JSPS Fellows(26-4907) of the Ministry of Education, Culture, Sports,Science and Technology, Japan.
References
[1] Y.-C. Chung, I.-F. Su, and C. Lee, โSupporting multi-dimensional range query for sensor networks,โ in Proceedingsof the 27th International Conference on Distributed ComputingSystems (ICDCS โ07), pp. 35โ43, Toronto, Canada, June 2007.
[2] Z. Gong, G.-Z. Sun, J. Yuan, and Y. Zhong, โEfficient top-kquery algorithms using k-skyband partition,โ in Proceedings ofthe International Conference on Scalable Information Systems,pp. 288โ305, 2009.
[3] V. Hristidis, N. Koudas, and Y. Papakonstantinou, โPrefer: asystem for the efficient execution of multi-parametric rankedqueries,โ in Proceedings of the ACM SIGMOD InternationalConference on Management of Data, pp. 11โ20, May 2001.
[4] D. Xin, J. Han, H. Cheng, and X. Li, โAnswering top-k querieswith multi-dimensional selections: the ranking cube approach,โ
in Proceedings of the 32nd International Conference on VeryLarge Data Bases (VLDB โ06), pp. 463โ474, September 2006.
[5] R. Akbarinia, E. Pacitti, and P. Valduriez, โReducing networktraffic in unstructured P2P systems using Top-k queries,โDistributed and Parallel Databases, vol. 19, no. 2-3, pp. 67โ86,2006.
[6] W.-T. Balke, W. Nejdl, W. Siberski, and U.Thaden, โProgressivedistributed top-k retrieval in peer-to-peer networks,โ in Pro-ceedings of the 21st International Conference onData Engineering(ICDE โ05), pp. 174โ185, April 2005.
[7] P. Cao and Z. Wang, โEfficient Top-K query calculation indistributed networks,โ in Proceedings of the 23rd Annual ACMSymposium on Principles of Distributed Computing (PODC โ04),pp. 206โ215, July 2004.
[8] S.Michel, P. Triantafillou, andG.Weikum, โKLEE: a frameworkfor distributed top-k query algorithms,โ in Proceedings of the31stInternational Conference on Very Large Data Bases (VLDB โ05),pp. 637โ648, September 2005.
[9] A. Vlachou, C. Doulkeridis, K. Nรธrvaฬg, and M. Vazirgiannis,โOn efficient top-k query processing in highly distributedenvironments,โ in Proceedings of the International Conference onManagement of Data (SIGMOD โ08), pp. 753โ764, June 2008.
[10] H. Jiang, J. Cheng, D.Wang, C.Wang, and G. Tan, โContinuousmulti-dimensional top-k query processing in sensor networks,โin Proceedings of the IEEE INFOCOM, pp. 793โ801, April 2011.
[11] S. Madden, M. J. Franklin, J. M. Hellerstein, and W. Hong,โTAG: a tiny aggregation service for ad-hoc sensor networks,โACM SIGOPS Operating Systems Review, vol. 36, no. SI, pp. 131โ146, 2002.
[12] M. Wu, J. Xu, X. Tang, and W.-C. Lee, โTop-k monitoring inwireless sensor networks,โ IEEE Transactions on Knowledge andData Engineering, vol. 19, no. 7, pp. 962โ976, 2007.
[13] D. Amagata, Y. Sasaki, T. Hara, and S. Nishio, โA robust routingmethod for top-k queries in mobile ad hoc networks,โ inProceedings of the 14th International Conference on Mobile DataManagement (MDM โ13), pp. 251โ256, June 2013.
[14] R. Hagihara, M. Shinohara, T. Hara, and S. Nishio, โA messageprocessing method for top-k query for traffic reduction inAd Hoc networks,โ in Proceedings of the 10th InternationalConference on Mobile Data Management: Systems, Services andMiddleware (MDM โ09), pp. 11โ20, May 2009.
[15] Y. Sasaki, T. Hara, and S. Nishio, โTwo-phase top-k queryprocessing inmobile ad hoc networks,โ inProceedings of the 14thInternational Conference onNetwork-Based Information Systems(NBiS โ11), pp. 42โ49, Tirana, Albania, September 2011.
[16] S. Boฬrzsoฬnyi, D. Kossmann, and K. Stocker, โThe skylineoperator,โ in Proceedings of the 17th International Conference onData Engineering (ICDE โ01), pp. 421โ430, April 2001.
[17] D. Papadias, Y. Tao, G. Fu, and B. Seeger, โProgressive sky-line computation in database systems,โ ACM Transactions onDatabase Systems, vol. 30, no. 1, pp. 41โ82, 2005.
[18] Y. Tao, L. Ding, X. Lin, and J. Pei, โDistance-based represen-tative skyline,โ in Proceedings of the 25th IEEE InternationalConference on Data Engineering (ICDE โ09), pp. 892โ903, April2009.
[19] I. F. Ilyas, G. Beskales, and M. A. Soliman, โA survey of top-k query processing techniques in relational database systems,โACM Computing Surveys, vol. 40, no. 4, Article ID 1391730,2008.
[20] B. Chen, W. Liang, R. Zhou, and J. X. Yu, โEnergy-efficient top-k query processing in wireless sensor networks,โ in Proceedings
-
20 Mobile Information Systems
of the 19th ACM International Conference on Information andKnowledge Management (CIKM โ10), pp. 329โ338, Toronto,Canada, October 2010.
[21] J. Niedermayer, M. A. Nascimento, M. Renz, P. Kroฬger, andH.-P. Kriegel, โExploiting local node cache in top-k querieswithin wireless sensor networks,โ in Proceedings of the 18thACM SIGSPATIAL International Conference on Advances inGeographic Information Systems (GIS โ10), pp. 434โ437, Novem-ber 2010.
[22] A. Silberstein, R. Braynard, C. Ellis, K.Munagala, and J. Yang, โAsampling-based approach to optimizing top-k queries in sensornetworks,โ in Proceedings of the 22nd International Conferenceon Data Engineering (ICDE โ06), pp. 68โ78, April 2006.
[23] X. Liu, J. Xu, and W.-C. Lee, โA cross pruning frameworkfor Top-k data collection in wireless sensor networks,โ inProceedings of the 11th IEEE International Conference on MobileData Management (MDM โ10), pp. 157โ166, May 2010.
[24] B. Chen, W. Liang, and G. Min, โTop-k query evaluationin sensor networks with the guaranteed accuracy of queryresults,โ in Proceedings of the 22nd International Conference onDatabase and Expert Systems Applications (DEXA โ11), pp. 156โ171, Toulouse, France, 2011.
[25] S.-J. Tang, X. Mao, and X.-Y. Li, โEfficient and fast distributedtop-k query protocol in wireless sensor networks,โ in Pro-ceedings of the 19th IEEE International Conference on NetworkProtocols (ICNP โ11), pp. 99โ108, October 2011.
[26] L. Zou and L. Chen, โDominant graph: an efficient indexingstructure to answer top-K queries,โ in Proceedings of the IEEE24th International Conference on Data Engineering (ICDE โ08),pp. 536โ545, April 2008.
[27] Y. Sasaki, R. Hagihara, T. Hara, M. Shinohara, and S. Nishio,โA top-k query method by estimating score distribution inmobile ad hoc networks,โ in Proceedings of the 24th IEEEInternational Conference on Advanced Information Networkingand Applications Workshops (WAINA โ10), pp. 944โ949, April2010.
-
Submit your manuscripts athttp://www.hindawi.com
Computer Games Technology
International Journal of
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Distributed Sensor Networks
International Journal of
Advances in
FuzzySystems
Hindawi Publishing Corporationhttp://www.hindawi.com
Volume 2014
International Journal of
ReconfigurableComputing
Hindawi Publishing Corporation http://www.hindawi.com Volume 2014
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Applied Computational Intelligence and Soft Computing
โAdvancesโinโ
Artificial Intelligence
HindawiโPublishingโCorporationhttp://www.hindawi.com Volumeโ2014
Advances inSoftware EngineeringHindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Hindawi Publishing Corporation
http://www.hindawi.com Volume 2014
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
ArtificialNeural Systems
Advances in
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
RoboticsJournal of
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Computational Intelligence and Neuroscience
Industrial EngineeringJournal of
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Modelling & Simulation in EngineeringHindawi Publishing Corporation http://www.hindawi.com Volume 2014
The Scientific World JournalHindawi Publishing Corporation http://www.hindawi.com Volume 2014
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Human-ComputerInteraction
Advances in
Computer EngineeringAdvances in
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014