170 likes | 306 Views
This document explores the challenges and techniques for managing spatial data in peer-to-peer (P2P) systems. Key focuses include the necessity of effective indexing and routing methods to ensure quick retrieval of spatial information while keeping index sizes manageable. Different spatial partitioning approaches, such as P2PR-tree, quad-tree, and kd-tree, are examined along with a proposed distributed indexing algorithm. The complexity characteristics of various methods and preliminary experimental results highlight the effectiveness of the proposed techniques in facilitating easier access to popular information and maintaining area proximity.
E N D
Handling Spatial Data In P2P Systems Verena Kantere, Timos Sellis, Yannis Kouvaras
Problem Definition Assumptions: • Structure P2P Overlays • Spatial Data in Peers • Problem: • Necessity for indexing and routing techniques for such an environment
Technique Requirements We need a technique that: • Guarantees the retrieval of any existing spatial information in the system • Achieves satisfying index size for any node • Achieves a satisfying length for any search path • Provides easier access to popular information • Preserves proximity of areas
Related Work • P2PR-tree (Workshop of EDBT ‘04) • Quad-tree approach (Poster in ICDE’05) • kd-tree approach (WebDB’04)
Partitioning Space Spatial Coding
Partitioning Space cont’d The code of an area A is: • A azaxay • az: is the granularity level, i.e. the size in terms of cells. • ax: is the average of the digit d1 of all the area cells. • ay: is the average of the digit d2 of all the area cells. Distance Metrics: d1(A1, A2) = |a1x-a2x|+|a1y-a2y| d2(A1, A2) = ||a1x-a2x|-|a1y-a2y|| D(A1, A2) d1d2 Dzoom(A1, A2) D(A1, A2)/(0.5*|A1.az+A2.az|)
Distributed Indexing for Spatial Areas Distributed Indexing Algorithm • Step 1: Indexing the grids of each level • Phase A: Indexing areas of the same grid • Phase B: Indexing areas of other grids of the same level • Step 2: Indexing the grids of other levels
Direct Neighbors &Data Hashing Peers have 2 neighbors on each dimension: • Horizontal • Vertical • Perpendicular Neighbors are the closest peers on each direction. Areas are stored to the closest neighbor following a priorities of dimensions
Routing of Spatial Queries Basic Routing Algorithm Step 1: Find a peer corresponding to the same size as the sought area. Step 2: Find a peer hosting the sought area or an overlapping area of the latter Step 3: Find the peer hosting the sought area
Complexity Characteristics Complexity for both pure Chord and our method is O(3log2n). But with our method: • Peers with big areas are favored with small indexes • Shorter search paths for bigger areas • The search path grows with the relative distance
Assignment of Peer IDs The peer ID plays a significant role in our approach joining peers can ask for specific ids: • it is adequate to assign an id that belongs to the same or similar level as the requested id • The above constraint loosens with the size of the area (higher levels are more connected)