WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Multi-lingual prompt management system for a network applications platform    
United States Patent5493606   
Link to this pagehttp://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)
AbstractIn 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 Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5493606
Multi-lingual prompt management system for a network applications

     platform - US Patent 5493606 Drawing
Multi-lingual prompt management system for a network applications platform
Inventor     Osder; Barbara E. (Erdenheim, PA); Elrod; Edwin M. (Downingtown, PA); Freiman; Alex C. (New Britain, PA); Hogan; Timothy J. (Wellington, NZ)
Owner/Assignee     Unisys Corporation (Blue Bell, PA)
Patent assignment
All assignments
Publication Date     February 20, 1996
Application Number     08/251,863
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     May 31, 1994
US Classification     379/88.05 379/88.08 379/88.11 434/156 434/157 704/1 704/9 704/258
Int'l Classification     H04M 001/64
Examiner     Hofsass; Jeffery
Assistant Examiner     Dharia; Parag
Attorney/Law Firm     Cooper; Albert B. Starr; Mark T. ,
Address
Parent Case    
Priority Data    
USPTO Field of Search     379/67 379/88 379/89 364/419.01 364/419.02 364/419.05 364/419.08 381/43 381/51 434/156 434/157 434/308
Patent Tags     multi-lingual prompt management network applications platform
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5388146
Morduch
379/52
Feb,1995

[0 after 0 votes]
5375164
Jennings
379/88.05
Dec,1994

[0 after 0 votes]
5307265
Winans
704/8
Apr,1994

[0 after 0 votes]
4958366
Hashimoto
379/74
Sep,1990

[0 after 0 votes]
4654798
Taki
704/7
Mar,1987

[0 after 0 votes]
5412712
Jennings
379/88.05
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


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.
 Description Submit all comments and votes
 


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