Tactus and Synchronization

Tactus is an architecture that extends a graphical user interface toolkit to handle temporal media, and a server that extends a window manager to present synchronized media streams.
Back to Bibliography by Subject

Dannenberg, “Remote Access to Interactive Media,” in Enabling Technologies for High-Bandwidth Applications (September 1992), Proceedings of the SPIE 1785, pp. 230-237 (1993).

Presents the ideas behind Tactus and talks about the advantages of clock-based synchronization.

Postscript Version


Dannenberg, Neuendorffer, Newcomer, and Rubine, “Tactus: Toolkit-level Support for Synchronized Interactive Multimedia,” in Proceedings of the Third International Workshop on Network and Operating System Support for Digital Audio and Video, La Jolla, CA, November 1992. IEEE Computer and Communication Societies, 1992. pp. 264-275.

Description of the Tactus architecture.
ABSTRACT: Tactus addresses problems of synchronizing and controlling various interactive continuous-time media. The Tactus system consists of two main parts. The first is a server that synchronizes the presentation of multiple media, including audio, video, graphics, and MIDI, at a workstation. The second is a set of extensions to a graphical user interface toolkit to help computer and/or control temporal streams of information and deliver them to the Tactus Server. Temporal toolkit objects schedule computation events that generate media. Computation is scheduled in advance of real time to overcome system latency, and temstamps are used to allow accurate synchronization by the server in spite of computation and transmission delays. Tactus supports precomputing branches of media streams to minimize latency in interactive applications.

[Adobe Acrobat (PDF) Version]


Dannenberg, Neuendorffer, Newcomer, and Rubine, “Tactus: Toolkit-Level Support for Synchronized Interactive Multimedia,” Multimedia Systems 1(2), 1993, pp 77-86.

A journal version of the NOSSDAV paper.

ABSTRACT: Tactus addresses problems of synchronizing and controlling various interactive continuous-time media. The Tactus system consists of two main parts. The first is a server that synchronizes the presentation of multiple media, including audio, video, graphics, and MIDI at a workstation. The second is a set of extensions to a graphical user interface toolkit to help compute and/or control temporal streams of information and deliver them to the Tactus Server. Temporal toolkit objects schedule computation events that generate media. Computation is scheduled in advance of real time to overcome system latency, and timestamps are used to allow accurate synchronization by the server in spite of computation and transmission delays. Tactus supports precomputing branches of media streams to minimize latency in interactive applications.

[Adobe Acrobat (PDF) Version] [Postscript Version].


Rubine, Dannenberg, Anderson, and Neuendorffer, “Low-Latency Interaction Through Choice-Points, Buffering, and Cuts in Tactus,” in Proceedings of the International Conference on Multimedia Computing and Systems, Boston, MA, May 1994. Boston, MA: IEEE Computer Society Press, 1994. pp. 224-233.

Although the Multimedia Systems paper mentions the idea of buffering multiple streams for lower latency, this paper reports on a working implementation.
ABSTRACT: Multimedia streams usually require prefetching and buffering to ensure steady, glitch-free delivery to audio and video displays, but buffering causes undesirable latency. This latency may be manifested as startup delays, glitches, dropouts, and loss of synchronization. In interactive media presentations where there are a small number of choices, alternative streams can be prefetched to reduce latency. This technique is supported by the Tactus system, which manages the computation and synchronization of multimedia data. Tactus offers a systematic approach to prefetching, precomputation, choice points, and synchronous cuts. Tactus consists of an object-oriented client toolkit for media generation and a synchronization server for media presentation

[Adobe Acrobat (PDF) Version]


Dannenberg, Anderson, Neuendorffer, Rubine, and Zelenka, “Performance Measurements of the Multimedia Testbed on Mach 3.0: Experience Writing Real-Time Device Drivers, Servers, and Applications,” CMU-CS-93-205, 1993.

Tactus was funded to provide a testbed for multimedia operating systems. We first ran on Mach 3.0, and this tech report provides measurements from a number of benchmarks.

CMU CS Technical Report (PostScript), my local copy


Dannenberg and Rubine, “A Comparison of Streams and Time Advance As Paradigms for Multimedia Systems,” CMU-CS-94-124, 1994.

Tactus, which is based on the time-advance model, differs significantly from stream-based multimedia architectures such as in OS/2. This paper explores the advantages and disadvantages of each approach.

CMU CS Technical Report (PostScript), my local copy


Dannenberg, Anderson, Neuendorffer, andRubine, “Performance Measurements of the Multimedia Testbed on Real-Time Mach,” CMU-CS-94-141, 1994.

We ported Tactus to RT Mach, hoping to see some performance improvements. This report shows very little if any improvements over Mach 3.0 and explores why.

CMU CS Technical Report (PostScript), my local copy


The Tactus Project ended, but some of the main ideas came from computer music research, and new computer music research is at least partly inspired by experience with Tactus. In particular, as we move toward distributed computer music systems, synchronization, timestamps, and clocks are all critical components. See “Time in Distributed Real-Time Systems.”