Max Berger

Personal information and more...
  • Home
  • Research
  • Teaching
  • OpenSource
  • HOWTOs
  • Security
  • Blog

Home

Research

  • Bibliography

  • SILENUS

  • SyncML

Integrated PIM data management with SyncML
   Next

Integrated PIM data management with SyncML

Maximilian Berger

Technische Universität München

Copyright © 2001, 2002 Maximilian Berger

Please freely copy and distribute (sell or give away) this document in any format. It's requested that corrections and/or comments be forwarded to the document maintainer. You may create a derivative work and distribute it provided that you:

  1. Send your derivative work (in the most suitable format such as sgml) to the author for posting on the Internet.

  2. License the derivative work with this same license or use GPL. Include a copyright notice and at least a pointer to the license used.

  3. Give due credit to previous authors and major contributors.

If you're considering making a derived work other than a translation, it's requested that you discuss your plans with the current maintainer.

2002


Table of Contents

I. Introduction
1. Motivation
2. Infrastructural overview
3. Evaluating complete solutions for data synchronization
Starfish TrueSync
Palm Desktop
4. Protocols and data formats
Protocol, transport, data
Data types
The Versit format
vCard structure
8-bit encoding
Selected vCard properties
Changes in vCard 3.0
Summary
iCalender and iTIP
Lightweight Directory Access Protocol (LDAP)
SyncML
5. Existing SyncML implementations
sync4j
SyncML Reference Toolkit (RTK)
Hardware devices
II. Synchronization concepts
6. Synchronization basics
What is synchronization?
Database operations
Soft deletion and hard deletion
Disconnected operation
Unique identifiers
Transaction logs
Regular sync
Slow sync
One-way sync
7. Handling conflicts
Changed on two clients
Merging entries
Deletion conflicts
Detecting existing entries
Comparison by points
Example
Special last name handling
III. Realization
8. Raw design
Requirements
The concept
9. Libsyncml
Design issues
Event parsing or tree parsing?
Multiple sessions, single databases?
User visible
SMLType
SMLURI
SMLDevInf
SMLSessionHandler
SyncMLDatabase
SyncMLSingleThread
SyncMLMultiThread
Internal
SMLTreeNode
SMLNamespaceContainer
SMLFlattener
SMLResponsePacket
SyncMLParserCallback
SyncMLParser
SMLSession
10. Sync Server Engine
Configuration
Back-end database
Database model
Users
Groups
GroupMap
Map
Client
Types
Entries
Security
11. vCardSync
Libversit
Invoking vCardSync
The sync process
IV. Perspective
12. Application and future uses
V. Appendix
A. Used software and tools
B. Acknowledgements
Glossary
Bibliography

List of Figures

2.1. Different clients and how they connect
3.1. How starfish sees its own products.
3.2. Palm Desktop showing monthly and daily calendar view.
4.1. Transport, Protocol, Data
4.2. An example LDAP tree
4.3. Writing to a replicated LDAP node
4.4. SyncML session time line
8.1. Concept overview
9.1. Overview of SMLSingle/MultiThread, SMLSession, SMLSessionHandler and SMLDatabase
9.2. A tree node object
10.1. SySeEns database model

List of Tables

2.1. Overview of some PIM databases
7.1. Merge example setup
7.2. Modified data
7.3. Client A has synchronized
7.4. Data after merge
7.5. Example Setup
7.6. Example Data (Client)
7.7. Example Data (Server)
7.8. Comparison Points
7.9. Merged Example Data

List of Examples

4.1. Minimal version of my personal vCard
4.2. Minimal version of my personal vCard, version 3.0

   Next
   Part I. Introduction
Content copyright Jun 2018 by Max Berger Design: TEMPLATED Images: Unsplash (CC0) Privacy Policy