(57)【要約】ユーザと、少なくとも１つのタスクを実行することが可能である、プリンタや複写機などの少なくとも１つのプロセッサ制御装置との間の通信を制御する制御装置が説明される。制御装置は、ユーザが装置に実行させることを希望するタスクを判定するためにユーザとの対話を実行し、装置に判定されたタスクを実行することを命令し、装置に関連して発生するエラーメッセージなどのイベント（例えば、プリンタの場合は紙詰まり）に関連するイベント情報を受信し、イベント情報が受信されたとき、ユーザが別のタスクに関与しているか否かを判定し、イベント情報が受信されたイベント及び前記別のタスクのうちの少なくとも一方と関連する中断状態情報を識別し、識別された中断状態情報に基づいてユーザを中断することが可能であるか否かを判定し、ユーザとの対話を中断することが可能であると判定された場合、ユーザに受信されたイベント情報を通知するためのプロセッサ実現可能な命令により構成されるプロセッサを含む。
2004512590.tif 000002
【特許請求の範囲】
【請求項１】
ユーザと、少なくとも１つのタスクを実行することが可能である少なくとも１つのプロセッサ制御装置との間の通信を制御する制御装置であって、
前記ユーザが前記プロセッサ制御装置に実行させることを希望する前記タスクを判定するために前記ユーザとの対話を実行する対話実行手段と、
判定された前記タスクを前記プロセッサ制御装置に実行するよう命令する装置命令手段と、
前記プロセッサ制御装置について生じるイベントに係るイベント情報を受信するイベント受信手段と、
前記イベント受信手段がイベント情報を受信したときに前記ユーザが別のタスクに関与しているか否かを判定するタスク判定手段と、
イベント情報が受信された前記イベントおよび前記別のタスクのうちの少なくとも一方と関連する中断状態情報を識別する中断判定手段と、
識別された前記中断状態情報に基づいて前記ユーザとの対話が中断可能かどうかを判定する中断制御手段と、
前記中断制御手段が前記ユーザとの対話が中断可能であると判定したときに、受信したイベント情報を前記ユーザに通知する報知手段と
を有する制御装置。
【請求項２】
前記対話実行手段は、前記ユーザとの音声による対話を実行する手段を有することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記対話実行手段は、対話ファイルを格納する対話ファイル記憶部と、対話インタプリタとを有し、
前記対話ファイルは、ユーザにより命令することができるタスクに関連するタスク要素と、前記ユーザに対して提示されるべきプロンプトに関連するプロンプト要素と、前記ユーザからの情報の受信に応答してとられるべきアクションに関連するアクション要素とを含むマークアップ言語を取り入れた文書で構成され、
前記対話インタプリタは、前記対話ファイルを使用して前記ユーザとの対話を実行するように構成されている
ことを特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記対話ファイルは、前記イベント受信手段によりイベント情報を受信可能であるイベントに関するイベント要素を含むことを特徴とする請求項３に記載の制御装置。
【請求項５】
前記対話ファイルは、少なくとも１つの定義済みファイルに関して、ある特定のイベントについてそのタスクに関する中断状態情報を提供する中断要素を含むことを特徴とする請求項３または４記載の制御装置。
【請求項６】
前記対話ファイルは、前記イベント受信手段によりイベント情報が受信可能なイベントごとにイベント要素を含み、各イベント要素は、前記ユーザが別のタスクに関与しているときに、そのイベントにより前記ユーザを中断することが可能であるか否かを識別するための中断状態情報を提供する少なくとも１つの中断要素を含むことを特徴とする請求項３に記載の制御装置。
【請求項７】
少なくとも１つのタスク要素は、ユーザが前記少なくとも１つのタスクに関与しているときに、イベントに応答して前記ユーザとの対話を中断することが可能であるか否かを識別するための中断状態情報を提供する中断要素を含むことを特徴とする請求項３に記載の制御装置。
【請求項８】
前記中断要素は、中断することができないタスクを識別するためのロック要素を含むことを特徴とする請求項５から７までのいずれかに記載の制御装置。
【請求項９】
前記中断要素は、中断することができるタスクを識別するための中断要素を含むことを特徴とする請求項５から８までのいずれかに記載の制御装置。
【請求項１０】
前記中断要素は、ユーザが別のタスクに関与しているか否かに関わらず前記ユーザとの対話を中断もしくは終了させるべきイベントであることを識別するための優先要素を含むことを特徴とする請求項５から９までのいずれかに記載の制御装置。
【請求項１１】
前記対話ファイルはＶｏｉｃｅＸＭＬファイルであることを特徴とする請求項３から１０までのいずれか１項に記載の制御装置。
【請求項１２】
前記中断制御手段は、あるタスクと関連する中断状態情報がない場合、イベントによりそのタスクに関与しているユーザとの対話を中断することが可能であると判定するように構成されていることを特徴とする請求項１から１１までのいずれかに記載の制御装置。
【請求項１３】
前記イベント受信手段により受信されるイベント情報からイベントの詳細を取り出す情報取り出し手段を更に有し、前記報知手段は、取り出された前記イベントの詳細を前記ユーザに提供するように構成されていることを特徴とする請求項１から１２までのいずれかに記載の制御装置。
【請求項１４】
前記中断制御手段は、いくつかのイベントを必須イベントとして識別し、そのようなイベントの受信に応答して、ユーザが別のタスクに関与しているか否かに関わらず、前記ユーザとの対話を中断もしくは終了させるように構成されていることを特徴とする請求項１から１３までのいずれかに記載の制御装置。
【請求項１５】
前記タスク判定手段は、あるタスクと関連する対話がユーザとの間で実行中であるときに、前記ユーザはそのタスクに関与していると判定するように構成されていることを特徴とする請求項１から１４までのいずれかに記載の制御装置。
【請求項１６】
前記中断制御手段は、受信される特定のイベントに関連する識別された中断状態情報に基づいてユーザとの対話を中断することが可能であるか否かを判定するように構成されていることを特徴とする請求項１から１５までのいずれか１項に記載の制御装置。
【請求項１７】
プロセッサと、ＶｏｉｃｅＸＭＬ対話ファイルもしくは文書を含む対話ファイル記憶部とを有し、少なくとも１つのタスクの実行に関してユーザとの通信を制御する制御装置であって、
前記対話ファイルは、前記ユーザにより命令することが可能であるタスクに関連するタスク要素と、ユーザに対して提示されるべきプロンプトに関連するプロンプト要素と、イベントを定義するイベント要素と、タスク要素に対する中断状態情報を定義する中断状態要素とを含み、
前記プロセッサは、
前記対話ファイル記憶部の前記対話ファイルを使用してユーザとの対話を制御し、
プロンプト要素に応答してユーザから情報を受信し、
受信した情報に基づきタスク要素を処理し、
対話ファイルのイベント要素により定義されるイベントに関するイベント情報を受信し、
タスク要素に関する前記中断状態要素から、受信したイベントにより前記ユーザとの対話が中断可能であるか否かを判定し、
タスク要素に関する前記中断状態要素がそのイベントにより前記ユーザとの対話が中断可能であることを示すとき、前記ユーザにイベントを通知させる
ためのプロセッサにより実現可能な命令で構成される
ことを特徴とする制御装置。
【請求項１８】
少なくとも１つのイベント要素は、前記ユーザが別のタスクに関与しているとき、そのイベントにより前記ユーザとの対話の中断が可能であるか否かを識別するための中断状態情報を提供する中断要素を含むことを特徴とする請求項１７に記載の制御装置。
【請求項１９】
少なくとも１つのタスク要素は、特定のイベントに応答して前記ユーザとの対話の中断が可能であるか否かを識別するための中断状態情報を提供する中断要素を含むことを特徴とする請求項１７または１８に記載の制御装置。
【請求項２０】
前記中断要素は、中断することができないタスクを識別するためのロック要素を含むことを特徴とする請求項１７から１９までのいずれかに記載の制御装置。
【請求項２１】
前記中断要素は、中断することが可能なタスクを識別するための中断要素を含むことを特徴とする請求項１７から２０までのいずれかに記載の制御装置。
【請求項２２】
前記中断要素は、ユーザが別のタスクに関与しているか否かに関わらず前記ユーザとの対話を中断もしくは終了させるべきイベントを識別するための優先要素を含むことを特徴とする請求項１７から２１までのいずれか１項に記載の制御装置。
【請求項２３】
前記プロセッサは、あるタスクと関連するイベントに対する中断状態要素が存在しない場合、そのイベントによりそのタスクに関与しているユーザとの対話を中断することが可能であると判定するように構成されていることを特徴とする請求項１７から２２までのいずれか１項に記載の制御装置。
【請求項２４】
前記プロセッサは、イベントオブジェクトからイベントの詳細を取り出し、その取り出したイベントの詳細を前記ユーザに提供するように動作可能であることを特徴とする請求項１７から２３までのいずれか１項に記載の制御装置。
【請求項２５】
ユーザと、少なくとも１つのタスクを実行可能な少なくとも１つのプロセッサ制御装置との間の通信を制御する制御装置であって、
前記ユーザが前記プロセッサ制御装置に実行させることを希望するタスクを判定するために前記ユーザとの対話を実行する対話実行手段と、
判定された前記タスクを前記プロセッサ制御装置に実行するよう命令する装置命令手段と、
前記プロセッサ制御装置で生じたイベントに関連するイベントデータを受信するイベント受信手段と、
前記ユーザに対して提示するために、前記イベントから前記イベントデータの詳細を取り出すイベント詳細取り出し手段と、
前記取り出されたイベントの詳細を前記ユーザに通知する報知手段と
を有する制御装置。
【請求項２６】
前記対話実行手段は、前記ユーザとの音声による対話を実行する手段を有することを特徴とする請求項２５に記載の制御装置。
【請求項２７】
前記対話実行手段は、対話ファイルを格納する対話ファイル記憶部と、対話インタプリタとを有し、
前記対話ファイルは、ユーザにより命令することができるタスクに関連するタスク要素と、前記ユーザに対して提示されるべきプロンプトに関連するプロンプト要素と、前記ユーザからの情報の受信に応答してとられるべきアクションに関連するアクション要素とを含むマークアップ言語を取り入れた文書から構成され、
前記対話インタプリタは、前記対話ファイルを使用して前記ユーザとの対話を実行するように構成されている
ことを特徴とする請求項２５または２６に記載の制御装置。
【請求項２８】
前記対話ファイルは、前記イベント受信手段により受信可能なイベントに関するイベント要素を含むことを特徴とする請求項２７に記載の制御装置。
【請求項２９】
前記対話ファイルはＶｏｉｃｅＸＭＬファイルであることを特徴とする請求項２５から２８までのいずれか１項に記載の制御装置。
【請求項３０】
プロセッサと、ＶｏｉｃｅＸＭＬ対話ファイルもしくは文書を含む対話ファイル記憶部とを有し、少なくとも１つのタスクの実行に関してユーザとの通信を制御する制御装置であって、
前記対話ファイルは、前記ユーザにより命令することが可能であるタスクに関連するタスク要素と、ユーザに対して提示されるべきプロンプトに関連するプロンプト要素と、イベントを定義するイベント要素とを含み、
前記プロセッサは、
前記対話ファイル記憶部の前記対話ファイルを使用してユーザとの対話を制御し、
プロンプト要素に応答してユーザから情報を受信し、
受信した情報に基づきタスク要素を処理し、
対話ファイルのイベント要素により定義されるイベントに関してイベントオブジェクトを受信し、
前記イベントオブジェクトから前記イベントの詳細を取り出し、
取り出した前記イベントの詳細を前記ユーザに提供する
ためのプロセッサ実現可能な命令で構成される
ことを特徴とする制御装置。
【請求項３１】
ユーザと、少なくとも１のタスクを実行可能な少なくとも１のプロセッサ制御装置との間の通信を制御する制御装置であって、
前記ユーザが前記プロセッサ制御装置に実行させることを希望するタスクを判定するために前記ユーザとの対話を実行する対話実行手段と、
判定したタスクの実行を前記プロセッサ制御装置に命令する装置命令手段と、
前記プロセッサ制御装置に対して生じるイベントに関連するイベント情報を受信するイベント受信手段と、
受信したイベントの状態を判定するイベント状態判定手段と、
受信した前記イベントが所定の状態を有する場合に、前記ユーザとの対話を中断もしくは終了させる中断手段と
を有する制御装置。
【請求項３２】
前記対話実行手段は、前記ユーザとの音声による対話を実行する手段であることを特徴とする請求項３１に記載の制御装置。
【請求項３３】
前記対話実行手段は、対話ファイルを格納する対話ファイル記憶部と、対話インタプリタとを有し、
前記対話ファイルは、ユーザにより命令することができるタスクに関連するタスク要素と、前記ユーザに対して提示されるべきプロンプトに関連するプロンプト要素と、前記ユーザからの情報の受信に応答してとられるべきアクションに関連するアクション要素とを含むマークアップ言語を取り入れた文書で構成され、
前記対話インタプリタは、前記対話ファイルを使用して前記ユーザとの対話を実行するように構成されている
ことを特徴とする請求項３１または３２に記載の制御装置。
【請求項３４】
前記対話ファイルは、前記イベント受信手段により受信可能であるイベントごとにイベント要素を含み、各イベント要素は、そのイベントが所定の状態を有するか否かを識別するための中断要素を含むことを特徴とする請求項３３に記載の制御装置。
【請求項３５】
前記対話ファイルはＶｏｉｃｅＸＭＬファイルであることを特徴とする請求項３１から３４までのいずれか１項に記載の制御装置。
【請求項３６】
請求項１から３５までのいずれか１項に記載の制御装置と、その制御装置から受信される装置により実現可能な命令に応答してタスクを実行し、タスクの実行に関連するイベント情報を当該制御装置に提供する複数のプロセッサ制御装置とを有するシステム。
【請求項３７】
前記プロセッサ制御装置は、プリンタ、複写機、ファクシミリ装置のうちの１つ以上を含むことを特徴とする請求項３６に記載のシステム。
【請求項３８】
プロセッサを具備するコンピュータシステムにおいて、ユーザと、少なくとも１のタスクを実行可能な少なくとも１のプロセッサ制御装置との間の通信を制御する方法であって、
前記ユーザが前記プロセッサ制御装置に実行させることを希望するタスクを判定するために前記ユーザとの対話を実行するステップと、
判定したタスクを前記プロセッサ制御装置に実行するよう命令するステップと、
前記プロセッサ制御装置に対して生じるイベントに関連するイベント情報を受信するステップと、
前記イベント受信手段がイベント情報を受信したとき、前記ユーザが別のタスクに関与しているか否かを判定するステップと、
前記イベントおよび前記別のタスクのうちの少なくとも一方と関連する中断状態情報を識別するステップと、
識別した前記中断状態情報に基づいて前記ユーザとの対話の中断が可能かどうかを判定するステップと、
前記ユーザとの対話の中断が可能と判定された場合に、受信したイベント情報を前記ユーザに通知するステップと
を有する方法。
【請求項３９】
前記対話を実行するステップは、前記ユーザとの音声による対話を実行することを特徴とする請求項３８に記載の方法。
【請求項４０】
前記対話を実行するステップは、対話ファイルおよび対話インタプリタを使用して前記対話を実行し、
前記対話ファイルは、前記ユーザにより命令することが可能であるタスクに関連するタスク要素と、ユーザに対して提示されるべきプロンプトに関連するプロンプト要素と、前記ユーザからの情報の受信に応答してとられるべきアクションに関連するアクション要素とを含むマークアップ言語を取り入れた文書を含む
ことを特徴とする請求項３８または３９に記載の方法。
【請求項４１】
前記対話ファイルは、前記イベント受信手段によりイベント情報を受信可能なイベントに関するイベント要素を含むことを特徴とする請求項４０に記載の方法。
【請求項４２】
前記対話ファイルは、少なくとも１つの定義済みタスクに対し、特定のイベントについてのそのタスクに係る中断状態情報を提供する中断要素を含むことを特徴とする請求項４０または４１に記載の方法。
【請求項４３】
前記対話ファイルは、前記イベント受信手段によりイベント情報を受信可能なイベントごとにイベント要素を含み、各イベント要素は、前記ユーザが別のタスクに関与しているとき、そのイベントにより前記ユーザとの対話を中断可能であるか否かを識別するための中断状態情報を提供する少なくとも１つの中断要素を含むことを特徴とする請求項４０に記載の方法。
【請求項４４】
少なくとも１つのタスク要素は、前記ユーザが前記少なくとも１つのタスクに関与しているとき、イベントに応答してユーザとの対話を中断可能であるか否かを識別するための中断状態情報を提供する中断要素を含むことを特徴とする請求項４０に記載の方法。
【請求項４５】
前記中断要素は、中断することができないタスクを識別するためのロック要素を有することを特徴とする請求項４２から４４までのいずれかに記載の方法。
【請求項４６】
前記中断要素は、中断することが可能なタスクを識別するための中断要素を有することを特徴とする請求項４２から４５までのいずれか１項に記載の方法。
【請求項４７】
前記中断要素は、ユーザが別のタスクに関与しているか否かに関わらず前記ユーザとの対話を中断もしくは終了させるべきイベントであることを識別するための優先要素を含むことを特徴とする請求項４２から４６までのいずれか１項に記載の方法。
【請求項４８】
前記対話ファイルはＶｏｉｃｅＸＭＬファイルであることを特徴とする請求項４０から４７までのいずれか１項に記載の方法。
【請求項４９】
前記ユーザとの対話の中断が可能かどうかを判定する前記ステップは、そのタスクと関連する中断状態情報がない場合、イベントにより前記ユーザとの対話の中断が可能であると判定することを特徴とする請求項３８から４８までのいずれか１項に記載の方法。
【請求項５０】
受信されたイベント情報からイベントの詳細を取り出すステップと、
取り出されたイベントの前記詳細を前記ユーザに提供するステップと
を更に有することを特徴とする請求項３８から４９までのいずれか１項に記載の方法。
【請求項５１】
前記中断制御ステップは、いくつかのイベントを必須イベントとして識別し、そのようなイベントに関するイベント情報の受信に応答して、ユーザが別のタスクに関与しているか否かに関わらず前記ユーザとの対話を中断もしくは終了することを特徴とする請求項３８から５０のいずれか１項に記載の方法。
【請求項５２】
前記ユーザが別のタスクに関与しているか否かを判定する前記ステップは、あるタスクに関連する対話がユーザとの間で実行中であるときに、そのユーザはそのタスクに関与していると判定することを特徴とする請求項３８から５１のいずれか１項に記載の方法。
【請求項５３】
前記中断制御ステップは、イベント情報が受信された前記特定の受信イベントに関連する識別された中断状態情報に基づいてユーザとの対話を中断可能か否かを判定することを特徴とする請求項３８から５２のいずれか１項に記載の方法。
【請求項５４】
プロセッサと、ユーザにより命令することが可能なタスクに関連するタスク要素、ユーザに対して提示されるべきプロンプトに関連するプロンプト要素、イベントを定義するイベント要素、およびタスク要素に関する中断状態情報を定義する中断状態要素を含むＶｏｉｃｅＸＭＬ対話ファイルもしくは文書を含む対話ファイル記憶部とを具備し、少なくとも１のタスクの実行に関してユーザとの通信を制御する制御装置を動作させる方法であって、
前記対話記憶部の前記対話ファイルを使用してユーザとの対話を制御するステップと、
プロンプト要素に応答してユーザから情報を受信するステップと、
受信される情報に従ってタスク要素を処理するステップと、
対話ファイルのイベント要素により定義されるイベントに関するイベント情報を受信するステップと、
タスク要素に関する前記中断状態要素から、受信されたイベントにより前記ユーザとの対話を中断可能か否かを判定するステップと、
あるイベントによりタスク要素に関する前記中断状態要素が前記ユーザとの対話を中断可能であることを示す場合、そのイベントを前記ユーザに通知させるステップと
を有する方法。
【請求項５５】
少なくとも１つのイベント要素は、前記ユーザが別のタスクに関与しているとき、そのイベントにより前記ユーザとの対話が中断可能であるか否かを識別するための中断状態情報を提供する中断要素を含むことを特徴とする請求項５４に記載の方法。
【請求項５６】
少なくとも１つのタスク要素は、ある特定のイベントに応答して前記ユーザとの対話が中断可能であるか否かを識別するための中断状態情報を提供する中断要素を含むことを特徴とする請求項５４または５５に記載の方法。
【請求項５７】
前記中断要素は、特定のイベントにより中断することができないタスクを識別するためのロック要素を含むことを特徴とする請求項５４から５６までのいずれかに記載の方法。
【請求項５８】
前記中断要素は、特定のイベントにより中断することができるタスクを識別するための中断要素を含むことを特徴とする請求項５４から５７までのいずれかに記載の方法。
【請求項５９】
前記中断要素は、ユーザが別のタスクに関与しているか否かに関わらず前記ユーザとの対話を中断もしくは終了させるべきイベントであることを識別するための優先要素を含むことを特徴とする請求項５４から５８のいずれか１項に記載の方法。
【請求項６０】
前記ユーザとの対話を中断可能か否かを判定する前記ステップは、あるタスクと関連するイベントに関する中断状態要素が存在しない場合、そのイベントによりそのタスクに関与しているユーザに中断することが可能であると判定することを特徴とする請求項５４から５９のいずれか１項に記載の方法。
【請求項６１】
イベントオブジェクトからイベントの詳細を取り出すステップと、
取り出されたイベントの前記詳細を前記ユーザに提供するステップと
を更に含むことを特徴とする請求項５４から６０のいずれか１項に記載の方法。
【請求項６２】
ユーザと、少なくとも１のタスクを実行することが可能な少なくとも１のプロセッサ制御装置との間の通信を制御するために前記プロセッサを動作させる方法であって、当該プロセッサに、
前記ユーザが前記装置に実行させることを希望するタスクを判定するために前記ユーザとの対話を実行するステップと、
判定されたタスクを前記装置に実行するよう命令するステップと、
前記装置に生じたイベントに関連するイベントデータを受信するステップと、
前記ユーザに対して提示するために、前記イベントデータから前記イベントの詳細を取り出すステップと、
取り出されたイベントの前記詳細を前記ユーザに通知するステップと
を実行させることを特徴とする方法。
【請求項６３】
前記対話を実行するステップは、前記ユーザと音声による対話を実行することを特徴とする請求項６２に記載の方法。
【請求項６４】
前記対話を実行するステップは、対話ファイルを格納する対話ファイル記憶部を使用して前記対話を実行し、
前記対話ファイルは、前記ユーザにより命令することが可能なタスクに関連するタスク要素と、前記ユーザに対して提示されるべきプロンプトに関連するプロンプト要素と、前記ユーザからの情報の受信に応答してとられるべきアクションに関連するアクション要素とを含むマークアップ言語を取り入れた文書で構成される
ことを特徴とする請求項６２または６３記載の方法。
【請求項６５】
前記対話ファイルは、前記イベント受信手段により受信可能であるイベントに関するイベント要素を含むことを特徴とする請求項６４記載の方法。
【請求項６６】
前記対話ファイルはＶｏｉｃｅＸＭＬファイルであることを特徴とする請求項６４または６５に記載の方法。
【請求項６７】
少なくとも１のタスクの実行に関してユーザとの通信を制御するためにプロセッサを動作させる方法であって、当該プロセッサに、
前記ユーザにより命令することが可能なタスクに関連するタスク要素と、前記ユーザに対して提示されるべきプロンプトに関連するプロンプト要素と、イベントを定義するイベント要素とを含むＶｏｉｃｅＸＭＬ対話ファイルもしくは文書を含む対話ファイル記憶部をアクセスするステップと、
前記対話ファイル記憶部の前記対話ファイルを使用してユーザとの対話を制御するステップと、
プロンプト要素に応答してユーザから情報を受信するステップと、
受信される情報に従ってタスク要素を処理するステップと、
対話ファイルのイベント要素により定義されるイベントに関するイベントオブジェクトを受信するステップと、
前記イベントオブジェクトから前記イベントの詳細を取り出すステップと、
取り出されたイベントの前記詳細を前記ユーザに提供するステップと
を実行させることを特徴とする方法。
【請求項６８】
ユーザと、少なくとも１のタスクを実行することが可能な少なくとも１のプロセッサ制御装置との間の通信を制御するためにプロセッサを動作させる方法であって、当該プロセッサに、
前記ユーザが前記装置に実行させることを希望するタスクを判定するために前記ユーザとの対話を実行するステップと、
判定された前記タスクを前記装置に実行するよう命令するステップと、
前記装置に関して生じるイベントに関連するイベント情報を受信するステップと、
受信された前記イベントの状態を判定するステップと、
受信された前記イベントが所定の状態を有する場合、前記ユーザとの対話を中断もしくは終了させるステップと
を実行させることを特徴とする方法。
【請求項６９】
前記対話を実行するステップは、前記ユーザと音声による対話を実行することを特徴とする請求項６８に記載の方法。
【請求項７０】
前記対話を実行するステップは、対話ファイルを格納する対話ファイル記憶部を使用して前記対話を実行し、
前記対話ファイルは、前記ユーザにより命令することが可能なタスクに関連するタスク要素と、前記ユーザに対して提示されるべきプロンプトに関連するプロンプト要素と、前記ユーザからの情報の受信に応答してとられるべきアクションに関連するアクション要素とを含むマークアップ言語を取り入れた文書で構成される
ことを特徴とする請求項６８または６９に記載の方法。
【請求項７１】
前記対話ファイルは、前記イベント受信手段により受信可能であるイベントごとにイベント要素を含み、各イベント要素は、そのイベントが前記所定の状態を有するか否かを識別するための中断要素を含むことを特徴とする請求項７０に記載の方法。
【請求項７２】
前記対話ファイルはＶｏｉｃｅＸＭＬファイルであることを特徴とする請求項６８から７１のいずれか１項に記載の方法。
【請求項７３】
ユーザと、少なくとも１のタスクを実行することが可能な少なくとも１のプロセッサ制御装置との間の通信を制御するときに制御装置により使用される対話ファイル記憶装置であって、
前記ユーザにより命令することが可能であるタスクに関連するタスク要素と、前記ユーザに対して提示されるべきプロンプトに関連するプロンプト要素と、前記ユーザからの情報の受信に応答してとられるべきアクションに関連するアクション要素とを含み、前記タスク要素の少なくとも１つに関して、ユーザが前記少なくとも１つのタスクに関与しているとき、少なくとも１つのイベントに応答して前記ユーザとの対話を中断することが可能であるか否かを識別するための中断状態情報を提供する中断要素を含むマークアップ言語を取り入れた文書で構成される対話ファイルを格納することを特徴とする対話ファイル記憶装置。
【請求項７４】
前記中断要素は、特定のイベントにより中断することが不可能であるタスクを識別するためのロック要素を含むことを特徴とする請求項７３に記載の対話ファイル記憶装置。
【請求項７５】
前記中断要素は、特定のイベントにより中断することが可能なタスクを識別するための中断要素を含むことを特徴とする請求項７３または７４に記載の対話ファイル記憶装置。
【請求項７６】
前記中断要素は、ユーザが別のタスクに関与しているか否かに関わらず前記ユーザとの対話を中断もしくは終了させるべきイベントであることを識別するための優先要素を含むことを特徴とする請求項７３から７５までのいずれかに記載の対話ファイル記憶装置。
【請求項７７】
前記対話ファイルはＶｏｉｃｅＸＭＬファイルであることを特徴とする請求項７３から７６のいずれか１項に記載の対話ファイル記憶装置。
【請求項７８】
前記ユーザにより命令することが可能であるタスクを定義するタスク要素と、前記ユーザに対して提示されるべきプロンプトを定義するプロンプト要素と、前記ユーザからの情報の受信に応答してとられるべきアクションを定義するアクション要素と、前記ユーザがタスク要素により定義されるタスクに関与しているとき、イベントに応答して前記ユーザとの対話を中断することが可能であるか否かを識別するための中断状態情報を定義する中断要素とを含む、文書をマークアップするためのマークアップ言語を格納するコンピュータ記憶媒体。
【請求項７９】
前記中断要素は、特定のイベントにより中断することが不可能であるタスクを識別するためのロック要素を含むことを特徴とする請求項７８に記載のコンピュータ記憶媒体。
【請求項８０】
前記中断要素は、特定のイベントにより中断することが可能なタスクを識別するための中断要素を含むことを特徴とする請求項７８または７９に記載のコンピュータ記憶媒体。
【請求項８１】
前記中断要素は、ユーザが別のタスクに関与しているか否かに関わらず前記ユーザとの対話を中断もしくは終了させるべきであるイベントを識別するための優先要素を含むことを特徴とする請求項７８から８０までのいずれかに記載のコンピュータ記憶媒体。
【請求項８２】
前記マークアップ言語は前記中断要素を追加するために修正されたＶｏｉｃｅＸＭＬであることを特徴とする請求項７８から８１のいずれか１項に記載のコンピュータ記憶媒体。
【請求項８３】
プロセッサに請求項３８から７２のいずれか１項に記載の方法を実行させるためのプロセッサ実現可能な命令を含む信号。
【請求項８４】
プロセッサに請求項３８から７２のいずれか１項に記載の方法を実行させるためのプロセッサにより実現可能な命令を格納した記憶媒体。
【請求項８５】
ユーザがプロセッサ制御装置に実行することを命令することが可能であるタスクを定義するためのタスク要素と、前記装置に生じたイベントに関連して前記ユーザに対して提示されるべきプロンプトを定義するためのプロンプト要素とを含み、前記プロンプト要素は、イベントの種類を識別するための要素成分と、前記装置により提供される情報から、前記イベントが生じた前記装置および前記イベントが生じた前記タスクのうちの少なくとも一方を識別するための情報を取り出すための要素成分とを含むような、文書をマークアップするためのマークアップ言語を格納するコンピュータ記憶媒体。
【請求項８６】
ユーザがプリンタに実行することを命令することが可能である印刷タスクを定義するためのタスク要素と、前記プリンタにおけるプリンタイベントの発生を判定するためのキャッチ要素と、前記キャッチ要素によりキャッチされたプリンタイベントに関連して前記ユーザに対して提示されるべきプロンプトを定義するためのプロンプト要素とを含み、前記プロンプト要素は、前記プリンタにより提供される前記イベントオブジェクトから、前記イベントオブジェクトを提供する前記プリンタおよび前記プリントイベントが生じた前記印刷タスクの詳細のうちの少なくとも一方を識別するための情報を取り出すための要素成分を含むような、文書をマークアップするためのマークアップ言語を格納するコンピュータ記憶媒体。
【請求項８７】
文書をマークアップするためのマークアップ言語で記述され、ユーザにより命令することが可能であるタスクを定義するためのタスク要素と、ユーザに対して提示されるべきプロンプトを定義するためのプロンプト要素と、前記ユーザからの情報の受信に応答してとられるべきアクションを定義するためのアクション要素と、ユーザがタスク要素により定義されるタスクに関与しているとき、イベントに応答して前記ユーザとの対話を中断することが可能であるか否かを識別するための中断状態情報を定義するための中断要素とを含むデータ。
【請求項８８】
文書をマークアップするためのマークアップ言語で記述され、ユーザがプロセッサ制御装置に実行することを命令することが可能であるタスクを定義するためのタスク要素と、前記装置で生じたイベントに関連して前記ユーザに対して提示されるべきプロンプトを定義するためのプロンプト要素とを含み、前記プロンプト要素は、イベントの種類を識別するための要素成分と、前記装置により提供される情報から、前記イベントが生じた前記装置および前記イベントが生じた前記タスクのうちの少なくとも一方を識別するための情報を取り出すための要素成分とを含むデータ。
【発明の詳細な説明】
【０００１】
本発明は制御装置に関し、特に、ユーザに複数の異なるプロセスまたはタスクの実行を制御させるためにユーザとの通信を可能にする制御装置に関する。
【０００２】
制御装置と音声による対話を行うことにより、ユーザがタスクまたはプロセスの実行を制御することを可能にするシステムに対する関心が増してきている。そのようなシステムの例には、例えば、航空機のチケットなどの予約を行うための電話予約システムまたはオンライン予約システム、並びに欧州特許出願公開第０９１１８０８号や同第０８５４４１８号に記載されているような、ユーザが音声指令によりプリンタまたはＶＣＲなどのオフィス機器または家庭用機器のアイテムの動作を制御することを可能にするオフィス用または家庭用機器システムがある。
【０００３】
そのようなシステムにおいては、ユーザにより命令されたタスクまたはプロセスの実行に影響を及ぼすイベントが起こったこと、例えば、印刷タスクの場合であればプリンタがその印刷タスクを実行するのを妨げる紙詰まりが起こったこと、をユーザに通知できるようになっていることが必要である。しかし、ユーザが別のタスクの実行を命令するプロセスに入っている場合にそのようなイベントが起こったことがそのユーザに報知されると、とりわけ混乱を招くであろう。
【０００４】
本発明は一側面において、ユーザにより命令されたタスクに関する情報によってユーザが妨げられるか否かを制御するように構成された制御装置を提供する。
【０００５】
本発明は一側面において、制御装置との対話を実行することにより、プロセスまたはタスクの実行をユーザが制御することを可能にする制御装置を提供する。ここで、制御装置は、特定の現在のプロセスまたはタスクに応じて、現在のプロセスまたはタスクを制御するためのユーザとの現在の対話を別のプロセスまたはタスクに関するユーザへの情報によって中断することが可能であるか否かを決定するように構成されている。
【０００６】
一実施例では、制御装置はオフィス機器または家庭用機器のアイテムなどの機器のアイテムを制御するように構成されてもよく、また、ユーザにより命令されている現在タスクに応じて、機器のアイテムが先に命令されたタスクを実行できないことを指示する、そのアイテムからのメッセージがユーザに通知されるか否かを制御するように構成されてもよい。例えば、制御装置は、ある特定のプリンタがオフラインであること、用紙切れであること、または紙詰まりが起こったことなどをユーザに通知する、先に命令されていたプリントジョブに関するプリンタからのメッセージにより、ユーザの現在のアクティビティを中断することが可能であるか否かを判定するように構成されていてもよい。
【０００７】
本発明を具現化した制御装置によれば、ユーザがあるいくつかの条件の下でのみ現在のタスクの命令もしくは実行が中断されるように、エラーメッセージなどのイベントの処理のタイミングに融通性を持たせることが可能になる。これにより、制御装置をより使いやすくすることができ、また、ユーザのアクティビティの混乱を最小限にとどめることが可能になるはずである。
【０００８】
本発明は、タスクまたはプロセスの実行を制御するためのユーザと制御装置との対話が話し言葉による対話である場合に使用するのに特に有利であるが、それは、話し言葉による対話が必然的に時間的に順次起こるイベントであり、一般に２つの会話を一度に行うことは不可能であるためである。また、本発明は、ユーザと制御装置との対話が、一部は話し言葉による対話、一部は視覚表示による対話である場合、例えば、ユーザが口頭で命令を発し、制御装置はユーザに対して視覚メッセージを表示する場合、およびユーザがユーザとの対話の中で口頭の指令と手動操作（例えば、キーボードまたはマウスクリック）の指令とを混合して使用する場合などにも有利であろう。更に、本発明は、制御装置とユーザとの対話が音声によらない場合、すなわち、ユーザがマウスまたはキーボードなどの手動操作可能なユーザインタフェースを使用して指令を入力し、ユーザに対してメッセージが表示画面に表示される場合、特に表示画面が限られたスペースしか有していない場合や、ユーザに対して無制御にエラーメッセージが表示されることにより、表示画面が不当に乱されてしまうような場合にも有用であろう。
【０００９】
制御装置は、マークアップ言語を有するアプリケーション開発者により調整されるように構成されてもよい。マークアップ言語はユーザに対する情報の提示を容易にするように特別に設計されているため、これは特に有利である。マークアップは手続き上のものであろうが、マークアップは常にユーザに対して提示されるべきデータと混合され、アプリケーション開発者はレコードがどのように格納され、読み取られるべきか、あるいは個々のフィールドがどのようにアドレス指定されるべきであるかを考慮する必要はない。むしろ、全てのデータがアプリケーション開発者に対して提示され、アプリケーション開発者はマークアップ言語をデータ中の必要とされる箇所に組み込む。これにより、マークアップ言語を学習することおよび適用することが非常に容易になる。また、マークアップ文書も理解および修正が容易であり、エラーをおかす危険は非常に少ない。
【００１０】
本発明は一側面において、ユーザにより実行されつつあるタスクがあるイベントに関する情報により中断されるか否かを、その特定のイベントおよび実行中である特定のタスクにより制御または判定することを可能にするという機能性を追加したマークアップ言語を提供する。
【００１１】
一実施例では、本発明は、そのような機能性を追加してユーザとの話し言葉による対話をイネーブルすることが可能であるマークアップ言語への拡張を提供する。マークアップ言語はＶｏｉｃｅＸＭＬであってもよい。ＶｏｉｃｅＸＭＬは、ＷＷＷコンソーシアム（Ｗ３Ｃ）によるＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）に基づき、音声リソースおよび電話通信リソースに対してハイレベルプログラミングインタフェースを提供するものである。このＶｏｉｃｅＸＭＬは、ＡＴ＆Ｔ、ＩＢＭ、Ｌｕｃｅｎｔ ＴｅｃｈｎｏｌｏｇｉｅｓおよびＭｏｔｏｒｏｌａにより創設されたＶｏｉｃｅＸＭＬ ＦｏｒｕｍおよびＷ３Ｃの一部門のＶｏｉｃｅＸＭＬワーキンググループにより策定されたものである。ＶｏｉｃｅＸＭＬのバージョン１．０の仕様は、
2004512590.tif 000003
で見ることができる。
【００１２】
本発明の一実施例は、ユーザがプロセスまたは動作を制御することを可能にするためにユーザとの対話、例えば口頭の対話、を実行するように構成された制御装置を提供する。この制御装置は、ユーザにより命令されたプロセスまたはタスクと関連するイベントの詳細をユーザに提供するように構成されている。例えば、ユーザがオフィス機器の１つ以上のアイテムの動作を制御することを可能にするように制御装置が構成されている場合、制御装置は、例えば、プリンタの場合の紙詰まり、用紙切れまたはオフラインイベントなどの、発生したイベントの詳細をユーザに提供するだけでなく、そのイベントを開始させたものが何であるかをユーザが厳密に判定できるように、イベントが起こった特定のプリンタおよびプリントジョブの詳細をもユーザに提供するように構成されていてもよい。
【００１３】
以下、添付図面を参照して本発明の実施例を説明する。
【００１４】
図１は、ネットワークＮにより複数のプロセッサ制御機器または装置Ｄ１〜ＤＮに接続された対話制御装置１を含むシステム１００のブロック図である。
【００１５】
この実施例では、装置Ｄ１〜ＤＮは、オフィス環境および／または家庭環境で見られ、かつネットワークＮを介した通信および／または制御が可能である種類の電気機器の形態をとっている。オフィス用機器の品目の例としては、例えば、複写機、プリンタ、ファクシミリ装置、デジタルカメラ、あるいは、複写、印刷、ファクシミリの各機能を有する複合機などがある。また、家庭用機器の品目の例としては、ビデオカセットレコーダ、テレビ、電子レンジ、デジタルカメラ、照明システム、暖房システムなどがある。
【００１６】
装置Ｄ１〜ＤＮは全て同じ建物の中に配置されていてもよいし、あるいは異なる建物の中に配置されていてもよい。ネットワークＮはＬＡＮ、ＷＡＮ、イントラネット、またはインターネットであればよい。言うまでもなく、ここで使用する用語「ネットワーク」は必ずしも周知のまたは標準的なネットワーク化システムまたはネットワーク化プロトコルを示唆しているわけではなく、ネットワークＮが同じ建物の異なる部分に配置されているかまたは異なる建物の中に配置されている機器または機械のアイテムとの通信を可能にするどのような構成であってもよいことは理解されるであろう。
【００１７】
図２は、対話制御装置１を提供するために使用できるコンピュータシステム１ａのブロック図である。このコンピュータシステムは、例えば、パーソナルコンピュータまたはワークステーションであればよく、図示されるように、関連メモリ（ＲＯＭおよび／またはＲＡＭ）を伴う中央処理装置（ＣＰＵ）２と、ハードディスクドライブ５と、リムーバブル記憶メディア媒体またはリムーバブルディスク（ＲＤ）７を収容するリムーバブルディスクドライブ（ＲＤＤ）６と、ユーザに対して情報を表示する表示装置４と、キーボードおよび／またはマウスなどの指示装置のような手動操作ユーザインタフェース８と、ネットワークＮを介する装置Ｄ１〜ＤＮとの通信を可能にする通信インタフェース１０と、ユーザからの音声を受信するとともにユーザへ音声を伝えるオーディオユーザインタフェース１１とを具備する。
【００１８】
図３は、装置Ｄ１〜ＤＮの概略ブロック図である。プロセッサ制御装置は、一般にＣＰＵと、ＲＯＭおよび／またはＲＡＭなどのメモリとを含む装置オペレーティングシステムモジュール２０を具備する。オペレーティングシステムモジュール２０は、装置がユーザから受信される命令に従って対話制御装置１から装置実現可能な命令を受信するとともに装置に生じるイベントに関する情報を対話制御装置へ送信することを可能にするために、インタフェース２１を介して対話制御装置１と通信する。装置オペレーティングシステムモジュール２０は、オペレーティングシステムモジュール２０の制御の下に、ユーザにより要求される機能を実行させる装置制御回路２２にも結合されている。装置制御回路２２は同じ種類の従来の装置の、同じ１つ以上の機能（例えば、プリンタの場合は印刷機能、複写機の場合には複写機能）を実行することが可能である装置制御回路に相当し、従って、ここでは詳細な説明を省略する。
【００１９】
図示されるように、装置オペレーティングシステムモジュール２０は、ユーザに対してメッセージおよび／または情報を表示する表示装置と、ユーザの手動操作による命令の入力を可能にする複数の制御ボタンとを含むコントロールパネル２２とも通信する。
【００２０】
一般に、装置オペレーティングシステムモジュール２０の動作を制御するためのプログラム命令および／またはデータは、予めそのメモリに格納されているであろう。プロセッサ命令および／またはデータはインタフェース２１を介して信号として装置オペレーティングシステムモジュールに供給されてもよい。
【００２１】
図２に示すコンピュータシステム１ａは、対話制御装置１を提供するために、プログラム命令および／またはデータにより構成される。コンピュータシステム１ａを構成するためのプログラム命令およびデータは少なくとも次のいずれかの方法、すなわち、
１．ネットワークＮを介して供給される信号Ｓとして供給、
２．リムーバブルディスクＲＤによる伝送、
によって処理装置２に供給される。
【００２２】
プログラム命令およびデータは周知のようにハードディスクドライブ５および／またはメモリ３に格納される。
【００２３】
図４は、対話制御装置１を提供するようにプログラムされたときにコンピュータシステム１ａにより提供される機能構成要素を示すブロック図である。
【００２４】
図示されるように、対話制御装置は、制御機能全般を提供し、対話制御装置の他の機能構成要素の動作を制御する対話マネージャ３０を具備する。対話マネージャ３０は、装置Ｄ１〜ＤＮの対応するインタフェース２１と、装置Ｄ１〜ＤＮの各装置ごとに、対応する装置へ命令を送信することおよびその装置からイベントの詳細を受信することを可能にする装置オブジェクトを含む装置インタフェース３１とを介して、装置Ｄ１〜ＤＮの装置オペレーティングシステムモジュール２０と通信する。装置オブジェクトは対話制御装置１に予め格納されていてもよいし、あるいは、より頻繁に行われる方法として、装置Ｄ１〜ＤＮがネットワークＮを介して対話制御装置１に結合される場合に装置Ｄ１〜ＤＮの装置オペレーティングシステムモジュール２０からダウンロードされてもよい。
【００２５】
対話マネージャ３０は、自動音声認識（ＡＳＲ）エンジン３２および自動音声認識エンジン３２により使用されるべき文法ファイルを格納する文法ファイル記憶部３３と通信する。周知のどのような形態の自動音声認識エンジン３２が使用されてもよい。その例は、Ｎｕａｎｃｅ， Ｌｅｒｎｏｕｔ ａｎｄ Ｈａｕｓｐｉｅ社によって製造されている音声認識エンジン、ＩＢＭ社によって「Ｖｉａ Ｖｏｉｃｅ」の商品名で市販されている音声認識エンジン、あるいは、Ｄｒａｇｏｎ Ｓｙｓｔｅｍｓ社によって「Ｄｒａｇｏｎ Ｎａｔｕｒａｌｌｙ Ｓｐｅａｋｉｎｇ」の商品名で市販されている音声認識エンジンなどがある。当業者には理解されるであろうが、自動音声認識エンジン３２との通信は、ＭｉｃｒｏｓｏｆｔＳＡＰＩなどの標準スピーチアプリケーションプログラムインタフェース（ＳＡＰＩ）を介して行われる。一般に、文法ファイル記憶部３３に格納される文法はＳＡＰＩ文法フォーマットである。
【００２６】
対話マネージャ３０は、文書または対話ファイルを提供する文書サーバ３５と通信しユーザとの間で対話を実行することを可能にするために対話ファイルを解釈し実行する対話インタプリタ３４を含む。対話マネージャ３０と対話インタプリタ３４は直接にユーザインタフェース３６に結合されると共に、ユーザインタフェースを介してユーザとの音声による通信を可能にするためにテキスト音声合成部３７を介してユーザインタフェース３６に結合されている。ユーザインタフェース３６は、音声通信に適合するウェブ型ブラウザインタフェースを構成していてもよい。
【００２７】
以下に説明する通り、装置Ｄ１〜ＤＮがユーザにより指定された機能タスクまたはプロセスを実行することを対話制御装置１により命令されたとき、対話マネージャ３０は、装置Ｄ１〜ＤＮから受信される、例えば、その装置が何らかの理由により要求されたタスクまたは機能を実行できないことを指示するエラーメッセージなどのイベントを聴取し、対応する装置オブジェクトと関連するイベントリスナ３８を登録する。以下に説明する通り、対話マネージャ３０はイベントごとにキャッチスレッドオブジェクトを作成する。従って、ｉ個のイベントが存在すれば、ｉ個のキャッチスレッドオブジェクトが作成される。簡単にするため、図４は３つのキャッチスレッドオブジェクト３９ａ、３９ｂおよび３９のみを示している。
【００２８】
この実施例では、対話ファイルまたは対話文書は、ＷＷＷコンソーシアム（Ｗ３Ｃ）により標準化されたＸＭＬに基づき、音声リソースおよび電話通信リソースに対するハイレベルプログラミングインタフェースを提供するＶｏｉｃｅＸＭＬで書き込まれている。ＶｏｉｃｅＸＭＬは、ＶｏｉｃｅＸＭＬ ｆｏｒｕｍおよびＷ３Ｃの一部門であるＶｏｉｃｅＸＭＬワーキンググループにより策定されたものである。ＶｏｉｃｅＸＭＬのバージョン１．０の仕様は、
2004512590.tif 000004
で見ることができる。
【００２９】
ＶｏｉｃｅＸＭＬ仕様の用語において、ユーザインタフェース３６はプラットフォームインプリメンテーションを構成し、対話マネージャ３０はＶｏｉｃｅＸＭＬインタプリタコンテキストを構成し、対話インタプリタ３４はＶｏｉｃｅＸＭＬインタプリタを構成し、文書サーバ３５は、言うまでもなく、文書サーバを構成する。
【００３０】
文書サーバ３５は、ＶｏｉｃｅＸＭＬインタプリタコンテキストを介してＶｏｉｃｅＸＭＬインタプリタからのリクエストを処理し、このリクエストの返答としてＶｏｉｃｅＸＭＬインタプリタにより処理されたＶｏｉｃｅＸＭＬ文書（対話ファイル）を提供する。ＶｏｉｃｅＸＭＬインタプリタコンテキストは、ＶｏｉｃｅＸＭＬインタプリタ３４と並列にユーザインタフェース３６からのユーザ入力を監視してもよい。例えば、１つのＶｏｉｃｅＸＭＬインタプリタコンテキストは、ユーザに高レベルの個人化アシスト作業を行わせる専門家用エスケープフレーズを常にモニタしてもよいし、また別のＶｏｉｃｅＸＭＬインタプリタコンテキストは、音量やテキスト音声の特性等のユーザの好みを変更するエスケープフレーズをモニタしてもよい。
【００３１】
ユーザインタフェース３６、すなわち、インプリメンテーションプラットフォームはＶｏｉｃｅＸＭＬインタプリタコンテキストおよびＶｏｉｃｅＸＭＬインタプリタと通信する。したがって、例えば、ＶｏｉｃｅＸＭＬインタプリタコンテキスト、すなわち、対話マネージャ３０はユーザからの入力音声を検出し、初期ＶｏｉｃｅＸＭＬ文書を収集し、かつユーザの入力を確認する役割を果たすが、一方、ＶｏｉｃｅＸＭＬインタプリタ、すなわち、対話インタプリタ３４は、確認後に対話を実行する。
【００３２】
文書サーバ３５により提供されるＶｏｉｃｅＸＭＬ文書は対話と呼ばれるトップレベル要素から主に構成されている。ＶｏｉｃｅＸＭＬの場合、対話にはフォームとメニューという２種類がある。
【００３３】
ＶｏｉｃｅＸＭＬインタプリタ３４は、最初の対話のときにデフォルトにより文書の実行を開始するように構成されている。対話が実行されるたびに、ＶｏｉｃｅＸＭＬインタプリタ３４は次の対話を判定する。
【００３４】
ＶｏｉｃｅＸＭＬ文書は、複数のフォームアイテムのセットを含むフォームから構成されている。フォームアイテムは、フォームのフィールドアイテム変数を定義するフィールドアイテムと、フォームのフィールドの集合の制御を助ける制御アイテムとに分割される。ＶｏｉｃｅＸＭＬインタプリタは、ＶｏｉｃｅＸＭＬ仕様に更に詳細に説明されるようにフォームアイテムを選択して巡視するメインループを有するフォーム解釈アルゴリズム（ＦＩＡ）を使用してフォームを解釈する。
【００３５】
図５は、ユーザとの対話において対話制御装置により実行されるステップをトップレベルで示すフローチャートである。先に述べた通り、対話マネージャ３０がネットワークＮに結合された装置Ｄ１〜ＤＮの機能を制御するための口頭の指令を入力することを希望していることを指示するユーザ入力を確認すると、その後、対話マネージャ３０はフィールド解釈アルゴリズムを使用して、ユーザに音声指令を入力することを促すウェルカム・メッセージをテキスト音声合成部３７を介してユーザに提供するために（図５のステップＳ１）、第１の文書または対話ファイルの第１のフィールドアイテムをアクセスする。例えば、ウェルカム・メッセージは「Ｗｅｌｃｏｍｅ ｔｏ ｔｈｅ ｘｘｘｘ ｓｙｓｔｅｍ． Ｗｈａｔ ｄｏ ｙｏｕ ｗａｎｔ ｔｏ ｄｏ， ｐｒｉｎｔ， ｆａｘ， ｃｏｐｙ？（ｘｘｘｘシステムにようこそ。印刷、ファクシミリ、コピーのうちのどれを希望されますか）」などであればよい。
【００３６】
次に、対話マネージャ３０はユーザからの応答を待つ。ステップＳ２でユーザインタフェース３６を介して音声データが受信されると、対話マネージャ３０はＡＳＲエンジン３２およびフィールドアイテムと関連する文法ファイルをアクセスし、ＡＳＲエンジン３２に受信された音声ファイルに対して音声認識処理を実行させる。次に、対話マネージャ３０は音声認識処理の結果を受信し、その結果に従って、ユーザが実行を希望しているのは何であるかを判定する。
【００３７】
ユーザがプロンプトに応答して「ｐｒｉｎｔ（印刷）」ということばを発した場合、対話マネージャ３０は、ステップＳ３で、対話インタプリタ３４に「ｐｒｉｎｔ」ということばと関連する対話ファイルまたは文書をアクセスさせ、その別の対話ファイルの受信に応答して、対話インタプリタ３４は、更に詳細な情報を提供することをユーザに要求するプロンプトをユーザに提供する。例えば、プロンプトは要求されるプリンタを識別することをユーザに要求してもよい（ステップＳ４）。ステップＳ５で、ユーザにより要求されるタスクまたはプロセスを実行させるための装置によって解釈可能な命令を装置インタフェース３１を介して提供するために必要な情報を対話マネージャ３０が検索し終わったことを指示するｓｕｃｃｅｓｓｏｒを、対話ファイルが指定しなくなるまで、ステップＳ３およびＳ４を繰り返す。例えば、ユーザが特定の文書を印刷することを希望している場合、対話ファイルは、ユーザが対話インタプリタ３４により提供されるプロンプトに応答して、要求されるプリンタ、要求される文書およびコピーの枚数を識別したときに対話の実行が終了されるようなものであってよい。必要な情報が収集されたならば、対話マネージャは装置インタフェース３１を介して装置により解釈可能な命令を識別された装置へ送信し、要求されたタスクを実行させる。これは、ＶｏｉｃｅＸＭＬスクリプト要素の使用により装置を制御することを可能にするために、装置タスクをＥＣＭＡｓｃｒｉｐｔインタプリタのスクリプティング環境におけるＥＣＭＡオブジェクトとして表現することにより実現されてもよい。ＥＣＭＡはＥｕｒｏｐｅａｎ Ｃｏｍｐｕｔｅｒ Ｍａｎｕｆａｃｔｕｒｅｒｓ Ａｓｓｏｃｉａｔｉｏｎ（欧州電子計算機工業会）の略語であり、ＥＣＭＡｓｃｒｉｐｔは、所有権を主張しないＮｅｔＳｃａｐｅのＪａｖａｓｃｒｉｐｔおよびＭｉｃｒｏｓｏｆｔのＪＳｃｒｉｐｔの標準化バージョンである。
【００３８】
この例では、対話マネージャ３０が装置インタフェース３１を介して装置にタスクまたはプロセスを実行することを命令するとき、対話マネージャ３０は、要求されたジョブまたはプロセスの実行に影響を及ぼす可能性がある装置におけるイベントの検出を可能にするために、例えば、プリンタの場合には、紙詰まり、用紙切れまたはプリンタオフラインなどのイベントを検出するために、その装置に関してイベントリスナ３８を登録する。イベントリスナが登録されるか否かはその特定のタスクおよび関係する装置によって決まる。
【００３９】
図６は、装置Ｄ１〜ＤＮより受信したイベントを処理するために対話制御装置１により実行されるステップを示すフローチャートである。
【００４０】
すなわち、図６のステップＳ６では、イベントリスナ３８によりイベントが検出され、そこで、イベントリスナ３８は対話マネージャ３０にイベントの受信を警告する。ステップＳ７で、対話マネージャ３０はイベントを識別し、次にステップＳ８でユーザによりその時点で実行されているどのタスクがイベントにより中断可能であるかを判定する。
【００４１】
ステップＳ９で、対話マネージャ３０がユーザは中断可能なタスクを実行していると判定すると、ステップＳ１０で、対話マネージャ３０は、ステップＳ１０でユーザに起こったイベントを通知するイベントメッセージを音声シンセサイザ３７によりユーザに送信させる。従って、例えば、ユーザがプリントジョブを実行中であり、プリンタが紙詰まりの発生を報告した場合、対話マネージャ３０は、プリンタで紙詰まりが起こったことを伝えるメッセージによりユーザの現在タスクを中断させる。その代わりに、またはこれに加えて、対話マネージャ３０はタスクが中断可能である場合にサブ対話を開始してもよい。
【００４２】
しかし、ステップＳ９で、対話マネージャ３０がユーザは中断することが不可能であるタスクを実行していると判定した場合には、ステップＳ１１で、対話マネージャ３０は、ユーザを中断することが可能であると判定するまで、例えば、ユーザが現在タスクを完了する時点まで、ユーザへのエラーメッセージの送信を遅延させる。これは、イベントまたはエラーメッセージが受信されているときおよび受信された時点でユーザが自動的に中断されることはなく、ある条件の下でのみ中断が行われることを意味している。
【００４３】
ＶｏｉｃｅＸＭＬの仕様は、キャッチを文書、対話またはフォームアイテムと関連付けることによりイベントの処理を可能にするキャッチ要素を含む。しかし、対話マネージャ３０がユーザを中断することが可能であるか否かを判定できるようにするために、現在のＶｏｉｃｅＸＭＬ仕様に付加的な機能要素が追加されている。それらの要素はタスクまたはフィールドアイテムを中断可能または中断不可能として定義することを可能にする。この実施例においては、これは現在のＶｏｉｃｅＸＭＬ要素に「ロック」要素および「中断」要素を追加することにより実現される。
【００４４】
この実施例では、ロック状態または中断可能であるというタスクの定義は対応するイベントに関するキャッチステートメントに含まれる。
【００４５】
以下に、そのような追加要素を含めたことを示すためにＶｏｉｃｅＸＭＬ文書の一部を示す。このＶｏｉｃｅＸＭＬ文書は（省略記号により示されるように）完全ではなく、２つ以上のキャッチイベントが存在していてもよいことは理解されるであろう。
【００４６】
2004512590.tif 000005
2004512590.tif 000006
【００４７】
サンプルのＶｏｉｃｅＸＭＬ文書からの上記の抜粋は、紙詰まりを指示するプリンタ「ｘｙｚ」からのエラーメッセージを指示するイベントをキャッチするための単一のキャッチ要素を含む。示した通り、このキャッチ要素は、「ｆａｘ」と名付けられたタスクはそのイベントにより中断することが不可能であるが、「ｅｍａｉｌ」と名付けられたタスク（およびおそらくは省略記号により指示されるように他のタスク）はそのイベントにより中断可能であることを指定するロック要素を含む。キャッチイベントに続くＩＤ「ｔａｓｋ」を伴うフォームは、印刷、ファックス、Ｅメールなどの異なるタスクに関するいくつかのフィールドアイテムを含む。この場合も同様に、省略記号は、フィールドアイテムが完全ではないが、当業者には理解されるように、通常はプロンプト要素および充填要素を含むことを指示している。
【００４８】
先に提示したＶｏｉｃｅＸＭＬ文書の場合、紙詰まりが存在していることを指示するプリンタｘｙｚからのエラーメッセージの形態をとるイベントをイベントリスナ３８が検出したとき、対話マネージャ３０はユーザタスクがその時点で進行中であるか否かを判定し、進行中であれば、キャッチ要素から、その特定のタスクを中断することが可能であるか否かを判定する。この場合では、対話マネージャ３０がタスク「ｆａｘ」は現在処理中であると判定すると、対話マネージャはイベントメッセージによってタスクを中断しない。しかし、対話マネージャがタスク「ｅｍａｉｌ」は現在進行中であると判定した場合には、対話マネージャはそのタスクを中断することが可能であると判定し、音声シンセサイザ３７にプリンタの紙詰まりが発生したことをユーザに報知するメッセージをユーザに対して発行させる。
【００４９】
次に、図７から図１３に示すフローチャートを参照して、ＪＡＶＡを使用する先に説明した中断制御を含むフォーム解釈アルゴリズムのインプリメンテーションを説明する。
【００５０】
図７は、フォーム解釈アルゴリズムのインプリメンテーションをトップレベルで示すフローチャートである。すなわち、ステップＳ１１で、フォームがエントリされると、フォームは初期設定され、内部プロンプトカウンタ変数は１にリセットされ、各変数はＶｏｉｃｅＸＭＬバージョン１．０仕様に記載されているように文書順に初期設定される。次に、ステップＳ１２で、対話マネージャ３０はキャッチ要素を初期設定する。次に、ステップＳ１３で、対話マネージャは、フォーム解釈アルゴリズムにより巡視するために選択されるべきフォームアイテムが存在するか否かを知るために検査する。一般に、フォームアイテムは一度だけ、文書中で提示される順序で巡視される。ステップＳ１４では、対話マネージャ３０はビジットされるべき次のフォームアイテムを選択し、ＶｏｉｃｅＸＭＬバージョン１．０仕様への追加として、ステップＳ１５で以下に更に詳細に説明するようにそのフォームアイテムに関して中断許可を設定する。次に、ステップＳ１７で、ユーザに入力を促す次の未充填フォームアイテムがビジットされたときに、標準フォーム解釈アルゴリズムの収集段階に入り、適切な文法をイネーブルし、その後、待機し、ユーザからの話し言葉による語句などの入力またはヘルプを求める要求などのイベント、あるいは入力なし時間切れなどを収集する。入力は、フォームアイテムを充填し、充填された要素をＶｏｉｃｅＸＭＬバージョン１．０仕様に従って実行することにより処理される。次に、ステップＳ１８で、対話マネージャはフォームアイテムが子アイテムである場合は親アイテムに関して中断許可を設定し、ステップＳ１３に戻る。ステップＳ１３における応答が否定になるまで、すなわち、全てのフォームアイテムが選択され終わるまで、ステップＳ１３からＳ１８が繰り返される。
【００５１】
図８は、図７のステップＳ１２を更に詳細に示すフローチャートである。すなわち、ステップＳ１２１で、対話マネージャ３０は、キャッチ要素または「ｃａｔｃｈｅｓ」の数を判定するために、フォームから＜ｃａｔｃｈ＞および＜／ｃａｔｃｈ＞の対の数を判定し、ステップＳ１２２で変数ｉ＝０を設定する。ステップＳ１２３で、対話マネージャ３０は変数ｉ＝Ｎであるか否かを判定し、ｉ＝Ｎであれば、手続きから出る。これに対し、応答が否定である場合には、すなわち、ｉがＮより小さい場合には、ステップＳ１２４で、対話マネージャは、ｉ番目のキャッチに関してキャッチスレッドクラスのオブジェクトを実行し、かつｉ番目のキャッチに関するイベントハンドラを含むスレッドを開始する。次に、ステップＳ１２５で、ｉ番目のキャッチに関する中断属性の中に全てのフォームアイテムを含むリストＬａが作成され、ステップＳ１２６では、ｉ番目のキャッチに関してロック属性の中に全てのフォームアイテムを含むリストＬｂが作成される。ステップＳ１２８でｉは１増分され、ステップＳ１２３における応答が肯定になるまでステップＳ１２３からＳ１２８が繰り返される。この段階で、キャッチスレッドクラスのオブジェクトを実行し、キャッチに関するイベントハンドラを提供するスレッドはキャッチごとに開始されており、中断属性の中に全てのフォームアイテムを含むリストＬａはキャッチごとに作成されており、ロック属性の中に全てのフォームアイテムを含むリストＬｂはキャッチごとに作成されている。
【００５２】
イベントリスナクラスのオブジェクトは図９のステップＳ１３０により示すような異なるスレッドで作成される。
【００５３】
理解されるであろうが、イベントリスナクラスは他のクラスと並列して別のスレッドで実行されており、その唯一の目的は全てのイベントの通知を受信しメインスレッドに報知することである。これは図１０に示されている。すなわち、ステップＳ１３４で、スレッドは対応するイベントを受信し、メインスレッドに通知して、ステップＳ１３５で対話マネージャにイベントを識別させ、次に、ステップＳ１３６でイベントの処理を開始させる。
【００５４】
図１１は、フォームアイテムに関して中断許可を設定する図８のステップＳ１６を更に詳細に示す。すなわち、ステップＳ１５１で、変数ｉは０と等しくなるように設定され、ステップＳ１５２で、ｉがＮより小さいか否かを知るために検査が実行され、その応答が否定であれば、手続きから出る。次に、ステップＳ１５３で、イベント型（ｉ）のイベントによる現在アイテムの割り込むが許可されるか否かが検査され、ステップＳ１５４で、ｉ番目のイベントハンドラに関して中断許可が設定され、次にステップＳ１５５で変数ｉが増分され、キャッチごとに、すなわち、キャッチされるべきイベントごとに、現在フォームアイテムに関して中断許可が設定され終わったときにステップＳ１５２で応答が否定になるまで、ステップＳ１５２から１５５が繰り返される。
【００５５】
図１２は、図１１のステップＳ１５３を更に詳細に示す。すなわち、ステップＳ５０で、現在アイテムは「ローカルフォームアイテム」として設定され、ステップＳ５１で、現在アイテムがリストＬａに含まれているか否かを知るために検査が実行される。その応答が肯定であれば、値「真」が戻される。これに対し、応答が否定である場合には、ステップＳ５２で現在アイテムがリストＬｂに含まれているか否かの検査が実行される。その応答が肯定であれば、ステップＳ５２ａで値「偽」が戻される。ステップＳ５２における応答が否定である場合には、ステップＳ５３で、ローカルフォームアイテムがトップレベルアイテムであるか否かに関して検査が実行され、トップレベルアイテムであれば、ステップＳ５３ａでデフォルト値が戻される。この例においては、デフォルトは中断を許可することであり、従って、偽の値が戻される。ステップＳ５３における応答が否定である場合には、現在親フォームアイテムがローカルフォームアイテムとして設定され、ステップＳ５１からＳ５３が繰り返される。図１２に示す手続きは、最低レベルで始まる各フォームアイテムが中断可能であるか否かを判定するために各フォームアイテムを検査することを可能にする。子アイテムの状態は親アイテムの状態をオーバライドするので、親アイテムが中断可能であっても、親アイテム中の子アイテムが中断可能でない場合もある。
【００５６】
図１３は、ｉ番目のキャッチに関するキャッチスレッドオブジェクトのイベントハンドラによるイベント処理のプロセスを示す。すなわち、ステップＳ６０でイベントハンドラスレッドがイベントの通知を受信した場合、ステップＳ６１で、図１１のステップＳ１５４で設定された中断許可を検査することにより、中断が許可されるか否かを知るための検査が実行される。イベントハンドラに関して設定された中断許可が許可は認められないことを指示する場合、イベントハンドラはステップＳ６２で許可が認められるのを待つ。中断許可は、例えば、ユーザの現在タスクが完了し、処理すべきイベントが他に存在しない場合に認められるであろう。イベントハンドラがステップＳ６１でそのイベントに関して設定された中断許可が中断を許可すると判定した場合には、ステップＳ６３で、イベントハンドラはキャッチステートメントにより指定されるアクションを実行させ、ユーザはテキスト音声合成部３７を介して、イベントに関連するメッセージ、例えば、プリンタの紙詰まりイベントの場合の「ｐｒｉｎｔｅｒ ｐａｐｅｒ ｊａｍ」などのメッセージを与えられる。
【００５７】
以上説明した方法において、ユーザに与えられるイベントメッセージは単にイベントが起こったこと（すなわち、例えば、紙詰まり）を指示するだけであり、厳密なイベントの詳細をユーザに提供しない。
【００５８】
例えば、装置のオペレーティングシステムモジュール２０がＪＡＶＡ仮想マシンとして構成されている場合のように、イベントがイベントオブジェクトとして提供される場合には、実際のイベントに関する詳細な情報をユーザに提供することが可能である。
【００５９】
図１４は、イベントがイベントオブジェクトとして、例えば次のようなフォームを有するＪＡＶＡイベントオブジェクトとして提供される場合の図１３のステップＳ６３を、そのイベントがプリンタ紙詰まりイベントであるケースに関して更に詳細に示すフローチャートである。
【００６０】
2004512590.tif 000007
【００６１】
すなわち、イベントがイベントリスナ３８により検出されると、イベントハンドラは図１３のステップＳ６０からＳ６２を先に説明したように実行する。しかし、ステップＳ６３で、単にプリンタ紙詰まりを報告するのではなく、イベントハンドラはステップＳ７０でＪＡＶＡイベントオブジェクトからプリンタを識別する情報を判定し、次にステップＳ７１でＪＡＶＡイベントオブジェクトからイベントを記述する情報を判定し、ステップＳ７２で、プリンタ情報およびイベント記述情報を含むメッセージをユーザに提供する。
【００６２】
これは、ＶｏｉｃｅＸＭＬ文書の中でユーザに与えられるイベントプロンプトを次に記載するように修正することにより実現される。
【００６３】
2004512590.tif 000008
【００６４】
ＶｏｉｃｅＸＭＬ文書の残りの部分は先に説明した通りである。このプロンプトが対話インタプリタ３４により実行されると、ＪＡＶＡイベントオブジェクトにおいてプリンタを識別ストリングは表現「ｅｒｒｏｒ．ｃｏｍ．ｘｙｚ．ｐｒｉｎｔｅｒ．ｐａｐｅｒｊａｍ．ｐｒｉｎｔｅｒ」の値として挿入され、エラーの記述を表現するストリングは表現「ｅｒｒｏｒ．ｃｏｍ．ｘｙｚ．ｐｒｉｎｔｅｒ．ｐａｐｅｒｊａｍ．ｄｅｓ」の値として挿入されるので、ユーザに与えられるプロンプトは、「ｐｒｉｎｔｅｒ ｘ ｓｕｆｆｅｒｅｄ ｐａｐｅｒ ｊａｍ」の次に、ＪＡＶＡイベントオブジェクトにおいて提供される情報によって決まる紙詰まりイベントの記述が続くという形態をとる。イベント記述は、例えば、時間ｙに文書ｘの印刷中に紙詰まりが起こったことを指定するものであってもよい。これにより、起こったイベントに関する正確な詳細をユーザに提供することが可能になり、ユーザは、例えば、使用されている特定のプリンタを識別できるため、その文書を印刷するために、利用可能であれば別のプリンタを選択するか、あるいは別のプリンタを利用できない場合には、プリンタが動作可能になるまで待つことができる。
【００６５】
以上説明した実施例においては、ロック要素および中断要素はＶｏｉｃｅＸＭＬ文書のキャッチ要素部分に含まれている。しかし、当業者には理解されるであろうが、各々のフォームアイテムが中断可能であるイベントを指定するように、ロック要素および中断要素を個別のフォームアイテムに組み込むことも可能であろう。例えば、先に記載した例で説明したタスク「ｆａｘ」の場合、フィールドアイテムは紙詰まりイベントに対してこのタスクを中断すべきではない（タスクがロックされている）ことを指示するであろう。
【００６６】
特定のイベントが特定のタスクを中断することが可能であるか否かを識別する要素を文書のキャッチ要素の中に挿入することにより、アプリケーション開発者は、文書の全体を再検討する必要なく、全てのキャッチイベントおよび適切な中断許可が正しく指定されていることを確認することができる。しかし、文書が特に複雑である場合、すなわち、文書が長いか、または多数の入れ子フィールドアイテムを含む場合には、中断許可状態がフィールドアイテム内で指定されていると、文書を更に容易に読み取ることができるであろう。
【００６７】
もう１つの可能性として、ＶｏｉｃｅＸＭＬ仕様に記載されているようにフォームを分割し、その部分ごとに中断状態を指定してもよい。更に別の可能性として、ブロック要素を挿入することによりフォームを複数のブロックに分割し、各々の特定のブロックを１つの特定の中断状態と関連付けてもよい。
【００６８】
先に説明した実施例においては、中断状態は、タスクが特定のイベントにより中断されてもよいこと、または特定のイベントにより中断されてはならないことのいずれかを指定する。デフォルトは中断が許可されることであるので、特定のイベントに関して中断要素およびロック要素が省略されると、そのイベントはそのタスクを中断することを許可される。この場合、中断要素とロック要素の双方を含む必要はなく、単にロック要素を提供するだけでよいであろう。しかし、子アイテムの中断状態はフォームアイテムの中断状態により設定されると考えられるため、これは融通性に欠ける。「中断」要素と「ロック」要素の双方を提供することにより、子アイテムと親アイテムに対して中断状態を個別に設定することが可能になる。
【００６９】
中断状態要素は更に別の要素として、イベントを必須イベントまたは非必須イベントとして指定する優先要素を含んでいてもよく、対話マネージャは、それらの必須イベントに関して、同時に起こる他のどのイベントより早くアクションがとられるように、必須イベントに優先権を与えるように構成される。これにより、例えば、ユーザが接続を遮断したか、またはセッションを終了させた場合、ユーザが接続を切ったという事実を除いてユーザのセッションに関連する他のイベントを対話マネージャ３０が処理する必要がなくなるように、直ちにそのことを対話制御装置１に通知することが可能になるであろう。
【００７０】
先に説明した実施例においては、キャッチスレッドはフォーム解釈アルゴリズムの中で初期設定される。もう１つの可能性として、各キャッチスレッドはフォーム解釈アルゴリズムを繰り返し呼び出してもよい。
【００７１】
重要であるのは中断要素の機能であり、異なる識別名（すなわち、「中断」、「ロック」および「優先」以外の名前）を使用しても差し支えないことは言うまでもなく理解されるであろう。
【００７２】
上述の実施例においては、ある特定のタスクを特定のイベントにより中断することが可能であるか否かを制御することができる。別の可能性として、中断状態は、ある特定のイベントがどのタスクをも中断してはならないこと、またはある特定のタスクがどのイベントによっても中断されてはならないことを指示してもよい。
【００７３】
先に説明した実施例においては、ユーザインタフェース３６は対話制御装置の一部を形成する。これは必ずしも必要ではなく、例えば、ユーザインタフェース３６は、対話制御装置１と無線を介して直接に通信するか、あるいは遠隔通信リンクまたはネットワークＮを介して通信する、図２に示す構成に類似する構成を有する別個のパーソナルコンピュータにより提供されてもよい。対話制御装置とユーザ装置との接続が音声ファイルの送信を可能にするものである場合、音声合成部３７は対話制御装置１に配置されてもよい。そうでない場合には、対話制御装置により提供されるテキストファイルがユーザの装置の音声合成部により音声に変換されるように、音声合成部３７はユーザの装置に配置されればよい。別の可能性として、ユーザの装置はＷＡＰ電話であってもよい。
【００７４】
先に説明した実施例においては、自動音声認識エンジン３２および文法ファイル３３は対話制御装置１に設けられている。これは必ずしも必要ではなく、例えば、ネットワークＮを介して自動音声認識エンジン３２および文法ファイル３３をアクセスするように対話制御装置１を構成してもよい。
【００７５】
先に説明した実施例においては、対話制御装置１はその制御の下にネットワークＮにより装置Ｄ１〜ＤＮに結合される。これは必ずしも必要ではなく、例えば、図１に示すシステム１００は、対話制御装置１が、例えば、物理的リンクまたは無線リンクを介してプリンタ、モデムなどの装置Ｄ１〜ＤＮに直接に接続されるパーソナルコンピュータであるような独立型コンピュータシステムを構成していてもよい。本発明は、これらの構成要素が単一の装置に統合されているような場合に適用されてもよい。
【００７６】
本発明は、対話制御装置とユーザとの間の対話が音声によるもの、すなわち、話し言葉による対話である場合に特に有利であるが、それは、この対話が必然的に時間的に連続して起こる、すなわち、直線的に連続するアクションであり、時間的により早いタスクに関連するイベントにより音声対話を中断することで、現在タスクに関連する対話が中断され、混乱を生じると考えられるからである。しかし、対話が一部のみ口頭による対話である場合、例えば、対話制御装置がパームトップコンピュータまたはＷＡＰ電話の場合のように相対的に小型の表示画面に表示されるテキストメッセージによってユーザに応答する場合にも有用であろう。また、対話が全て目視による対話またはテキストに基づく対話である場合にも本発明は有益であり、その場合、ユーザの表示装置で利用可能である表示スペースは限られているか、またはより早期のタスクに関連するイベントによるユーザのタスクへの無制御の中断はユーザに非常に大きな混乱を引き起こすであろう。したがって、「対話」という用語は、音声ブラウザではなくテキストおよび／またはグラフィックスを利用するブラウザが使用されている場合のプロセッサとユーザとの通信を含むと理解されるべきである。
【００７７】
先に説明した実施例はＶｏｉｃｅＸＭＬを使用して実現される。ＶＯＸＭＬなどの他の音声利用マークアップ言語を使用して本発明を適用することも可能であろう。言うまでもなく、対話が話し言葉による対話ではない場合には、ＸＭＬまたはＨＴＭＬなどの非音声マークアップ言語が使用される。
【００７８】
本発明はＪＡＶＡＳｃｒｉｐｔなどのスクリプティング言語を使用して実現されることが可能であろうが、ユーザとの対話はユーザに対する情報の提示（話し言葉による提示であれ、視覚表示であれ）に関係しているため、ユーザとの対話を実行するには（スクリプティング言語ではなく）マークアップ言語の使用が特に適切である。そのような状況においては、例えば、アプリケーション開発者はどのようにレコードを構成し、読み取り、かつ格納すべきであるか、または個々のフィールドをどのようにアドレス指定すべきであるかということに関して考える必要がないため、データにマークアップを追加することはプロセスデータにプログラムを書き込むよりはるかに容易である。むしろ、それらの前にあらゆるものが直接に配置され、データの中の必要な場所に正確にマークアップを挿入することができる。また、マークアップ言語は学習するのが非常に容易であり、ほぼ瞬時に適用でき、マークアップ文書は理解および修正が容易である。
【図面の簡単な説明】
【図１】
本発明を具現化したシステムの概略ブロック図である。
【図２】
図１に示すシステムの対話制御装置を構成するのに適したコンピュータシステムのブロック図である。
【図３】
図１に示すシステムの装置の機能構成要素を示すブロック図である。
【図４】
図１に示す対話制御装置の機能ブロック図である。
【図５】
ユーザとの対話中に対話制御装置により実行されるステップを示すフローチャートである。
【図６】
図１に示す装置のうちの１つからのイベントの受信に応答して対話制御装置により実行されるステップを示すフローチャートである。
【図７】
ユーザとの対話の一部の間に対話制御装置により実行されるステップを更に詳細に示すフローチャートである。
【図８】
どのフォームアイテムが中断可能であり、どのアイテムが中断不可能であるかを判定するために対話制御装置により実行されるステップを示すフローチャートである。
【図９】
イベントリスナの作成を示すフローチャートである。
【図１０】
イベントの受信時に対話制御装置により実行されるステップを示すフローチャートである。
【図１１】
フォームアイテムに対する中断許可の設定を示すフローチャートである。
【図１２】
イベントによりフォームアイテムが中断可能であるか否かを判定するために対話制御装置により実行されるステップを示すフローチャートである。
【図１３】
イベントの処理を示すフローチャートである。
【図１４】
ユーザにイベントに関連する詳細を提供することを可能にするためにイベントの処理中に実行できるステップを示すフローチャートである。
【図１】
2004512590.tif 000009
【図２】
2004512590.tif 000010
【図３】
2004512590.tif 000011
【図４】
2004512590.tif 000012
【図５】
2004512590.tif 000013
【図６】
2004512590.tif 000014
【図７】
2004512590.tif 000015
【図８】
2004512590.tif 000016
【図９】
2004512590.tif 000017
【図１０】
2004512590.tif 000018
【図１１】
2004512590.tif 000019
【図１２】
2004512590.tif 000020
【図１３】
2004512590.tif 000021
【図１４】
2004512590.tif 000022
【国際公開パンフレット】
2004512590.tif 000023
2004512590.tif 000024
2004512590.tif 000025
2004512590.tif 000026
2004512590.tif 000027
2004512590.tif 000028
2004512590.tif 000029
2004512590.tif 000030
2004512590.tif 000031
2004512590.tif 000032
2004512590.tif 000033
2004512590.tif 000034
2004512590.tif 000035
2004512590.tif 000036
2004512590.tif 000037
2004512590.tif 000038
2004512590.tif 000039
2004512590.tif 000040
2004512590.tif 000041
2004512590.tif 000042
2004512590.tif 000043
2004512590.tif 000044
2004512590.tif 000045
2004512590.tif 000046
2004512590.tif 000047
2004512590.tif 000048
2004512590.tif 000049
2004512590.tif 000050
2004512590.tif 000051
2004512590.tif 000052
2004512590.tif 000053
2004512590.tif 000054
2004512590.tif 000055
2004512590.tif 000056
2004512590.tif 000057
2004512590.tif 000058
2004512590.tif 000059
2004512590.tif 000060
2004512590.tif 000061
2004512590.tif 000062
2004512590.tif 000063
2004512590.tif 000064
2004512590.tif 000065
2004512590.tif 000066
2004512590.tif 000067
2004512590.tif 000068
2004512590.tif 000069
2004512590.tif 000070
2004512590.tif 000071
2004512590.tif 000072
2004512590.tif 000073
2004512590.tif 000074
2004512590.tif 000075
2004512590.tif 000076
2004512590.tif 000077
2004512590.tif 000078
2004512590.tif 000079
2004512590.tif 000080
2004512590.tif 000081
2004512590.tif 000082
2004512590.tif 000083
2004512590.tif 000084
2004512590.tif 000085
2004512590.tif 000086
2004512590.tif 000087
2004512590.tif 000088
2004512590.tif 000089
2004512590.tif 000090
2004512590.tif 000091
2004512590.tif 000092
2004512590.tif 000093
2004512590.tif 000094
【国際公開パンフレット（コレクトバージョン）】
2004512590.tif 000095
2004512590.tif 000096
【国際調査報告】
2004512590.tif 000097
2004512590.tif 000098
2004512590.tif 000099