PML:  A Language Interface to Networked Voice Response Units
1 / 19

- PowerPoint PPT Presentation

  • Uploaded on

PML: A Language Interface to Networked Voice Response Units Discussion for ATS’98 Chris Ramming AT&T Labs West. Outline. Background IVR Applications (the relevant domain) Project Objectives IVR Architectures: CPE and Network Challenges of a service-oriented approach

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about '' - shing

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Slide1 l.jpg

PML: A Language Interface to Networked Voice Response UnitsDiscussion for ATS’98Chris RammingAT&T Labs West

Outline l.jpg

  • Background

    • IVR Applications (the relevant domain)

    • Project Objectives

    • IVR Architectures: CPE and Network

    • Challenges of a service-oriented approach

  • The Phone Markup Language (PML)

    • Goals

    • Description

    • Effects

  • Demo

Interactive voice response ivr applications l.jpg
Interactive Voice Response (IVR) Applications

  • Transaction-Oriented IVR Applications

    • Bank-by-Phone, movie ticket purchase

    • Email-by-phone, PIM-by-phone

    • Stock quotes, news, weather

  • Communication-oriented IVR applications

    • “Find me” applications / enhanced answering machines

    • Conference control

  • Transaction/Communication mixtures

    • Personal telecommunications assistants

Project objectives l.jpg
Project Objectives

  • Explore idea of language-as-network-service interface

  • Integrate the Internet and PSTN

  • Build Interactive Voice Response (IVR) systems with well-known architecture, languages, and protocols

  • Transform IVR industry from customer premise industry to network service industry

A customer premise vru l.jpg
A Customer-premise VRU


Voice Response Unit (VRU)


Application Logic


Application Data

VRU Owner



Disadvantages of customer premise vrus l.jpg
Disadvantages of customer-premise VRUs

  • High startup costs for the purchase of VRUs

  • Fixed, costly PRI connectivity independent of utilization levels

  • Must address low-level VRU programming and architecture in addition to application detail

  • Responsibility for (7x24?) reliability

  • Must be responsibility for equipment maintenance & upgrades

  • Limited, fixed capacity for any installation

  • Dynamic routing (in case of disaster) difficult

Advantages of ivr as network service l.jpg
Advantages of IVR as Network Service

  • No specialized equipment investment

  • No fixed expenses for PSTN connectivity

  • Can focus on content/application rather than low-level VRU detail

  • Offloaded responsibility for 7x24 reliability

  • No need to be concerned with equipment, software upgrades.

  • Possibility of flexible capacity

  • Location transparency of VRU permits dynamic routing

A separation of ivr concerns l.jpg
A Separation of IVR Concerns


Voice Response Unit (VRU)

Application Programmer

App. Logic&Data



Ivr separation of concerns l.jpg


Call control (answer, hang up, transfer, etc.)

Speech synthesis

Audio playback

Audio recording

DTMF detection

Hangup detection

Speech recognition


Application logic

Application data

IVR Separation of Concerns

The phoneweb architecture for ivr l.jpg
The PhoneWeb Architecture for IVR

Application Programmer


VRU containing

PML Interpreter


HTTP Daemon serving PML




Challenges of ivr as network service l.jpg
Challenges of IVR as network service

  • Reducing cost through timesharing of VRU

  • Guaranteeing VRU integrity

    • careless application programmers

    • malicious application programmers

  • Guaranteeing application security

    • no way to access other applications’ data

  • Obtaining efficiency in a distributed application

  • (Helping customers build effective services)

    • conforming to useful conventions

Pml ideas l.jpg
PML ideas

  • PML only handles content output, form-based user input, and call control; arbitrary “service logic” is performed at the HTTP daemon via CGI scripts or other means.

  • PML is a finite-state-machine language.

    • VRU activity is event-based

    • FSMs permit useful dynamic and static analysis

  • PML syntax is a variant of HTML (controversial).

Visual web vs phone web l.jpg

Text-to-Speech, Audio

DTMF, ASR, Audio

Handset Speaker

Mostly transaction svcs

Call control

Stateful presentation

Text, Images

Keyboard, Mouse


Some transaction svcs

No call control

Stateless presentation

Visual Web vs Phone Web

Pml an html variant l.jpg
PML, an HTML variant

  • Output

  • Control constructs

  • Input

  • Call control

  • Exception handling

  • Application debugging & analysis

  • Interaction definitions

Result efficiency of distributed ivr applications l.jpg
Result: Efficiency of distributed IVR applications

  • Mobile code allows a quantity of computation to take place in the server

    • In IVR applications, interactions with user are very time-sensitive.

  • Mobile code may reduce the overall amount of data transmitted

    • as in PostScript

  • Restricted language permits interesting optimizations

    • Pre-fetching and caching of Web pages

Result integrity of the shared vru l.jpg
Result: integrity of the shared VRU

  • Allocation, Deallocation, and invocation of resources such as TTS, ASR, processor, etc. is correct by construction, analysis, and dynamic guards

  • If language interpreter cannot harm VRU, neither can any application

    • sandboxing of interpreter is an additional possibility

Result application security in the shared vru l.jpg
Result: Application security in the shared VRU

  • PML provides no constructs for referring to underlying operating system resources or the activity of other application instances

  • Security problem reduced to security of interpreter, not that of arbitrary applications

Unsolved problems future work l.jpg
Unsolved problems / Future Work

  • Eliminating interpretive overhead

    • Partial evaluation

      • Thibault et al use partial evaluation and achieve 100% of C code performance in an active network setting.

    • Proof-generating compilation

      • May be possible to compile PML at client and automatically instrument it with necessary proofs

  • Eliminating noncritical application bugs

    • PML is based on FSMs

      • May be possible to statically verify application-specific safety properties.

Conclusions l.jpg

  • Restricted languages are suitable interfaces to shared network resources.

    • Restrictions can be leveraged for automated optimizations (prefetching, resource allocation)

    • Restrictions can be used to prevent insecurities (unsafe operations not part of language) and permit timesharing

    • Restrictions can lead to efficient implementations of untrusted code

    • Language interfaces are appropriate in a distributed setting

    • Mobile code reduces network interactions and possibly bandwidth