|
|
|
| United States Patent | 5493606 |
| Link to this page | http://www.wikipatents.com/5493606.html |
| Inventor(s) | Osder; Barbara E. (Erdenheim, PA);
Elrod; Edwin M. (Downingtown, PA);
Freiman; Alex C. (New Britain, PA);
Hogan; Timothy J. (Wellington, NZ) |
| Abstract | In combination with the Network Application Platform (NAP), a Speech
Interface to NAP (SPIN) creates or modifies a SPIN application for each
language in which the prompts of a Network Application deployed on NAP are
to be spoken. A prompt is mapped into a sequence of static and dynamic
elements. Each SPIN application owns the prompt mappings, elements and
element voice for the prompts to be played. The Network Application issues
a PEP command to a Prompt Expansion Processor (PEP) to play an identified
prompt in a language identified by a SPIN application ID. The command
supplies the dynamic data to be played at the positions of the dynamic
elements in the prompt definition PEP expands the command into a sequence
of NAP Message IDs to play the sequence of NAP voice messages
corresponding to the static and dynamic elements of the prompt mapping.
The dynamic data is categorized into dynamic element types. A Dynamic
Element Table contains an ordered list of logically grouped elements to
support the dynamic data of a SPIN application. A Modular Dynamic Data
Processor (MDDP) together with the Dynamic Element Table, in response to a
dynamic element in a prompt and the dynamic data in the prompt command,
expand the dynamic data in accordance with the dynamic element type. A
user, to accommodate requirements of the SPIN application language,
creates and deletes elements and voice therefor, reorders elements of
prompt mappings, and varies the format in which the dynamic data is played
utilizing the MDDP. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5493606 |
|
|
Multi-lingual prompt management system for a network applications
platform |
|
|
|
|
|
| Publication Date |
February 20, 1996 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
We claim:
1. In combination with a Network Application Platform (NAP), a prompt
management system for playing prompts comprised of elements, said NAP
operative to play voice messages in response to NAP Message IDs,
respectively, each element marking a position in a prompt for playing at
least one of said voice messages, said NAP supporting at least one Network
Application for execution thereby, comprising
a plurality of information sets, independent of said Network Application,
containing information for playing said prompts in a plurality of
languages, respectively, said information sets identified by a plurality
of information set IDs, respectively,
said information of each of said information sets including a set of prompt
definitions comprised of sequences of said elements, each said prompt
definition identified by a prompt ID, said information of each of said
information sets including NAP Message IDs corresponding to said elements
of said prompt definitions, and
a Prompt Expansion Processor (PEP) having access to said information sets
and responsive to a command from said Network Application to play a
prompt, said command identifying a commanded prompt to be played and a
language in which to play said commanded prompt by including said prompt
ID and said information set ID, respectively, in said command,
said PEP operative, by accessing one of said information sets with
information set ID identified by said command, to expand said commanded
prompt into a sequence of NAP Message IDs corresponding to said elements
of said prompt definition of said commanded prompt,
said sequence of NAP Message IDs being sent to said NAP to play said voice
messages corresponding to said sequence of NAP Message IDs so as to play
said commanded prompt in said language corresponding to said information
set ID,
said command including dynamic data to be played in said commanded prompt,
said elements comprising static and dynamic elements,
said static elements marking positions in said prompts for playing
predetermined ones of said voice messages,
said dynamic elements-marking positions in said prompts for playing said
dynamic data,
said prompt definition of said commanded prompt comprising a sequence of
said static and said dynamic elements,
said information of each said information set including NAP Message IDs
corresponding to said static elements and said dynamic data,
said PEP being operative to expand said commanded prompt into said sequence
of NAP Message IDs corresponding to said static elements of said prompt
definition of said commanded prompt and to said dynamic data for said
dynamic elements of said prompt definition of said commanded prompt,
said dynamic data of said command being categorized into predetermined
dynamic element types,
each of said dynamic elements of said prompts having one of said dynamic
element types associated therewith,
said PEP being operative to expand a dynamic element of a prompt into said
NAP Message IDs corresponding to said dynamic data of said one of said
dynamic element types associated with said dynamic element to be expanded,
each said information set having a Modular Dynamic Data Processor (MDDP)
associated therewith, said MDDP containing procedures for expanding, in
accordance with said language associated with said information set,
dynamic data of said dynamic element types, respectively, into element
references representative of said NAP Message IDs corresponding to said
dynamic data.
2. The system of claim 1 wherein said information of each said information
set includes a Dynamic Element Table containing an ordered list of
logically grouped elements for correlating said element references
provided by said MDDP of said information set associated therewith into
corresponding NAP Message IDs in accordance with said logically grouped
elements.
3. The system of claim 2 further including a Speech Interface to NAP
program (SPIN) for interactively creating or modifying said information of
each said information set in accordance with said language associated
therewith.
4. The system of claim 3 further including a terminal having a display and
information entry means,
said SPIN including screen management logic for generating screens on said
display and information management logic for managing information entered
by said information entry means by a user interacting with said screens
for creating or modifying said information of said information sets,
said information management logic providing information to said screen
management logic for displaying, on said screens, information entered by
said information entry means.
5. The system of claim 4 further including a SPIN Data Base (SPINDB)
responsive to said Information Management Logic, said SPINDB containing
records for storing said information of said information sets,
said SPIN operative to create or modify said information stored in said
records in accordance with said information entered by said information
entry means.
6. The system of claim 5 wherein
said PEP includes cache table sets for storing said information of said
information sets, respectively,
said PEP being operative to build said cache table sets from said records,
said PEP being operative to expand said command into said sequence of NAP
Message IDs by accessing a cache table set storing said information of
said information set identified by said information set ID in said
command.
7. The system of claim 4 wherein said prompt definition includes an element
order established by the sequence in which said static and dynamic
elements are ordered in said prompt definition,
said screens including a prompt processing screen for creating or modifying
said element order in accordance with requirements of said language
associated with said information set that includes said prompt definition.
8. The system of claim 4 wherein
said command provides said dynamic data in a predetermined dynamic data
order,
said prompt definition includes a dynamic data usage order in accordance
with said positions marked by said dynamic elements in said sequence of
static and dynamic elements, and
one of said screens includes Dynamic Data Location fields for modifying
said dynamic data usage order with respect to said dynamic data order in
accordance with requirements of said language associated with said
information set that includes said prompt definition.
9. The system of claim 8 wherein said Dynamic Data Location fields are
utilized to indicate that specified dynamic data from said command will
not be used for said dynamic elements by entering, via said information
entry means, an appropriate indication in said Dynamic Data Location
fields.
10. The system of claim 4 wherein
one of said screens includes Dynamic Element Subtype fields for providing
subtypes for said dynamic element types associated with said dynamic
elements of said prompt definition, and
said MDDP includes procedures for processing said dynamic data for said
dynamic elements pursuant to said subtypes in accordance with said
language associated with said information set that includes said prompt
definition.
11. The system of claim 4 wherein
said screens include at least one screen for adding elements for a new
dynamic element type,
said MDDP including a procedure for expanding dynamic data pursuant to said
new dynamic element type in accordance with said language associated with
said information set that includes said MDDP.
12. The system of claim 4 wherein
said screens include a Dynamic Element Table screen for creating or
modifying elements in said Dynamic Element Table,
said MDDP being enhanced in accordance with said created or modified
elements in said Dynamic Element Table.
13. The system of claim 4 wherein said screens include a transfer screen
for selectively transferring part or all of said information from a first
of said information sets to a second of said information sets, said first
information set having a first language associated therewith, and
thereafter modifying said information in said second information set,
using said screens, in accordance with a language different from said
first language.
14. The system of claim 13 wherein said second information set has an MDDP
associated therewith, said MDDP including a procedure created or modified
in accordance with said information modified with respect to said second
information set.
15. The system of claim 3 wherein said SPIN is deployed on said NAP.
16. The system of claim 1 wherein
said command comprises an Enhanced Multi-Send Prompt (EMSP) command
including a field for said information set ID,
said EMSP command containing at least one Prompt Information Cluster, each
Prompt Information Cluster containing a Prompt Information Type (PIT)
field and a Prompt Information Data (PID) field,
said PIT field of a particular Prompt Information Cluster containing an
indication that said PID field of said particular Prompt Information
Cluster will either request a prompt or provide dynamic data for a
requested prompt.
17. The system of claim 16 wherein said indication comprises an indication
of dynamic element type when said PID field will provide said dynamic
data.
18. The system of claim 17 wherein said PID field contains dynamic data of
said dynamic element type indicated in said PIT field of said particular
Prompt Information Cluster.
19. The system of claim 16 wherein said indication comprises an indication
of a Prompt Index Value or a Prompt Name when said PID field will request
a prompt.
20. The system of claim 19 wherein said PID field contains a Prompt Index
Value or a Prompt Name in accordance with whether said PIT field of said
particular Prompt Information Cluster indicates Prompt Index Value or
Prompt Name.
21. The system of claim 16 wherein each said Prompt Information Cluster
includes a Prompt Information Length (PIL) field designating the length of
the Prompt Information Cluster including said PIL, PIT and PID fields.
22. For use with a prompt management system in combination with a Network
Application Platform (NAP), said prompt management system for playing
prompts comprised of elements, said NAP operative to play voice messages
in response to NAP Message IDs, respectively, each element marking a
position in a prompt for playing at least one of said voice messages, said
NAP supporting at least one Network Application for execution thereby,
said NAP operative to record voice messages and return NAP Message IDs,
respectively, said prompt management system including a first information
set containing information for playing said prompts in a first language,
said first information set identified by a first information set ID, said
information of said first information set including a set of prompt
definitions comprised of sequences of said elements, each said prompt
definition identified by a prompt ID, said information of said first
information set including voice messages in said first language and NAP
Message IDs corresponding to said elements of said prompt definitions, a
method for selectively playing said prompts in said first language or in a
second language comprising
creating a second information set identified by a second information set
ID,
copying said information from said first information set to said second
information set except for said voice messages and said NAP Message IDs,
creating recorded voice messages by recording voice through NAP in said
second language for each element in said second information set and
entering into said second information set said NAP Message IDs returned by
NAP corresponding to said recorded voice messages,
reordering said elements of said prompt definitions of said second
information set to accommodate any phrase ordering differences between
said first language and said second language,
creating new elements for said information of said second information set
or deleting elements therefrom as required for said second language,
issuing a command from said Network Application to play a prompt, said
command identifying a commanded prompt to be played and the language in
which to play said commanded prompt by including said prompt ID and said
information set ID, respectively, in said command,
accessing one of said information sets with information set ID identified
by said command to expand said commanded prompt into a sequence of NAP
Message IDs corresponding to said elements of said prompt definition of
said commanded prompt, and
sending said sequence of NAP Message IDs to said NAP to play said voice
messages corresponding to said sequence of NAP Message IDs so as to play
said commanded prompt in said first language or said second language
corresponding to said information set ID.
23. The method of claim 22 wherein said command includes dynamic data to be
played in said commanded prompt, said command providing said dynamic data
in a predetermined dynamic data order; said elements comprise static and
dynamic elements, said static elements marking positions in said prompts
for playing predetermined ones of said voice messages, said dynamic
elements marking positions in said prompts for playing said dynamic data;
said prompt definition includes a dynamic data usage order in accordance
with said positions marked by said dynamic elements in said sequence of
static and dynamic elements; said method further comprises
reordering, in said prompt definitions of said information of said second
information set, said dynamic data usage order with respect to said
dynamic data order to accommodate phrase ordering differences between said
first and second languages.
24. The method of claim 23 wherein said dynamic data of said command is
categorized into predetermined dynamic element types, each of said dynamic
elements of said prompts having one of said dynamic element types
associated therewith, said method further comprises
creating a Modular Dynamic Data Processor (MDDP) containing procedures for
expanding, in accordance with said second language, dynamic data of said
dynamic element types, respectively, into element references
representative of NAP Message IDs corresponding to said dynamic data, said
MDDP being created to accommodate language specific dynamic data formats
for said second language.
25. The method of claim 24 wherein said information of said second
information set includes a Dynamic Element Table copied from said first
information set, said Dynamic Element Table containing an ordered list of
logically grouped elements, said method further comprises
modifying said Dynamic Element Table in accordance with requirements of
said second language, and
correlating said element references provided by said MDDP into
corresponding NAP Message IDs in accordance with said logically grouped
elements. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to the Network Applications Platform (NAP)
particularly with respect to the prompt management system therefor.
2. Description of the Prior Art
The NAP is described in U.S. Pat. No. 5,133,004, issued Jul. 21, 1992, and
is assigned to the assignee of the present invention. The NAP contains
telephone network functionality actuatable by commands from supported
Network Applications, such commands controlling answering a telephone
call, initiating a telephone call, and playing a voice message over an
established telephone connection. Voice messages are identified by a NAP
Message ID and are stored in a NAP Voice File accessed through a NAP Voice
Input/Output Data Base (VIODB) containing the NAP Message IDs. The Network
Application can command the NAP to receive, and store in the Voice File, a
voice message from an established telephone connection. NAP assigns a
Message ID to the message and returns the Message ID to the application.
The commands to which NAP is responsive are denoted as Application
Interface Module (AIM) commands and all of the described NAP structure and
functionality is explained in detail in said Patent No. 5,133,004. Said
Patent No. 5,133,004 is incorporated herein by reference in its entirety.
The NAP is provided with a prompt management system denoted as Voice
Utility/Prompt Expansion Processor (VU/PEP). VU/PEP is described in the
following VU/PEP documentation: A Series Network Applications Platform
(NAP), System Administration Guide (4178 1279-000), December 1993; and A
Series Network Applications Platform (NAP), Programming Reference Manual
(4178 1287-000), Dec. 1993. Said VU/PEP documentation is incorporated
herein by reference to detail the state of the art.
Although one VU can be used by all Network Applications, each Network
Application must have one or more copies of its own PEP. A user creates or
modifies the prompts to be spoken by the user's Network Application by
interactively utilizing VU and NAP to generate a VU application that
defines the prompt elements. A prompt is composed of and defined by a
sequence of static and dynamic elements. A static element denotes a fixed
phrase, whereas a dynamic element provides a location in the prompt for
variable data to be provided by the Network Application at run time. For
example, in the prompt "you have <number> new messages", the phrases "you
have" and "new messages" are static elements whereas <number> is a dynamic
element to be provided by the Network Application in accordance with the
conditions at run time. The voice for the static elements may be recorded
by the user over a telephone connection to NAP under control of the VU
application. The voice for the static elements are recorded in the NAP
Voice File identified by NAP Message IDs as explained in said Patent No.
5,133,004. The NAP Message IDs are returned by NAP to the VU application
for storage in records in the VU database to be referenced when playing
the prompts.
The dynamic data is managed pursuant to a fixed list of dynamic element
types known as cardinal number, date/time, digit string, phone number,
text identifier and NAP Message ID. The PEP contains arrays for expanding
these dynamic data types over the range of dynamic data required. For
example, the cardinal number array may contain elements for the numbers 0
through 99. The voice for the dynamic elements is recorded and stored, as
discussed above, and the associated NAP Message IDs are appropriately
stored in the arrays.
The user defines the prompts for the user's Network Application as ordered
sequences of specific static elements and dynamic element types. These
prompt definitions are interactively generated by the user utilizing VU
and are stored in records in the VU database. These records are used by
PEP to expand prompts for a given Network Application. These records may
be cached in arrays first in order to improve performance. A Network
Application invokes the playing of a prompt by issuing a Send Prompt (SP)
or Enhanced Send Prompt (ESP) command to PEP naming the prompt and
supplying the specific dynamic data appropriate to the run time
conditions. The PEP expands the command into the sequence of NAP Message
IDs appropriate to play the prompt. The Message IDs are loaded into a NAP
Send Voice Message command for this purpose.
The SP and ESP commands are structured so that the dynamic data is always
supplied in the command in the order it is to be used and is always used
by PEP in the order it is supplied. Each supported dynamic element type is
expanded according to a predetermined algorithm in PEP. For example, the
prompt command might have date/time dynamic data arranged as MMDDYY. The
data in this field is spoken in the order determined by the algorithm,
such as day of the week, month, and day (e.g., "Thursday, May 19th"). The
PEP is of fixed design so as to always expand the prompts in such a fixed
manner. The design of VU/PEP is arranged for the playing of American
English prompts. Accordingly, the Network Applications for NAP are written
with the expectation that its prompts would be played in American English.
Although functioning well for the purposes intended, VU/PEP suffers from a
number of disadvantages. A Network Application can only play its prompts
in American English. If it is desired that a Network Application would
play the same prompts in a second language, substantial reprogramming of
the Network Application would be required. The prompts and elements for
the second language would have to be added to the original set in order to
create the required components in the second language. These new
components would require unique identifiers. The Network Application would
have to detect which language to play and use the appropriate prompt name
in the Send Prompt Command. Additionally, the Network Application may be
required to order different dynamic data in accordance with the language
to be spoken. In other words, the Network Application itself would require
an English version and another version for the second language. Because of
syntactical and grammatical differences between languages, significant
programming changes might also be required in the Network Application and
PEP for supporting the second language. The problem may be further
complicated if the second language utilizes adjectives that are gender
sensitive. For example, Spanish requires gender agreement between
adjectives and nouns. Thus, while English can say "one woman" or "one
man", Spanish requires the "one" to be spoken differently based on the
gender of the associated noun.
Similar problems are encountered because of the inflexibility of VU/PEP if,
for example, it is desired to play time in the 24 hour military format as
compared to the AM/PM 12 hour format of American English. Language
differences in the playing of date and time may also result in similar
difficulties. For example, in American English the date is played in
month, day order, whereas in European languages date is spoken in day,
month order.
In the VU/PEP that supports only American English, tables are utilized to
store the prompt definitions with the elements thereof always in the same
order. The expansion of dynamic data is always handled the same way by
dynamic data processing code embedded in PEP. Because of this, it is
appreciated that in order to provide a multi-lingual prompt capability
utilizing VU/PEP, alterations of the functional code, call flow and
programmatic logic of the Network Application as well as the PEP code are
required for each language.
As discussed above, VU/PEP utilizes an embedded dynamic data processor for
the expansion of dynamic data for a limited set of dynamic data types.
Modifications to the Network Application and PEP would be required to play
prompts utilizing a different dynamic element type. In addition, the
format of the SP and/or ESP commands would have to be enhanced to provide
for the new type of dynamic data. For example, if it were desired to play
prompts with monetary values, a change to the SP or ESP command would be
required to support the new type of dynamic data. In addition, alterations
to the dynamic data processor embedded in PEP would also be required to
support the new dynamic element type. Not only would this arrangement
require alteration of the Network Application and PEP code, but it would
also be extremely limited in flexibility. Additionally, a multi-lingual
capability with respect to the special dynamic element types would further
exacerbate the difficulties.
SUMMARY OF THE INVENTION
The above disadvantages of the prior art are overcome by a new Prompt
Management System for NAP that provides multi-lingual capability for the
prompts of a Network Application without the necessity of significant
Network Application programming changes or modifications to the PEP. The
Prompt Management System of the present invention comprises a Speech
Interface to NAP (SPIN) in combination with the Prompt Expansion Processor
(PEP) with a Modular Dynamic Data Processor (MDDP). The Prompt Management
System of the present invention is referred to as SPIN/PEP.
SPIN is a program used through NAP on behalf of a Network Application to
create or modify the prompts and the elements of the prompts to be played
by the Network Application in a predetermined spoken language. The
elements of the prompts are ordered in accordance with the syntax, grammar
and phraseology of the particular spoken language. The voice for the
elements can be recorded through NAP and stored in the NAP voice file. The
NAP Message IDs corresponding to the recorded voice elements are stored in
a SPIN Data Base (SPINDB). The SPIN user creates or modifies a Dynamic
Element Table containing ordered lists of logically grouped dynamic
elements required for the prompts of the Network Application. The MDDP
defines the order and manner in which dynamic data within a dynamic
element is spoken in accordance with the syntax, grammar and phraseology
of the particular spoken language. The created or modified prompt,
element, voice, Dynamic Element Table and MDDP information set for a
spoken language is denoted as a SPIN application for the particular spoken
language. The SPIN user can copy and modify an existing SPIN application
for one spoken language to provide another SPIN application for another
spoken language. The SPIN application is created or modified by the user
utilizing interactive SPIN screens.
The Network Application issues a PEP command to send a prompt, e.g., an
Enhanced Send Prompt (ESP) command or an Enhanced Multi-Send Prompt (EMSP)
command, to PEP for expansion, the command designating the ID of the SPIN
application to be utilized, the prompt to be played and the specific
dynamic data to be utilized. The PEP, using the designated SPIN
application information, expands the prompt into its static and dynamic
elements converting the static elements into the corresponding NAP Message
IDs. The dynamic data is sent to the MDDP which in combination with the
Dynamic Element Table expands the dynamic elements into the corresponding
NAP Message IDs. The PEP returns an ordered list of the NAP Message IDs
which are used in a NAP Send Voice Message command to play the prompt over
the telephone.
In addition to standard dynamic element types, the user can create
user-defined dynamic element types for enhanced flexibility. The MDDP and
Dynamic Element Table is enhanced to support the user-defined dynamic
element types.
A SPIN Prompt Processing Screen includes a Dynamic Data Location field for
modifying dynamic data usage with respect to the order in which the
dynamic data is presented in the PEP command. A Dynamic Element Subtype
field can be used to vary how the data for the dynamic element is played.
The MDDP is modified to support the Dynamic Element Subtype.
The present invention, therefore, permits a Network Application to play a
designated prompt in a selectable spoken language without altering the
functional code of the Network Application nor the operational code of the
underlying PEP. The Network Applications share the same PEP.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram schematically illustrating the anatomy of a prompt.
FIG. 2 is a diagram schematically illustrating the organization of SPIN
applications within the SPINDB.
FIG. 3 is a diagram schematically illustrating further details of the
organization of a SPIN application.
FIG. 4-4B is a schematic block diagram illustrating the multi-lingual
prompt management system of the present invention.
FIGS. 5A-5D and 5D1 are diagrams schematically illustrating the
organization of information in the cache tables of a SPIN application as
illustrated in FIG. 4. Similar information groupings are utilized in the
SPINDB of FIG. 4 with respect to the records thereof.
FIG. 6 is a chart illustrating the components and fields of the Enhanced
Send Prompt (ESP) command.
FIG. 7 is a chart illustrating the components and fields of the Enhanced
Multi-Send Prompt (EMSP) command.
FIG. 8 is a representation of the format utilized on SPIN screens generated
at the administration terminal of FIG. 4 for user interaction with SPIN.
FIG. 9 is a representation of the SPIN Application Selection screen.
FIG. 10 is a representation of the SPIN Main Menu screen.
FIG. 11 is a representation of the Element Processing screen.
FIG. 12 is a representation of the Prompt Processing screen.
FIG. 13 is a representation of the Prompt Processing screen of FIG. 12
illustrating the creation of a new prompt.
FIG. 14 is a representation of the Modify Items For Prompt screen with the
illustrative prompt of FIG. 13 entered therein.
FIG. 15 is a representation of the Modify Items For Prompt screen of FIG.
14 with the illustrative prompt modified with respect to Dynamic Data
Location.
FIG. 16 is a representation of the Indexed Prompt Table screen.
FIG. 17 is a representation of the Dynamic Element Table screen with
typical Row 9 Element Names entered.
FIGS. 18, 19 and 20 are representations of the Prompt Processing screen of
FIG. 12, the Element Processing screen of FIG. 11, and the Dynamic Element
Table screen of FIG. 17, respectively, exemplifying the adding of a new
user-defined dynamic element type to a SPIN application.
FIG. 21 is a representation of the Transfer screen utilized to transfer
selected SPIN application data, or an entire SPIN application, to and from
disk files and other SPIN applications.
FIG. 22 is a representation of the Enter Prompts For Transfer screen
utilized with the screen of FIG. 21 for transferring a created list of
prompts. Comparable screens are utilized for transferring lists of other
selected application components.
FIG. 23 is a representation of the Miscellaneous Functions screen for
performing such functions as building PEP cache tables.
FIG. 24 is a representation of the Indexed Prompt Table screen of FIG. 16
for establishing the SYSTEM Indexed Prompt Table for the SPIN SYSTEM
application.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring to FIG. 1, the anatomy of an exemplary prompt P1001 is depicted.
The prompt is comprised of a static element E1000A, which has the voice
"you have", followed by a dynamic element of dynamic element type 3
representing a number, followed by a static element E1000B with voice "new
messages". The prompt definition or mapping is P1001=E1000A, <DYN3>,
E1000B. The prompt P1001 was created by SPIN for a SPIN application on
behalf of a Network Application. The Network Application invokes playing
of the prompt by issuing an ESP or EMSP command naming the SPIN
application, the prompt name P1001 and the appropriate dynamic data
applicable to the run time. If there were five new messages in the mailbox
at run time, the prompt would play "you have five new messages".
The preferred embodiment of the invention supports nine standard dynamic
element types as follows: DYN0=Message ID; DYN1=Time/Date; DYN2=Text
Locator; DYN3=Cardinal Number; DYN4=Digit String; DYN5=Phone Number;
DYN6=Money; DYN7=Alphanumeric; DYN8=Element Name. Dynamic element types 0,
2 and 8 are processed by an internal Dynamic Data Processor within PEP and
the dynamic element types 1, and 3-7 are managed by an external Modular
Dynamic Data Processor (MDDP) in a manner to be described. The preferred
embodiment also supports user-defined dynamic element types denoted as
DYN100-DYN999 which requires a custom MDDP in a manner to be further
explained.
Another exemplary prompt may be created similar to the prompt P1001 except
that static element E1000B would have the voice "messages". A further
dynamic element would be inserted between the dynamic element representing
a number and static element E1000B to provide a variable adjective for the
phrase "messages" such as "new", "urgent", or "saved". This element can be
of dynamic element type DYN0, DYN2, or DYN8.
The SPIN component of SPIN/PEP provides for the creation and modification
of prompts, elements, Dynamic Element Tables, and Indexed Prompt Tables in
SPINDB. SPIN also provides for the creation and modification of voice
messages in the Voice File and the related Message IDs in the VIODB. The
voice messages corresponding to the elements are recorded into the Voice
File with either a neutral, rising, or falling inflection as appropriate.
A SPIN application includes a collection of the prompts, elements, voice,
Dynamic Element Table, and Indexed Prompt Table created using SPIN plus
the associated MDDP. SPIN relates the entities that it creates in the SPIN
data base to a particular SPIN application. A SPIN application owns the
prompts it creates. These prompts are not shared among SPIN applications.
A Network Application uses SPIN applications to play the voice prompts of
the Network Application. SPIN applications are created by the implementer
of a Network Application to play their prompts. A single Network
Application can access multiple SPIN applications and multiple Network
Applications can access the same SPIN application.
Referring to FIG. 2, the organization of SPIN applications within SPINDB is
illustrated. This multiple SPIN application organization provides a
multi-lingual capability to a Network Application in playing its prompts.
For example, a Network Application named Voice Messaging System (VMS)
could organize its prompts, elements, voice, Dynamic Element Tables, and
Index Prompt Tables under three different SPIN applications (VMSENG,
VMSFR, VMSSP) to support three different languages. Each SPIN application
identifies and defines the same prompts and related information in a
different language. VMS can then play the same prompt in any of the three
languages by specifying the appropriate SPIN application when requesting
the expansion of the prompt.
Referring to FIG. 3, further details of the organization of a SPIN
application are illustrated. A SPIN Application Table 1 lists the SPIN
applications created on behalf of a Network Application. As exemplified,
the SPIN applications are utilized to speak the prompts of the Network
Application in American English, Spanish, Dutch and French, respectively.
An American English Prompt Set 2 lists the prompts of the American English
SPIN application UV10AE. A Prompt Definition Table 3 illustrates the
definition or mapping for the prompt P1000 which has two dynamic elements
<DYN3> and <DYNI>. The SPIN application UV10AE utilizes American English
MDDP 4 together with American English Dynamic Element Table 5 in the
expansion of the dynamic data.
When the Network Application desires to play prompt P1000 in American
English, the Network Application issues an ESP or EMSP command identifying
SPIN application UV10AE and prompt P1000 and providing the run time
dynamic data for the <DYN3> and <DYNI> dynamic elements. The cardinal
number dynamic element is expanded utilizing the MDDP DYN3 procedure
together with the Dynamic Element Table 5. The date and time dynamic
element is expanded utilizing the MDDP DYN1 procedure together with the
Dynamic Element Table 5.
If, however, the Network Application desired to play prompt P1000 in
Spanish, the Network Application would issue the ESP or EMSP command
naming SPIN application UV10SP and prompt P1000, and the dynamic data
would be designated in the command in the same format as for the American
English prompt. The voice for the elements owned by the SPIN application
would, however, be recorded in Spanish. The prompt definition comparable
to table 3 would point to these Spanish voice messages but the elements
may be reordered or modified to account for language differences.
Additionally, dynamic data usage may be reordered in accordance with
Spanish requirements. The Spanish MDDP comparable to the MDDP 5 would
include procedures to speak the dynamic data elements accounting for
syntactical and grammatic requirements of the Spanish language. Gender
agreement between dynamic and static elements would also be accounted for
in the MDDP procedures using subtypes.
Referring to FIG. 4, a schematic block diagram of the prompt management
system of the present invention is illustrated. The prompt management
system of FIG. 4 provides support for the creation and playing of prompts
on behalf of Network Applications 10 deployed on a NAP system 11. The
prompt management system of FIG. 4 includes a SPIN component 12, a PEP
component 13 and an MDDP component 14. Prompt information is recorded and
stored in a SPINDB 15. As previously defined, SPIN represents Speech
Interface to NAP; PEP represents Prompt Expansion Processor; MDDP
represents Modular Dynamic Data Processor; and SPINDB represents SPIN Data
Base.
The Network Applications 10 communicate with NAP 11 through an agent 16 and
also utilizes the agent 16 to communicate with PEP 13. As described in
said Patent No. 5,133,004, the Network Applications 10 command the NAP 11
via AIM commands to perform the functionality required by the Network
Applications. The agent 16 directs the AIM commands to NAP 11 via logic
17. When a Network Application 10 requires that a prompt be played, the
Network Application issues a PEP command to the agent 16. The agent 16
directs PEP commands to the PEP 13 via logic 18. SPIN 12 communicates with
NAP 11 through a Communication Management System (COMS) 19. It is
appreciated that SPIN 12 is an application to NAP 11 communicating through
COMS 19 in the manner described in said Patent No. 5,133,004.
Although NAP 11 is described in detail in said Patent No. 5,133,004, the
following explanation is provided for continuity herein. NAP 11 includes
an Application Interface Module (AIM) 30 which is the central
communication module of NAP. SPIN 12 communicates with AIM 30 through COMS
19. The Network Applications 10 communicate directly with AIM 30 via the
agent 16. The playing of prompts commanded by the Network Applications 10,
as expanded by PEP 13, is also effected through NAP 11 via the AIM 30 in a
manner to be described. The NAP 11 also includes a Network Interface Unit
(NIU) 31 that provides the interface for NAP 11 to the telephone network
35. The NIU 31 effects call switching under control of applications
communicating with NAP 11 through AIM 30.
The NAP 11 includes a Voice Message Management Module (VMMM) 32, a Voice
File 33 and a Voice Input/Output Data Base (VIODB) 34. The VMMM 32, in
response to commands received through AIM 30, sends identified voice
messages stored in the Voice File 33 over a telephone connection effected
through the NIU 31 and receives voice messages from a telephone connection
established through the NIU 31 for storage in the Voice File 33. VMMM 32
assigns NAP Message IDs to received and recorded voice messages and via
AIM 30 returns these voice Message IDs to the application involved in the
telephone | | |