220 likes | 298 Views
Format Independent Change Detection & Propagation (FCDP) in Support of Mobile Computing. Michael Lanham, Ajay Kang, Joachim Hammer, Abdelsalam Helal, Joseph Wilson. Agenda. Motivation & Problem Statement Related Research FCDP Implementation Experimental Results Future Research Conclusions
E N D
Format Independent Change Detection & Propagation (FCDP) in Support of Mobile Computing Michael Lanham, Ajay Kang, Joachim Hammer, Abdelsalam Helal, Joseph Wilson
Agenda • Motivation & Problem Statement • Related Research • FCDP Implementation • Experimental Results • Future Research • Conclusions • Questions
Sponsors • Research sponsored in part by the National Science Foundation through grant number OR-0100770. • Research sponsored in part by the United States Military Academy • Part of Ubiquitous Data Access (UbiData) Project • Lead Investigators: Dr. Helal and Dr. Hammer • Various Ph.D. and Masters Candidates
vdiff Motivation
Problem Statement • How to identify meaningful changes between two XML documents that do not have identical element tag and attribute sets? • How to apply those changes on a copy of the source XML document?
Related Research (1 of 3) • Bandwidth Adaptation • Puppeteer [Rice U] • Dynamic adaptation to network conditions (MS Office Only) • MS-OLE DOM and Puppeteer Intermediate Form • Odyssey [CMU] • Actively adapts to network conditions • Requires modification of applications • Neither support disconnected operations
Related Research (2 of 3) • Text- and Byte-based Difference Detection • (line based) diff (GNU diff) • Xdelta: binary delta based file system from UCB • Rsync: allows binary diff on data on separate machines (None can support B/W adaptation or cross-application diff/patch)
Related Research (3 of 3) • XML specific algorithms • Sun [diffmk], IBM Alphaworks [XMLdiff, and treediff ] • Open API, closed source, • no ‘move’ support for IBM, no ‘update’ for either • UMD [laDiff], and INRIA Rocquencourt, France [XyDiff] • Open source, • Supports ‘move’ and ‘update’ • XyDiff uses XIDs (aka eXternal IDentifiers) (Neither can cope with non-identical tag/attribute sets)
FCDP Design Goals • Minimize connect time and bandwidth requirements when in a mobile mode • Application transparent bandwidth adaptation • Application transparent data accessibility • Cross-Application difference detection
Publish Document Specific Format Document XML Encoded Data XML Converter Target App Sensor M-Mem Target App Conversion Rules Laptop Mobile Device Avail Bandwidth Sensor F-Mem Request for import including Target App Palm Mobile Device XSLT Convertor Custom Splitter Specific Format Doc Application and B/W filtered XML / Target App document M-Mem Limited Content Doc FCDP Server Architectural Overview
XMLtxttxt’XML(-) Text Doc v1(-) F-Mem Text diff util Text patch script patch util Text (ver 1(-)’) to AbiWord XML(-) Converter XML vdiff util XML delta script XML deltaApply util XML delta script AbiWord XML Doc v1 FCDP Server AbiWord Generated XML Doc v 0 Text Doc v0(-) Text Document AbiWord XML to Text Converter Text Document v0(-) M-Mem Mobile Device
Content Conversion Management • Lossless Convert or Lossy? • If Lossy, must track omitted data • Track via Intersection or Symmetric Difference Maps v1 Document Tag n Tag 2 Tag 3 Intersection Map Tag 4 Tag 1 Tag n Symmetric Difference Map v0 Document
vdiff() • 15 line algorithm (specifics in the paper) • Of 13 modules inherited from INRIA’s XyDiff, we have modified 5 and added 2 more. • The modifications included complete rewrites of PeepHoleOptimization • Brand new modules for parsing the StructuralMapInfo and when we need to AdjustForUnSharedChildren • Entire project’s code base now sits at a little more than 16K lines, XyDiff was just over 8.6K lines
Generation II vdiff() • Match text nodes using LCS algorithms and partial string matching to create as many text node matchings as possible • Adjust structure of v1minusDOM so it is isomorphic to v0 • Optimize Matches • Construct Delta Script
0-50% of version n’s paragraph insert, delete, move, update 10-40% of paragraph content Text document version n+i Text document version n Primitive XML document version n+i Diff script Diff script DiffApplyProgram DiffApplyProgram XML document version n+1 XML document version n+1 AbiWord AbiWord Experimental Setup Text 2 AbiW Converter XML document version n XyDiff vdiff / vdiff2() Statistics Capture, Parse, and Analysis
Experimental Results: ASCII (v0(-)) vs AbiWord (v0) in the TestSet
Experimental Results: Diff versus Value Shipping Text Documents
Experimental Results: Cumulative Diff Script Sizes After 960 Test Cases
Experimental Results: Missing node counts for vdiff2() and XyDiff against the reference modified documents
Future Research (1 of 2) • Peephole Optimization- • Customized • Q-grams • Partial String Matching • Child Reordering • Solve with placeholders? • Use stylized markup in text only docs as placeholder • Non-Provably correct otherwise • Expand classes of XML documents and applications supported for further logic / implementation verification
Conclusions • We have improved current state of the art in mobile computing in the following manner: • Content transformation • Content reduction • Change detection between reduced & transformed documents and canonical XML documents • Set stage for expansion and refinements of above