(57)【要約】【課題】ウェブ・ページを特定するデータのための音声リクエストを処理するための方法を提供する。【解決手段】前記方法は、ルールベースのグラマ・ステートマントを含む、ウェブ・ページを特定するデータのための音声リクエストを処理するための方法であって、ルールベースのグラマ・ステートマントと関連したグラマを識別する段階と、グラマと関連しているとして識別された第１の接続が、１つまたは複数の接続を識別するデータ構造において特定されているか否かを決定する段階と、グラマと関連しているとして識別された第１の接続がデータ構造内に特定される場合には、ウェブ・ページを提起することができかつ第１の接続と関連するウインドウの少なくとも部分におけるリクエストを処理する段階と、を含む方法。【選択図】図１
2011227507.tif 000002
【特許請求の範囲】
【請求項１】
ウェブ・ページを特定するデータのための音声リクエストを処理するための方法であって、
該リクエストは、ルールベースのグラマ・ステートマントの少なくとも部分を含み、かつルールベースのグラマ・ステートマントを呼び出し、
該方法は、
音声リクエストに応答して、
複数のグラマのうちいずれがルールベースのグラマ・ステートマントと関連しているかを識別する段階と、
グラマと関連しているとして識別された第１の接続が、複数の接続、及び複数の各接続に対する各グラマとウェブ・ページを提起することができる各ウインドウとを識別するデータ構造において特定されているか否かを決定する段階と、
第１の接続がデータ構造内に特定される場合には、第１の接続と関連するウインドウの少なくとも部分に特定されたウェブ・ページを表示するように、識別されたグラマを用いてリクエストを処理する段階と、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権の注意事項
この特許文書の開示の部分は、著作権の保護を受けている資料を含んでいる。著作権の所有者は、それが特許商標局の特許ファイルまたは記録に表されているときには該特許文書または特許開示のいずれかによる複製に異議を申し立てないが、そうでない場合にはどんな理由であれすべての著作権を保有する。
【０００２】
関連出願
本出願は、２００３年６月６日に出願されたウェブ・ページを音声付勢するためのシステム及び方法という名称の米国仮出願第６０／４７６，８１５号に対する優先権を主張するものであり、その全内容は、参照によりここに組み込まれるものとする。
【０００３】
本出願は、以下の継続中の特許出願にも関係するものであり、その全内容な参照によりここに組み込まれるものとする。
・  国際公開第ＷＯ／０２／４４８８７  Ａ２として２００２年６月６日に公開された、２００１年１１月３０日に出願されたウェブ・ページを音声付勢するための方法及びシステムという名称のＰＣＴ国際出願番号第ＰＣＴ／ＵＳ０１／４５２２３号
・  ２０００年１２月１日に出願されたウェブ・ページを音声付勢するための方法及びシステムという名称の米国仮特許第６０／２５０，８０９号
【背景技術】
【０００４】
ここに開示された本発明は、概して、ウェブ・ページを音声付勢（もしくは音声駆動）することに関する。一層詳細には、本発明は、ウェブ・ページ及び複雑なウェブ・ページを含む多数のウインドウを音声付勢するためのシステム及び方法を提供する。
【０００５】
過去十年間に渡って、自動化された音声認識（“ＡＳＲ”）システムは、手ごろな価格のパーソナル・コンピュータ及びワークステーションにインストールされるＡＳＲシステムによって高い程度の認識の正確さを得られ得るという点まで進歩してきた。このことは、消費者及び産業上の応用にとって利用可能なＡＳＲシステムの数を上昇させてきた。
【０００６】
ＡＳＲシステムは、マイクロフォンを介して音声指令入力を認識してそれらの指令に作用するために音声グラマ（文法）に依存している。音声グラマは、２つのカテゴリ、ルールベースのグラマとフリー・スピーチ（音声）のグラマ、に分類される。ルールベースのグラマは、予め定められたフレーズ（句）の制限されたセットの認識を許容する。各ルールベースのグラマは、発声（ウテランス）がイベントまたはイベントのセットを生じさせる場合に発動される。ルールベースのグラマは、マイクロフォンを介して入力された発声（ウテランス）が、予め定められたフレーズ（句）のセット内に記憶されたフレーズ（句）に対応するスピーチ（音声）・テンプレートと一致する場合に発動される。例えば、ユーザは、セーブ指令を発動させるようワード処理プログラム内の文書を編集している間に、“セーブ・ファイル”と言い得る。
【０００７】
他方、フリー・スピーチのグラマは、ビジネス英語のような与えられた領域における大きい組のワードを認識する。これらのグラマは、概して、口述もしくは書き取り（デクテーション）の応用のために用いられる。これらのシステムの幾つかの例は、Ｄｒａｇｏｎ  Ｎａｔｕｒａｌｌｙ  Ｓｐｅａｋｉｎｇ  と、ＩＢＭ  Ｖｉａ  Ｖｏｉｃｅ  ７  Ｍｉｌｌｅｎｎｉｕｍ  とである。ＡＳＲシステムは、また、ＡＳＲシステムが、合成された音声を用いて図式的にレンダリング（表示）されたテキスト（文字列）を話すのを可能とする、組み込まれたテキスト対スピーチ（“ＴＴＳ”）（文字列対音声）能力をも有する。例えば、ＡＳＲシステムは、スピーカを通して声を出してワード・プロセッサ内の強調されたパラグラフを読取ることができる。
【０００８】
ＡＳＲシステムは、音声可能化されたウェブ・ブラウザを創成するために、ウェブ・ブラウザと一体化されてきた。音声可能化されたウェブ・ブラウザは、ルールベースのグラマを発動させる音声指令を用いることにより、ユーザがインターネットをナビゲート（探査）することを許容する。これらのブラウザによって用いられる音声指令の幾つかは、ソフトウェアに、ウェブ・ブラウザによって用いられる伝統的な指令を実行させる発声（ウテランス）を含む。例えば、ユーザが、マイクロフォンに“ホーム”というならば、音声可能化されたブラウザは、音声可能化されたウェブ・ブラウザの“ホーム”ボタンをユーザがクリックした場合に音声可能化されたウェブ・ブラウザが実行するであろうのと同じルーチンを実行するであろう。
【０００９】
さらに、幾つかの音声可能化ウェブ・ブラウザは、ウェブ・ページ・コンテントに基づいてルールベースのグラマを創成する。ウェブ・ページがダウンロードされて表示されるので、幾つかの音声可能化ウェブ・ブラウザは、ウェブ・ページ内に含まれたリンクに基づいてルールベースのグラマを創成する。例えば、もし、ウェブ・ページがリンク“カンパニ・ホーム”を表示したならば、このような音声可能化ウェブ・ブラウザは、ウェブ・ページが表示されている間有効なルールベースのグラマを創成するであろうし、それにより、ユーザが、マイクロフォンにフレーズ（句）“カンパニ・ホーム”と口に出して言う場合には、音声可能化ウェブ・ブラウザは、リンクと関連したウェブ・ページを表示する
であろう。この方法の１つの欠点は、ウェブ・ページがしばしば再設計されないので、ウェブ・ページ・コンテントから発生されたルールが長期間に渡って固定されているということである。さらに、ルールベースのグラマは、可視表示のために主に意図されたウェブ・ページ・コンテントから発生される。実際、これらのシステムは、スクリーン上に現れたものを言うことに、ユーザを制限する。
【００１０】
ウェブ・ページは、また、音を出力させるようにするオーディオ要素を組み込むこともできる。現在、ウェブ・ページは、それらのウェブ・ページを２つの方法でオーディオ要素に組み込むことができる。オーディオ要素を組み込むための第１の方法は、人間が作り出す音声をウェブ・ページに提供するために、オーディオ・ウェーブ・ファイル・コンテントを用いることである。オーディオ・ウェーブ・ファイルを用いれば、ウェブ・ページの設計者が、ウェブ・ページの可視及び可聴部分を独立に設計するのを許容するが、この自由かつ追加された機能性は、高価格になる。エンド・ユーザにインターネットを介してバイナリ・サウンド・ファイルを転送するために必要な帯域幅は、極端に大きい。
【００１１】
オーディオ要素を組み込むための第２の方法は、ＡＳＲシステムの機能性を利用する（leverage）ことである。音声可能化されたウェブ・ブラウザは、ウェブ・ページのコンテントをコンピュータに“しゃべらせる”ような方法で、ＡＳＲシステムのＴＴＳ機能を用い得る。この方法を用いれば、オーディオ要素を有してまたは有さずにページを観察するために必要とされる帯域幅がほぼ同じであるようにするが、ウェブ・ブラウザが何をしゃべることができるかということに関する対象をウェブ・ページのコンテントに制限する。
【００１２】
音声ＸＭＬ（ＶＸＭＬ）は、ウェブ・ページの設計者にもう１つのオプションを与える。ＶＸＭＬは、ユーザが、代表的には電話を介して用いられるオーディオ指令の使用だけを通してウェブサイトをナビゲート（探索）するのを許容する。ＶＸＭＬは、ＴＴＳトランスレータが、可視のウェブ・ページをウェブ・ページのオーディオ表現に変換することによりユーザにウェブ・ページを読取らせることを必要とする。ユーザは、ユーザが追随することを望むリンクをしゃべる（スピーキングする）ことによりウェブをナビゲート（探索）する。この方法では、ユーザは、ユーザの音声だけを用いることによってインターネットをナビゲート（探索）できるが、オーディオ・コンテントは、代表的には、視覚の判断に対して主に設計されているウェブ・ページ・コンテントから発生され、視覚の境界面はユーザの経験から取り除かれる。
【００１３】
従って、本発明者等は、ＰＣＴ国際出願第ＰＣＴ／ＵＳ０１／４５２２３号にさらに記載されているシステム（参照により、その全体をここに組み込むものとする）を発明することにより、大量の送信帯域幅を必要とせず、かつウェブ・ページの視覚の要素と共に存在する、ウェブ・ページのオーディオ要素を独立に創成するための必要性を取り扱った。ＰＣＴ／ＵＳ０１／４５２２３号の出願は、中でも、単一かつ単純な可視のウェブ・ページにおける音声コンテントを付勢するためのシステム及び方法を開示している。
【００１４】
ＰＣＴ／ＵＳ０１／４５２２３号の出願のシステムは、ブラウザとして同じコンピュータ・デバイス（またはこのデバイスの音出力チャンネル）にアクセスするプロキシ・サーバを介してウェブ・ページ内のスピーチ（音声）・コンテントを制御する。プロキシ・サーバは、スピーチ・コンテントのためのデータを調べ、同時に、他のすべての要求されたデータをブラウザに供給する。ユーザがリンクをクリックした場合には、ＵＲＬによって特定されるブラウザによって要求されたデータは、特定されたウェブ・サーバにプロキシ・サーバを介して通される。ウェブ・サーバからの要求された資料は、ブラウザに戻し通される。
【００１５】
しかしながら、新しいＵＲＬがスピーチ・イベントを介してユーザによって要求される場合には、プロキシ・サーバは、ブラウザを介して、特定されたウェブ・サーバからこのデータ（例えば、特定のプログラム、またはウェブ・サーバ上の他の指令を実行する）を要求する。従って、結果のデータは、ブラウザに“押し”戻されることを必要とする。このことは、ＰＣＴ／ＵＳ０１／４５２２３号の出願にさらに記載されているｔｈｅ  ｍｕｌｔｉｐａｒｔ／ｘ−ｍｉｘｅｄ−ｒｅｐｌａｃｅ  ｍｉｍｅ  ｔｙｐｅの使用を介して達成される。このタイプは、ブラウザが、ブラウザとプロキシ・サーバとの間の接続を開に保持するようにし、かつ与えられた信号または他のトークンが送られるかまたは接続が閉じられるかするまで、受付データを継続させるようにする。例えば、ブラウザから要求された新しい“クリック”のために、または、新しいページ内にスピーチ・コンテントが無いという理由で、終結が生じ得る。終結のための環境は、ＰＣＴ／ＵＳ０１／４５２２３号の出願の図３Ｂに示されてそこに説明されている真値表にさらに記載されている。
【００１６】
本発明者等は、例えば、与えられたブラウザの多数の状況またはウインドウにおいて、もしくは、与えられたウインドウ内の多数のフレームにおいて、同時に動作する多数のページからのコンテントまたは複雑かつ集合的なコンテントを含むウェブ・ページと共に動作させるためにシステムをいかに拡張させるかということを含め、ここにさらに説明される追加の改良を確認している。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００３−３６４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
本発明は、とりわけ、音声付勢（駆動）されるウェブ・ページに関する上述の問題を取り扱うことにある。
【課題を解決するための手段】
【００１９】
一実施形態においては、システムは、ルールベースのグラマ・ステートマントを含む、ウェブ・ページを特定するデータのための音声リクエストを処理するための方法であって、
ルールベースのグラマ・ステートマントと関連したグラマを識別する段階と、
グラマと関連しているとして識別された第１の接続が、１つまたは複数の接続を識別するデータ構造において特定されているか否かを決定する段階と、
グラマと関連しているとして識別された第１の接続がデータ構造内に特定される場合には、ウェブ・ページを提起することができかつ第１の接続と関連するウインドウの少なくとも部分におけるリクエストを処理する段階と、
を含む方法を含む。幾つかの実施形態においては、リクエストは、フレーズ部分、指令部分及びタグ部分を有するルールベースのグラマ・ステートマントを含むリクエストを備える。
【００２０】
幾つかの実施形態においては、システムは、グラマと関連しているとして識別された第１の接続がデータ構造内に特定されない場合には、ウェブ・ページを提起することができかつ第２の接続と関連する新しいウインドウの少なくとも部分におけるリクエストを処理する。データ構造に第２の接続を追加し、そして第２の接続をグラマと関連させる。幾つかの実施形態においては、新しいウインドウも該接続に関連される。システムは、また、該接続と関連されるウインドウがクローズされる場合には、データ構造から接続の識別を除去するための方法をも含む。
【００２１】
幾つかの実施形態においては、新しいウインドウは、第２の接続と関連された計算デバイスによってロードされる最後のウインドウを含むか、第２の接続と関連される計算デバイスにおけるアクティブ・ウインドウを含むか、またはユーザの好みにより選択される。幾つかの実施形態においては、グラマは、接続と関連される計算デバイスによってロードされる最後のウインドウと関連されたグラマであるか、接続と関連された計算デバイスにおいてアクティブ・ウインドウと関連されるグラマであるか、またはユーザの好みにより選択される。ウインドウは、ブラウザ・ウインドウまたはフレームのようなウインドウの部分を含み得る。
【００２２】
幾つかの実施形態においては、リクエストは、ウェブ・ページに埋設された複合データのためのリクエストのような、複合データのためのリクエストを含む。幾つかの実施形態においては、システムは、リクエストされるデータのタイプを決定するために、リクエストと関連されたヘッダまたはフッタを調査する、例えば、マイム・タイプを特定するヘッダまたはフッタを調査する。幾つかの実施形態においては、システムは、リクエストされるデータのタイプを決定するために、リクエストと関連されたファイルネームまたはファイル拡張子を調査する。
【００２３】
幾つかの実施形態においては、システムは、ウェブ・ページを特定するデータのための音声リクエストを処理するための方法であって、
フレーズ部分、指令部分及びタグ部分を有するルールベースのグラマ・ステートマントを含む、ウェブ・ページを特定するデータを、接続から受信する段階と、
該接続が、１つまたは複数の接続を識別するデータ構造内に特定されるか否かを決定する段階と、
１つまたは複数のグラマを識別するデータ構造から、接続と関連されるグラマを選択する段階と、
接続が１つまたは複数の接続を識別するデータ構造内に特定される場合には、ウェブ・ページを提起することができかつ接続と関連される第１のウインドウの少なくとも部分における選択されたグラマを用いてルールベースのグラマ・ステートマントを処理する段階と、
を含む方法を含む。
【００２４】
幾つかの実施形態において、システムは、１つまたは複数のグラマを特定するデータ構造から、接続と関連される新しいグラマを選択し、そして接続が１つまたは複数の接続を特定するデータ構造内に特定されない場合には、接続と関連される新しいウインドウの少なくとも部分における選択されたグラマを用いて、ルールベースのグラマ・ステートマントを処理する。幾つかの実施形態において、システムは、また、１つまたは複数の接続を特定するデータ構造に接続を追加し、そして該接続を、１つまたは複数のグラマを特定するデータ構造内の新しいグラマと関連させる。
【００２５】
幾つかの実施形態において、システムは、ウェブ・ページを特定するデータのための音声リクエストを処理するための方法であって、
フレーズ部分、指令部分及びタグ部分を有するルールベースのグラマ・ステートマントを含む、ウェブ・ページを特定するデータのためのリクエストを受信する段階と、
ウインドウがリクエストと関連されているか否かを決定する段階と、
ウインドウがリクエストと関連されている場合には、リクエストと関連されているウインドウの少なくとも部分におけるリクエストを処理する段階と、
を含む方法を含む。
【００２６】
幾つかの実施形態において、システムは、ウインドウがリクエストと関連されていない場合には、新しいウインドウの少なくとも部分におけるルールベースのグラマ・ステートマントを処理する。幾つかの実施形態においては、システムは、リクエストと関連されている接続を識別し、そして該接続を新しいウインドウと関連させる。
【００２７】
本発明は、例示的なものであり、制限的なものでは無いということを意味する添付図面において説明される。なお、図面中、同じ参照数字は、同じもしくは対応の部品に言及するということを意図している。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態によるウェブ・ページの音声付勢（駆動）を行うシステムのためのネットワーク・アーキテクチャを示すブロック図である。
【図２】本発明の実施形態によるウェブ・ページの音声付勢（駆動）を行うための方法のフロー図である。
【発明を実施するための形態】
【００２９】
図１を参照すると、本発明の実施形態が提起されている。図１は、本発明の実施形態によるウェブ・ページの音声付勢を行うシステムのためのネットワーク・アーキテクチャのブロック図を提起する。示されているように、システムは、ネットワーク１０５に接続された１つまたは複数のクライアント・デバイス１００と、ウェブ・サーバ１１０と、ブラウザ１１５と、ハイパースピーチ・マークアップ言語（“ＨＳＭＬ”）プロセッサ１２０と、スレッド・モジュール１２５と、スピーチ・モジュール１３０と、スピーチ・エンジン１３５と、プロキシ・サーバ１４０と、ブラウザ・アプリケーション・プログラム・インターフェース（“ＡＰＩ”）１４５とを含む。
【００３０】
クライアント・デバイス１００は、例えば、クライアント・コンピュータと、携帯電話と、個人用携帯情報機器（“ＰＤＡ”）と、タブレットＰＣと、プロセッサが装備されかつここに及びＰＣＴ／ＵＳ０１／４５２２３号の出願にさらに説明されるブラウザ１１５のソフトウェア・モジュールを支援することができる他の同様の電子デバイスとを含み得る。クライアント・デバイス１００は、ネットワーク１０５を介してウェブ・サーバ１１０または他の同様のサーバに通信的に結合される。例えば、一実施形態において、クライアント・デバイス１００は、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、ワイレス・ネットワーク、または同様の他のネットワークもしくはそれらの組み合わせを介してウェブ・サーバ１１０に接続され得る。
【００３１】
クライアント・デバイス１００は、ハイパーテキスト・マークアップ言語（“ＨＴＭＬ”）ページ及びウェブ・サーバ１１０からの他のデータ・フィル、並びに関連の視聴覚ファイル及び当該技術分野で既知の他のタイプのファイルを受信するよう概して構成された、ウェブ・ブラウザのようなブラウザ１１５を実行する。例えば、幾つかの実施形態においては、クライアント・デバイスは、インターネット・イクスブローラ・ブラウザ、ネットスケープ・ブラウザ、オペラ・ブラウザ、及び他の類似のブラウザを実行する。
【００３２】
ブラウザ１１５は、また、ここにおいてかつＰＣＴ／ＵＳ０１／４５２３３号の出願においてさらに説明されるハイパースピーチ・マークアップ言語（“ＨＳＭＬ”）プロセッサ１２０に通信的に結合される。ＨＳＭＬプロセッサ１２０は、ソフトウェア・モジュール、データ構造、並びに他のプログラム・コードを含み、該プログラム・コードは、概して、ＨＳＭＬデータ、ＨＴＭＬデータ、及びここにおいてかつＰＣＴ／ＵＳ０１／４５２３３号の出願においてさらに記載されるブラウザ１１５における視聴覚データのような他の関連のデータを含むウェブ・ページを処理して提起するよう構成されている。
【００３３】
幾つかの実施形態において、ＨＳＭＬプロセッサ１２０は、スレッド・モジュール１２５と、スピーチ・モジュール１３０とを含む。スレッド・モジュール１２５は、追加のソフトウェア・モジュール、データ構造、及び他のプログラム・コードを含み、該プログラム・コードは、概して、スレッドを取り扱って、ブラウザ１１５と、ウェブ・サーバ１１０と、ネットワークに接続された他のデバイスとの間を通過するデータ・コンテントを調査することに向けられている。スレッド・モジュール１２５は、スピーチ・モジュール１３０と通信的に結合される。
【００３４】
スピーチ・モジュール１３０は、追加のソフトウェア・モジュール、データ構造、及びＨＳＭＬプロセッサ１２０とスピーチ・エンジンとの間の通信を調整することに概して向けられている他のプログラム・コードを含む。例えば、スピーチ・モジュール１３０は、ＨＳＭＬプロセッサ１２０と、Ｄｒａｇｏｎ  Ｎａｔｕｒａｌｌｙ  Ｓｐｅａｋｉｎｇ，ＩＢＭ  ＶｉａＶｏｉｃｅのようなスピーチ・エンジン１３５、または当該技術分野で既知のもう１つのスピーチ・エンジンとの間の通信を調整し得る。幾つかの実施形態において、スピーチ・モジュール１３０は、スピーチ・エンジン１３５に通信的に結合され、ＨＳＭＬデータ及び他のデータを処理のためにスピーチ・エンジン１３５に通す。幾つかの実施形態において、スピーチ・エンジン１３５は、ＨＳＭＬタグ・データを通すか、もしくは、スピーチ・モジュール１３０が新しいページを処理するために新しいページ処理機能またはルーチンを付勢すべきであるということを示す他のデータを通す。スピーチ・モジュール１４０は、次に、ブラウザ１１５に、ウェブ・サーバ１１０に、またはネットワークに接続される他の計算デバイスに通信されるために、スピーチ・エンジン１３５からスレッド・モジュール１２５に新しいページのアドレスを戻す。幾つかの実施形態において、スピーチ・モジュール１３０は、ＨＳＭＬデータまたは他のデータから導出された新しいスピーチ・データをスピーチ・エンジン１３５にローディングするページを処理して、新しいグラマ及び他の情報のスピーチ・エンジン１３５へのローディングを管理する。
【００３５】
スピーチ・モジュール１３０は、また、スピーチ・エンジン１３５とスレッド・モジュール１２５との間の通信を調整する。例えば、スピーチ・エンジン１３５は、ＨＳＭＬタグ・データを通すか、または、新しいページが処理のためにスピーチ・モジュール１３０に通されるべきであるということを示す他のデータを通す。スピーチ・モジュール１３０は、次に、ブラウザ１１５に、ウェブ・サーバ１１０に、またはネットワークに接続される幾つかの他のデバイスに通信されるために、スピーチ・エンジン１３５からスレッド・モジュール１２５に新しいページのアドレスを戻すであろう。
【００３６】
幾つかの実施形態において、ＨＳＭＬプロセッサ１２０は、図１に示されるプロキシ・サーバ１４０上にあって、そこで実行する。他の実施形態において、ＨＳＭＬプロセッサ１２０は、ブラウザと同じデバイス上にあってそこで実行するか、またはそうでない場合には、ブラウザに通信的に結合され、ＰＣＴ／ＵＳ０１／４５２２３号の出願にさらに説明されているように、プロキシ・サーバのように単に作用する。前述のこれら２つの実施形態のいずれかにおいて、ウェブ・サーバ１１０とブラウザ１１５との間の通信は、このように、ＨＳＭＬプロセッサ１２０を通して通過し、直接ではない。幾つかの実施形態において、ＨＳＭＬプロセッサ１２０は、ｔｈｅ  ｍｕｌｔｉｐａｒｔ／ｘ−ｍｉｘｅｄ−ｒｅｐｌａｃｅ  ｍｉｍｅ  ｔｙｐｅを用いて、ブラウザ１１５とＨＳＭＬプロセッサ１２０またはプロキシ・サーバ１４０との間の開接続を維持し、そして、ここにおいてかつＰＣＴ／ＵＳ０１／４５２２３号の出願においてさらに説明するように、データをブラウザに押し進める。
【００３７】
例えば、幾つかの実施形態において、システムは、コネクションレス態様で履行され、前ウインドウ・アドレスのようなアドレスを維持してウインドウと関連したリクエストを追跡する。アプレットのようなウインドウにおけるサービスが、（例えば、それ自身を更新する等のために）リクエストを受け付ける。プロセス、例えばプロキシ・サーバ１４０、またはクライアント側の他のプロセスは、コンテントが向けられるべきウインドウを決定し、そしてスピーチ・エンジン１３５との通信を取り扱う。
【００３８】
他の実施形態において、ＨＳＭＬプロセッサ１２０は、ブラウザ１１５と同じデバイス上に存在し（または、そうでない場合には、ブラウザ１１５と通信的に結合され）、ここに、ＨＳＭＬプロセッサ１２０は、ＡＰＩ １４５を介してブラウザと通信し、そしてＨＳＭＬプロセッサ１２０及びブラウザ１１５の双方は、ウェブ・サーバ１１０と直接通信する。例えば、ブラウザは、指令、プログラム命令、及びＨＳＭＬプロセッサ１２０とブラウザ１１５との間の他のデータを通して実行することができ、かつＨＳＭＬプロセッサ１２０との通信に向けられる、プラグインまたは他の同様のＡＰＩを含み得る。従って、幾つかの実施形態において、ブラウザ１１５は、ウェブ・サーバ１１０からのＨＳＭＬデータを有するウェブ・ページを受信し得、そしてＡＰＩ １４５を用いて、ＨＳＭＬデータ及び関連の命令をここでさらに説明する処理のためにＨＳＭＬプロセッサ１２０に通す。
【００３９】
幾つかの実施形態において、システムは、分離したプロキシ・サーバ１４０無しで作用するプログラミング、例えば、ブラウザ１１５におけるアプレットを含む。例えば、アプレットは、ページＨＳＭＬデータ及び他のタイプのデータのローディングを調整するために、スピーチ・エンジン１３５と、ウェブ・サーバと、ブラウザと、他のアプレットと、もしくは他のネットワーク素子と直接通信し得る。従って、どのアプレットが中心または活用できるグラマを有するか、ルール競合をいかに解決するか、等に関してアプレットが互いに協議する配分モデルが提起される。幾つかの実施形態において、この機能を支援するためのデータ構造は、ブラウザ・メモリ内に維持されるか、または当該技術分野において既知の方法を介してアプレット間を通される。
【００４０】
図２は、本発明の実施形態によるウェブ・ページの音声付勢を行うための方法のフロー図を提起している。システムは、ブラウザ１１５とウェブ・サーバ１１０または他のサーバとの間のデータ通過を調査する（ステップ１５０）。例えば、幾つかの実施形態において、ブラウザ１１５は、ＨＴＭＬドキュメント、または埋設されたデータを有するウインドウのような複合ウインドウを含む他のドキュメントを処理する。例えば、ブラウザ１１５は、テキスト、グラフィックス、及び当該技術分野において既知の他のページ・アセット（assets）を含むドキュメントを処理し得る。
【００４１】
グラフィックのようなアセットのためのバイナリ・ファイルは、概して、ドキュメントを有するブラウザ１１５に通されないが、代わりに、イメージ・タグを介してまたはユニフォーム・リソース・ロケータ（“ＵＲＬ”）リンクのようなリンクを含む他の同様のマークアップ・タグを介して、アセットを含むバイナリ・ファイルに参照される。ブラウザ１１５は、次に、リンクを含むイメージ・タグをパース（構文解析）し、そしてリンクを用いて、ウェブ・サーバ１１０からのアセットのためのバイナリ・ファイルをリクエストする。
【００４２】
代替的には、ブラウザ１１５は、ＨＴＭＬリクエストまたはデータのための他のリクエスト、例えば、新しいページを特定するリクエストを、ウェブ・サーバ１１０に通過させ得る。従って、ブラウザ１１５からウェブ・サーバ１１０へのリクエストは、概して、リクエストが、イメージ・ファイル、オーディオ・ファイルまたは他の同様のアセットのような現在のページのアセットに対するものであるか否か、またはリクエストがＨＴＭＬリクエストであるか否かを示すマイムの型（ａ  ｍｉｍｅ  ｔｙｐｅ）を含む。システムは、ＨＴＭＬリクエスト及び他の同様のリクエストだけが、ＰＣＴ／ＵＳ０１／４５２２３号の出願にさらに記載されているシステムのＨＳＭＬ機能に関連し得るので、データを調査する。
【００４３】
ＨＳＭＬプロセッサ１２０が、プロキシ・サーバ１４０の構成要素であるか、または概してプロキシ・サーバ１４０として機能する実施形態においては、システムは、現在のページ内に埋設された集合データのためのリクエストを同時に受け付けて調査している間に、ＰＣＴ／ＵＳ０１／４５２２３号の出願に記載されたｔｈｅ  ｍｕｌｔｉｐａｒｔ／ｘ−ｍｉｘｅｄ−ｒｅｐｌａｃｅ  ｍｉｍｅ  ｔｙｐｅを用いてブラウザ１１５とＨＳＭＬプロセッサ１２０との間の接続を開に保持する。他の実施形態においては、ＨＳＭＬプロセッサ１２０は、ボイス・イネーブル・ウェブ・ページに対するブラウザ１１５のＡＰＩ １４５と相互作用する。例えば、ＡＰＩ １４５は、データが、（ウィンドウに関する情報またはデータに関連するフレームと一緒に）処理のためにＨＳＭＬプロセッサ１２０に通されるべきスピーチ・イベントを含むか否か、またはデータが、ここで及びＰＣＴ／ＵＳ０１／４５２２３号の出願にさらに記載されるようにブラウザによって取り扱われるべき複素データを含むか否かを決定するために、データを調査する。ＨＳＭＬプロセッサ１２０は、また、スピーチ・イベントを処理して、該結果を、ＡＰＩ １４５を介してブラウザ１１５に通信する。
【００４４】
従って、システムは、リクエストが、現在のページと共に埋設された集合または複合データのためのリクエストであるか、または新しいデータのためのＨＴＭＬリクエストであるか（ステップ１５５）否かを決定するために、ブラウザ１１５からウェブ・サーバ１１０へのリクエストを調査する。幾つかの実施形態においては、システムは、リクエストのタイプを決定するために、ヘッダ、フッタ、もしくはマイム・タイプ（ａ  ｍｉｍｅ  ｔｙｐｅ）または他の情報を特定するリクエストと関連した他のデータを調査する。例えば、リクエスト・ヘッダ・マイム・タイプ（ｍｉｍｅ  ｔｙｐｅ）は、ファイルがＪＰＥＧファイルであることを示し得、従って、システムは、リクエストが複素データのためのリクエストであって、新しいＨＴＭＬリクエストではないということを決定する。幾つかの実施形態において、リクエスト・ヘッダ、フッタ、またはリクエストと関連する他のデータは、マイム・タイプ（ａ  ｍｉｍｅ  ｔｙｐｅ）を特定せず、またはリクエストされたデータに対応する他の情報を特定しない。これらの場合において、システムは、リクエストに関連したファイルネーム及びファイル拡張子を調べることによってリクエストされたデータ・コンテントのタイプを決定する。このように、ファイル“ｐｉｃｔｕｒｅ.ｇｉｆ”のためのリクエスト・ヘッダがマイム・タイプ（ａ  ｍｉｍｅ  ｔｙｐｅ）を特定しなかったならば、システムは、新しいＨＴＭＬリクエストではなくむしろ複合データを含みそうである既知のファイル拡張子のリストまたは他のデータ構造をファイル拡張子“.ｇｉｆ”と相関させるようファイルネーム“ｐｉｃｔｕｒｅ.ｇｉｆ”を調査することによって、リクエストが複合データのものかまたは新しいＨＴＭＬデータのためのものかを推量することを試みるであろう。
【００４５】
リクエストがＨＴＭＬリクエストまたは新しいデータのための他のリクエスト、例えば、新しいページまたは新しいウインドウのためのリクエストでないならば、当該技術において既知の通常のプロキシ・サーバと同様に機能するＨＳＭＬプロセッサ１２０または（ＡＰＩ １４５が存在する場合における）ブラウザのいずれかからサーバに直接データが通される（ステップ１６０）。ＨＳＭＬプロセッサがプロキシ・サーバと同様に機能している場合の実施形態において、“マスタ”接続、すなわち、ブラウザにｔｈｅ  ｍｕｌｔｉｐａｒｔ／ｘ−ｍｉｘｅｄ−ｒｅｐｌａｃｅ  ｍｉｍｅ  ｔｙｐｅを特定したもの、は、与えられたページのためのすべてのデータがリクエストされている間にこのプロセスを通して維持される。
【００４６】
しかしながら、もし、リクエストが新しいＨＴＭＬ（またはテキスト）データのためのものであるならば、該データは、ブラウザ１１５からの新しいリクエストと考慮され、そしてシステムは、リクエストがスピーチ・イベントによって発生されていたか否かを決定する（ステップ１６２）。もし、イベントがスピーチ・イベントによって発生されていなかったならば、例えば、イベントがユーザのマウスクリックによってもしくはユーザがＵＲＬをブラウザ１１５に直接タイピングすることにより発生されたものならば、次に、システムは、当該技術で知られたように新しいデータのための通常のＨＴＭＬリクエストとしてイベントを処理し、制御は、ブロック１７５に通る。
【００４７】
幾つかの実施形態において、システムは、接続に関連した活動（アクティビティ）、例えば、ＨＳＭＬデータまたはページ・クロージングを含まない新しいページのためのリクエストを検出し、そしてＰＣＴ／ＵＳ０１／４５２２３号の出願にさらに記載されたようなクリーンアップ動作を行う。例えば、システムは、ブラウザで古い接続を終結するクリーンアップ動作を行い、そしてまた、該接続に関連した先のグラマを概して検出する。
【００４８】
新しいＨＴＭＬ（またはテキスト）データのためのリクエストがスピーチ・イベントによって発生されたならば、システムは、リクエストが現存する接続から来たかまたは新しいブラウザ接続から来たかを決定する（ステップ１６５）。例えば、一実施形態において、システムは、ウェブ・ページを特定するデータのような、接続からのリクエストを受信し、該データは、フレーズ（句）部分、指令部分及びタグ部分を有するルールベース化されたグラマ・ステートマントを含む。幾つかの実施形態において、ＨＳＭＬプロセッサ１２０及びブラウザ１１５は、新しいＨＴＭＬデータのためのリクエストを評価するよう、ＡＰＩ １４５を介して通信する。幾つかの実施形態において、システムは、データ構造、機能、プロセス、及び、http://java.sun.com/products/java-media/speech/forDevelopers/JSGF/JSGF.html#11803
において入手可能な“Ｊａｖａ（登録商標）  Ｓｐｅｅｃｈ  Ｇｒａｍｍａｒ  Ｆｏｍａｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”にさらに記載されて参照によりその全体においてここに組み込まれる他の方法を用いる。他の実施形態において、システムは、開いたまたは現存する接続またはソケットと、それらの関連のグラマとの間の関連を管理することに向けられたソフトウェア・オブジェクトまたは接続マネージャまたは他のソフトウェア・モジュールを含む。例えば、ユーザは、幾つかのブラウザ１１５のウインドウを開にさせるかまたは多数のフレームを有する１つのブラウザ１１５のウインドウを開にさせ得る。これらのウインドウまたはフレームの各々は、（ｔｈｅ  ｍｕｌｔｉｐａｒｔ／ｘ−ｍｉｘｅｄ−ｒｅｐｌａｃｅ  ｍｉｍｅ  ｔｙｐｅサーバ・プッシュ方法または他の同様の方法を介して）開接続と関連し、そしてＰＣＴ／ＵＳ０１／４５２２３号の出願にさらに記載される関連のスピーチ・グラマと関連する。従って、他の中でもとりわけ、接続マネージャは、新しいＨＴＭＬデータのためのリクエストを調査して、リクエストが現存する接続から来るかまたは新しい接続から来るかを決定する。
【００４９】
幾つかの実施形態において、接続マネージャは、概して、２つのセットのリストまたは他のデータ構造を含み、該リストから項目を追加または削除するよう機能し、そしてそれ自身と対応のリストとをハッシュとして再計算するよう機能する、ソフトウェア・オブジェクトを含む。２つのリストは、ウインドウまたはフレームに対する開のまたは現存の接続またはソケットと、該ウインドウまたはフレームに付随するグラマとの間の関連を追跡する第１のリストと、スピーチ・ルールと該スピーチ・ルールに付随するグラマとの間の関連を追跡する第２のリストとを含む。幾つかの実施形態において、接続は、スレッドを含み得、その場合、例えば、処理がクライアントにおける多数のスレッド化された環境において生じる。本発明の一実施形態によるこれらのリストのための例示的なデータ構造は、付録Ａとしてここに添付される。幾つかの実施形態において、接続マネージャは、スレッド・モジュール１２５またはＡＰＩ １４５と関連したソフトウェア・モジュールまたはソフトウェア・オブジェクトを含む。他の実施形態においては、接続マネージャは、独立のソフトウェア・モジュールまたはソフトウェア・オブジェクトを含む。
【００５０】
リクエストが開のまたは現存の接続から来るならば、接続マネージャは、リクエスト内に含まれるまたはリクエストと関連したスピーチ・ルールを調査して、そのリストに対してルックアップを行い、リクエストと関連したグラマ及び接続を決定する（ステップ１７０）。幾つかの実施形態において、新しい接続は、ブラウザ１１５と、ウェブ・サーバ１１０またはプロキシ・サーバ１４０との間に創設される（ステップ１７５）。幾つかの実施形態において、プロキシ・サーバ１４０との新しい接続は、接続リスト、または接続マネージャによって維持された他の同様のデータ構造に加えられる。幾つかの実施形態において、システムは、また、プロキシ・サーバ１４０とウェブ・サーバ１１０またはブラウザ１１５との間の接続を追跡して、例えば、スレッド化した同時リクエストまたは他の目的で処理を行う。
【００５１】
システムは、また、新しい接続に関係した入って来るデータを評価して、新しい接続と関連した新しいグラマがあるかどうかを決定する。新しいグラマが接続と関連するならば、該グラマ及びそれと関連する幾つかのスピーチ・ルールがロードされて、また、前述したように、適切な接続マネージャに加えられる。ＰＣＴ／ＵＳ０１／４５２２３号の出願にさらに記載されるように、システムは、概して、クリーンアップ動作を行い、ブラウザとＨＳＭＬプロセッサ１２０との間の古い接続を終結し、そしてまた、概して、該接続と関連した先のグラマを削除する（ステップ１８０）。リクエストまたは他の動作は、新しい接続に対応するウインドウまたはフレーム内で処理されるか、またはそうでなければ、該ウインドウまたはフレームに向けられる（ステップ１８０）。従って、データは、スピーチ・リクエストまたは他のリクエストと関連したウインドウにフィードバックされる。
【００５２】
幾つかの実施形態において、もし、ステップ１６５で記載された新しいＨＴＭＬデータ（またはテキスト）のためのリクエストが、開いたまたは現存する接続またはソケットと関連しないならば、接続マネージャは、新しい接続を接続のそのリストに加える（ステップ１９０）。接続マネージャは、また、該接続と関連したスピーチ・ルール及び任意のグラマを、先に説明したように、そのリストに加える（ステップ１９５）。システムは、接続に対応するウインドウに関する動作を処理し（ステップ２００）、制御は、ブロック１５０に戻り、そしてシステムは、ここにおいて及びＰＣＴ／ＵＳ０１／４５２２３号の出願においてさらに説明するように、データの処理を続ける。
【００５３】
幾つかの実施形態において、多数の開いたウインドウまたはフレームの各々は、アクティブ関連のグラマを有し得る。幾つかの実施形態において、システムは、開いたウインドウまたはフレームのいずれがスピーチ・イベントに対応するかを決定することによって、多数のアクティブ・グラマに含まれるスピーチ・イベントのためのコンフリクトをいかに処理するかを決定しなければならない。例えば、２つの開いたウインドウまたはフレームが、スピーチ・イベント“ホーム・ページに戻る”と関連したコードを含み得る。“ホーム・ページに戻る”を示すディレクティブまたはスピーチ・イベントを処理する際に、システムは、開いたウインドウまたはフレームのいずれがそのホーム・ページに戻されるべきかを決定しなければならない。
【００５４】
幾つかの実施形態において、このようなコンフリクトが検出されるとき、システムは、スピーチ・イベントまたはディレクティブまたは他のイベントに対応する適切なグラマまたはウインドウを選択するために、ユーザ入力または他の入力をリクエストする対話または他の通知を表示する。
【００５５】
他の実施形態において、システムは、そのグラマに対してスピーチ・イベント及び他のディレクティブまたはイベントが処理されるであろう中心のグラマとして用いるために１つのグラマを選択し、他のグラマを不活性とする。従って、多数のアクティブ（活性）・グラマに含まれるスピーチ・イベント及び他のディレクティブまたはイベントを処理する混乱が無い。開いたウインドウまたはフレームと関連したグラマのすべては、概して、メモリ内に永続的に留まるが、ただ１つのグラマだけが常に中心性または集束性を有する。
【００５６】
例えば、幾つかの実施形態において、システムは、ブラウザ１１５によってロードされた最後のウインドウまたはフレームに関連したグラマを選択する。他の実施形態において、システムは、活性ブラウザ１１５のウインドウと関連したグラマを選択する。例えば、マイクロソフト・ウインドウズ・オペレーティング・システム及びグラフィカル・ユーザ・インターフェースを有する他のオペレーティング・システムにおいて、多数のウインドウは、同時に開いていることができるが、これらのウインドウは、概して、レイヤとして提起されるか、またはそうでない場合には、活性ウインドウであるトップ・ウインドウとカスケードされる（何枚も重なって表示される）。他の実施形態において、システムは、フレームが複製のスピーチ・イベントまたはディレクティブまたは他のイベントを含まないということを必要とし得る。
【００５７】
ここに説明したシステム及びモジュールは、ソフトウェア、ファームウェア、ハードウェア、もしくはここに説明した目的にとって適切な、ソフトウェア、ファームウェア、またはハードウェアの任意の組み合わせを含み得る。ソフトウェア及び他のモジュールは、サーバ、ワークステーション、パーソナル・コンピュータ、コンピュータ化されたタブレット、ＰＤＡ、及びここに説明した目的にとって適切な他のデバイス上に存在し得る。ソフトウェア及び他のモジュールは、ローカル・メモリを介して、ネットワークを介して、ＡＳＰコンテキストにおけるブラウザまたは他のアプリケーションを介して、もしくはここに説明した目的にとって適切な他の手段を介して、アクセス可能であり得る。ここに説明したデータ構造は、コンピュータ・ファイル、変数（バリアブルス）、プログラミング・アレイ、プログラミング構造、または任意の電子情報記憶機構もしくは方法、もしくはここに説明した目的にとって適切なそれらの任意の組み合わせを含み得る。ここに説明したユーザ・インターフェース要素は、グラフィカル・ユーザ・インターフェース、指令ライン・インターフェース、及びここに説明した目的にとって適切な他のインターフェースからの要素を含み得る。ここに提起しかつ説明したスクリーンショットは、情報を入力し、アクセスし、変化し、操作し、修正し、変更し、そして作業するために当該技術分野で既知のように異なって表示され得る。
【００５８】
本発明を好適な実施形態と関連させて説明し図示してきたけれども、当業者に明瞭であるように、多くの変更及び修正が本発明の精神及び範囲から逸脱することなく為されることができるものであり、従って、本発明は、そのような変更及び修正が本発明の範囲内に含まれるよう意図されているので、上述の方法及び構成の正確な詳細に制限されるものではない。
［付録Ａ］
【表１Ａ】
2011227507.tif 000003
【表１Ｂ】
2011227507.tif 000004
【表１Ｃ】
2011227507.tif 000005
【表１Ｄ】
2011227507.tif 000006
【表１Ｅ】
2011227507.tif 000007
【符号の説明】
【００５９】
１００  クライアント・デバイス
１０５  ネットワーク
１１０  ウェブ・サーバ
１１５  ブラウザ
１２０  ＨＳＭＬプロセッサ
１２５  スレッド・モジュール
１３０  スピーチ・モジュール
１３５  スピーチ・エンジン
１４０  プロキシ・サーバ
１４５  ブラウザ・アプリケーション・プログラム・インターフェース
【図１】
2011227507.tif 000008
【図２】
2011227507.tif 000009