(57)【要約】  汎用モバイル・ウェブ・サービス（ＧＭＷＳ）マネージャは、ウェブ・サービスへのアクセスをモバイル・クライアントに提供する。ＧＭＷＳマネージャはウェブ・サービスとモバイル・クライアント（例えば、ハンドヘルドＰＤＡ）との間のインターフェースをとる。ＧＭＷＳマネージャは、サポートされたウェブ・サービスと、ウェブ・サービス及びモバイル・クライアントに関するメタデータ属性とのレジストリを維持する。情報は、ＧＭＷＳマネージャが利用できる属性に基づいてクライアントと、登録されたウェブ・サービスとの間でＧＭＷＳマネージャによって転送される。
2008532119.tif 000002
【特許請求の範囲】
【請求項１】
モバイル・ウェブ・サービス・マネージャを介してウェブ・サービスをクライアントに提供する方法であって、
１つ以上の選択されたウェブ・サービスの登録された指示を前記モバイル・ウェブ・サービス・マネージャのローカル・レジストリに格納するステップであって、前記登録された指示は、前記モバイル・ウェブ・サービス・マネージャによってサポートされた前記１つ以上の選択されたウェブ・サービスを識別するステップと、
登録された１つ以上の選択されたウェブ・サービスに対応する属性を格納するステップであって、前記属性は、前記選択されたウェブ・サービスのインターフェースを記述する情報を備えるステップと、
前記１つ以上の選択されたウェブ・サービスの第１のウェブ・サービスを選択するステップと、
前記格納された属性に基づいて、第１のクライアント・リクエストを、前記１つ以上の選択されたウェブ・サービスの前記第１のウェブ・サービスと互換性がある形式に変換するステップと、
前記変換されたクライアント・リクエストを前記第１のウェブ・サービスに転送するステップと
を含む方法。
【請求項２】
前記格納された属性に基づいて、前記第１のウェブ・サービスから受信した第１のウェブ・サービス応答を、前記第１のクライアントと互換性のある形式に変換するステップと、
前記変換された第１のウェブ・サービス応答を前記第１のクライアントに転送するステップと
を更に含む、請求項１に記載の方法。
【請求項３】
前記１つ以上の選択されたウェブ・サービスの登録されたウェブ・サービスのリストと、対応する属性とを前記第１のクライアントに送信するステップを更に含む、請求項１に記載の方法。
【請求項４】
前記登録されたウェブ・サービスの前記リストの表現を前記クライアントで表示するステップを更に含む、請求項３に記載の方法。
【請求項５】
前記選択するステップは、
クライアントＧＵＩインターフェースを介して、前記第１のクライアントのユーザが前記第１のウェブ・サービスを、前記表示された表現から選択するステップと、
前記ユーザの選択に応答して、前記第１のクライアントは、前記第１のウェブ・サービスを前記ウェブ・サービス・マネージャからリクエストするステップと
を更に含む、請求項４に記載の方法。
【請求項６】
前記選択するステップは、
前記第１のクライアントが高速パス形式のクライアント・リクエストを生成するステップであって、前記高速パス形式が第１のウェブ・サービス選択情報を備えるステップと、
前記第１のクライアント・リクエストを高速パスで前記ウェブ・サービス・マネージャに送信するステップと
を更に含む、請求項１に記載の方法。
【請求項７】
前記選択するステップは、
前記第１のクライアントから受信した自然言語フォーマット設定リクエストを解釈するステップと、
前記解釈するステップの結果に基づいて前記第１のウェブ・サービスを選択するステップと
を更に含む、請求項１に記載の方法。
【請求項８】
第１のクライアント資格情報を用いて前記第１のウェブ・サービスにアクセスする前記第１のクライアント権限を許可するステップと、
前記第１のクライアント権限の指示を保存するステップと、
その後、第１のクライアントが、前記第１のクライアント権限の前記保存された指示を用いて前記第１のウェブ・サービスにアクセスことを許可するステップと
を更に含む、請求項１に記載の方法。
【請求項９】
前記クライアント・リクエストは、音声、自然言語テキスト、デジタル・データまたは高速パス・テキストのいずれか１つから成る、請求項１に記載の方法。
【請求項１０】
前記属性は、前記第１のウェブ・サービスの名前、前記ウェブ・サービスのカテゴリ、前記ウェブ・サービスのエンドポイント、前記ウェブ・サービスの動作、高速パス・コマンド構文解析用のテンプレート、前記第１のウェブ・サービスの記述、前記第１のウェブ・サービスのセキュリティ要件、前記第１のウェブ・サービスの１つ以上のキーワード、入力フィールドのクライアント名、前記入力フィールドのクライアント・タイプ、前記入力フィールドのクライアント・デフォルト値、及び、前記フィールドを表示すべきかどうかを示すクライアント・フラグのリストから獲得された１つ以上の属性から成る、請求項１に記載の方法。
【請求項１１】
前記第１のクライアントから受信したクライアント属性を格納するステップであって、前記クライアント属性は、前記第１のクライアントのインターフェースを記述する情報を備えるステップと、
クライアント・リクエストに応答して、格納されたクライアント属性を前記第１のクライアントに提供するステップと、
を更に含む、請求項１に記載の方法。
【請求項１２】
前記モバイル・ウェブ・サービス・マネージャは自然言語形式の前記第１のクライアント・リクエストを高速パス形式のクライアント・リクエストに変換する、請求項１に記載の方法。
【請求項１３】
モバイル・ウェブ・サービス・マネージャを介してウェブ・サービスをクライアントに提供するコンピュータ・プログラム製品であって、
１つ以上の選択されたウェブ・サービスの登録された指示を前記モバイル・ウェブ・サービス・マネージャのローカル・レジストリに格納するステップであって、前記登録された指示は、前記モバイル・ウェブ・サービス・マネージャによってサポートされた前記１つ以上の選択されたウェブ・サービスを識別するステップと、
登録された１つ以上の選択されたウェブ・サービスに対応する属性を格納するステップであって、前記属性は、前記選択されたウェブ・サービスのインターフェースを記述する情報を備えるステップと、
前記１つ以上の選択されたウェブ・サービスの第１のウェブ・サービスを選択するステップと、
前記格納された属性に基づいて、第１のクライアント・リクエストを、前記１つ以上の選択されたウェブ・サービスの前記第１のウェブ・サービスと互換性がある形式に変換するステップと、
前記変換されたクライアント・リクエストを前記第１のウェブ・サービスに転送するステップと
を含む方法を実行する処理回路によって読み取り可能なストレージ・メディアであって、前記処理回路によって実行する命令を格納するストレージ・メディアを
備えるコンピュータ・プログラム製品。
【請求項１４】
前記格納された属性に基づいて、前記第１のウェブ・サービスから受信した第１のウェブ・サービス応答を、前記第１のクライアントと互換性のある形式に変換するステップと、
前記変換された第１のウェブ・サービス応答を前記第１のクライアントに転送するステップと
を更に含む、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１５】
前記１つ以上の選択されたウェブ・サービスの登録されたウェブ・サービスのリストと、対応する属性とを前記第１のクライアントに送信するステップを更に含む、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１６】
前記登録されたウェブ・サービスの前記リストの表現を前記クライアントで表示するステップを更に含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１７】
前記選択するステップは、
クライアントＧＵＩインターフェースを介して、前記第１のクライアントのユーザが前記第１のウェブ・サービスを、前記表示された表現から選択するステップと、
前記ユーザの選択に応答して、前記第１のクライアントは、前記第１のウェブ・サービスを前記ウェブ・サービス・マネージャからリクエストするステップと
を更に含む、請求項１６に記載のコンピュータ・プログラム製品。
【請求項１８】
前記選択するステップは、
前記第１のクライアントが高速パス形式のクライアント・リクエストを生成するステップであって、前記高速パス形式が第１のウェブ・サービス選択情報を備えるステップと、
前記第１のクライアント・リクエストを高速パスで前記ウェブ・サービス・マネージャに送信するステップと
を更に含む、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１９】
前記選択するステップは、
前記第１のクライアントから受信した自然言語フォーマット設定リクエストを解釈するステップと、
前記解釈するステップの結果に基づいて前記第１のウェブ・サービスを選択するステップと
を更に含む、請求項１３に記載のコンピュータ・プログラム製品。
【請求項２０】
第１のクライアント資格情報を用いて前記第１のウェブ・サービスにアクセスする前記第１のクライアント権限を許可するステップと、
前記第１のクライアント権限の指示を保存するステップと、
その後、第１のクライアントが、前記第１のクライアント権限の前記保存された指示を用いて前記第１のウェブ・サービスにアクセスことを許可するステップと
を更に含む、請求項１３に記載のコンピュータ・プログラム製品。
【請求項２１】
前記クライアント・リクエストは、音声、自然言語テキスト、デジタル・データまたは高速パス・テキストのいずれか１つから成る、請求項１３に記載のコンピュータ・プログラム製品。
【請求項２２】
前記属性は、前記第１のウェブ・サービスの名前、前記ウェブ・サービスのカテゴリ、前記ウェブ・サービスのエンドポイント、前記ウェブ・サービスの動作、高速パス・コマンド構文解析用のテンプレート、前記第１のウェブ・サービスの記述、前記第１のウェブ・サービスのセキュリティ要件、前記第１のウェブ・サービスの１つ以上のキーワード、入力フィールドのクライアント名、前記入力フィールドのクライアント・タイプ、前記入力フィールドのクライアント・デフォルト値、及び、前記フィールドを表示すべきかどうかを示すクライアント・フラグのリストから獲得された１つ以上の属性から成る、請求項１３に記載のコンピュータ・プログラム製品。
【請求項２３】
前記第１のクライアントから受信したクライアント属性を格納するステップであって、前記クライアント属性は、前記第１のクライアントのインターフェースを記述する情報を備えるステップと、
クライアント・リクエストに応答して、格納されたクライアント属性を前記第１のクライアントに提供するステップと、
を更に含む、請求項１３に記載のコンピュータ・プログラム製品。
【請求項２４】
前記モバイル・ウェブ・サービス・マネージャは自然言語形式の前記第１のクライアント・リクエストを高速パス形式のクライアント・リクエストに変換する、請求項１３に記載のコンピュータ・プログラム製品。
【請求項２５】
モバイル・ウェブ・サービス・マネージャを介してウェブ・サービスをクライアントに提供するシステムであって、
１つ以上のネットワークと、
前記１つ以上のネットワークのネットワークとネットワーク通信する１つ以上のモバイル・クライアント・コンピュータ・システムと、
前記１つ以上のネットワークのネットワークとネットワーク通信する１つ以上のウェブ・サービス・コンピュータ・システムと、
前記１つ以上のネットワークのネットワークを介して前記１つ以上のウェブ・サービス・コンピュータ・システムと通信するモバイル・ウェブ・サービス・マネージャ・コンピュータであって、前記モバイル・ウェブ・サービス・マネージャ・コンピュータは、前記１つ以上のモバイル・クライアント・コンピュータ・システムと更にネットワーク通信し、前記モバイル・ウェブ・サービス・マネージャ・コンピュータ・システムのモバイル・ウェブ・サービス・マネージャは、
１つ以上の選択されたウェブ・サービスの登録された指示を前記モバイル・ウェブ・サービス・マネージャのローカル・レジストリに格納するステップであって、前記登録された指示は、前記モバイル・ウェブ・サービス・マネージャによってサポートされた前記１つ以上の選択されたウェブ・サービスを識別するステップと、
登録された１つ以上の選択されたウェブ・サービスに対応する属性を格納するステップであって、前記属性は、前記選択されたウェブ・サービスのインターフェースを記述する情報を備えるステップと、
前記１つ以上の選択されたウェブ・サービスの第１のウェブ・サービスを選択するステップと、
前記格納された属性に基づいて、第１のクライアント・リクエストを、前記１つ以上の選択されたウェブ・サービスの前記第１のウェブ・サービスと互換性がある形式に変換するステップと、
前記変換されたクライアント・リクエストを前記第１のウェブ・サービスに転送するステップと
を含む方法を実行する命令を含むモバイル・ウェブ・サービス・マネージャ・コンピュータと
を含むシステム。
【請求項２６】
前記格納された属性に基づいて、前記第１のウェブ・サービスから受信した第１のウェブ・サービス応答を、前記第１のクライアントと互換性のある形式に変換するステップと、
前記変換された第１のウェブ・サービス応答を前記第１のクライアントに転送するステップと
を更に含む、請求項２５に記載のシステム。
【請求項２７】
前記１つ以上の選択されたウェブ・サービスの登録されたウェブ・サービスのリストと、対応する属性とを前記第１のクライアントに送信するステップを更に含む、請求項２５に記載のシステム。
【請求項２８】
前記登録されたウェブ・サービスの前記リストの表現を前記クライアントで表示するステップを更に含む、請求項２７に記載のシステム。
【請求項２９】
前記選択するステップは、
クライアントＧＵＩインターフェースを介して、前記第１のクライアントのユーザが前記第１のウェブ・サービスを、前記表示された表現から選択するステップと、
前記ユーザの選択に応答して、前記第１のクライアントは、前記第１のウェブ・サービスを前記ウェブ・サービス・マネージャからリクエストするステップと
を更に含む、請求項２８に記載のシステム。
【請求項３０】
前記選択するステップは、
前記第１のクライアントが高速パス形式のクライアント・リクエストを生成するステップであって、前記高速パス形式が第１のウェブ・サービス選択情報を備えるステップと、
前記第１のクライアント・リクエストを高速パスで前記ウェブ・サービス・マネージャに送信するステップと
を更に含む、請求項２５に記載のシステム。
【請求項３１】
前記選択するステップは、
前記第１のクライアントから受信した自然言語フォーマット設定リクエストを解釈するステップと、
前記解釈するステップの結果に基づいて前記第１のウェブ・サービスを選択するステップと
を更に含む、請求項２５に記載のシステム。
【請求項３２】
第１のクライアント資格情報を用いて前記第１のウェブ・サービスにアクセスする前記第１のクライアント権限を許可するステップと、
前記第１のクライアント権限の指示を保存するステップと、
その後、第１のクライアントが、前記第１のクライアント権限の前記保存された指示を用いて前記第１のウェブ・サービスにアクセスことを許可するステップと
を更に含む、請求項２５に記載のシステム。
【請求項３３】
前記クライアント・リクエストは、音声、自然言語テキスト、デジタル・データまたは高速パス・テキストのいずれか１つから成る、請求項２５に記載のシステム。
【請求項３４】
前記属性は、前記第１のウェブ・サービスの名前、前記ウェブ・サービスのカテゴリ、前記ウェブ・サービスのエンドポイント、前記ウェブ・サービスの動作、高速パス・コマンド構文解析用のテンプレート、前記第１のウェブ・サービスの記述、前記第１のウェブ・サービスのセキュリティ要件、前記第１のウェブ・サービスの１つ以上のキーワード、入力フィールドのクライアント名、前記入力フィールドのクライアント・タイプ、前記入力フィールドのクライアント・デフォルト値、及び、前記フィールドを表示すべきかどうかを示すクライアント・フラグのリストから獲得された１つ以上の属性から成る、請求項２５に記載のシステム。
【請求項３５】
前記第１のクライアントから受信したクライアント属性を格納するステップであって、前記クライアント属性は、前記第１のクライアントのインターフェースを記述する情報を備えるステップと、
クライアント・リクエストに応答して、格納されたクライアント属性を前記第１のクライアントに提供するステップと、
を更に含む、請求項２５に記載のシステム。
【請求項３６】
前記モバイル・ウェブ・サービス・マネージャは自然言語形式の前記第１のクライアント・リクエストを高速パス形式のクライアント・リクエストに変換する、請求項２５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブ・サービスに関し、特に、パーベイシブ装置用のウェブ・サービスへ効率的なクライアント・アクセスを行うことに関する。
【背景技術】
【０００２】
パーベイシブ装置の普及が高まり、無線通信の帯域幅が増大するにつれて、ユーザは、ＰＣを持たないで移動している間、より多くのサービスへのアクセスを直ちに利用したい。例えば、自由に行動している販売員は、会社の株式の検索、顧客注文状況のチェック、顧客の住所の検索などのようなサービスを必要とすることがある。
【０００３】
ウェブ・サービスは、ＸＭＬを用いて定義及び記述されているパブリック・インターフェース及びバインディングを有するＵＲＩによって識別されるソフトウェア・システムである。その定義を他のソフトウェア・システムによって検出することがある。次に、これらのシステムは、インターネット・プロトコルによって搬送されるＸＭＬベースのメッセージを用いる定義によって規定されるようにウェブ・サービスと対話することがある。
【０００４】
従来、開発者は、ウェブ・サービスへのアクセスを有効にするプログラムを書く必要があった。開発者でない人の場合、彼らがアクセスする必要があるウェブ・サービスごとにプログラムを検出することは極めて困難である。しかも、ウェブ・サービスごとにプログラムを書くことは、開発及びサポートにかなりのコストを生じさせる。
【０００５】
２００２年２月４日出願の「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＭＵＬＴＩＭＯＤＡＬ  ＳＨＯＲＴ‐ＣＵＴＳ  ＴＯ  ＤＩＧＩＴＡＬ  ＳＥＲＶＩＣＥＳ」と題された米国特許出願公開第２００４／０１７６９５８号は、ユーザの無線装置を介するサービスへのユーザ・アクセスを容易にする方法及びシステムについて記載しており、この方法及びシステムは、ユーザが利用できる複数のサービスからサービスのサブセットをユーザに推奨するステップであって、奨励されたサブセットのサービスの各々が、このサービスと関連する少なくとも１つの音声ショートカットを有するステップと、サービスの音声ショートカットに対応するサービスのサブセットからユーザによる音声コマンドに従って、ユーザの無線装置を介してアクセスされるサービスを選択するステップとを含む。本明細書では、この米国特許出願公開明細書を全体として援用する。
【０００６】
２００２年１２月１７日出願の「ＡＰＰＡＲＡＴＵＳ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＳＥＬＥＣＴＩＮＧ  Ａ  ＷＥＢ  ＳＥＲＶＩＣＥ  ＩＮ  ＲＥＳＰＯＮＳＥ  ＴＯ  Ａ  ＲＥＱＵＥＳＴ  ＦＲＯＭ  Ａ  ＣＬＩＥＮＴ  ＤＥＶＩＣＥ」と題された米国特許出願公開第２００４／０１３９１５１号は、クライアント装置からリクエストが行われたことに応答してウェブ・サービスを選択する装置及び方法について記載されている。本明細書では、この米国特許出願公開明細書を全体として援用する。この装置及び方法を用いて、ウェブ・サービス動作の呼び出しに対してクライアント装置からのリクエストが受信される場合、このリクエストは、ウェブ・サービスとインターフェースをとるオンランプ装置に結合されたオフランプ装置内で受信される。オフランプ装置は、リクエストされたサービスが構成ファイル内にあることを検証し、次に、構成ファイルにおいて定義されたように所望のサービスの選択範囲を決定する。所望のサービスの選択範囲に基づいて、オフランプ装置は、サービス・インプリメンテーションの検出及び選択を実行する（「リクエスト」選択範囲）か、セッション・レベル・キャッシュからサービス・インプリメンテーションを取り出す（「セッション」選択範囲）か、または、アプリケーション・レベル・キャッシュからサービス・インプリメンテーションを取り出す（「アプリケーション」選択範囲）かを決定することができる。リクエストされたサービスに対応するサービス・インプリメンテーションがセッションまたはアプリケーション・レベル・キャッシュ内に存在しない場合、リクエストを処理するサービス・インプリメンテーションを識別するために検出及び選択動作を実行することができ、サービス・インプリメンテーションを適切なキャッシュに格納することができる。
【０００７】
２００２年１２月３１日出願の「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＰＲＯＶＩＤＩＮＧ  ＭＵＬＴＩ‐ＭＯＤＡＬ  ＩＮＴＥＲＡＣＴＩＶＥ  ＳＴＲＥＡＭＩＮＧ  ＭＥＤＩＡ  ＡＰＰＬＩＣＡＴＩＯＮＳ」と題された米国特許出願公開第２００４／０１７６９５８号は、ユーザの無線装置を介するサービスへのユーザ・アクセスを容易にする方法及びシステムについて記載されており、この方法及びシステムは、ユーザが利用できる複数のサービスからサービスのサブセットをユーザに推奨するステップであって、奨励されたサブセットのサービスの各々が、このサービスと関連する少なくとも１つの音声ショートカットを有するステップと、サービスの音声ショートカットに対応するサービスのサブセットからユーザによる音声コマンドに従って、ユーザの無線装置を介してアクセスされるサービスを選択するステップとを含む。本明細書では、この米国特許出願公開明細書を全体として援用する。
【０００８】
２００２年８月９日出願の「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  ＡＵＴＯＭＡＴＩＮＧ  ＧＥＮＥＲＡＴＩＯＮ  ＯＦ  ＷＥＢ  ＳＥＲＶＩＣＥＳ  ＦＲＯＭ  ＥＸＩＳＴＩＮＧ  ＳＥＲＶＩＣＥ  ＣＯＭＰＯＮＥＮＴＳ」と題された米国特許出願公開第２００４／００３０７４０号は、ウェブ・サービスを生成するコンピュータ・ベース方法について記載されている。本明細書では、この米国特許出願公開明細書を全体として援用する。この方法は、ウェブ・サービスに含まれる第１及び第２サービス・コンポーネントを識別するステップを含み、このステップは、異なる検索技術を用いるサービス検出器を用いて利用可能なサービスを位置検出することと、位置検出されたサービスをユーザに表示し、これによって、第１及び第２サービス・コンポーネントを識別する選択をユーザに行わせることとを含む。この方法は、呼び出しルールを含むウェブ・サービス定義のサービス動作の記述または契約を生成するステップによって継続する。次に、送信エンベロープのような新たなウェブ・サービスにアクセスする転送構造が生成される。ウェブ・サービスは、通信ネットワークにリンクされたサービス・レジストリにウェブ・サービスを登録することを含め、通信ネットワーク上で利用可能であると宣伝されている。
【０００９】
２００２年６月２５日出願の「ＵＮＩＶＥＲＳＡＬ  ＩＰ‐ＢＡＳＥＤ  ＡＮＤ  ＳＣＡＬＡＢＬＥ  ＡＲＣＨＩＴＥＣＴＵＲＥＳ  ＡＣＲＯＳＳ  ＣＯＮＶＥＲＳＡＴＩＯＮＡＬ  ＡＰＰＬＩＣＡＴＩＯＮＳ  ＵＳＩＮＧ  ＷＥＢ  ＳＥＲＶＩＣＥＳ  ＦＯＲ  ＳＰＥＥＣＨ  ＡＮＤ  ＡＵＤＩＯ  ＰＲＯＣＥＳＳＩＮＧ  ＲＥＳＯＵＲＣＥＳ」と題された米国特許出願公開第２００３／００８８４２１号は、会話型コンピューティングに対するシステム及び方法について記載され、特に、ウェブ・サービス・ベースのモデルを用いる分散会話型アプリケーションを構築するシステム及び方法であって、音声エンジン（例えば、音声認識）及びオーディオＩ／Ｏシステムが、標準の拡張可能なＳＥＲＣＰ（音声エンジン遠隔制御プロトコル）を用いるアプリケーションによって非同期にプログラムできるプログラム可能なサービスであり、これによって、音声処理プラットフォーム及びネットワーク／ゲートウェイ（例えば、ＰＳＴＮ（公衆交換電話網））、無線、インターネット及びＶｏＩＰ（ボイス・オーバＩＰ）の広範囲にわたって同じアプリケーションまたはアプリケーション開発環境の配備を可能にするスケーラブルかつフレキシブルなＩＰベースのアーキテクチャを提供するシステム及び方法について記載されている。本明細書では、この米国特許出願公開明細書を全体として援用する。ウェブ・サービス・ベースのフレームワークにおいてＳＥＲＣＰを用いて音声エンジン、音声前／後処理システム、オーディオ・サブシステム及び音声エンジン間の交換局のような音声リソースを動的に割り振り、割り当て、構成し、制御するシステム及び方法が更に提供されている。
【００１０】
２００３年４月１８日出願の「ＷＥＢ  ＳＥＲＶＩＣＥＳ  ＢＲＯＫＥＲ」と題された米国特許出願公開第２００４／００３０６２７号は、企業とサービス・クライアント及びサービス・プロバイダの少なくとも１つとの間でインターフェースをとるステップであって、サービス・クライアントがサービス・レジストリ上のウェブ・サービスを検出し、サービス・プロバイダから、対応するウェブ・サービスを使用するステップと、企業とサービス・クライアント及びサービス・プロバイダの少なくとも１つとの間で通信するステップと、ａ）企業からの情報／企業への情報を、サービス・クライアント及びサービス・プロバイダの少なくとも１つに対して適切な形式に変換すること、及び、ｂ）サービス・クライアント及びサービス・プロバイダの少なくとも１つからの情報／サービス・クライアント及びサービス・プロバイダの少なくとも１つへの情報を企業に対して適切な形式に変更することの少なくとも１つを実行するステップとを含むウェブ・サービス・ブローカ方法について記載されている。本明細書では、この米国特許出願公開明細書を全体として援用する。
【００１１】
２００１年５月１５日出願の「ＭＯＢＩＬＥ  ＷＥＢ  ＳＥＲＶＩＣＥＳ」と題された米国特許出願公開第２００２／０１７４１１７号は、ユニバーサル・ディスクリプション・ディスカバリ・アンド・インテグレーション（ＵＤＤＩ）レジストリにアクセスすることによって携帯電話または無線ＰＤＡがインターネット・ビジネス及びサービスを検出することができる方法について記載されている。本明細書では、この米国特許出願公開明細書を全体として援用する。この方法は、無線装置ユーザ用のＵＤＤＩレジストリへのクエリーの構成を容易にする。この方法は、ユーザのＵＤＤＩ検索戦略及びインターネット・アクセス設定の個人用ユーザ・プロファイルを構築する。無線装置への短縮入力のユーザ・エントリに応じて、ＵＤＤＩレジストリへのオンラインまたはオフライン・クエリー用、または、ウェブ・サイトからアクセスするページ用のショートカットとしてユーザ・プロファイルを用いることができる。この方法は、ＵＤＤＩレジストリに問い合わせるためにユーザの無線装置内で実行できるプログラム命令として統合される。あるいはまた、この方法は、ユーザの無線装置からのコマンドに応答して、ＵＤＤＩレジストリに問い合わせるために別個のナレッジ・エンジン・サーバ内で実行できるプログラム命令として統合される。ユーザの無線装置へ選択的に転送するために、サーバを用いて、ウェブ・サイトからアクセスされたファイルをキャッシュすることができる。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ブラウザは、ウェブ・サービスに直接アクセスする手段を備えない。カスタマイズされたウェブ・ページ及びプログラムを、アクセスすべきウェブ・サービスごとに開発する必要がある。このことは結果的に、開発及びサポートにかなりのコストを生じさせる。更に、ブラウザがウェブ・サービスにアクセスできるようになる前に、カスタマイズされたウェブ・ページ及びプログラムをダウンロードする必要があるので、ブラウザを用いてウェブ・ページからウェブ・サービスにアクセスすることは追加のネットワークＲＴＴ（ラウンド・トリップ時間）を伴う。パーベイシブ装置に対する通信帯域幅制限のため、追加のＲＴＴは、システムの性能に好ましくない影響を及ぼす。
【００１３】
別のアプローチは、ウェブ・サービスごとにサービスに対話するカスタマイズ・クライアント・アプリケーションを製造することである。このアプローチの欠点は、サービスが増大するにつれて、アプリケーションの数が最終的に装置のメモリ／ストレージ限界よりも大きくなるということである。各アプリケーションの開発、サポート及び購入の全コストは多大である。
【課題を解決するための手段】
【００１４】
本発明は、ＰＤＡのユーザにとって興味深いウェブ・サービスのサブセット群を登録する方法があれば、携帯用ハンドヘルド装置（ＰＤＡ）がウェブ・サービスによって提供される非常に様々なサービスを活用できると認識している。更に、ウェブ・サービスにアクセスするため、本発明は、負担となる通信オーバーヘッドと、複雑な常駐アプリケーションとからＰＤＡを解放するのに有利である。
【００１５】
本発明は、パーベイシブ装置上で迅速にウェブ・サービスへの動的拡張可能な軽量アクセスを可能にする方法及び処理を提供する。
【００１６】
本発明は、サーバで実行するサーバ汎用モバイル・ウェブ・サービス（ＧＭＷＳ）マネージャ・アプリケーションを備えるのが好ましい。ＧＭＷＳマネージャはモバイル装置とウェブ・サービスとの間のインターフェースをとる。ウェブ・サービスとのインターフェースは、ＷＳＤＬ（ウェブ・サービス設計言語）であるのが好ましい。
【００１７】
更に、ＧＭＷＳマネージャは、モバイル装置の代わりにＧＭＷＳマネージャがアクセスする各ウェブ・サービスに関する情報を保持するウェブ・サービス・レジストリ（ＷＳＲ）を維持する。ウェブ・サービス・レジストリは、ウェブ・サービス及びモバイル装置の両方とインターフェースをとるのに用いられるメタデータを含むか、または、このメタデータにアクセスするのが好ましい。
【００１８】
好ましくは、ＧＭＷＳマネージャは、様々な方法でモバイル装置と通信することができる。ＧＭＷＳマネージャは、特定のウェブ・サービスに迅速にアクセスするために音声、デジタル・データ、自然言語及びテキストを転写して高速パス・フォーマット設定構造を生成するトランスクライバにアクセスする。モバイル装置は、トランスクライバ機能のオーバーヘッドを回避してユーザが直接に高速パス・フォーマット設定構造に入力できるのが好ましい。
【００１９】
本発明によれば、１つ以上の選択されたウェブ・サービスの登録された指示はＧＭＷＳマネージャのローカル・レジストリに格納され、登録された指示は、１つ以上の選択されたウェブ・サービスを識別する。更に、登録された１つ以上の選択されたウェブ・サービスに対応する属性は格納される。クライアント・リクエストは、格納された属性に基づいて、１つ以上の選択されたウェブ・サービスの第１のウェブ・サービスによって必要とされる形式に変換される。クライアント・リクエストは第１のウェブ・サービスに転送される。
【００２０】
更に、本発明によれば、第１のウェブ・サービスからのウェブ・サービス応答は、格納された属性に基づいて、クライアントによって必要とされる形式に変換される。変換されたウェブ・サービス応答はクライアントに転送される。
【００２１】
登録された１つ以上の選択されたウェブ・サービスのＧＵＩ表現は、クライアントに表示される。
【００２２】
従って、本発明の目的は、ユーザが複数のウェブ・サービスにアクセスでき、その一方で、単一アプリケーションのみのインストールで足りるウェブ・サービスに対する動的拡張可能な多モード軽量クライアント解決策を提供することである。多モードとは、ユーザが入力としてテキストまたは音声のどちらかを用いることができることを意味する。動的とは、クライアントがウェブ・サービスの属性に基づいてＧＵＩ（グラフィカル・ユーザ・インターフェース）を動的に生成することを意味する。しかも、ウェブ・サービスが発達しながら、クライアントＧＵＩは、クライアント・コードを更新することなく変化に動的に適応することを意味する。拡張可能とは、新たなウェブ・サービスが利用できるようになると、いかなる手動クライアント変更もしないで自動的にクライアントの画面上に現れることを意味する。
【００２３】
本発明の更なる目的は、第１のウェブ・サービスにアクセスするクライアント権限を許可することである。
【００２４】
本発明の別の目的は、音声、自然言語テキスト、デジタル・データまたは高速パス・テキストのいずれか１つから成るクライアント・リクエストをサポートすることである。
【００２５】
本発明の別の目的は、第１のウェブ・サービスの名前、第１のウェブ・サービスの記述、第１のウェブ・サービスのセキュリティ要件、第１のウェブ・サービスの１つ以上のキーワード、入力フィールドのクライアント名、入力フィールドのクライアント・タイプ、入力フィールドのクライアント・デフォルト値、及び、フィールドを表示すべきかどうかを示すクライアント・フラグのリストから獲得された属性をサポートすることである。
【００２６】
本発明の別の目的は、第１のクライアントから受信した所定数のクライアント入力を保存し、保存されたクライアント入力の所定部分をクライアントに提供することである。
【００２７】
本発明の別の目的は、クライアントからクライアント入力を受信し、クライアント入力を、登録されたウェブ・サービスの格納された属性に従った高速パス形式に自動的に変換し、高速パス形式のクライアント入力をクライアントに提供することである。
【００２８】
本発明の更なる目的は、パーベイシブ装置上の単一アプリケーションから複数のウェブ・サービスを検出し多モード（音声及びテキストの両方またはいずれか一方）で実行する方法を提供することである。
【００２９】
本発明の更なる目的は、モバイル装置からウェブ・サービスへの自動化「高速パス」（半自然言語）アクセスを提供することである。
【００３０】
追加の特徴及び利点は、本発明の技術によって実現される。本発明の他の実施形態及び側面は本明細書において詳細に説明され、特許請求の範囲に記載された発明の一部であると見なされる。これらの利点及び特徴を有する本発明を更に良く理解するため、説明及び図面を参照する。
【００３１】
本発明に関する主題は特に特許請求の範囲に指摘され、明確に記載されている。本発明の前述した目的、特徴及び利点、並びにその他の目的、特徴及び利点は、添付図面を伴って理解される以下の詳細な説明から明らかになる。
【発明を実施するための最良の形態】
【００３２】
科学技術における着実な進歩によって、モバイル・コンピュータは、携帯情報端末（ＰＤＡ）、車載装置、ビジネス・オーガナイザなどのようなパームトップまたはハンドヘルド装置として現在利用可能である。更に、現在、多くの人達は携帯電話を利用してインターネットにアクセスし、様々な他のコンピューティング機能を実行する。パームトップ、ＰＤＡ及び携帯電話を含むが、これらに限定されない携帯用コンピューティング装置は、「パーベイシブ」または「モバイル」コンピューティング装置と総称されることが多い。
【００３３】
図１には、本発明を実施することができる一般的なワークステーションまたはサーバ・ハードウェア・システムを示す。図１のシステム１００は、任意選択の周辺装置を含むパーソナル・コンピュータ、ワークステーションまたはサーバのような一般的なコンピュータ・システム１０１を備える。ワークステーション１０１は、１つ以上のプロセッサ１０６と、既知の技術に従って（１つ以上の）プロセッサ１０６とシステム１０１の他の構成要素とを接続し、これらの間の通信を使用可能にするために用いられるバスとを含む。バスはプロセッサ１０６を、例えば、ハード・ドライブ、ディスケット・ドライブまたはテープ・ドライブを含むことができるメモリ１０５及び長期ストレージ１０７に接続する。システム１０１は、キーボード１０４、マウス１０３、プリンタ／スキャナ１１０のような１つ以上のインターフェース装置と、タッチ検知画面、デジタル化入力パッドなどのような任意のユーザ・インターフェース装置とすることができる他のインターフェース装置との両方またはいずれか一方にバスを介してマイクロプロセッサ１０６を接続するユーザ・インターフェース・アダプタをも含むことができる。バスは、ＬＣＤ画面またはモニタのような表示装置１０２を、表示アダプタを介してマイクロプロセッサ１０６にも接続する。
【００３４】
システム１０１は、ネットワーク１０９と通信することができるネットワーク・アダプタを介して他のコンピュータまたはコンピュータのネットワークと通信することができる。ネットワーク・アダプタの例として、通信チャネル、トークン・リング、イーサネット（登録商標）またはモデムが挙げられる。あるいはまた、ワークステーション１０１は、ＣＤＰＤ（セルラー・デジタル・パケット・データ）カードのような無線インターフェースを用いて通信することができる。ワークステーション１０１を、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）内のこのような他のコンピュータと関連付けることができ、または、ワークステーション１０１を、別のコンピュータとのクライアント／サーバ構成のクライアントなどとすることができる。これらの構成のすべては、適切な通信ハードウェア及びソフトウェアと同様に当該技術分野において既知である。
【００３５】
図２には、本発明を実施することができるデータ処理ネットワーク２００を示す。データ処理ネットワーク２００は、複数の個々のワークステーション１０１を各々含むことができる無線ネットワーク及び有線ネットワークのような複数の個々のネットワークを含むことができる。更に、当業者は明らかなように、１つ以上のＬＡＮを含むことができ、ＬＡＮは、ホスト・プロセッサに結合された複数のインテリジェント・ワークステーションを備えることができる。
【００３６】
更に図２に関して、ネットワークは、ゲートウェイ・コンピュータ（クライアント・サーバ２０６）またはアプリケーション・サーバ（データ・リポジトリにアクセスできるリモート・サーバ２０８）のようなメインフレーム・コンピュータまたはサーバをも含むことができる。ゲートウェイ・コンピュータ２０６は、各ネットワーク２０７へのエントリ点として作用する。あるネットワーク・プロトコルを別のネットワーク・プロトコルに接続するときにゲートウェイが必要とされる。通信リンクを介してゲートウェイ２０６を別のネットワーク（例えば、インターネット２０７）に結合できるのが好ましい。通信リンクを用いてゲートウェイ２０６を１つ以上のワークステーション１０１に直接結合することもできる。インターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能なＩＢＭ（登録商標）ｅＳｅｒｖｅｒ（登録商標）ｚＳｅｒｉｅｓ（登録商標）９００サーバを用いてゲートウェイ・コンピュータを実施することができる。
【００３７】
本発明を統合するソフトウェア・プログラミング・コードは、一般的に、ＣＤ‐ＲＯＭドライブまたはハード・ドライブのような長期ストレージ・メディア１０７からシステム１０１のプロセッサ１０６によってアクセスされる。ソフトウェア・プログラミング・コードを、データ処理システムと使用するため、ディスケット、ハード・ドライブまたはＣＤ‐ＲＯＭのような様々な既知のメディアのいずれかに統合することができる。このようなメディアにコードを分散することができ、または、ネットワークを介して１つのコンピュータ・システムのメモリまたはストレージから他のコンピュータ・システムへ、このような他のシステムのユーザによって用いられるため、コードをユーザに配布することができる。
【００３８】
あるいはまた、プログラミング・コード１１１をメモリ１０５内に統合し、プロセッサ・バスを用いてプロセッサ１０６によってプログラミング・コード１１１にアクセスすることができる。このようなプログラミング・コードは、様々なコンピュータ構成要素の機能及び対話を制御するオペレーティング・システムと、１つ以上のアプリケーション・プログラムとを含む。高密度のストレージ・メディア１０７から高速のメモリ１０５までプログラム・コードは正常にページ化され、プログラム・コードをプロセッサ１０６による処理に利用することができる。ソフトウェア・プログラミング・コードを物理メディア上のメモリ内に統合するか、または、ネットワークを介してソフトウェア・コードを分散するか、あるいはこれらの両方を行う技術及び方法は周知であって、本明細書ではこれ以上説明されない。
【００３９】
好適な実施形態では、本発明は、１つ以上のコンピュータ・ソフトウェア・プログラム１１１として実施される。本発明のソフトウェアの実施は、リクエストに応じて呼び出される（コード・サブルーチンまたはオブジェクト指向プログラミングの「オブジェクト」とも称する）１つ以上のモジュールまたはアプリケーション１１１としてユーザのワークステーション上で動作することができる。あるいはまた、ソフトウェアは、ネットワーク内のサーバ上で、または、本発明を実施するプログラム・コードを実行できる任意の装置内で動作することができる。本発明を実施するロジックをアプリケーション・プログラムのコード内に統合することができ、または、このアプリケーションによって呼び出された１つ以上の別個のユーティリティ・モジュールとして、本明細書において開示された本発明の概念から逸脱することなく実施することができる。インターネットを介して接続されたクライアントからのリクエストに応答してウェブ・サーバがサービスを提供するウェブ環境内でアプリケーション１１１を実行することができる。別の実施形態では、企業イントラネットまたはエクストラネット内で、または、任意の他のネットワーク環境内でアプリケーションを実行することができる。環境の構成は、クライアント／サーバ・ネットワーク、（クライアントが、クライアント機能及びサーバ機能の両方を実行することによって直接対話する）ピアツーピア・ネットワーク及び多層環境を含む。これらの環境及び構成は、当該技術分野において周知である。
【００４０】
本発明は、サーバ・アプリケーションを介してウェブ・サービスをモバイル・クライアント装置に提供する。サーバ・アプリケーションは、クライアント装置からのキーワードを、所望のウェブ・サービスと互換性がある形式に解釈する。従って、サーバ・アプリケーションはインターフェースを管理するので、クライアント装置はウェブ・サービスの最小限のソフトウェア知識しか必要としない。好ましくは、サーバ・アプリケーションは、サポートされたウェブ・サービスのリスト（レジストリ）を有し、リストをクライアント装置に提供することができる。好適な実施形態では、クライアント装置から通信の様々な形式がサポートされる。例えば、テキストまたはオーディオ音声がサポートされ、これによって、サーバ・アプリケーションは、音声をテキストに変換し、または、テキストを音声に変換する変換機構を備える。
【００４１】
次に図３に関して、本発明は、汎用モバイル・ウェブ・サービス（ＧＭＷＳ）マネージャ３２０と通信するクライアント装置３１０（好ましくは、例えばモバイル・ハンドヘルド・コンピュータまたはＰＤＡ）上で実施される。ＧＭＷＳマネージャ３２０は、ウェブ・サービス３３０及びＵＤＤＩレジストリ３４０にネットワーク・アクセスする。ネットワークはインターネットを備えるのが好ましい。クライアント装置３１０とＧＭＷＳマネージャ３２０との間の通信プロトコルと、ＧＭＷＳマネージャ３２０とウェブ・サービス３３０との間の通信プロトコルとはＳＯＡＰ３０１である。
【００４２】
ＳＯＡＰインターネット・ドラフト（search.ietf.org/internet-drafts/draft-box-http-soap-01.txt）は、以下の例のＳＯＡＰリクエストを行う。
【００４３】
POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml
Content-Length: nnnn
SOAPMethodName: Some-Namespace-URI#GetLastTradePrice
<SOAP:Envelope xmlns:SOAP=”urn:schemas-xmlsoap-org:soap.v1”>
<SOAP:Body>
<m:GetLastTradePrice xmlns:m=”Some-Namespace-URI”>
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP:Body>
</SOAP:Envelope>
【００４４】
このリクエストを２つの部分すなわち
ＨＴＴＰヘッダ（１〜５行）と
ＸＭＬ‐ＲＰＣペイロード（６〜１２行，ＳＯＡＰ：エンベロープ要素）と
に分割することができる。
【００４５】
クライアント装置３１０は、ＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ（登録商標）、ＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ（登録商標）ＣＥ、ＰＡＬＭ  ＯＳ（登録商標）及びＢＬＡＣＫＢＥＲＲＹ（登録商標）のようなオペレーティング・システムを用いるのが好ましい。
【００４６】
汎用モバイル・ウェブ・サービス（ＧＭＷＳ）クライアント３１１（本明細書ではクライアントと称する）はクライアント装置３１０内に存在する。クライアント３１１はＧＭＷＳマネージャ３２０からウェブ・サービス・メタデータを獲得し、ユーザのためクライアント装置３１０上にユーザ・インターフェースを生成する。また、クライアント３１１はウェブ・サービス・リクエストをＧＭＷＳマネージャ３２０に送信する。
【００４７】
ＪＶＭ（登録商標）（ＪＡＶＡ（登録商標）仮想マシン）を備えるべき装置にインストールされた独立型アプリケーションとしてＧＭＷＳクライアント３１１をＪＡＶＡ（登録商標）プログラミング言語で実施することができる。
【００４８】
ＧＭＷＳマネージャ３２０は、４つの構成要素すなわち、音声転写サービス３２１、高速パス構文解析サービス３２２、ウェブ・サービス・ディスパッチャ３２３及びウェブ・サービス・レジストリ３２４を含む。
【００４９】
ＩＢＭ（登録商標）ＷＥＢＳＰＨＥＲＥ（登録商標）のようなアプリケーション・サーバ内のサーバ・アプリケーションとして実行するように汎用モバイル・ウェブ・サービス（ＧＭＷＳ）マネージャ３２０をＪＡＶＡ（登録商標）プログラミング言語で実施するのが好ましい。
【００５０】
高速パス構文解析サービス３２２は、クライアント３１１から受信した高速パス・コマンドを構文解析し、ＸＭＬフォーマットに変換するのに用いられる。高速パス・コマンドは半自然言語文である。高速パス・コマンドは、ウェブ・サービスに対して（１つ以上の）キーワード及びいくつかの入力属性を有する。マルチワード属性を引用符で囲む必要がある。ＧＭＷＳマネージャの高速パス構文解析サービス３２２にとってキーワード及びコマンド・フォーマットの両方またはいずれか一方は既知である。
【００５１】
一実施形態では、ＧＭＷＳクライアント３１１のユーザは、ＡＣＭＥ社のヘルプデスク番号を検索するためリクエストを検索ウェブ・サービスに送信したいと思う。ユーザは、以下の高速コマンド
search “what is acme help desk telephone number?”
を用いることができる。
【００５２】
ここで、「search」は検索ウェブ・サービスのキーワードであり、「what isacme help desk telephone number?」は検索ウェブ・サービスの単一属性である。
【００５３】
ユーザが顧客注文の状況を検査したいと思う別の実施形態では、ユーザは、以下のテキストをＰＤＡのクライアント装置３１０に入力する。高速コマンドは以下の通りである。
check order status “ACME” “order 123456”
【００５４】
ここで、「check order status」は顧客注文状況検査ウェブ・サービスのキーワードであり、「ACME」及び「order123456」は顧客注文状況検査ウェブ・サービスの２つの属性である。
【００５５】
一実施形態では、ＧＭＷＳマネージャ３２０はオーディオ入力を受信する。ここで、音声転写サービス３２１は音声入力をテキストに転写するのに用いられる。音声転写サービスは、ＩＢＭ（登録商標）社に譲渡された２００４年１１月２日出願の「Ｍｅｔｈｏｄ，Ｓｙｓｔｅｍ  ｏｆ  Ｅｎａｂｌｉｎｇ  Ｉｎｔｅｌｌｉｇｅｎｔ  ａｎｄ  Ｌｉｇｈｔｗｅｉｇｈｔ  Ｓｐｅｅｃｈ  ｔｏ  Ｔｅｘｔ  ＴＲＡＮＳＣＲＩＰＴＩＯＮ  Ｔｈｒｏｕｇｈ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｅｎｖｉｒｏｎｍｅｎｔ」と題された米国特許出願第１０／９７９３３４号に例示されている。本明細書では、この米国特許出願明細書を全体として援用する。
【００５６】
この実施形態では、ユーザは、高速パス・コマンドをクライアント装置３１０のマイクロホンに話すことによってウェブ・サービス・リクエストを行う。オーディオはクライアント装置３１０から音声転写サービス３２１に送信される。好ましくは、音声転写サービス３２１は、音声リクエストのテキスト・バージョンをユーザのクライアント装置３１０に返信して精度を確認し、これによって、転写が正確（１００％正確）でない場合にはユーザは精度を変更することができる。一実施形態では、受信されたテキストが、構文エラー、不完全な文などを有するように思われると、ＧＭＷＳマネージャはクライアント３１１にプロンプトまたはヒントを与える。
【００５７】
ウェブ・サービス・レジストリ（ＷＳＲ）３２４は、管理対象のモバイル・ウェブ・サービスのメタデータ情報を含む。利用可能なウェブ・サービス３３０は、１つ以上のウェブ・サービス３３１〜３３４を含むことができる。以下のメタデータを提供することによって各ウェブ・サービス３３１〜３３４をウェブ・サービス・レジストリ３２４に登録することができる。
１．  ウェブ・サービス名
２．  ウェブ・サービスのカテゴリ
３．  ウェブ・サービスのエンドポイント
４．  ウェブ・サービスの動作
５．  ウェブ・サービスの記述
６．  入力及び出力フィールド名
７．  入力及び出力フィールドのタイプ
８．  適用可能な場合、入力フィールドのデフォルト値
９．  第１のウェブ・サービスの（１つ以上の）キーワード
１０．  フィールドをクライアント装置３１０のユーザに表示するかどうかを識別するフラグ
１１．  適用可能な場合、出力変換用のＸＳＬスタイル・シート
１２．  高速パス・コマンド構文解析用のテンプレート
１３．  第１のウェブ・サービスのセキュリティ要件
【００５８】
ウェブ・サービス３３１〜３３４がユニバーサル・ディスクリプション・ディスカバリ・インターフェース（ＵＤＤＩ）エントリを有する場合、項目１〜８をＵＤＤＩレジストリ３４０からも獲得することができる。ＷＳＲ３２４は、リクエスト／応答メッセージ・フォーマット、サービス・アドレスなどのような情報をＵＤＤＩエントリから獲得する。高速パス構文解析用のテンプレートを正規表現として実施することができる。
【００５９】
ウェブ・サービス・ディスパッチャ（ＷＳＤ）３２３は、ウェブ・サービス・リクエストをクライアント３１１から獲得する。リクエストは、ＸＭＬフォーマットまたは高速パス・フォーマットのどちらかでクライアント３１１から送信される。
【００６０】
<service name=”check order status”>
<arg>ACME></arg>
<arg>order123456</arg>
</service>
は、注文状況検査ウェブ・サービスに対するクライアントからのＸＭＬリクエストの一例である。
【００６１】
テキストが高速パス・フォーマットである場合、テキストは、構文解析されＸＭＬフォーマットに変換されるために高速パス構文解析サービス３２２に送信される。
【００６２】
ウェブ・サービス・ディスパッチャ３２３は、クライアントからリクエストを受信した後にウェブ・サービス３３１〜３３４を呼び出すことにも責任を負う。ウェブ・サービス３３０を呼び出す前に任意の隠し入力フィールドに追加する前処理を適用することができる。ウェブ・サービス３３１〜３３４からの応答が受信された後、ウェブ・サービス・ディスパッチャ３２３によって応答を、クライアント３１１によって受信できる形式に変換し、次に、クライアント３１１に返信することができる。
【００６３】
図４に関して、クライアント３１１がＧＭＷＳサービスにログインする実施形態が示されている。ユーザはクライアント装置３１０でＧＭＷＳクライアント・アプリケーションを開始する４０１。ユーザは資格情報（ＩＤ及びパスワード）を提供する４０２。資格情報がクライアント・ソフトウェア３１１によって自動的に提供されるように、資格情報をクライアント３１１に保存することができる。クライアント３１１は、ユーザの事前定義プロファイルを伴ってＧＭＷＳマネージャ３２０からのウェブ・サービスのリストをリクエストする４０４。クライアント３１１はＧＭＷＳマネージャ３２０からウェブ・サービスのリスト及びメタデータを受信する４０５。４０５で受信したメタデータは、クライアント３１１によって、ＧＭＷＳマネージャとの間の通信を構成し、ＧＵＩ構造を提供するのに用いられる。好ましくは、ユーザは、ウェブ・サービスにアクセスするため、多くの通信手段のうちの１つを選択することができる４０６。一例として音声、高速パス（所定の構文規則テキスト）、自然言語、または、特定のウェブ・サービスを選択することが挙げられる。
【００６４】
図５に関して、ユーザは、ＧＭＷＳマネージャ３２０と通信するために音声入力５０１、高速パス入力５０３または特定のウェブ・サービス５０６のいずれかを選択することができる。音声入力５０１の場合、クライアントは音声転写構成要素を呼び出し、任意選択的に、音声の呼び出しのテキスト・バージョンを受信する５０２。（任意選択的に、ユーザはテキスト応答の音声バージョンを受信することができる。）ユーザは高速パス構文として応答を検査する５０４。任意選択的に、ユーザは、応答のテキスト５０２に照らし合わせて元の構文を調整することができる。クライアント３１１は高速パス入力に対してＷＳＤを呼び出す５０５。最後に、クライアントは応答を受信し、ＧＵＩ表示を生成する５１０。
【００６５】
任意選択的に、ユーザは、高速パス入力５０３を行うことを選択することができる。この場合、入力は、ウェブ・サービス取引を開始するためＷＳＤに送信される５０５。最後に、クライアントは応答を受信し、ＧＵＩ表示を生成する５１０。
【００６６】
任意選択的に、ユーザは、特定のウェブ・サービス５０６を選択することにする。システムは、このウェブ・サービス用の入力インターフェースを生成する５０７。ユーザは入力を行い５０８、これを用いてクライアント３１１はＸＭＬ入力を生成し、ＸＭＬ入力に対してＷＳＤを呼び出す５０９。最後に、クライアントは応答を受信し、ＧＵＩ表示を生成する５１０。
【００６７】
例示的な３つの流れは次に本発明の要素を教示するであろう。図示の高速パス・アクセスの２バージョンは、最初に、音声で開始される取引の例を示し、次に、テキストで開始される取引の例を示す。第３のバージョンは、ＧＵＩ駆動型取引を示す。高速パス取引の場合、クライアントからの高速パス言語が取引の要素だけでなく、アクセスされるウェブ・サービスをも決定することに留意すべきである。ＧＵＩ駆動型取引は、特定のウェブ・サービスに調整されたクライアントでＧＵＩ支援を行う。
【００６８】
ウェブ・サービス３３０は、ＷＳＤＬを介してウェブ・サービス・レジストリ３２４に組み込むために選択される。多くの方法を用いて、ウェブ・サービス・レジストリにデータを追加することができる。２つ以上のウェブ・サービス・レジストリを用いることができる。一実施形態では、一群の加入者はウェブ・サービス・レジストリを共用する。別の実施形態では、レジストリの個々のウェブ・サービスのための許可、または、複数のレジストリのうちの１つへアクセスするための許可は、ログイン時６０１〜６０２に定義される。別の実施形態では、クライアントがウェブ・サービスの最初の使用を開始するとき、クライアントは、ウェブ・サービスのリスト内のウェブ・サービスにアクセスするための許可について交渉する。
【００６９】
好ましくは、例示的な各取引は、クライアントがＧＭＷＳマネージャ３２０を認証することから開始する。図６に関して、クライアントは資格情報と一緒にログイン・リクエストをＧＭＷＳマネージャ３２０に送信し６０１、ＧＭＷＳマネージャ３２０は、次に、認証ウェブ・サービスを呼び出す６１０。認証ウェブ・サービスは、ユーザの資格情報を検証し６１８、状況をＧＭＷＳマネージャ３２０に返信する６１１。クライアントは認証状況を受信し６０２、認証が成功した場合、クライアントは、ウェブ・サービスのリストに対するリクエストをウェブ・サービス・ディスパッチャ３２３に送信すること６０３によって継続する。リクエスト６０３は、クライアントに管理された個人用プロファイルを含む。一実施形態では、ＧＭＷＳマネージャによって、クライアントが使用するレジストリ３２４のウェブ・サービスが許可されるかどうかを決定するのに個人用プロファイルを用いることができる。リスト及びメタデータはウェブ・サービス・レジストリから取り出され６１２、クライアントに返信される６０４。メタデータは、リスト上のウェブ・サービスを使用するクライアント３１１をサポートする。
【００７０】
クライアント３１１が、オーディオ（音声）リクエストを送信すること６０５を選択した場合、オーディオ・リクエストは、音声転写サービス３２１によってテキストに転写される６１３。オーディオが処理前に正確に変換されたことをユーザが検証できるように、テキスト（または、任意選択的に、テキストの音声シミュレーション）はクライアント３１１に返信される６０６。エラーが存在する場合、テキストは補正され、高速パス構文としてＧＭＷＳマネージャ３２０に返信される６０７。高速パス構文解析サービス３２２は、ターゲットのウェブ・サービス３３０をＷＳレジストリ３２４から位置検出し、ＷＳディスパッチャ３２３にリクエストをターゲットのウェブ・サービス（例えば、検索サービス）へディスパッチさせる６１５。検索ウェブ・サービスはリクエストを処理し６１９、応答をＧＭＷＳマネージャ３２０に送信する６１６。ＧＭＷＳマネージャ３２０は、必要に応じて応答をフォーマットし６１７、結果をクライアント３１１に返信し６０８、クライアント３１１は、結果をフォーマットし、クライアント装置３１０で表示する６０９。
【００７１】
図７に関して、オーディオ例の６０４までのステップは、図６に示すのと同じである。しかし、クライアント３１１は、オーディオよりも高速パス・テキストを送信することを選択し、高速パス・テキスト・リクエストはＧＭＷＳマネージャ３２０に送信され７０１、ＧＭＷＳマネージャ３２０では、高速パス・テキスト・リクエストが高速パス構文解析サービス３２２によって構文解析されてＷＳレジストリ３２４からウェブ・サービスを位置検出する６１４。ＷＳディスパッチャ３２３はリクエストを、選択された（検索）ウェブ・サービス３３０へ、このウェブ・サービスと関連するメタデータを用いてディスパッチする６１５。図６の例に示すように、検索ウェブ・サービスはリクエストを処理し６１９、応答をＧＭＷＳマネージャ３２０に送信する６１６。ＧＭＷＳマネージャ３２０は、必要に応じて応答をフォーマットし６１７、結果をクライアント３１１に返信し６０８、クライアント３１１は、結果をフォーマットし、クライアント装置３１０で表示する６０９。
【００７２】
図８に関して、オーディオ例の６０４までのステップは、図６に示すのと同じである。しかし、この例では、ユーザは、検索ウェブ・サービスのような１つの特定のウェブ・サービスをリストから選択する８０１。クライアントは、この検索サービスのユーザ・インターネットをメタデータに基づいて動的に生成する８０２。次に、ユーザは入力値を記入し、サービス・リクエストをウェブ・サービス・ディスパッチャ３２３に送信する８０３。「ＡＣＭＥ社のヘルプディスク電話番号は何ですか？」のような例示的なリクエストを、インターフェース上に生成された質問フィールド内に記入する。リクエストを獲得した後、ウェブ・サービス・ディスパッチャ３２３はリクエストを所望の（検索）ウェブ・サービスにディスパッチする６１５。検索ウェブ・サービスは検索リクエストを処理し６１９、結果をウェブ・サービス・ディスパッチャ３２３に送信する６１６。フォーマットがこのウェブ・サービスのメタデータに定義されている場合、ウェブ・サービス・ディスパッチャ３２３は結果をフォーマットする６１７。次に、リクエストをクライアント３１１に返信する６０８。更に、クライアント３１１は結果をフォーマットし、ユーザに表示する６０９。
【００７３】
図９の初めには、本発明の一実施形態のユーザ表示が示されている。クライアント装置３１０はＰＤＡとして示されている。ＰＤＡ９０１は、表示可能領域（画面）９０２及びキーボード９０３を備える。画面は、ユーザが利用できるアプリケーションのウィジェット９０４〜９０８を表示する。ユーザはＧＭＷＳ（汎用モバイル・ウェブ・サービス）クライアント・アプリケーション９０８を選択し、ＧＭＷＳクライアント・アプリケーション９０８は、ＰＤＡ９０９にＧＭＷＳアプリケーション用のスプラッシュ画面９１０を表示させる。次に、ＰＤＡ９１１は、メニューを隠すオプション、ログインオプション、設定９１３オプション、バージョン情報オプション及び閉じるオプションを含むプル・ダウン・メニュー９１２を表示する。ユーザは設定９１３オプションを選択する。その結果、図１０に示すように、ＰＤＡ１０００は、ＧＭＷＳアプリケーションにログオンする設定画面を表示する。ユーザはＩＤ及びパスワードを入力し、次に、ＰＤＡ１００１は、メニューを隠すオプション、ＯＫ１００３オプション、取り消しオプション及び閉じるオプションを含むプル・ダウン・メニュー１００２を表示する。ユーザはＯＫ１００３を選択する。図１１に関して、次に、ＰＤＡ１１００は、メニューを隠すオプション、ログイン１１０３オプション、設定オプション、バージョン情報オプション及び閉じるオプションを含むプル・ダウン・メニュー１１０２を表示する。ユーザはログイン１１０３オプションを選択する。ログインされた後、ＰＤＡ１１０１は、次に、関連するメタデータを用いてＷＳレジストリ３２４から取り出されたサービス・リスト１１０４を表示する。オプションは、高速パス１１０５及びサービス１１０６を含む。サービス１１０６のリストは、メール、ピープル・ファインダ、検索１１０７、株価情報及び天気ウェブ・サービス・オプションを含む。ユーザは検索１１０７を選択する。次に図１２に関して、ＰＤＡ１２００は次にプロンプト１２０２「質問」を表示し、その後に続いて、ユーザによって提供された入力「ＡＣＭＥ社のヘルプディスク番号は何ですか？」を表示する。ＧＭＷＳマネージャはウェブ・サービス・リクエストを受信し処理し、応答１２０４〜１２０７をユーザのＰＤＡ１２０１の画面１２０３に返信する。
【００７４】
図１３に関して、最後に、ＰＤＡ１３００は、ユーザによって前にコンテキスト・メニュー１３０１として送信された最新検索質問１３０２を表示する。これらをＰＤＡに格納し、将来のセッションで利用可能にするのが好ましい。
【００７５】
ＸＭＬ例
個人用プロファイルを含むＧＭＷＳクライアント３１１からＧＭＷＳマネージャ３２０へのウェブ・サービスのリストに対するリクエスト６０３の例示的なＸＭＬコードを表１に示す。このプロファイルは、ユーザが興味を持つサービスの種類を記述する。表１は、位置情報サービスと、株式及び検索サービスとを得ることに興味を持つユーザの例示的なプロファイルを示す。このプロファイルを用いて不要なサービスを除去することができる。
【００７６】
表１
<profile> location=”true”>
<service>stock</service>
<service>search</service>
</profile>
【００７７】
ウェブ・サービス・レジストリ３２４は、メタデータを含むウェブ・サービスのリストを維持する。このようなレジストリのコンテンツ例を表２に示す。表２におけるシンボルの意味を表３に示す。
【００７８】
表２
<services>
<service name=”Search”
url=”http://www.acme.com/services/search”
urn=”acme-search”
method=”getSearchResult”
returnType=”String”
credentials=”y”
keyword=”search”
help=”This is a web service to get answers to yourquestion. Fast Path command: search ‘question’. For example, search ‘what is acmehelp desk phone number’.”
nl=”(search|ask) [\s]+.+”
xsl=”search.xsl”>
<param name=”Question” show=”true”/>
<param name=”Questions to Return” show=”false” value=”4”
type=”java.lang.Integer”/>
<param name=”timeout” show=”false” value=”30”
type=”java.lang.Integer”/>
<param name=”maxLength” show=”false” value=”256”
type=”java.lang.Integer”/>
</service>
<service name=”Stock Quote”
url=”http://www.acme.com/services/stock”
urn=”acme-stock”
method=”getQuotes”
returnType = ”String”
credentials=”n”
keyword=”quote”
help=”This is a web service to get stock quote.Fast Path command: quote ‘tickerl,ticker2’. For example, quote acme.”
nl=”quote[\s]+.+”
xsl=” ”>
<param name=”Ticker”/>
</service>
<service name=”weather”
url=”http://www.acme.com/services/weather”
urn=”acme-weather”
method=”getWeather”
returnType = ”String”
credentials=”n”
keyword=”what’s the weatherof”
help=”This is a web service to lookup the weather.Fast Path command: what’s the weather ofzipcode. For example, what’s the weather of 12345.”
nl=”what’s the weatherof [\s]+[0-9]{5}”
xsl=” ”>
<param name=”zipcode”/>
</service>
<services>
【００７９】
表３
service：１つのウェブ・サービスのメタデータを定義する
name：ウェブ・サービス名
url, urn：ウェブ・サービスのエンドポイント
method：ウェブ・サービスの動作名
returnType：ウェブ・サービスによって返信されたデータのタイプ
credentials：ユーザ資格情報がウェブ・サービスによって必要とされるかどうかを定義する
keyword：高速パス・コマンドを自動生成するのに用いられるキーワード
help：装置に表示されるヘルプ・メッセージ
nl：高速パス・コマンドを構文解析するのに用いられる正規表現
xsl：ウェブ・サービスの出力を変換するのに用いられるテンプレート。任意選択。
param：ウェブ・サービスの入力パラメータを定義する
name：パラメータ名
show：このパラメータがクライアント装置に表示されるかどうかを示すフラグ。フラグは任意選択である。フラグが定義されない場合、パラメータはクライアントに示される。
value：クライアント装置に表示されるデフォルト値。この値は任意選択である。
type：入力パラメータのタイプ。デフォルト設定によって、タイプは「文字列」である。
Enum：列挙値が分離されるコンマ。
【００８０】
ＧＭＷＳクライアント３１１に返信された６０４メタデータ例を表４に示す。
【００８１】
表４
<services>
<service name=”Search”
credentials=”y”
keyword=”search”
help=”This is a web service to get answers to yourquestion. Fast Path command: search ‘question’. For example, search ‘what is acmehelp desk phone number’.”
<param name=”Question”/>
</service>
<servicename=”Stock Quote”
credentials=”n”
keyword=”quote”
help=”This is a web service to get stock quote.Fast Path command: quote ‘tickerl,ticker2’. For example, quote acme.”
<param name=”Ticker”/>
</service>
</services>
【００８２】
本発明の機能をソフトウェア、ファームウェア、ハードウェアまたはいくつかのそれらの組み合わせで実施することができる。
【００８３】
一例として、本発明の１つ以上の側面を、例えばコンピュータ使用可能メディアを有する製品（例えば、１つ以上のコンピュータ・プログラム製品）に含めることができる。メディアを、例えば、本発明の機能を行い容易にするコンピュータ可読プログラム・コード手段に統合することができる。製品をコンピュータ・システムの一部として含めることができ、または、別々に販売することができる。
【００８４】
あるいはまた、マシンによって読み取り可能であって、本発明の機能を実行するのにこのマシンによって実行可能な命令の少なくとも１つのプログラムを確実に統合する少なくとも１つのプログラム・ストレージ装置を提供することができる。
【００８５】
本明細書に示されたフローチャートは単なる一例である。本明細書で説明されたこれらフローチャートまたはステップ（あるいは動作）に、本発明の意図から逸脱することなく多くの変更を行うことができる。例えば、ステップを異なる順序で実行することができ、または、ステップを追加、削除または変更することができる。これらの変形例のすべては、特許請求の範囲に記載されている本発明の一部と見なされる。
【００８６】
本発明の好適な実施形態を図示し、本明細書で説明したが、当然のことながら、本発明は、本明細書で開示された厳密な構造に限定されるものではなく、権利は、特許請求の範囲で定義されたような本発明の範囲内に入るすべての変更及び修正について「確保」される。
【図面の簡単な説明】
【００８７】
【図１】コンピュータ・システムの従来技術の要素例を示す図である。
【図２】コンピュータ・ネットワークの従来技術の要素例を示す図である。
【図３】本発明の一実施形態の要素例を示す図である。
【図４】パーベイシブ装置上のクライアントがウェブ・サービスにアクセスするステップを示すフローチャートである。
【図５】パーベイシブ装置上のクライアントがウェブ・サービスにアクセスするステップを示すフローチャートである。
【図６】パーベイシブ装置上のクライアントが音声モードで検索ウェブ・サービスにアクセスするステップを示すフローチャートである。
【図７】パーベイシブ装置上のクライアントが高速パスで検索ウェブ・サービスにアクセスするステップを示すフローチャートである。
【図８】パーベイシブ装置上のクライアントがウェブ・サービスのリストから検索ウェブ・サービスにアクセスするステップを示すフローチャートである。
【図９】連続的な３つの表示で表されたＰＤＡを示す図である。
【図１０】続いて起こる連続的な２つの表示で表されたＰＤＡを示す図である。
【図１１】続いて起こる連続的な２つの表示で表されたＰＤＡを示す図である。
【図１２】続いて起こる連続的な２つの表示で表されたＰＤＡを示す図である。
【図１３】続いて起こる表示で表されたＰＤＡを示す図である。
【図１】
2008532119.tif 000003
【図２】
2008532119.tif 000004
【図３】
2008532119.tif 000005
【図４】
2008532119.tif 000006
【図５】
2008532119.tif 000007
【図６】
2008532119.tif 000008
【図７】
2008532119.tif 000009
【図８】
2008532119.tif 000010
【図９】
2008532119.tif 000011
【図１０】
2008532119.tif 000012
【図１１】
2008532119.tif 000013
【図１２】
2008532119.tif 000014
【図１３】
2008532119.tif 000015
【国際調査報告】
2008532119.tif 000016
2008532119.tif 000017
2008532119.tif 000018