1 / 19

XML Fragment Caching for Large-Scale Mobile Commerce Applications

XML Fragment Caching for Large-Scale Mobile Commerce Applications. Sebastian Obermeier, Stefan Böttcher University of Paderborn Germany ICEC 2008, Innsbruck, Austria. Agenda:. Large Event Scenarios. Use Case. Use Case. GPRS/UMTS. Ad-Hoc Network. Query Shipping. Query Q.

Download Presentation

XML Fragment Caching for Large-Scale Mobile Commerce Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML Fragment Caching for Large-Scale Mobile Commerce Applications Sebastian Obermeier, Stefan Böttcher University of PaderbornGermany ICEC 2008, Innsbruck, Austria Agenda:

  2. Large Event Scenarios

  3. Use Case

  4. Use Case

  5. GPRS/UMTS

  6. Ad-Hoc Network

  7. Query Shipping Query Q

  8. Caching for Query Shipping • Intermediate node N checks whether it can answer Q  Only Q's result is transferred  Test can be complex and time consuming Small missing parts of information lead to cache-misses: • Qcache = //restaurant[./@areaID<50]//description • Q = //restaurant[./@areaID<35]//description

  9. Data Shipping Query Q: {1,3,4} { 1 , 2 } { 2 , 3 } { 1 , 2 , 3 } {7} {1,3,4,7} { 1 , 4 , 7 } { 1 , 2 }

  10. Caching forData Shipping • Request parts of the document  Combination of cached content can answer Q  Tests are fast  Hugeamountofoverheadifread-setis large, e.g. if Q usescount()

  11. ApplicationConsiderations • No arbitrary queries • Query templates predefined • Mostly point and range queries including filters • Database can track queries • Focus on content, e.g. text, pictures, and videos • Database updates are rare • Egoistic node behavior • do not spend much energy to other node’s queries

  12. Solution Overview • Split XML document into disjoint fragments according to aSplit Schema Graph (SSG) • Querying node determines by SSG necessary fragments to answer query Q • Q isexecutedlocally on theread-setof Q (=mergedsegments) S6 XML S5 S4 S1 S2 S3 S6 XML S5 S4 S1 S2 S3 S5 S3

  13. Split Schema Graph • XML documentsplitintodisjointparts Segment 1 /1/2/2/1 <restaurants> <restaurant id = "25" areaID="15"> <name>Forester`s House</name> <description>Traditional… </…> <style>German</style> </restaurant> <restaurant id = "35" areaID="17"> <name>Garden of Sun</name> <description>Large beer garden…</…> <style>Austrian</style> </restaurant> ... </restaurants>

  14. DetermineRequired Segments • //restaurant[@areaID>13][@areaID<19]/name Required Segments 1 / */*/2/*/

  15. Experimental Evaluation • 1600 devices, logicalclock • 24MB Information Repository • Max. distance 5 hops • Individual query profiles • Eachwith 164 XPath queries • 80% requesthotspot data (5MB) • Hotspot changesduring evaluation

  16. Experimental Results XPath Query Shipping XPath Query Shipping 500kB Cache XPath Query Shipping XPath Query Shipping 500kB Cache

  17. GZIP Compression XPath Query Shipping XPath Query Shipping 500kB Cache XPath Query Shipping(GZIP) XPath Query Shipping(GZIP) , 500kB Cache

  18. Varying Cache Sizes 500kb Cache 1000kb Cache 2000kb Cache XPath Query Shipping (GZIP) 1000kB Cache XPath Query Shipping (GZIP) 500kB Cache XPath Query Shipping (GZIP) 2000kB Cache XPath Query Shipping (GZIP)

  19. SummaryandConclusion S6 XML • Querying and caching mechanism that allows clients to execute queries locally • Application based fragmentation schema • Simple cache contribution tests by IDs • Coupes with egoistic node behavior • Reduces network traffic up to 88% • Improves query response time up to factor 5 • Reduces bottlenecks • Can be individually used for each query type S5 S4 S1 S2 S3 2 /4/*/1 == 2 /4/2/1

More Related