Voronoi-Based Continuous \u003cformula formulatype=\"inline\"\u003e\u003ctex...

11
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 58, NO. 6, JUNE 2011 2247 Voronoi-Based Continuous k Nearest Neighbor Search in Mobile Navigation Geng Zhao, Kefeng Xuan, Wenny Rahayu, Member, IEEE, David Taniar, Maytham Safar, Senior Member, IEEE, Marina L. Gavrilova, Member, IEEE, and Bala Srinivasan Abstract—Digital ecosystems are formed by “digital organisms” in complex, dynamic, and interrelated ecosystems and utilize multiple technologies to provide cost-efficient digital services and value-creating activities. A distributed wireless mobile network that serves as the underlying infrastructure to digital ecosystems provides important applications to the digital ecosystems, two of which are mobile navigation and continuous mobile information services. Most information and query services in a mobile envi- ronment are continuous mobile query processing or continuous k nearest neighbor (CKNN), which finds the locations where interest points or interest objects change while mobile users are moving. These locations are known as “split nodes.” All of the existing works on CKNN divide the query path into segments, which is a segment of road separated by two intersections, and then, the process to find split nodes is applied to each segment. Since there are many segments (due to many intersections, obviously), processing each segment is naturally inefficient. In this paper, we propose an alternative solution to overcome this problem. We use the Voronoi diagram for CKNN [called Voronoi CKNN (VCKNN)]. Our proposed approach does not need to divide the query path into segments, hence improving the overall query processing performance. Our experiment verified the applicability of the VCKNN approach to solve CKNN queries. Index Termsk nearest neighbor (KNN), mobile database, mobile navigation, spatial query, Voronoi diagram. I. I NTRODUCTION I NSPIRED by the ecological systems in nature, whereby organisms form a dynamic and interrelated complex ecosys- tem, digital ecosystems are formed by “digital organisms” in complex, dynamic, and interrelated ecosystems. Hence, a dig- ital ecosystem is an open, loosely coupled, domain-clustered, Manuscript received January 22, 2009; revised April 3, 2009; accepted May 7, 2009. Date of publication June 30, 2009; date of current version May 13, 2011. This work was supported by the Australian Research Council under Discovery Project DP0987687. G. Zhao, K. Xuan, D. Taniar, and B. Srinivasan are with Clayton School of Information Technology, Faculty of Information Technology, Monash Uni- versity, Clayton, Vic. 3168, Australia (e-mail: [email protected]; [email protected]; [email protected]; srini@ infotech.monash.edu.au). W. Rahayu is with the Department of Computer Science and Com- puter Engineering and the Data Engineering and Knowledge Management Laboratory, La Trobe University, Melbourne, Vic. 3086, Australia (e-mail: [email protected]). M. Safar is with the Department of Computer Engineering, Kuwait Univer- sity, Safat 13060, Kuwait (e-mail: [email protected]). M. L. Gavrilova is with The Biometric Technologies Laboratory: Modeling and Simulation and The SPARCS Laboratory for Spatial Analysis Research in Computational Sciences, Department of Computer Science, University of Calgary, Calgary, AB T2N 1N4, Canada (e-mail: [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TIE.2009.2026372 and demand-driven ecosystem, which uses multiple technolo- gies to provide cost-efficient digital services and value-creating activities. One of the main technologies in a digital ecosystem is the distributed wireless mobile network that allows information exchange and information services to be delivered, which is re- quired for digital ecosystems. An application that utilizes such a technology is the information service to mobile devices and users through mobile networks. Mobile information services transcend the traditional centralized wired technology into an interactive wireless environment to offer cost-effective digital services and value-creating activities for mobile users [1]. One of the most prominent and growing applications of mobile information services is mobile navigation [2], due to the increase of traffic loads and the complexity of road connections. More and more mobile users need a kind of application that will help them navigate on crowded roads, guide them to the best route, and even give answers to their queries. A global positioning system in a car navigation system is a product that can satisfy the mobile users’ requirements, such as locating their current position, finding the best way from A to B, finding interest points within a certain range, finding k nearest neighbors (KNNs), and so on. In mobile navigation, the continuous monitoring of interest points or interest objects while the mobile user is on the move is an important criteria of mobile navigation. Normally, in continuous monitoring, when interest points or interest objects are changed due to the movement of mobile users, the mobile users are notified of these changes. These are known as split nodes. Therefore, existing works have been much focused on processing split nodes efficiently. Different kinds of approaches have well been explored in the last two decades. As a result, numerous conceptual models, multidimensional indexes, and query processing techniques have been introduced. The most common spatial query is KNN search [3]–[7]. The problem of KNN has also been addressed in other areas, including data mining and industrial electronics [8]. Continuous KNN (abbreviated as CKNN) approaches [9]–[11] have also attracted some researchers’ interest. In order to find split nodes, all existing CKNN approaches divide the query path into segments, find KNN results for the two termi- nate nodes of each segment, and then, for each segment, find the split nodes. One segment of the path starts from an intersection and ends at another intersection. For every segment, a KNN process is invoked to find split nodes for each segment. If there are too many intersections on the path, there will be many segments, and consequently, the processing performance will 0278-0046/$26.00 © 2009 IEEE

Transcript of Voronoi-Based Continuous \u003cformula formulatype=\"inline\"\u003e\u003ctex...

IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 58, NO. 6, JUNE 2011 2247

Voronoi-Based Continuous k Nearest NeighborSearch in Mobile Navigation

Geng Zhao, Kefeng Xuan, Wenny Rahayu, Member, IEEE, David Taniar,Maytham Safar, Senior Member, IEEE, Marina L. Gavrilova, Member, IEEE, and Bala Srinivasan

Abstract—Digital ecosystems are formed by “digital organisms”in complex, dynamic, and interrelated ecosystems and utilizemultiple technologies to provide cost-efficient digital services andvalue-creating activities. A distributed wireless mobile networkthat serves as the underlying infrastructure to digital ecosystemsprovides important applications to the digital ecosystems, two ofwhich are mobile navigation and continuous mobile informationservices. Most information and query services in a mobile envi-ronment are continuous mobile query processing or continuous knearest neighbor (CKNN), which finds the locations where interestpoints or interest objects change while mobile users are moving.These locations are known as “split nodes.” All of the existingworks on CKNN divide the query path into segments, whichis a segment of road separated by two intersections, and then,the process to find split nodes is applied to each segment. Sincethere are many segments (due to many intersections, obviously),processing each segment is naturally inefficient. In this paper,we propose an alternative solution to overcome this problem.We use the Voronoi diagram for CKNN [called Voronoi CKNN(VCKNN)]. Our proposed approach does not need to divide thequery path into segments, hence improving the overall queryprocessing performance. Our experiment verified the applicabilityof the VCKNN approach to solve CKNN queries.

Index Terms—k nearest neighbor (KNN), mobile database,mobile navigation, spatial query, Voronoi diagram.

I. INTRODUCTION

INSPIRED by the ecological systems in nature, wherebyorganisms form a dynamic and interrelated complex ecosys-

tem, digital ecosystems are formed by “digital organisms” incomplex, dynamic, and interrelated ecosystems. Hence, a dig-ital ecosystem is an open, loosely coupled, domain-clustered,

Manuscript received January 22, 2009; revised April 3, 2009; acceptedMay 7, 2009. Date of publication June 30, 2009; date of current version May 13,2011. This work was supported by the Australian Research Council underDiscovery Project DP0987687.

G. Zhao, K. Xuan, D. Taniar, and B. Srinivasan are with Clayton Schoolof Information Technology, Faculty of Information Technology, Monash Uni-versity, Clayton, Vic. 3168, Australia (e-mail: [email protected];[email protected]; [email protected]; [email protected]).

W. Rahayu is with the Department of Computer Science and Com-puter Engineering and the Data Engineering and Knowledge ManagementLaboratory, La Trobe University, Melbourne, Vic. 3086, Australia (e-mail:[email protected]).

M. Safar is with the Department of Computer Engineering, Kuwait Univer-sity, Safat 13060, Kuwait (e-mail: [email protected]).

M. L. Gavrilova is with The Biometric Technologies Laboratory: Modelingand Simulation and The SPARCS Laboratory for Spatial Analysis Researchin Computational Sciences, Department of Computer Science, University ofCalgary, Calgary, AB T2N 1N4, Canada (e-mail: [email protected]).

Color versions of one or more of the figures in this paper are available onlineat http://ieeexplore.ieee.org.

Digital Object Identifier 10.1109/TIE.2009.2026372

and demand-driven ecosystem, which uses multiple technolo-gies to provide cost-efficient digital services and value-creatingactivities.

One of the main technologies in a digital ecosystem is thedistributed wireless mobile network that allows informationexchange and information services to be delivered, which is re-quired for digital ecosystems. An application that utilizes sucha technology is the information service to mobile devices andusers through mobile networks. Mobile information servicestranscend the traditional centralized wired technology into aninteractive wireless environment to offer cost-effective digitalservices and value-creating activities for mobile users [1].

One of the most prominent and growing applications ofmobile information services is mobile navigation [2], due to theincrease of traffic loads and the complexity of road connections.More and more mobile users need a kind of application thatwill help them navigate on crowded roads, guide them to thebest route, and even give answers to their queries. A globalpositioning system in a car navigation system is a product thatcan satisfy the mobile users’ requirements, such as locatingtheir current position, finding the best way from A to B,finding interest points within a certain range, finding k nearestneighbors (KNNs), and so on.

In mobile navigation, the continuous monitoring of interestpoints or interest objects while the mobile user is on the moveis an important criteria of mobile navigation. Normally, incontinuous monitoring, when interest points or interest objectsare changed due to the movement of mobile users, the mobileusers are notified of these changes. These are known as splitnodes. Therefore, existing works have been much focused onprocessing split nodes efficiently.

Different kinds of approaches have well been explored in thelast two decades. As a result, numerous conceptual models,multidimensional indexes, and query processing techniqueshave been introduced. The most common spatial query is KNNsearch [3]–[7]. The problem of KNN has also been addressed inother areas, including data mining and industrial electronics [8].

Continuous KNN (abbreviated as CKNN) approaches[9]–[11] have also attracted some researchers’ interest. In orderto find split nodes, all existing CKNN approaches divide thequery path into segments, find KNN results for the two termi-nate nodes of each segment, and then, for each segment, find thesplit nodes. One segment of the path starts from an intersectionand ends at another intersection. For every segment, a KNNprocess is invoked to find split nodes for each segment. If thereare too many intersections on the path, there will be manysegments, and consequently, the processing performance will

0278-0046/$26.00 © 2009 IEEE

2248 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 58, NO. 6, JUNE 2011

Fig. 1. Voronoi diagram.

degrade. These are the obvious limitations of the current CKNNapproaches.

In this paper, we propose an alternative approach for CKNNquery processing, which is based on the network Voronoidiagram (we call our proposed method VCKNN, for VoronoiCKNN). This approach avoids the weaknesses aforementionedand improves the performance by utilizing a Voronoi diagram.VCKNN ignores intersections on the query path; instead, ituses Voronoi polygons to subdivide the path. In this paper,the effectiveness of the Voronoi diagram, which is originatedfrom the computational geometry [12], [13] and has been usedsuccessfully in other areas, such as industrial electronic areas[14], in a mobile environment will be demonstrated.

II. BACKGROUND

There are two important pieces of knowledge that need tobe discussed, namely, Voronoi diagram and network Voronoidiagram, as they form the basis of our proposed approach.

A. Voronoi Diagram

A Voronoi diagram is a special kind of decomposition of ametric space determined by distances to a specified discreteset of objects in space [15]. Given a set of points S, thecorresponding Voronoi diagram will be generated. Each points has its own Voronoi cell V (s), which consists of all pointscloser to s than to any other points. The border points betweenpolygons are the collections of the points with equations ofdistance to shared generators. Fig. 1 shows an example of aVoronoi diagram based on Euclidean distance. Pi representsthe interest points, and the lines are the shared border edgesbetween polygons.

There are some basic properties associated with a Voronoidiagram, which have been well presented by Okabe et al. [15].We will list some of the relevant properties next.

Property 1: The Voronoi diagram of a point set P , i.e.,V (P ), is unique.

Property 2: The nearest generator point of pi (e.g., pj) isamong the generator points whose Voronoi polygons sharesimilar Voronoi edges with V (pi).

Property 3: Let n and ne be the number of generator pointsand Voronoi edges, respectively; then, ne ≤ 3n − 6.

Property 4: From Property 3 and the fact that every Voronoiedge is shared by exactly two Voronoi polygons, we notice that

the average number of Voronoi edges per Voronoi polygon is atmost six, i.e., 2(3n − 6)/n = 6 − 12/n ≤ 6. This means that,on average, each generator has six adjacent generators.

Using the Voronoi diagram to find the nearest neighbor willlet the algorithm perform more efficiently as all distances be-tween borders and generators can be precalculated and stored.VN3 and PINE utilize Voronoi diagrams efficiently to findKNNs. While, currently, there is no CKNN approach usingVoronoi diagrams to ignore the real network connection withinpolygons, this point becomes the motivation of this paper,Voronoi-based CKNN.

B. Network Voronoi Diagram

The Voronoi diagram mentioned previously is the Voronoidiagram based on Euclidean distance. In the real world, whenwe want to search the nearest neighbor or to generate anappropriate moving path, we use network distance and notEuclidean distance.

The network Voronoi diagram is the Voronoi diagram thatuses network distance to generate the diagram instead ofEuclidean distance [3], [5]. In a typical Voronoi diagram,the shared borderline is the mid perpendicular of the linksconnected with two corresponding generators. However, in anetwork Voronoi diagram, the borderline consists of discretepoints, which are the middle points of a network road connectedwith two corresponding generators. A polygon in a network isthe set of nodes and edges, which are closer to one generatorthan to any other. This is the principal difference between aVoronoi diagram and a network Voronoi diagram.

The network Voronoi diagram will be used in our proposedmethod. Its most basic property is that the generators withshared border points have equal network distances to the sameborder point that they shared.

III. RELATED WORK

If the query point is moving, it is infeasible to apply KNN atevery point of the line, because it will generate a large numberof queries and a large overhead. Therefore, the objective ofmoving or continuous query is to efficiently find the locationof the split node(s) on the path, in other words, where KNNchanges.

There are two important existing works on CKNN based onnetwork distance. The first one is DAR and eDAR based onPINE, proposed by Safar and Ebrahimi [9]. Another CKNNwork is Intersection Examination (IE) based on VN3 proposedby Kolahdouzan and Shahabi [10]. To the best of our knowl-edge, no other existing works on CNN can be found in theliterature; hence, the following section will discuss these twoworks and analyze their pros and cons.

A. DAR/eDAR

DAR/eDAR was proposed by Safar and Ebrahimi [9]. Thisis based on PINE, which uses road networks as the underlyingmap. These two algorithms start by dividing the query path intosegments, each of which is separated by a network intersection

ZHAO et al.: VORONOI-BASED CONTINUOUS k NEAREST NEIGHBOR SEARCH IN MOBILE NAVIGATION 2249

Fig. 2. DAR step-one example.

Fig. 3. DAR step-two example.

Fig. 4. DAR processing tables.

node. Then, they find KNN tables for two adjacent nodes,compare the two tables, and swap the position to make thesetwo the same. Every swap would incur a split node, and whenthe two tables are exactly the same, all split nodes have beenfound. Then, the split nodes’ position and the KNN tablesare the result of the query. In order to illustrate it clearly, thefollowing shows an example of the process.

First, we divide the query path into segments using theintersect nodes on the path, as shown in Fig. 2. In this example,the query starts from S and ends in E. The path from S toE has a number of intersections, and the path separated by anintersection is a segment. In this example, the path from S to Ais one segment, and the path from A to B is another, and so on.

Second, for every segment (e.g., AD in Fig. 3), we find theKNNs of the two ending points (A and D), which means wegenerate two KNN lists for both ending points (see Fig. 4,assume the query is 2NN). Then, we aggregate these lists toform one complete list (see Fig. 4).

Then, for every adjacent interest point, calculate λ accordingto the following (note that I is the distance column in the ready

queue RQ for a particular interest point and that Dist is adistance function):

λi,i+1 =Dist(A,D) + Dist (D, I ′i) − Dist(A, Ii)

2.

Then, apply the same operation between the last interestpoint and every point in RQ. The smallest λ will be the movingdirection of query point. Swap the list to find another split untilthe two lists are the same.

It is an undeniable fact that DAR and eDAR perform wellfor CKNN query, except that they divide the query path intosegments. This will let the performance go worse as the numberof intersections increases. Furthermore, a large number ofoverheads will be incurred even if there is no split node insome segments. Nevertheless, we need to do KNN for everysegment although we do not find a split node. In view ofthe aforementioned reasons, an approach should be proposed,which does not take intersections into account.

B. IE

IE [10] is based on VN3. In general, similar to eDAR, IEseparates the query path into segments. IE then tries to find thesplit nodes by defining the trend for each interest point in thecurrent KNN result list and by sorting them in ascending order.When there is any change in the position of interest point, itbecomes a split node.

To be specific, if the query is to find continuous 1-NN, itcan simply find all nodes that intersect with the border ofthe Voronoi diagram. The IE algorithm divides the query pathinto smaller segments using the intersection nodes on the path.From every segment, IE uses VN3 to find KNNs for the twoterminating nodes. The KNN results of every segment shouldbe within the combination congregation of the KNN result ofthe two terminating nodes. We can get the trend of every interestpoint at the starting point’s KNN results and then find the pointwhere two adjacent nodes get the same distance to the querypoint. That is the split node.

Similar to DAR and eDAR, indeed, IE is an alternativeapproach to CKNN query, except that it also needs to divide thequery path into segments. Using IE, the trend of interest pointscan be monitored either moving closer or away from the currentposition of the query. Our approach of VCKNN will provide amore comprehensive way to let the user read KNN results forany node on the query path.

IV. PROPOSED VORONOI-BASED CKNN

CKNN search is not a novel type of query in a mobileenvironment, as it has been well studied in the past. CKNNcan be defined as search where, given a moving query point,its predefined moving path, and a set of candidate interestpoints, the objective is to find the point on the way whereKNN changes. This is a traditional query in mobile navigation.Getting the exact point on the road in a short response time isnot as easy as we think. The already existing works on CKNNhave some limitations as follows.

First, both DAR/eDAR and IE need to divide the predefinedquery path into segments using the intersections on the road.

2250 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 58, NO. 6, JUNE 2011

Fig. 5. Segments using DAR and IE.

It means that, once there is an intersect road in the path, itbecomes a new segment, and we need to check whether there isany split nodes on this segment.

Second, using DAR/eDAR and IE, for every segment, weshould find KNN for the start and end nodes of the segment.The efficiency of the performance obviously reduces when thenumber of intersections on the query path becomes large.

Third, DAR/eDAR uses PINE (based on the Voronoi dia-gram) to do the KNN for the start and end nodes of eachsegment. However, when doing CKNN, DAR/eDAR discardsthe Voronoi diagram and adopts another method to detect splitnodes, while, in our proposed approach, we use the Voronoidiagram all the way through both the KNN and CKNN stages.Hence, the properties of the Voronoi diagram are used toenhance the CKNN process.

Last but not the least, both DAR/eDAR and IE cannot predictwhere split nodes will appear. In our proposed VCKNN, this isknown even before we reach the point, and also, VCKNN givesus the visibility of which interest point is moving out or into thelist and at which position the node will become a split node.

Our proposed VCKNN approach is based on the attributesof the Voronoi diagram itself and using a piecewise continuousfunction to express the distance change of each border point. Atthe same time, we use Dijkstra’s algorithm to expand the roadnetwork within the Voronoi polygon.

A. Comparison (VCKNN Versus DAR Versus IE)

VCKNN, DAR, and IE are all approaches for CKNN queries.However, VCKNN is different from DAR and IE in most as-pects. Therefore, before introducing our VCKNN algorithm, wewould like to highlight the main differences between VCKNN,DAR, and IE.

1) Path-Division Mechanism: For the same network con-nection, DAR and IE divide the query path into segments, asshown in Fig. 5, whereas VCKNN processes the path as shownin Fig. 6. Note that, in Fig. 5, for every intersection in the querypath, it becomes a segment. In this example, the query path isdivided into 18 segments, as there are as many intersectionsalong the query path.

In contrast, using the same query path, our approach hasonly five segments (see Fig. 6). The number of segments isdetermined by the number of Voronoi polygons. Even thoughthere are many intersections in each Voronoi polygon, ourmethod will process each Voronoi polygon as a unit, and hence,there is no need to check intersection by intersection.

Fig. 6. Segments using VCKNN.

TABLE IVCKNN VERSUS DAR VERSUS IE

2) KNN Processing: For each segment, DAR and IE useeither PINE or VN3 to perform KNN processing for the twoterminating nodes (e.g., start and end of the segment).

In contrast, VCKNN does not need any algorithm to do KNNon any point on the path. VCKNN finds KNNs level by level(from the first NN, then second NN, then third NN, and soon) for the entire query path. Hence, KNN results can easilybe visualized using VCKNN.

3) Sequence Finding of Split Nodes: DAR and IE use for-mulas to calculate the distance between two adjacent splitnodes. Subsequently, we find split nodes one by one. This alsomeans that we do not know the (k + 1)th split node until wefind the kth split node.

In contrast, VCKNN locates split nodes using query-pointmoving distance. For each interval, we identify the split nodesdirectly, which have the nearest distance between the querypoint and the intersected paths in the Voronoi polygon. Con-sequently, all split nodes are identified in one go.

4) Processing Split Nodes: DAR and IE compare the KNNresults of the two terminate nodes of each segment to find allsplit nodes within this segment.

On the other hand, VCKNN finds all split nodes top–downfrom first NN, then second NN, and so on. Table I summarizesthe differences between DAR, IE, and VCKNN.

B. VCKNN Algorithm

The benefits offered by the proposed VCKNN processing aresupported by the inherent proposition of the network Voronoidiagram, which are as follows.

ZHAO et al.: VORONOI-BASED CONTINUOUS k NEAREST NEIGHBOR SEARCH IN MOBILE NAVIGATION 2251

Proposition 1: The generator of the Voronoi polygon thatincludes the query point must be the nearest neighbor of thequery point.

Proof: It is self-evident because the polygon defines thearea where any point in this area is closer to the polygon’sgenerator than to other generators (refer to Property 2 listed inSection II-A). �

The split nodes in the network Voronoi diagram are deter-mined by the following lemmas, which are the bases of ourVCKNN algorithm. The first lemma is about the split nodes,whereas the second lemma is about KNN results.

Lemma 1: In VCKNN, all border points that intersect withthe query path and the generator edge are split nodes.

Proof: It is obvious that, when the query path reaches thegenerator edge, the first NN will change because the distanceto the shared edge generators is the same (refer to Property 2listed in Section II-A). �

Axiom: If the query path overlaps with the generator edgefor a while, the first point where they intersect will be a splitnode, and the last point where they no longer overlap will alsobe a split node.

Lemma 2: Suppose q’s KNN={P1, . . . , Pk}, the (k+1)thNN of q should be within the neighbor of {P1, . . . , Pk}.

Proof: According to the property of the Voronoi diagram,let G = {g1, . . . , gk} ∈ P be the set of the first k nearestgenerators of a location q inside V (g1); then, gk is among theadjacent generators of {G \ gk}. �

Before our VCKNN algorithm is shown in Fig. 7, we need todefine the following moving interval (ML).

Definition 1: ML is the interval between two split nodes, i.e.,ML is determined by two split nodes.

The location of the split node is marked by the query-pointmoving-out distance. For example, if ML is 0.7–3.0, whereby0.7 and 3.0 are two adjacent split nodes in the current split-nodelist, then 0.7 refers to the split node that is located at the pointwhere a query point moves out in a distance of 0.7. The sameis applied to 3.0, which is the split-node location away from thecurrent query point.

The proposed VCKNN algorithm is shown in Fig. 7. OurVCKNN algorithm is explained as follows.

Step 1: First NNUse the contain(q) function to get the Voronoi

polygon, which includes the query point. This poly-gon’s generator will be the first NN until it movesout from this polygon (according to Preposition 1).

Step 2: Split nodesThe intersections between the query path and

polygon borders are split nodes (refer to Lemma 1).Step 3: ML

ML will have segments within the Voronoi poly-gons, and the query path is divided into several MLs.For each ML, we do the following.

From the beginning point of the interval, expandthe road network to every border point of this poly-gon and record the distance. For each border point,monitor the change of the distance. Get the piece-wise function for each border point according to the

Fig. 7. Proposed VCKNN algorithm.

query point’s moving out distance, and then, a setof candidate interest points (CS) that contains alladjacent neighbors of the first NN is initialized.

Step 4: Candidate interest points (CS)For all interest points in CS, calculate its distance

to the beginning of the interval and generate thecorresponding lines and functions. Every time a lineis generated, put it into a chart where the x-axis isthe moving distance of the query point. The chartrecords all the changes of KNN. One thing thatshould be mentioned here is that, if one interestpoint has more than one border point in the currentpolygon, keep the one that has the shortest distance.

Step 5: Second NN and more split nodesAfter finishing all the interest points in CS, the

lowest line (the one closest to x-axis) will be thesecond NN, and the intersections of lines will bethe split nodes. These split nodes divide the currentinterval into multiple small ones. Then, add thesecond NN’s adjacent interest points into CS.

Step 6: k > 2If k > 2, then, for every new interval, do the

following: Remove the lowest lines from the chart inthis interval. For all interest points in CS, calculateits distance to the beginning of the interval andgenerate the corresponding line and functions. Everytime we generate a line, put it into the chart. Thelowest lines will be the next levels of NN. The new

2252 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 58, NO. 6, JUNE 2011

Fig. 8. Example of VCKNN.

split nodes are the intersections on the lowest lines,and the new intervals are generated by these splitnodes. Update CS by adding the new NN’s neighborinto CS. If the NN level is still less than k, do thisstep again until all KNNs have been found.

Step 7: Process termination conditionsFinally, after all Voronoi polygons where the

query path goes across have been checked andall split nodes have been found, the algorithmterminates.

C. Walkthrough Example of VCKNN

This section describes a walkthrough of the VCKNN process.It not only explains the VCKNN step by step but also comparesit with other works, including DAR and IE. We will list thepiecewise function and draw the line in the chart to make iteasy to understand. Fig. 8 shows an example. The query is tofind CKNN along the query path, shown as a thick black line,which starts from q and ends at P10. The borders of V (P1) andthe paths from P1 to the border points are also shown.

The first set of split nodes is the intersection nodes be-tween Voronoi polygons and the moving path. In this case,SplitNodes = {b2, b9, b10}. Refer to Lemma 1 on the splitnodes. Split node b2 is the border point between Voronoipolygons V (P1) and V (P2), split node b9 is the border pointbetween V (P2) and V (P3), and split node b10 is the borderpoint between V (P3) and V (P10).

Note that the first NN results are P1 with a range of distancefrom 0.0 and 5.0, P2 with a range of distance from 5.0 and 10.0,P3 with a range of distance from 10.0 and 13.0, and P10 with arange of distance 13.0 and 14.0. In short, we can write the firstNN results as something like:

1st NN = {P1(0.0−5.0), P2(5.0−10.0),P3(10.0−13.0), P10(13.0−14.0)} .

All ranges of distance are the distances from the startingquery point. This means that, when the query point q movesfrom 0.0 to 5.0, P1 is first NN, and when q moves from 5.0 to10.0, P2 will be the first NN, and so on.

Then, for V (P1), V (P2), V (P3), and V (P10), do the follow-ing steps. Take V (P1) as an example.

TABLE IIMOVEMENT OF EACH BORDER POINT IN P1

Fig. 9. Movement line of each border point in P1.

First, we need to set some initial values according to theVCKNN algorithm in Fig. 7: M = 1 as we have found the firstlevel of KNN, and CS = {P2, P3, P4, P5, P6, P7, P8}, whichare the adjacent nodes of V (P1).

Second, expand the query point q to every border point inthis polygon. With the movements of q, draw a line for everyborder point and get the piecewise function for each borderpoint. Table II shows the line along the movement of the querypoint. The first column is the moving distance from the currentlocation of query point q.

The corresponding chart (see Fig. 9) and the piecewisefunction (Fig. 10) are shown as follows. Note from Fig. 9 thatthe line for border point b2 goes down from 5 when the positionof q is 0 and to 0 when the position of q is around 5. Theopposite is the line for border point b5 where it goes up as qis moving from 0 to 5 (in this case, the line for b5 increasesfrom 1 to 6). These two lines mean that, when q moves, thedistance from q to b2 will be decreasing, and b2 is getting closerto q. The opposite is for b5, where q is actually moving awayfrom it.

The rest of the border points, such as b1, b3, b4, b7, and b8,are all getting closer to q when q moves from 0 to some pointsbefore 2, but then, they all increase after that. This indicatesthat, initially, the distance from q to these border points isdecreasing (the border points are getting closer to q), but later,it will be increased as q moves away from these border points.

ZHAO et al.: VORONOI-BASED CONTINUOUS k NEAREST NEIGHBOR SEARCH IN MOBILE NAVIGATION 2253

Fig. 10. Piecewise function of each border point in P1.

Fig. 11. Movement line of each interest point.

In terms of mathematical functions, these distance move-ments can be expressed in a piecewise function, as shown inFig. 10. Note that the functions for b2 and b5 are straightfunctions, whereas the rest have some conditions when toincrease and when to decrease.

Third, for each interest point, add its distance to the corre-sponding border into Table II and do the chart again (as shownin Fig. 11). Suppose that their distances to the borders are asfollows:

Distn(b1, P2) = 2.2 Distn(b2, P2) = 3.2

Distn(b3, P2) = 7.8 Distn(b3, P3) = 7.8

Distn(b3, P4) = 7.8 Distn(b4, P5) = 4.8

Distn(b5, P6) = 2.8 Distn(b7, P7) = 2.3

Distn(b8, P8) = 4.3.

Fig. 12. Second NNs.

Note that P2 is adjacent to b1, b2, and b3. Note also that theadjacent polygons of b3 are P2, P3, and P4. Others indicate thatb4 is adjacent with P5, b5 is adjacent with P6, b7 is adjacent withP7, and finally, b8 is adjacent with P8. Fig. 11 shows how eachinterest point from P2 to P8 is adjacent with the correspondingborder points. For example, the top line in Fig. 11 shows thedistance from q to P4, P3, and P2 (all through b3). The line, asexplained previously, shows that, initially, P4, P3, and P2 aregetting closer to q but are then getting farther.

In Fig. 12, we only focus on the bottom lines. The intersec-tions between all bottom lines are new split nodes. The firstintersection is between lines P6 and P7 at q = 1.0 (This isshown by the first vertical dotted line). The second intersectionis between lines P7 and P2 at q = 1.7 (shown by the secondvertical dotted line). The third intersection is between lines P2

(through border point b2) and P2 (through border point b1).Finally, the last intersection for this interval is the lowest pointof line P2 (through border point b2). Hence, we have four newsplit nodes for this interval.

The second NNs for this interval are P6, P7, P2 (through b1),and P2 again (but through b2). In summary, the second NNs forthe 0.0–5.0 interval are

2nd NN for 0.0−5.0 interval

= {P6(0.0−1.0), P7(1.0−1.7), P2(1.7−3.0), P2(3.0−5.0)} .

2254 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 58, NO. 6, JUNE 2011

Fig. 13. Third NNs.

This equation can be stated as follows.1) When q moves from 0.0 to 1.0, 2nd NN = P6.2) When q moves from 1.0 to 1.7, 2nd NN = P7.3) When q moves from 1.7 to 3.0, 2nd NN=P2 (through b1).4) When q moves from 3.0 to 5.0, 2nd NN=P2 (through b2).Fourth, after we get the second NNs, we update CS for every

interval of the new split nodes, i.e., intervals 0.0–1.0, 1.0–1.7,and 1.7–5.0. There is no need to split interval 1.7–5.0 into twointervals of 1.7–3.0 and 3.0–5.0, since the second NN for thisinterval is the same, i.e., P2.

For interval 0.0–1.0, CS ={P2, P3, P4, P5, P7, P8, P15, P16,P17, P18}, and 2nd NN={P6(0.0−1.0)}. This means that,when q moves from 0.0 to 1.0, P6 is the second NN.

For interval 1.0–1.7, CS = {P2, P3, P4, P5, P6, P8, P18},and 2nd NN = {P7(1.0−1.7)}. This means that, when q movesfrom 1.0 to 1.7, P7 is the second NN.

Moreover, for interval 1.7–5.0, CS ={P3, P4, P5, P6, P7,P8, P9, P10}, and 2nd NN = {P2(1.7−5.0)}. This means that,when q moves from 1.7 to 5.0, P2 is the second NN.

Fifth, if k > 2, for every interval listed previously, we needto process further. Note that the process is done iteratively froma larger interval to a smaller interval, until the smallest intervalcannot further be divided. To illustrate our example, we takethe 1.0–1.7 interval. This process can be thought of as using amagnifying glass on the 1.0–1.7 interval of the previous process(Fig. 12), and the result is shown in Fig. 13. We need to updatethe line in Fig. 13 for all interest points in CS.

Fig. 13 shows the 1.0–1.7 interval, where the lines are up-dated for all interest points in CS. CS for the 1.0–1.7 intervalis CS ={P2, P3, P4, P5, P6, P8, P18}, and the second NN forthis interval is P7. The adjacent nodes of P7 are P6, P18, andP8. Suppose that the distances between b7 and these adjacentnodes are

Distn(P6, b7) = 3Distn(P18, b7) = 5Distn(P8, b7) = 4.

Note that we only need to get the distance between borderpoint b7 and all adjacent polygons of the second NN which isP7, because border point b7 is the border between P7 and P1

(the Voronoi polygon of the query point).After calculating the aforementioned three distances, which

represent the three lines on the chart, we draw the three lineson the chart again. The split nodes are found at the interactionsof the bottom lines (refer to Fig. 13). As a result, the 1.0–1.7interval is now divided into two smaller intervals: 1.0–1.2 and1.2–1.7.

For interval 1.0–1.2, CS = {P2, P3, P4, P5, P8, P15, P16,P17, P18}, and 3rd NN = {P6(1.0−1.2)}. This means that,when q moves from 1.0 to 1.2, P6 is the third NN.

Moreover, for interval 1.2–1.7, CS ={P3, P4, P5, P8,P9, P18}, and 3rd NN = {P2(1.2−1.7)}. This means that,when q moves from 1.2 to 1.7, P2 is the third NN.

In summary, the third NNs for the 1.0–1.7 interval are

3rd NN for 1.0−1.7 interval ={P6(1.0−1.2), P2(1.2−1.7)}.

We need to do the same thing for the other two intervals ofthe second NN, which are 0.0–1.0 and 1.7–5.0. This is repeateduntil the desired k is achieved.

Finally, after the algorithm finishes, we can clearly see wherethe split nodes are and also every point on the query path; inother words, we can tell the KNN results straightaway, withoutprocessing KNN on every single split node like DAR and IE.

If we just look at the 1.0–1.2 interval, for the sake of anexample, if the query is 3NN, then the 3NN for this intervalis P1, P7, and P6. P1 will remain the first NN until distance 5.0(P1 actually starts becoming the first NN from distance 0.0),and P7 will remain the second NN until distance 1.7. Finally,P6 is only the third NN for this interval only (e.g., 1.0–1.2interval).

V. PERFORMANCE EVALUATION

The Melbourne city map and the Geelong map in Victoria,Australia, are chosen in the experiments from the Whereis web-site (http://www.whereis.com) [16] to represent high-densityand low-density scenarios of interest points. All interest points,network links, and intersect nodes are real-world data. Weanalyze the behavior of our approach in the aspects such assegment division in different paths or point-of-interest (POI)density by DAR/IE and VCKNN and runtime with variouslengths of paths and values of k.

ZHAO et al.: VORONOI-BASED CONTINUOUS k NEAREST NEIGHBOR SEARCH IN MOBILE NAVIGATION 2255

Fig. 14. Segments for different path densities.

Fig. 15. Segments for different POI densities.

A. Segment Division

First, we aim at finding the differences of the number ofsegments divided along the path in different path densities.The Melbourne city map is used to indicate high path density,in other words, more network intersections along the path(2.1 intersection/km). Correspondingly, the Geelong city mapis used to indicate low path density (1 intersection/km). Interestpoints are distributed at 10.93/km2 on two different maps.From Fig. 14, we can draw several conclusions: 1) A segmentincreases in a nearly linear trend; 2) in the VCKNN algorithm,paths are divided into the same segment no matter if the pathdensity is high or low; 3) the DAR/IE algorithm divides intomore segments in high path density than in low path density;and 4) VCKNN always generates less segments than DAR/IEno matter the path density.

Second, we aim at finding the differences of the numberof segments divided along the path in different POI densities.Restaurants in the Melbourne city map indicate high POIdensity (23/km2), whereas petrol stations indicate low POIdensity (1.8/km2). Path density is about 1.2 intersection/km.From Fig. 15, several conclusions can be listed as follows:1) In the VCKNN algorithm, more segments occur if the objectsof interest are distributed in high density than in low density;2) the DAR/IE algorithms remain the same no matter if thepoints of interest are in low or high density; and 3) VCKNNalways generates less segments than DAR/IE no matter thedensity of objects of interest.

Fig. 16. Runtime for high and low densities of interest points.

Fig. 17. Runtime for different query-path lengths.

B. Runtime

First, we report our experimentation results on the runtimeof different densities of points of interest. We use 20 pointsof interest to represent a low-density sample and 100 interestpoints to represent a high-density sample. Furthermore, we test20 different query positions to get the average runtime based onk from one to seven.

For the runtime factor, we can easily tell that, if k increases,runtime increases sharply, and in a high-density scenario, it iseven more time consuming. Fig. 16 shows the trend of thesetwo scenarios.

From Fig. 16, we can also conclude that the runtime increasessharply after k > 5. This is because too many operations onsmall intervals and too many operations and checking need tobe executed for the candidate interest points. The high densitywill do more looping, and the runtime consequently goes up.

Second, we aim at finding the differences of runtime betweenshorter and longer query paths. We put 50 interest points oneach map to compare the runtime. We choose 20 query paths(all equal to 20 km) to get the average runtime in the Melbournecity map based on k = 3. For these 20 moving paths, we recordthe runtime every time a query point moves 1 km and after aquery point moves 5 km. The shorter the distance that a querypoint travels as it moves out, the less time consumed as lesserpolygons are checked and less expansion is involved.

Fig. 17 shows the average runtime, and it can tell that the lineis nearly linear, which means that every part of the query path

2256 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 58, NO. 6, JUNE 2011

Fig. 18. Split nodes for high and low density of interest points.

is generally independent. With the increase of the query path’slength, the runtime will definitely increase.

C. Split-Node Number Between Different POI Densities

In this section, we use the same experimental conditions asthe previous ones to compare the split-node number in differentPOI densities. It is known that, normally, for the same map, ifthe interest-point density is low, the split nodes will be lesserthan the high-density one, because there is lesser chance thatanother interest point will be found.

From Fig. 18, because the density decides the polygon aver-age area, the same query path will go across fewer polygons inthe low-density map than in the high-density map. Therefore,when k = 1, the low-density performance is better than thehigh-density performance. However, we cannot conclude that,for the same k and query path, the low-density one has lessersplit nodes than that of high density. At the same time, wecan draw a conclusion that, for the same map and query path,split nodes will increase or decrease with k but the increasingamount is not constant.

VI. CONCLUSION AND FUTURE WORK

In this paper, we have presented a novel approach of Voronoi-based CKNN search based on network distance, which we callVCKNN. The basis of VCKNN is using network expansionwithin each polygon and drawing a line for every border point.VCKNN gives users the split nodes as k increases, and there isno need to perform KNN processing for any node on the path. Inaddition, VCKNN does not consider the segment between everyintersection. This feature improves the performance becausefinding split nodes segment by segment is not efficient, particu-larly if there are too many intersections on the query path.

We have performed several experiments to measure theperformance of VCKNN in different network conditions. Ingeneral, our algorithm performs better if the density is low,particularly in the segment-division mechanism. If the numberof interest objects is smaller than five, the performance isacceptable no matter how complex the road condition is. How-ever, as expected, if k is greater than five, the runtime increasessharply. Furthermore, the runtime is related to the length of thequery path and the polygon where it goes across. On average,a high density of interest points and more crossing polygons

will let the runtime and expansion step increase. If k is large,the runtime will increase sharply. When comparing VCKNNwith other approaches, we can conclude that the advantage ofVCKNN becomes obvious if the interest points are distributedwith high density.

In the future, using wireless networks and mobile devicesto deliver location-dependent and context-sensitive informationfor mobile users will be another hot issue in the mobile databasearea [17]–[19]. In addition, incorporating intelligent techniques[20] in mobile ecosystems and addressing various indexing[21], [22] and broadcasting schemes [23]–[25] for mobile queryprocessing is important to address the performance issues.

REFERENCES

[1] O. Bohl, S. Manouchehri, and U. Winand, “Mobile information systemsfor the private everyday life,” Mobile Inf. Syst., vol. 3, no. 3/4, pp. 135–152, Dec. 2007.

[2] K. Xuan, G. Zhao, D. Taniar, and B. Srinivasan, “Continuous range searchquery processing in mobile navigation,” in Proc. 14th IEEE Int. Conf.Parallel and Distrib. Syst., 2008, pp. 361–368.

[3] M. Kolahdouzan and C. Shahabi, “Voronoi-based K nearest neighborsearch for spatial network databases,” in Proc. VLDB Conf., Toronto, ON,Canada, 2004, pp. 840–851.

[4] N. Roussopoulos, S. Kelley, and F. Vincent, “Nearest neighbor queries,”in Proc. ACM SIGMOD, San Jose, CA, 1995, pp. 71–79.

[5] M. Safar, “K nearest neighbor search in navigation systems,” Mobile Inf.Syst., vol. 1, no. 3, pp. 207–224, Aug. 2005.

[6] K. L. Cheung and A. W. Fu, “Enhanced nearest neighbour search on theR-tree,” SIGMOD Rec., vol. 27, no. 3, pp. 16–21, Sep. 1998.

[7] G. Kollios, D. Gunopulos, and V. J. Tsotras, “Nearest neighbor queries ina mobile environment,” in Proc. Int. Workshop Spatio-Temporal DatabaseManage., 1999, pp. 119–134.

[8] H. J. Koskimaki, P. Laurinen, E. Haapalainen, L. Tuovinen, andJ. Roning, “Application of the extended knn method to resistance spotwelding process identification and the benefits of process information,”IEEE Trans. Ind. Electron., vol. 54, no. 5, pp. 2823–2830, Oct. 2007.

[9] M. Safar and D. Ebrahimi, “eDAR algorithm for continuous KNN queriesbased on pine,” Int. J. Inf. Technol. Web Eng., vol. 1, no. 4, pp. 1–21, 2006.

[10] M. Kolahdouzan and C. Shahabi, “Alternative solutions for continuous Knearest neighbour queries in spatial network databases,” Geoinformatica,vol. 9, no. 4, pp. 321–341, Dec. 2005.

[11] Y. Tao, D. Papadias, and Q. Shen, “Continuous nearest neighbor search,”in Proc. VLDB Conf., Hong Kong, 2002, pp. 507–518.

[12] M. L. Gavrilova and J. G. Rokne, “Updating the topology of the dynamicVoronoi diagram for spheres in Euclidean d-dimensional space,” Comput.Aided Geom. Des., vol. 20, no. 4, pp. 231–242, Jul. 2003.

[13] M. L. Gavrilova and J. G. Rokne, “Swap conditions for dynamic Voronoidiagrams for circles and line segments,” Comput. Aided Geom. Des.,vol. 16, no. 2, pp. 89–106, Feb. 1999.

[14] L. Vachhani and K. Sridharan, “Hardware-efficient prediction-correction-based generalized Voronoi diagram construction and FPGA implemen-tation,” IEEE Trans. Ind. Electron., vol. 55, no. 4, pp. 1558–1569,Apr. 2008.

[15] A. Okabe, B. Boots, K. Sugihara, and S. Nok Chiu, Spatial Tessellations:Concepts and Applications of Voronoi Diagrams, 2nd ed. Chichester,U.K.: Wiley, 2000.

[16] Telstra Corporation, 2008, whereis, Melbourne, viewed 10 June, 2008.[Online]. Available: http://www.whereis.com

[17] M. Aleksy, T. Butter, and M. Schader, “Architecture for the developmentof context-sensitive mobile applications,” Mobile Inf. Syst., vol. 4, no. 2,pp. 105–117, Apr. 2008.

[18] A. Doci and F. Xhafa, “WIT: A wireless integrated traffic model,” MobileInf. Syst., vol. 4, no. 3, pp. 219–235, Aug. 2008.

[19] G. Luo, G. Xiong, X. Wang, and Z. Xu, “Spatial data channel in amobile navigation system,” in Proc. ICCSA, vol. 3481, Lecture Notes inComputer Science, New York, 2005, pp. 822–831.

[20] J. Y. Goh and D. Taniar, “Mobile data mining by location dependencies,”in Proc. 5th Int. Conf. IDEAL, vol. 3177, Lecture Notes in ComputerScience, New York, 2004a, pp. 225–231.

[21] D. Taniar and J. W. Rahayu, “A taxonomy of indexing schemes for paralleldatabase systems,” Distrib. Parallel Databases, vol. 12, no. 1, pp. 73–106,Jul. 2002.

ZHAO et al.: VORONOI-BASED CONTINUOUS k NEAREST NEIGHBOR SEARCH IN MOBILE NAVIGATION 2257

[22] D. Taniar and J. W. Rahayu, “Global parallel index for multi-processorsdatabase systems,” Inf. Sci., vol. 165, no. 1/2, pp. 103–127, Sep. 2004.

[23] A. B. Waluyo, B. Srinivasan, and D. Taniar, “A taxonomy of broadcast in-dexing schemes for multi channel data dissemination in mobile database,”in Proc. 18th Int. Conf. Adv. Inf. Netw. Appl., 2004, pp. 213–218.

[24] A. B. Waluyo, B. Srinivasan, and D. Taniar, “Optimal broadcast channelfor data dissemination in mobile database environment,” in Proc. 5th Int.Workshop Adv. Parallel Program. Technol., New York, 2003, vol. 2834,pp. 655–664.

[25] A. B. Waluyo, B. Srinivasan, and D. Taniar, “Research in mobile data-base query optimization and processing,” Mobile Inf. Syst., vol. 1, no. 4,pp. 225–252, Dec. 2005.

Geng Zhao received the B.S. and M.S. degreesfrom Caulfield School of Information Technology,Monash University, Clayton, Australia, in 2007 and2008, respectively, where she is currently workingtoward the Ph.D. degree in Clayton School ofInformation Technology, Faculty of InformationTechnology.

Her research interests include mobile computingand spatial databases.

Kefeng Xuan received the B.S. and M.S. de-grees from the Faculty of Information Technology,Monash University, Clayton, Australia, in 2007 and2008, respectively, where he is currently workingtoward the Ph.D. degree in Clayton School of Infor-mation Technology.

His research interests include mobile computingand spatial databases.

Wenny Rahayu (M’00) received the Ph.D. de-gree in computer science from La Trobe University,Melbourne, Australia. Her Ph.D. thesis in the areaof object-relational databases was awarded the BestPh.D. Thesis 2001 by the Computer Science Associ-ation of Australia.

She is currently an Associate Professor with theDepartment of Computer Science and ComputerEngineering and the Head of the Data Engineeringand Knowledge Management Laboratory, La TrobeUniversity. Her research areas cover a wide range

of advanced database topics including XML databases, spatial and temporaldatabases and data warehousing, and semantic web and ontology.

David Taniar received the M.S. degree from Swin-burne University, Melbourne, Australia, in 1992,and the Ph.D. degree from Victoria University,Melbourne, in 1997, both in computer science.

He is currently an Associate Professor withClayton School of Information Technology, Facultyof Information Technology, Monash University,Clayton, Australia. His current research interestsinclude mobile/spatial databases, parallel/griddatabases, and Extensible Markup Languagedatabases. He recently released a book entitled

High Performance Parallel Database Processing and Grid Databases(New York: Wiley, 2008). His list of publications can be viewed atthe DBLP server (http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/t/Taniar:David.html). He is a founding Editor-in-Chief for the MobileInformation Systems, IOS Press, The Netherlands.

Maytham Safar (SM’08) received the Ph.D.degree in computer science from the University ofSouthern California, Los Angeles, in 2000.

He is currently an Associate Professor with theDepartment of Computer Engineering, Kuwait Uni-versity, Safat, Kuwait. His current research interestsinclude social networks, sensor networks, location-based services, image retrieval, and geographic in-formation systems. He has one book, three bookchapters, and over 65 conference/journal articles.

Dr. Safar is a Senior Member of the Associationof Computing Machinery. He is also a member of IEEE Standards Association,IEEE Computer Society, IEEE Geoscience and Remote Sensing Society, Inter-national Association for Development of the Information Society, InternationalOrganization for Information Integration, Web-based Applications and Services(@WAS), and International Network for Social Network Analysis.

Marina L. Gavrilova (M’03) received the M.Sc.degree from Lomonosov Moscow State University,Moscow, Russia, in 1993, and Ph.D. degree from theUniversity of Calgary, Calgary, AB, Canada, in 1999.

She is an Associate Professor with the Depart-ment of Computer Science, University of Calgary,Calgary, AB, Canada, where she is a Founder anda Codirector of two research laboratories: The Bio-metric Technologies Laboratory: Modeling and Sim-ulation and The SPARCS Laboratory for SpatialAnalysis Research in Computational Sciences. She

is an Editor-in-Chief for the LNCS Transactions on Computational ScienceJournal, Springer-Verlag and serves on the editorial board for the InternationalJournal of Computational Science and Engineering, CAD/CAM Journal, andInternational Journal of Biometrics. Her research interests lie in the area ofcomputational geometry, image processing, optimization, and spatial and bio-metric modeling. Her publication list includes over 90 journal and conferencepapers, edited special issues, books, and book chapters.

Prof. Gavrilova has been an ACM Senior Member since 2009.

Bala Srinivasan received the Bachelor of Engi-neering degree in electronics and communicationengineering (with honors and a gold medal) fromGuindy Engineering College, University of Madras,Chennai, India, and the Master’s and Ph.D. degreesin computer science from the Indian Institute ofTechnology, Kanpur, India.

He is a Professor of information technology andthe Head of Clayton School of Information Tech-nology, Faculty of Information Technology, MonashUniversity, Clayton, Australia. He has authored and

jointly edited six technical books and authored and coauthored more than 150international refereed publications in journals and conferences in the areasof multimedia databases, data communications, data mining, and distributedsystems.

Prof. Srinivasan is a founding Chairman of the Australasian DatabaseConference. He was the recipient of the Monash Vice-Chancellor medal forpostgraduate supervision.