throbber
United States Patent (19)
`Britton et al.
`
`54
`
`(75)
`
`METHOD AND APPARATUS FOR
`GENERATING COMPUTER-CONTROLLED
`INTERACTIVE VOICE SERVICES
`Inventors: James T. Britton, Aberdeen, N.J.;
`Lorraine Figueroa, Brooklyn, N.Y.;
`John F. Patterson, Morristown;
`Robert I. Rosenthal, Wayside;
`Richard R. Rosinski, Middletown, all
`of N.J.
`Assignee: AT&T Information Systems Inc.
`American Telephone and Telegraph
`Company, Murray Hill, N.J.
`Appl. No.: 710,605
`Filed:
`Mar. 11, 1985
`Int. Cl."......................... G10L 5/00; G06F 15/20
`a
`364/513.5; 364/300
`Field of Search ................ 379/93, 91; 381/51-53;
`364/513.5, 300, 456,516
`References Cited
`U.S. PATENT DOCUMENTS
`4,060,848 11/1977 Hyatt ..................................... 381/51
`4,084,237 4/1978 Beachem et al.
`... 364/400
`4,315,315 2/1982 Kosslakoff .......................... 364/300
`4,455,619 6/1984 Masui et al. ...
`...... 364/900
`4,553,222 11/1985 Kurland et al. ..................... 364/900
`
`73)
`
`21)
`22)
`51
`52
`58)
`
`56)
`
`Patent Number:
`11
`(45) Date of Patent:
`
`4,785,408
`Nov. 15, 1988
`
`4,602,129 7/1986 Matthews et al. .................... 379/89
`Primary Examiner-Emanuel S. Kemeny
`Attorney, Agent, or Firm-John A. Caccuro
`57
`ABSTRACT
`A user-application program for computerized telephone
`ordering is generated by a system designer who selects
`and interconnects pre-defined program modules and
`subroutines using a graphics terminal. The application
`program allows TOUCH-TONE input data and voice
`response. The present invention describes a Dialog
`Production System (DPS) for generating application
`programs for instructing a computer-controlled voice
`response system to provide computer-controlled voice
`services. The DPS includes interaction modules, each
`defining a basic end-user transaction which can be per
`formed by the system, and methods for specifying mod
`ule interconnection. Each interaction module controls
`the intercommunications with other modules and con
`trols the devices which interface to the system. To
`design a dialog program to implement the desired voice
`service the system designer uses a graphic terminal to
`select and interconnect the modules to define the se
`quence of transactions needed to implement the desired
`voice service.
`
`9 Claims, 24 Drawing Sheets
`
`
`
`
`
`
`
`O
`
`
`
`
`
`
`
`
`
`
`
`
`
`DIALOG
`TERMINAL
`
`DIALOGPRODUCTION -109
`PROGRAM
`
`DPS
`PROCESSOR
`
`APPL
`PROGRAM
`
`08
`
`BUSINESS
`COMPUTER
`
`07
`
`Page 1 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent
`
`4,785,408
`
`
`
`
`
`
`
`
`
`Page 2 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 2 of 24
`
`4,785,408
`
`FIG 2
`
`
`
`2O
`
`
`
`2O2
`
`
`
`2O3
`
`
`
`204
`
`CALL, DPS
`
`INITIALIZE DPS
`TERMINAL
`
`DISPLAY WINDOWS
`
`INITIALIZE TREE
`DATA STRUCTURE
`
`DISPLAY TREE
`
`
`
`Page 3 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 3 of 24
`
`4,785,408
`
`FIG. 3
`
`GA) FROM FIG. 2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`WAIT FOR
`TERMINAL INPUT
`
`MODE
`WINDOW
`INPUT
`
`GLOBAL.
`WINDOW
`INPUT
`
`INSERTION
`NINDOW
`INPUT
`
`EDIT
`COMMAND
`NINDOW
`
`PROCESS INPUT
`FROM MODE WINDOW
`F.C. 3
`
`PROCESS INPUT TO
`GLOBAL WINDOW
`FIG 11
`
`PROCESS INPUT TO
`INSERTION WINDOW
`FIG 5
`
`PROCESS INPUT TO
`EDIT COMMAND
`WINDOW
`
`Page 4 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 4 of 24
`
`4,785,408
`
`
`
`NAVIGATION
`WINDOW 1
`INPUT
`
`NAVIGATION
`INDOW 2
`INPUT
`
`FORM
`WINDOW
`INPUT
`
`FILE
`WINDOW
`INPUT
`
`PROCESS INPUT TO
`NAVIGATION
`WINDO
`FIC, 8
`
`PROCESS INPUT TO
`NAVICATION
`WINDOW 2
`FC, O
`
`PROCESS INPUT TO
`FORM WINDO
`FIG 9
`
`PROCESS INPUT TO
`FILE NINDOW
`FIG, 12
`
`Page 5 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 5 of 24
`
`4,785,408
`
`PROCESS INPUT TO
`INSERTION WINDON
`
`SELECT INTERACTION
`MODULE
`
`SELECT LOCATION
`IN TREE WINDOW
`
`SOO
`
`FIG 5
`
`5O1
`
`5O2
`
`MAKE A NEW
`NODE FOR MODULE
`
`503
`
`BRANCH
`OR
`SNITCH
`
`
`
`505
`MAKE ADDITIONAL
`NODES FOR MODULE
`
`MAKE EXTRA
`NODE FOR
`MATCH MODULE
`
`MAKE NODE
`FOR LOOP
`BACK DISPLAY
`
`506
`
`5
`
`SO
`
`S 1
`
`
`
`YES
`
`ERROR
`
`DISPLAY UPDATED
`TREE
`
`RETURN
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 6 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent
`
`Nov. 15, 1988
`
`Sheet 6 of 24
`
`4,785,408
`
`FIG 6
`
`PROCESS
`INPUT
`TO EDIT
`COMMAND
`WINDOW
`
`DETERMINE
`OBJECT
`IN WINDOW
`INPUT TO
`
`RETRIEVE WHICH
`MODULE
`TO DELETE
`
`
`
`RETRIEVE WHICH
`MODULF
`TO MOVE
`- -
`290
`RETRIEVE WHICH
`MODULE
`TO COPY
`614
`RETRIEVE WHICH
`BRANCH
`TO DELETE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DELETE
`BRANCH
`
`67
`-4 -
`RETRIEVE WHICH
`RETRIEVE WHERE
`BRANCH
`->
`TO MOVE
`TO MOVE
`THE BRANCH
`62 -4 -
`RETRIEVE WHICH
`RETRIEVE WHERE
`->
`BRANCH
`TO COPY
`TO COPY
`BRANCH TO
`
`
`
`
`
`604
`PERFORM
`DELETE
`MODULE
`FUNCTION
`
`RETRIEVE WHERE
`TO MOVE
`THE MODULE
`-61
`RETRIEVE-ERE
`TO COPY
`MODULE TO
`bits,
`PERFORM
`DELETE
`BRANCH
`FUNCTION
`618
`
`
`
`
`
`PERFORM
`MOVE
`MODULE
`FUNCTION
`
`/612
`E.
`MODULE
`FUNCTION
`
`PERFORM
`MOVE
`BRANCH
`FUNCTION
`
`
`
`PERFORM
`COPY
`BRANCH
`FUNCTION
`
`Page 7 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 7 of 24
`
`4,785,408
`
`
`
`(C) FROM FIG, 6
`
`FROM FIG. 6 (D)
`
`FIG, 7
`
`7OO
`
`ADD
`BRANCH
`
`YES
`
`RETRIEVE WHERE
`TO ADD
`BRANCH
`
`PERFORM ADD
`BRANCH
`FUNCTION
`
`RETRIEVE
`TOP OF THE
`LOOP NODE
`
`705
`A
`RETRIEVE
`BOTTOM OF
`THE LOOP NODE
`
`
`
`
`
`-4
`PE
`LOOP
`FUNCTION
`
`RETRIEVE
`WHERE TO
`FIX END
`
`
`
`PERFORM
`FIX END
`FUNCTION
`
`NO
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DISPLAY
`TREG
`
`
`
`Page 8 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 8 of 24
`
`4,785,408
`
`PROCESS INPUT TO
`NAVIGAION WINDOW
`
`8OO
`
`DETERMINE OBJECT
`
`N WINDOW INPUT TO I
`
`8O
`
`FIG, 8
`
`8O2
`
`807
`
`ND
`
`NO
`
`809
`
`YES
`
`8
`
`NO
`
`YES
`
`808
`
`YES
`
`PERFORM
`SCROLL UP
`
`81 O
`
`PERFORM
`SCROLL
`LEFT
`
`812
`
`PERFORM
`SCROLL
`RIGHT
`
`NO
`
`8, 13
`
`SCRO
`DOWN
`
`YES
`
`
`
`84
`
`PERFORM
`SCRO
`DONN
`
`8, 15
`
`YES
`
`8 6
`
`DISPLAY
`TREE
`
`RETRIEVE WHICH
`MODULE
`TO DISPLAY
`
`804
`
`DISPLAY
`LEVEL 2
`NAVIGATION
`WINDO FIG,
`805
`
`O
`
`DISPLAY
`LEVEL 2
`FROM FIC. 9
`
`DISPLAY
`ERROR
`MESSAGE
`WINDOW
`
`RETURN
`
`RETURN
`
`Page 9 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 9 of 24
`
`4,785,408
`
`900
`PROCESS INPUT TO
`FORM WINDON
`
`90
`DETERMINE OBJECT IN
`NINDOW INPUT TO
`
`902
`
`903
`N
`
`FIG, 9
`
`
`
`
`
`
`
`NO
`
`
`
`DISPLAY
`MESSACE
`TO USER
`
`906
`ANNOUNCEMENT
`OR PROMPT
`
`
`
`907
`
`GO TO
`RECORD
`
`RETRIEVE
`ANNOUNCEMENT OR
`PROMPT NAME
`
`
`
`
`
`START
`RECORDING
`
`9
`
`YES
`
`PERFORM RECORD
`FUNCTION
`
`RETURN
`
`RETURN
`
`Page 10 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 10 of 24
`
`4,785,408
`
`FIG. O
`
`OOO
`
`PROCESS INPUT
`TO NAVICATION
`WINDOW 2
`
`DETERMINE OBJECT
`IN WINDOW
`INPUT TO
`
`
`
`
`
`OO2
`
`RETURN
`TO LEVEL
`
`
`
`
`
`1005
`
`
`
`DO
`LEVE 2
`FORM
`
`RETURN
`
`DISPLAY
`LEVEL 1
`WINDONS
`
`DISPLAY
`TREE
`
`DETERMINING
`FORM
`TYPE
`
`DISPLAY
`FORM
`FUNCTION
`
`Page 11 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 11 of 24
`
`4,785,408
`
`FIG.
`
`11 OO
`
`PROCESS INPUT
`TO CLOBAL WINDON
`1D
`DETERMINE OBJECT
`IN WINDON
`INPUT TO
`
`1 102
`
`1 103
`
`11 O5
`
`YES
`
`YES-
`
`QUIT
`COMMAND
`
`NO
`
`SAVE
`COMMAND
`
`NO
`
`RETRIEVE
`COMMAND
`
`
`
`YES
`
`NO
`
`1107
`
`HELP
`COMMAND
`
`YES
`
`NO
`
`RETURN
`EXIT CODE
`
`O4.
`
`SAVE
`CURRENT
`DIALOG
`
`1106
`
`SEFE.
`DIALOG
`1108
`
`Bill
`APPLICABLE
`HELP MESSAGE
`
`Page 12 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 12 of 24
`
`4,785,408
`
`FIG 2
`
`
`
`
`
`
`
`PROCESS INPUT
`TO FILE WINDOW
`
`DETERMINE OBJECT
`IN WINDON INPUT TO
`
`RETRIEVE DIALOG
`NAME
`
`
`
`
`
`2O3
`
`UPLOAD
`DIALOG
`
`DOWNLOAD
`DIALOG
`
`
`
`
`
`START
`DOWNLOAD
`
`
`
`PERFORM
`UPLOAD
`FUNCTION
`
`PERFORM
`DOWNLOAD
`FUNCTION
`
`Page 13 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 13 of 24
`
`4,785,408
`
`FIG, 3
`
`PERFORM
`EDIT
`FUNCTION
`
`
`
`PERFORM
`INTERPRET
`FUNCTION
`
`PERFORM
`TUTOR
`FUNCTION
`
`PERFORM
`INSTAL
`FUNCTION
`
`PROCESS INPUT TO
`MODE INDOW
`
`
`
`DETERMINE OBJECT
`IN WINDOW
`INPUT TO
`
`
`
`
`
`
`
`
`
`
`
`
`
`3O6
`N TUTOR
`MODE
`
`
`
`
`
`RETURN
`
`Page 14 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent
`
`Nov. 15, 1988
`
`Sheet 14 of 24
`
`4,785,408
`
`
`
`Page 15 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent
`
`
`
`Z
`
`wae
`
`>——————————————— º | | |—————————————————
`
`wae
`
`wae
`
`4,785,408
`
`
`
`?0NWWW.00 TW8010
`
`Page 16 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`US. Patent
`
`Nov. 15, 1988
`
`Sheet 16 of 24
`
`4,785,408
`
`
`
`
`
`=o»_;mzop<=pmzomm
`
`=Qz<1m
`
`
`
`pzuzmo=ozz<harem;moo;
`
`HomAAOO
`
`<p<o><amomoomz
`
`
`
`
`
`moz<=oxmwo_o>uo_o>
`
`4J<u
`
`pz<=zup~<
`
`mzo_p¢ohamzwzpo
`
`
`
`>moom>o=MPMJwa
`
`w4mz<w
`
`_oo_
`
`ammo:
`
`
`
`
`
`
`
`m4=ooz“4:99:w4=oo=.
`
`5.2%5.2%52%
`
`:8E:SE
`
`em.53:23;
`
`44<o
`
`pz<ozmpp<
`
`meg
`
`quzmosozz<
`
`oopso\/
`
`
`
`maz<zzoo22h<¢_><=_4u>w4
`
`m4=oo=
`
`momma
`
`bx.me
`
`az<z=oo<kow4wm
`
`w
`
`No2
`
`hz<~w
`
`hzwsmozozz<
`
`moo;
`
`Hmzozm
`
`Homggoo
`
`225
`
`:52.2E:
`
`:3E:
`
`
`
`wgz<=zoo4<mo49
`
`Page 17 of 36 ,
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`Page 17 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`
`
`
`

`

`U.S. Patent
`
`Nov. 15, 1988
`
`Sheet 17 of 24
`
`4,785,408
`
`FIG,
`
`7
`
`17OO
`
`CLEAR ERROR COUNTER
`
`17
`
`1703
`A.
`INITIAL PROMPT
`
`1702
`
`CLEAR
`DIGIT
`COLLECT
`
`-
`
`704
`
`17O6
`
`705
`C EAR
`YES. 55
`
`COLLECT IT
`1707
`
`VOICE
`
`NO
`
`1708
`
`1712
`TIME OUT
`ND
`ERROR
`
`1714
`
`71
`
`YES
`
`OVER
`HESSED
`1717
`YES
`
`ANY
`ERRORS
`NO
`
`709
`
`7 D
`
`OWER
`
`SELECT
`
`YES
`
`
`
`1713
`
`TIMEOUT
`PROMPT
`
`INDEX ERROR COUNTER
`
`CLEAR DIGIT COLLECT
`
`1715
`
`1716
`
`
`
`ERROR
`
`1721
`
`GO TO
`ATTEND ANT
`
`TED <>
`
`1718
`
`1722
`
`CLEAR
`DIGIT
`COLLECT
`
`Page 18 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 18 of 24
`
`4,785,408
`
`FIG, 8
`
`
`
`
`
`
`
`
`
`CALLER
`ANNOUNCEMENT
`
`18O
`1.
`
`CONNECT
`DIWA TO
`ATTENDANT
`
`A TENDANT
`ANNOUNCEMENT
`
`TRANSFER
`CALL
`
`1805
`
`DISCONNECT
`
`Page 19 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 19 of 24
`
`4,785,408
`
`FIG.
`IG. 19
`
`CLEAR DIGIT
`
`
`
`
`
`1913
`
`19 2
`
`19
`
`
`
`CLEAR ERROR COUNTER
`1901
`
`900
`
`1902
`
`DIAL
`AHEAD
`
`NO
`
`CLEAR
`DICT
`COLLECT
`
`VOICE OUT INITIA PROMP
`
`1903
`
`1905
`CLEAR
`DIGIT
`COLLECT
`
`
`
`INVALID
`ENTRY
`PROMPT
`
`1909
`
`ANY
`
`ERROR
`
`NO
`NEXT
`MODULE
`
`1917
`
`1914
`
`YES
`
`2. THRESHOLD PROMPT
`
`CLEAR DIGIT COLLECT
`
`
`
`
`
`
`
`OWER
`THRESHOLD
`ACTION
`192O
`
`DISCONNEC
`
`DISCONNECT
`
`Page 20 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 20 of 24
`
`4,785,408
`
`FIG. 20
`
`2OOO
`
`CLEAR
`ANNOUNCEMENT
`COUNTER
`
`2CO
`
`BUILD
`ANNOUNCEMENT
`
`ISSUE ANNOUNCEMENT
`
`ZOO2
`
`2003
`
`2006
`
`NEXT
`MODULE
`
`2004
`r
`
`2005
`
`LAST
`REPEAT
`
`-
`
`NO
`
`PAUSE
`
`INDEX
`ANNOUNCEMENT
`COUNTER
`
`
`
`
`
`
`
`
`
`Page 21 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 21 of 24
`
`4,785,408
`
`F.C.. 2
`
`200
`
`2O
`
`2O2
`
`2103
`
`2O4.
`
`
`
`YES
`
`OPEN
`FILE
`
`INITIAL PROMPT
`
`CLEAR DIGIT
`PROMPT
`
`RECORD VOICE
`
`2105N
`
`YES
`
`21 O6
`
`TIME OUT
`ANNOUNCEMENT
`
`
`
`209
`
`NEXT MODULE
`
`Page 22 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`
`Sheet 22 of 24
`
`4,785,408
`
`FIG. 22
`
`
`
`CLEAR DIGIT
`COLLECT
`
`NEXT MODULE
`
`Page 23 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent Nov. 15, 1988
`FIG. 23
`
`.
`
`Sheet 23 of 24
`
`4,785,408
`
`23OO
`
`CLEAR HOLD COUNTER
`
`22O
`
`SEND TRANSMIT STRING
`
`
`
`
`
`START TIME OUT
`
`
`
`RESPONSE
`DONE
`
`NO
`
`2305
`
`2306
`
`TOO MANY
`TIME OUTS
`
`ES
`Y
`
`2309
`
`ERROR PROMPT
`
`
`
`
`
`23O4.
`
`FILTER
`RESPONSE
`STRING
`
`DISCONNECT
`
`CONTINUE
`
`
`
`232
`
`BRANCH
`
`23 13
`
`DISCONNECT .
`
`TAKE ERROR
`BRANCH
`
`
`
`NEXT
`MODULE
`
`
`
`
`
`
`
`
`
`INDEX HOLD
`COUNTER
`
`INDEX HOLD
`ANNOUNCEMENT
`
`
`
`
`
`
`
`
`
`
`
`23
`
`Page 24 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`U.S. Patent
`
`Nov. 15, 1988
`
`Sheet 24 of 24
`
`4,785,408
`
`
`
`Page 25 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`1
`
`METHOD AND APPARATUS FOR GENERATING
`COMPUTER CONTROLLED INTERACTIVE
`VOICE SERVICES
`
`4,785,408
`2
`ated from the illustrative embodiments shown in the
`drawings, in which:
`FIG. 1 shows a block diagram of apparatus which
`may be utilized to practice the present invention;
`FIGS. 2, 3 and 4 show the basic control structure for
`the Dialog Production System;
`FIG. 5 shows the control processing flow for insert
`ing modules into the dialog flowchart;
`FIGS. 6 and 7 show the control processing flow for
`editing the dialog flowchart;
`FIG. 8 shows the control processing flow for navi
`gating and scrolling in Level 1;
`FIG. 9 shows the control processing flow for enter
`ing and checking Level 2 form parameters;
`FIG. 10 shows the control processing flow for Level
`2 navigation and for displaying Level 2 forms;
`FIG. 11 shows the control processing flow for global
`commands (HELP, SAVE DIALOG, RETRIEVE
`DIALOG, EXIT);
`FIG. 12 shows the control processing flow for
`uploading and downloading a dialog;
`FIG. 13 shows the control process flow for mode
`commands (RUN, TUTOR, INSTALL DIALOG,
`EDIT);
`FIG. 14 shows the basic screen display at the start of
`a dialog creation session;
`FIG. 15 shows a sample Level 2 screen display;
`FIG. 16 shows the basic screen display for Level 1 of
`a simple dialog;
`FIG. 17 shows the run-time flow of the Prompt and
`Branch Interaction Module;
`FIG. 18 shows the run-time flow of the Call Atten
`dant Interaction module;
`FIG. 19 shows the run-time flow of the Prompt and
`Collect Interaction module;
`FIG. 20 shows the run-time flow of the Announce
`ment Interaction module;
`FIG. 21 shows the run-time flow of the Record Voice
`Interaction module;
`FIG. 22 shows the run-time flow of the Play Voice
`Interaction module;
`FIG. 23 shows the run-time flow of the Data Ex
`change module; and
`FIG. 24 shows the format of a table describing the
`indices necessary to specify interconnection of modules
`at a node and to enable linkage to other nodes.
`GENERAL DESCRIPTION-BACKGROUND
`Before describing the present invention, it may be
`helpful to generally describe the operation of a tele
`phone communication system in which the claimed
`Dialog Production System (DPS) for generating com
`puter-controlled voice services may be utilized. It
`should be recognized that the present invention may
`also be utilized in other similar type communication
`systems or as a stand-alone system. Since such systems
`utilize a variety of hardware and programming tech
`niques, no attempt is made to describe the operation of
`any system in which the present invention may be uti
`lized. However, the present invention must be blended
`into the overall program structure of the system in
`which it is used and must be tailored to mesh with other
`features and operations of the system. Thus, in order to
`avoid confusion and in order to enable those skilled in
`the art to practice the claimed invention, this specifica
`tion will describe the operation of the DPS using flow
`charts which describe the logical steps and the various
`parameters required to implement the invention.
`
`TECHNICAL FIELD
`This invention relates to programmable communica
`tion systems and more particularly to a method and
`apparatus for generating computer-controlled voice
`services which involve interactions between a system
`and system users.
`BACKGROUND OF THE INVENTION
`A TOUCH-TONE telephone is a widely available
`device which can access business computer systems to
`provide a variety of customer services. It can function
`as a user terminal for any system application which
`accepts TOUCH-TONE signaling as a user input and
`provides audio or voice response output to the user.
`. Such applications include Data In/Voice Answer
`(DIVA) applications, Voice In/Voice Out (VIVO)
`applications and Voice Store and Forware (VSF) appli
`cations. Such DIVA, VIVO and VSF services (e.g.,
`Inquire-Response, Order Entry, Voice Forms, etc.)
`25
`require that a well engineered dialog be created to con
`trol the interaction between the end-user and the sys
`tem. Creation of such dialogs is the critical part of a
`customer application. Since each application can differ
`both in its logical structure and its specific content, each
`30
`application dialog must be custom-designed. Unfortu
`nately, the myriad of custom applications often require
`that businesses spend considerable amounts of money to
`hire programmers to write and maintain these custom
`programs. What is desirable is to provide an arrange
`35
`ment whereby the non-programmer employees of a
`business can be utilized to develop these customized
`programs.
`SUMMARY OF THE INVENTION
`The present invention provides method and appara
`tus to enable a system designer or producer to create
`application programs for instructing a computer-con
`trolled voice response system to provide a desired user
`45
`interactive voice service. The present invention re
`ferred to herein as the dialog production system (DPS)
`is embodied in the system and utilizes a high level inter
`active environment which enables the system designer
`(program producer) to generate a dialog application
`50
`program to implement the desired telephone/computer
`interactive customer service. According to the inven
`tion, the program producer selects interaction modules
`from a group of predefined interaction modules, each
`module defining one of the possible functions which can
`be performed by the system, and specifies the method or
`means for interconnecting these modules. These inter
`action modules control the intercommunications be
`tween the devices (e.g., a digit collector, signal genera
`tor, etc.) used to implement the particular voice service.
`60
`By selecting two or more of these interaction modules
`including the defining of selectable parameters or indi
`ces and specify the interconnection of these modules,
`the desired dialog program is implemented.
`65
`BRIEF DESCRIPTION OF THE DRAWINGS
`The detailed description of the overall system opera
`tion of the present invention will be more fully appreci
`
`O
`
`15
`
`55
`
`Page 26 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`5
`
`4,785,408
`4.
`3
`Response example, DIVA application program 108
`In the description that follows reference numbers are
`used to identify apparatus or parts of flow charts de
`formats a request to the remote data base, receives a
`response, and plays back, to the customer, an appropri
`picted in a Figure. The Figure which contains the par
`ticular reference number can be determined by using
`ate announcement. If an attendant is needed, the DIVA
`application signals call control unit 103 to have switch
`the first digit when 3 digit reference numbers are used
`(e.g., 310 refers to FIG. 3) and by using the first and
`102 transfer the call to the attendant extension, the ap
`plication may then display on the attendant's terminal
`second digits when 4 digit reference numbers are used
`116 any information relevant to the transaction. The
`(e.g., 1005 refers to FIG. 10).
`application program then disconnects from the caller,
`FIG. 1 shows a block diagram of one embodiment of
`a system that may be used to practice the present inven
`leaving that line free to accept another call.
`10
`While the present invention is described utilizing
`tion. The system of FIG. 1 includes a communication
`system 101 including switch 102 and call or controller
`TOUCH-TONE user inputs and system voice outputs it
`should be understood that it is contemplated that other
`103. In addition to its use with the present invention,
`application could use other types of user inputs and
`communication system 101 may be used to establish and
`system outputs. Thus, for example, within the scope of
`complete calls to the DPS location. According to the
`the present invention it is contemplated that system
`present invention, communication system 101 is used to
`implement the operation of application programs (i.e.,
`voice recognition equipment can be utilized to respond
`dialog programs) generated by the DPS. DPS system
`to user voice inputs. Moreover, if the telephone or other
`equipment includes DPS processor 104, dialog terminal
`user input terminal utilized as a system input device
`105 and memory 106 and may also include business
`includes visual indicators (i.e., LEDs or displays) the
`system output to the user may include signals for dis
`computer 107. As will be discussed in more detail later
`a DIVA application program 108 is generated accord
`play by these indicators.
`ing to the present invention by a dialog producer using
`The apparatus utilized in FIG. 1 are well known. For
`dialog terminal 105, processor 104 and the dialog pro
`example communication system 101 can be any variety
`of PBX systems (e.g., American Telephone and Tele
`duction program 109. Once generated the DIVA appli
`25
`graph (AT&T's) System 85). DPS processor 104 can be
`cation program 108 is stored in memory 106 and ac
`a stand alone processor (e.g., AT&T's 3B2 processor) or
`cessed in response to customer (i.e., user) calls or inquir
`can be incorporated as a utility program in call control
`ies made to DPS processor 104 via communication
`unit 103 or made part of business computer 107. Dialog
`system 101.
`The operation of a typical DIVA application pro
`terminal 105, attendant terminal 106 and the other
`30
`gram 108 can been seen in tracing a service request
`equipment 112, 113, 114 and 115 can be any of a variety
`of well known apparatus. While the present embodi
`when it is accessed by a customer. In the description
`that follows the word customer is used interchangeably
`ment of dialog terminal 105 utilizes a touch sensitive
`screen to select the various displayed operating parame
`with the words user or caller. A caller from either a
`ters of DPS, it is understood that other methods of
`local station at 110 or from a remote station set 111
`35
`selecting the displayed parameters including mouses,
`(connected appropriately via CO line 112) can initiate a
`cursor control and keyboard entry could be used there
`service request. The caller is connected by call control
`103 through switch 102 to the voiceware equipment
`with.
`The following paragraphs describe an embodiment of
`associated with the application. This voiceware equip
`ment typically includes multi-frequency receiver 112,
`a dialog production system (DPS) in accordance with
`the present invention. The architecture of the DPS
`voice recorder 113, voice storage unit 114, voice re
`comprises three levels at which the dialog producer
`trieve unit 115 and attendant terminal 116 which access
`(i.e., the system operator who designs dialog programs
`various ports of switch 102 to receive voice and touch
`tone signaling. The DPS processor 104 operates under
`using DPS) interacts with DPS to specify a particular
`application's characteristics. At any level, the producer
`control of application program 108 to receive status
`45
`is able to check an application program by running it
`from and control the operation of the voiceware equip
`interpretively from the terminal. An important aspect of
`ment. The DPS processor is responsive to control sig
`DPS is the interface provided for the dialog producer.
`nals received over channel 117 from call control unit
`Because of the nature of the Producer Interface, the
`103.
`producer has enforced upon him/her essentially "top
`Typically, as will be discussed in detail in later para
`50
`down' program design discipline. The process of dialog
`graphs, the DIVA application program includes mod
`design is broken into three levels, each comprising a
`ules which control the voiceware equipment to answer
`an incoming call, retrieve the appropriate speech re
`different display (FIGS. 14 and 15) on dialog terminal
`sponse from units 114 and 115, and play it (e.g., and
`105. These levels proceed from global to detailed con
`cerns of the application program being designed.
`initial announcement) to the caller. The response may
`55
`also include a request for a user account number or
`At Level I, illustrated by FIG. 14, the producer uses
`a figural, flow-chart like, specification language to indi
`other user provided information.
`The caller inputs the requested data by means of
`cate the sequence of transactions encountered by the
`Touch-Tone signaling. Touch-Tone receiver 112 de
`end-user. This allows the producer to describe the pro
`codes the signals into ASCII characters, and sends them
`gram structure using large transaction based units,
`60
`to DPS processor 104. The application program 108
`called Interaction Modules. The overall dialog logic is
`established by the organization of these interaction
`includes modules which use this information to branch
`or select the next part of the application program to be
`modules.
`performed. The next step may request other caller in
`At Level II, illustrated by FIG. 15, the producer
`parameterizes each interaction module by specifying
`formation, summon an attendant at terminal 116, re
`65
`quest information from a remote data base in business
`the details of transaction handling. The producer inter
`face prompts the producer through this level, suggest
`computer 107, or take some other action under DIVA
`application program 108 control. In an Inquiry
`ing default parameters where appropriate.
`
`Page 27 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`4,785,408
`5
`6
`Within any interaction module, the producer explic
`the indices or pointers that each node or interaction
`itly sets (or accepts default values of) several parame
`module needs to point to its' child or successive node.
`Unless specific branching takes place, control passes to
`ters. The DPS establishes a required execution environ
`ment for the application program. Thus, details that are
`the first child of each node as its' processing is com
`pleted.
`relevant to the production of good user dialogs (e.g.,
`digit timing standards, error threshold definition, gener
`In Voice services, user transactions share a number of
`alized error treatment, announcement interruptability,
`common elements. A group of standard interaction
`etc.) are consistent across services, applications, and
`modules implement these common elements, and allow
`the producer to design a dialog program by specifying
`CustomerS.
`At Level III, not illustrated, the DPS prompts the
`the desired application in terms of selected ones of the
`producer to record (or otherwise identify) the specific
`group of interaction modules. With reference to FIG.
`announcements etc. to be played to the customer. This
`14, the interaction modules include two types of mod
`can be implemented using any number of well known
`ules: control modules (1401, 1402, 1403 and 1404) and
`recording techniques.
`execution modules (1405, 1406, 1407, 1408, 1409 and
`An easy way to understand the relations among pro
`1410). Control modules are modules which the pro
`15
`gramming modules of the DPS is by means of a flow
`ducer uses to specify the procedural flow of the applica
`chart. Such a format provides to the dialog producer a
`tion. Execution modules are modules which the pro
`perceptual coding of the relevant information necessary
`ducer uses to specify the transaction managed by the
`to implement a particular dialog program. The program
`application. In addition, there are four indices which
`flow, especially for sequential processes, is perceptually
`the producer uses to indicate the start and end points of
`20
`apparent in a flow chart. Flow charts enable tasks to be
`the dialog, or of loops within the dialog. The producer
`traced through the underlying semantics of a program.
`then specifies the sequential execution of the Interaction
`Diagrams or structure charts enforce a modularity on
`Modules by specifying the spatial arrangement and
`program design that allows the dialog producer to work
`connection of the modules on the video display of dia
`with higher order program blocks. For example, see M.
`log terminal 105.
`25
`J. Fitter and T. R. G. Green, "When Do Diagrams
`Control Interaction Modules
`Make Good Programming Languages?', Computer
`The Dialog Production System provides four control
`Skills and the User Interface, New York, Academic
`Press, 1981.
`interaction modules (1401-1404) for the producer to
`A complementary dialog specification using decision
`chose from. These include the Switch, Prompt and
`tables is provided using a production system interface.
`Branch, Match and Loop modules.
`While decision tables may be difficult to use to under
`1. The Switch module (1401) switches between
`stand the flow of a program, decision tables may be
`branches of the program depending on an external
`most effective in expressing logical relations within
`event. The Switch module capability permits the pro
`portions of a program. For example, see J. E. Bingham
`gram producer to specify which of a number of alterna
`35
`and G. W. Davies, A Handbook of Systems Analysis,
`tive program branches is to be used depending upon
`preprogrammed external factors such as time of day,
`London, Macmillian, 1972.
`The DPS includes an interface that uses a hybrid
`day of week, or day of year. Specification of the branch
`representation consisting of a program structure chart
`alternatives, and of the temporal criteria is done by the
`for program construction, combined with forms-based
`producer using the Level II interface. For example,
`40
`decision tables (within the program modules) to provide
`reporting of current stock quotations with attendant
`an interface that assists the producer in understanding
`service might be provided during business hours Mon
`both procedural and structural flow.
`day through Friday. At other times, closing quotes
`Thus, the interaction between the dialog producer
`could be provided when no attendant is available. To
`and the DPS is designed to assure ease of learning, to
`implement this the program producer would write two
`45
`improve understanding, and to simplify its use. The
`similar program branches, and utilize the switch module
`producer can design a dialog simply in terms of the
`and preprogrammed external factors to decide when
`transactions that will be experienced by the end-user.
`each branch is to be active.
`2. The Prompt and Branch module (1402) provides
`Interaction Modules
`the selection or conditional execution of a portion of the
`50
`application program based on digits input from the user.
`Because certain sets of devices are almost always
`used together (e.g., a digit collector and a signal genera
`The Prompt and Branch module plays an announce
`tor for TOUCH TONE Voice applications) an interac
`ment to a user, collects dialed digits made in response,
`and selects the appropriate logical branch of the appli
`tive module can be defined whose purpose it is to con
`cation program given the input. Branch module pro
`trol the interrelated activities of the digit collector and
`55
`vides the producer with the facility of the programming
`an announcement machine. The present invention ex
`tends and elaborates on this concept by defining several
`construct Case. At Level II, the predicate outcome
`table is specified by means of a prompted forms inter
`interaction modules. An interaction module can be
`thought of as a set of software routines which define all
`face.
`aspects of the necessary interactions between the rele
`3. The Match module (1403) provides a similar capa
`vant physical system and the end user for a particular
`bility to that of branch, except that user input is not
`required. The Match module compares two data words
`transaction.
`Controlling the interrelationships among several
`and branches based upon the outcome of the compari
`hardware devices and the end user is a complex task.
`SO.
`4. The Loop module (1404) is equivalent to the pro
`The concept of an interaction module allows this com
`65
`plexity to be embedded in the program so as to be invisi
`gramming construct "Do Until'. That is, the producer
`ble to the producer. As the producer adds or otherwise
`specifies a predetermined number of repetitions of a list
`modifies the dialog flow chart the DPS keeps track of
`or sub-tree. The loop variable may be set either on the
`
`30
`
`10
`
`60
`
`Page 28 of 36
`
`RUIZ FOODS PRODUCTS, INC.
`Exhibit 1018
`
`

`

`5
`
`O
`
`15
`
`25
`
`35
`
`4,785,408
`8
`7
`basis of user input digits, or by a default value specified
`It is implemented much like Record Voice, with the
`voice file being

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket