FIG. 4 shows an example of an embodiment of a particular software architecture for a synchronization system between one or more data processing systems, such as a device, which may be a handheld computer, and a host, which may be a desktop or a laptop computer.