SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Syncables: A Framework to
Support Seamless Data Migration
    Across Multiple Platforms

  Manas Tungare • Pardha Pyla • Miten Sampat
           Manuel Pérez Quiñones
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
Problems with Multiple
 Portable Information
       Devices
Information is Fragmented
       Across Devices
Information is Fragmented
    Across Document types
Information is Fragmented
    Metadata is not preserved
No support for task migration
No support for task migration


                     ?
Not all data is in files




Contacts
Not all data is in files


                 Calendar events
Not all data is in files

 Name of opened
   document




                     Selected text
Cursor position
The Syncables Framework
Syncable objects
• Not necessarily files
 • Files are just a sub-type
• Components
  •   Name
  •   InputStream
  •   OutputStream

• Extensible, defined by applications
Features


• Information clusters
 • Devices that talk freely
• Support for collections
• Objects identified uniquely across devices
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
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
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
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
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
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
Transcoding
Transcoding

                         Plain text
   Accept: text/plain   that can be
                         read on a
                        cell phone
                           easily!



     PDF to TXT
Filtering
Filtering

                  Today’s
                   Events
      Where       ______
                  ______
   date = today   ______
How it works
How it works
  GET sync://xyz/Vacation/
How it works
  GET sync://xyz/Vacation/
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
....
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
Grouped by Collection
Vacation
Grouped by Collection
Vacation
Versioning
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
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
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”
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
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
Future work

• Use rsync
• Peer-to-peer data migration
 • No master required
• Evaluation in the field
• Work towards migrating tasks
Questions

?
                ?

Más contenido relacionado

Similar a The Syncables Framework

sector-sphere
sector-spheresector-sphere
sector-sphere
xlight
 
Google Cloud Computing on Google Developer 2008 Day
Google Cloud Computing on Google Developer 2008 DayGoogle Cloud Computing on Google Developer 2008 Day
Google Cloud Computing on Google Developer 2008 Day
programmermag
 
PowerPoint
PowerPointPowerPoint
PowerPoint
Videoguy
 
Easy deployment & management of cloud apps
Easy deployment & management of cloud appsEasy deployment & management of cloud apps
Easy deployment & management of cloud apps
David Cunningham
 
Content Mirror
Content MirrorContent Mirror
Content Mirror
fravy
 
Big data analytics K.Kiruthika II-M.Sc.,Computer Science Bonsecours college f...
Big data analytics K.Kiruthika II-M.Sc.,Computer Science Bonsecours college f...Big data analytics K.Kiruthika II-M.Sc.,Computer Science Bonsecours college f...
Big data analytics K.Kiruthika II-M.Sc.,Computer Science Bonsecours college f...
Kiruthikak14
 
Android Bootcamp
Android   BootcampAndroid   Bootcamp
Android Bootcamp
ahkjsdcsadc
 

Similar a The Syncables Framework (20)

Cassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per monthCassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per month
 
Meteor ddp
Meteor ddpMeteor ddp
Meteor ddp
 
Sector Sphere 2009
Sector Sphere 2009Sector Sphere 2009
Sector Sphere 2009
 
sector-sphere
sector-spheresector-sphere
sector-sphere
 
Ch23 system administration
Ch23 system administration Ch23 system administration
Ch23 system administration
 
Ext 0523
Ext 0523Ext 0523
Ext 0523
 
Google Cloud Computing on Google Developer 2008 Day
Google Cloud Computing on Google Developer 2008 DayGoogle Cloud Computing on Google Developer 2008 Day
Google Cloud Computing on Google Developer 2008 Day
 
20181215 introduction to graph databases
20181215   introduction to graph databases20181215   introduction to graph databases
20181215 introduction to graph databases
 
PowerPoint
PowerPointPowerPoint
PowerPoint
 
Module: Mutable Content in IPFS
Module: Mutable Content in IPFSModule: Mutable Content in IPFS
Module: Mutable Content in IPFS
 
Easy deployment & management of cloud apps
Easy deployment & management of cloud appsEasy deployment & management of cloud apps
Easy deployment & management of cloud apps
 
Content Mirror
Content MirrorContent Mirror
Content Mirror
 
ATD 13 - Enhancing your applications using Microsoft Graph API
ATD 13 - Enhancing your applications using Microsoft Graph APIATD 13 - Enhancing your applications using Microsoft Graph API
ATD 13 - Enhancing your applications using Microsoft Graph API
 
A Whirlwind Tour of Spatial Joins
A Whirlwind Tour of Spatial JoinsA Whirlwind Tour of Spatial Joins
A Whirlwind Tour of Spatial Joins
 
Why meteor
Why meteorWhy meteor
Why meteor
 
Big data analytics K.Kiruthika II-M.Sc.,Computer Science Bonsecours college f...
Big data analytics K.Kiruthika II-M.Sc.,Computer Science Bonsecours college f...Big data analytics K.Kiruthika II-M.Sc.,Computer Science Bonsecours college f...
Big data analytics K.Kiruthika II-M.Sc.,Computer Science Bonsecours college f...
 
Session6
Session6Session6
Session6
 
Android Bootcamp
Android   BootcampAndroid   Bootcamp
Android Bootcamp
 
Distributed computation
Distributed computationDistributed computation
Distributed computation
 
Cloudcomputing By Adam
Cloudcomputing By Adam Cloudcomputing By Adam
Cloudcomputing By Adam
 

Más de Manas Tungare

Mental Workload at Transitions between Multiple Devices in Personal Informati...
Mental Workload at Transitions between Multiple Devices in Personal Informati...Mental Workload at Transitions between Multiple Devices in Personal Informati...
Mental Workload at Transitions between Multiple Devices in Personal Informati...
Manas Tungare
 
Research Internships Panel at Virginia Tech 2008
Research Internships Panel at Virginia Tech 2008Research Internships Panel at Virginia Tech 2008
Research Internships Panel at Virginia Tech 2008
Manas Tungare
 
DejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java SoftwareDejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java Software
Manas Tungare
 
Genetic Algorithms and their use in the Design of Evolvable Hardware
Genetic Algorithms and their use in the Design of Evolvable HardwareGenetic Algorithms and their use in the Design of Evolvable Hardware
Genetic Algorithms and their use in the Design of Evolvable Hardware
Manas Tungare
 
SIGIR PIM Workshop 2006
SIGIR PIM Workshop 2006SIGIR PIM Workshop 2006
SIGIR PIM Workshop 2006
Manas Tungare
 
Increasing the Adoption of Public Transport Through Multi-Platform Social Net...
Increasing the Adoption of Public Transport Through Multi-Platform Social Net...Increasing the Adoption of Public Transport Through Multi-Platform Social Net...
Increasing the Adoption of Public Transport Through Multi-Platform Social Net...
Manas Tungare
 

Más de Manas Tungare (16)

Mental Workload at Transitions between Multiple Devices in Personal Informati...
Mental Workload at Transitions between Multiple Devices in Personal Informati...Mental Workload at Transitions between Multiple Devices in Personal Informati...
Mental Workload at Transitions between Multiple Devices in Personal Informati...
 
My Research Defense
My Research DefenseMy Research Defense
My Research Defense
 
Research Internships Panel at Virginia Tech 2008
Research Internships Panel at Virginia Tech 2008Research Internships Panel at Virginia Tech 2008
Research Internships Panel at Virginia Tech 2008
 
Grad School 101
Grad School 101Grad School 101
Grad School 101
 
Preliminary Examination Proposal Slides
Preliminary Examination Proposal SlidesPreliminary Examination Proposal Slides
Preliminary Examination Proposal Slides
 
Thinking Outside the (Beige) Box: Personal Information Management Beyond the ...
Thinking Outside the (Beige) Box: Personal Information Management Beyond the ...Thinking Outside the (Beige) Box: Personal Information Management Beyond the ...
Thinking Outside the (Beige) Box: Personal Information Management Beyond the ...
 
Understanding the Evolution of Users' Personal Information Practices
Understanding the Evolution of Users' Personal Information PracticesUnderstanding the Evolution of Users' Personal Information Practices
Understanding the Evolution of Users' Personal Information Practices
 
DejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java SoftwareDejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java Software
 
Genetic Algorithms and their use in the Design of Evolvable Hardware
Genetic Algorithms and their use in the Design of Evolvable HardwareGenetic Algorithms and their use in the Design of Evolvable Hardware
Genetic Algorithms and their use in the Design of Evolvable Hardware
 
SIGIR PIM Workshop 2006
SIGIR PIM Workshop 2006SIGIR PIM Workshop 2006
SIGIR PIM Workshop 2006
 
Increasing the Adoption of Public Transport Through Multi-Platform Social Net...
Increasing the Adoption of Public Transport Through Multi-Platform Social Net...Increasing the Adoption of Public Transport Through Multi-Platform Social Net...
Increasing the Adoption of Public Transport Through Multi-Platform Social Net...
 
Towards a Syllabus Repository for Computer Science Courses
Towards a Syllabus Repository for Computer Science CoursesTowards a Syllabus Repository for Computer Science Courses
Towards a Syllabus Repository for Computer Science Courses
 
Towards a Standardized Representation of Syllabi to Facilitation Sharing and ...
Towards a Standardized Representation of Syllabi to Facilitation Sharing and ...Towards a Standardized Representation of Syllabi to Facilitation Sharing and ...
Towards a Standardized Representation of Syllabi to Facilitation Sharing and ...
 
Evaluation of a Location-Linked Notes System
Evaluation of a Location-Linked Notes SystemEvaluation of a Location-Linked Notes System
Evaluation of a Location-Linked Notes System
 
Embodied Data Objects
Embodied Data ObjectsEmbodied Data Objects
Embodied Data Objects
 
Why Consistency is Not Everything, and Seamless Task Migration is Key
Why Consistency is Not Everything, and Seamless Task Migration is KeyWhy Consistency is Not Everything, and Seamless Task Migration is Key
Why Consistency is Not Everything, and Seamless Task Migration is Key
 

Último

Call Girls in Yamuna Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in  Yamuna Vihar  (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in  Yamuna Vihar  (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in Yamuna Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

✂️ 👅 Independent Lucknow Escorts U.P Call Girls With Room Lucknow Call Girls ...
✂️ 👅 Independent Lucknow Escorts U.P Call Girls With Room Lucknow Call Girls ...✂️ 👅 Independent Lucknow Escorts U.P Call Girls With Room Lucknow Call Girls ...
✂️ 👅 Independent Lucknow Escorts U.P Call Girls With Room Lucknow Call Girls ...
 
Toronto dominion bank investor presentation.pdf
Toronto dominion bank investor presentation.pdfToronto dominion bank investor presentation.pdf
Toronto dominion bank investor presentation.pdf
 
Famous Kala Jadu, Black magic expert in Faisalabad and Kala ilam specialist i...
Famous Kala Jadu, Black magic expert in Faisalabad and Kala ilam specialist i...Famous Kala Jadu, Black magic expert in Faisalabad and Kala ilam specialist i...
Famous Kala Jadu, Black magic expert in Faisalabad and Kala ilam specialist i...
 
CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...
CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...
CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...
 
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
 
Bhubaneswar🌹Kalpana Mesuem ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
Bhubaneswar🌹Kalpana Mesuem  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...Bhubaneswar🌹Kalpana Mesuem  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
Bhubaneswar🌹Kalpana Mesuem ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
 
Call Girls in Yamuna Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in  Yamuna Vihar  (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in  Yamuna Vihar  (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in Yamuna Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Technology industry / Finnish economic outlook
Technology industry / Finnish economic outlookTechnology industry / Finnish economic outlook
Technology industry / Finnish economic outlook
 
falcon-invoice-discounting-unlocking-prime-investment-opportunities
falcon-invoice-discounting-unlocking-prime-investment-opportunitiesfalcon-invoice-discounting-unlocking-prime-investment-opportunities
falcon-invoice-discounting-unlocking-prime-investment-opportunities
 
Bhubaneswar🌹Ravi Tailkes ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
Bhubaneswar🌹Ravi Tailkes  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...Bhubaneswar🌹Ravi Tailkes  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
Bhubaneswar🌹Ravi Tailkes ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
 
Vip Call Girls Rasulgada😉 Bhubaneswar 9777949614 Housewife Call Girls Servic...
Vip Call Girls Rasulgada😉  Bhubaneswar 9777949614 Housewife Call Girls Servic...Vip Call Girls Rasulgada😉  Bhubaneswar 9777949614 Housewife Call Girls Servic...
Vip Call Girls Rasulgada😉 Bhubaneswar 9777949614 Housewife Call Girls Servic...
 
Thane Call Girls , 07506202331 Kalyan Call Girls
Thane Call Girls , 07506202331 Kalyan Call GirlsThane Call Girls , 07506202331 Kalyan Call Girls
Thane Call Girls , 07506202331 Kalyan Call Girls
 
Call Girls Howrah ( 8250092165 ) Cheap rates call girls | Get low budget
Call Girls Howrah ( 8250092165 ) Cheap rates call girls | Get low budgetCall Girls Howrah ( 8250092165 ) Cheap rates call girls | Get low budget
Call Girls Howrah ( 8250092165 ) Cheap rates call girls | Get low budget
 
Call Girls In Kolkata-📞7033799463-Independent Escorts Services In Dam Dam Air...
Call Girls In Kolkata-📞7033799463-Independent Escorts Services In Dam Dam Air...Call Girls In Kolkata-📞7033799463-Independent Escorts Services In Dam Dam Air...
Call Girls In Kolkata-📞7033799463-Independent Escorts Services In Dam Dam Air...
 
Significant AI Trends for the Financial Industry in 2024 and How to Utilize Them
Significant AI Trends for the Financial Industry in 2024 and How to Utilize ThemSignificant AI Trends for the Financial Industry in 2024 and How to Utilize Them
Significant AI Trends for the Financial Industry in 2024 and How to Utilize Them
 
Explore Dual Citizenship in Africa | Citizenship Benefits & Requirements
Explore Dual Citizenship in Africa | Citizenship Benefits & RequirementsExplore Dual Citizenship in Africa | Citizenship Benefits & Requirements
Explore Dual Citizenship in Africa | Citizenship Benefits & Requirements
 
Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...
Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...
Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...
 
GIFT City Overview India's Gateway to Global Finance
GIFT City Overview  India's Gateway to Global FinanceGIFT City Overview  India's Gateway to Global Finance
GIFT City Overview India's Gateway to Global Finance
 
Pension dashboards forum 1 May 2024 (1).pdf
Pension dashboards forum 1 May 2024 (1).pdfPension dashboards forum 1 May 2024 (1).pdf
Pension dashboards forum 1 May 2024 (1).pdf
 
Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 

The Syncables Framework

  • 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
  • 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
  • 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
  • 22. Transcoding Plain text Accept: text/plain that can be read on a cell phone easily! PDF to TXT
  • 24. Filtering Today’s Events Where ______ ______ date = today ______
  • 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
  • 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