A single ended synchronization agent which communicates with a single
endpoint. Responsive to instructions from a synchronization manager, a
single ended synchronization agent transfers information between its
endpoint and a common synchronization engine. Endpoints may include
databases, hand held computers, communication links and the like. These
novel single ended agent programs in cooperation with a common
synchronization engine are able to synchronize databases. The agent
programs need not implement synchronization logic and agent programs are
required to understand only a single database. These aspects of the
single ended agent programs greatly simplify the design, construction and
maintenance of this software when compared with the prior art.