data sync - SahneMarvin/Bachelorarbeit GitHub Wiki

Reliable, Consistent, and Efficient Data Sync for Mobile Apps

  • data-sync service has to be transparant in terms of reliability, consistency and efficiency
  • must provide beneficial data model for the majority of use cases (filesystem, tables, inter-dependent structured and unstructured data)
  • reliably detect and recover a consistant state in case of operation (read/write) failure

  • common problems after failure (loss of connection, crash, loss of power)
    • user has to restart sync manually
    • no notification of failed sync
    • creation of multiple copies of instance (evernote)
    • failed recovery of table data thus leading to dangling pointers (Keepass2)
    • creation of conflict file (local corruption) which spread to other devices (Dropbox)

Simba

  • manage data for mobile apps
  • can store tables and files
  • tables with primitive type and arbitryry-sized objects
  • delay-tolerant transfer
  • reduced network footprint

  • store all date in unified storage (data model p.4)
  • supports different sync requirements