• 沒有找到結果。

行動同儕網路中連續性空間查詢暨隱私議題之研究

N/A
N/A
Protected

Academic year: 2021

Share "行動同儕網路中連續性空間查詢暨隱私議題之研究"

Copied!
46
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 成果報告

行動同儕網路中連續性空間查詢暨隱私議題之研究 研究成果報告(精簡版)

計 畫 類 別 : 個別型

計 畫 編 號 : NSC 100-2221-E-011-078-

執 行 期 間 : 100 年 08 月 01 日至 101 年 07 月 31 日 執 行 單 位 : 國立臺灣科技大學資訊工程系

計 畫 主 持 人 : 邱舉明

計畫參與人員: 碩士班研究生-兼任助理人員:黃鈴雅 碩士班研究生-兼任助理人員:何豫雯 碩士班研究生-兼任助理人員:李漢強 碩士班研究生-兼任助理人員:黃惠苓 碩士班研究生-兼任助理人員:IBNU FEBRY 博士班研究生-兼任助理人員:楊凱婷 博士班研究生-兼任助理人員:洪祥仁 博士班研究生-兼任助理人員:BAGUS JATI

報 告 附 件 : 出席國際會議研究心得報告及發表論文

公 開 資 訊 : 本計畫可公開查詢

中 華 民 國 101 年 09 月 28 日

(2)

中 文 摘 要 : 本計畫為一年期計畫,計畫目的是針對以行動同儕網路為基 礎的連續性空間資料查詢服務議題,包括連續範圍查詢與連 續 k 個最近鄰居查詢等議題,做一整體且深入的了解,進而 研發高效率的行動網路資料連續查詢服務機制,並進行詳細 的效能與成本評估。整體研究中,亦配合無線網路的各種特 性,使所發展的機制能貼近實際的無線行動同儕網路環境。

隨著無線通訊與定位(positioning)技術的進步,行動系統除 了提供無線通訊的功能外,又開展出許多不同的應用領域,

其中最熱門的,莫過於以使用者位置為基礎的服務

(location-based service, LBS)。以位置為基礎的服務指的 是,提供與使用者位置相關的及時資訊,以滿足使用者的需 求;其中,空間查詢(spatial query)更是息息相關的服務項 目。

本計畫成果,即以兩類最熱門的查詢為主:連續範圍與連續 k 個最近鄰居查詢,提出有效降低通訊成本與高效能的分散 式查詢協定。所提出的協定,皆含有兩項基本關鍵機制:自 身位置利用、資訊合作分享。行動同儕網路節點彼此會互相 幫助監視連續的空間查詢,以確保查詢結果的正確性。而在 監視連續空間查詢時,同儕節點首先會利用自己本身的位置 資訊,來計算自己對於查詢者可能造成的影響;而在不影響 查詢結果正確性的前提下,盡量減少封包的傳輸。此外,藉 由同儕節點與中繼節點間的資訊合作共享,可進一步將網路 通訊量再予以降低。所提出之機制,亦藉由詳細的正確性驗 證與完整模擬呈現其效能。

總和上述的研究項目,連續 k 個最近鄰居查詢的研究成果已 發表在國際會議上,而連續範圍查詢之成果已投稿至學術期 刊,計畫的整體目標已達成。

中文關鍵詞: 連續 k 個最近鄰居查詢,連續範圍查詢,連續性空間查詢,

行動同儕網路。

英 文 摘 要 : The objective of this one-year project is to

investigate spatial query issues, in particular the subject of continuous range query and continuous k nearest neighbor (kNN) query in a mobile P2P network.

We design mechanisms that make nodes help monitor continuous queries and efficiently curtail

communication cost. We also carry out detailed

performance analysis and correctness verification for the proposed protocols. Moreover, the dynamics of the wireless networks has been taken into consideration to ensure practicality of the proposed techniques.

(3)

The rapid advancement of positioning technologies and wireless communication has made many mobile services a reality. Among them, location-based services (LBS) are the most commonly used ones. Spatial queries that request for information related to the position of a user have been highly demanded in such networks. The kNN query and range query are two of the most-

mentioned services in this respect. Mechanisms designed for such services are often constrained by limited resources available in the networks.

In this project, we address issues related to

continuous spatial queries in a MP2P environment. We propose two protocols to tackle continuous kNN query and continuous range query problems, respectively.

There are two main techniques proposed in our protocols: location awareness and update

collaboration. When monitoring a continuous query, a mobile node utilizes its own location to reduce the need of location update, and further prolongs its safe period with respect to the query issuer.

Furthermore, nodes collaborate to share location information about the query issuer, thereby cutting communication traffic in the network. The cost of processing a continuous query is taken as a

performance metric in our research.

Research result of the continuous kNN query has been presented in an international conference, and the result of continuous range query had submitted for possible journal publication.

英文關鍵詞: Continuous k nearest neighbor query, continuous range query, continuous spatial query, mobile peer-to-peer network.

(4)

NSC 100-2221-E-011-078

100 8 1 101 7 31

BAGUS JATI SANTOSO IBNU FEBRY KURNIAWAN

( )

101 07 31

(5)

I

... 1

... 2

... 3

... 3

... 5

5.1

k

... 6

5.2 ... 10

... 12

... 12

... 13

... 15

International Conference on Mobile Communications, Networking and Applications Loco-cKNN: An Extended Safe Time based cKNN Query Protocol in MP2P Networks ... 21

(6)

1

A Study of Continuous Spatial Queries and Privacy Issues in MP2P Networks NSC 100-2221-E-011-078

100 8 1 101 7 31 Email [email protected]

: BAGUS JATI SANTOSO IBNU FEBRY KURNIAWAN

k

(positioning)

(location-based service, LBS)

(spatial query)

k

k

k

Abstract:

The objective of this one-year project is to investigate spatial query issues, in particular the subject of continuous range query and continuous k nearest neighbor (kNN) query in a mobile P2P network. We design mechanisms that make nodes help monitor continuous queries and efficiently curtail communication cost. We also carry out detailed performance analysis and correctness verification for the proposed protocols. Moreover, the dynamics of the wireless networks has been taken into consideration to ensure practicality of the proposed techniques.

The rapid advancement of positioning technologies and wireless communication has made many mobile services a reality. Among them, location-based services (LBS) are the most commonly used ones. Spatial queries that request for information related to the position of a user have been highly demanded in such networks. The kNN query and range query are two of the most-mentioned services in this respect. Mechanisms designed for such services are often constrained by limited resources available in the networks.

In this project, we address issues related to continuous spatial queries in a MP2P environment. We propose two protocols to tackle continuous kNN query and continuous range query problems, respectively. There are two main techniques proposed in our protocols:

location awareness and update collaboration.

When monitoring a continuous query, a mobile node utilizes its own location to reduce the need

(7)

2

of location update, and further prolongs its safe period with respect to the query issuer.

Furthermore, nodes collaborate to share location information about the query issuer, thereby cutting communication traffic in the network.

The cost of processing a continuous query is taken as a performance metric in our research.

Research result of the continuous kNN query has been presented in an international conference, and the result of continuous range query had submitted for possible journal publication.

Keywords: Continuous k nearest neighbor

query, continuous range query, continuous spatial query, mobile peer-to-peer network.

[27][28][30]

(Global Positioning System, GPS)

(location-based service, LBS)[17]

(spatial query)

(nearest-neighbor query) ( )

k

(k-nearest

neighbor query or kNN) (range query)

(window query)

(skyline query)

(GIS)

1980

( )

(continuous spatial query)

(8)

3

(infrastructure-based mobile network)

( access point base station)

(Mobile Peer-to-Peer Network or MP2P)

802.11 Wi-fi[28]

Wi-fi Direct[29]

(bandwidth) (energy)

(1)

(2)

(continuous moving range query, cMRQ)

k

(continuous k nearest neighbor query, ckNN)

1.

2.

3.

4.

5.

1980

R-tree, R*-tree [1][7][8] [18]

Roussopoulos branch-and-bound depth-first

R-tree

(continuous monitoring of

(9)

4

spatial queries) [25]

(validity region)

(safe zone) [2]

(guard objects)

Voronoi [20][26]

[26] (NN)

R-tree Voronoi

Voronoi

(1NN) (kNN)

Voronoi

[20]

Voronoi

[18] kNN

R-tree

TPR-tree[19] TPR*-tree[21]

STRIPES [15]

dual transformed space

[14][16][24] [16] Prabhakar Q-index VCI

(continuous range query) Q-index R-tree

[24] grid indices

kNN [14]

Mokbel SINA

[9]

(safe zone)

[12]

[6] MobiEyes

[6]

[22] kNN

[22] disMKNN

kNN

k

f

CD kNN CD

base station bs1, bs2 bs4

kNN critical object

(10)

5

critical object MKNN

[4][11]

[4]

ExtRange

extended range safe period ( ) er (extended range) r (query range)

er

safe period (SP)

t0 qo

er oi

qo SP

[t0, t0 + SP) oi

qo t0

qo (r,er] [t0, t0 + SP) (r,er)

t0 qo r

SP oi

oi

oi oi

qo er

SP SP

qo

[11] Kim

ckNN safe

time safe

time [4] safe period safe time

safe time ring broadcast

k k+1

k k+1

[13] Liu

kNN (road networks)

QoS(quality of service) Chow [3]

Galdames [5]

(grid)

(continuous spatial query)

k

(continuous k nearest neighbor

query, ckNN) (continuous

(11)

6

moving range query, cMRQ)

(location

awareness) (update

collaboration)

k

5.1 k

k

location awareness update collaboration

5.1.1

(MP2P)

IEEE 802.11

(moving objects) (GPS)

MaxSpeed (maximum

speed)

O = {o

1

,

o

2

,…, o

n

}

(stationary

queries) Q = {q1

, q

2

,…, q

3

}

k

(set)

k = 5

o1

o2

q

1

Q dst(p

i

, p

j

)

p

i

p

j

(Euclidean distance)

o

it1

o

i

t

1

q

j

1,

t

i j

dst o q t

1

o

i

q

j

1 2

1

( ,

t t

)

q i j

dst o o

1 2

1 1

( ,

it

) ( ,

tj

) dst q o dst q o

5.1.2 ckNN

ckNN ckNN

ckNN ckNN

R (result set)

R~

(non-result set)

o

1~o5

R o

6

o

7

R~

R~

k o

6

o

7

ckNN

cKNN

R o

i

R~

o

j

R R k

R~

(12)

7

R

k k+1

q

1

k

R R~

q

1

k+1

k+1

k+1 k+1

(b)

k+1

(1)

k+1

(2)

k+1

5.1.3 ckNN

ckNN

(1) (2) (3)

(Location awareness) (update collaboration)

Loco-ckNN

(1)

q

1

ckNN

q

1 kNN DIKNN[23]

K = k+1

q

1

q

1

k

o

k

k+i

o

k+i

k-i

o

k-i

k-i o

k+1

q

1

q

1

k+1 o

k+1

o

1 ~

o

k

o

1 ~ ok

(2) ckNN

R

q

1

t

1

(a)

safe-time (st)

(a)

o

i

o

k+1

q

1

q

1

st q

1

MaxSpeed o o st dst

t k t i q

2

) , ( 1 1 1

1 (a)

k = 5

(a)

q

1

o

1~o5

o

5

k

o

6

k+1

(b) (a)

q

1

(a)

t

1

o

5

q

1

o

6

o

6

q

1

st

st

o

5

o

6

q

1

o

1 ~ o4

q

1

st

st

k+1

(13)

8

k+1 o

k+1

(a)

st MaxSpeed

k+1 st

st

t

2

st o

i

(b)

k+1

MaxSpeed

MaxSpeed t

t o

o st dst

t k t i q

2

) ( ) ,

' 1( 1 2 1

1 2

(b)

o

k+1

o

i

(b)

o

k+1

o

i

t

2

o

k+1

t

1

(b)

o

i

o

k+1 (a)

location awareness

(3)

k+1

update collaboration

o

i

t

j

o

k+1

o

i

o

k+1

o

p

o

p

o

k+1

o

i

o

k+1

o

i

o

p

o

k+1

o

i

o

i

o

p

o

k+1

o

k+1

o

i

o

i

o

k+1

o

k+1

o

i

o

i

k+1 o

k+1

o

k+1

q

o

i

o

k+1

q o

k+1

o

i

o

k+1

(a)

(a)

t

j

o

5

o

6

o

6

o

2

o

2

o

6

o

6

o

6

(a)

st o

5

o

5

o

2

(b) (a)

t

j+1

o

4

(b)

o

6

o

4

o

6

o

1

q

1

o

6

o

2

t

j

o

6

(b)

o

4

o

6

o

4

o

6

o

4

q

1

o

2

o

3

o

6

o

1

(14)

9

o

3

o

1

o

6

o

k

(a)

t

j

o

5

o

6

o

6

( )

o

2

o

2

o

6

o

6

o

6

(a)

st

o

5

q

1

o

5( )

(1)

st

o

2

q

1

o

6

ckNN

(b) (a)

t

j+1

o

4

o

6

o

6

q

1

q

1

(b)

o

4

o

5

o

5

o

4

o

1

o

5( )

o

5

(a)

R~

k+1

k+2 o

k+2

k+1

o

k+1

k+1

R o

i

o

j

o

j

o

i ckNN

o

j

o

j

(a) (b)

(a)

o

7

o

4

o

4

o

7

(b)

o

7

k+1

k+1 o

6

o

6

o

7

o

1

o

2

o

4

q

1

o

6

k+1 o

7

5.1.4 ckNN

MP2P

ckNN (Centralized)

(Naive)

q

1

k

k+1 q

1

1

( ,

1

)

2 maxspeed

q i k

dst o o SafeTime

k k+1

q

1

q

1

k+1 o

k+1

1

( ,

1

)

2 maxspeed

q i k

dst o o SafeTime

o

k+1

q

1

q

1

k k

k

Loco-ckNN

k

Loco-ckNN

(15)

10

k

99%

5.2

location awareness update collaboration

(cMRQ)

(overhearing)

5.2.1

cMRQ ckNN

cMRQ

q

1

n

0

n

0

MaxSpd(maximum speed)

(Q.r)

5.2.2 cMRQ

cMRQ ckNN

(1) (2)

(3) location

awareness update collaboration

k

(1)

n

0

n

0

Q.r

(2)

n

i

n

0

safe period

(c)

1 1

( ,0 ) . 2

t t

d n n

i

Q r safe period

MaxSpd

(c) (c)

n

0t1

n

0

t

1

1 1

( ,0t it )

d n n n

0

n

i

t

1

(c)

(c) location awareness

t

2

n

i cMRQ

n

0

n

i

t

2

n

0

t

1

t

1

t

2

n

0

n

i

t

2

n

0

n

i

d

l ( d)

1 2

0t , t 2 1

l i

d d n n MaxSpd t t

(d)

d

l

Q.r

. 2

Q r d

l

MaxSpd

1 1

( ,0 ) . 2

t t

d n n

i

Q r safe period

MaxSpd t

2

t

2

n

0

n

i

d

s

ds Q.r n

i

. 2

d

s

Q r

MaxSpd

location awareness

(16)

11

(3)

n

i

n

0

n

0

n

i

n

0

n

i

n

i

update collaboration

overhearing

n

1

n

0

n

1

n

1

n

0

t

1

n

3, n4,

n

2

n

1

n

0

n

0

n

1

n

0

n

2

n

0

t

2

n

2

n

1

n

4, n3

n

0

update collaboration

(overhear) cMRQ

n

0

MP2P (early

warning) Early warning

(a)

n

10

n

11

(

) (b)

n

10

n

1

n

1

n

10

n

0

n

10

n

10

5.2.3 cMRQ

Java SDK 1.6

Integration Integration+overhear Integration

location awareness update collaboration overhearing ExtRange[4]

cMRQ

ExtRange Integration

Extrange

ExtRange

(17)

12

ExtRange

k

(overhead)

[1] N. Beckmann, H.-P. Kriegel, R. Schneider, and B. Seeger, "The R*-tree: An Efficient and Robust Access Method for Points and Rectangles," in Proc. SIGMOD '90, 1990, pp. 322-331.

[2] M. A. Cheema, L. Brankovic, L. Xuemin, Z. Wenjie, and W. Wei, "Multi-Guarded Safe Zone: An Effective Technique to Monitor Moving Circular Range Queries,"

in Proc. IEEE 26th International

Conference on Data Engineering, 2010, pp.

189-200.

[3] C.-Y. Chow, M. Mokbel, and H. V. Leong,

“On efficient and scalable support of continuous queries in mobile peer-to-peer environments,” IEEE Transactions on

Mobile Computing, vol. 10, no. 10, pp.

1473 1487, oct. 2011.

[4] T. T. Do, K. A. Hua, and C.-S. Lin,

"ExtRange: Continuous Moving Range Queries in Mobile Peer-to-Peer Networks,"

in Proc. 10th International Conference on

Mobile Data Management: Systems, Services and Middleware (MDM '09), 2009,

pp. 317-322.

[5] P. Galdames, K. Kim, and Y. Cai, “A Generic Platform for Efficient Processing of Spatial Monitoring Queries in Mobile Peer-to-peer Networks,” in

Proc.

International Conference on Mobile Data Management (MDM), May 2010, pp. 1–10.

[6] B. Gedik and L. Ling, "MobiEyes: A Distributed Location Monitoring Service Using Moving Location Queries," IEEE

Transactions on Mobile Computing, vol. 5,

pp. 1384-1402, 2006.

[7] D. Greene, "An Implementation and Performance Analysis of Spatial Data Access Methods," in

Proc. Fifth International Conference on Data Engineering, 1989, pp. 606-615.

[8] A. Guttman, "R-Trees: A Dynamic Index Structure for Spatial Searching," in Proc.

ACM International Conference on Management of Data (SIGMOD), 1984, pp.

47-57.

[9] H. Hu, J. Xu, and D. L. Lee, "A Generic Framework for Monitoring Continuous Spatial Queries over Moving Objects," in

Proc. ACM International Conference on Management of Data (SIGMOD),

Baltimore, Maryland, 2005, pp. 479-490.

[10] R. Katz, E. Brewer, E. Amir, H.

Balakrishnan, A. Fox, S. Gribble, T. Hodes, D. Jiang, G. Nguyen, and V. Padmanabhan,

"The Bay Area Research Wireless Access Network (BARWAN)," in

Proc.

Technologies for the Information Superhighway Digest of Papers (Compcon '96), 1996, pp. 15-20.

[11] K. Kim, C. Ying, and W. Tavanapong,

"Safe-Time: Distributed Real-Time Monitoring of cKNN in Mobile Peer-to-Peer Networks," in Proc. 9th

International Conference on Mobile Data Management (MDM '08), 2008, pp.

124-131.

[12] W.-S. Ku and R. Zimmermann,

"Location-Based Spatial Queries with Data Sharing in Mobile Environments," in Proc.

22nd International Conference on Data Engineering Workshops, 2006, p. 140.

[13] F. Liu, K. A. Hua, and T. T. Do, "A P2P

(18)

13

Technique for Continuous k-Nearest-Neighbor Query in Road Networks," in Proc. 18th International

Conference on Database and Expert Systems Applications (DEXA 2007),

Regensburg, 2007, pp. 264-276.

[14] M. F. Mokbel, X. Xiong, and W. G. Aref,

"SINA: Scalable Incremental Processing of Continuous Queries in Spatio-temporal Databases," in

Proc. 2004 ACM International Conference on Management of Data (SIGMOD), Paris, France, 2004,

pp. 623-634.

[15] J. M. Patel, Y. Chen, and V. P. Chakka,

"STRIPES: An Efficient Index for Predicted Trajectories," in Proc. ACM

International Conference on Management of Data (SIGMOD), Paris, France, 2004,

pp. 635-646.

[16] S. Prabhakar, X. Yuni, D. V. Kalashnikov, W. G. Aref, and S. E. Hambrusch, "Query Indexing and Velocity Constrained Indexing: Scalable Techniques for Continuous Queries on Moving Objects,"

IEEE Transactions on Computers, vol. 51,

pp. 1124-1140, 2002.

[17] B. Rao and L. Minakakis, "Evolution of Mobile Location-based Services,"

Communications of the ACM, vol. 46, p. 65,

2003.

[18] N. Roussopoulos, S. Kelley, and F. Vincent,

"Nearest Neighbor Queries," in Proc. ACM

International Conference on Management of Data (SIGMOD), 1995, pp. 71-79.

[19] S. Šaltenis, altenis, C. S. Jensen, S. T.

Leutenegger, and M. A. Lopez, "Indexing the Positions of Continuously Moving Objects," in Proc. ACM International

Conference on Management of Data (SIGMOD), vol. 29, pp. 331-342, 2000.

[20] Z. Song and N. Roussopoulos, "K-nearest Neighbor Search for Moving Query Point,"

Advances in Spatial and Temporal Databases, pp. 79-96, 2001.

[21] Y. Tao, D. Papadias, and J. Sun, "The TPR*-tree: An Optimized Spatio-temporal Access Method for Predictive Queries," in

Proc. 29th International Conference on Very Large Data Bases, vol. 29, Berlin,

Germany, 2003, pp. 790-801.

[22] Wei Wu, Wenyuan Guo, and Kian-Lee Tan,

"Distributed Processing of Moving K-Nearest-Neighbor Query on Moving Objects," in Proc. IEEE 23rd International

Conference on Data Engineering (ICDE),

2007, pp. 1116-1125.

[23] S. H. Wu, K. T. Chuang, C. M. Chen, and M. S. Chen, "DIKNN: An itinerary-based KNN query processing algorithm for mobile sensor networks," in Proc.

International Conference on Data Engineering (ICDE), Istanbul, 2007, pp.

456-465.

[24] X. Yu, K. Q. Pu, and N. Koudas,

"Monitoring k-nearest Neighbor Queries over Moving Objects," in Proc. ICDE, Tokyo, 2005, pp. 631-642.

[25] J. Zhang, M. Zhu, D. Papadias, Y. Tao, and D. L. Lee, "Location-based Spatial Queries," in Proc. ACM International

Conference on Management of Data (SIGMOD), San Diego, California, 2003,

pp. 443-454.

[26] B. Zheng and D. Lee, "Semantic Caching in Location-dependent Query Processing,"

Advances in Spatial and Temporal Databases, pp. 97-113, 2004.

[27] LTE 3GPP homepage,

http://www.3gpp.org/article/lte [28] WiFi Alliance, http://www.wi-fi.org/

[29] Wifi Direct,

http://www.wi-fi.org/discover-and-learn/wi -fi-direct

[30] WiMAX Forum,

http://www.wimaxforum.org/

ZigBee Alliance, http://www.zigbee.org/

(19)

14

k

2012 International Conference on Mobile Communications, Networking and Applications (MobiCONA 2012)

Computer Networks

(20)

15

disMKNN

ExtRange

(a) (b)

ckNN R R~

(21)

16

) , ( 51 61

1 t t

q o o

dst

(a) (b)

cKNN k = 5 (a) (b)

) , ( 2 11

1 t k t i

q o o

dst

MaxSpeed t

t )

(2 1

(b)

(a) (b)

ckNN

(a) (b)

(22)

17

(a) (b)

5 10 15 20 25 30

0 200 400 600 800 1000 1200 1400 1600 1800

k Communication cost (message/second) Centralized

Naive Loco-cKNN

k

5 10 15 20 25

0 200 400 600 800 1000 1200 1400

MaxSpd Communication cost (message/second) Centralized

Naive Loco-cKNN

(23)

18

100 110 120 130 140 150

300 400 500 600 700 800 900 1000

Number of mobile objects Communication cost (message/second) Centralized

Naive Loco-cKNN

100 110 120 130 140 150

0.99 0.995 1

Number of mobile objects

Result correctness ratio

Centralized Naive Loco-cKNN

d

l

2 1

( )

MaxSpd t t

0

1

n

t

t2

n

i

d n (

0t1

, n

it2

)

n

0

n

i

t

2

d

l

d

s

2 1

( )

MaxSpd t t

0

1

n t

t

2

n i d n ( 0

t1

, n

it2

)

n

0

n

i

t

2

d

s

(24)

19

n0

location-update message

n1

n4

n3

n2

reply message

t1

t2

t2

t2

t1

t1

update collaboration

n6

n0

n3 n4

n1 n8

n5

n7

n10

n2

n9 n11

Q.r

n0

n3

n2

n4

n1

n8

n5

n6

n10

n9

n7 n11

Q.r

(a) (b)

(early warning)

320 400 480 560 640

50 75 100 125 150 175 200 225 250 275 300 325 350

Query range (m)

No. of messages/time unit

ExtRange Integration Integration+overhear

cMRQ

(25)

20

5 6 7 8 9 10

100 150 200 250 300 350 400 450

MaxSpd (m/s)

No. of messages/time unit

ExtRange Integration

Integration+overhear

cMRQ

300 400 500 600 700

50 100 150 200 250 300 350 400

Number of nodes

No. of messages/time unit

ExtRange Integration

Integration+overhear

cMRQ

20 40 60 80 100

75 100 125 150 175 200 225 250

Query time (time unit)

No. of messages/time unit

ExtRange Integration Integration+overhear

cMRQ

(26)

Loco-cKNN: An Extended Safe Time based cKNN Query Protocol in MP2P Networks

Kai-Ting Yang, Chian-Yi Lo, Ge-Ming Chiu, and Ding-Jie Huang Department of Computer Science and Information Engineering National Taiwan University of Science and Technology, Taipei, Taiwan

Email: {D9615007, M9615005, chiu, D9515002}@mail.ntust.edu.tw

Abstract—The continuous spatial query has been one of the highly demanded services in mobile computing system recently.

One of them is a continuous k nearest neighbor query (cKNN), which is a query that continuously returns a set of k nearest mobile objects to a query issuer. However, most of existing approaches rely on a centralized server to provide cKNN ser- vice. This paper investigates techniques for processing cKNN query in a mobile peer to peer network (MP2P), and aims at reducing communication traffic incurred when performing queries. With a given query issuer, we propose a distributed monitoring protocol, called Loco-cKNN (LOcation awareness and update COllaboration cKNN), for cKNN query. Location awareness and update collaboration are two main techniques that proposed in our protocol. Moreover, this paper also describes a way for eliminating the requirement of the query re-broadcast message; thus communication cost can be further reduced. The simulation results demonstrate that the proposed Loco-cKNN has high query correctness and effectively in cutting the amount of communication traffic for processing cKNN queries.

I. INTRODUCTION

The advance of mobile communication technique has at- tracted enormous research interests in mobile computing re- cently. Particularly, the availability of positioning capability, such as GPS, leads to a high demand for various location-based services (LBS) from mobile users. One of the most important categories of LBS is spatial query, which refers to queries whose answers are dependent on locations of the users who issue the queries. The k nearest neighbor (KNN) query is one of the most popular type of spatial queries. It is used to locate the k points of interest that are nearest to the user who issues the query.

Recently, the spatial query has been extended from snapshot query to continuous query and has been extensively studied in the literature [1,2]. A continuous spatial query is a spatial query that exists in the network for a period of time. Generally, a continuous query refers to moving objects and due to the mobility, the query result may change along time. Hence, to ensure the correctness of the query result, the system must inform the query issuer about any change of the result in real time.

This paper studies the problem of continuous KNN query, which is hereafter referred to as a cKNN query, in mobile peer- to-peer (MP2P) network environments. A general example of cKNN query is that at the end of a music concert, a taxi center would want to keep track of the most nearest ten taxies from the concert hall for the following thirty minutes.

Although cKNN query problem has been widely studied, most of the approaches rely on a centralized server to perform the cKNN service [3]–[7]. Their researches mainly focus on reducing data I/O of the server. Recently, to reduce the computation load of a server, some protocols are proposed [1,8]. In their research, the server devolves some computation load to mobile nodes; thus alleviates the computation and com- munication overhead of the server. Some distributed protocols are proposed to solve the cKNN issue in MP2P environments without the support of fixed infrastructure [2,9]. The aim of their protocol is to promise the correctness of query result in distributed manner.

This paper reexamines the cKNN problem in a MP2P network. The objective is to reduce communication overhead incurred when processing cKNN queries while ensuring the query correctness. We proposed a cKNN query protocol named LOcation awareness and update COllaboration cKNN, Loco- cKNN, which adopts two techniques, location awareness and update collaboration, to achieve the goal without sacrificing the correctness of the query result. The concept of location awareness is the primary technique that makes use of the loca- tion information which is locally available to extend the length of a safe time. Moreover, the idea of update collaboration is employed as an auxiliary technique to further reduce the location-update traffic by sharing newer location information at intermediary nodes. In addition, this paper also proposed a scheme for eliminating the requirement of query re-broadcast message, and consequently periodically broadcast is no longer required.

II. RELATEDWORK

In early stage, spatial queries were mainly addressed over static objects maintained in a centralized database. They focus on the design of index structures to facilitate spatial query services in a centralized server [10,11]. Traditional spatial queries are mostly static for which queries and objects do not move. They focuses on returning a single query result.

As a result of node mobility, query results may change from time to time. This turns the problem of snapshot spatial query to continuous spatial query. Some of the researches addressed the problem of moving queries with static objects [12,13].

Recently, there has been a dramatic proliferation of liter- ature addressing the techniques for cKNN query, which can

(27)

be divided into two classes: 1) centralized approaches [3]–

[7,14,15], and 2) distributed approaches [1,2,8,16]. Most of the centralized approaches depend on mobile objects periodically returning their location back to the server. Since most of them are implemented with complex data structure and algorithm, the system loading and accuracy of the query result are sig- nificantly affected by the location-update frequency of mobile objects. Unlike centralized method, distributed approaches devolve computation load to mobile objects; hence they are more suitable for mobile ad hoc environments. In this paper, we focus on the distributed approaches and further analyze the relative techniques.

Both [1] and [8] tackled the cKNN problem in a hybrid approach. Their methods rely on a server, which receives location updates from mobile objects and helps to compute the query results. In addition, the server will delegate mobile nodes to monitor the cKNN queries. These architectures, however, may have a drawback that keeps a server’s loading remains high.

In [2], the authors provided an approach to solve the cKNN queries with stationary query points in MP2P networks. They used the concept of safe-time and proposed a distributed solution for the problem. For a given stationary query, query result remains unchanged during the safe-time period. When the safe-time expires, the method performs a ring broadcast within a circular band to identify the new kth and (k + 1)th objects. However, the concept of ring broadcast is infeasible in MP2P network and cannot ensure the desired area can be fully covered by the broadcast messages.

In [9], the authors proposed a cost-effective technique to process four kinds of spatial monitoring queries based on primitive stationary range monitoring query in MP2P system.

The method partitioned the network into disjointed gird cells and forced each mobile node to cache queries that are relevant to its home cell. Other types of continuous moving queries can be converted into the primitive type of query. However, the continuous monitoring overhead of those converted types of queries was not addressed in the paper.

III. THEPROPOSEDLOCO-CKNN

In this section, we first describe the system model used in the paper. We then present an analysis of the cKNN query followed by the proposed Loco-cKNN protocol for processing cKNN query.

A. System Model and Assumption

In this paper, we consider a MP2P network that consists of a collection of mobile devices. Each device is equipped with some wireless communication interface such as IEEE 802.11. In addition, each mobile device has some positioning capable mechanism such as GPS; hence it is aware of its current geographical location at any time. A mobile device communicates with another device by passing messages, for which intermediary devices act as relays in forwarding the messages. Also, this paper assumes that the maximum moving speed of mobile devices is known in advance and is denoted

by MaxSpd. The assumption of prior knowledge of MaxSpd is possible and reasonable in many scenarios. For example, roaming human users typically have maximum capable mov- ing speed. In addition, most road networks have maximum speed limit that mobile vehicular nodes have to comply with.

A cKNN query is defined as a location-based spatial query that continuously returns a set of k nearest objects to the query issuer. Since each network object is associated with a distinct mobile device, the terms object, device, and node are used interchangeably throughout the paper. Given a set of moving objects O = {o1, o2, . . . , on} and a set of stationary query nodes QN = {q1, q2, . . . , qq} in a two dimensional geographical space. A cKNN query continuously monitors a set of k moving objects that are nearest to the corresponding query issuer. Two query results are considered identical as long as they consist of exactly the same set of moving objects, regardless of the order of the objects. That is, a cKNN query does not concern about the order of the objects in the result.

Due to mobility of moving objects, the query result changes from time to time. It is important to inform the query issuer about the change of the result; thus continuously monitoring the query is the main process of the cKNN query service.

Without loss of generality, Loco-cKNN is described below with respect to a query issuer q1.

Let dis(pi, pj) denote the Euclidean distance between po- sitions pi and pj. Also let oti refer to the position of object oi

at time t. The relative distance between oi at time t1 and oj

at time t2 with respect to q1 is defined as dstq1(oti1, otj2) = dis(oti1, q1) − dis(otj2, q1). Last, let ith NN represent the ith nearest neighbor of the query issuer.

B. Analysis of cKNN Query

Consider a cKNN query Q, issued by q1. Let us focus on the time when query result changes. Generally, a cKNN query process is divided into three phases: initial phase, monitor phase, and update phase. In the initial phase, the query issuer q1 submits the query Q and obtains the first query result.

After the initial phase, mobile objects enter the monitor phase, during which they monitor Q continuously for the entire query period. The aim of this phase is to ensure that every mobile object can detect the change of query result caused by itself and takes appropriate action accordingly. When an object discovers that itself may affect the query result, it enters the update phase immediately. In the update phase, the object will send a location-update message to an appropriate node as described later to update its knowledge about the current location of the node, and the node will recalculate the result.

The monitoring phase and update phase alternates for each mobile node until the query time of Q expires.

Upon the end of the initial phase, it is clear that mobile objects in the network are divided into two sets: the result set R, and the non-result set R. For example, in Fig. 1, q1issues a cKNN query with k = 5. We have R = {o1, o2, o3, o4, o5} and R = {o6, o7} after the initial phase is performed. Note that a change of the result can only happen at the time when one of the object in R exchanges the position with another object

(28)

q1

o2

o1

o4 o3

o5

o6

o7

Fig. 1: An example of KNN query, k = 5.

from R. More specifically, it would be the kth NN exchanges the position with the (k + 1)th NN, and the exchange process occurs instantaneously.

The previous analysis shows that the (k + 1)th NN is the crucial object to watch. If no object in set R exchanges the position with (k + 1)th NN, then the query result remains unchanged. Therefore, mobile objects in R have to monitor the (k + 1)th NN in our protocol. If any of them exchanges the position with (k + 1)th NN, such change will be detected immediately and a message will be sent to update the query result. However, the role of the (k + 1)th NN may change from along time due to object mobility. If a new mobile object replaces the old (k + 1)th NN, the system must update this new information to every mobile node involved in the query to ensure the correctness of the result. There are two cases in which the (k + 1)th NN is replaced: (1) the kthNN exchanges with the (k + 1)thNN, resulting in a change of query result as well; (2) the original (k + 2)th NN exchanges with (k + 1)th NN, causing itself to become the new (k + 1)th object. The detail about how to handle these two situations and to keep track on the (k+1)thNN is described in the following section.

C. Loco-cKNN

The proposed Loco-cKNN protocol consists of three phases:

initial phase, monitoring phase, and the update phase. Loco- cKNN employs two techniques, namely, location awareness and update collaboration. These techniques are used in the second and third phases respectively to reduce communication overhead.

1) Initial phase: In the initial phase, we adopt a distributed kNN snapshot protocol to obtain the initial snapshot k + 1 NN objects. q1then collects enough information and computes the query result plus the information of (k + 1)th NN object. Let oi refer to the current ith NN of the query. Object ok+1 is used for processing query but does not belong to R. After q1

obtains the initial KNN result, it sends the information about ok+1to all o1∼ ok objects so that they can monitor ok+1.

2) Monitoring phase with location awareness technique:

Upon receiving the location information about ok+1, mobile nodes in R enter the monitoring phase and start to monitor ok+1. Essentially, each node oi, i ≤ k, computes a safe time which is a duration of time that the query result cannot possibly change because of the movement of oi. That is, oi

q1

!!"#

1 1

1( 5t, 6t) dstq o o

$ ! "!

o5moves with MaxSpd

o6moves with MaxSpd o1 o2 o3 o4 o5 o6 o7

Fig. 2: Example of safe time.

will not change the position with ok+1 before the safe time expires. Let t1 denote the current time, then we have:

safe time =dstq1(oti1, otk+11 )

2 × MaxSpd (1)

Recall that dstq1(oti1, otk+11 ) is the relative difference between oi and ok+1 with respect to q1 at time t1. Equation (1) is derived from the idea that oi and ok+1 are moving closer to each other in exactly opposite directions with respect to q1, at MaxSpd. Hence, when safe time expires, these two objects can at most be at equal distance from q1. Therefore, during safe time interval, it needs no communication to update the query result. Once the safe time expires, oi proceeds to the third phase, namely, the update phase to update its current location.

An example of safe time derivation is illustrated in Fig. 2.

The safe time computed according to Equation (1) is based on the extreme assumption that mobile objects are both moving at MaxSpd. However, this scenario may rarely occur in reality. Object oican take advantage of this situation to extend the safe time. In this regard, we observed that oi is always aware of its own current position. Based on this information, oi can locally determine whether the above extreme situation indeed takes place when safe time expires. This can be easily done by computing the distance between current position of oiand the nearest possible location of ok+1, based on location information known to oi itself.

Precisely, each location data of ok+1, is associated with a timestamp. Let t2 denote the time when the first safe time expires, i.e. t2= t1+safe time. Let dsbe the shortest possible distance between oi and ok+1at t2. ds can then be obtained:

ds= dstq1(oti2, otk+11 ) − (t2− t1) × MaxSpd

dsis calculated by oi on the assumption that ok+1is moving toward q1 at MaxSpd, during the entire safe time. If ds>0, the safe time can then be further extended by an mount of time, called safe time’

safe time’ = ds

2 × MaxSpd (2)

Fig. 3 illustrates the derivation of extended safe time’. The same process can be repeated when the extended safe time’

subsequently expires, as long as the above criterion ds > 0 remains true. In this manner, oi utilizes its local position information to prolong the length of safe time to the extreme.

數據

Fig. 1: An example of KNN query, k = 5.
Fig. 4: Collaboration update example shown in tree structure.
Fig. 5: Circular example, q 1 ’s communication range is shown in dashed line.
Fig. 9: Query result correctness ratio for different number of objects.
+5

參考文獻

相關文件

In part 1, let’s run experiments on CNN_4layers However, to avoid lengthy training time, let’s consider a 5000-instance subset at this directory Let’s use MNIST-5000 and

Cowell, The Jātaka, or Stories of the Buddha's Former Births, Book XXII, pp.

Solver based on reduced 5-equation model is robust one for sample problems, but is difficult to achieve admissible solutions under extreme flow conditions.. Solver based on HEM

In this paper, we propose a practical numerical method based on the LSM and the truncated SVD to reconstruct the support of the inhomogeneity in the acoustic equation with

3.1(c) again which leads to a contradiction to the level sets assumption. 3.10]) which indicates that the condition A on F may be the weakest assumption to guarantee bounded level

The superlinear convergence of Broyden’s method for Example 1 is demonstrated in the following table, and the computed solutions are less accurate than those computed by

Midpoint break loops are useful for situations where the commands in the loop must be executed at least once, but where the decision to make an early termination is based on

In other words, the partition nodes bounding the problem do not occur at immediate neighbors in the grid, hence there is at least one point on the partition line lying between