Accessing to Spatial Data in Mobile Environment Presented
Accessing to Spatial Data in Mobile Environment Presented By Jekkin Shah
Framework Web based navigation system Spatial data visualization
Problem definition • What is the data management principle for data processing in an embedded navigation system ? • Issues – Diversity of data sources – Data exchange between the embedded system and the data sources
Architecture and Software Components • Client server model • Centralized server • Client side processing Local Distant Visualization Server Files Databases Server GPS Data Servers
Approach / Techniques LOCATION ! Location based query restriction Data caching – Semantic inclusion of queries – Location based caching
Data management parts Restriction Query Validation Data Management Inclusion / Cache Response Communication
Data Model Object Oriented Model Object Entity = (o, v, g, t) o = unique object identifier v = (v 1, …, vn) set of alphanumeric attribute values t = time parameter g = geographical position ( modeled by point, line or region )
Data model ( cont. ) Typical query : select o from l 1, …, ln where C • • • Query q = (l, L, C) l = layer to which selected objects belong l€L L = {l 1, …, ln } : set of layers C = selection condition over set L
Query Restriction • q = (l, L, C) • Restriction Cr ( location based ) • q = (l, L, C ^ Cr )
Query Restriction ( cont. ) Data presentation conditions change with time qrnew = (l, L, C ^ Crnew ) • Restriction and query history maintained (Cr 1, …, Crn) , (qr 1, …, qrn) at time ti , (0 ≤ i ≤ n) • Query re-execution is implicit ( similar to continuous persistent queries )
Query Restriction ( cont. ) • What happens when one of the layers of L is modified at the server ? • q = (l, L, C) • at time t` , L becomes L` • all queries for which ti < t` become invalid - remove the invalid entries for the memory - reuse them for further queries ( after validation of objects )
Semantic caching of queries IDEA ? ? ? Try to construct the result of the new query from the results of the previous queries • The selection condition C can be considered as a description of its results q = (l, L, C) , q(I)
For a new query q 3 scenarios : • Not all objects of the answer q(I) are available at the client • Client owns all objects of the answer, but result cannot be calculated locally • All objects locally present to calculate the correct answer
Semantic caching (cont. ) n Crn+1(I) => ( v Cri )(I) i=1 Q 2 Q 1 Qn+1 Q 3
Data Validation • Validation at Layer level • Validation at object level • • 3 subsets Present : present in both Is and Ic Obsolete : present in Ic but deleted from Is New : present in Is but not yet in Ic
Data Validation • Validation at client side – Validate whole local instance Ic against an answer of query executed on server ( a set Is ) – Leave obsolete objects as it is • Validation at server side – Compare Ic with Is • delete obsolete • Add new • Update modified objects
Data Transfer • 3 cases of transfer : – whole object q V = (o, t, v, g) – object identifier and modification time T = (o, t) – object identifier O = (o) Client V Server
Data Transfer Local validation at client side Validation at server side Client q T O V Server q+T Client V+O Server
Data Replacement • Time based : Replacement of the oldest answer (LRU) • Location based : Replacement of the farthest answer Explicit or Implicit replacement
Simulation results • Restriction with cache (unlimited) Ø 25% of objects transferred to the client Ø Data transfer reduced to around 75% ( as compared to restriction without cache )
Conclusion and further directions • Semantic caching uses restriction to visible zone Analysis of more general selection conditions • Caching can be extended to multiscale data. Scale parameters include resources available, communication speed, map revolution • Inclusion of spatial indexes
The end
- Slides: 22