2. privacy conscious location-based queries in mobile environments


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

2. privacy conscious location-based queries in mobile environments

  1. 1. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 1 Privacy-Conscious Location-Based Queries in Mobile Environments Jianliang Xu, Senior Member, IEEE, Jing Du, Xueyan Tang, Member, IEEE, and Haibo Hu Abstract— In location-based services, users with location-awaremobile devices are able to make queries about their surroundings aanywhere and at any time. While this ubiquitous computing cparadigm brings great convenience for information access, it also b lraises concerns over potential intrusion into user location privacy.To protect location privacy, one typical approach is to cloak R euser locations into spatial regions based on user-specified pri- dvacy requirements, and to transform location-based queries intoregion-based queries. In this paper, we identify and address three (a) Location cloaking (b) Isolated cloakingnew issues concerning this location cloaking approach. First, westudy the representation of cloaking regions and show that a Fig. 1. Dynamic Location Cloakingcircular region generally leads to a small result size for region-based queries. Second, we develop a mobility-aware location Location cloaking is one typical approach to protectingcloaking technique to resist trace analysis attacks. Two cloaking user location privacy in LBS [13], [14], [15], [26]. Uponalgorithms, namely MaxAccu Cloak and MinComm Cloak, are receiving a location-based spatial query (e.g., a range querydesigned based on different performance objectives. Finally, we or a kNN query) from the user, the system cloaks the user’sdevelop an efficient polynomial algorithm for evaluating circular- current location into a cloaking region based on the user’sregion-based kNN queries. Two query processing modes, namelybulk and progressive, are presented to return query results either privacy requirement. The location-based spatial query is thusall at once or in an incremental manner. Experimental results transformed into a region-based spatial query before beingshow that our proposed mobility-aware cloaking algorithms sent to the LBS server. The LBS server then evaluates thesignificantly improve the quality of location cloaking in terms region-based query and returns a result superset, which con-of an entropy measure without compromising much on query tains the query results for all possible location points in thelatency or communication cost. Moreover, the progressive queryprocessing mode achieves a shorter response time than the cloaking region. Finally, the system refines the result supersetbulk mode by parallelizing the query evaluation and result to generate the exact results for the query location. Figure 1atransmission. shows a sample NN query. Instead of providing the exact location l, the system submits a cloaking region R to the LBSIndex Terms: Location-based services, location privacy, queryprocessing, mobile computing. server, which then returns the set of objects {b, c, d} that are the nearest neighbors of at least one point in R. Finally, among {b, c, d}, the system finds out the true nearest neighbor b of I. I NTRODUCTION query location l. Throughout this query processing procedure, Location-based services (LBS) are emerging as a major the LBS server knows only the region R in which the userapplication of mobile geospatial technologies [7], [21], [23], is located, not the exact location l. In the literature, a variety[35]. In LBS, users with location-aware mobile devices are of cloaking algorithms based on snapshot user locations haveable to make queries about their surroundings anywhere and at been developed for different privacy metrics (e.g., [13], [14],any time. Spatial range queries and k-nearest-neighbor (kNN) [24], [26]).queries are two types of the most commonly used queries in In this paper, we identify and address three new issuesLBS. For example, a user can make a range query to find out concerning the location cloaking approach. We first show thatall shopping centers within a certain distance of her current the representation of a cloaking region has an impact on thelocation, or make a kNN query to find out the k nearest gas result superset size of the region-based query. In general, astations. In these queries, the user has to provide the LBS small result superset is preferred for saving the cost of dataserver with her current location. But the disclosure of location transmission and reducing the workload of the result refine-information to the server raises privacy concerns, which have ment process (especially if this process is implemented onhampered the widespread use of LBS [18], [19], [30]. Thus, the mobile client). We find that, given a privacy requirement,how to provision location-based services while protecting user representing the cloaking region with a circle generally leadslocation privacy has recently become a hot research topic [6], to a smaller result superset than using other shapes.[13], [15], [24], [25], [26]. Second, we consider the location cloaking problem for continuous LBS queries. In such scenarios, trace analysis Jianliang Xu, Jing Du, and Haibo Hu are with the Department of Computer attacks are possible by linking historical cloaking regions withScience, Hong Kong Baptist University, Kowloon Tong, Hong Kong. XueyanTang is with the School of Computer Engineering, Nanyang Technological user mobility patterns. Assume that in our previous example,University, Nanyang Avenue, Singapore 639798. the user issues a second query at location l′ with a cloaking
  2. 2. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 2region R′ (see Figure 1b). If the LBS server somehow learns II. R ELATED W ORKthe user’s maximum possible moving speed vm , the server candraw a region Re (the shaded area in Figure 1b) expanded Location Privacy Protection. There are two main approachesfrom the last cloaking region R based on vm and the interval to protecting location privacy in LBS. The first approach reliest between the two queries. The server is then able to infer that on a trusted LBS server to restrict access to location data basedthe user must be located in the intersection area of Re and R′ , on rule-based policies [10], [11], [36]. The second category ofwhich degrades the quality of location cloaking and may fail to approaches run a trustworthy agent between the client and themeet the expected privacy requirement. The cloaking quality LBS server. Every time the user makes a location-based query,will further deteriorate with the analysis of more successive the agent anonymizes the user identity and/or location beforequeries and cloaking regions. To address this issue, we develop forwarding the query to the LBS server [5], [13], [26]. Oura mobility-aware location cloaking technique that resists trace study falls into the second category.analysis attacks. Given that the server observes a cloaking Early studies on location privacy protection considered ob-region together with any series of historical cloaking regions, ject tracking applications, where a proxy server is employed toour proposed technique makes equal the derivable probability collect exact locations from moving clients and to anonymizethat the user will be located at any one point within the location data through de-personalization before release. In [5],cloaking region. To achieve this, we leverage the probability once a client enters a pre-defined zone, its identity is mixedtheory to control the generation of cloaking regions and with all other clients in the same zone. It appears that thisdesign two cloaking algorithms, namely MaxAccu Cloak and idea can be extended to deal with trace analysis attacks byMinComm Cloak, based on different performance objectives. associating each LBS request with a different pseudonym.MaxAccu Cloak is designed to maximize the accuracy of query Unfortunately, this approach may not be effective becauseresults, while MinComm Cloak attempts to reduce the network historical user locations are highly correlative and, hence, theycommunication cost. could be re-linked using trajectory tracking methods (e.g., multi-target tracking [27], [32]) even without knowing any Finally, we investigate how to evaluate efficiently circular- identity [34].region-based spatial queries on the LBS server. While theevaluation of circular-region-based range queries is straight- Gruteser and Grunwald [13] proposed to achieve identityforward, we develop an efficient O(kM 3 ) algorithm for eval- anonymity in LBS by spatio-temporal cloaking based on auating circular-region-based kNN queries, where M is the k-anonymity model, that is, the cloaked location is madecardinality of the spatial object set. In addition, we present two indistinguishable from the location information of at leastquery processing modes, namely bulk and progressive, which k − 1 other users. To perform the spatial cloaking, they used areturn query results either all at once or in an incremental Quad-tree-like algorithm. Gedik and Liu [14], [15] extendedmanner. this to a personalized k-anonymity model, in which users can specify the parameter k at a per-message level. They We conduct simulation experiments to evaluate the perfor- also developed a new cloaking algorithm called CliqueCloak.mance of the proposed location cloaking and query processing While the above cloaking algorithms need a centralized agentalgorithms. The results show that the proposed mobility-aware to perform location cloaking, Chow et al. [8] proposed a peer-cloaking algorithms outperform an isolated cloaking algorithm to-peer cloaking algorithm based on information exchangesby up to 34% in terms of an entropy measure of cloaking among mobile clients. Ghinita et al. [12] proposed a newquality, without compromising much on query latency or location cloaking algorithm called hilbASR, in which all usercommunication cost (sometimes performing even better). Re- locations are sorted and grouped by Hilbert space-filling curvegarding the end-to-end system performance, MaxAccu Cloak ordering. They also applied this algorithm to a distributed envi-results in a very high query accuracy, while MinComm Cloak ronment based on an annotated B+-tree index. In [3], Bettiniachieves a good balance between communication cost and et al. presented a framework to model various backgroundquery accuracy. When the result superset size is small, the bulk attacks in LBS and discussed defense techniques to guaranteeand progressive modes of query progressing perform similarly. users’ anonymity. The PrivacyGrid framework [2] investigatedFor large result sets that require a long time to evaluate location cloaking based on an l-diversity model. But unlikeand transmit, the progressive mode achieves a shorter user- most existing cloaking algorithms, which considered snapshotperceived response time than the bulk mode by parallelizing user locations only, in this paper we investigate the locationthe query evaluation and result transmission. cloaking problem for continuous LBS queries. In particular, we The rest of this paper is organized as follows. Section II focus on trace analysis attacks and propose a new mobility-surveys the related work on location privacy protection and aware cloaking technique to resist them.spatial query processing. Section III gives an overview of our More recently, Xu and Cai [34] developed a trajectorysystem model and location privacy metrics. Section IV studies cloaking algorithm that aims to reduce the cloaking area andthe representation of cloaking regions, followed by Section V, the frequency of location updates. The idea is to use histor-which presents the mobility-aware location cloaking algo- ical user locations as footprints in performing k-anonymityrithms. The processing of circular-region-based queries is dis- cloaking. To make this idea work, a user needs to provide thecussed in Section VI. Section VII experimentally evaluates the location cloaking agent with a future movement trajectory forproposed location cloaking and query processing algorithms. each LBS request. In contrast, our proposed mobility-awareFinally, Section VIII concludes this paper. cloaking technique does not require future locations for any
  3. 3. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 3LBS request. We aim to prevent an adversary from utilizinghistorical cloaking regions to degrade the quality of currentlocation cloaking.Spatial Query Processing. A large body of research has in-vestigated spatial query processing, in particular kNN search.Most kNN search algorithms have focused on disk accessmethods based on R-tree-like index structures [16]. Thebranch-and-bound approach is often employed in query eval- Fig. 2. System Architectureuation to traverse the index and prune search space. Variousquery evaluation algorithms differ in terms of the visiting order clients are interested in querying public spatial objects (e.g.,of index nodes and the metric used to prune search space [17], hotels, restaurants, gas stations, etc.) related to their current[28], [33]. Whereas the previous studies investigated the kNN locations.1 We consider two types of location-based spatialproblem for a location point or a line segment only, our recent queries. A range query, specified with the user’s currentwork has developed an evaluation strategy for rectangular- location l and a distance dr , retrieves all the objects lying inregion-based kNN queries that retrieve the k-nearest neighbors the circle centered at l with radius dr . A kNN query, specifiedof all possible location points in a rectangular region [20]. We with the user’s current location l and a parameter k, retrievesremark that the strategy developed in [20] is based on the the k nearest objects to l.fact that a rectangle can be decomposed into a set of straight- Figure 2 illustrates the procedure for processing a location-line segments. But because such decomposition is infeasible based query. After the user issues such a query, the mobilefor a circle, the strategy of [20] cannot be extended to client sends the query Q = {l, q}, where l is the currentevaluate circular-region-based kNN queries. In another related location and q includes other query parameter(s), to a locationwork [6], Cheng et al. developed algorithms for evaluating cloaking agent. The cloaking agent then cloaks the locationprobabilistic queries over imprecise object locations. In con- l into a region R (l ∈ R) based on the user’s privacytrast, we are interested in using imprecise locations to retrieve requirement, and forwards the modified query Q′ = {R, q}result supersets for region-based spatial queries. to the LBS server. The LBS server evaluates Q′ and returns the result of Q′ to the cloaking agent. Since the result of Q′ Parallel to our work, Mokbel et al. [26] and Kalnis et is a superset of the result of Q, the cloaking agent refines theal. [24] have investigated both the location cloaking and query result of Q′ to obtain the exact result of Q and finally returnsprocessing problems. But our work differs from theirs in it to the mobile client. In this procedure, we focus on twoseveral respects. First, like other previous studies [13], [14], performance objectives: (1) to optimize the quality of location[15], the location cloaking algorithms in [24] and [26] account cloaking with respect to trace analysis attacks while satisfyingfor snapshot user locations only. Neither of them considers the user-specified privacy requirement, and (2) to make the sizecontinuous queries and trace analysis attacks. In contrast, we of the result of Q′ as small as possible for saving the cost offocus on how to protect against trace analysis attacks for data transmission and the workload of the cloaking agent incontinuous queries through location cloaking. Second, [24] downloading and refining it.and [26] did not study the issue of how to represent a cloaking We remark that in the system architecture, the locationregion. In this paper, we show that a circular cloaking region cloaking agent runs between the mobile client and the LBSgenerally leads to a small result superset size, and thus we server. It may be implemented on an Internet-resident proxyfocus on query processing algorithms for circular regions. or incorporated into the mobile client. These two solutionsFinally, [26] investigated bulk query processing for rectangular have different performance tradeoffs. The first proxy-basedregions only. Though [24] developed a bulk processing algo- solution greatly alleviates the workload of the mobile client byrithm for circular-region-based kNN queries, the algorithm has delegating the tasks of location cloaking and result refinementan exponential time complexity of O(M k ), where M is the to the resource-richer proxy. But implementing the proxy-cardinality of the spatial object set. In this paper, we propose based solution is not cost free. First, the connection betweena polynomial O(kM 3 ) algorithm for circular-region-based the mobile client and the proxy has to be secured to preventkNN queries. Furthermore, we develop a novel progressive disclosure of location data over the network transmission (e.g.,query processing algorithm, which is favorable to slow mobile by applying proper encryption and authentication protocols),networks. which incurs extra processing overhead at the mobile client. These measures are not needed in the second client-based III. S YSTEM M ODEL AND P RIVACY M ETRICS solution. Second, since the proxy owns the private informationA. System Model about mobile users (including their privacy preferences as well as current and historical locations), more security risks This section describes the system model under our study. would be introduced owing to the presence of the proxy. TheWe consider mobile clients that are equipped with wireless proxy can become a new target of attacks and a potentialinterfaces to communicate with the Internet. We assume thatmobile clients are location-aware, that is, they are able to 1 It is noted that “objects” and “mobile users” are different concepts in thisposition their locations at any time (e.g., using GPS or other paper: “objects” refer to spatial objects (such as hotels and restaurants) to beclient-based positioning techniques [31]). The users of mobile queried by LBS requests made by “mobile users.”
  4. 4. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 4performance bottleneck. A system administrator can determinewhere to implement the location cloaking agent by taking intoconsideration the bandwidth budget, client capabilities, andsecurity requirements. Yet, regardless of which solution the system adopts, thefollowing issues arising from the location cloaking approachdeserve our investigation: (1) how to represent cloaking re-gions in terms of shape such that the result size of theregion-based query Q′ is minimized (Section IV); (2) how to Fig. 3. Proof of Theorem 1effectively perform location cloaking on the location cloakingagent so that the cloaking quality is optimized against trace dkNNanalysis attacks (Section V); and (3) how to efficiently evaluateregion-based spatial queries (on the LBS server) to reduce the rquery response time (Section VI). It is worth noting that thetechniques proposed in this paper are beneficial to both proxy-based and client-based solutions.B. Privacy Metrics (a) Convex Region (b) Circular Region We employ an intuitive privacy metric for location Fig. 4. Solution Space of a Region-based kNN Queryanonymity, that is, the area of the cloaking region (or briefly,the cloaking area). A user can specifies a minimum acceptablecloaking area for each query. For example, a user can set Proof: Obviously any object inside R is the NN of thethe minimum acceptable cloaking area to one square mile. same point it occupies. Next, we use a proof-by-contradictionTo consider resistance to trace analysis attacks, the quality of approach to show that if an object outside R is the i-th NNlocation cloaking is measured by entropy, a well-known metric (i ≤ k) of a point inside R, this object must be in the iNNfor quantifying the amount of uncertainty in information results (and hence the kNN results) of some point on thetheory [1]. Suppose it can be derived that the probability perimeter of R.density function for the user to be at location l in cloaking As shown in Figure 3, suppose that object a is the i-th NNregion R is p(l), the entropy is then defined by of point p inside R. Assume on the contrary that a is not in the iNN results of any point on the perimeter of R. Consider − p(l) ln p(l) dl. (1) the intersecting point p′ of the segment pa and the perimeter l∈R of R. It follows that a is not in the iNN results of p′ . Thus, the Given a cloaking region, entropy will be zero if it is derived iNN results of p′ and p overlap by at most i − 1 objects. Asthat the user is at some location with 100% probability. a result, there must exist an object b in the iNN results of p′Entropy will increase if the user location is more uncertain, that is not in the iNN results of p. This implies |p′ b| ≤ |p′ a|.and will be maximized when the derivable probability for the Thus, we have |pb| < |p′ b| + |pp′ | ≤ |p′ a| + |pp′ | = |pa|.user to be at any location in the region is equal. This means that b is closer to p than a, which contradicts the hypothesis that a is the i-th NN of p, and that b is not in the IV. R EPRESENTATION OF C LOAKING R EGIONS iNN results of p. Hence, the theorem is proven. In this section, we study the representation of cloaking To simplify our analysis, we follow the previous work of [4],regions. Given a cloaking area, we are interested in finding out [33] and assume that the spatial objects to be queried arehow to represent the cloaking region in terms of shape such uniformly distributed in the search space. Denote by ρ thethat the result size of the region-based query is minimized. It object density. According to [4], [33], the average distanceis worth noting that the representation of a cloaking region between a query point and its k-th NN is given byis independent of the issue of maximizing entropy in locationcloaking. For any cloaking region of a given area, irrespective k dkN N = . (2)of its shape, entropy is maximized when the derivable proba- πρbility for the user to be at any location in the region is uniform Following Theorem 1, the solution space for a region-basedacross that region. kNN query can be approximated by the area extended from Consider a region-based kNN query that retrieves the k the query region by a distance of dkN N (see the shaded areasnearest neighbors of all the points in the region. The following in Figure 4).2 Thus, we estimate the size of the kNN resultstheorem shows that the result of a region-based kNN query |RkN N | by the number of objects lying in the approximatedshould include all objects in the region as well as the kNNs solution space. Let A and P respectively be the area and theof the points on the perimeter of the region. perimeter length of the query region. For a general convex Theorem 1: An object o is in the kNN results of region Rif and only if: i) o ∈ R, or ii) o is in the kNN results of some 2 Note that this is neither a necessary nor a sufficient condition for an objectpoint on the perimeter of R. to be part of the kNN results.
  5. 5. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 5region (Figure 4a), we obtain 1 2 |RkN N | ≈ (A + P · dkN N + θi d )·ρ i 2 kN N kρ = A·ρ+P · + k. (3) π Similarly, for a region-based range query, we can estimatethe size of its query results as (a) Uniform Dataset |Rrange | = (A + P · dr + πd2 ) · ρ, r (4)where dr is the radius of the query range. Theorem 2: Comparing different region shapes of the samearea A, a circle gives the smallest value for both |RkN N | and|Rrange | in Eqs. (3) and (4).Proof: Given the same value of area A, from Eq. (3) (or (4)),the relative value of |RkN N | (or |Rrange |) is determined bythe perimeter length P . It is well known that a circle (seeFigure 4b) has the shortest perimeter under a fixed area. (b) California Dataset Theorem 2 implies that given a cloaking area, a circular Fig. 5. Size of the kNN Resultsregion is expected to give the smallest result set for both such that the cloaking quality (in terms of entropy as defined inrange and kNN queries under a uniform distribution of spatial Eq. (1)) is maximized, that is, given that the server observes aobjects. Figure 5a compares the result sizes obtained by using cloaking region together with any series of historical cloakingboth the circular and square cloaking regions of area 10−5 for regions, the derivable probability for the user to be located atkNN queries on a dataset containing 300,000 objects randomly any point in the cloaking region should be equal.distributed in a unit space. The simulation results in Figure 5aare the average of 1,000 random queries on the dataset;3 the A. Problem Formulationanalytical results are computed using Eq. (3). It can be seenthat the analytical results well match the simulation results, We consider a general user mobility pattern that is knownand the average result size given by a circular cloaking region to the mobile client. We assume, in the worst case, that theis less than that given by a square region of the same area. adversary also knows the user mobility pattern and thus has theWe also compare circular and square cloaking regions for a potential to conduct trace analysis attacks. The user mobilityreal California dataset where the objects are not uniformly pattern may be built by the adversary based on traces (of non-distributed (see Section VII for more details about this dataset). privacy-conscious users of the same type) [37] or mobilityAs shown in Figure 5b, a circular cloaking region again leads scenarios (e.g., the random walk model is good to model theto a smaller result size than a square cloaking region. Thus, in mobility pattern of pedestrians in small-scale urban areas) [22].the rest of this paper we will use circles to represent cloaking Denote by O the center of the old cloaking region producedregions. for the last query (with a radius of r = Amin /π). Let u(x) be the probability density function of the new user location V. M OBILITY-AWARE L OCATION C LOAKING being distance x away from O at the time of the new query, assuming that the user location is uniformly distributed in the We now study how to generate circular cloaking regions old cloaking region. It follows thatbased on privacy requirements. Under isolated cloaking, for Deach query with a cloaking area requirement Amin , a circle u(x)dx = 1, (5)with radius Amin /π covering the user location l is randomly 0generated to serve as the cloaking region. But this scheme where D is the farthest possible distance that the user canis vulnerable to trace analysis attacks. As discussed in the travel since the last query, D = min{y | u(x) = 0, ∀x ≥ y}.Introduction, by correlating the query trace and the mobilitypattern, the LBS server (adversary) is likely to derive the yprobabilities of user locations in the cloaking region. Thisleads to a significant degradation of the quality of location O z O′cloaking. In this section, we develop an optimal mobility-aware cloaking technique that works as follows. For the first old cloaking region new cloaking regionquery, a random cloaking region is generated. For each sub- Fig. 6. Old and New Cloaking Regionssequent query, we control the generation of cloaking regions Assume that the user is currently distance y away from O 3 To allow for fair comparison, both the circular and square cloaking regions (see Fig. 6). Denote by O′ the center of the new cloakingare formed with the query point at the centroid. region and z the distance between O′ and O. Define p(z|y) as
  6. 6. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 6the probability density function of z given y. In order for the ynew cloaking region to cover the user, O′ must be within a O O z O zdistance of r from the user’s current location. Thus, we have y z y α O′ r O′ O′ r min{D−r,y+r} r p(z|y)dz = 1. (6) max{0,y−r} Essentially, the location cloaking is to determine the p(z|y) (a) (b) (c)function with the objective of maximizing entropy, i.e., the Fig. 8. z<ruser is equally likely to be at any point in the new cloaking p(z|y) and q(y|z) can be established by the Bayes’ rule, thatregion. To mathematically characterize this objective, we de- is,fine q(y|z) as the probability density function of the new user p(z|y) · u(y)location being distance y away from the old center O given q(y|z) = min{R−r,x+r} . (9)that the center O′ of the new region is distance z away from max{0,x−r} p(z|x) · u(x)dxO. Since the user is equally likely to be at any point in the We will discuss how to solve p(z|y) from Eqs. (6), (7), (8),cloaking region, q(y|z) is proportional to the length of the arc and (9) in the next subsection.(centered at O and with radius y) overlapping with the new We remark that in our approach, only the last cloakingcloaking region (as indicated by the bold arc in Figure 7b; region is needed to generate a new maximum-entropy cloakinghereafter referred to as the overlapping arc length). Below we region. The following theorem shows the correctness of thisanalyze the value of q(y|z) under maximum-entropy cloaking: approach. • Assume z ≥ r. In Figure 7a (i.e., 0 ≤ y ≤ z − r) and Theorem 3: Given that the server observes the new cloaking Figure 7c (i.e., z +r ≤ y), the overlapping arc length is 0. region and all old cloaking regions, the user is equally likely In Figure 7b (i.e., z − r ≤ y ≤ z + r), the overlapping arc to be at any point in the new cloaking region. 2 2 2 length is 2αy = 2 · arccos y +z −r · y. Therefore, after 2yz Proof: Denote by (xn , yn ) the user’s location and Gn the normalizing to the integration over all possible y values cloaking region at the time of the n-th query. Define p(xn , yn ) within the conditioned range in which q(y|z) is not zero, as the probability density function of the user being at location we obtain (xn , yn ) in region Gn . We prove the claim by induction: given  Ê 2 2 2  2·arccos y +z −r ·y that the server observes G1 through Gn , for any two points   z+r 2yz 2 +z 2 −r 2 q(y|z) = z−r 2·arccos y 2yz ·ydy (7) n n ′ (xn , yn ), (x′ , yn ) in Gn , p(xn , yn ) = p(x′ , yn ). ′ if z − r ≤ y ≤ z + r, ′ ′   First, it is obvious that p(x1 , y1 ) = p(x1 , y1 ) for n = 1  0 otherwise. since the first cloaking region is randomly generated. Next, we assume that the claim holds for some n (n ≥ 1). 1 Then, p(xn , yn ) is a constant πr2 . We are going to prove that y the claim also holds for n + 1. Given G1 through Gn+1 , for any two points (xn+1 , yn+1 ), (x′ , yn+1 ) in Gn+1 , we have n+1 ′ O O O y α y p(xn+1 , yn+1 ) z z z r r r = p((xn+1 , yn+1 ), (xn , yn )) dxn dyn O′ O′ O′ Gn = p((xn+1 , yn+1 )|(xn , yn )) · p(xn , yn ) dxn dyn (a) (b) (c) GnFig. 7. z≥r 1 = p((xn+1 , yn+1 )|(xn , yn )) · dxn dyn . (10) • Assume z < r. In Figure 8a (i.e., 0 ≤ y ≤ r − z), the Gn πr2 overlapping arc length is 2πy. In Figure 8b (i.e., r − z ≤ Satisfying Eqs. (7) and (8), our cloaking approach ensures y ≤ z + r), the overlapping arc length is 2αy = 2 · 2 2 2 1 arccos y +z −r · y. In Figure 8c (i.e., z + r ≤ y), the 2yz p((xn+1 , yn+1 )|(xn , yn )) · 2 dxn dyn overlapping arc length is 0. Therefore, after normalization Gn πr we obtain 1 = p((x′ , yn+1 )|(xn , yn )) · 2 dxn dyn . ′ Ê  2πy n+1 πr  Gn  2 2 2  π(r−z)2 + r−z 2·arccos y +z −r ·ydy z+r   2yz Therefore, Eq. (10) can be rewritten as   if 0 ≤ y ≤ r − z,  p(xn+1 , yn+1 ) Ê y 2 +z 2 −r 2 q(y|z) = 2·arccos 2yz ·y (8)  2 2 2 1  2·arccos y +z −r p((x′ , yn+1 )|(xn , yn )) · ′ 2 z+r   π(r−z) + r−z 2yz ·ydy = n+1 dxn dyn   if r − z ≤ y ≤ z + r, Gn πr2   0 otherwise. = p((x′ , yn+1 ), (xn , yn )) dxn dyn ′ n+1 Gn Having known q(y|z) as in Eqs. (7) and (8) under = p(x′ , yn+1 ). n+1 ′maximum-entropy cloaking, our problem becomes to deter-mine p(z|y) given q(y|z). Note that the relation between Hence, the theorem follows.
  7. 7. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 7B. Problem Discretization are listed as a matrix in Figure 10. The sum of each row in the min{L−K+1,i+K−1} Now what we are left is to solve p(z|y) from Eqs. (6), (7), matrix equals 1, i.e., j=max{1,i−K+1} P (j|i) = 1. After(8), and (9). Unfortunately, a closed-form solution is difficult discretization, our problem becomes to determine the P (j|i)to obtain. In this section, we present a discretization-based function given Q(i|j) as in Eqs. (11) and (12).numerical method. We divide the plane into a set of rings of Following the Bayes’ rule, for any i and j,sufficiently small width ∆. The rings are centered at O. As Q(i|j)shown in Figure 9, ring 1 is enclosed by a circle centered at P (j|i) = · (P (j|m) · U (m)). U (i) mO with a radius of ∆, i.e., ring 1 contains all points that arewithin distance ∆ from O. For each i > 1, ring i is enclosed Let vj = m (P (j|m) · U (m)). Thus, we haveby two circles centered at O with radii of (i − 1)∆ and i∆ Q(i|j)respectively, i.e., ring i includes all points that are (i − 1)∆ P (j|i) = · vj . (13)to i∆ away from O. U (i) The matrix we want to compute can be rewritten as shown in Figure 11. Our problem further becomes to find v1 , v2 , · · · , vL−K+1 such that the sum of each row in the matrix equals 1: O ∆ ∆ ∆ ∆ ∆  min{L−K+1,i+K−1} 1 2 3 4 5  j=max{1,i−K+1}  P (j|i) min{L−K+1,i+K−1} Q(i|j) (14)  = j=max{1,i−K+1}  U (i) vj = 1, 1 ≤ i ≤ L, vj ≥ 0, 1 ≤ j ≤ L − K + 1. C. Practical Cloaking AlgorithmsFig. 9. A Set of Rings The linear equation set (14) does not always have a feasible Without loss of generality, we assume that the radius of a solution since the number of equations (L) is more than theregion r = K∆, and the farthest possible distance that the number of variables (L − K + 1). Thus, we have to relax someuser can travel since the last query D = L∆, where K and of the constraints. To this end, we allow the sum of each rowL are integers. Based on the assumption of mobility pattern, in the matrix to be less than 1, i.e., user locations may not bethe probability U (i) of the new user location being in ring i cloaked for some queries. Thus, the set of linear equations is i∆is given by U (i) = (i−1)∆ u(x)dx, and it follows that relaxed to min{L−K+1,i+K−1} Q(i|j) U (1) + U (2) + · · · + U (L) = 1. j=max{1,i−K+1} U (i) vj ≤ 1, 1 ≤ i ≤ L, (15) vj ≥ 0, 1 ≤ j ≤ L − K + 1. We define Q(i|j) as the probability of the new user locationbeing in ring i given that the center of the new region is in To protect location privacy, the queries whose locations arering j. For ring i, we use the average radius of two enclosing not cloaked will be blocked and are not sent to the LBS server.circles (i.e., (i∆ + (i − 1)∆)/2 = (i − 1/2)∆) to approximate To answer blocked queries, we propose to cache the last resultits distance to O. Thus, following (7) and (8), Q(i|j) should superset for potential reuse. Note that the amount of cachesatisfy the following. If j ≥ K, memory needed is minimal since only the result superset for  (i− 1 )2 +(j− 1 )2 −K 2 the last query is cached. In fact, if a new query is issued from 2 2 1  arccos ·(i− 2 ) È   2(i− 1 )(j− 1 ) 2 2 ring i ≤ K (i.e., from the old cloaking region; called inner  j+K−1 (m− 1 )2 +(j− 1 )2 −K 2Q(i|j) = m=j−K+1 arccos 2 2 2(m− 1 )(j− 1 ) 1 ·(m− 2 ) (11) query), we should block it in order to save communication cost 2 2   if j − K + 1 ≤ i ≤ j + K − 1, as the precise results can be computed from the cached last   0 otherwise. result superset. Thus, all the inner queries are blocked, except those sent to the server to achieve optimal cloaking. On the If j < K, other hand, if a query issued from ring i > K (called outerQ(i|j) = query) is blocked, the client might obtain an inaccurate query  result based on the cached last result superset and, hence, È È 1  π(i− 2 )  K−j  (m− 1 )2 +(j− 1 )2 −K 2 the accuracy of query results might be sacrificed. Therefore,  m=1 π(m− 1 )+ m=K−j+1 arccos  j+K−1 2 2 1 ·(m− 2 )   2 2(m− 1 )(j− 1 ) 2 2 we formulate two linear programs with different objective   if 1 ≤ i ≤ K − j,   functions: (i− 1 )2 +(j− 1 )2 −K 2 arccos 2 2 ·(i− 1 ) (12) È È 2(i− 1 )(j− 1 ) 2   2 2 MaxAccu Cloak:  K−j π(m− 1 )+ j+K−1 arccos (m− 2 )2 +(j− 1 )1 −K 2 ·(m− 1 )  m=1 1 2 2   2 m=K−j+1 2(m− 1 )(j− ) 2 L min{L−K+1,i+K−1} Q(i|j)  2 2 minimize (1 − i=K+1 j=max{1,i−K+1}   if K − j + 1 ≤ i ≤ j + K − 1, U (i) vj )(16)   0 otherwise. MinComm Cloak: What we want to find out is P (j|i) — the probability of the L min{L−K+1,i+K−1} Q(i|j) minimize (1 − i=K+1 j=max{1,i−K+1} U (i) vj )center of the new region being in ring j given that the new user K min{L−K+1,i+K−1} Q(i|j)location is in ring i. Following (6), the definable probabilities −(1 − i=1 j=max{1,i−K+1} U (i) vj ) (17)
  8. 8. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 8Fig. 10. Probability Matrix (showing the upper-left corner and lower-right corner only)Fig. 11. Rewritten Probability Matrix (showing the upper-left corner and lower-right corner only) The first objective function MaxAccu Cloak attempts to Algorithm 1 Overview of Mobility-Aware Location Cloakingminimize the outer query blocking probability for i = K + Input: mobility pattern U (·), old cloaking region centered at1, K + 2, · · · , L, thereby maximizing the query accuracy. In O, new user location in ring icontrast, the second MinComm Cloak trades query accuracy Output: the center of the new cloaking regionfor communication cost. It also aims to maximize the inner Procedure:query blocking probability for i = 1, 2, · · · , K to increase the 1: compute Q(i|j)’s using Eqs. (11) and (12)result reuse rate and save remote queries. The performance 2: construct a linear program formed by Eqs. (15) and (16)of these two cloaking algorithms will be evaluated by experi- (for MaxAccu Cloak), or Eqs. (15) and (17) (for Min-ments in Section VII-C. Comm Cloak), depending on the performance objective On solving the linear program and obtaining 3: solve the linear program to get vj ’sv1 , v2 , · · · , vL−K+1 , we can compute P (j|i)’s using 4: compute P (j|i)’s using Eq. (13)Eq. (13). Then, given a new query with user location in 5: determine whether the query is blocked based on thering i, the query has a probability of (1 − j P (j|i)) to be probability of (1 − j P (j|i))blocked. If the query is not blocked, the distance between 6: if the query is not blocked thenthe new cloaking region and the old cloaking region can be 7: generate the distance of the new cloaking region fromrandomly generated based on the probabilities of P (j|i)’s. O by following P (j|i)’sGiven the distance, the center of the new cloaking region can 8: randomly generate the center of the new region on thebe randomly generated on the corresponding arc. A summary corresponding arcof the optimal mobile-aware cloaking technique is describedin Algorithm 1. VI. R EGION - BASED Q UERY P ROCESSING kCRNN query include all the objects in the circular region and This section discusses how to process circular-region-based the kNNs of the points on the perimeter of the circle (denotedqueries on the server side. The evaluation of a region-based by Ω).range query is straightforward since it is still a range query In the following, we propose two kCRNN processing al-(with an extended range), which simply retrieves all the objects gorithms: a bulk algorithm that generates the query resultswithin the spatial range. Thus, we focus on the evaluation of all at once at the end of query evaluation and a progressivecircular-region-based kNN queries (hereafter called kCRNN algorithm that produces the results incrementally during queryqueries) in this section. Following Theorem 1, the results of a evaluation.
  9. 9. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 9A. Bulk Query Processing of kCRNN Denote the set of spatial objects by {p1 , p2 , · · · , pM }. Thebasic idea is to scan the objects one by one, and during eachscan we maintain the set of arcs on Ω for each object to whichthis object is the 1st, 2nd, · · · , and k-th NN. The exampleshown in Figure 12a is used to illustrate the idea for a 2CRNNquery. Suppose that there are three objects p1 , p2 , and p3 .Initially p1 is the 1st NN to the circumference Ω. Then, p2 isscanned, and the perpendicular bisector of p1 and p2 splits Ωinto arcs α and β. As a result, p2 takes over p1 to be the 1stNN to β — p1 is the 1st NN to α and the 2nd NN to β; p2is the 1st NN to β and the 2nd NN to α. Next, p3 is scannedand we check it against p1 and p2 . The perpendicular bisectors (a) Query Processingfurther split α into α1 , α2 , and α3 , and split β into β1 , β2 ,and β3 . Now p3 takes over p1 to be the 1st NN for α3 andthe 2nd NN for β2 ; p3 takes over p2 to be the 2nd NN for α2 2r p2 p3and the 1st NN for β1 . In general, when object pi is scanned, p1initially we assume that pi is farther away from any arc thanany candidate kCRNN result. Afterwards, we check pi against Ωeach pj in the candidate kCRNN result set. Given a pj , theperpendicular bisector of pj and pi splits the existing arcs attwo points at most. For each of the arcs located on the pi side m _N _ s ax k N di tof the perpendicular bisector, pj moves backward in the kNN (b) Stop Conditionlist (e.g., the 2nd NN becomes the 3rd NN), while pi advancesin the kNN list (e.g., the 3rd NN becomes the 2nd NN). After Fig. 12. Finding kCRNN Resultseach scan, those objects which have at least one l-th-NN arc Algorithm 2, where the data structure F(pi , ab) maintains the(l ≤ k) constitute the candidate set of kCRNN results; andif the order of some object p to an arc exceeds k, this arc is order of object pi to arc ab. We call it a bulk algorithm as allremoved for p. The algorithm works by scanning the entire the candidate kCRNN results are finalized at the end of queryset of objects to obtain the final kCRNN results of Ω. Recall evaluation.that the results of a kCRNN query also include all the objects We now analyze the complexity of Algorithm 2. Given ain the circular region. Thus, when scanning the objects, the kCRNN query with M objects, the while loop iterates throughalgorithm also checks whether they are in the circular region at most M scans. Since each scan increases the number ofand if so, includes them in the final kCRNN results. arcs by 2M in the worst case, the total number of arcs for all candidate kCRNN results is bounded by O(M 2 ). Each arc can Furthermore, in order to speed up the convergence of the appear in the arc sets of at most k objects. Thus, the worst-kCRNN candidate set, we sort the objects and apply a heuristic case storage complexity is O(kM 2 ). For the time complexity,(Heuristic 1) to scan the objects closest to Ω first because they each F(pj , ab) entry may be updated at most M times, once inare most likely to appear in the final kCRNN results. each scan. Hence, the worst-case time complexity is O(kM 3 ). Heuristic 1: The objects are sorted and scanned in the Nevertheless, in practice the cost would be far less because theincreasing order of their minimum distances to Ω. And those candidate set of kCRNN results is normally not large and theobjects whose minimum distances to Ω are 2r (r is the radius scanning may terminate early with the stop condition proposedof Ω) farther than the k-th NN of some arc are removed from in Heuristic 1.scanning. The second statement of Heuristic 1 sets a stop conditionfor the scan, because those objects that are 2r farther from Ω B. Progressive Query Processing of kCRNNthan the current k-th NN of some arc must be farther away The bulk query processing algorithm generates the kCRNNfrom any arc of Ω than the current kNNs of this arc. This results at the end of query evaluation. Therefore, the servercan be explained in Figure 12b for a 3CRNN query. For the cannot start transmitting the results to the client until the endmoment, p1 , p2 , and p3 are the 3NNs of an arc of Ω and p1 is of query evaluation. We now propose an alternative progressivethe third NN. The minimum distance from p1 to Ω, denoted query processing algorithm to parallelize the query evaluationby max kN N dist, is used to prune faraway objects in future and result transmission.search. More specifically, if any object is 2r+max kN N dist The idea is to determine whether an object will be aaway from any point on Ω (i.e., outside the outermost circle final kCRNN result earlier. The query progressing procedurein Figure 12b), the object does not need to be scanned since remains the same as in Algorithm 2 except that i) any object init must be farther away from any arc of Ω than p1 , p2 , and in circle results is immediately returned to the client whenp3 . it is scanned, and ii) after the scan of each object, we add a The complete query processing algorithm is described in checking procedure (see Algorithm 3). We randomly pick an
  10. 10. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 10Algorithm 2 Bulk Query Processing of kCRNN Algorithm 3 Checking Procedure in Progressive Query Pro- Input: query circle Ω with radius r, spatial object set S cessing of kCRNN Output: the kCRNN results of Ω Input: F(pi , ab) entries, the queue of unscanned objects Procedure: Output: the kNN results of a check point 1: enqueue the objects in S into a priority queue in increasing Procedure: // this procedure is added to between lines order of their (minimum) distances to Ω (denoted by // 17 and 18 of Algorithm 2 minDist(pi , Ω)) 1: randomly select an unchecked split point s as the check 2: dequeue the first object p1 point 3: F(p1 , Ω) := 1 // F(pi , ab) maintains the order of pi to ab 2: retrieve the tentative kNN results of s: {p | F(p, ab) ≤ 4: cand kCRN N results := {p1 } k, s ∈ ab} 5: max kN N dist := ∞ 3: current kN N distance := distance of the current k-th 6: dequeue the next object pi NN 7: while minDist(pi , Ω) < 2r + max kN N dist do 4: dequeue the next object pi 8: if pi is inside Ω then 5: while minDist(pi , Ω) < current kN N distance do 9: in circle results := in circle results ∪ pi 6: if Dist(pi , s) < current kN N distance then10: initialize F(pi , ab) := |cand kCRN N results| + 1 7: update the tentative kNN results for any arc ab // initially assuming pi is farther 8: update current kN N distance // than any candidate kCRNN result 9: dequeue the next object pi11: for each object pj in cand kCRN N result do 10: return the final kNN results if not yet12: split existing arcs by ⊥pi pj — the perpendicular bisector of pi and pj Parameter Setting13: for any arc ab located on pi side of ⊥pi pj do kNN Query (k) 514: if entry F(pj , ab) exists then F(pj , ab)++ Query Interval (I) 4 min // move pj backward in the kNN list Privacy Requirement (r) 0.001 Spatial Object Set Size 2,249,727 objects15: F(pi , ab)−− // move pi forward in the kNN list Object Record Size 1 kb16: let S be the set of scanned objects including pi ; Query Size 20 bytes cand kCRN N results := Data Transfer Rate 114 kbps {p | p ∈ S, ∃ an arc ab, F(p, ab) ≤ k} TABLE I17: remove F() entries with F(p, ab) > k for p ∈ S D EFAULT PARAMETER S ETTINGS18: max kN N dist := min{max kN N dist, min{minDist(p, Ω) | p is the k-th NN of arc ab}} ∀ab agent were implemented on an O2 Xda Atom Exec PDA with19: dequeue the next object pi Intel PXA 27x 520 MHz Processor and 64 MB RAM. The20: return in circle results∪cand kN N results as the final PDA supports GSM/GPRS/EGDE and WiFi communications. results The LBS server was implemented on a Redhat 7.3 Linux server with Intel Xeon 2.80 GHz processor and 2 GB RAM. We assume that the client and the server communicate throughunchecked split point on Ω as the check point, and go through a wireless network at a data transfer rate of 114 kbps.the list of unscanned objects to compute its full kNN results. If The spatial object set used in the experiments containsany of the kNN results has not been returned to the client, it is 2,249,727 objects representing the centroids of the streetoutput for immediate transmission. For our running example segments in California [29]. We normalize the data space to ashown in Figure 12a, after scanning p2 , we may select s1 unit space and index the spatial objects by an R-tree (with aas the check point. We then compute s1 ’s 2NN results as p1 page fanout of 200 and a page occupancy of 70%) [16]. Theand p2 and return them immediately. Compared to the bulk size of an object record is set at 1 kb. To process a kCRNNquery processing, since the checking procedure here incurs query of a circle Ω, we first use our previously developed disk-extra overhead, the overall query processing time would be in- based access method [20] to retrieve the kNN results for thecreased. Nevertheless, the worst-case time complexity remains minimum bounding rectangle of Ω. By definition, this set ofO(kM 3 ) since the checking procedure adds a complexity of kNN results is a superset of Ω’s kCRNN results. The kCRNNO(kM 2 ) only. On the other hand, the progressive algorithm processing algorithms developed in Section VI are then appliedcan start returning the kCRNN results earlier and, hence, likely on this superset to get the kCRNN results of Ω.to result in a shorter user-perceived response time, as will be We simulate a well-known random walk model [22], indemonstrated in Section VII-D. which the user moves in steps. In each step, the user selects a speed and travels along an arbitrary direction for a duration VII. P ERFORMANCE E VALUATION of 2 min. We test two speed settings: 1) constant speed:A. Experiment Setup the moving speed is fixed at 0.0003 /min; 2) random speed: We have developed a testbed [9] to evaluate the performance for each step, a speed is randomly selected from a range ofof the proposed location cloaking and query processing algo- [0.0001 /min, 0.0005 /min]. By default, the random speedrithms. The client-side query interface and location cloaking setting is adopted. The user makes privacy-conscious kNN
  11. 11. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 11queries from time to time. The query interval I is set at 4 C. Comparison of Mobility-Aware Cloaking Algorithmsmin by default. The user specifies the privacy requirement This section compares the two cloaking algorithms devel-by a radius r (i.e., the minimum acceptable cloaking area oped in Section V based on the optimal cloaking technique,is πr2 ), with a default setting of 0.001. The size of a kNN namely MaxAccu Cloak (abbreviated as MaxAccu) and Min-query message is set at 20 bytes. For the numerical method Comm Cloak (abbreviated as MinComm). Recall that Max-of optimal location cloaking, ∆ is set at 0.0001, and the Accu aims at a higher query accuracy by minimizing theSimplex algorithm is employed to solve the linear program. outer query blocking probability while MinComm attemptsThe default parameter settings are summarized in Table I. The to achieve a balance between communication cost and queryexperimental results reported below are averaged over 1,000 accuracy by maximizing the inner query blocking probabilityrandomly generated queries. at the same time. As shown in Figure 15a, MaxAccu has an outer queryB. Effectiveness of Mobility-Aware Cloaking blocking probability of zero. Hence, its query results are 100% accurate as shown in Figure 15b. In contrast, MinComm has In this section, we compare the proposed optimal mobility- an outer query blocking probability of about 15%. For thoseaware cloaking technique (Algorithm 1) against the isolated blocked outer queries, approximate results are obtained basedcloaking scheme (described at the beginning of Section V). on cached result supersets. Figure 15b shows that the averageFor both the optimal and isolated cloaking techniques, initially error (measured by the ratio of the distance of an approximatea cloaking region is randomly generated based on the user kNN result to the actual kNN distance) is pretty small. In thelocation. In other words, the user is equally likely to be at any worst case, the approximate kNN distance is no more than 2.3location in the cloaking region. We measure the quality of the times of the actual distance.cloaking region for a subsequent query in terms of entropy Figure 15a also shows that MinComm has a much higherbased on 1,500 sample locations and 1,000 random queries. inner query blocking probability than MaxAccu. Recall thatAs shown in Figures 13a and 13b, when the query interval inner queries are sent to the server for evaluation merelyis small (i.e., 1 min), the entropy of isolated cloaking is for the purpose of optimal cloaking. They do not affectnearly 20% lower than that of optimal cloaking for all queries query accuracy but communication cost. With more queriestested. With increasing query interval, the average entropy of (including both inner and outer queries) being blocked, theisolated cloaking improves (see Figure 13c) but is still far communication cost incurred by MinComm is about half thatlower than that of optimal cloaking. When the query interval of MaxAccu (see Figure 15c).is 8 min, Figure 13a and 13b show that the entropy of isolatedcloaking is 40% lower than that of optimal cloaking for over15% of the queries tested and 20% lower for over 40% of D. Comparison of kCRNN Query Processing Algorithmsthe queries tested. Note that the results shown here are for In this section, we evaluate the performance of the bulk andone successive query only. With more successive queries, the progressive kCRNN query processing algorithms developedquality of isolated cloaking would further degrade. in Section VI. Figure 16 shows the user-perceived response To highlight the benefit of achieving higher entropy, we time for both algorithms. When k or r is small, the bulk andconduct two possible attacks. Recall that through trace analysis progressive algorithms perform similarly. However, when kattacks, the LBS server can derive the probabilities of the or r is large, the progressive algorithm clearly outperformsuser being at different locations in a cloaking region. The the bulk algorithm. To explain, we show in Figures 17a andfirst attack attempts to limit the possible user location to a 17b the timeline performance of two sample queries withsub-region with 95% confidence. The second attack calculates r=0.25×10−3 and r=4×10−3 , respectively. For the query withthe highest aggregate probability for any sub-region with size r=0.25×10−3 (Figure 17a), both the bulk and progressiveequal to 5% of the cloaking region. Figures 14a and 14b algorithms took a short time to process. Thus, parallelizingshow the results when the number of cloaking regions used in the query evaluation and result transmission does not help atrace analysis attacks is increased from 1 to 10. We can see lot in user-perceived response time. On the other hand, whenfrom the results that our optimal cloaking is robust against r=4×10−3 (Figure 17b), the result superset size is large andthe attacks: for example, with the first attack (Figure 14a), the the query requires a long time (over 1000 ms) to evaluate; thensub-region size is as large as 95% of the cloaking region since by returning the kCRNN results incrementally, the progressivethe derivable probability for the user to be at any location is algorithm completes the result transmission earlier.uniform across the region. In contrast, with the same levelof confidence, the sub-region size under isolated cloakingcould be much smaller due to a skewed probability distribution E. End-to-End System Performance(see Figure 14c for a sample distribution we observed in the This section evaluates the end-to-end system performance.experiment). Similarly, with the second attack (Figure 14b), In this set of experiments, we used the progressive kCRNNunder isolated cloaking, the server would be able to derive query processing. In addition to the MaxAccu and MinCommthe probability for the user to be in a sub-region of 5% size cloaking algorithms, the existing isolated cloaking method isof the cloaking region with a confidence of 16%-99%. The also included for comparison. For all the cloaking algorithms,confidence for the same sub-region is only 5% under optimal the inner queries (i.e., the queries inside the last cloaking re-cloaking. gion) reuse cached result supersets and compute their answers
  12. 12. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 12 10 Isolated (Constant Speed) Isolated (Random Speed) Average Entropy 8 Optimal 6 4 2 0 1 2 4 8 Query Interval (min) (a) Percentile Entropy (Constant Speed) (b) Percentile Entropy (Random Speed) (c) Average EntropyFig. 13. Performance of Cloaking Quality (Entropy) 100% 100% Optimal Aggregate Confidence 80% 80% Isolated (I=8min) Optimal % Cloaking Region Isolated (I=4min) Isolated (I=8min) Isolated (I=2min) 60% Isolated (I=4min) 60% Isolated (I=1min) Isolated (I=2min) Isolated (I=1min) 40% 40% 20% 20% 0% 0% 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 # Historical Queries # Historical Queries (a) First Attack (5% Confidence) (b) Second Attack (5% Region) (c) A Probability Distribution of Isolated CloakingFig. 14. Trace Analysis Attacks (a) Query Blocking Probability (b) Query Accuracy (c) Communication CostFig. 15. Performance Comparison of Cloaking Algorithms (a) Varying k (r = 0.001) (b) Varying Region Size (k = 5)Fig. 16. Performance Comparison of kCRNN Query Processing Algorithmsimmediately. The inner queries are not sent to the server by results based on cached result supersets.default. However, with MaxAccu and MinComm, some of Figures 18a and 18b show the average end-to-end querythem might need to be sent to the server to achieve optimal latency, which is defined as the period from the time whencloaking, depending on the inner query blocking probability. the user issues a location-based query to the time when theMoreover, as discussed before, the blocked outer queries for exact query results are obtained. It can be seen that MinCommMaxAccu and MinComm compute their approximate kNN outperforms MaxAccu in all cases tested. This is explained as
  13. 13. IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 3,Mar. 2010 13 50 Bulk 10 Bulk #Objects Sent by Server #Objects Sent by Server Progressive Progressive 40 8 6 30 4 20 2 10 0 0 0 200 400 600 800 0 1000 2000 3000 4000 Time (ms) Time (ms) (a) k = 5, r = 0.25 × 10−3 (b) k = 5, r = 4 × 10−3Fig. 17. Timeline Performance (a) Varying k (r = 1 × 10−3 ) (b) Varying Region Size (k=5) (c) Latency Breakdown (k = 5, r = 1 × 10−3 ) (d) Result Reuse Rate (k=5)Fig. 18. End-to-End Latency Performance (a) Varying k (r = 1 × 10−3 ) (b) Varying Region Size (k=5)Fig. 19. Network Traffic Performancefollows. As shown in Figure 18c, the query evaluation and the value of k (see Figure 18a).result transmission time dominates the overall query latency. Figures 19a and 19b show the average amount of networkSince MinComm has a higher outer query blocking rate and traffic incurred for each query, which is a good indicator ofhence a higher result reuse rate (Figure 18d), it results in a energy consumption on the client. The less is the networklower average query latency. For the same reason, MinComm traffic, the lower is the energy consumption. As expected,outperforms Isolated when the region size is small (see Fig- MinComm incurs less network traffic than MaxAccu due toure 18b). When the region size is large, Isolated performs a higher query blocking rate. Both MaxAccu and MinCommbetter than both MaxAccu and MinComm due to a higher are competitive compared to Isolated; in particular MinCommresult reuse rate. Their relative performance is insensitive to outperforms Isolated for most cases tested. Summarizing the