• 沒有找到結果。

非均勻資料鄰近搜尋中查詢者地點隱藏之研究

N/A
N/A
Protected

Academic year: 2021

Share "非均勻資料鄰近搜尋中查詢者地點隱藏之研究"

Copied!
55
0
0

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

全文

(1)國立高雄大學資訊管理學系 碩士論文. 非均勻資料鄰近搜尋中查詢者地點隱藏之研究 A Study of Location Privacy for Nearest Neighbor Search on Non-uniform Data. 國立高雄大學資訊管理研究所碩士班 研究生:陳仲膺 撰 指導教授:王學亮 博士. 中. 華. 民. 國. ○. 一 0 .  . 一. 年. 六. 月.

(2) 非均勻資料鄰近搜尋中查詢者地點隱藏之研究. 指導教授:王學亮 博士 國立高雄大學資訊管理學系. 學生:陳仲膺 國立高雄大學資訊管理學系碩士班. 摘要 隨著全球衛星定位系統(GPS)以及智慧型手機技術的廣泛使用,以 GPS 為應 用的地點服務資訊系統,在最近幾年呈現了巨大的成長。此類服務提供使用者對 附近有興趣的景點(Point-of-interest; POI)作空間查詢時,通常需要取得查詢者精 確的地點位置。然而當私人所在位置這種敏感資訊被分享給有惡意的伺服器時, 將可能造成對用戶隱私的侵犯。目前以混淆為基礎的解決方法,需要提供受信任 的第三方主機,但卻無法保證第三方主機可信任的程度。而另一方面,基於數據. 加密以及基於 cPIR 的方法則必須付出昂貴的運算成本。近年來一個使用以 PIR 硬體安全裝置為基礎的方法,其執行效率比前兩類方法為佳,但沒有進一步的考 慮到進行搜尋時數據不均勻分布的情況。在本研究中提出了四個新方法:MSQL, NSQL,MNSQL,MHBL,針對非均勻分布地圖中密集區域的資料以彈性多層網. 格的方法改善,針對非均勻分布地圖中空曠區域的資料以非空查看表的方法改 善,達成更有效率的資料儲存以及檢索,以改善 PIR 硬體安全裝置為基礎的方法. I.

(3) 之運算效率。實驗結果表示,本研究的方法能為不同的非均勻分布地圖提供更好 的隱匿查詢的效率。. 關鍵詞:地點服務資訊系統、空間查詢、位置隱私、隱匿、私人訊息檢索。. ii   .

(4) Abstract. Due to the wide application of Global Position System (GPS) and smart phone technology, Location-Based Service (LBS) has attained tremendous growth in recent years.. Spatial queries retrieving nearest Point-Of-Interests (POI) require actual user. locations for services.. However, sharing such sensitive personal location. information with potentially malicious servers may cause concerns about user privacy. The current approaches to deal with privacy issue such as obfuscation and cloaking cannot provide privacy guarantees against third party anonymizer. For the data-encryption-based and cPIR-based approaches, heavy computation overheads are required. Recently, the secure hardware-aided PIR-based technique has been shown to be superior to formers, but it did not consider the characteristics of data distribution of searching domain.. In this work, we propose four scheme: MSQL, NSQL, MNSQL,. MHBL based on flexible multi-layer grids and non-empty lookuptable for efficient storage and retrieval on non-uniform distribution of POI data, so that improved performance of PIR-based techniques could be achieved. Numerical experiments demonstrate that the proposed technique indeed deliver better efficiency of anonymization under various criteria.. Keywords: location-based service, spatial query, location privacy, anonymization, private information retrieval.. iii   .

(5) 目錄 第一章 緒論 ..................................................................................................................1 1.1 研究背景..........................................................................................................1 1.2 研究動機與目的..............................................................................................3 1.3 研究架構..........................................................................................................5 第二章 查詢者地點隱匿相關之文獻探討 .................................................................6 2.1 混淆法(CLOAKING) ........................................................................................6 2.2 資料數據轉換法(DATA TRANSFORMATION) .................................................8 2.3 私密化資訊檢索法(PRIVATE INFORMATION RETRIEVAL)............................9 第三章 非均勻資料之查詢者地點隱藏問題之定義 ...............................................12 3.1 系統架構........................................................................................................12 3.2 資料儲存結構 ...............................................................................................14 3.2.1 SEQUENTIAL LINKED LIST資料儲存結構.............................................14 3.2.2 HILBERT SEQUENTIAL LINKED LIST資料儲存結構 .............................15 3.3 最近鄰居搜尋 ...............................................................................................16 第四章 四種改善之演算法........................................................................................19 4.1 資料儲存結構................................................................................................19 4.1.1 MULTILAYER SEQUENTIAL LINKED LIST資料儲存結構......................19 4.1.2 NON-EMPTY SEQUENTIAL LINKED LIST資料儲存結構........................21 4.1.3 MULTILAYER NON-EMPTY SEQUENTIAL LINKED LIST資料儲存結構.22 4.1.4 MULTILAYER HILBERT SEQUENTIAL LINKED LIST資料儲存結構 ......24 4.2 最近鄰居搜尋................................................................................................26 4.2.1 MULTILAYER SEQUENTIAL LINKED LIST最近鄰居搜尋......................26 iv   .

(6) 4.2.2 NON-EMPTY SEQUENTIAL LINKED LIST最近鄰居搜尋........................27 4.2.3 MULTILAYER NON-EMPTY SEQUENTIAL LINKED LIST最近鄰居搜尋.28 4.2.4 MULTILAYER HILBERT SEQUENTIAL LINKED LIST最近鄰居搜尋 ......30 4.3 分析與比較....................................................................................................32 第五章 實驗及結果分析............................................................................................33 5.1 人工資料集....................................................................................................33 5.1.1 地圖中總POI數變動時的影響 .............................................................33 5.1.2 密集網格內的POI佔地圖總POI比例變動時的影響..........................35 5.1.3 查詢者所在位置變動時的影響............................................................36 5.1.4 地圖中非空網格佔總網格比例變動時的影響....................................37 5.2 真實世界資料集............................................................................................39 5.2.1 所有方法的效率比較表........................................................................40 5.2.2 查詢者所在位置變動時的影響............................................................42 第六章 結論與未來研究方向 ...................................................................................45. v   .

(7) 圖目錄. 圖 圖 圖 圖 圖 圖 圖 圖 圖. 2-1 OBFUSCATION EXAMPLE ..................................................................................6  2-2 SECURE COMPUTATION ON ENCRYPTED DATA BASE EXAMPLE..........................8  2-3 PIR-BASED方法[8,13] .....................................................................................9  3-1 系統架構圖 ...................................................................................................12  3-2 SQL方法的範例 ..........................................................................................14  3-3 HBL方法的範例..........................................................................................15  3-4 SQL方法的最近鄰居搜尋範例 ..................................................................17  4-1 MSQL方法的範例.......................................................................................19  4-2 NSQL方法的範例 .......................................................................................21 . 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 4-3 4-4 4-5 4-6 4-7 4-8 5-1 5-2 5-3 5-4 5-5 5-6 5-7 5-8 5-9. MNSQL方法的範例....................................................................................22  MHBL方法的範例 ......................................................................................24  MSQL方法的最近鄰居搜尋範例...............................................................26  NSQL方法的最近鄰居搜尋範例 ...............................................................27  MNSQL方法的最近鄰居搜尋範例............................................................28  MHBL方法的最近鄰居搜尋範例 ..............................................................30  總POI數目變動時的PIR抓取平均次數圖...................................................34  密集網格內景點數目變動時的PIR抓取平均次數圖 .................................35  查詢者所在位置變動時的PIR抓取平均次數圖 .........................................36  空網格佔總網格比例變動時的PIR抓取平均次數圖 .................................37  真實世界資料圖 ...........................................................................................39  查詢者位於具有景點的網格時的搜尋範圍分佈圖 ...................................42  查詢者位於空網格時的搜尋範圍分佈圖 ...................................................43  查詢者所在位置隨機決定時的搜尋範圍分佈圖 .......................................43  查詢者所在位置變動時的PIR抓取平均次數圖 .........................................44 . vi   .

(8)  . 表目錄   表 1 SQL與其它改善方法之比較表 .......................................................................32  表 2 所有方法的PIR抓取平均次數表.....................................................................40 . vii   .

(9) 第一章 緒論 1.1. 研究背景. 在地點查詢資訊服務中,像是 Google map 或是 Bing map 等雲端環境下之服 務,用戶可以透過提供自己的現實位置給伺服器,以進行查詢並獲取鄰近區域中 k 個感興趣的景點位置。在銷售量日益增長的智慧型手機市場中(大多配備有 GPS),地點查詢資訊服務也成為越來越受使用者歡迎的一項服務。例如 Facebook 也開始建立類似的地點查詢資訊服務,稱之為 Facebook Places。但是在使用這些 服務時,其中一項隱憂就是對於個人隱私資訊的負面影響。. 考慮以下的情形:愛麗絲正在加州進行尋找可以開採的金礦。她所進行的方 法是先尋找到有少量金子存在的地方,然後再作後續的追蹤。現在愛麗絲想要在 還沒有人申請過開採金礦專利的地方進行開採,但在以前的加州掏金熱時期,許 多地方都已經被申請過專利。因此愛麗絲帶著一台筆記型電腦和 GPS 在加州境 內環繞尋找,每當她尋找到一處可能值得開採的地點時,就上網利用地點查詢資 訊服務查詢該地點是否已經被申請過專利。如果確認該地點還無人申請過專利, 那愛麗絲就會立刻提出申請,並且開始開採黃金。. 但是有個愛麗絲必須擔心的問題,那就是在加州已經有一間屬於鮑勃的採 礦公司,當她透過地點查詢資訊服務查詢所在位置是否已經被申請過專利時,所 在位置有可能被曝光。由於鮑勃知道愛麗絲在加州的目的是為了尋找一處可開採 的金礦。所以當愛麗絲進行查詢的時候,他就能得知愛麗絲現在的所在地點具有 金礦。因此如果愛麗絲進行查詢時所在的那個金礦正好還沒有人曾經申請過開採 專利,那鮑勃就可以搶先一步申請對於該金礦的開採專利。. 1   .

(10) 在現在這個電腦資訊普及化的時代[1],便利之餘同時也同時帶來許多負面 影響,除了上述所提到的例子,還有許多因為保護位置隱私不力而可能產生的傷 害。舉例來說: 一、由所在地點決定的“垃圾郵件”:用戶的位置可能被不法商家用來大量發送 廣告垃圾郵件,以及透過得知用戶所在位置,各種有關的產品或服務不請自 來的推銷行為。 二、個人的福祉和安全:所在地點和人身安全有著密不可分的聯繫。當個人的位 置信息不受限制地被曝光時,可能導致被陷入危險境地的機會增加,例如騷 擾行為或是針對個人身體的攻擊。 三、侵入性的推論:地點會限制本研究在該地點所能進行的活動,如會議,醫療 設施,本研究的家園,甚至犯罪現場。因此,位置可以用來推斷個人的其他 個人信息,例如,個人的政治觀點,健康狀況,或個人喜好等等。. 為了對惡意伺服器保護用戶的位置隱私資訊,目前有幾種較為廣泛使用的技 術方法。第一種以混淆為基礎的方法 Cloaking [2,3,6,7,9,20],將用戶的位置資訊 隱藏在一個更大的區域當中。第二種是基於數據加密的方法 Data Transformation [19],將使用者和伺服器之間的溝通過程全部加密,讓惡意者就算可以攔截訊 息,依然無法得知詳細資料內容。還有以運算作為基礎的 computational Private-Information-Retrieval-based (cPIR) 方法[4,5,10,14,15,17],但將會耗費代價 昂貴的運算成本。最後一種則是在伺服器上直接加上 Private Information Retrieval(PIR) 計算晶片[8,13,16,18],這種隱私訊息檢索器也能達成類似於資料 加解密的效果。. 2   .

(11) 1.2. 研究動機與目的. 根據上述研究背景,本研究目的主要針對第三種利用 Private Information Retrieval(PIR) 計算晶片的方法,透過資料庫資料結構的改良,減少隱私訊息檢 索器的抓取次數,進而增加隱匿方法的效能。. 在根基於 LBS 的應用服務程式當中,如 Google map,用戶可能會透過伺服 器來搜尋離用戶地理位置最近的鄰居(例如用戶感興趣的的目標) 。然而,這樣 的空間查詢,可能會對用戶的隱私權構成威脅,因為查詢時的位置可能會揭示關 於用戶的敏感信息。因此在搜尋最近鄰居的同時提供強力的位置隱私是位置隱匿 最主要的目的。. 考慮到真實地圖的分佈大多為非均勻分布,分均勻分布主要有兩種情形,一 種是某一區域內聚集的景點特別密集,本研究稱之為密集區域,另一種則是某些 區域內是沒有任何景點存在的閒置狀態,本研究稱之為空曠區域。這兩種情況將 可能使得原本的空間隱匿方法在抓取 PIR 時,耗費多餘的儲存空間及運算時間。. 因此針對真實地圖的非均勻分布特性,本研究將針對上述兩種情況提出改善 的方法,在實現空間隱匿方法中,改善資料庫的設計以及儲存方式,使得抓取 PIR 次數減少,最終將產生六種演算法的實驗結果來做出比較: 1.. 針對一般均勻資料分佈的方法 SeQuential Linked List。. 2.. 針 對 高 密 度 區 域 , 提 出 多 層 次 彈 性 網 格 (multilayer) 的 改 善 方 法 Multilayer SeQuential Linked List (MSQL)。. 3.. 針對稀疏空曠區域,提出非空查看(non-empty lookuptable)的改善方法Non-empty SeQuential Linked List (NSQL)。 3 .  .

(12) 4.. 同時考慮兩種情況,合併使用後的改善方式-Non-empty Multilayer SeQuential Linked List (MNSQL)。. 5.. 針對一般均勻資料分佈的方法 HilBert SeQuential Linked List (HBL) 。. 6.. 針 對 高 密 度 區 域 , 提 出 多 層 次 彈 性 網 格 (multilayer) 的 改 善 方 法 Multilayer HilBert SeQuential Linked List (MHBL)。. 4   .

(13) 7. 1.3. 研究架構. 在本研究中,第一章為序論,包含背景、動機、以及目的。概述了整篇論文。 第二章為查詢者地點隱藏相關之文獻探討,介紹本論文的相關研究,分別說明經 常用來處理查詢者地點隱匿的方法,並且就其中最普遍的一種方法,介紹其內容 並且討論和本研究的相關性。第三章為非均勻資料之查詢者地點隱藏問題之定 義,說明本研究要探討的問題,並且介紹用以改善的基礎演算法之資料儲存結構 以及最近鄰居搜尋的演算法。本研究根據真實地圖中的非均勻分佈特性,針對兩 種非均勻分布的普遍狀況,景點高密度的密集區域以及無景點的稀疏空曠區域, 分別提出利用多層彈性網格以及非空查看表作為改善方法。第四章為針對改善後 的四種演算法,分別介紹其資料儲存結構以及最近鄰居搜尋例子,最後在同一個 查詢者所在位置的條件之下,進行簡單的比較。第五章的實驗及結果分析,首先 利用小型地圖的人工資料集,以利改變各種相關地圖的分佈參數,觀察查詢者地 點隱藏的效率會受到何種影響。然後利用真實世界範圍更加廣大的真實地圖資料 集做更進一步的驗證。最後第六章為結論及未來研究方向,探討本研究的研究結 果及未來可行之研究。. 5   .

(14) 第二章 查詢者地點隱匿相關之文獻探討 本章回顧三類處理查詢者地點隱匿的方法:(1) 混淆法 (Cloaking) (2) 資料 數據轉換法 (Data Transformation) (3) 私密化資訊檢索法 (Private Information Retrieval)。接下來 2.1 節將介紹 Cloaking。2.2 節將介紹 Data Transformation。2.3 節將介紹 Private Information Retrieval,也是本研究試圖改善的範圍。. 2.1. 混淆法(Cloaking). 圖 2-1. Obfuscation example. 有關於 LBS 上的相關位置隱匿方法,早期採用的都是模糊處理方法,例如 K-隱匿或 Cloaking 原則,如果辨認出一個查詢用戶位置的機率不超過 1/K,K 就 代表著這個用戶必須至少被隱藏在 K 個使用者當中。. 6   .

(15) 如圖 2-1 所示,此方法需要一個可信賴的第三方主機來記錄所有查詢者當前 位置的記錄,才有辦法達成隱匿的效果。在有了第三方主機之後,查詢用戶將不 再直接向 LBS 送出尋找最近鄰居的查詢命令,而是先和第三方主機連絡,進而 從第三方主機當中建立一塊 Cloaking 區域(CR),這區域當中包含了送出查詢的 用戶真實位置以及其他 K-1 個利用來混淆的用戶位置。第二步才是將這塊 Cloaking 區域送至 LBS 進行最近鄰居 Nearest Neighbor (NN)的查詢,這將得到任 何在 Cloaking 區域當中的用戶位置的最近鄰居結果。這些所有可能的結果集合 被送回到第三方主機,再過濾掉多餘結果後將需要的正確查詢答案送回給查詢用 戶。因此在這個方法當中,由於可信賴第三方主機的存在,查詢用戶不需要直接 將自己的真實位置傳送給 LBS 知道,進而達到隱匿的效果。. 這種方法有著一些缺點,包括了(1)第三方主機也可能成為一個被攻擊的目 標,(2)必須要有大量的用戶使用這項服務,否則當第三方主機中沒有足夠的使 用者位置時,將很難建立出 Cloaking 區域(偽裝區域)。所以在第三節將介紹的 PIR-based 方法就是為了避免這些缺點所發展出來的方法。. 7   .

(16) 2.2. 資料數據轉換法(Data Transformation). 圖 2-2. Secure Computation On Encrypted Data Base example. 圖 2-2 表示了一個作為安全加密的資料庫模型。在此一模型當中 user 1 是資 料庫 DB 的擁有者而 user 2 是意欲執行查詢動作的用戶。充分利用服務提供者 Service Provider(SP)所具有計算的資源優勢,取代在本機所進行的查詢過程,user 1 將 DB 加密後成為一個加密後的資料庫 Encrypted Database Management System (EDBMS),當 user 1 想要進行查詢動作時所經過的都是這個 EDBMS(在某些應用 程式當中,user 1 甚至有可能不需要儲存資料庫 DB,而是直接依靠 EDBMS 作 為儲存的資料庫)。為了安全的緣故,所有記錄在送至 EDBMS 之前都會先由 user 1 作加密的動作。同樣的,user 2 在進行查詢時同樣也會先經過加密。而後 EDBMS 會在加密的資料庫當中的執行這個加密後的查詢,接著再把加密後的結果 R 回 送給 user 2(R 代表資料庫中加密過後的記錄集,內容則是用戶所要求最近鄰居查 8   .

(17) 詢的結果答案)。user 2 在 R 當中會獲得一個解密方法 D 用以解密獲得查詢結果 答案。. 在這個模型當中,user 1 以及 user 2 必須擁有一個共同同意的安全加密協 定。透過此一方法,可以達到查詢者位置的隱匿效果。雖然這種方法比以混淆為 基礎的方法提供了更強力的位置隱私,但編碼以及解碼代表著更多的計算和處理 成本。此外,這種方法容易遭受到根據模式進行的攻擊,這是由於每次相同的查 詢總是會得到相同的編碼結果[19]。. 2.3. 私密化資訊檢索法(Private Information Retrieval). 圖 2-3. PIR-based 方法[8,13]. 如圖 2-3 所示,為此方法的運作過程表示。PIR 是指在儲存了 N 筆記錄的 伺服器當中去抓取第 i 筆記錄的問題。”Private”表示伺服器並不知道i的真正代 表意思,也就是說伺服器並沒有辦法得知用戶真正感興趣的目標是哪些。實現的 方式可以分為 cPIR 協定以及 secure hardware PIR,在 cPIR 協定當中資料庫的資 9   .

(18) 料被儲存在一台伺服器上,而當用戶向伺服器下達查詢命令時,cPIR 的存在使 得伺服器無法得知用戶端真正所抓取的資料為何。在 secure hardware PIR 當中, 一塊具有防止竄改能力的 CPU 被放置在伺服器當中,同時這塊 CPU 是能夠被客 戶端所信賴的。當這塊 CPU 收到了用戶端要求 block 資訊的要求後,便從伺服 器當中抓取 block 的資訊,然後以加密的型式返送回給客戶端。. Ghinita et al. [4,5]是第一位提出利用 Quadratic Residuosity Assumption (QRA) cPIR 作為實現可提供進行位置查詢時的個人位置隱私保護。這個方法由於隱私 是透過 cryptographic 技術達到保護效果,並不需要第三方的可信賴主機。 ExactNN 演算法在這篇研究中被提出用來返回對用戶查詢確切的最近鄰居位 置。. Papadopoulos et al. [13]則是首位提出利用以硬體為基礎的PIR retrieval來提 供進行位置查詢時的個人位置隱私保護。裡面所提出的k Nearest Neighbor (kNN) 方法是設計一個儲存POI的資料庫,以及屬於每次查詢的查詢計畫,能夠使得PIR retrieval在尋找k個最近鄰居POIs時存取的次數最小化。. 以硬體為基礎的PIR retrieval是根據Williams et al. [18] 所提出的安全硬體裝 置方法而產生。這裡的硬體被定義為位於伺服器當中的安全協處理器(SCOP)。 它是一種通用的,防篡改的CPU,經其所進行的處理是可受信任的,就算惡意攻 擊者接收到了這些訊息,重要內容資訊依然能夠不受干擾並且不被觀測到。 SCOP的通信通過一個安全的SSL通道與客戶端訪問服務器的硬碟,也就是資料 庫的儲存位置所在。它從伺服器提取客戶端所請求的blocks,並以客戶端可完全 理解的加密形式送回到客戶端。它可以被視為一個黑盒子的接口,任何外部算法 都可透過此方法用於支持私有的blocks檢索。. 10   .

(19) 在本研究中提出兩種能夠在POI地圖資料的非均勻分佈狀況下提供高效率 存取的技術,分別是針對密集區域的multilayer以及針對空曠區域的non-empty lookuptable方法,以達成PIR-based方法的效能改進。數值實驗表明,提出的方法 確實提供了更好的效率。. 11   .

(20) 第三章 非均勻資料之查詢者地點隱藏問題之定義 本章將介紹非均勻資料之查詢者地點隱藏問題之定義。第一節會介紹本研究 問題定義的系統架構圖。第二節將介紹兩種將用來被改善的基礎方法 SeQuential Linked List (SQL)以及 HilBert SeQuential Linked List (HBL)的資料儲存結構。第 三節將用一個簡單的例子介紹最近鄰居搜尋,並且說明演算法的流程。. 3.1. 系統架構. 圖 1-1 系統架構圖. 圖 3-1 代表了本研究問題定義的系統架構圖,是使用以安全硬體實現 PIR 取 代可信任的第三方主機作為隱匿的主要方法。如圖所示,客戶端會希望經由位於 LBS上的景點資料庫中進行一次尋找k個最近鄰居的查詢,同時能夠不必暴露出 客戶端的真實位置而達成此一目標。一次k個最近鄰居的查詢會被轉換成PIR的查 詢列表Qi,j.。LBS上含有一個協處理器,能夠安全處理客戶端送來的查詢列表。 LBS會在資料庫裡組織一個索引資料結構,包含了DB1, DB2, …, DBm,m的大小 12   .

(21) 由所提供的運算解決方法決定。每個DBi 包含了由相同大小的blocks Bi,1, Bi,2所組 B. B. 成。LBS由類似於黑盒子的安全硬體裝置的PIR協議[18]將用戶的查詢Qi,j 轉換為 對DBi的抓取。查詢的結果會以Ci,j的方式呈現並且送回到客戶端。Qi,j 以及Ci,j 都 只有客戶端以及LBS上的安全硬體裝置可以讀取。假設惡意攻擊者能夠透過方法 得知LBS當中的資訊,但並沒有辦法得知客戶端和安全硬體裝置之間的協議。因 此查詢計畫能夠擁有最高的隱私程度。這代表著惡意攻擊者將無法從資料庫當中 任何其他的地點資料去辯認出查詢者的所在位置。. 由於 PIR 抓取動作決定了該次查詢中所將耗費的計算成本,因此為了實現更 有效率的位置隱私保護,關鍵在於如何設計一個儲存 POI 的資料結構,能夠讓 PIR 抓取的次數最小化。. 因此資料庫的設計決定了使用 PIR 作為查詢者位置隱匿時的成本花費程 度,本研究將針對非均勻分布中的兩種景點分佈特性提出改善方法:(1)針對高 密度區域,提出多層次彈性網格(multi-layer)的改善方法。(2)針對稀疏空曠區域, 提出非空查看(non-empty lookup)的改善方法,最終將兩種情形同時列入考慮。改 善的兩個基礎方法是 SeQuential Linked List(SQL)以及 HilBert Sequential Linked List(HBL) 。接下來的 3.2 將介紹這兩種基礎方法的資料儲存結構,3.3 將介紹這 兩種基礎方法在最近鄰居搜尋時的演算法流程。. 13   .

(22) 資料儲存結構. 3.2 3.2.1. SeQuential Linked List 資料儲存結構. 圖 3-2. SQL 方法的範例. 圖 3-2 之左圖展示的是由 SeQuential linked List (SQL)進行最近鄰居搜尋的 地圖範例。圖 3-2 之右圖展示的是SQL的資料庫設計結構,類似的結構在之前的 研究中曾被提及[8,13]。地圖的結構分為 4x4 總計十六個網格,當中包含 25 個 POI。整個SQL方法中包含了兩個資料庫DB1以及DB2,首先觀察DB1的設計,對 於每個地圖上的網格,LBS會建立一個block B,使用作為儲存索引< Pi.id, Pi.x, Pi.y, Pi.ptr>,其中一個block可以儲存四個POI的索引;而DB2中儲存各個POI的詳 細資訊,其中一個block可以儲存 3 個POI的詳細資訊,DB1Pi.ptr代表指向了DB2當 中包含該POI Pi的block位置。而當一筆block中沒有存滿時會以dummy表示。此 外,當一個網格內的POI數目超過了一筆block的容量時,LBS會以錬結串列的方 式於DB1增加額外的block來加以儲存。. 14   .

(23) 3.2.2. HilBert Sequential Linked List 資料儲存結構. 圖 3-3. HBL 方法的範例. 圖 3-3 之左圖展示的是由 HilBert SeQuential linked List (HBL)進行最近鄰居 搜尋的地圖範例。圖 3-3 之右圖展示的是HBL的資料庫設計結構,類似的結構在 之前的研究中曾被提及[8,13]。地圖的結構分為 4x4 總計十六個網格,當中包含 25 個POI。整個HBL方法中包含了三個資料庫DB1、DB2以及DB3,首先觀察DB1的 設計,網格的編號以Hilbert Curve [11]的順序走訪,一個block可以儲存八個網格 的POI相關數字,以網格編號 3 為例,左邊數字 2 代表目前網格編號之前的所有 POI數目,右邊數字 1 代表此格內所具有的POI數目。DB2中的每一個block B,使 用作為儲存索引< Pi.id, Pi.x, Pi.y, Pi.ptr>,其中一個block可以儲存四個POI的索 引,儲存的順序是按照網格順序依序將所有POI存入;而DB3中儲存各個POI的詳 細資訊,其中一個block可以儲存 3 個POI的詳細資訊,DB2 Pi.ptr代表指向了DB3 當中包含該POI Pi的block位置。而當最後一筆block中沒有存滿時會以dummy表 示。 15   .

(24) 相較於SQL方法,HBL方法的最大差異處在於利用Hilbert Curve走訪的順序 作為網格編號的依據。而新增加的DB1設計中,主要用來記錄在走訪過程當中依 序會讀取到的POI。在不改變DB2 以及DB3的設計結構之下,由於多了DB1 可供作為判斷POI屬於哪個網格編號的索引,因此在DB2的儲存方面,可以節省 dummy的浪費,而能夠以不間斷每個block能夠儲存滿四個POI位置的方式建構 DB2。. 3.3. 最近鄰居搜尋. 在搜尋最近鄰居時,很多演算法都遵循著相同的原則。例如CPM [12]在網格 檢索中是領先於其他同類的方法。首先從查詢者所在網格中(位於DB1)的所有景 點計算得知和查詢者所在位置最短的距離。這個距離會決定在kNN 搜尋裡DB1 中需要被列入考慮的所有POI索引,之後根據每個POI的ptr 指標,指向DB2其中 包含該POI詳細資訊的該筆資料。CPM將能夠決定在一次查詢當中,至少需要獲 得多少個網格內的資訊。由於用戶的位置包含在一個網格當中,因此在還只有該 所在網格的資訊時,將這個網格內離用戶最近的一個POI和用戶所在位置的絕對 距離當成半徑,以此所畫出的圓形範圍內,包含的區域都是可能擁有更近鄰居的 區域,這些區域內網格的資訊都是必須抓取的資訊。. SQL 和 HBL 的最近鄰居搜尋演算邏輯也是遵循著相同的原則,差別在於地 圖網格的編號依循的原則不同時,在決定搜尋最近鄰居過程中所必須包含的範圍 大小也會有所不同,進而影響到所必須花費的 PIR 抓取次數成本。. 16   .

(25) 圖 3-4. SQL 方法的最近鄰居搜尋範例. SQL最近鄰居搜尋的範例如下。從圖 3-4 當中考慮用戶從QP進行的 1nn搜 尋,B1,7, B1,8, B1,11, B1,12和該查詢進行CPM所得到的圓形面積有重複區域,因此必 B. B. B. B. 須抓取這四個網格內的POIs資訊。從DB1的索引當中去尋找DB2的block位置。在 這個搜尋例子當中,總共需要 13 次PIR抓取,其中包含從DB1抓取B1,7, B1,8, B1,11, B. B1,12, B1,17, B1,18, B1,19,從DB2抓取B2,2, B2,3, B2,4, B2,5, B2,6, B2,7。 B. B. B. B. B. 圖 3-5. B. B. B. B. HBL 方法的最近鄰居搜尋範例. 17   . B. B. B.

(26) HBL最近鄰居搜尋的範例如下。從圖 3-5 當中考慮用戶從QP進行的 1nn搜 尋,網格編號 9、12、13、14 和該查詢進行CPM所得到的圓形面積有重複區域, 因此必須抓取這四個網格內的POIs資訊。從DB1當中網格編號 9、12、13、14 的 相關資訊皆位於DB1的B1,2當中,從DB1的B1,2當中可以得知DB2中這些位於重複 B. B. 區域內的POI在DB2中的儲存block位置,最後經由DB2的索引當中去尋找DB3的 block位置。在這個搜尋例子當中,總共需要 12 次PIR抓取,其中包含從DB1抓 取B1,2,從DB2抓取B2,2, B2,3, B2,4, B2,5, B2,6,從DB3抓取B3,3, B3,4, B3,5, B3,6, B3,7, B3,8。 B. B. B. B. B. B. B. 18   . B. B. B.

(27) 第四章. 四種改善之演算法. 在本章中提出了四個新的 POI 資料儲存結構以及盡可能達到最少 PIR 抓取 次數的最近鄰居搜尋演算法。由於考慮到地圖非均勻分布當中的不同情形,本研 究針對其中擁有高密度 POI 的密集網格區域,提出了 Multi-layer SQL (MSQL)以 及 Multi-layer HBL (MHBL) 方法。針對其中不包含 POI 的稀疏網格區域,提出 了 Non-empty SQL (MSQL) 方法。而針對兩種情形同時考慮的情形下,提出了 Multi-layer Non-empty SQL (MNSQL) 方法。. 本章第一節將介紹四種改善後演算法的資料儲存結構,第二節將介紹四種改 善後演算法的最近鄰居搜尋演算法。. 資料儲存結構. 4.1. 本節中將依序介紹 MSQL、NSQL、MNSQL、MHBL 方法的資料儲存結構。. 4.1.1. Multilayer SeQuential Linked List 資料儲存結構. 圖 4-1. MSQL 方法的範例 19 .  .

(28) 圖 4-1 之左圖展示的是由MSQL進行最近鄰居搜尋的地圖範例。圖 4-1 之右 圖展示的是MSQL的資料庫設計結構。地圖的結構分為 4x4 總計十六個網格,當 中包含 25 個POI。整個MSQL方法中包含了兩個資料庫DB1以及DB2,首先觀察 DB1的設計,對於每個地圖上的網格,LBS會建立一個block,使用作為儲存索引 < Pi.id, Pi.x, Pi.y, Pi.ptr>,其中一個block可以儲存四個POI的索引;而DB2中儲存 各個POI的詳細資訊,其中一個block可以儲存 3 個POI的詳細資訊,DB1Pi.ptr代 表指向了DB2當中包含該POI Pi的該筆block位置。而當一筆block中沒有存滿時會 以dummy表示。此外,當一個網格內的POI數目超過了一筆block的容量時,LBS 會以錬結串列的方式於DB1增加額外的block來加以儲存。. 真實世界中的地圖資料分布往往是非均勻分布的情形,有些地點會是高度集 中的密集網格區域,例如圖 4-1 當中佔了POI總數 60%的POI位於C11當中,在總 共 16 個網格中,有 7 個網格為不包含任何POI的空網格,空網格佔總網格數的 比例為 44%。該次查詢者的位置位於C7中,這次查詢的kNN 搜尋中需要抓取C7, C8, C11, C12,因為有 15 個POI 位於C7。但是針對C11這塊密集區域作彈性多層網. 格之後,就可以不必抓取C19, C20 當中的 6 個POI。. DB1當中的第一個block B1,1,代表著地圖中編號 1 的網格c1。該網格內只包 B. 含了一個POI(P1),因此B1,1儲存了< P1.id, P1.x, P1.y, P1.ptr>以及其他三個dummy B. 資料。但在編號C11的網格當中,此一網格包含了 15 個POI,因此將其利用彈性. 多層網格的方式重新分割成為B1,17 ,B1,18 ,B1,19 ,B1,20,使得每一網格仍然最多只需 B. B. B. B. 要兩個DB1中的block就能儲存完畢,其他儲存規則和SQL方法相同。. 20   .

(29) Non-empty SeQuential Linked List 資料儲存結構. 4.1.2. 圖 4-2. NSQL 方法的範例. 圖 4-2 之左圖展示的是由NSQL進行最近鄰居搜尋的地圖範例。圖 4-2 之右 圖展示的是NSQL的資料庫設計結構。地圖的結構分為 4x4 總計十六個網格,當 中包含 25 個POI。整個NSQL方法中包含了兩個資料庫DB1以及DB2,首先觀察 DB1的設計,對於每個地圖上的網格,LBS會建立一個block,使用作為儲存索引 < Pi.id, Pi.x, Pi.y, Pi.ptr>,其中一個block可以儲存四個POI的索引;而DB2中儲存 各個POI的詳細資訊,其中一個block可以儲存 3 個POI的詳細資訊,DB1Pi.ptr代 表指向了DB2當中包含該POI Pi的該筆block位置。而當一筆block中沒有存滿時會 以dummy表示。此外,當一個網格內的POI數目超過了一筆block的容量時,LBS 會以錬結串列的方式於DB1增加額外的block來加以儲存。. 考慮到真實地圖非均勻分布當中的空曠區域情況,以整個DB1 為例,編號 5,8,9,10,12,13,15 的六個網格當中沒有任何POI存在,但在DB1 當中仍然必須有 B1,5 ,B1,8 ,B1,9 ,B1,10 ,B1,12 ,B1,13 ,B1,15等六個block來加以儲存,導致在每次查詢計畫 B. B. B. B. B. B. B. 當中,如果需要得知這些區域的資訊時,仍然必須進行至少一次PIR抓取動作。 這些針對空曠區域網格的PIR抓取,由於無法取得任何有意義的POI資訊,同樣 都屬於多餘的成本花費。 21   .

(30) 因此針對此一情況本研究提出non-empty方式加以改善,除了原本的兩個資 料庫之外,另外增加一個lookup table作為非空網格的編號索引表,而在DB1當中 原本每個網格都必須有和網格編號相對應的編號,在有了lookup table之後,DB1 不再需要儲存完全沒有POI存在的block。以DB1 為例,相較於SQL方法當中的 DB1,減少了六個block的儲存空間。至於其他儲存規則和SQL相同。. 4.1.3. Multilayer Non-empty SeQuential Linked List 資料儲存結構. 圖 4-3. MNSQL 方法的範例. 圖 4-3 之左圖展示的是由MNSQL進行最近鄰居搜尋的地圖範例。圖 4-3 之右 圖展示的是MNSQL的資料庫設計結構。地圖的結構分為 4x4 總計十六個網格, 當中包含 25 個POI。整個MNSQL方法中包含了兩個資料庫DB1以及DB2,首先觀 察DB1的設計,對於每個地圖上的網格,LBS會建立一個block,使用作為儲存索 引< Pi.id, Pi.x, Pi.y, Pi.ptr>,其中一個block可以儲存四個POI的索引;而DB2中儲 存各個POI的詳細資訊,其中一個block可以儲存 3 個POI的詳細資訊,DB1Pi.ptr 22   .

(31) 代表指向了DB2當中包含該POI Pi的該筆block位置。而當一筆block中沒有存滿時 會以dummy表示。此外,當一個網格內的POI數目超過了一筆block的容量時,LBS 會以錬結串列的方式於DB1增加額外的block來加以儲存。. 由於真實世界中的地圖資料分布往往是不均勻分布的情形,有些地點會是高 度集中的密集網格區域,有些地點會是不具有任何景點的稀疏空曠網格區域, MNSQL 的資料庫設計結構就是同時將這兩種情形考慮,並且做出改善。. 針對非均勻分布當中的密集區域情況,例如圖 4-3 當中佔了POI總數 60%的 POI位於C11當中,在總共 16 個網格中,有 7 個網格為不包含任何POI的空網格, 空網格佔總網格數的比例為 44%。該次查詢者的位置位於C7中,這次查詢的kNN 搜尋中需要抓取C7, C8, C11, C12,因為有 15 個POI 位於C7。但是針對C11這塊密集 區域作彈性多層網格之後,就可以不必抓取C19, C20 當中的 6 個POI。. DB1當中的第一個block B1,1,代表著地圖中編號 1 的網格c1。該網格內只包 B. 含了一個POI(P1),因此B1,1儲存了< P1.id, P1.x, P1.y, P1.ptr>以及其他三個dummy B. 資料。但在編號C11的網格當中,此一網格包含了 15 個POI,因此將其利用彈性. 多層網格的方式重新分割成為B1,17 ,B1,18 ,B1,19 ,B1,20,使得每一網格仍然最多只需 B. B. B. B. 要兩個DB1中的block就能儲存完畢,其他儲存規則和SQL方法相同。. 針 對 非 均 勻 分 布 當 中 的 空 曠 區 域 情 況 , 以 整 個 DB1 為 例 , 編 號 5,8,9,10,12,13,15 的六個網格當中沒有任何POI存在,但在DB1 當中仍然必須有 B1,5 ,B1,8 ,B1,9 ,B1,10 ,B1,12 ,B1,13 ,B1,15等六個block來加以儲存,導致在每次查詢計畫 B. B. B. B. B. B. B. 當中,如果需要得知這些區域的資訊時,仍然必須進行至少一次PIR抓取動作。. 23   .

(32) 這些針對空曠區域網格的PIR抓取,由於無法取得任何有意義的POI資訊,同於 都屬於多餘的成本花費。. 因此針對此一情況本研究提出non-empty方式加以改善,除了原本的兩個資 料庫之外,另外增加一個lookup table作為非空網格的編號索引表,而在DB1當中 原本每個網格都必須有和網格編號相對應的編號,在有了lookup table之後,DB1 不再需要儲存完全沒有POI存在的block。以DB1 為例,相較於SQL方法當中的 DB1,減少了六個block的儲存空間。至於其他儲存規則和SQL相同。. 4.1.4. Multilayer HilBert Sequential Linked List 資料儲存結構. 圖 4-4. MHBL 方法的範例. 圖 4-4 之左圖展示的是由MHBL進行最近鄰居搜尋的地圖範例。圖 4-4 之右 圖展示的是MHBL的資料庫設計結構。地圖的結構分為 4x4 總計十六個網格,當 中包含 25 個POI。整個MHBL方法中包含了三個資料庫DB1、DB2以及DB3,首先 24   .

(33) 觀察DB1的設計,網格的編號以Hilbert Curve的順序走訪,一個block可以儲存八 個網格的POI相關數字,以網格編號 3 為例,左邊數字 2 代表目前網格編號之前 的所有POI數目,右邊數字 1 代表此格內所具有的POI數目。DB2中的每一個block B,使用作為儲存索引< Pi.id, Pi.x, Pi.y, Pi.ptr>,其中一個block可以儲存四個POI 的索引,儲存的順序是按照網格順序依序將所有POI存入;而DB3中儲存各個POI 的詳細資訊,其中一個block可以儲存 3 個POI的詳細資訊,DB2Pi.ptr代表指向了 DB3 當中包含該POI Pi的block位置。而當最後一筆block中沒有存滿時會以 dummy表示。. 真實世界中的地圖資料分布往往是不均勻分布的情形,有些地點會是高度集 中的密集網格區域,例如圖 4-4 當中佔了POI總數 60%的POI位於C9 , C10 , C11, C12的範圍當中,在總共 16 個網格中,有 7 個網格為不包含任何POI的空網格, 空網格佔總網格數的比例為 44%。該次查詢者的位置位於C17中,這次查詢的kNN 搜尋中原本需要抓取C9, C10, C11, C12。但是針對這塊密集區域作彈性多層網格之 後,分割後就可以不必抓取C9, C12 這兩塊網格區域。. 分割後所增加的網格,於原本的DB1中同樣按照Hilbert Curve的順序走訪, 走訪到時將分割後網格同樣視為一個獨立網格,插入DB1的資料當中,其他未做 出更動的網格則在後面依序存入DB1。. 25   .

(34) 最近鄰居搜尋. 4.2. 本節中將依序介紹 MSQL、NSQL、MNSQL、MHBL 方法的最近鄰居搜尋。. 4.2.1. Multilayer SeQuential Linked List 最近鄰居搜尋. 圖 4-5. MSQL 方法的最近鄰居搜尋範例. 從圖4-5當中考慮用戶從QP進行的一個最近鄰居搜尋,B1,7, B1,8, B1,11, B1,12和 B. B. B. B. 該查詢進行CPM所得到的圓形面積有重複區域,因此必須抓取這四個網格內的 POIs資訊。從DB1的索引當中去尋找DB2的block位置。在這個搜尋例子當中,總 共需要11次PIR抓取,其中包含從DB1抓取B1,7, B1,8, B1,11, B1,12, B1,17, B1,18, B1,21,從 B. B. B. B. B. B. B. DB2抓取B2,2, B2,3,B2,6, B2,7。相較於同一例子使用SQL方法時的PIR次數,減少了兩 B. B. B. B. 次。. 在使用 MSQL 的資料結構時,kNN 搜尋演算法的主要步驟如下。本研究使 用 CPM 技術選擇需要抓取的可能包含最近鄰居的網格:. 26   .

(35) Input:. QP(x, y), G, DB1, DB2, K.. Output: K nearest neighbors of QP(x, y).. 1.. Locate cell CQP, which contains QP(x, y);. 2.. Apply CPM on QP and G, to obtain list of cells, visit_list, containing kNN;. 3.. Apply PIR to retrieve blocks in DB1 that contains visit_list;. 4.. Determine the kNN result based on the coordinates of the retrieved POIs;. 5.. Apply PIR to retrieve blocks in DB2 that contains the resulted kNN POIs;. Non-empty SeQuential Linked List 最近鄰居搜尋. 4.2.2. 圖 4-6. NSQL 方法的最近鄰居搜尋範例. 從圖 4-6 當中考慮用戶從QP進行的一個最近鄰居搜尋,在這個搜尋例子當 中,總共需要 12 次PIR抓取,其中包含從lookup table抓取一次,從DB1抓取B1,7, B. B1,11, B1,17, B1,18, B1,21,從DB2抓取B2,2, B2,3, B2,4, B2,5, B2,6, B2,7。相較於同一例子使 B. B. B. B. B. B. B. 用SQL方法時的PIR次數,減少了一次。. 27   . B. B. B.

(36) 在使用 NSQL 的資料結構時,kNN 搜尋演算法的主要步驟如下。本研究使 用 CPM 技術選擇需要抓取的可能包含最近鄰居的網格:. Input:. QP(x, y), G, DB1, DB2, K.. Output: K nearest neighbors of QP(x, y).. 1.. Locate cell CQP, which contains QP(x, y);. 2.. Apply CPM on QP and G, to obtain list of cells, visit_list, containing kNN; 2.1. Search on Lookup Table for block index on DB1;. 3.. Apply PIR to retrieve blocks in DB1 that contains visit_list;. 4.. Determine the kNN result based on the coordinates of the retrieved POIs;. 5.. Apply PIR to retrieve blocks in DB2 that contains the resulted kNN POIs;. 4.2.3. Multilayer Non-empty SeQuential Linked List 最近鄰居搜尋. 圖 4-7. MNSQL 方法的最近鄰居搜尋範例. 28   .

(37) 從圖 4-7 當中考慮用戶從QP進行的一個最近鄰居搜尋,在這個搜尋例子當 中,總共需要 10 次PIR抓取,其中包含從lookup table抓取一次,從DB1抓取B1,7, B. B1,11, B1,17, B1,18, B1,21,從DB2抓取B2,2, B2,3,B2,6, B2,7。相較於同一例子使用SQL方法 B. B. B. B. B. B. B. B. 時的PIR次數,減少了 3 次。. 在使用 MNSQL 的資料結構時,kNN 搜尋演算法的主要步驟與 NSQL 類似。 本研究使用 CPM 技術選擇需要抓取的可能包含最近鄰居的網格:. Input:. QP(x, y), G, DB1, DB2, K.. Output: K nearest neighbors of QP(x, y).. 1.. Locate cell CQP, which contains QP(x, y);. 2.. Apply CPM on QP and G, to obtain list of cells, visit_list, containing kNN; 2.1. Search on Lookup Table for block index on DB1;. 3.. Apply PIR to retrieve blocks in DB1 that contains visit_list;. 4.. Determine the kNN result based on the coordinates of the retrieved POIs;. 5.. Apply PIR to retrieve blocks in DB2 that contains the resulted kNN POIs;. 29   .

(38) Multilayer HilBert Sequential Linked List 最近鄰居搜尋. 4.2.4. 圖 4-8. MHBL 方法的最近鄰居搜尋範例. 從圖4-8當中考慮用戶從QP進行的一個最近鄰居搜尋,C10, C11, C15, C16, C17 和該查詢進行CPM所得到的圓形面積有重複區域,因此必須抓取這四個網格內 的POIs資訊。從DB1當中的B1,2, B1,3可以得到這些網格的POIs資訊,進而去尋找 B. 到去尋找DB2的block位置,最後從DB2的索引尋找到DB3的block位置。在這個搜 尋例子當中,總共需要11次PIR抓取,其中包含從DB1抓取B1,2, B1,3,DB2抓取B2,3, B. B. B. B2,4, B2,5, B2,6,從DB3抓取B3,4, B3,5,B3,6, B3,7, B3,8。相較於同一例子使用HBL方法時 B. B. B. B. B. B. B. 的PIR次數,減少了一次。. 在使用 MHBL 的資料結構時,kNN 搜尋演算法的主要步驟如下。本研究使 用 CPM 技術選擇需要抓取的可能包含最近鄰居的網格: 30   .

(39) Input:. QP(x, y), G, DB1, DB2, DB3, K.. Output: K nearest neighbors of QP(x, y).. 1.. Locate cell CQP, which contains QP(x, y);. 2.. Apply CPM on QP and G and DB1, to obtain list of cells, visit_list, containing kNN;. 3.. Apply PIR to retrieve blocks in DB2 based on visit_list;. 4.. Determine the kNN result based on the coordinates of the retrieved POIs;. 5.. Apply PIR to retrieve blocks in DB3 that contains the resulted kNN POIs;. 31   .

(40) 4.3. 分析與比較. 總結以上四種改善後之演算法以及原先基礎的兩種演算法,表 1 為同一用戶 查詢最近鄰居的相同例子所得到的 PIR 抓取次數比較表。以此例子而言,MSQL, NSQL,以及 MNSQL 相較於 SQL 都減少了 PIR 抓取次數,而 MHBL 相較於 HBL 而言也減少了 PIR 抓取次數。代表著針對非均勻分布狀況下的密集區域以及稀疏 空曠區域所改善後的演算法皆能較原先的演算達到更佳的效率。. 方法. SQL. MSQL. NSQL. MNSQL. HBL. MHBL. Lookup table. X. X. 1. 1. X. X. DB1. 7. 7. 5. 5. 1. 2. DB2. 6. 4. 6. 4. 5. 4. DB3. X. X. X. X. 6. 5. 總計 PIR 抓取次數. 13. 11. 12. 10. 12. 11. 表 1. SQL 與其它改善方法之比較表. 第五章中將採用更多的地圖分佈情形,針對六種方法做更深入的比較,並且 分析各種方法的優缺點,最終找出在不同的地圖分布情形下,哪一種方法是更為 適合的方法。. 32   .

(41) 第五章. 實驗及結果分析. 人工資料集. 5.1. 針對基礎的 SQL、HBL 方法以及目前改善後的 MSQL、NSQL、MNSQL、 MHBL 六種方法,將透過小型人工資料集的地圖,經由改變各種地圖組成的參 數來觀察在不同的地圖特點之下,六種方法所展現出的效率如何。地圖的大小範 圍設定為一塊 4x4 總計 16 個網格的範圍,其中給定的 POI(Point of interest)為人 工資料集,POI 主要包含內容為景點名(例如:P1,P2…)以及座標位置的 X 值以 及 Y 值。. 在地圖上景點分佈設定的方面,設定為在 16 個網格當中有一個區域為包含 較多 POI 的高密度區域,以及 7 個網格為不包含任何 POI 資料的稀疏空曠區域。 以此為基本條件,觀察對於各種方法的效率影響。. 5.1.1. 地圖中總 POI 數變動時的影響. 33   .

(42) 圖 5-1. 總 POI 數目變動時的 PIR 抓取平均次數圖. 圖 5-1 為地圖中總POI數目變動時的PIR抓取平均次數圖。地圖網格設定為具 有 16 個網格的地圖區域,分別假設地圖中分別具有 25、50、75、100、125 個POI 景點,其中 60%的POI位於一個密集網格C11當中。其中具有 25 個POI景點的地 圖即為圖 4-1 至圖 4-8 所使用的根據地圖資料。計算當使用者位於不同位置時所 必須耗費的平均PIR抓取次數。平均次數由查詢者分別位於地圖上的十六個網格 時所將耗費的PIR抓取次數所決定,從結果當中可以觀察到,當地圖中的景點密 度越高,PIR的平均抓取次數也隨之上升。. 相較於 SQL 和 HBL 方法而言,利用 multilayer 做出改善的 MSQL、MNSQL、 以及 MHBL 方法在地圖景點總數增多時,顯示能夠減少 PIR 的抓取次數。其中 的原因在於當單一網格密度過高時,原先的方法中對於此單一網格的平均耗費 PIR 抓取次數成本也隨之增加許多,而利用 multilayer 做出改善的方法在地圖中 的景點密度越高時,所能減少的總 PIR 抓取次數也越多。. 34   .

(43) 密集網格內的 POI 佔地圖總 POI 比例變動時的影響. 5.1.2. 圖 5-2. 密集網格內景點數目變動時的 PIR 抓取平均次數圖. 圖 5-2 為總 POI 數設定為 100,但當單一密集網格中 POI 數目佔總 POI 百 分比不同時,同一用戶查詢最近鄰居的相同例子所得到的PIR抓取次數比較圖。 地圖網格設定為具有 16 個網格的地圖區域,假設地圖中具有 100 個POI景點, 其中有單一個網格C11是密集網格,而密集網格中的POI數佔總POI數的比例分別 為 40%、50%、60%、70%、80%時,計算當使用者位於不同位置時所必須耗費 的平均PIR抓取次數。平均次數由查詢者分別位於地圖上的十六個網格時所將耗 費的PIR抓取次數所決定,從結果當中可以觀察到,當單一密集網格佔總POI數 百分比的比例越高時,對於原先SQL以及HBL方法的影響不大,但當密集網格內 的POI佔總POI數比例越高時,利用multilayer做出改善的MSQL、MNSQL、以及 MHBL方法會有更佳的改善效果。. 35   .

(44) 查詢者所在位置變動時的影響. 5.1.3. 圖 5-3. 查詢者所在位置變動時的 PIR 抓取平均次數圖. 圖 5-3 為總 POI 數設定為 50,當查詢者位置變動時,同一用戶查詢最近鄰 居的相同例子所得到的PIR抓取次數比較圖。地圖網格設定為具有 16 個網格的地 圖區域,假設地圖中具有 50 個POI景點,其中有單一個網格C11是密集網格,當 查詢者位於密集網格內Degree設為 0,當查詢者距離密集網格一個網格距離時 Degree 設為 1,以此類推。計算當使用者位於不同位置時所必須耗費的平均PIR 抓取次數。. 從結果當中可以觀察到,利用 multilayer 做出改善的 MSQL、MNSQL、以及 MHBL 方法相較於原先的 SQL 以及 HBL 方法。改善幅度最大的時刻是當查詢者 位置位於密集網格內時。這是由於當查詢者位於密集網格內時,原先密集網格內 所有的 POI 都是必須抓取的資訊,而 multilayer 正是針對這種情形之下,將密集 網格分割成更小的網格,不必每次都必須抓取整個密集網格內的所有 POI。 36   .

(45) 地圖中空網格佔總網格比例變動時的影響. 5.1.4. 圖 5-4. 空網格佔總網格比例變動時的 PIR 抓取平均次數圖. 圖 5-4 為總 POI 數設定為 50,當非空網格佔總網格比例變動時,同一用戶 查詢最近鄰居的相同例子所得到的 PIR 抓取次數比較圖。地圖網格設定為具有 16 個網格的地圖區域,假設地圖中具有 50 個 POI 景點,而地圖中空網格佔總網 格的比例分別為 0%,25%,50%,75%。主要觀察利用 non-empty lookuptable 改 善的 NSQL 方法在這種條件變動時的改善情形。. 當空網格佔總網格的比例為 0%時,即代表非空網格比例為 100%,50 個POI 會分佈在 16 個網格當中,其中 16 個POI位於單一密集網格C11中。當空網格佔總 網格的比例為 25%時,即代表非空網格比例為 75%,50 個POI會分佈在 12 個網 格當中,為了在空網格比例變動時盡量維持地圖資料分佈之間的相似度,地圖資 料中POI的改變,把 4 個轉變為空網格的原本非空網格中的POI隨機分配到其他 37   .

(46) 12 個非空網格中。由於HBL以及MHBL中的資料儲存結構當中,並沒有對於空網 格的儲存浪費,因此在這個實驗當中只包含SQL、MSQL、NSQL以及MNSQL方 法。. 從結果當中可以觀察到,利用non-empty lookuptable做出改善的NSQL、以及 MNSQL方法相較於原先的SQL方法。改善幅度最大的時刻是當空網格佔總網格比 例越高時。相反的,當空網格比例越低,甚至接近於零時,NSQL的改善效果會 明顯的下降。這是由於non-empty lookuptable的設計是針對非均勻分布中的空曠 區域,當地圖中不具備空網格時,NSQL以及MNSQL的改善效果就越趨近於零。 當空網格佔總網格的比例為 0%時,即代表非空網格比例為 100%,在此種情況 之下,non-empty lookuptable在資料儲存結構當中的功能會完全和原本的DB1 重 複,而導致無法產生改善效果。. 38   .

(47) 5.2. 真實世界資料集. 除了小型的人工資料集之外,為了更進一步的驗證,利用了真實世界的資料 集作為地圖資料。資料來源使用位於美國東北部的郵局分佈圖 [資料來源來自於 www.rtreeportal.org.],以抽樣方式抽出 1000 個 POI,畫分為 16x16 總計 256 個網 格的地圖。其中非空網格有 67 格,非空網格比例約佔 29%,當網格中的景點超 過 16 個時需要作多層網格分割,此類網格的數目為 19 格。. 圖 5-5. 真實世界資料圖 39 .  .

(48) 圖 5-5 上方之圖為 SQL 方法建立之 16x16 的地圖網格分佈,圖 5-5 下方之圖 為 HBL 方法建立之 16x16 的地圖網格分佈,網格編號依照 hilbert curve 走訪順 序。. 所有方法的效率比較表. 5.2.1. 真實世界資料集和人工資料集的不同之處在於真實世界資料集是固定的地 圖資料,因此在評斷所有方法的效率時,不考慮地圖中其他任何參數的變動。真 實世界資料集中具有 1000 個 POI,畫分為 16x16 總計 256 個網格的地圖。其中 非空網格有 67 格,非空網格比例約佔 29%,當網格中的景點超過 16 個時需要作 多層網格分割,此類網格的數目為 19 格。查詢者所在位置由亂數隨機決定,將 一百次隨機位置做出查詢所耗費的 PIR 抓取次數作平均,用來判斷各種方法之間 的效率優劣。. 從表 2 當中可以發現,針對非均勻資料分佈的四種改善方法相較於原方法, 效率都能夠有所提升。隨著地圖範圍的加大,利用 Hilbert Curve 的 HBL 方法相 較於 SQL 方法也有更多幅度的改善。因此在大範圍的地圖資料當中,最有效率 的方法是利用 multilayer 改善後的 MHBL 方法。. 方法. SQL. NSQL. MNSQL. 總計 PIR 抓取次數 178.46 232.82 148.52. 210.08. 表 2. MSQL. 所有方法的 PIR 抓取平均次數表. 40   . HBL 113.39. MHBL 98.91.

(49) 41   .

(50) 查詢者所在位置變動時的影響. 5.2.2. 為了得知查詢者所在位置變動時對於查詢者地點時花費 PIR 抓取次數成本 的影響,將查詢者的位置分為三類,第一類為位於具有景點的網格時,第二類為 位於不包含任何景點的空網格時,第三類為查詢者的位置由亂數決定時。在三種 情況下各模擬 100 次查詢的搜尋範圍大小。以下的圖 5-6 為查詢者位於具有景點 的網格時的搜尋範圍分佈圖,圖 5-6 之左圖為 SQL 方法中之搜尋範圍,圖 5-6 之右圖為 HBL 方法中之搜尋範圍。圖 5-7 為查詢者位於空網格時的搜尋範圍分 佈圖,圖 5-7 之左圖為 SQL 方法中之搜尋範圍,圖 5-7 之右圖為 HBL 方法中之 搜尋範圍。圖 5-8 為查詢者所在位置隨機決定時的搜尋範圍分佈圖,圖 5-8 之 左圖為 SQL 方法中之搜尋範圍,圖 5-8 之右圖為 HBL 方法中之搜尋範圍。. 圖 5-6 查詢者位於具有景點的網格時的搜尋範圍分佈圖. 42   .

(51) 圖 5-7 查詢者位於空網格時的搜尋範圍分佈圖. 圖 5-8 查詢者所在位置隨機決定時的搜尋範圍分佈圖. 從圖 5-6 至圖 5-8 可以發現無論基礎是利用 SQL 或 HBL 方法,查詢者的位 置對於影響隱匿時的抓取 PIR 次數有重大的影響。當查詢者位於空網格時,搜尋 範圍往往較為廣大,而當查詢者所在的網格為具有景點的非空網格時,所必須搜 尋的範圍較小。而搜尋範圍的大小主要影響了該次查詢的抓取 PIR 次數。. 43   .

(52) 圖 5-9. 查詢者所在位置變動時的 PIR 抓取平均次數圖. 圖 5-9 為真實世界資料集,當查詢者位置變動時,同一用戶查詢最近鄰居的 相同例子所得到的 PIR 抓取次數比較圖。地圖網格設定為具有 256 個網格的地圖 區域,地圖中具有 1000 個 POI 景點,其中網格內 POI 數超過 16 的網格歸類成 密集網格。當查詢者位於空網格、具有景點的網格、以及隨機決定查詢者位置時。 計算當使用者位於不同位置時所必須耗費的平均 PIR 抓取次數。. 從結果當中可以觀察到,當地圖範圍極大時,如果查詢者的位置位於裡面具 有 POI 的網格時,就能夠在第一時間進行最近鄰居的搜尋。而當查詢者的位置 位於空網格時,由於必須往前找出至少一個 POI 來作為最近鄰居搜尋時的基準。 會讓搜尋範圍擴大,進而增加耗費的 PIR 抓取次數。. 44   .

(53) 第六章. 結論與未來研究方向. 本研究主要是探討“強化地點隱私”之問題。由於之前的研究並未特別針對地 圖資料的非均勻分布情況作考慮,因此本研究對於非均勻分佈情形當中的兩種常 見情況,針對密集區域提出多層彈性網格及針對稀疏區域提出非空網格查看表的 概念。改善原有 SQL 及 HBL 中的資料庫結構,以提供更有效率的儲存及搜索方 式。最後分別產生 MSQL、NSQL、MNSQL 以及 MHBL 四種改善後之演算法。. 在實驗結果當中,除了利用人工資料集的參數變動觀察演算法效率之外,同 時使用了真實世界中範圍更大的地圖資料對所有演算法進行效率的評比。實驗結 果當中證明了一些非均勻分佈地圖進行查詢者地點隱藏時成本變動的現象。當進 行一次最近鄰居搜尋時,所花費的抓取 PIR 成本取決於兩點,第一點是搜尋範圍 的大小,搜尋範圍越大花費成本越高,反之搜尋範圍越小花費成本越小,而搜尋 範圍主要由查詢者所在位置所決定。第二點是搜尋範圍中網格所具有的 POI 數 目多寡,當一個網格內 POI 數越多,要抓取這個網格內的所有資料時所花費的 的抓取 PIR 成本就越高。. 本研究針對非均勻分布中的密集區域以及空曠區域的改善處理,能夠減少原 本必須花費高成本的查詢情況。實驗結果證明了本研究所提出的四種改善後之演 算法能夠提供更佳的效率。. 目前的改善範圍在於資料庫儲存結構的改善,但在查詢者地點隱藏當中,除 了資料庫儲存結構的設計之外,另一個決定 PIR 抓取次數的關鍵決定於最近鄰居 搜尋的搜尋方式以及規則。因此未來考慮針對最近鄰居搜尋的搜尋方式作進一步 的查詢改善。在“強化地點隱私”的同時,以提供更有效率的儲存及搜索方式。. 45   .

(54) 參考文獻 [1] D. Asonov, Querying databases privately – A new approach to private information retrieval. Springer, 2004. [2] M. Duckham and L. Kulik. A formal model of obfuscation and negotiation for location privacy. In PERVASIVE, LNCS 3468, 152-170, 2005. [3] M. Duckham and L. Kulik. Simulation of obfuscation and negotiation for location privacy. In COSIT, LNCS 3693, 31-48, 2005. [4] G. Ghinita, P. Kalnis, and S. Skidadopoulos. PRIVE: Anonymous location-based queries in distributed mobil systems. In WWW, 371-380, 2007. [5] G. Ghinita, P. Kalnis, A. Khoshgozaran, C. Shahabi, and K.-L. Tan. Private queries in location based services: Anonymizers are not necessary. In SIGMOD, 121-132, 2008. [6] H. Hu and D. L. Lee. Range nearest-neighbor query. TKDE, 18(1):7891, 2006. [7] P. Kalnis, G. Ghinita, K. Mouratidis, and D. Papadias. Preventing location-based identity inference in anonymous spatial queries. TKDE, 19(12):1719–1733, 2007. [8] A. Khoshgozaran, C. Shahabi, and H. Shirani-Mehr. Location privacy; moving beyond k-anonymity, cloaking and anonymizers. KAIS, 2010 (online: March 3, 2010). [9] H. Kido, Y. Yanagisawa, and T. Satoh. An anonymous communication technique using dummies for location-based services. In ICPS, 88-97, 2005. [10] E. Kushilevitz and R. Ostrovsky. Replication is not needed: Single database, computationally-private information retrieval. In FOCS, 364-373, 1997. [11] B. Moon, H. V. Jagadish, C. Faloutsos, and J. H. Saltz. Analysis of the clustering 46   .

(55) properties of the Hilbert space-filling curve. TKDE, 13(1):124-141, 1996. [12] K. Mouratidis, M. Hadjieleftheriou, and D. Papadias. Conceptual partitioning: An efficient method for continuous nearest neighbor monitoring. In SIGMOD, 2005 [13] S. Papadopoulos, S. Bakiras, and D. Papadias. Nearest neighbor search with strong location privacy. In VLDB, 619-629, 2010. [14] F. Saint-Jean. Java implementation of a single-database computational symmetric private information retrieval (cSPIR) protocol. Technical Report, Department of Computer Science, Yale University, 2005. [15] N. Shang, G. Ghinita, Y. Zhou, E. Bertino. Controlling data disclosure in computational PIR protocols. In ASIACCS, 310-313, 2010. [16] S. Wang, X. Ding, R. H. Deng, and F. Bao. Private information retrieval using trusted hardware. In ESORICS, 2006. [17] S. Wang, D. Agrawal, and A.E. Abbadi. Generalizing PIR for practical retrieval of public data. In Data and Applications Security XXIV, LNCS 6166, 1-16, 2010. [18] P. Williams and R. Sion. Usable PIR. In NDSS, 139-152, 2008. [19] W. K. Wong, D. Q. Cheung, B. Kao, and N. Mamoulis. Secure kNN computation on encrypted databases. In SIGMOD, 2009. [20] M. L. Yiu, C. Jensen, X. Huang, and H. Lu. SpaceTwist: Managing the trade-offs among location privacy, query performance, and query accuracy in mobile systems. In ICDE, 366-375, 2008.. 47   .

(56)

參考文獻

相關文件

按圖索證 ────從圖象考證近現代中國的歷史發展 初中及高中 抗戰勝利七十周年圖片集:徐宗懋藏品選 初中及高中

媒體可以說是內容、資訊最大的生產者,但受制於 國際社交媒體及搜尋平台的經營手法,本地主流媒 體在發展網上業務時,面對不公平的競爭。 這些

圖 3-29 基礎震害損壞示意圖

其硬體架構如圖 9.3 所示。本實驗最主要的目的是要將之前學長所做的 GPS/INS 整合 部分中的加速儀用

本研究所開發的 XML-base ECG Management System 架構及流程 如圖 1-3 所示。ECG 的來源是地區醫院所收集的 SCP-ECG 檔案,解 碼後取得內含資訊及各導程原始電位數據,經過 XML-based

我們分別以兩種不同作法來進行模擬,再將模擬結果分別以圖 3.11 與圖 3.12 來 表示,其中,圖 3.11 之模擬結果是按照 IEEE 802.11a 中正交分頻多工符碼(OFDM symbol)的安排,以

本研究為了將結構物內的牆以不同單位重來做比較,在計算每棟

依隧道開挖完成之地質繪圖記錄及鑽孔岩心性狀圖,將北上線 崩塌段之剪裂帶及破壞情形沿隧道縱向描繪如圖 3-8 所示,乃 沿隧道里程橫向切兩剖面分別描繪岩層破壞模式,分別如圖