Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Today people have multiple personal computers, personal digital assistants and smart phones. Today's advanced handheld devices have powerful processors, with a process frequency of up to 1 GHz, huge storage capacities, flash storage capacities up to 32 GB, a large (multi) touch screen, and a user-friendly user interface. Additionally, the device may have various input and output devices, thus leading to people utilizing different devices for different use cases. In order to provide the latest information to the users via any of their devices, data synchronization becomes a requirement for users.
There are many data synchronization solutions for synchronizing database records and files. In the current database synchronization solutions, there is no clear source and target. For example, consider the case where a PDA synchronizes with a PC; the record could have been edited (changed) on both the PDA and PC. In this case it is not clear which should be synchronized with what should be the source for the value. In contrast, a files synchronization system has a clearly specified synchronizatiom sourse and destination structure. In this case the client Synchronizes their files with that of the server. In a version control system the client synchronize files with a repository acting as a version control server. There are many synchronizing protocols and each has been designed for different purpose. Protocols for synchronizing database records often provide continuous synchronization, leading to a lot of data being exchanging during the synchronization process, as a result the synchronization process takes a longer period of time, but maintains the semantics of the database updates (either a complete transaction completes or it must be rolled back). On the other hand, protocols for synchronizing files may require a short synchronization time, as the whole file transferred and replaces the previous version of the file at the destination. Note file synchronization may also transfer only the differences between the files, with a local transformation of an existing file copy of the by applying these differences as updates to the files. Sending only the updates to a file enables large files with a small number of changes to be quickly updated. However, file based updated does not efficiently support record level updates of a database.
In this thesis we designed a new synchronization protocol for synchronizing two SQLite databases. This synchronization protocol borrows from (and hence offers the advantages of) a version control system in order to rapidly perform SQLite database synchronization. Moreover, this solution brings SQLite database additional functions, for example supporting multiple-user, transaction logs, and data roll-back.
2011. , 75 p.