(57)【要約】【課題】  同時マルチモーダル通信のためのセッションパーシスタンス方法および装置が必要とされている。【解決手段】  非セッション中、ユーザ毎に、同じセッション中の異なる同時モード通信用に構成されたユーザ・エージェント・プログラムの同時マルチモーダル・セッション・ステータス（ＥＧ  ＳＴＡＴＥＳ）情報（６０４）を維持し（７００）、該同時マルチモーダル・セッション・ステータス情報にアクセスしたことに応答して同時マルチモーダル・セッションを再確立する（７０２）ことからなる方法（図６）および装置（６００）。【選択図】  図６
2010033586.tif 000002
【特許請求の範囲】
【請求項１】
マルチモーダル通信の方法であって、
非セッション中、ユーザ毎に、セッション中の異なる同時モード通信用に構成されたユザ・エージェント・プログラムの同時マルチモーダル・セッション・ステータス情報を維持すること、および、
該同時マルチモーダル・セッション・ステータス情報にアクセスしたことに応答して同時マルチモーダル・セッションを再確立すること、からなる方法。
【請求項２】
非セッション中、ユーザ毎に、セッション中の異なる同時モード通信用に構成されたユーザ・エージェント・プログラムの同時マルチモーダル・セッション・ステータス情報を維持することは、セッション中に、
最後にフェッチした情報が、同時マルチモーダル通信セッション中に使用される複数のユーザ・エージェント・プログラムの各々について得られた場所を示す位置データ；
該同時マルチモーダル通信セッション中にユーザ入力によりどのフィールドが書き込まれたかを示す情報および該フィールドの内容；および
該同時マルチモーダル通信セッションの現在の対話状態；のうちの少なくとも１つを格納することを含む請求項１に記載の方法。
【請求項３】
ユーザによるセッションへの参加を検出する工程と、
同時マルチモーダル・セッション・ステータス情報にアクセスする工程と、
該アクセスされた同時マルチモーダル・セッション・ステータス情報が該ユーザの前の同時マルチモーダル・セッションを示している場合に、該同時マルチモーダル・セッション・ステータス情報により識別された該同時マルチモーダル・セッションを再確立する工程と、を含む請求項１に記載の方法。
【請求項４】
同時マルチモーダル通信中のデバイスの切り換えを容易にするために、同時マルチモーダル・セッション中にどのデバイスが使用されるかを維持する工程を含む請求項１に記載の方法。
【請求項５】
セッション中に、互いに異なるモードで動作する複数のユーザ・エージェント・プログラムのうちの少なくとも１つについてのモード特有命令を一時的に格納し、該複数のユーザ・エージェント・プログラムのうち第２のものについてのモード特有命令に関連する通信遅延を補正することを含む請求項１に記載の方法。
【請求項６】
マルチモード・ミュート・データを受信し、所与のセッションに関してマルチモーダル通信のどのモードをミュートするかの記録を格納する工程を含む請求項１に記載の方法。
【請求項７】
マルチモーダル装置であって、
非セッション中、ユーザ毎に、セッション中の異なる同時モード通信用に構成されたユザ・エージェント・プログラムの同時マルチモーダル・セッション・ステータス情報を維持し、該同時マルチモーダル・セッション・ステータス情報にアクセスしたことに応答して同時マルチモーダル・セッションを再確立するように動作する同時マルチモーダル・セッション・パーシスタンス・コントローラ；および
該同時マルチモーダル・セッション・パーシスタンス・コントローラに結合して動作し、該同時マルチモーダル・セッション・ステータス情報を含むメモリ；を備えたマルチモーダル装置。
【請求項８】
前記メモリは、
前の同時マルチモーダル通信セッションで使用された前のプロキシを示すプロキシ識別データ；
該同時マルチモーダル通信セッション中にユーザ入力によりどのフィールドが書き込まれたかを示す情報および該フィールドの内容；および
該同時マルチモーダル通信セッションの現在の対話状態；のうちの少なくとも１つを含む請求項７に記載のマルチモーダル装置。
【請求項９】
前記同時マルチモーダル・セッション・パーシスタンス・コントローラは、前記メモリに含まれている前記同時マルチモーダル・セッション・ステータス情報にアクセスし、該アクセスされた同時マルチモーダル・セッション・ステータス情報が前記ユーザに対する前の同時マルチモーダル・セッションを示している場合に、前記同時マルチモーダル・セッション・ステータス情報により識別された該同時マルチモーダル・セッションの再確立を容易にする請求項７に記載のマルチモーダル装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、通信システムおよび方法に関し、より詳細には、マルチモーダル通信システムおよび方法に関する。
【背景技術】
【０００２】
ハンドヘルド・デバイス、携帯電話、ラップトップ・コンピュータ、ＰＤＡ、インターネット家電、非モバイル・デバイス、およびその他の適切なデバイス等の通信デバイスが関与する新しい技術分野に、情報およびサービスにアクセスするためマルチモーダル対話の応用分野がある。通信デバイスに通常存在するのは、ブラウザのような少なくとも１つや、ユーザ・インターフェースとして動作することが可能な他の好適なソフトウェアのようなユーザ・エージェント・プログラムである。ユーザ・エージェント・プログラムは、（ユーザ・エージェント・プログラムを通じてユーザが入力するか、または他のデバイスまたはソフトウェア・アプリケーションからの）フェッチ要求に応答し、フェッチされた情報を受け取り、内部または外部接続を介してコンテンツ・サーバ内をナビゲートし、情報をユーザに提示することができる。ユーザ・エージェント・プログラムは、グラフィカル・ブラウザ、音声ブラウザ、または当業者には理解される他の適切なユーザ・エージェント・プログラムとすることができる。このようなユーザ・エージェント・プログラムとしては、Ｊ２ＭＥアプリケーション、Ｎｅｔｓｃａｐｅ（商標）、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（商標）、ｊａｖａアプリケーション、ＷＡＰブラウザ、Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ、マルチメディア・インターフェース、Ｗｉｎｄｏｗｓ  ＣＥ（商標）、または他の適切なソフトウェア実装があるが、これらに限定されるわけではない。
【０００３】
マルチモーダル技術を使用することにより、ユーザは、ユーザ・エージェント・プログラムを介して１つのモードで、音声、データ、映像、オーディオ、またはその他の情報などの情報や、電子メール、天気情報、銀行取引、およびニュースまたはその他の情報などのサービスにアクセスし、異なるモードで情報を受信することができる。より具体的には、ユーザは、マイクに向かってフェッチ要求を発するなど、１つまたは複数のモードで情報フェッチ要求をサブミットし、その後、ユーザはフェッチされた情報を、同じモード（つまり、音声）で、または、返された情報を表示画面に目に見える形式で提示するグラフィカル・ブラウザを使用するなど異なるモードで、受信することができる。通信デバイス内では、ユーザ・エージェント・プログラムは、ネットワークに接続されているデバイスまたは他の端末デバイスに存在する標準のＷｅｂブラウザまたは他の適切なソフトウェア・プログラムと同様に動作する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、セッション中に複数のモードで通信することを容易にするために、１つまたは複数のユーザ入力および出力インターフェースをユーザが使用可能であるマルチモーダル通信システムが提案されている。ユーザ・エージェント・プログラムは、異なるデバイス上に配置可能である。例えば、音声ゲートウェイなどのネットワーク要素は、音声ブラウザを含むことができる。例えば、ハンドヘルド・デバイスとしては、ＷＡＰブラウザまたは他の適切なテキスト・ベースのユーザ・エージェント・プログラムなどのグラフィカル・ブラウザがある。したがって、マルチモーダル機能を備える場合、ユーザは１つのモードで入力し、異なるモードで戻る情報を受け取ることができる。
【０００５】
例えば、一部の情報を音声モードで入力し、他の情報を触覚インターフェースまたはグラフィカル・インターフェースで入力するなど、ユーザ入力を２つの異なるモードで提供しようとするシステムが提案されている。例えば、提案されているものの１つとして、最初に音声入力し、音声入力が完了した後で短いメッセージを送信することをユーザに要求するシリアル非同期手法の使用がある。このようなシステム内のユーザは、同じ１つのセッション中にモードを手動で切り換えなければならない場合がある。したがって、そのような提案は面倒なものとなる可能性がある。
【０００６】
他の提案されているシステムは、単一のユーザ・エージェント・プログラムと、マークアップ言語のタグとを既存のＨＴＭＬページで使用し、ユーザは、例えば、検索単語を入力する代わりに音声を使ってＷｅｂページにナビゲートし、その後、同じＨＴＭＬページで、ユーザがテキスト情報を入力することができる。例えば、ユーザは、「ｃｉｔｙ」という単語を発声し、住所を入力することにより、コンテンツ・サーバから視覚的地図情報を取得することができる。しかし、このような提案方法では、通常、１つのデバイス上の同じユーザ・エージェント・プログラムで異なるモードによりマルチモード入力を行う必要がある（同じブラウズを通じて入力する）。したがって、音声およびテキスト情報は、通常、同じＨＴＭＬ形式で入力され、同じユーザ・エージェント・プログラムを通じて処理される。しかし、この提案では、単一のデバイス上で動作している単一のユーザ・エージェント・プログラムを使用する必要がある。
【０００７】
そのため、処理能力および記憶容量が限られているモバイル・デバイスなど、あまり複雑でないデバイスでは、複雑なブラウザを使用するとデバイスのパフォーマンスが低下する可能性がある。また、このようなシステムでは、異なるユーザ・エージェント・プログラムを通じた同時マルチモーダル情報入力を容易にすることができない。さらに、複数のデバイス上で同時マルチモーダル入力を行い、異なるアプリケーションまたは異なるデバイス間に処理を分散させることが望ましい場合がある。
【０００８】
他の提案では、マルチモーダル・ゲートウェイおよびマルチモーダル・プロキシを使用し、マルチモーダル・プロキシでコンテンツをフェッチし、そのコンテンツを通信デバイス内のユーザ・エージェント・プログラム（例えば、ブラウザ）および音声ブラウザ（例えばネットワーク要素内の）に出力し、システム側が１つのデバイスに対し音声とテキスト出力の両方を使用可能であるようにする。しかし、このような手法では、異なるアプリケーションを通じて異なるモードでユーザが情報を同時に入力できるようには思われない。その理由は、この提案もまた、異なるモードのフェッチされた情報を単一のユーザ・エージェント・プログラムまたはブラウザに出力する必要がある単一ユーザ・エージェント手法であると思われるからである。
【０００９】
先に終了した通信セッションの再開を可能にする通信セッション管理手法が知られている。例えば、ｖｏｉｃｅＸＭＬ形式を使用するシステムで、ユーザがそのような形式の使用からログオフした場合にそのような形式の状態をサーバで維持することで、ユーザが例えばブラウザを通じてＷｅｂアプリケーションに再び接続すると、Ｗｅｂアプリケーションがユーザの前のセッション情報の位置を特定すると共にユーザがセッションを終了した時にとっていた前の状態でユーザのセッションを再確立できるようになっている。しかしながら、そのような手法は一般に１つのモードに対するセッションパーシスタンスを提供し、さらには、そのようなシステムは一般に、セッション中に１つのユーザ・エージェント・プログラムを使用していたユーザに対するセッションパーシスタンスを提供する。
【００１０】
したがって、同時マルチモーダル通信のためのセッションパーシスタンス方法および装置が必要とされている。
【課題を解決するための手段】
【００１１】
請求項１に記載の発明は、マルチモーダル通信の方法であって、非セッション中、ユーザ毎に、セッション中の異なる同時モード通信用に構成されたユザ・エージェント・プログラムの同時マルチモーダル・セッション・ステータス情報を維持すること、および、該同時マルチモーダル・セッション・ステータス情報にアクセスしたことに応答して同時マルチモーダル・セッションを再確立すること、からなる方法をその要旨とする。
【００１２】
請求項２に係る発明は、請求項１に記載の方法において、非セッション中、ユーザ毎に、セッション中の異なる同時モード通信用に構成されたユーザ・エージェント・プログラムの同時マルチモーダル・セッション・ステータス情報を維持することは、セッション中に、最後にフェッチした情報が、同時マルチモーダル通信セッション中に使用される複数のユーザ・エージェント・プログラムの各々について得られた場所を示す位置データ；該同時マルチモーダル通信セッション中にユーザ入力によりどのフィールドが書き込まれたかを示す情報および該フィールドの内容；および該同時マルチモーダル通信セッションの現在の対話状態；のうちの少なくとも１つを格納することを含む。
【００１３】
請求項３に係る発明は、請求項１に記載の方法において、ユーザによるセッションへの参加を検出する工程と、同時マルチモーダル・セッション・ステータス情報にアクセスする工程と、該アクセスされた同時マルチモーダル・セッション・ステータス情報が該ユーザの前の同時マルチモーダル・セッションを示している場合に、該同時マルチモーダル・セッション・ステータス情報により識別された該同時マルチモーダル・セッションを再確立する工程と、を含む。
【００１４】
請求項４に係る発明は、請求項１に記載の方法において、同時マルチモーダル通信中のデバイスの切り換えを容易にするために、同時マルチモーダル・セッション中にどのデバイスが使用されるかを維持する工程を含む。
【００１５】
請求項５に係る発明は、請求項１に記載の方法において、セッション中に、互いに異なるモードで動作する複数のユーザ・エージェント・プログラムのうちの少なくとも１つについてのモード特有命令を一時的に格納し、該複数のユーザ・エージェント・プログラムのうち第２のものについてのモード特有命令に関連する通信遅延を補正することを含む。
【００１６】
請求項６に係る発明は、請求項１に記載の方法において、マルチモード・ミュート・データを受信し、所与のセッションに関してマルチモーダル通信のどのモードをミュートするかの記録を格納する工程を含む。
【００１７】
請求項７に係る発明は、マルチモーダル装置であって、非セッション中、ユーザ毎に、セッション中の異なる同時モード通信用に構成されたユザ・エージェント・プログラムの同時マルチモーダル・セッション・ステータス情報を維持し、該同時マルチモーダル・セッション・ステータス情報にアクセスしたことに応答して同時マルチモーダル・セッションを再確立するように動作する同時マルチモーダル・セッション・パーシスタンス・コントローラ；および
該同時マルチモーダル・セッション・パーシスタンス・コントローラに結合して動作し、該同時マルチモーダル・セッション・ステータス情報を含むメモリ；を備えたマルチモーダル装置をその要旨とする。
【００１８】
請求項８に係る発明は、請求項７に記載のマルチモーダル装置において、前記メモリは、前の同時マルチモーダル通信セッションで使用された前のプロキシを示すプロキシ識別データ；該同時マルチモーダル通信セッション中にユーザ入力によりどのフィールドが書き込まれたかを示す情報および該フィールドの内容；および該同時マルチモーダル通信セッションの現在の対話状態；のうちの少なくとも１つを含む。
【００１９】
請求項９に係る発明は、請求項７に記載のマルチモーダル装置において、前記同時マルチモーダル・セッション・パーシスタンス・コントローラは、前記メモリに含まれている前記同時マルチモーダル・セッション・ステータス情報にアクセスし、該アクセスされた同時マルチモーダル・セッション・ステータス情報が前記ユーザに対する前の同時マルチモーダル・セッションを示している場合に、前記同時マルチモーダル・セッション・ステータス情報により識別された該同時マルチモーダル・セッションの再確立を容易にする。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態によるマルチモーダル通信システムの一例を説明するブロック図。
【図２】本発明の一実施形態によるマルチモーダル通信の方法の一例を説明する流れ図。
【図３】本発明の一実施形態によるマルチモーダル通信の方法の一例を説明する流れ図。
【図４】本発明の一実施形態による受信した同時マルチモーダル入力情報を融合する方法の一例を説明する流れ図。
【図５】本発明の実施形態によるマルチモーダル・ネットワーク要素の一例を説明するブロック図。
【図６】本発明の一実施形態によるマルチモーダル・セッション・パーシスタンスを維持する方法の一例を説明する流れ図。
【図７】図６に示されている流れ図の一部を説明する流れ図。
【図８】本発明の一実施形態による同時マルチモーダル・セッションのステータスのメモリ内容の一例を表すブロック図。
【発明を実施するための形態】
【００２１】
本発明を例を使用して説明するが、本発明は類似の参照番号が類似の要素を示す添付の図面に制限されない。簡単に説明すると、マルチモーダル・ネットワーク要素を使用すると、１つまたは複数のデバイス上の異なるユーザ・エージェント・プログラムを通じて同時マルチモーダル通信セッションを円滑に行うことができる。例えば、スピーチ・エンジンおよびコール／セッション終了を含む音声ゲートウェイの音声ブラウザなどの音声モードで通信するユーザ・エージェント・プログラムは、モバイル・デバイス上のグラフィカル・ブラウザなどの異なるモードで動作している他のユーザ・エージェント・プログラムと同期する。複数のユーザ・エージェント・プログラムは、セッション時にコンテンツ・サーバに結合されて動作し、同時マルチモーダル対話を行うことができる。
【００２２】
例えば、マルチモーダル・ネットワーク要素は、テキスト・モードに関連するＨＴＭＬ形式および音声モードに関連するｖｏｉｃｅＸＭＬ形式など、異なるモードに関連付けられている異なるマークアップ言語形式を取得するなどして、互いに対して異なるモードで動作する複数のユーザ・エージェント・プログラムに対するモード特有命令を取得する。セッション中のマルチモーダル・ネットワーク要素は、得られたモード特有命令に基づいてユーザのために複数のユーザ・エージェント・プログラムからの出力の同期をとる。例えば、音声ブラウザは１つのデバイス上でオーディオ出力と同期し、グラフィカル・ブラウザは同じデバイスまたは異なるデバイス上の画面の表示出力と同期するという動作を同時に実行するため、ユーザは１つまたは複数のユーザ・エージェント・プログラムを通じて入力可能である。ユーザが入力情報を、異なるモードで動作している複数のユーザ・エージェント・プログラムを通じて入力する場合、方法および装置では、異なる同時マルチモーダル情報の要求に対する応答として、ユーザによって入力された受信同時マルチモーダル入力情報と複数のユーザ・エージェント・プログラムから送信された受信同時マルチモーダル入力情報とを融合、またはリンクする。したがって、同時マルチモーダル入力は異なるユーザ・エージェント・プログラムを通じて利用しやすくなり、同時マルチモーダル・セッション中に複数のデバイスまたは他のデバイスを使用するか、または１つのデバイスで複数のユーザ・エージェント・プログラムを使用することができる。異なるプロキシがマルチモーダル・ネットワーク要素により指定され、異なるモードに設定されている異なるユーザ・エージェント・プログラムの各々と通信する。
【００２３】
図１は、本発明の一実施形態によるマルチモーダル通信システム１０の一例を示している。この例では、マルチモーダル通信システム１０は、通信デバイス１２、マルチモーダル融合サーバ１４、音声ゲートウェイ１６、およびＷｅｂサーバ１８などのコンテンツ・ソースを含む。通信デバイス１２とは、例えば、インターネット家電、ＰＤＡ、携帯電話、ケーブル・セットトップボックス、テレマティックス・ユニット、ラップトップ・コンピュータ、デスクトップ・コンピュータ、または他のモバイルあるいは非モバイル・デバイスなどである。さらに、所望の通信の種類に応じて、通信デバイス１２は、無線ローカル・エリア・ネットワークまたは無線ワイド・エリア・ネットワーク２０、ＷＡＰ／データ・ゲートウェイ２２、ショート・メッセージング・サービス・センター（ＳＭＳＣ／ページング・ネットワーク）２４、または他の適切なネットワークと通信し稼働することも可能である。同様に、マルチモーダル融合サーバ１４は、適切なデバイス、ネットワーク要素またはインターネット、イントラネット、マルチメディア・サーバ（ＭＭＳ）２６、インスタント・メッセージング・サーバ（ＩＭＳ）２８、または他の適切なネットワークを含むネットワークと通信することができる。したがって、通信デバイス１２は、通信リンク２１，２３，および２５を介して適切なネットワークと通信し稼働する。同様に、マルチモーダル融合サーバ１４は、符号２７で示されている従来の通信リンクを介してさまざまなネットワークに適切にリンクすることができる。この例では、それだけに限らないが、音声ゲートウェイ１６は、音声認識エンジン、手書き文字認識エンジン、顔認識エンジン、セッション制御、ユーザ提供アルゴリズム、および運用および保守コントローラを必要に応じて含む、従来の音声ゲートウェイ機能を備えることができる。この例では、通信デバイス１２は、ＷＡＰブラウザ、身振り認識、触覚認識、または他の適切なブラウザの形の視覚的ブラウザ（例えば、グラフィカル・ブラウザ）などのユーザ・エージェント・プログラム３０を、例えば、電話回路３２として示されているマイクおよびスピーカを含む電話回路とともに備える。他の適切な構成も使用可能である。
【００２４】
音声ゲートウェイ１６は、電話回路３２のスピーカから出力するのに適した形式でオーディオ情報を出力する、音声ブラウザなどの他のユーザ・エージェント・プログラム３４を含む。しかし、スピーカを、ポケベルまたはその他のＰＤＡなどの通信デバイス１２以外の異なるデバイスに配置して音声が１つのデバイスに出力されるようにし、ユーザ・エージェント・プログラム３０を介する視覚的ブラウザをさらに別のデバイス上に用意できることは理解されるであろう。また、ユーザ・エージェント・プログラム３４は音声ゲートウェイ１６内に存在するが、ユーザ・エージェント・プログラム３４は通信デバイス１２（音声ブラウザ３６として示されている）内や他の適切なデバイス内に収めることも可能であることも理解されるであろう。同時マルチモーダル通信に対応するために、本明細書で説明しているように、複数のユーザ・エージェント・プログラム、つまり、ユーザ・エージェント・プログラム３０とユーザ・エージェント・プログラム３４は、所与のセッションで互いに対して異なるモードで動作する。したがって、ユーザは、開示されているサービスにサインアップし、Ｗｅｂサーバ１８または他のサーバ（ＭＦＳ１４を含む）を介してアクセス可能なモード・プリファレンス・データベース３６内のモード・プリファレンスをプリセットすることにより、ユーザ・エージェント・プログラムの各々のモードを事前に定義することができる。さらに、ユーザは、所望の場合には、セッション中に、当業界で知られているように、所与のユーザ・エージェント・プログラムのモードを選択したり、変更したりすることができる。
【００２５】
同時マルチモーダル同期コーディネータ４２は、セッション中に、他のユーザ・エージェント・プログラムのモード特有命令に関連する通信遅延を補正するため複数のユーザ・エージェント・プログラムのうちの１つについてのモード特有命令を一時的に格納するバッファ・メモリを備えることができる。したがって、例えば、必要ならば、同期コーディネータ４２は、異なるユーザ・エージェント・プログラム上に同時にレンダリングされるようにモード特有命令を待ち、プロキシに出力するシステム遅延または他の遅延を考慮することができる。
【００２６】
また、必要ならば、ユーザ・エージェント・プログラム３０は、ユーザがいくつかのマルチモードをミュートできる入力インターフェースを備えることができる。例えば、デバイスまたはユーザ・エージェント・プログラムが複数モード・オペレーションに対応可能である場合、ユーザは、特定の持続時間の間、モードをミュートするように指示することができる。例えば、ユーザ用の出力モードが音声であるが、ユーザが入っている環境に大きな音が発生している場合、ユーザは、例えば、音声ブラウザへの出力をミュートすることができる。ユーザから受け取ったマルチモード・ミュート・データは、マルチモーダル融合サーバ１４により、例えば、メモリ６０２（図５を参照）に格納され、所与のセッションについてどのモードをミュートするかを指示可能である。その後、同期コーディネータ４２は、ミュートと識別されているモードのモード特有命令を取得することを控えることができる。
【００２７】
情報フェッチャ４６は、複数のユーザ・エージェント・プログラム３０および３４についてマルチモード・アプリケーション５４からモード特有命令６９を取得する。モード特有命令６８，７０は、ユーザ・エージェント・プログラム３０および３４に送られる。この実施形態では、マルチモード・アプリケーション５４は、後述のように、異なるユーザ・エージェント・プログラム、したがって異なるモードに関連付けられているモード特有命令を識別するデータを含む。同時マルチモーダル同期コーディネータ４２は、モード特有命令を受け取るように情報フェッチャ４６に結合して動作する。同時マルチモーダル同期コーディネータ４２は、さらに、複数のプロキシ３８ａ〜３８ｎに結合して動作し、所与のセッションに必要なプロキシを指定する。
【００２８】
異なるユーザ・エージェント・プログラム３０および３４が異なるデバイス上にある場合、方法は、第１のモードに基づくマークアップ言語形式を１つのデバイスに送信し、第２のモード・マークアップ言語に基づく形式を１つまたは複数の他のデバイスに送信して、同じセッション中にユーザが異なるモードで同時情報入力を異なるデバイスに要求することにより、同時マルチモーダル入力情報６８，７０の要求を送信することを含む。これらのマークアップ言語に基づく形式は、モード特有命令６８，７０として得られた。
【００２９】
マルチモーダル・セッション・コントローラ４０は、着信セッションの検出、セッションへの応答、セッション・パラメータの修正、セッションの終了、およびセッションおよび媒体情報とデバイス上のセッション制御アルゴリズムとの交換に使用される。マルチモーダル・セッション・コントローラ４０は、必要ならセッションの一次セッション終了ポイントであるか、または例えば、ユーザが音声ゲートウェイなどの他のゲートウェイとのセッションを確立することを望んでいる場合に二次セッション終了ポイントとし、次に、これによりマルチモーダル・セッション・コントローラ４０とのセッションを確立することができる。
【００３０】
同期コーディネータ４２は、同時マルチモーダル入力情報の要求を含む、出力同期メッセージ４７および４９を、各々のプロキシ３８ａおよび３８ｎに送信し、それらの出力と各々の複数のユーザ・エージェント・プログラムとの同期をとる。プロキシ３８ａおよび３８ｎは、同時同期コーディネータ４２に、受信したマルチモーダル入力情報７２および７４を含む入力同期メッセージ５１および５３を送信する。
【００３１】
同時マルチモーダル同期コーディネータ４２は、プロキシを使用して、またはユーザ・エージェント・プログラムに能力があればユーザ・エージェント・プログラムを使用して、同期メッセージ４７、４９、５１、および５３を送受信し、プロキシ３８ａおよび３８ｎが異なるユーザ・エージェント・プログラムから受信マルチモーダル入力情報７２および７４を受信すると、プロキシ３８ａおよび３８ｎは受信マルチモーダル入力情報７２および７４を含む入力同期メッセージ５１および５３を同期コーディネータ４２に送信する。同期コーディネータ４２は、受信情報をマルチモーダル融合エンジン４４に転送する。さらに、ユーザ・エージェント・プログラム３４が同期メッセージをマルチモーダル同期コーディネータ４２に送信する場合、マルチモーダル同期コーディネータ４２は、その同期メッセージをセッション中の他のユーザ・エージェント・プログラム３０に送信する。同時マルチモーダル同期コーディネータ４２は、さらに、メッセージ変換を実行し、同期メッセージ・フィルタ処理を行って、同期システムをより効率的なものとすることができる。同時マルチモーダル同期コーディネータ４２は、所与のセッションで使用されている現在のユーザ・エージェント・プログラムのリストを保持し、同期処理の必要なときにその通知先を追跡することができる。
【００３２】
マルチモーダル融合サーバ１４は、複数のマルチモーダル・プロキシ３８ａ〜３８ｎ、マルチモーダル・セッション・コントローラ４０、同時マルチモーダル同期コーディネータ４２、マルチモーダル融合エンジン４４、情報（例えば、モード特有命令）フェッチャ４６、およびｖｏｉｃｅＸＭＬインタプリタ５０を備える。少なくともマルチモーダル・セッション・コントローラ４０、同時マルチモーダル同期コーディネータ４２、マルチモーダル融合エンジン４４、情報フェッチャ４６、およびマルチモーダル・マークアップ言語（例えば、ｖｏｉｃｅＸＭＬ）インタプリタ５０は、１つまたは複数の処理デバイスを実行するソフトウェア・モジュールとして実装することができる。したがって、１つまたは複数のデバイスにより読み出されたときに１つまたは複数の処理デバイスでソフトウェア・モジュールの各々に関して本明細書で説明している機能を実行する実行可能命令がメモリに格納される。したがって、それだけには限らないが、マルチモーダル融合サーバ１４は、デジタル・シグナル・プロセッサ、マイクロコンピュータ、マイクロプロセッサ、状態機械、またはその他の適切な処理デバイスを含む可能性のある処理デバイスを含むが、これらには限定されない。メモリには、ＲＯＭ、ＲＡＭ、分散メモリ、フラッシュ・メモリ、または処理デバイスにより実行されたときに１つまたは複数の処理デバイスを本明細書で説明されているように動作させる状態またはその他のデータを格納することが可能な他の適切なメモリがある。あるいはそれとは別に、ソフトウェア・モジュールの機能は、必要に応じてハードウェアまたはハードウェア、ソフトウェア、およびファームウェアの適切な任意の組み合わせで適宜実装することができる。
【００３３】
マルチモーダル・マークアップ言語インタプリタ５０は、状態機械または他の適切なハードウェア、ソフトウェア、ファームウェアまたはそれらの適切な組み合わせとすることができ、これは特に、マルチモーダル・アプリケーション５４が備えるマークアップ言語を実行する。
【００３４】
図２は、マルチモーダル融合サーバ１４によりマルチモーダル通信を実行する方法を示す例である。しかし、本明細書で説明している工程はどれも、適切な順序で適切な１つまたは複数のデバイスにより実行可能であることは理解されるであろう。現在のマルチモーダル・セッションでは、ユーザ・エージェント・プログラム３０（例えば、ＷＡＰブラウザ）は要求５２をＷｅｂサーバ１８に送信し、Ｗｅｂサーバ１８にアクセス可能な同時マルチモーダル・アプリケーション５４からコンテンツを要求する。これは、例えば、ＵＲＬを入力するか、またはアイコンをクリックするか、または他の従来のメカニズムを使用することにより行うことができる。また、破線５２で示されているように、ユーザ・エージェント・プログラム３０および３４は各々、ユーザ・モード情報をマークアップ・インタプリタ５０に送信することができる。コンテンツ・サーバとして機能するＷｅｂサーバ１８は、同時マルチモーダル・サービスへのユーザ・サブスクリプション工程を通じてすでに入力されているモード・プリファレンス・データベース３６から、通信デバイス１２のマルチモーダル・プリファレンス５５を取得する。次に、Ｗｅｂサーバ１８は、データベース３６からのユーザ・プリファレンスを含む通知５６を通じてマルチモーダル融合サーバ１４に通知し、例えば、同時マルチモーダル通信でどのユーザ・エージェント・プログラムを使用しているか、どのモードでユーザ・エージェント・プログラムの各々が設定されているかを示す。この例では、ユーザ・エージェント・プログラム３０は、テキスト・モードに設定され、ユーザ・エージェント・プログラム３４は音声モードに設定されている。その後、同時マルチモード同期コーディネータ４２は、セッション中に、複数のマルチモーダル・プロキシ３８ａ〜３８ｎのどれがユーザ・エージェント・プログラム３０および３４の各々に対して使用されるかを判別する。したがって、同時マルチモード同期コーディネータ４２は、マルチモード・プロキシ３８ａを、テキスト・モードに設定されているユーザ・エージェント・プログラム３０と通信するためのテキスト・プロキシとして指定する。同様に、同時マルチモード同期コーディネータ４２は、プロキシ３８ｎを、音声モードで動作しているユーザ・エージェント・プログラム３４の音声情報を伝達するマルチモーダル・プロキシとして指定する。情報フェッチャは、Ｗｅｂページ・フェッチャ４６として示されており、マークアップ言語形式またはその他のデータなどのモード特有命令を同時マルチモーダル・アプリケーション５４と関連するＷｅｂサーバ１８から取得する。
【００３５】
例えば、マルチモーダル・アプリケーション５４がユーザに、情報を音声モードとテキスト・モードの両方で入力するよう要求した場合、情報フェッチャ４６は、ユーザ・エージェント・プログラム３０に対して出力する関連するＨＴＭＬマークアップ言語形式および要求６６を介してユーザ・エージェント・プログラム３４に出力する関連するｖｏｉｃｅＸＭＬ形式を取得する。その後、これらのモード特有命令は、ユーザ・エージェント・プログラムにより出力としてレンダリングされる（例えば、画面への出力またはスピーカによる出力）。同時マルチモーダル同期コーディネータ４２は、セッション中に、モード特有命令に基づき複数のユーザ・エージェント・プログラム３０および３４からの出力の同期をとる。例えば、同時マルチモーダル同期コーディネータ４２は、音声が通信デバイス１２上にレンダリングされるときにユーザ・エージェント・プログラム３０を介してテキストが画面上に出力されるのと同時にレンダリングされるように適切な時期に各々のユーザ・エージェント・プログラム３０および３４に異なるモードを表す適切なマークアップ言語形式を送信する。例えば、マルチモーダル・アプリケーション５４は、同時にユーザ・エージェント・プログラム３０からのテキスト入力を待ちながら、テキスト・ブラウザを介して入力されることが予期される情報に関して、ユーザ・エージェント・プログラム３４を介して、音声命令の形式の命令をユーザに与えることができる。例えば、マルチモーダル・アプリケーション５４は、「ｐｌｅａｓｅ  ｅｎｔｅｒ  ｙｏｕｒ  ｄｅｓｉｒｅｄ  ｄｅｓｔｉｎａｔｉｏｎ  ｃｉｔｙ  ｆｏｌｌｏｗｅｄ  ｂｙ  ｙｏｕｒ  ｄｅｓｉｒｅｄ  ｄｅｐａｒｔｕｒｅ  ｔｉｍｅ」という語句の音声出力を必要とし、その一方で同時に、ユーザ・エージェント・プログラム３０を通じて通信デバイスの表示装置上に出力されるフィールドを表示し、そのフィールドは市を意味する「Ｃ」として指示され、次の行では送信先を意味する「Ｄ」として指示される。この例では、マルチモーダル・アプリケーションは、ユーザによる同時マルチモーダル入力を要求しておらず、１つのモード、つまりテキスト・モードを通じて入力を要求しているだけである。他のモードは、ユーザ命令を送るために使用されている。
【００３６】
それとは別に、マルチモーダル・アプリケーション５４が複数のユーザ・エージェント・プログラムを通じて入力情報を入力するようユーザに要求する場合、マルチモーダル融合エンジン１４は、セッション中の異なるマルチモーダル・ユーザ・エージェント・プログラムで同時に入力されるユーザ入力を融合する。例えば、ユーザが表示されている地図上の２つの位置をクリックしながら「ｄｉｒｅｃｔｉｏｎｓ  ｆｒｏｍ  ｈｅｒｅ  ｔｏ
ｔｈｅｒｅ」という語句を発声すると、音声ブラウザまたはユーザ・エージェント・プログラム３４は開始位置フィールドに「ｈｅｒｅ」を書き込み、目的位置フィールドに受信した入力情報７４として「ｔｈｅｒｅ」と書き込む一方で、グラフィカル・ブラウザ、つまり、ユーザ・エージェント・プログラム３０は、開始位置フィールドに地図上の第１のクリック点の地理的位置（例えば、緯度／経度）を書き込み、目的位置フィールドに地図上の第２のクリック点の地理的位置（例えば、緯度／経度）を書き込む。マルチモーダル融合エンジン４４はこの情報を取得し、異なるモードで動作している複数のユーザ・エージェント・プログラムからユーザが入力した入力情報を融合し、単語「ｈｅｒｅ」が第１のクリック点の地理的位置に対応し、単語「ｔｈｅｒｅ」が第２のクリック点の地理的位置（例えば、緯度／経度）に対応すると判定する。このようにして、マルチモーダル融合エンジン４４はユーザのコマンドの一揃いの完全な情報を持つ。マルチモーダル融合エンジン４４側で、融合された情報６０をユーザ・エージェント・プログラム３０および３４に送り返し、同時マルチモーダル通信に関連する完全な情報を持つようにしたい場合がある。このときに、ユーザ・エージェント・プログラム３０は、この情報をコンテンツ・サーバ１８にサブミットし、所望の情報を取得することができる。
【００３７】
ブロック２００に示されているように、セッションに関して、方法は、互いに対して異なるモードで動作する複数のユーザ・エージェント・プログラムに対しモード特有命令６８，７０を取得することを含むが、例えば、複数のユーザ・エージェント・プログラムの各々の各モードに固有の異なる種類のマークアップ言語を取得する。ブロック２０２に示されているように、方法は、セッション中に、ユーザの同時マルチモーダル・オペレーションを円滑に実行可能であるようにするモード特有命令に基づきユーザ・エージェント・プログラムなどの出力の同期を行うことを含む。そこで、マークアップ言語形式のレンダリングの同期をとり、複数のユーザ・エージェント・プログラムを通じて異なるモードで複数のユーザ・エージェント・プログラムからの出力を同時にレンダリングする。ブロック２０３に示されているように、同時マルチモーダル同期コーディネータ４２は、異なるユーザ・エージェント・プログラム３０および３４に対するモード特有命令セット６８，７０が、異なるユーザ・エージェント・プログラムを使用してユーザが行う異なるモードでの情報の同時入力を要求するかどうかを判別する。否定の場合、ブロック２０５に示されているように、同時マルチモーダル同期コーディネータ４２は１つのユーザ・エージェント・プログラムだけから受信した入力情報を送信先サーバまたはＷｅｂサーバ１８に転送する。
【００３８】
しかし、ブロック２０４に示されているように、異なるユーザ・エージェント・プログラム３０および３４に対するモード特有命令セット６８，７０が、異なるモードでの同時ユーザ入力を要求した場合、方法は、異なるモードで動作する異なるユーザ・エージェント・プログラムに関連する融合されたマルチモーダル応答６０を生成するためユーザ・エージェント・プログラム３０および３４により送り返される、ユーザが入力する受信同時マルチモーダル入力情報を融合することを含む。ブロック２０６に示されているように、方法は、融合されたマルチモーダル応答６０をマークアップ言語インタプリタ５０で現在実行中のアプリケーション６１に転送して返すことを含む。現在実行中のアプリケーション６１（図５を参照）は、インタプリタ５０の一部として実行中のアプリケーション５４からのマークアップ言語である。
【００３９】
図１および３を参照して、マルチモーダル通信システム１０の詳細なオペレーションについて説明する。ブロック３００に示されているように、通信デバイス１２は、ユーザ・エージェント・プログラム３０を介してＷｅｂコンテンツまたは他の情報に対する要求５２を送信する。ブロック３０２に示されているように、コンテンツ・サーバ１８は、セッションのデバイス・プリファレンスおよびモード・プリファレンスを取得するために識別されているユーザのモード・プリファレンス・データベース３６からマルチモーダル・プリファレンス・データ５５を取得する。ブロック３０４に示されているように、方法は、コンテンツ・サーバがマルチモーダル融合サーバ１４に、どのユーザ・エージェント・アプリケーションがどのデバイス上で、所与の同時の異なるマルチモーダル通信セッションに対しどのモードを使用して動作しているかを通知することを含む。
【００４０】
前述のように、またブロック３０６に示されているように、同時マルチモーダル同期コーディネータ４２は、モード・プリファレンス・データベース３６からのモード・プリファレンス情報５５に基づいて異なるモードの各々について各プロキシを判別するようにセットアップされている。ブロック３０８に示されているように、方法は、必要に応じて、マルチモーダル・セッション・コントローラ４０を介して各ユーザ・エージェント・プログラムのユーザ・モード指定を受け取ることを含む。例えば、ユーザは、所望のモードを変更し、モード・プリファレンス・データベース３６に格納されているプリセット済みのモード・プリファレンス５５と異なるようにすることができる。これは、従来のセッション・メッセージング機能を使用して実行可能である。所望のユーザ・エージェント・プログラムが異なるデバイス上にある場合など、ユーザが特定のユーザ・エージェント・プログラムに対する所望のモードを変更している場合、異なるマークアップ言語形式などの、異なるモード特有命令が必要になることがある。ユーザ・モード指定が変更された場合、情報フェッチャ４６は、ユーザ・エージェント・アプリケーションに対し選択されているモードに基づいて適切なモード特有命令をフェッチし、かつ要求する。
【００４１】
その後、ブロック３１０に示されているように、情報フェッチャ４６は、ユーザ・エージェント・プログラム毎に、したがってモード毎に、フェッチ要求６６として示されているモード特有命令をコンテンツ・サーバ１８からフェッチする。したがって、マルチモーダル融合サーバ１４は、情報フェッチャ４６を介して、異なるモードを表すマークアップ言語を取得し、これにより、各ユーザ・エージェント・プログラム３０および３４は、そのマークアップ言語に基づいてさまざまモードで情報を出力することができる。しかし、マルチモーダル融合サーバ１４はマークアップ言語に基づく情報だけでなく、適切なモード特有命令であればどのようなものでも取得することができることは理解されるであろう。
【００４２】
モード特有命令が各ユーザ・エージェント・プログラムについてコンテンツ・サーバ１８からフェッチされ、ＣＭＭＴがモード特有命令６８，７０に関連付けられていない場合、受け取ったモード特有命令６９をトランスコーダ６０８（図５を参照）に送ることができる。トランスコーダ６０８は、受け取ったモード特有命令を、インタプリタ５０により解釈可能であるように、基本マークアップ言語形式にトランスコードし、異なるモード６１０に対するモード特有命令を識別するデータを有する基本マークアップ言語形式を作成する。したがって、トランスコーダは、異なるモードで動作する他のユーザ・エージェント・プログラムのモード特有命令を識別するデータを含むようにモード特有命令をトランスコードする。例えば、インタプリタ５０がｖｏｉｃｅＸＭＬなどの基本マークアップ言語を使用しており、アプリケーション５４の一方のモード特有命令セットがｖｏｉｃｅＸＭＬ形式であり、他方がＨＴＭＬ形式であれば、トランスコーダ６０８は、ＨＴＭＬ形式を取得可能な場所のＵＲＬ、または実際のＨＴＭＬ形式自体を識別するＣＭＭＴをｖｏｉｃｅＸＭＬ形式に埋め込む。さらに、モード特有命令のいずれも基本マークアップ言語のものでなければ、一組のモード特有命令が基本マークアップ言語に変換され、それ以降、それ以外のモード特有命令群はＣＭＭＴにより参照される。
【００４３】
あるいは、マルチモーダル・アプリケーション５４は、必要なＣＭＭＴ情報を供給し、同時マルチモーダル・セッション時に複数のユーザ・エージェント・プログラムによる出力の同期処理を円滑に行えるようにすることができる。各ユーザ・エージェント・プログラムに対するモード特有命令の一例を、以下にマークアップ言語形式で示す。マークアップ言語形式は、マルチモーダル・アプリケーション５４により供給され、マルチモーダル融合サーバ１４によって同時マルチモーダル通信セッションを実行するために使用される。マルチモーダルｖｏｉｃｅＸＭＬインタプリタ５０では、マルチモーダル・アプリケーション５４がｖｏｉｃｅＸＭＬを基本言語として使用するものと想定している。ユーザに代わって複数のユーザ・エージェント・プログラムが出力の同期処理を円滑に行えるようにするため、ｖｏｉｃｅＸＭＬ形式の拡張機能またはＨＴＭＬ形式のインデックスなどの同時マルチモーダル・タグ（ＣＭＭＴ）を含む、またはそのインデックスを生成するマルチモーダル・アプリケーション５４を作成することができる。ＣＭＭＴは、モードを識別し、識別されたモードでユーザ・エージェント・プログラムのうちの１つにより出力される実際のＨＴＭＬ形式などの情報を指し示すか、またはそのような情報を含む。ＣＭＭＴは、さらに、マルチモーダル同期データとしても使用され、ＣＭＭＴを入れることにより異なるモード特有命令と異なるユーザ・エージェント・プログラムとの同期をとる必要があることを示す。
【００４４】
例えば、ｖｏｉｃｅＸＭＬがマルチモーダル・アプリケーション５４の基本言語であれば、ＣＭＭＴはテキスト・モードであることを示す。この例では、ＣＭＭＴは、ユーザ・エージェント・プログラムにより出力されるＨＴＭＬ形式のテキストを含むＵＲＬを含むか、またはＣＭＭＴの一部としてＨＴＭＬを含むことができる。ＣＭＭＴは、マークアップ言語の属性拡張機能のプロパティを備えることができる。マルチモーダルｖｏｉｃｅＸＭＬインタプリタ５０は、情報フェッチャ４６を使用してモード特有命令をフェッチし、マルチモーダル・アプリケーションからフェッチされたモード特有命令を解析し（この例では、実行し）、ＣＭＭＴを検出する。検出された後、マルチモーダルｖｏｉｃｅＸＭＬインタプリタ５０は、ＣＭＭＴを解釈し、必要ならば、テキスト・モード用のＨＴＭＬなど、他のモード特有命令を取得する。
【００４５】
例えば、ＣＭＭＴは、グラフィカル・ブラウザ用のテキスト情報を取得する場所を示すことができる。以下に示すのは、音声ブラウザが「ｗｈｅｒｅ  ｆｒｏｍ」および「ｗｈｅｒｅ  ｔｏ」と尋ねる音声を出力し、その一方でグラフィカル・ブラウザが「ｆｒｏｍ
ｃｉｔｙ」および「ｔｏ  ｃｉｔｙ」と表示する必要がある同時マルチモーダル・アプリケーションに対するｖｏｉｃｅＸＭＬ形式の形式の同時マルチモーダル巡回アプリケーションのモード特有命令の一例を示す表である。「ｆｒｏｍ  ｃｉｔｙ」および「ｔｏ  ｃｉｔｙ」と示されているフィールドでは、ユーザが異なるブラウザを通じて、受け取り済みの同時マルチモーダル情報を入力することが予期されている。
【００４６】
表１
＜ｖｘｍｌ  ｖｅｒｓｉｏｎ＝“２．０”＞
＜ｆｏｒｍ＞
＜ｂｌｏｃｋ＞
＜ｃｍｍｔ  ｍｏｄｅ＝“ｈｔｍｌ”  ｓｒｃ＝“．／ｉｔｉｎｅｒａｒｙ．ｈｔｍｌ”／＞非音声モードがｈｔｍｌ（テキスト）であること、およびソース情報がｉｔｉｎｅｒａｒｙ．ｈｔｍｌというｕｒｌに置かれていることを示す
＜／ｂｌｏｃｋ＞
＜ｆｉｅｌｄ  ｎａｍｅ＝“ｆｒｏｍ＿ｃｉｔｙ”＞グラフィカル・ブラウザを通じて収集しようと試みる予期される情報テキスト断片
＜ｇｒａｍｍａｒ  ｓｒｃ＝“．／ｃｉｔｙ．ｘｍｌ”／＞音声用であり、音声認識エンジンの可能な応答のリストを作成する必要がある
Ｗｈｅｒｅ  ｆｒｏｍ？  音声ブラウザが発するプロンプト
＜／ｆｉｅｌｄ＞
＜ｆｉｅｌｄ  ｎａｍｅ＝“ｔｏ＿ｃｉｔｙ”＞テキストが入ることを予期する
＜ｇｒａｍｍａｒ  ｓｒｃ＝“．／ｃｉｔｙ．ｘｍｌ”／＞
Ｗｈｅｒｅ  ｔｏ？  音声ブラウザが発する音声
＜／ｆｉｅｌｄ＞
＜／ｆｏｒｍ＞
＜／ｖｘｍｌ＞
したがって、上記のマークアップ言語形式は、少なくとも１つのユーザ・エージェント・プログラムのモード特有命令を表す基本マークアップ言語で書かれており、ＣＭＭＴは、異なるモードで動作している他のユーザ・エージェント・プログラムのモード特有命令を指定する拡張である。
【００４７】
ブロック３１１に示されているように、ユーザがプリファレンスを変更した場合、方法は、その変更と矛盾しないようにプロキシをリセットすることを含む。ブロック３１２に示されているように、マルチモーダル融合サーバ１４は、受信待機ポイントに到達したかどうかを判別する。到達した場合、ブロック３１４に示されているように次の状態に入る。肯定の場合、この工程は完了である。否定の場合、方法は、異なるユーザ・エージェント・プログラムに対してモード特有命令の同期処理を行うことを含む。マルチモーダルｖｏｉｃｅＸＭＬインタプリタ５０は、この例では、ユーザ・エージェント・プログラム３０についてはＨＴＭＬを、ユーザ・エージェント３４についてはｖｏｉｃｅＸＭＬを、同時マルチモーダル同期コーディネータ４２に出力し、複数のユーザ・エージェント・プログラムによる出力の同期をとる。これは、例えば、前述のように、受信待機ポイントの発生に基づいて実行することができる。これは、ブロック３１６に示されている。
【００４８】
ブロック３１８に示されているように、方法は、同時マルチモーダル同期コーディネータ４２などにより、対応するプロキシ３８ａおよび３８ｎに、同期しているモード特有命令６８，７０を送信し、同じセッションでユーザによる異なるモードでのユーザ入力情報を要求することを含む。同期をとった要求６８および７０は、ユーザ・エージェント・プログラム３０および３４の各々に送られる。例えば、異なるユーザ・エージェント・プログラムに関連付けられている複数の入力モードに対応する異なる同時モード入力情報に対する要求は、モード特有命令６８および７０を含む同期をとった要求として示される。これらは、例えば、同期したマークアップ言語形式とすることができる。
【００４９】
ユーザ・エージェント・プログラム３０および３４は、モード特有命令を同時にレンダリングすると、方法は、ユーザ入力をブロック３２０に示されているようにタイムアウト期間内に受信したかどうか、または他のイベントが発生したかどうかを判別することを含む。例えば、マルチモーダル融合エンジン４４は、一定期間待ち、それから融合のためユーザが入力したマルチモーダル入力情報が複数のユーザ・エージェント・プログラムから適切に受信されたかどうかを判別することができる。この待機期間は、各ユーザ・エージェント・プログラムのモード設定に応じて異なる期間とすることができる。例えば、ユーザが音声とテキスト情報の両方を同時に入力することが期待されているが、マルチモーダル融合エンジンが一定期間内に融合に関する情報を受け取っていない場合、エラーが発生しているとみなされる。さらに、マルチモーダル融合エンジン４４を使用すると、音声情報だと音声ゲートウェイ１６を介した処理に比較的長い時間を要するため、テキスト情報の場合と比べて音声情報では返すのにより長い時間がかかる場合がある。
【００５０】
この例では、ユーザはユーザ・エージェント・プログラム３０を介してテキストを入力すると同時にマイクを使用して音声情報を発声し、ユーザ・エージェント・プログラム３４に伝達することが要求される。受信同時マルチモーダル入力情報７２および７４は、ユーザ・エージェント・プログラム３０および３４から受信され、適切な通信リンクを介して各々のプロキシに渡される。ユーザ・エージェント・プログラム３４とデバイス１２のマイクおよびスピーカとの間の符号７６で示されている通信は、ＰＣＭ形式または他の適切な形式で実行され、この例では、ユーザ・エージェント・プログラムにより出力することができるモード特有命令形式ではないことに注意されたい。
【００５１】
ユーザがテキスト・ブラウザと音声ブラウザを同時に使用して情報を入力し、マルチモーダル融合エンジン４４が複数のユーザ・エージェント・プログラムから送信された同時マルチモーダル入力情報を受信した場合、マルチモーダル融合エンジン４４は、ブロック３２２に示されているようにユーザから受信した入力情報７２および７４を融合する。
【００５２】
図４は、マルチモーダル融合エンジン４４のオペレーションの一例を示している。説明のため、あるイベントについて、「ｎｏ  ｉｎｐｕｔ」はユーザがこのモードで何も入力していなかったことを意味するものとする。「ｎｏ  ｍａｔｃｈ」は、何かが入力されたが、予期した値でなかったことを意味する。結果は、ユーザにより正常に入力された内容からの一組のスロット（またはフィールド）名および対応する値のペアである。例えば、適切な入力内容は、“Ｃｉｔｙ＝Ｃｈｉｃａｇｏ”および“Ｓｔａｔｅ＝Ｉｌｌｉｎｏｉｓ”および“Ｓｔｒｅｅｔ”＝“ｆｉｒｓｔ  ｓｔｒｅｅｔ”および例えば、０％から１００％の範囲の信頼度重み係数である。前述のように、マルチモーダル融合エンジン４４が情報を融合するかどうかは、スロット名（例えば、変数）および値ペアの受信または予期した受信の間の時間または他のイベントの受信に応じて異なる可能性がある。この方法は、信頼水準が受信した情報に割り当てられていると想定している。例えば、同期コーディネータおよびモードと情報到着時刻に基づくその重み信頼度。例えば、同じセッション中の異なるモードで同じスロット・データを入力することが可能な場合のように（例えば、住所の通り名を発声してキー入力する）、入力されたデータは発声されたデータよりも正確であると想定される。同期コーディネータは、受信時刻に基づき、また受信した個々の結果の信頼値に基づき、異なる同時マルチモーダル情報に対する要求への応答として送信された複数のユーザ・エージェント・プログラムの１つから送られた受信マルチモーダル入力情報を組み合わせる。
【００５３】
ブロック４００に示されているように、方法は、非音声モードでイベントまたは結果があったかを判別することを含む。肯定の場合、ブロック４０２に示されているように、方法は、「ｎｏ  ｉｎｐｕｔ」および「ｎｏ  ｍａｔｃｈ」イベントを除く任意のモードのイベントがあったかを判別することを含む。肯定の場合、方法は、ブロック４０４に示されているように、受け取った第１のそのようなイベントをインタプリタ５０に返すことを含む。しかし、「ｎｏ  ｉｎｐｕｔ」および「ｎｏ  ｍａｔｃｈ」以外にユーザ・エージェント・プログラムからのイベントがなかった場合、方法は、ブロック４０６に示されているように、マルチモーダル融合エンジンの２つまたはそれ以上の結果を送信したモードについて、受信時刻の順序でそのモードの結果を組み合わせることを含む。これは、ユーザが同じスロットに対し入力を再入力する場合に有用であると思われる。所与のスロット名に対する後の値は、前の値を上書きする。マルチモーダル融合エンジンは、構成要素である個々の結果の信頼度重みに基づいてモードの結果信頼度重みを調整する。最終結果は、モード毎に、各スロット名に対する１つの回答となる。方法は、ブロック４０８に示されているように、ブロック４０６から結果を取り出し、それらを組み合わせてすべてのモードに対する１つの結合された結果とすることを含む。方法は、最も信頼度の低い結果から始めて、最も信頼度の高い結果へと進むことを含む。融合された結果の中の各スロット名で、そのスロットの定義を含む最も信頼度の高い入力結果に属するスロット値を受け取る。
【００５４】
ブロック４１０に示されているように、方法は、今組み合わされた結果があるかどうかを判別することを含む。つまり、ユーザ・エージェント・プログラムが、マルチモーダル融合エンジン４４に対する結果を送信したかということである。肯定の場合、方法は、ブロック４１２に示されているように、組み合わせた結果をコンテンツ・サーバ１８に返すことを含む。否定の場合、ブロック４１４に示されているように、「ｎｏ  ｉｎｐｕｔ」または「ｎｏ  ｍａｔｃｈ」イベントが０個またはそれ以上あることを意味する。方法は、「ｎｏ  ｍａｔｃｈ」イベントがあるかどうかを判別することを含む。肯定の場合、方法は、ブロック４１６に示されているように、「ｎｏ  ｍａｔｃｈ」イベントを返すことを含む。しかし、「ｎｏ  ｍａｔｃｈ」イベントがなければ、方法は、ブロック４１８に示されているように、「ｎｏ  ｉｎｐｕｔ」イベントをインタプリタ５０に返すことを含む。
【００５５】
ブロック４００に戻り、非音声モードからのイベントまたは結果がなかった場合、方法は、音声モードで結果を返したかどうか、つまり、ユーザ・エージェント・プログラム３４が受信情報７４を生成したかどうかを判別することを含む。これは、ブロック４２０に示されている。肯定の場合、ブロック４２２に示されているように、方法は、受け取った入力情報に対する音声応答をマルチモーダル・アプリケーション５４に返すことを含む。しかし、音声ブラウザ（例えば、ユーザ・エージェント・プログラム）が情報を出力しなかった場合、方法は、ブロック４２４に示されているように、音声モードでイベントが返されたかどうかを判別することを含む。「はい」であれば、ブロック４２６に示されているように、イベントは７３でマルチモーダル・アプリケーション５４に報告される。音声モード・イベントが生成されていなかった場合、方法は、ブロック４２８に示されているように、「ｎｏ  ｉｎｐｕｔ」イベントを返すことを含む。
【００５６】
以下の表２は、仮説的データに適用される図４の方法の一例を示している。
表２
ＶｏｉｃｅＭｏｄｅＣｏｌｌｅｃｔｅｄＤａｔａ
ＳＴＲＥＥＴＮＡＭＥ＝Ｍｉｃｈｉｇａｎ
ＴＩＭＥＳＴＡＭＰ＝０
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝．８５
ＮＵＭＢＥＲ＝１１２
ＴＩＭＥＳＴＡＭＰ＝０
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝．９９
ＴｅｘｔＭｏｄｅＣｏｌｌｅｃｔｅｄＤａｔａ
ＳＴＲＥＥＴＮＡＭＥ＝Ｍｉｃｈｉｇａｎ
ＴＩＭＥＳＴＡＭＰ＝０
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝１．０
ＳＴＲＥＥＴＮＡＭＥ＝ＬａＳａｌｌｅ
ＴＩＭＥＳＴＡＭＰ＝１
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝１．０
例えば、ブロック４００で、非音声モードからの結果が受信されなかった場合、方法は、ブロック４０２に進む。ブロック４０２で、イベントがまったく受信されなかった場合、方法はブロック４０６に進む。ブロック４０６で、融合エンジンは、ＴｅｘｔＭｏｄｅＣｏｌｌｅｃｔｅｄＤａｔａを１スロット当たり１つの応答に圧縮する。ＶｏｉｃｅＭｏｄｅＣｏｌｌｅｃｔｅｄＤａｔａはそのままである。
【００５７】
ＶｏｉｃｅＭｏｄｅＣｏｌｌｅｃｔｅｄＤａｔａ
ＳＴＲＥＥＴＮＡＭＥ＝Ｍｉｃｈｉｇａｎ
ＴＩＭＥＳＴＡＭＰ＝０
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝．８５
ＮＵＭＢＥＲ＝１１２
ＴＩＭＥＳＴＡＭＰ＝０
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝．９９
ＯＶＥＲＡＬＬＣＯＮＦＩＤＥＮＣＥ＝．８５
音声モードはそのままである。しかし、．８５が結果セット内の最低信頼度であるため、総信頼度値．８５が割り当てられる。
【００５８】
ＴｅｘｔＭｏｄｅＣｏｌｌｅｃｔｅｄＤａｔａ
ＳＴＲＥＥＴＮＡＭＥ＝Ｍｉｃｈｉｇａｎ
ＴＩＭＥＳＴＡＭＰ＝０
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝１．０
ＳＴＲＥＥＴＮＡＭＥ＝ＬａＳａｌｌｅ
ＴＩＭＥＳＴＡＭＰ＝１
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝１．０
後のタイムスタンプでスロットにＬａＳａｌｌｅが書き込まれているため、テキスト・モードでは、収集データからＭｉｃｈｉｇａｎが削除される。最終結果はこのようになる。そして、１．０が結果セット内の最低信頼度レベルであるため、総信頼度レベル１．０が割り当てられる。
【００５９】
ＴｅｘｔＭｏｄｅＣｏｌｌｅｃｔｅｄＤａｔａ
ＳＴＲＥＥＴＮＡＭＥ＝ＬａＳａｌｌｅ
ＴＩＭＥＳＴＡＭＰ＝１
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝１．０
ＯＶＥＲＡＬＬＣＯＮＦＩＤＥＮＣＥ＝１．０
以下に、ブロック４０８に送信されたデータを示す。
【００６０】
ＶｏｉｃｅＭｏｄｅＣｏｌｌｅｃｔｅｄＤａｔａ
ＳＴＲＥＥＴＮＡＭＥ＝Ｍｉｃｈｉｇａｎ
ＴＩＭＥＳＴＡＭＰ＝０
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝．８５
ＮＵＭＢＥＲ＝１１２
ＴＩＭＥＳＴＡＭＰ＝０
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝．９９
ＯＶＥＲＡＬＬＣＯＮＦＩＤＥＮＣＥ＝．８５
ＴｅｘｔＭｏｄｅＣｏｌｌｅｃｔｅｄＤａｔａ
ＳＴＲＥＥＴＮＡＭＥ＝ＬａＳａｌｌｅ
ＴＩＭＥＳＴＡＭＰ＝１
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝１．０
ＯＶＥＲＡＬＬＣＯＮＦＩＤＥＮＣＥ＝１．０
ブロック４０８で、事実上２つのモードが単一の返却結果に融合される。
まず、最低信頼度レベルの結果全体が取り出され、最終結果（ＦｉｎａｌＲｅｓｕｌｔ）構造の中に入れられる。
【００６１】
ＦｉｎａｌＲｅｓｕｌｔ
ＳＴＲＥＥＴＮＡＭＥ＝Ｍｉｃｈｉｇａｎ
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝．８５
ＮＵＭＢＥＲ＝１１２
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝．９９
その後、次の最低の結果の要素が最終結果の中で置き換えられる。
【００６２】
ＦｉｎａｌＲｅｓｕｌｔ
ＳＴＲＥＥＴＮＡＭＥ＝ＬａＳａｌｌｅ
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝１．０
ＮＵＭＢＥＲ＝１１２
ＣＯＮＦＩＤＥＮＣＥＬＥＶＥＬ＝．９９
この最終結果は、２つのモードを融合したものであり、インタプリタに送られ、そこで、次に何をするかを決定する（Ｗｅｂからさらに情報をフェッチするか、またはユーザからの情報がもっと必要かどうかを決定し、現在の状態に基づいて再度プロンプトを表示する）。
【００６３】
図５は、同時マルチモーダル・セッションパーシスタンス（ｐｅｒｓｉｓｔａｎｃｅ、永続化）コントローラ６００と、同時マルチモーダル・セッション・パーシスタンス・コントローラ６００に結合された同時マルチモーダル・セッション・ステータス・メモリ６０２とを備えるマルチモーダル融合サーバ１４の他の実施形態を示している。同時マルチモーダル・セッション・パーシスタンス・コントローラ６００は、適切な処理デバイス上で実行されているソフトウェア・モジュールであるか、または適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの適切な組み合わせとすることができる。同時マルチモーダル・セッション・パーシスタンス・コントローラ６００は、非セッション状態のときに、ユーザ毎に、同時マルチモーダル・セッション・ステータス情報６０４をデータベースまたはその他の適切なデータ構造の形で保持する。同時マルチモーダル・セッション・ステータス情報６０４は、セッション中の異なる同時モード通信を行うように構成されている複数のユーザ・エージェント・プログラムのステータス情報である。同時マルチモーダル・セッション・パーシスタンス・コントローラ６００は、同時マルチモーダル・セッション・ステータス情報６０４へのアクセスに対する応答としてすでに終了している同時マルチモーダル・セッションを再確立する。マルチモーダル・セッション・コントローラ４０は、ユーザがいつセッションに参加したかを同時マルチモーダル・セッション・パーシスタンス・コントローラ６００に通知する。マルチモーダル・セッション・コントローラ４０は、また、同時マルチモーダル同期コーディネータと通信し、オフライン・デバイスとの同期処理を行うか、または同時マルチモーダル・セッションを再確立するために必要なユーザ・エージェント・プログラムと同期をとる。
【００６４】
同時マルチモーダル・セッション・パーシスタンス・コントローラ６００は、例えば、前の同時マルチモーダル通信セッションのときに所与のモードに使用されるプロキシを示すＵＲＬなどのプロキシＩＤデータ９０６を格納する。必要ならば、同時マルチモーダル・セッション状態メモリ６０２は、さらに、そのようなフィールドまたはスロットの内容とともに前の同時マルチモーダル通信セッション時にユーザからの入力によりどのフィールドまたはスロットが書き込まれたかを示す情報も格納することができる。さらに、同時マルチモーダル・セッション状態メモリ６０２は、同時マルチモーダル通信セッションに対する現在の対話状態６０６を含むことができる。状態には、インタプリタ５０が実行中アプリケーションの実行状態にある場合も含まれる。ユーザがどのフィールドに書き込んだかに関する情報は、融合された入力情報６０の形式とすることができる。
【００６５】
図に示されているように、Ｗｅｂサーバ１８は、モード・タイプ毎にモード特有命令を備えることができる。この例では、テキストは、ＨＴＭＬ形式の形で供給され、音声は、ｖｏｉｃｅＸＭＬ形式の形で供給され、音声はさらに、ＷＭＬ形式で供給される。同時マルチモーダル同期コーディネータ４２は、適切な形式を適切なプロキシに出力する。図に示されているように、ｖｏｉｃｅＸＭＬ形式は、音声ブラウザ用に指定されているプロキシ３８ａを通じて出力されるが、ＨＴＭＬ形式は、グラフィカル・ブラウザ用のプロキシ３８ｎに出力される。
【００６６】
セッション・パーシスタンス維持は、セッションが異常終了し、ユーザがこの後も同じ対話状態に戻りたい場合に使用することができる。また、モードで、異なるモードで入力から出力までの遅延時間を生じさせ、時間遅延を補正するために情報を一時的に格納しておく必要のある、異なる遅延特性を持つトランスポート・メカニズムを使用するのも有益である。
【００６７】
図６〜７に示されているように、同時マルチモーダル・セッション・パーシスタンス・コントローラ６００は、所与のセッションに対する所与のユーザの複数のユーザ・エージェント・プログラムのマルチモーダル・セッション・ステータス情報を保持し、ユーザ・エージェント・プログラムは、セッション中の異なる同時モード通信を行えるように構成されている。これは、ブロック７００に示されている。ブロック７０２に示されているように、方法は、マルチモーダル・セッション・ステータス情報６０４にアクセスすることに対する応答として前の同時マルチモーダル・セッションを再確立することを含む。ブロック７０４に示されているように、より詳しく述べると、同時マルチモーダル・セッション時に、同時マルチモーダル・セッション・パーシスタンス・コントローラ６００はメモリ６０２内にユーザ別マルチモーダル・セッション・ステータス情報６０４を格納する。ブロック７０６に示されているように、同時マルチモーダル・セッション・パーシスタンス・コントローラ６００は、セッション・コントローラーからユーザによるセッション参加を検出し、メモリ内でユーザＩＤを検索して、ユーザが前の同時マルチモーダル・セッションに関与していたかを判別する。したがって、ブロック７０８に示されているように、方法は、ユーザによるセッション参加の検出に基づいてメモリ６０２に格納されているマルチモーダル・セッション・ステータス情報６０４にアクセスする。
【００６８】
ブロック７１０に示されているように、方法は、セッションがメモリ６０４内に存在しているかどうかを判別することを含む。否定の場合、セッションは新しいセッションとして指定され、さらに、新しいエントリが作成され、新しいセッションをメモリ６０２に記録するため必要なデータがそのエントリに書き込まれる。これは、ブロック７１２に示されている。ブロック７１４に示されているように、セッションが存在している場合、例えば、セッションＩＤがメモリ６０２内に存在する場合、方法は、メモリ６０２に対して、ユーザが既存のアプリケーションを実行させているかクエリを実行することを含み、もし実行していれば、ユーザがそのアプリケーションとの通信を再確立したいかクエリを実行することができる。ユーザが望めば、方法は、メモリ６０２から最後にフェッチされた情報のＵＲＬを取り出すことを含む。これは、ブロック７１６に示されている（図７）。ブロック７１８に示されているように、適切なプロキシ３８ａ〜３８ｎに対し、ブロック７１６で取り出された適切なＵＲＬが与えられる。ブロック７２０に示されているように、方法は、メモリ６０２に格納されているユーザ・エージェント状態情報６０６に基づいて、プロキシを介して、適切なユーザ・エージェント・プログラムに要求を送信することを含む。
【００６９】
図８は、同時マルチモーダル・セッション・ステータス・メモリ６０２の内容の一例を示す図である。図に示されているように、ユーザＩＤ  ９００で特定のユーザを指定し、ユーザが複数のセッションをメモリ６０２内に格納している場合にセッションＩＤ  ９０２をユーザＩＤに関連付けることができる。さらに、ユーザ・エージェント・プログラムＩＤ  ９０４は、例えば、特定のユーザ・エージェント・プログラムを実行しているデバイスに関するデバイスＩＤを示す。プログラムＩＤは、ユーザ・プログラム識別子、ＵＲＬ、または他のアドレスでもよい。プロキシＩＤデータ９０６は、前の同時マルチモーダル通信でマルチモーダル・プロキシが使用されていることを示す。したがって、ユーザはセッションを終了し、後から、その終了したところから継続することができる。
【００７０】
デバイスＩＤ  ９０４を保持すると、とりわけ、システムでは同時マルチモーダル・セッションの実行中に使用されているデバイスの識別を保持可能であるため、ユーザは同時マルチモーダル通信中にデバイスを簡単に切り換えられる。
【００７１】
したがって、１つまたは複数のデバイスに分散されている別々のユーザ・エージェント・プログラムを通じて、（あるいは、同じデバイスに含まれている場合）、異なるモードで入力された複数の入力は、統一された一貫性のある方法で融合される。さらに、ユーザ・エージェント・プログラムのレンダリングとそれらのユーザ・エージェント・プログラムを使用したユーザによる情報入力の両方の同期をとるメカニズムが用意されている。さらに、開示されているマルチモーダル融合サーバは、同時マルチモーダル通信セッションを行えるように、既存のデバイスおよびゲートウェイに結合することができる。
【００７２】
さまざまな態様における本発明の他の変更形態および修正形態の実施が、当業者には明らかであること、また本発明は説明されている特定の実施形態に限定されないこと、は理解されるであろう。例えば、本発明の方法はいくつかの工程に関して説明されているが、それらの工程は必要に応じて適切な順序で実行可能であることは理解されるであろう。したがって、開示され本願で権利を請求している基本原理の精神と範囲に包含される一部および全部の修正形態、変更形態、または均等形態は本発明に包含されるものとする。
【図１】
2010033586.tif 000003
【図２】
2010033586.tif 000004
【図３】
2010033586.tif 000005
【図４】
2010033586.tif 000006
【図５】
2010033586.tif 000007
【図６】
2010033586.tif 000008
【図７】
2010033586.tif 000009
【図８】
2010033586.tif 000010