Skip to main content

IBM Cambridge Research Center

  Project: Notification Servers and NSTP

Researchers: Mark Day, John Patterson, David Mitchell, Quinton Zondervan, Jakov Kucan, Wei Meng Chee, Chris Lopes, Kenneth Pang

A Collaborative User Experience Project:

The problem of maintaining consistent state is central to network-based, synchronous multi-user groupware. In such systems, the participants' user interfaces (UIs) must be kept consistent to promote the impression of playing or working together. For example, players in multi-user games such as Doom must be aware of each other's presence, as must visitors in shared virtual spaces such as AlphaWorld. Users of shared editors and whiteboards must be able to see changes and gestures made by co-editors.

Often, the technique for maintaining consistency is specific to the application being implemented. That means that each new synchronous groupware application (re)invents some mechanism for achieving consistency. Our approach is to build notification servers using the Notification Service Transfer Protocol (NSTP) that we have defined. Doing this abstracts out the problem of state consistency from any particular application. A notification server provides a simple, general, open, centralized service to support the construction of synchronous groupware.

We have implemented NSTP in Java and C++. The Java implementation, called PlaceHolder, is available at no cost for noncommercial uses.

Related publications:
TR 96-01, John Patterson, Mark Day, and Jakov Kucan. Notification Servers for Synchronous Groupware. Proceedings of the ACM Conference on Computer-Supported Cooperative Work (CSCW 96).

TR 96-13, Mark Day, John Patterson, and David Mitchell. The Notification Service Transfer Protocol (NSTP): Infrastructure for Synchronous Groupware

TR 97-02, Mark Day. What Synchronous Groupware Needs: Notification Services. 6th IEEE Workshop on Hot Topics in Operating Systems.

TR 96-08, Mark Day, John Patterson, Jakov Kucan, Wei Meng Chee, and David Mitchell. Notification Service Transfer Protocol (NSTP) version 1.0