(57)【要約】【課題】  クライアント・コンピュータ上においてウェブ・サービスを統合するための方法、システム、およびプログラム。【解決手段】  クライアント・コンピュータにおいて選択評価基準が使用されてウェブ・サービスの選択が行われる。選択の後、ウェブ・サービスのそれぞれからサービス・データが受け取られる。サービス・データは、その後、クライアント・コンピュータにおいて集成される。サービス・データは、ユーザによる表示の可能なカスタム・ページに組み立てることができる。さらに、サービス・データのプリフェッチおよびキャッシュを可能にした構造化データ・オブジェクト内へサービス・データをストアすることができる。【選択図】      図１
2005063440.tif 000002
【特許請求の範囲】
【請求項１】
クライアント・コンピュータ上においてウェブ・サービスを統合する方法であって：
前記クライアント・コンピュータにおいて、選択評価基準を基礎としてウェブ・サービスのセットを選択するステップと；
前記選択したウェブ・サービスのセットのそれぞれから、ネットワークを介してサービス・データを受け取るステップと；および、
前記クライアント・コンピュータにおいて前記サービス・データを集成するステップと；
を含む方法。
【請求項２】
さらに、前記クライアント・コンピュータにおいて前記選択評価基準を受け取るステップを含む、請求項１に記載の方法。
【請求項３】
さらに、前記クライアント・コンピュータにおいて前記集成したサービス・データを表示するステップを含む、請求項１に記載の方法。
【請求項４】
前記表示するステップは：
ユーザのための表示属性を獲得するステップと；
前記表示属性を前記サービス・データと結合するステップと；および、
前記サービス・データをページに組み立てるステップと；
を含む、請求項３に記載の方法。
【請求項５】
前記ウェブ・サービスのセットのそれぞれは、ディスプレイ・マークアップを含むサービス属性のセットによって定義され、前記ディスプレイ・マークアップは、前記組み立てるステップにおいて使用される、請求項４に記載の方法。
【請求項６】
前記ウェブ・サービスのセットの少なくとも１つは、仮想ウェブ・サービスを包含する、請求項１に記載の方法。
【請求項７】
前記仮想ウェブ・サービスは、前記クライアント・コンピュータ上に配置される、請求項６に記載の方法。
【請求項８】
さらに、前記クライアント・コンピュータにおいて構造化データ・オブジェクトへ前記サービス・データをストアすることを含む、請求項１に記載の方法。
【請求項９】
クライアント・コンピュータ上においてウェブ・サービスを統合する方法であって：
前記クライアント・コンピュータにおいて、選択評価基準を受け取るステップと；
前記選択評価基準を基礎としてウェブ・サービスのセットを選択するステップと；
前記選択したウェブ・サービスのセットのそれぞれから、ネットワークを介してサービス・データを受け取るステップと；
前記クライアント・コンピュータにおいて前記サービス・データを集成するステップと；および、
前記クライアント・コンピュータにおいて、前記集成したサービス・データを表示するステップと；
を含む方法。
【請求項１０】
前記表示するステップは：
ユーザのための表示属性を獲得するステップと；
前記表示属性を前記サービス・データと結合するステップと；
前記サービス・データをカスタム・ページに組み立てるステップと；
を含む、請求項９に記載の方法。
【請求項１１】
前記ウェブ・サービスのセットの少なくとも１つは、仮想ウェブ・サービスを包含する、請求項９に記載の方法。
【請求項１２】
前記仮想ウェブ・サービスは、前記クライアント・コンピュータ上に配置される、請求項１１に記載の方法。
【請求項１３】
さらに、前記クライアント・コンピュータにおいて構造化データ・オブジェクトへ前記サービス・データをストアするステップを含む、請求項９に記載の方法。
【請求項１４】
クライアント・コンピュータ上においてウェブ・サービスを統合するためのシステムであって：
前記クライアント・コンピュータにおいて、選択評価基準を基礎としてウェブ・サービスのセットを選択するための選択システム；
前記クライアント・コンピュータ上において、前記選択したウェブ・サービスのセットのそれぞれからネットワークを介してサービス・データを受け取るための通信システム；および、
前記クライアント・コンピュータ上において前記サービス・データを集成するための集成システム；
を含むシステム。
【請求項１５】
さらに、前記クライアント・コンピュータにおいて前記選択評価基準を受け取るための評価基準システムを含む、請求項１４に記載のシステム。
【請求項１６】
さらに、前記クライアント・コンピュータにおいて前記集成したサービス・データを表示するための表示システムを含む、請求項１４に記載のシステム。
【請求項１７】
前記ウェブ・サービスのセットの少なくとも１つは、仮想ウェブ・サービスを包含する、請求項１４に記載のシステム。
【請求項１８】
クライアント・コンピュータ上においてウェブ・サービスを統合するための、記録可能メディア上にストアされたプログラムであって、実行されたときに：
前記クライアント・コンピュータにおいて、選択評価基準を基礎としてウェブ・サービスのセットを選択するためのプログラム・コード；
前記クライアント・コンピュータにおいて、前記選択したウェブ・サービスのセットのそれぞれからネットワークを介してサービス・データを受け取るためのプログラム・コード；および、
前記クライアント・コンピュータにおいて前記サービス・データを集成するためのプログラム・コード；
を含む、プログラム。
【請求項１９】
さらに、前記クライアント・コンピュータにおいて選択評価基準を受け取るためのプログラム・コード；および、
前記クライアント・コンピュータにおいて前記集成したサービス・データを表示するためのプログラム・コード；
を含む、請求項１８に記載のプログラム。
【請求項２０】
さらに：
複数のウェブ・サービスからサービス・データを獲得するためのプログラム・コード；
前記複数のウェブ・サービスの少なくとも１つからのサービス・データを選択するためのプログラム・コード；および、
前記受け取るためのプログラム・コードへ、前記選択されたサービス・データを、仮想ウェブ・サービスからサービス・データとして提供するためのプログラム・コード；
を含む、請求項１８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してウェブ・サービスの統合に関し、より詳細に述べれば、クライアント‐ベースのウェブ・サービスの集成ならびにマネジメントを提供するソリューションに関する。
【背景技術】
【０００２】
インターネットは、ますます、ファイルの転送を基本的な用途とするネットワークからサービスの提供に使用されるものへと変わりつつある。『ウェブ・サービス』は、インターネットを介して別のアプリケーションと動的にインタラクションするアプリケーションを包含する。通常、ファイルの転送よりはむしろ、ソース・アプリケーションからディスティネーション・アプリケーションへデータが転送され、それにおいて表示のための何らかの方法でそのデータが処理される。たとえば、天気ウェブ・サービスは、所定の場所の天気に関するデータを提供することが可能であり、続いてそれは、カスタム・ウェブ・ページの一部としての表示のために、ディスティネーション・アプリケーションによってフォーマットされる。
【０００３】
インターネット・ポータル（たとえば、Ｙａｈｏｏ（ヤフー）、Ａｍｅｒｉｃａ  Ｏｎｌｉｎｅ（アメリカ・オンライン）等）は、一般に、ユーザがパーソナル・ホーム・ページをセット・アップすることを可能にし、パーソナル・ホーム・ページにはコンテンツのカスタム選択を含ませることができる。パーソナル・ホーム・ページは、ユーザが選択した１ないしは複数の『ポートレット』（たとえば、スポーツ、天気、ビジネス等）を含むことができる。各ポートレットは、ホーム・ページ内に専用エリアを含み、そこにウェブ・サービスから獲得された情報が表示される。残念ながら、ホーム・ページの作成においては、ユーザの選択肢がインターネット・ポータルによって提供されるものに限定される。しかも、選択したコンテンツの集成ならびにマネジメントがサーバ上において生じる。
【０００４】
ウェブ・サービスの人気が上昇するに従って、ますますユーザは、ウェブ・サービスの選択におけるより多くの柔軟性を希望するようになっている。多くのユーザは、特定のインターネット・ポータルによって提供される選択肢に限定されることを望んでいない。さらに、利用可能なウェブ・サービスの数の増加に伴って、コスト、信頼性等の指定評価基準を基礎としてウェブ・サービスのサーチならびに選択ができることを希望するようにもなってきている。その結果、多くのユーザは、現在の制限に失望することとなり、ユーザ自身のクライアント・コンピュータにおけるコンテンツのマネージならびに集成を望むようになるであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
結局のところ、ウェブ・サービスを統合するための改良されたシステム、方法、およびプログラム・プロダクトが必要とされている。特に、インターネット・ポータルもしくはそれに類似のものではなく、むしろクライアント・コンピュータにおいて生じるウェブ・サービスの選択ならびに集成を求めるニーズが存在する。
【課題を解決するための手段】
【０００６】
本発明は、クライアント・コンピュータ上においてウェブ・サービスを統合するためのソリューションを提供する。より具体的には、本発明の下に、クライアント・コンピュータにおいて、ユーザ指定の選択評価基準を基礎としてウェブ・サービスのセットが選択される。それに続いてクライアント・コンピュータにおいて、選択されたウェブ・サービスのそれぞれからサービス・データが受け取られ、集成される。さらに、本発明の一実施態様は、これらのサービス・データを構造化データ・オブジェクト内にストアする。構造化データ・オブジェクトの使用によって、サービス・データのキャッシュ、プリフェッチ等が可能になる。その結果、本発明は、特定のウェブ・サイトもしくはそのほかのサード・パーティによって用意されるウェブ・サービスに頼ることに内在する、いかなる制約も伴うことなく、ユーザがクライアント・コンピュータ上において所望のウェブ・サービスを直接選択することを可能にする。つまり、ウェブ・サービスのエンド・ユーザとプロバイダの間に仲介者がまったく必要なくなる。
【０００７】
本発明の第１の側面は、クライアント・コンピュータ上においてウェブ・サービスを統合する方法を提供し、それにおいて当該方法は：クライアント・コンピュータにおいて、選択評価基準を基礎としてウェブ・サービスのセットを選択すること；選択したウェブ・サービスのセットのそれぞれから、ネットワークを介してサービス・データを受け取ること；および、クライアント・コンピュータにおいてサービス・データを集成すること；を含む。
【０００８】
本発明の第２の側面は、クライアント・コンピュータ上においてウェブ・サービスを統合する方法を提供し、それにおいて当該方法は：クライアント・コンピュータにおいて、選択評価基準を受け取ること；選択評価基準を基礎としてウェブ・サービスのセットを選択すること；選択したウェブ・サービスのセットのそれぞれから、ネットワークを介してサービス・データを受け取ること；クライアント・コンピュータにおいてサービス・データを集成すること；および、クライアント・コンピュータにおいて、集成したサービス・データを表示すること；を含む。
【０００９】
本発明の第３の側面は、クライアント・コンピュータ上においてウェブ・サービスを統合するためのシステムを提供し、それにおいて当該システムは：クライアント・コンピュータにおいて、選択評価基準を基礎としてウェブ・サービスのセットを選択するための選択システム；クライアント・コンピュータ上において、選択したウェブ・サービスのセットのそれぞれからネットワークを介してサービス・データを受け取るための通信システム；および、クライアント・コンピュータ上においてサービス・データを集成するための集成システム；を含む。
【００１０】
本発明の第４の側面は、クライアント・コンピュータ上においてウェブ・サービスを統合するための、記録可能メディア上にストアされたプログラム・プロダクトを提供し、それにおいて当該プログラム・プロダクトは、実行されたときに：クライアント・コンピュータにおいて、選択評価基準を基礎としてウェブ・サービスのセットを選択するためのプログラム・コード；クライアント・コンピュータにおいて、選択したウェブ・サービスのセットのそれぞれからネットワークを介してサービス・データを受け取るためのプログラム・コード；および、クライアント・コンピュータ上においてサービス・データを集成するためのプログラム・コード；を含む。
【００１１】
これらの本発明の例証的な側面は、これに述べられている問題、ならびにここでは論じられなかった、当業者が見つけ出すことのできるそのほかの問題を解決するために設計されている。
【００１２】
以上の、およびそのほかの本発明の特徴については、添付図面とともに以下に述べる本発明の各種側面の詳細な説明を参照することによって容易に理解が得られることになろう。
【００１３】
ここで注意される必要があるが、本発明の図面は縮尺図ではない。これらの図面は、本発明の代表的な側面のみの描写が意図されたものであり、したがって本発明の範囲の限定として解釈されるべきではない。なお、図面においては、複数図面にわたって類似の要素に類似の番号が用いられている。
【発明を実施するための最良の形態】
【００１４】
先に示したように、本発明は、クライアント・コンピュータ上においてウェブ・サービスを統合するためのソリューションを提供する。より具体的には、本発明の下に、クライアント・コンピュータにおいて、ユーザ指定の選択評価基準を基礎としてウェブ・サービスのセットが選択される。それに続いて当該クライアント・コンピュータにおいて、選択されたウェブ・サービスのそれぞれからサービス・データが受け取られ、集成される。さらに、本発明の一実施態様は、これらのサービス・データを構造化データ・オブジェクト内にストアする。構造化データ・オブジェクトの使用によって、サービス・データのキャッシュ、プリフェッチ等が可能になる。その結果、本発明は、特定のウェブ・サイトもしくはそのほかのサード・パーティによって用意されるウェブ・サービスに頼ることに内在する、いかなる制約も伴うことなく、ユーザがクライアント・コンピュータ上において所望のウェブ・サービスを直接選択することを可能にする。つまり、ウェブ・サービスのエンド・ユーザとプロバイダの間に仲介者がまったく必要なくなる。
【００１５】
先に進む前に、ここで使用している『ウェブ・サービス』が、ネットワークを介して配信可能なあらゆるタイプのサービスを指していることを理解する必要がある。この点において、ウェブ・サービスは、数字データ、テキスト、グラフィックス、サウンド、あるいはそれらの任意の組み合わせを、ネットワークを介して別のアプリケーションに提供することができる。さらにここで理解される必要があるが、ここで用いている『セット』という用語は、『１ないしは複数』を意味している。
【００１６】
図面を参照するが、図１は、本発明の一実施態様に従った例証的なシステム１０を示している。システム１０は、（クライアント）コンピュータ１２におけるウェブ・サービス２８Ａ〜Ｂ等のウェブ・サービスのセット、ポータル・サービス４４、および／または仮想ウェブ・サービス４６の選択、および選択されたサービスからのデータの集成を可能にする。ポータル・サービス４４および仮想ウェブ・サービス４６は、以下に詳細を述べるが、特定の方法に従ってデータを提供するウェブ・サービスを構成する。本発明の下に、各ウェブ・サービス２８Ａ〜Ｂ、ポータル・サービス４４、および／または仮想ウェブ・サービス４６が、ユーザ２６によって指定された選択評価基準を基礎として選択される。選択された後は、各ウェブ・サービスがネットワークを介して、たとえばインターネットを介してサービス・データをコンピュータ１２へ伝達する。サービス・データは、コンピュータ１２上において集成され、それを組み立てて、ユーザ２６に対して表示されるカスタム・ページ５６を生成することができる。
【００１７】
多くのウェブ・サービス２８Ａ〜Ｅは、特定のコンテンツ分野（たとえば、天気、スポーツ、金融等）に関するデータの生成および伝達を行う。データは、要求のあったとき、データ内に変更のあったとき、もしくは定期的に、あるいはこれらの適当な組み合わせに応答して伝達されるようにすることができる。各種のコンテンツ分野内においていくつかのウェブ・サービス２８Ａ〜Ｅを選択することに代えて、ポータル・サービス４４を選択することもできる。ポータル・サービス４４は、ポータル・ページを生成し、伝達するウェブ・サービスを包含する。ポータル・ページは、１ないしは複数のポートレットを含むウェブ・ページを包含する。ポートレットは、ポータル・ページのエリアを構成し、それが、リモート・ポートレット・サーバ（図示せず）からのコンテンツによって満たされる。各ポートレットは、異なるコンテンツ分野からのコンテンツを含むことができる。ここで理解されるように、各ポートレットは、標準もしくはリモート・ポートレット（たとえば、リモート・ポートレット用のウェブ・サービス）を包含することができる。この結果、ポータル・サービス４４が様々なコンテンツ分野からのデータを伝えることが可能となり、ユーザ２６に対するプレゼンテーションのために頻繁にデータのフォーマットを行う。
【００１８】
さらにまた、仮想ウェブ・サービス４６を選択することができる。仮想ウェブ・サービス４６は、特定のコンテンツ分野（たとえば天気）における多様なウェブ・サービス２８Ｃ〜Ｅからデータを獲得するウェブ・サービスを包含している。仮想ウェブ・サービス４６は、その後、ウェブ・サービス２８Ｃ〜Ｅの１ないしは複数からデータを選択し、それ独自のデータとしてコンピュータ１２へ伝達する。コンピュータ１２側から見れば、それが受け取るすべてのデータの起源は、仮想ウェブ・サービス４６である。しかしながら仮想ウェブ・サービス４６は、データが選択されるウェブ・サービス２８Ｃ〜Ｅを自動的に切り替えること、あるいは複数のウェブ・サービス２８Ｃ〜Ｅからのデータを合成することができる。この選択は、パフォーマンス、価格、精度等の選択評価基準を基礎として行われるようにすることができる。選択評価基準は、コンピュータ１２を介してユーザ２６（たとえば価格）によって提供されること、および／または仮想ウェブ・サービス４６（たとえばパフォーマンス）によって自動的に具体化されることが可能である。
【００１９】
たとえば、ウェブ・サービス２８Ｃ〜Ｅは、天気関連データの別個のプロバイダを包含することができる。仮想ウェブ・サービス４６は、ウェブ・サービス２８Ｃ〜Ｅのそれぞれからデータを受け取ることが可能である。しかしながら仮想ウェブ・サービス４６は、ウェブ・サービス２８Ｃ〜Ｅのうちの１ないしは複数からの天気データを選択的に使用してコンピュータ１２へ提供することができる。たとえば、ウェブ・サービス２８Ｃがもっとも正確である場合に、仮想ウェブ・サービス４６は、最初にそのデータを選択することができる。しかしながら時間的に見ると、通信障害もしくはそのほかの類似のものに起因してウェブ・サービス２８Ｃが適時に天気データを提供できないこともある。その結果として仮想ウェブ・サービス４６は、その後、ウェブ・サービス２８Ｄ〜Ｅからの天気データの組み合わせを提供することがある。
【００２０】
図２は、システム１０の一部をさらに詳細に示している。特に、（クライアント）コンピュータ１２の一実施態様のさらに詳細が提供されている。これに図示されているように、ウェブ・サービス２８Ａ〜Ｂとコンピュータ１２は、通信リンク１３Ａ〜Ｂを介して通信を行う。この点において各通信リンク１３Ａ〜Ｂは、直接的なハードワイヤード接続（たとえば、シリアル・ポート）またはネットワークを含むことができる。後者の場合においては、ネットワークが、ワイヤラインおよび／またはワイヤレス転送方法の任意の組み合わせを使用することのできるクライアント‐サーバ（または、サーバ‐サーバ）環境内にアドレス可能な接続を包含することが可能である。この場合、サーバおよびクライアントは、Ｔｏｋｅｎ  Ｒｉｎｇ（トークン・リング）、Ｅｔｈｅｒｎｅｔ（イーサネット）（Ｒ）、ＷｉＦｉ（ワイファイ）等の従来のネットワーク接続、あるいはそのほかの従来的な通信標準を使用することができる。さらにネットワークは、インターネット、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、仮想プライベート・ネットワーク（ＶＰＮ）等を含めた任意タイプのネットワークを包含することができる。クライアントがインターネットを介してサーバと通信する場合には、従来のＴＣＰ／ＩＰソケット‐ベースのプロトコルによって接続を提供することが可能であり、クライアントは、インターネット・サービス・プロバイダを使用してサーバに対する接続を確立することになる。
【００２１】
図示されているように、コンピュータ１２は、概して中央処理ユニット（ＣＰＵ）１４、メモリ１６、入力／出力（Ｉ／Ｏ）インターフェース１８、バス２０、外部Ｉ／Ｏデバイス／リソース２２、およびストレージ・ユニット２４を備えている。ＣＰＵ  １４は、シングル・プロセッシング・ユニットを構成していることもあり、あるいは１ないしは複数の場所、たとえばクライアントおよびサーバ上の１ないしは複数のプロセッシング・ユニットにわたって分散されていることもある。メモリ１６には、任意の周知のタイプのデータ・ストレージおよび／または搬送メディアを含めることができ、それには、磁気メディア、光メディア、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、データ・キャッシュ、データ・オブジェクト等が含まれる。ストレージ・ユニット２４は、本発明に使用されるデータの、より静的なストレージを提供するための任意タイプのデータ・ストレージとすることができる。そのためストレージ・ユニット２４自体が、１ないしは複数の、磁気ディスク・ドライブまたは光ディスク・ドライブといったストレージ・デバイスを含んでいることがある。しかも、ＣＰＵ  １４と同様に、メモリ１６および／またはストレージ・ユニット２４が、１ないしは複数のタイプのデータ・ストレージを包含する単一の物理的な場所に置かれることもあり、あるいは各種の形式に従って複数の物理的なシステムにわたって分散されることもある。さらに、メモリ１６および／またはストレージ・ユニット２４は、たとえばＬＡＮ、ＷＡＮ、もしくはストレージ・エリア・ネットワーク（ＳＡＮ）（図示せず）にわたって分散されるデータを含むことが可能である。
【００２２】
Ｉ／Ｏインターフェース１８は、外部ソースとの間において相互に情報を交換するための任意のシステムを含むことができる。Ｉ／Ｏデバイス２２は、スピーカ、ＣＲＴ、ＬＥＤスクリーン、ハンドヘルド・デバイス、キーボード、マウス、音声認識システム、スピーチ出力システム、プリンタ、モニタ／ディスプレイ、ファクシミリ、ページャ等を含めた任意の周知タイプの外部デバイスを包含することができる。バス２０は、コンピュータ１２内のコンポーネントのそれぞれの間における通信リンクを提供し、同様に、電気、光、ワイヤレス等を含む任意の周知タイプの転送リンクを包含することができる。それに加えて、これには示されていないが、キャッシュ・メモリ、通信システム、システム・ソフトウエアといった追加のコンポーネントをコンピュータ１２内へ組み込むこともできる。
【００２３】
さらに、ここで理解されるようにコンピュータ１２は、１ないしは複数のほかのコンピューティング・デバイス（たとえば、ウェブ・サービス２８Ａ〜Ｂ）と通信を行うことができる任意タイプのコンピューティング・デバイスを包含することができる。たとえば、コンピュータ１２は、サーバ、デスクトップ・コンピュータ、ラップトップ、ハンドヘルド・デバイス、モバイル電話、ページャ、パーソナル・データ・アシスタント等を含むことが可能である。しかしながら、ここで理解されるように、コンピュータ１２がハンドヘルド・デバイスあるいはそれに類似のものとなる場合には、ディスプレイを、コンピュータ１２に関して図示されているような外部Ｉ／Ｏデバイス２２ではなく、コンピュータ１２内に含めることができる。同様に、ウェブ・サービス２８Ａ〜Ｅ（図１）、ポータル・サービス４４（図１）、および／または仮想ウェブ・サービス４６（図１）についても、サーバ等の任意タイプのコンピューティング・デバイスを含むことが可能である。この点において、それらのウェブ・サービスのそれぞれは、通常、コンピュータ１２内に示されているものと同じエレメントを含む（たとえば、ＣＰＵ、メモリ、Ｉ／Ｏインターフェース等）。ここでは、簡潔のために、そのそれぞれを個別に示し、論ずることはしない。
【００２４】
メモリ１６内にストアされているものとして、コンピュータ１２上においてウェブ・サービスを統合する統合システム３０が示されている。統合システム３０は、評価基準システム３２、選択システム３４、集成システム３６、ディスプレイ・システム３８、および通信システム４０を含んで示されている。通信システム４０は、１ないしは複数のほかのコンピューティング・システム（たとえば、ウェブ・サービス２８Ａ〜Ｂ）との間においてデータの送受を行う。データが受信されると、通信システム４０がデータの有効性、およびコンピュータ１２によるその処理が行われるべきか否かを決定し、行われるべきと決定した場合には、そのデータが転送されるべき対応のシステムを決定する。その後、通信システム４０は、処理のための適切なシステムへそのデータを提供する。したがって、ここで理解されるように、通信システム４０によって実行される機能を適切なシステム内へ組み込むこと、および／または統合システム３０とは別に具体化することが可能である。ここでは、明瞭化のために通信システム４０が分離して示されている。次に、図３および４を参照して残りのシステムの動作について説明する。統合システム３０の一部として各種のシステムが具体化されることが示されているが、これらのシステムの一部もしくは全部を独立して、あるいは組み合わせて具体化できること、かつ／またはネットワークを介して通信する１ないしは複数の独立したコンピュータ１２用のメモリ内へストアできることを理解する必要がある。
【００２５】
メモリ１６内には、仮想ウェブ・サービス４２も示されている。仮想ウェブ・サービス４２は、図１に示し、それを参照して説明した仮想ウェブ・サービス４６と同じ態様で機能する。しかしながらこの場合においては、仮想ウェブ・サービス４２が、別体のコンピューティング・システムではなく、コンピュータ１２上に実装されている。ここで理解されるように、システム１０は、１ないしは複数の明確に区別されるコンピューティング・システム上（たとえば、図１に示されている仮想ウェブ・サービス４６の場合）および／またはコンピュータ１２上（たとえば、図２に示されている仮想ウェブ・サービス４２の場合）において具体化されている１ないしは複数の仮想ウェブ・サービスを含むことができる。
【００２６】
図３は、本発明の一実施態様に従ってウェブ・サービス２８Ａ〜Ｂを選択するときに生じる、例示的データ・フロー４８Ａを示している。これに示されているように、選択評価基準５０が、処理のために評価基準システム３２へ提供される。選択評価基準５０は、たとえば価格、信頼性、コンテンツ分野、更新速度、地理的な場所、データ・フォーマット、時間フレーム等を含むことができる。評価基準システム３２は、選択評価基準５０を受け取るために、ユーザ２６（図１）による選択評価基準５０の入力を可能にするユーザ・インターフェースをユーザ２６へ与えることができる。ユーザ・インターフェースに代えて、あるいはそれに追加して、選択評価基準５０が別のコンピュータから伝達されるように、かつ／またはストレージ（たとえば、ストレージ・ユニット２４）から読み出されるようにしてもよい。いずれの場合にも、コンピュータ１２において評価基準システム３２が選択評価基準５０を受け取り、その選択評価基準５０を選択システム３４へ転送する。
【００２７】
選択システム３４は、選択評価基準５０を基礎としてウェブ・サービス２８Ａ〜Ｂを選択する。たとえば選択システム３４は、選択評価基準５０の一部もしくは全部を、Ｕｎｉｖｅｒｓａｌ  Ｄｅｓｃｒｉｐｔｉｏｎ，  Ｄｉｓｃｏｖｅｒｙ  ａｎｄ  Ｉｎｔｅｇｒａｔｉｏｎ（ＵＤＤＩ；ユニバーサル・デスクリプション、ディスカバリ、アンド  インテグレーション）等の公開標準を使用して具体化されるグローバル・サービス・レジストリへ提供し、使用可能なウェブ・サービス２８Ａ〜Ｂを決定することが可能である。グローバル・サービス・レジストリは、ウェブ・サービス２８Ａ〜Ｂが登録されている集中リストを含んでいる。このグローバル・サービス・レジストリまたはそれに類似の手段を使用すれば、エンド・ユーザが、単一の場所との通信によって利用可能なウェブ・サービス２８Ａ〜Ｂのリストを獲得することが可能になる。しかしながら、ここで理解されるように、ウェブ・サービス２８Ａ〜Ｂを、どの方法ででも探し出し、選択することは可能である。たとえば選択システム３４が、選択評価基準５０の制約の一部もしくは全部に適合するウェブ・サービス２８Ａ〜Ｂに関する要求をブロードキャストし、利用可能である各種のウェブ・サービス２８Ａ〜Ｂがそれに応答するようにすることができる。いずれの場合においても選択システム３４が、その後、選択評価基準５０にもっとも適合するウェブ・サービス２８Ａ〜Ｂを選択することになる。一実施態様においては、選択システム３４が自動的に選択を行う。別の実施態様においては、利用可能なウェブ・サービス２８Ａ〜Ｂがユーザ２６（図１）に対して示され、ユーザ２６が選択を行う。各ウェブ・サービス２８Ａ〜Ｂを選択するために、選択システム３４は、個々のウェブ・サービス２８Ａ〜Ｂの要件に従って各ウェブ・サービス２８Ａ〜Ｂとの接続を確立することができる。
【００２８】
選択が完了すると、ウェブ・サービス２８Ａ〜Ｂは、処理のためにコンピュータ１２へサービス・データを伝達する。図４は、本発明の一実施態様に従ってコンピュータ１２によりサービス・データ５２Ａ〜Ｂが受け取られたときに生じる、例示的データ・フロー４８Ｂを示している。図示されている実施態様においては、サービス・データ５２Ａ〜Ｂが集成システム３６によって受け取られる。集成システム３６は、サービス・データ５２Ａ〜Ｂを集成する。言い換えると集成システム３６は、各種のウェブ・サービス２８Ａ〜Ｂから受け取ったサービス・データを、単一のデータのセットに結合し、続いてそれが、その後の処理のためにディスプレイ・システム３８へ転送される。それに加えて集成システム３６は、選択されたウェブ・サービス２８Ａ〜Ｂ（図３）との通信をマネージすることができる。たとえば集成システム３６は、ウェブ・サービス２８Ａ〜Ｂのうちの１ないしは複数に対して定期的にデータを要求し、ウェブ・サービス２８Ａ〜Ｂからのメッセージに応答し、かつ／またはウェブ・サービス２８Ａ〜Ｂを切断することができる。
【００２９】
すでに示したように、ディスプレイ・システム３８は、集成後のサービス・データをカスタム・ページ５６としてコンピュータ１２に表示する。これを行うためにディスプレイ・システム３８は、ユーザ２６（図１）のための表示属性５４を獲得することができる。表示属性５４は、集成後のサービス・データと結合し、かつ組み立ててカスタム・ページ５６を作ることが可能である。この点において表示属性５４は、サービス・データ５２Ａ〜Ｂの表示に影響のある任意の所望のセッティングもしくはそれに類似のものを包含することができる。たとえば表示属性５４は、スキン、テーマ、カラー・スキーム等のユーザ・プリファレンス、およびスクリーン解像度、カラー・マネジメント等のディスプレイの属性を含むことが可能である。ディスプレイ・システム３８は、表示属性５４を使用してサービス・データ５２Ａ〜Ｂの組織化および配置を行い、カスタム・ページ５６を構築する。
【００３０】
一実施態様においては、ウェブ・サービス２８Ａ〜Ｂ（図３）がサービス属性のセットを使用して定義される。たとえば、ウェブ・サービス記述言語（ＷＳＤＬ）を使用して、各ウェブ・サービス２８Ａ〜Ｂを定義することができる。ＷＳＤＬを使用する場合には、ウェブ・サービス２８Ａ〜Ｂが、次に示す５つの主要な属性によって定義される：すなわち、タイプ、ポート・タイプ、バインディング、メッセージ、ポート、およびサービスである。ＷＳＤＬは拡張可能であり、したがって、このほかの属性の追加、または１ないしは複数の属性の変更が可能である。たとえば、ディスプレイ・マークアップを、各ウェブ・サービス２８Ａ〜Ｂのサービス属性のセットに追加することができる。このディスプレイ・マークアップは、対応するウェブ・サービス２８Ａ〜Ｂのためのサービス・データの表示に関係した情報を含むことができる。たとえばディスプレイ・マークアップは、所望の色、フォント、スクリーン寸法、スクリーンの位置等を含むことができる。その結果としてディスプレイ・システム３８が、ディスプレイ・マークアップを使用してカスタム・ページ５６上における各ウェブ・サービス２８Ａ〜Ｂからのサービス・データ５２Ａ〜Ｂの配置ならびに表示を行うことが可能になる。
【００３１】
ディスプレイ・マークアップ属性またはそのほかの同種のものを使用すると、表示属性およびユーザ・インターフェース属性をウェブ・サービス自体（つまりサービス・データの提供）から分離することが可能になる。つまり、サービス・データ５２Ａ〜Ｂを、コンピュータ１２上において生成されるデータに類似の態様で管理することができる。たとえば集成システム３６は、サービス・データ５２Ａ〜Ｂに関する構造化データ・オブジェクトの生成ならびに維持を行うことができる。コンピュータ１２は、コンピュータ１２のキャッシング規則およびそのほかの同種のものに従って構造化データ・オブジェクトを管理することができる。また、構造化データ・オブジェクトを、サービス・データ５２Ａ〜Ｂのプリフェッチに使用することも可能である。カスタム・ページ５６が、より大量のデータの要約を包含するサービス・データ５２Ａ〜Ｂを包含できることも少なくない。カスタム・ページ５６は、ユーザ２６（図１）へ、より大量のデータを見る選択肢を提供することができる。
【００３２】
集成システム３６もまた、ユーザ２６が追加のデータを見ることを望む可能性の予測が可能であり、適切なウェブ・サービス２８Ａ〜Ｂから追加のサービス・データ５２Ａ〜Ｂを、その選択に先行して獲得し、構造化データ・オブジェクトへ、それをストアしておくことができる。たとえばカスタム・ページ５６に、ユーザ２６の銀行口座（たとえば、貯蓄口座およびチェック口座）内の総額を含めることができる。集成システム３６が銀行のウェブ・サービスとの接続を確立すると、集成システム３６は、口座情報に関する構造化データ・オブジェクトを作成することが可能になる。それに続いて、その後、銀行のウェブ・サービスからサービス・データが受け取られたときに、口座情報を埋めることができる。ユーザ２６は、貯蓄口座に関するもっとも新しい取引を見る選択を行うことができる。この選択に応答して、ディスプレイ・システム３８は、まず、データ・オブジェクトがすでに必要なサービス・データを含んでいるか否かを判断することができる。そのサービス・データが含まれているときには、それを使用して新しいページを組み立てることが可能である。それが利用できないとき、集成システム３６は、必要なサービス・データを検索し、それを将来の使用のためにデータ・オブジェクト内にストアすることができる。その後ユーザ２６が、最初の口座要約ビューに戻る選択を行った場合には、ディスプレイ・システム３８が、構造化データ・オブジェクト内にストアされている情報を使用してページを組み立てることができる。この結果、集成システム３６は、二度目に銀行のウェブ・サービスからこの情報を獲得する必要がなくなる。
【００３３】
図５は、本発明の一実施態様に従ってウェブ・サービスを統合するときに使用される、例示的方法ステップを示している。ステップＳ１では、クライアント・コンピュータにおいて選択評価基準が受け取られる。ステップＳ２においては、この選択評価基準を基礎としてウェブ・サービスが選択される。ステップＳ３においては、選択されたウェブ・サービスのそれぞれから、ネットワークを介してサービス・データが受け取られる。ステップＳ４では、受け取られたサービス・データがクライアント・コンピュータにおいて集成される。ステップＳ５においては、サービス・データと表示属性が結合され、ステップＳ６においては、結合後のデータが組み立てられてカスタム・ページが作られ、それをユーザが見ることができる。
【００３４】
ここで理解されるように、本発明は、ハードウエア、ソフトウエア、あるいはハードウエアとソフトウエアの組み合わせにおいて実現することができる。あらゆる種類のコンピュータ／サーバ・システム（１ないしは複数）――あるいはこれに述べられている方法の実行に適合された装置――が適している。代表的なハードウエアとソフトウエアの組み合わせを、コンピュータ・プログラムを伴う汎用コンピュータ・システムとすることが可能であり、それにおいてコンピュータ・プログラムは、ロードされ、実行されたときに、これに述べられているそれぞれの方法を実行する。それに代えて、本発明の機能的なタスクの１ないしは複数を実行するために特化されたハードウエアを含む専用コンピュータを使用することもできる。本発明は、コンピュータ・プログラム・プロダクト内に埋め込むことも可能であり、それが、これに述べられている方法の具体化を可能にするすべての特徴を包含し、かつそれは、コンピュータ・システム内にロードされたとき、それらの方法を実行させることができる。コンピュータ・プログラム、ソフトウエア・プログラム、プログラム、またはソフトウエアは、この点において、情報処理機能を有するシステムに、特定の機能を、直接、または（ａ）別の言語、コードもしくは表記への変換；および／または（ｂ）異なる実体形式での再生のいずれかもしくは両方が行われた後に、実行させることが意図されたインストラクションのセットの、任意の言語、コードもしくは表記を用いた任意の表現を意味する。
【００３５】
以上の本発明の各種側面の記述は、例証ならびに説明を目的として示されたものである。これらが網羅的であること、あるいは開示されている厳密な形式に本発明が限定されることは意図されてなく、また修正ならびに変形が可能なことは明らかである。当業者に明らかになると見られるその種の修正ならびに変形は、付随する特許請求の範囲によって定義されるように、本発明の範囲内に含まれることが意図されている。
【００３６】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００３７】
（１）クライアント・コンピュータ上においてウェブ・サービスを統合する方法であって：前記クライアント・コンピュータにおいて、選択評価基準を基礎としてウェブ・サービスのセットを選択するステップと；前記選択したウェブ・サービスのセットのそれぞれから、ネットワークを介してサービス・データを受け取るステップと；および、前記クライアント・コンピュータにおいて前記サービス・データを集成するステップと；を含む方法。
（２）さらに、前記クライアント・コンピュータにおいて前記選択評価基準を受け取るステップを含む、請求項１に記載の方法。
（３）さらに、前記クライアント・コンピュータにおいて前記集成したサービス・データを表示するステップを含む、請求項１に記載の方法。
（４）前記表示するステップは：ユーザのための表示属性を獲得するステップと；前記表示属性を前記サービス・データと結合するステップと；および、前記サービス・データをページに組み立てるステップと；を含む、請求項３に記載の方法。
（５）前記ウェブ・サービスのセットのそれぞれは、ディスプレイ・マークアップを含むサービス属性のセットによって定義され、前記ディスプレイ・マークアップは、前記組み立てるステップにおいて使用される、請求項４に記載の方法。
（６）前記ウェブ・サービスのセットの少なくとも１つは、仮想ウェブ・サービスを包含する、請求項１に記載の方法。
（７）前記仮想ウェブ・サービスは、前記クライアント・コンピュータ上に配置される、請求項６に記載の方法。
（８）さらに、前記クライアント・コンピュータにおいて構造化データ・オブジェクトへ前記サービス・データをストアすることを含む、請求項１に記載の方法。
（９）クライアント・コンピュータ上においてウェブ・サービスを統合する方法であって：前記クライアント・コンピュータにおいて、選択評価基準を受け取るステップと；前記選択評価基準を基礎としてウェブ・サービスのセットを選択するステップと；前記選択したウェブ・サービスのセットのそれぞれから、ネットワークを介してサービス・データを受け取るステップと；前記クライアント・コンピュータにおいて前記サービス・データを集成するステップと；および、前記クライアント・コンピュータにおいて、前記集成したサービス・データを表示するステップと；を含む方法。
（１０）前記表示するステップは：ユーザのための表示属性を獲得するステップと；前記表示属性を前記サービス・データと結合するステップと；前記サービス・データをカスタム・ページに組み立てるステップと；を含む、請求項９に記載の方法。
（１１）前記ウェブ・サービスのセットの少なくとも１つは、仮想ウェブ・サービスを包含する、請求項９に記載の方法。
（１２）前記仮想ウェブ・サービスは、前記クライアント・コンピュータ上に配置される、請求項１１に記載の方法。
（１３）さらに、前記クライアント・コンピュータにおいて構造化データ・オブジェクトへ前記サービス・データをストアするステップを含む、請求項９に記載の方法。
（１４）クライアント・コンピュータ上においてウェブ・サービスを統合するためのシステムであって：前記クライアント・コンピュータにおいて、選択評価基準を基礎としてウェブ・サービスのセットを選択するための選択システム；前記クライアント・コンピュータ上において、前記選択したウェブ・サービスのセットのそれぞれからネットワークを介してサービス・データを受け取るための通信システム；および、前記クライアント・コンピュータ上において前記サービス・データを集成するための集成システム；を含むシステム。
（１５）さらに、前記クライアント・コンピュータにおいて前記選択評価基準を受け取るための評価基準システムを含む、請求項１４に記載のシステム。
（１６）さらに、前記クライアント・コンピュータにおいて前記集成したサービス・データを表示するための表示システムを含む、請求項１４に記載のシステム。
（１７）前記ウェブ・サービスのセットの少なくとも１つは、仮想ウェブ・サービスを包含する、請求項１４に記載のシステム。
（１８）クライアント・コンピュータ上においてウェブ・サービスを統合するための、記録可能メディア上にストアされたプログラムであって、実行されたときに：前記クライアント・コンピュータにおいて、選択評価基準を基礎としてウェブ・サービスのセットを選択するためのプログラム・コード；前記クライアント・コンピュータにおいて、前記選択したウェブ・サービスのセットのそれぞれからネットワークを介してサービス・データを受け取るためのプログラム・コード；および、前記クライアント・コンピュータにおいて前記サービス・データを集成するためのプログラム・コード；を含む、プログラム。
（１９）さらに、前記クライアント・コンピュータにおいて選択評価基準を受け取るためのプログラム・コード；および、前記クライアント・コンピュータにおいて前記集成したサービス・データを表示するためのプログラム・コード；を含む、請求項１８に記載のプログラム。
（２０）さらに：複数のウェブ・サービスからサービス・データを獲得するためのプログラム・コード；前記複数のウェブ・サービスの少なくとも１つからのサービス・データを選択するためのプログラム・コード；および、前記受け取るためのプログラム・コードへ、前記選択されたサービス・データを、仮想ウェブ・サービスからサービス・データとして提供するためのプログラム・コード；を含む、請求項１８に記載のプログラム。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施態様に従った例示的なシステムを示したブロック図である。
【図２】図１のシステムの一部をより詳細に示したブロック図である。
【図３】本発明の別の実施態様に従ったウェブ・サービスの選択に関する例証的なデータ・フローを示したブロック図である。
【図４】本発明のさらに別の実施態様に従ったウェブ・サービスの集成に関する例証的なデータ・フローを示したブロック図である。
【図５】本発明のさらに別の実施態様に従ったウェブ・サービスの統合に使用される例証的な方法ステップを示した説明図である。
【符号の説明】
【００３９】
１０  システム
１２  コンピュータ；（クライアント）コンピュータ 
１３Ａ  通信リンク
１３Ｂ  通信リンク
１４  ＣＰＵ；中央処理ユニット（ＣＰＵ）
１６  メモリ
１８  Ｉ／Ｏインターフェース；入力／出力（Ｉ／Ｏ）インターフェース
２０  バス
２２  Ｉ／Ｏデバイス；外部Ｉ／Ｏデバイス；外部Ｉ／Ｏデバイス／リソース
２４  ストレージ・ユニット
２６  ユーザ
２８Ａ  ウェブ・サービス
２８Ｂ  ウェブ・サービス
２８Ｃ  ウェブ・サービス
２８Ｄ  ウェブ・サービス
２８Ｅ  ウェブ・サービス
３０  統合システム
３２  評価基準システム
３４  選択システム
３６  集成システム
３８  ディスプレイ・システム
４０  通信システム
４２  仮想ウェブ・サービス
４４  ポータル・サービス
４６  仮想ウェブ・サービス
４８Ａ  データ・フロー
４８Ｂ  データ・フロー
５０  選択評価基準
５２Ａ  サービス・データ
５２Ｂ  サービス・データ
５４  表示属性
５６  カスタム・ページ
【図１】
2005063440.tif 000003
【図２】
2005063440.tif 000004
【図３】
2005063440.tif 000005
【図４】
2005063440.tif 000006
【図５】
2005063440.tif 000007