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 Κζ– PressFonts–"slides" style˜Iunleaded•Mark insideFooteršΡdis.˜.K– outsideFooterš˜ItitlešΟx/œw˜¦˜IraggedšΟb,˜,šŸ˜M˜M˜—MšŸ/˜/MšŸ+˜+MšŸ ˜ M˜—˜šŸ˜M˜%M˜#M˜#—šŸ˜M˜M˜#Mšœ˜M˜M˜/—MšŸ*˜*—˜*šŸ˜M˜M˜M˜M˜ —šŸ˜M˜&M˜M˜5—šŸ ˜ M˜M˜M˜(——˜!šŸ ˜ M˜"—šŸ ˜ M˜B—šŸ˜M˜)—šŸ˜M˜M˜—šŸ ˜ M˜——˜šŸ&˜&M˜M˜)—šŸ˜M˜>M˜M˜—MšŸ&˜&MšŸ0˜0šŸ.˜.M˜M˜*——˜%šŸ˜M˜4M˜5M˜!—šŸ#˜#M˜2M˜1M˜4—šŸ˜M˜#M˜.M˜M˜ ———…— V B