Identity/CryptoIdeas/04-Delta-Sync: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 6: Line 6:
passwords, etc) between multiple devices, with end-to-end encryption.
passwords, etc) between multiple devices, with end-to-end encryption.


== Problem Statement ==
= Problem Statement =


The goal of PICL is to provide a unified browser experience across multiple
The goal of PICL is to provide a unified browser experience across multiple
Line 52: Line 52:
* Gentle on the server: users with large datasets should not cause database timeouts. Pagination might help, or breaking the dataset into smaller pieces.
* Gentle on the server: users with large datasets should not cause database timeouts. Pagination might help, or breaking the dataset into smaller pieces.


== Merge Strategies and Locations ==
= Merge Strategies and Locations =


We can take a lot of inspiration from Git. In the Git "central canonical
We can take a lot of inspiration from Git. In the Git "central canonical
Line 90: Line 90:




== Overall Architecture ==
= Overall Architecture =


We assume that each datatype has a canonical "native store", where the
We assume that each datatype has a canonical "native store", where the
Line 121: Line 121:
[[File:DeltaSync-versions.png|Versions]]
[[File:DeltaSync-versions.png|Versions]]


== Server Holds Current Version, and Sometimes Deltas ==
= Server Holds Current Version, and Sometimes Deltas =


For each collection, the server holds the signed version-ID for the current
For each collection, the server holds the signed version-ID for the current
Line 148: Line 148:
[[File:DeltaSync-deltas.png|Deltas]]
[[File:DeltaSync-deltas.png|Deltas]]


== Client Merging ==
= Client Merging =


The sync client cannot remain connected to the server at all times, nor can
The sync client cannot remain connected to the server at all times, nor can
Confirmed users
471

edits

Navigation menu