SDI Seminar

Speaker: Norman Cohen, Research Staff Member, Mobility Software and Solutions,
IBM T.J. Watson Research Center

Date: April 9, 1999
Time: 11:30 am
Place: Wean Hall 8220

COSMOS: Co-Operative State Machine for Object Synchronization


A Cooperative State Machine for Object Synchronization (COSMOS) is a state machine whose state includes the contents of a data store that is to be synchronized with other data stores. The state machine is intended to model a database on a mobile computing device or server, and to define a standard framework for data synchronization.

The stronger the restrictions we impose about which data stores may synchronize with which, the simpler and more efficient we can make synchronization. We have defined distinct COSMOS models for three different network topologies. In order of increasing generality, these topologies are:

  • The dedicated-pair topology: A given COSMOS on one device is synchronized with precisely one COSMOS on another device.
  • The star topology: Each COSMOS is designated either as a central replica or as a subordinate replica of a particular central replica. Synchronization occurs only between a central replica and one of its subordinate replicas.
  • The peer-to-peer topology: There is a collection of peer COSMOSes, any of which can potentially synchronize with any other.

For each of these topologies, we have defined an abstract model describing the state of a COSMOS, operations altering that state, and properties of that state that can be queried. We have also designed protocols based on these state transformations and queries, allowing synchronization between independently developed COSMOS implementations. The Mobile Network Computer Reference Specification (MNCRS) data-synchronization framework can be viewed as a Java implementation of a peer-to-peer COSMOS, augmenting the common synchronization interface of COSMOS with a common application writers platform.


Norman H. Cohen is a Research Staff Member at IBM's Thomas J. Watson Research Center in Yorktown Heights, New York. His current research concerns data synchronization, particularly with mobile devices. He chairs the data-synchronization working group of the Mobile Network Computing Reference Specification consortium. He contributed to IBM's eNetwork Web Express product for mobile web browsing and the Gold Rush middleware for mobile object-based transactional access to a database. Previously, Dr. Cohen worked on an experimental optimizing compiler for Very Long Instruction Word (VLIW) architectures, the TOBEY optimizing compiler back end, the definition of the 1995 revision to the Ada programming language, the definition of an Ada-based language for formal specification and design, and formal verification technology. He is the author of the book Ada as a Second Language, the second edition of which was published in 1996. Cohen received his B.A. in mathematics and computer science from Cornell University and his M.S. and Ph.D. in applied mathematics and computer science from Harvard University.