Synchronization Policies and Mechanisms in a Continous Media I/O Server

David P. Anderson and George Homsy

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-91-617
February 1991

http://www2.eecs.berkeley.edu/Pubs/TechRpts/1991/CSD-91-617.pdf

We are developing ACME, a server for input and output of continuous media (digital audio and video) at the user interface. ACME supports a range of applications, including telephony, production, and browsing. The server runs as a multithreaded user-level process on a UNIX system. It is controlled via an extended window server (X11/NeWS) and communicates continuous media data on standard network connections. In this environment there are many sources of possible timing and synchronization error: 1) nonuniform startup times of I/O devices and network connections; 2) rate mismatch among I/O devices; 3) starvation of output streams; 4) buffer overrun on input systems.

ACME provides an abstraction called a logical time system (LTS) that allows clients to express their synchronization requirements. Multiple CM data streams can be grouped into an LTS. Within an LTS, data with the same "timestamp" is displayed (for output) or collected (for input) at approximately the same real time. The skew tolerance, and the policy for recovering from errors, are client-specified. An LTS can be paused and resumed, and discrete I/O events (e.g., movie subtitles) can be scheduled within an LTS. The LTS mechanism is sufficient to express the synchronization requirements of a wide range of applications.


BibTeX citation:

@techreport{Anderson:CSD-91-617,
    Author = {Anderson, David P. and Homsy, George},
    Title = {Synchronization Policies and Mechanisms in a Continous Media I/O Server},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1991},
    Month = {Feb},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1991/5343.html},
    Number = {UCB/CSD-91-617},
    Abstract = {We are developing ACME, a server for input and output of continuous media (digital audio and video) at the user interface. ACME supports a range of applications, including telephony, production, and browsing. The server runs as a multithreaded user-level process on a UNIX system. It is controlled via an extended window server (X11/NeWS) and communicates continuous media data on standard network connections. In this environment there are many sources of possible timing and synchronization error: 1) nonuniform startup times of I/O devices and network connections; 2) rate mismatch among I/O devices; 3) starvation of output streams; 4) buffer overrun on input systems. <p>ACME provides an abstraction called a logical time system (LTS) that allows clients to express their synchronization requirements. Multiple CM data streams can be grouped into an LTS. Within an LTS, data with the same "timestamp" is displayed (for output) or collected (for input) at approximately the same real time. The skew tolerance, and the policy for recovering from errors, are client-specified. An LTS can be paused and resumed, and discrete I/O events (e.g., movie subtitles) can be scheduled within an LTS. The LTS mechanism is sufficient to express the synchronization requirements of a wide range of applications.}
}

EndNote citation:

%0 Report
%A Anderson, David P.
%A Homsy, George
%T Synchronization Policies and Mechanisms in a Continous Media I/O Server
%I EECS Department, University of California, Berkeley
%D 1991
%@ UCB/CSD-91-617
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/1991/5343.html
%F Anderson:CSD-91-617