Boston University Engineering Home Electrical & Computer Engineering Contact us



What is CPISync?

See How it Works

CPISync Performance

PROBSync Performance


Back to projects...

Figure 2 - A significant amount of meta-data needs to be generated before CPISync can be run. Click on the thumbnail to see a detailed view of the entire process, from entering memo text to synchronizing it.




  System Overview - A Step by step Walkthrough of the Entire System


 In order to use the CPISync algorithm to synchronize between a PC and PalmPilot, we must make sure that the proper meta-data gets generated on both platforms and gets transmitted appropriately. The following is a step by step explanation of the entire process, from entering memo text all the way to viewing synchronized memos. Click on Figure 2 to see an illustration of the same process.

1) The User enters memo text in our specialized applications. On the PalmPilot, we have developed a MemoPad look-alike application called SyncMemo which functions almost exactly like the built-in MemoPad application. On the PC, we have developed PCMemo, which functions like the Palm Desktop's memo editor.

2) Once the memo text is saved, a 16-bit hash value is calculated based on the text (currently, a simple XOR of the even bytes concatenated with the XOR of the odd bytes of the memo text). This hash value gets added to a database containing the hash values of all the memos stored on either the PC or the PalmPilot.

3) On the PalmPilot, the new hash value is added to the characteristic polynomial, causing the characteristic polynomial to be recalculated for all sample points. The PC does not need to do this step, because it will generate its characteristic polynomial "on-the-fly" when it runs the CPISync algorithm.

4) When the User requests a hotsync, the PalmPilot sends its characteristic polynomial sample points over the network. The PC uses these as input to the CPISync algorithm, which outputs the hash values that the PC is missing that are present on the PalmPilot, and the hash values that the PalmPilot is missing that are present on the PC (1).

5) The PC finds the memos that correspond to the PalmPilot's missing hash values. The PC then sends over the network the memo texts, and the list of hash values that it is missing from the PalmPilot. The PalmPilot finds the memos that correspond to the PC's missing hash list and send over the text of those memos. It then incorporates the text of the memos that the PC sent to it (2).

Lab of Networking and Information Systems

Room 413 Photonics  Building

8 St Mary's Street, Boston MA 02215

Web site created by Sachin Agarwal (