Distributed Systems Support for Voice in Cedar
October 23, 1986

Distributed Systems Support
for Voice in Cedar



Douglas B. Terry
Daniel C. Swinehart
Polle T. Zellweger

Computer Science Laboratory
Xerox Palo Alto Research Center
Plot
· User interface and system overview (video)
· Project goals
original, functional goals
architectural goals
· Towards an architecture for voice integration
· Voice ropes: management of recorded voice
· Conclusions
Original Voice Project Goals
· Taming the telephone
better placement and receipt of calls
better handling of special features
better human-assisted call handling
· Voice as data
recorded voice messages
synthesized text-to-speech messages
speech recognition (not yet)
voice-annotated documents
integration with other interactive applications
· Programmer control over all of the above
Overall Goal: A Voice Systems Architecture
· User-programmable
language-level interfaces
simple things are simple
complicated things make sense
acceptable impact on reliability
· Supports interoperability
multiple workstations and environments
multiple networks and protocols
multiple telephone transmission and switching choices
· Extensible
admits new applications
admits new services
admits new workstations, networks, . . .
Cedar Voice Architecture Layering
· Application
client applications that use voice
· Service
telephony, recording, speech synthesis, speech understanding, etc.
· Conversation
conversation establishment and management
· Transmission
voice transmission protocol
remote procedure call protocol
· Physical
communication media
Conversation Management
· one or more parties per conversation
sources and sinks of voice
non-voice participants, e.g. workstations
· conversation establishment
state machine (idle, notified, ringing, ringback, active, ...)
parties act autonomously
notifications of state changes
· authenticated or presumed identities
· active parties use Voice Transmission Protocol
· broadcast reports during active conversation
encryption key distribution
recording started, playback finished, etc.
Conversation Management -- Challenges
· Novel conversation models
background calls, lectures, "watercooler" simulators
unsymmetric participation in (multiple) conversations
under workstation program control
· Workstation/telephone partnership
workstation decisions override telephone decisions
workstation tracks telephone-initiated activities
default behavior when workstation fails or drops out
· Reliability in the face of:
simultaneous actions by all parties
possibly-unreliable client code in workstation
distributed control, failures
real-time nature of the activity