Your SlideShare is downloading. ×
The Syncables Framework
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

The Syncables Framework

944
views

Published on

Manas Tungare, Pardha S. Pyla, Miten Sampat, Manuel Pérez-Quiñones; Syncables: A Framework to Support Seamless Data Migration Across Multiple Platforms; Proceedings of the IEEE International …

Manas Tungare, Pardha S. Pyla, Miten Sampat, Manuel Pérez-Quiñones; Syncables: A Framework to Support Seamless Data Migration Across Multiple Platforms; Proceedings of the IEEE International Conference on Portable Information Devices (IEEE Portable) 2007.

Published in: Economy & Finance, Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
944
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
33
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Syncables: A Framework to Support Seamless Data Migration Across Multiple Platforms Manas Tungare • Pardha Pyla • Miten Sampat Manuel Pérez Quiñones
  • 2. Outline • Problems with Portable Information Devices • Information fragmentation • Inadequate support for task migration • Description of our Syncables framework • How the framework enables solving some of these problems
  • 3. Problems with Multiple Portable Information Devices
  • 4. Information is Fragmented Across Devices
  • 5. Information is Fragmented Across Document types
  • 6. Information is Fragmented Metadata is not preserved
  • 7. No support for task migration
  • 8. No support for task migration ?
  • 9. Not all data is in files Contacts
  • 10. Not all data is in files Calendar events
  • 11. Not all data is in files Name of opened document Selected text Cursor position
  • 12. The Syncables Framework
  • 13. Syncable objects • Not necessarily files • Files are just a sub-type • Components • Name • InputStream • OutputStream • Extensible, defined by applications
  • 14. Features • Information clusters • Devices that talk freely • Support for collections • Objects identified uniquely across devices
  • 15. Naming scheme sync:// cluster-id / collection / type / path / object-name • URI – Uniform Resource Identifier • Some parts defined by framework • Other parts defined by application • sync:// protocol handler
  • 16. Naming scheme sync:// cluster-id / collection / type / path / object-name • Cluster of devices • Devices that talk freely • Identified by a GUID • One device can belong to many clusters
  • 17. Naming scheme sync:// cluster-id / collection / type / path / object-name • User-defined project-based collections • Emails, bookmarks, files, events, contacts can belong to the same collection • Reduces information fragmentation
  • 18. Naming scheme sync:// cluster-id / collection / type / path / object-name • Object type: one of file, email, bookmark, event, contact, etc. • Each type is defined by a Syncable class • Version Tracker keeps track of objects
  • 19. Naming scheme sync:// cluster-id / collection / type / path / object-name • Rest of the path defined by a specific implementation of a subclass of the Syncable class • Framework doesn’t care about semantics • Can be arbitrarily deep
  • 20. Examples • sync://cluster-id/IEEE-Portable/File/Research/ Papers/Syncables.tex • sync://cluster-id/IEEE-Portable/Email/Perez/ Draft/3 • sync://cluster-id/IEEE-Portable/Calendar/ 2006/09/01/Meeting-With-Manuel • sync://cluster-id/IEEE-Portable/Note/Phone/ Reminders
  • 21. Transcoding
  • 22. Transcoding Plain text Accept: text/plain that can be read on a cell phone easily! PDF to TXT
  • 23. Filtering
  • 24. Filtering Today’s Events Where ______ ______ date = today ______
  • 25. How it works
  • 26. How it works GET sync://xyz/Vacation/
  • 27. How it works GET sync://xyz/Vacation/
  • 28. How it works GET sync://xyz/Vacation/ sync://xyz/Vacation/Calendar/2007-05-30 sync://xyz/Vacation/Email/Jane/Hotel-List sync://xyz/Vacation/Email/Jane/Air-Tickets sync://xyz/Vacation/ToDo/Book-Tickets sync://xyz/Vacation/Photos/Places-To-Visit sync://xyz/Vacation/Contacts/Adam-Smith ....
  • 29. How it works GET sync://xyz/Vacation/ sync://xyz/Vacation/Calendar/2007-05-30 sync://xyz/Vacation/Email/Jane/Hotel-List sync://xyz/Vacation/Email/Jane/Air-Tickets sync://xyz/Vacation/ToDo/Book-Tickets sync://xyz/Vacation/Photos/Places-To-Visit sync://xyz/Vacation/Contacts/Adam-Smith .... { } GET sync://xyz/Vacation/Calendar/2007-05-30 Start: 2007-05-30T00:00:00Z End: 2007-06-15T00:00:00Z Title: Vacation
  • 30. Grouped by Collection Vacation
  • 31. Grouped by Collection Vacation
  • 32. Versioning
  • 33. Versioning GET sync://xyz/Vacation/?UpdatesSince=2007-02-01 sync://xyz/Vacation/Email/Jane/Hotel-List sync://xyz/Vacation/ToDo/Book-Tickets sync://xyz/Vacation/Contacts/Adam-Smith
  • 34. Versioning GET sync://xyz/Vacation/?UpdatesSince=2007-02-01 sync://xyz/Vacation/Email/Jane/Hotel-List sync://xyz/Vacation/ToDo/Book-Tickets sync://xyz/Vacation/Contacts/Adam-Smith { } GET sync://xyz/Vacation/Email/Jane/Hotel-List From: Jane Doe <jane.doe@example.com> To: John Doe <john.doe@example.com> Subject: Hotel List
  • 35. Ephemeral Data Request: GET sync://xyz/Context/Active-Application GET sync://xyz/Context/Opened-Document GET sync://xyz/Context/Cursor-Location GET sync://xyz/Context/Selected-Text Response: Apple Keynote ~/IEEE Portable Slides.key Slide=12,Paragraph=3,Line=1 “defined by application”
  • 36. Summary of Features • On-demand migration of data across platforms • Support for data other than files, especially context information • Transcoding and filtering • Possibilities for collaboration and group sharing
  • 37. Problems solved • Information fragmentation • Since information is grouped by collection • Eliminates the need to synchronize manually • Format independence: transcoding, filtering • Paving the way for seamless task migration
  • 38. Future work • Use rsync • Peer-to-peer data migration • No master required • Evaluation in the field • Work towards migrating tasks
  • 39. Questions ? ?