(57)【特許請求の範囲】
【請求項１】
サーバコンピュータシステムにおいて、金融機関から、ユーザ固有の金融情報を受信するステップであり、前記ユーザ固有の金融情報は、それぞれが異なるユーザに関連付けられた複数の情報の集合である、ステップと、
前記サーバコンピュータシステムに前記ユーザ固有の金融情報を保存するステップと、
前記サーバコンピュータシステムにおいて、複数の開発者のコンピュータシステムから、それぞれが１以上の開発者に関連付けられた複数のガジェットを受信するステップであり、前記ガジェットはそれぞれ、前記サーバコンピュータシステムから、ユーザに関連付けられた前記ユーザ固有の金融情報を要求すると共に、前記ユーザ固有の金融情報及び前記ガジェットの各機能に基づいた各出力を決定するものである、ステップと、
前記サーバコンピュータシステムにおいて、前記複数のガジェットの１つ以上の各保証の指標を保存するステップと、
前記サーバコンピュータシステムによって、前記１つ以上の保証されたガジェットからユーザが１つのガジェットを選択できるインタフェースを含む第１のウェブページを生成し、前記第１のウェブページを前記ユーザのクライアントコンピュータに提供するステップと、
前記サーバコンピュータシステムにおいて、前記ユーザがガジェットを選択したことを示す通知を、前記ユーザのクライアントコンピュータから受信するステップと、
前記サーバコンピュータシステム上で、前記ユーザに関連付けられたユーザ固有の金融情報を前記ガジェットに提供するステップ及び前記ガジェットから出力を受信するステップを含む前記選択されたガジェットを実行するステップと、
前記サーバコンピュータシステムにおいて、前記ガジェットの出力に応じて前記ユーザに関連付けられた前記ユーザ固有の金融情報を変更し、又は前記ガジェットの出力に基づいて、前記ユーザのクライアントコンピュータにコンテンツを提供するステップとを有するコンピュータによって実施される方法。
【請求項２】
前記ガジェットの出力に基づいて、前記ユーザのクライアントコンピュータにコンテンツを提供するステップは、前記サーバコンピュータシステム上で、前記ガジェットの出力を用いて、第２のウェブページを生成するステップと、前記第２のウェブページを前記ユーザのクライアントコンピュータに提供するステップとを含む請求項１記載の方法。
【請求項３】
前記ガジェットの出力に基づいて、前記ユーザのクライアントコンピュータにコンテンツを提供するステップは、前記ユーザにテキストメッセージ又は電子メールメッセージを送信するステップを含む請求項１記載の方法。
【請求項４】
前記サーバコンピュータシステムにおいて、前記保証されたガジェットの１つ以上を金融機関が認証したことを示す指標を受信するステップを更に有し、
前記インタフェースは、前記１つ以上の認証されたガジェットのみからユーザがガジェットを選択できるようにする請求項１記載の方法。
【請求項５】
前記ガジェットの選択は、ガジェットの購入であり、前記方法は、
前記サーバコンピュータシステムにおいて、支払うべき金額及び支払いソースを含む、前記ガジェットの購入に関連する支払い情報を受信するステップと、
前記サーバコンピュータシステムにおいて、前記支払うべき金額に等しい電子支払いが前記支払いソースから受領されたことを示す通知を受信するステップとを更に有する請求項１記載の方法。
【請求項６】
前記金融機関及び前記ガジェットに関連付けられた１以上の開発者へ、電子支払いを行うステップを更に有する請求項５記載の方法。
【請求項７】
前記サーバコンピュータシステムに前記１つ以上の保証されたガジェットを保存するステップを更に有する請求項１記載の方法。
【請求項８】
プラットフォームプロバイダは、前記ガジェットが広告された機能を実行するか、前記ガジェットに関する安全性の問題の有無、前記ガジェットに関する性能上の問題の有無に基づいて、前記複数ガジェットのそれぞれを保証するか否かを判定する請求項１記載の方法。
【請求項９】
前記サーバコンピュータシステムにおいて、前記ユーザが、前記ユーザの金融情報にガジェットがアクセスすることを取り消すことを要求したことを示す通知を受信するステップと、
前記ガジェットの前記ユーザの金融情報へのアクセスを取り消すステップとを更に有する請求項１記載の方法。
【請求項１０】
サーバコンピュータシステムにおいて、複数の開発者のコンピュータシステムから、それぞれが１以上の開発者に関連付けられた複数のガジェットを受信するステップであり、前記ガジェットはそれぞれ、前記サーバコンピュータシステムから、ユーザに関連付けられたユーザ固有の金融情報を要求すると共に、前記ユーザ固有の金融情報及び前記ガジェットの各機能に基づいた各出力を決定するものである、ステップと、
前記サーバコンピュータシステムにおいて、前記複数のガジェットの１つ以上をプラットフォームプロバイダが保証したことを示す通知を受信するステップと、
前記サーバコンピュータシステムにおいて、前記保証されたガジェットの１つ以上を金融機関が認証したことを示す通知を受信するステップと、
前記サーバコンピュータシステムによって、前記１つ以上の認証されたガジェットからユーザが１つのガジェットを選択できるインタフェースを含む第１のウェブページを生成し、前記第１のウェブページを前記ユーザのクライアントコンピュータに提供するステップと、
前記サーバコンピュータシステムにおいて、前記ユーザがガジェットを選択したことを示す通知を受信するステップと、
前記サーバコンピュータシステム上で、前記選択されたガジェットを実行し、前記選択されたガジェットから出力を受信するステップと、
前記サーバコンピュータシステム上で、前記選択されたガジェットの出力を用いて、第２のウェブページを生成し、前記第２のウェブページを前記ユーザのクライアントコンピュータに提供するステップとを有するコンピュータによって実施される方法。
【請求項１１】
前記サーバコンピュータシステムにおいて、前記金融機関から、ユーザ固有の金融情報を受信するステップであり、前記ユーザ固有の金融情報は、それぞれが異なるユーザに関連付けられた複数の情報の集合である、ステップと、
前記サーバコンピュータシステムに前記ユーザ固有の金融情報を保存するステップとを更に有し、
前記サーバコンピュータシステム上で前記選択されたガジェットを実行するステップは、前記ユーザに関連付けられた前記ユーザ固有の金融情報をガジェットに提供するステップを含む請求項１０記載の方法。
【請求項１２】
前記ガジェットの選択は、ガジェットの購入である請求項１０記載の方法。
【請求項１３】
前記サーバコンピュータシステムにおいて、支払うべき金額及び支払いソースを含む、前記ガジェットの選択に関連する支払い情報を受信するステップと、
前記サーバコンピュータシステムにおいて、前記支払うべき金額に等しい電子支払いが前記支払いソースから受領されたことを示す通知を受信するステップとを更に有する請求項１２記載の方法。
【請求項１４】
前記金融機関及び前記ガジェットに関連付けられた１以上の開発者に電子支払いを行うステップを更に有する請求項１３記載の方法。
【請求項１５】
前記サーバコンピュータシステムに前記１つ以上の認証されたガジェットを保存するステップを更に有する請求項１０記載の方法。
【請求項１６】
サーバコンピュータシステムにおいて、金融機関から、ユーザ固有の金融情報を受信するステップであり、前記ユーザ固有の金融情報は、それぞれが異なるユーザに関連付けられた複数の情報の集合である、ステップと、
前記サーバコンピュータシステムに前記ユーザ固有の金融情報を保存するステップと、
前記サーバコンピュータシステムにおいて、プラットフォームプロバイダから、それぞれが１以上の開発者によって制作された、複数の保証されたガジェットを受信するステップであり、前記ガジェットはそれぞれ、前記サーバコンピュータシステムから、ユーザに関連付けられた前記ユーザ固有の金融情報を要求し、前記ユーザ固有の金融情報及び前記ガジェットの各機能に基づいた各出力を決定するものである、ステップと、
前記サーバコンピュータシステムにおいて、前記プラットフォームプロバイダから、ユーザがガジェットを使用できることを示す使用通知を受信するステップと、
前記サーバコンピュータシステム上で、前記ユーザに関連付けられた前記ユーザのユーザ固有の金融情報を前記ガジェットに提供するステップ及び前記ガジェットから出力を受信するステップを含む前記ガジェットを実行するステップと、
前記サーバコンピュータシステムにおいて、前記ガジェットの出力に応じて前記ユーザに関連付けられた前記ユーザ固有の金融情報を変更し、又は前記ガジェットの出力に基づいて、前記ユーザのクライアントコンピュータにコンテンツを提供するステップとを有するコンピュータによって実施される方法。
【請求項１７】
前記使用通知は、ユーザ固有であり、前記ユーザがガジェットを購入したことを示す請求項１６記載の方法。
【請求項１８】
前記使用通知は、如何なるユーザもガジェットを使用できることを示す請求項１６記載の方法。
【請求項１９】
前記サーバコンピュータシステムにおいて、前記複数の保証されたガジェットの１つ以上を金融機関が認証したことを示す認証通知を受信するステップを更に有し、
前記認証されたガジェットだけが前記サーバコンピュータシステム上で実行される請求項１６記載の方法。
【請求項２０】
前記サーバコンピュータシステムに前記複数の保証されたガジェットを保存するステップを更に有する請求項１６記載の方法。
【請求項２１】
動作を実行するようにプログラミングされた１つ以上のコンピュータを備えるサーバコンピュータシステムにおいて、前記動作は、
金融機関から、ユーザ固有の金融情報を受信するステップであり、前記ユーザ固有の金融情報は、それぞれが異なるユーザに関連付けられた複数の情報の集合である、ステップと、
前記ユーザ固有の金融情報を保存するステップと、
複数の開発者のシステムから、それぞれが１以上の開発者に関連付けられた複数のガジェットを受信するステップであり、前記ガジェットはそれぞれ、前記サーバコンピュータシステムから、ユーザに関連付けられた前記ユーザ固有の金融情報を要求し、前記ユーザ固有の金融情報及び前記ガジェットの各機能に基づいた各出力を決定するものである、ステップと、
前記複数のガジェットの１つ以上の各保証の指標を保存するステップと、
前記１つ以上の保証されたガジェットからユーザが１つのガジェットを選択できるインタフェースを含む第１のウェブページを生成し、前記第１のウェブページをユーザのクライアントコンピュータに提供するステップと、
前記ユーザがガジェットを選択したことを示す通知を、前記ユーザのクライアントコンピュータから受信するステップと、
前記ユーザに関連付けられた前記ユーザのユーザ固有の金融情報を前記ガジェットに提供するステップ及び前記ガジェットから出力を受信するステップを含む前記選択されたガジェットを実行するステップと、
前記ガジェットの出力に応じて前記ユーザに関連付けられた前記ユーザ固有の金融情報を変更し、又は前記ガジェットの出力に基づいて、前記ユーザのクライアントコンピュータにコンテンツを提供するステップとを有するシステム。
【請求項２２】
動作を実行するようにプログラミングされた１つ以上のコンピュータを備えるサーバコンピュータシステムにおいて、前記動作は、
複数の開発者のコンピュータシステムから、それぞれが１以上の開発者に関連付けられた複数のガジェットを受信するステップであり、前記ガジェットはそれぞれ、前記サーバコンピュータシステムから、ユーザに関連付けられた前記ユーザ固有の金融情報を要求すると共に、前記ユーザ固有の金融情報及び前記ガジェットの各機能に基づいた各出力を決定するものである、ステップと、
前記複数のガジェットの１つ以上の各保証の指標を保存するステップと、
前記複数の保証されたガジェットの１つ以上を金融機関が認証したことを示す通知を受信するステップと、
前記１つ以上の認証されたガジェットからユーザが１つのガジェットを選択できるインタフェースを含む第１のウェブページを生成し、前記第１のウェブページをユーザのクライアントコンピュータに提供するステップと、
前記ユーザがガジェットを選択したことを示す通知を、前記ユーザのクライアントコンピュータから受信するステップと、
前記選択されたガジェットを実行し、前記選択されたガジェットから出力を受信するステップと、
前記選択されたガジェットの出力を用いて、第２のウェブページを生成し、前記第２のウェブページを前記ユーザのクライアントコンピュータに提供するステップとを有するシステム。
【請求項２３】
動作を実行するようにプログラミングされた１つ以上のコンピュータを備えるサーバコンピュータシステムにおいて、前記動作は、
金融機関から、ユーザ固有の金融情報を受信するステップであり、前記ユーザ固有の金融情報は、それぞれが異なるユーザに関連付けられた複数の情報の集合である、ステップと、
前記ユーザ固有の金融情報を保存するステップと、
プラットフォームプロバイダから、それぞれが１以上の開発者によって制作された、複数の保証されたガジェットを受信するステップであり、前記ガジェットはそれぞれ、前記サーバコンピュータシステムから、ユーザに関連付けられた前記ユーザ固有の金融情報を要求し、前記ユーザ固有の金融情報及び前記ガジェットの各機能に基づいた各出力を決定するものである、ステップと、
前記プラットフォームプロバイダから、ユーザがガジェットを使用できることを示す使用通知を受信するステップと、
前記ユーザに関連付けられた前記ユーザ固有の金融情報を前記ガジェットに提供するステップ及び前記ガジェットから出力を受信するステップを含む前記ガジェットを実行するステップと、
前記ガジェットの出力に応じて前記ユーザに関連付けられた前記ユーザ固有の金融情報を変更し、又は前記ガジェットの出力に基づいて、前記ユーザのクライアントコンピュータにコンテンツを提供するステップとを有するシステム。
【請求項２４】
サーバコンピュータシステムにおいて、金融機関から、ユーザ固有の金融情報を受信するステップであり、前記ユーザ固有の金融情報は、それぞれが異なるユーザに関連付けられた複数の情報の集合である、ステップと、
前記サーバコンピュータシステムに前記ユーザ固有の金融情報を保存するステップと、
前記サーバコンピュータシステムにおいて、複数の開発者のシステムから、それぞれが１以上の開発者に関連付けられた複数のガジェットを特定する情報を受信するステップであり、前記ガジェットはそれぞれ、前記サーバコンピュータシステムから、ユーザに関連付けられた前記ユーザ固有の金融情報を要求し、前記ユーザ固有の金融情報及び前記ガジェットの各機能に基づいた各出力を決定するものである、ステップと、
前記サーバコンピュータシステムにおいて、前記複数のガジェットの１つ以上の各保証の指標を保存するステップと、
前記サーバコンピュータシステムにおいて、前記１つ以上の保証されたガジェットからユーザが１つのガジェットを選択でき、前記ガジェットが前記ユーザに関連付けられた前記ユーザ固有の金融情報にアクセスできると指定するインタフェースを含む第１のウェブページを生成し、前記第１のウェブページをユーザのクライアントコンピュータに提供するステップと、
前記サーバコンピュータシステムにおいて、前記ユーザがガジェットを選択したことを示す通知を、前記ユーザのクライアントコンピュータから受信するステップと、
前記選択されたガジェットから要求を受信し、前記要求に応じて、前記ユーザに関連付けられた前記ユーザ固有の金融情報を前記ガジェットに提供するステップとを有するコンピュータによって実施される方法。
【請求項２５】
前記サーバコンピュータシステムにおいて、前記ガジェットから受信した出力に応じて前記ユーザに関連付けられた前記ユーザ固有の金融情報を変更するステップを更に有する請求項２４記載の方法。
【請求項２６】
前記サーバコンピュータシステムにおいて、前記選択されたガジェットを実行するステップを更に有する請求項２４記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、金融情報を用いるガジェットの購入及び使用に関する。
【背景技術】
【０００２】
インターネットが普及して、多くのユーザが、インターネット上で提供されるサービスを利用して、資金の管理を行うようになった。
【０００３】
これらのサービスは、銀行又はクレジットカード会社等の金融機関が提供することもあり、複数の金融機関からのユーザ固有の金融情報を集約し（aggregate）、表示するアカウントアグリゲータ（account aggregator）によって提供されることもある。
【０００４】
ユーザは、通常、ユーザ名とパスワードを用いて、金融機関又はアカウントアグリゲータによって保守されているウェブページにログインする。これらのウェブページから、ユーザは、オンラインバンキング、電子決済、アカウントアグリゲーション、及び他のオンライン金融サービスにアクセスできる。
【０００５】
オンラインバンキングは、ユーザによるユーザ自身の金融情報へのアクセスを実現し、及びユーザに多くのサービスを提供する。ユーザは、例えば、オンラインで入出金明細及び支払い済み小切手を含むユーザ自身の口座収支報告書を確認でき、オンラインで残高の振替を行うことができ、オンラインで借入を申し込むことができる。
【０００６】
また、ユーザは、電子決済を用いて、インターネットを介して口座から債権者に代金を振り込むことによって、オンラインで勘定を支払うことができる。多くの金融機関及びアカウントアグリゲータは、それらのウェブページから、ユーザがユーザ自身の全ての勘定を支払えるようにしている。また、ユーザは、幾つかの金融機関及びアカウントアグリゲータのウェブページから債権者への自動支払いを予定することもできる。
【０００７】
アカウントアグリゲーションは、ユーザの複数の口座に関連する金融情報を１つのサイトで表示することを含む。各口座は、異なる金融機関に属するものであってもよい。アカウントアグリゲーションによって、ユーザが自らの財務状態の全体を速やかに把握することが容易になる。
【発明の概要】
【課題を解決するための手段】
【０００８】
包括的に言えば、一側面では、方法は、コンピュータシステムにおいて、金融機関から、ユーザ固有の金融情報を収集するステップと、コンピュータシステムにユーザ固有の金融情報を保存するステップとを有する。コンピュータシステムにおいて、複数の開発者から、複数のガジェットが受信される。各ガジェットは、それぞれが１以上の開発者に関連付けられている。コンピュータシステムにおいて、複数のガジェットの１つ以上をプラットフォームプロバイダが保証したことを示す通知が受信される。コンピュータシステムによって、第１のウェブページが生成され、ユーザのクライアントコンピュータに提供される。第１のウェブページは、１つ以上の保証されたガジェットからユーザがガジェットを選択できるインタフェースを含む。コンピュータシステムにおいて、ユーザがガジェットを選択したことを示す通知が受信され、選択されたガジェットは、コンピュータシステム上で実行される。ガジェットの実行は、ユーザのユーザ固有の金融情報をガジェットに提供すること及びガジェットから出力を受信することを含む。コンピュータシステムにおいて、ガジェットの出力に応じてユーザ固有の金融情報が変更され、又はガジェットの出力に基づいて、ユーザにコンテンツが提供される。
【０００９】
具体例は、以下の特徴の１つ以上を含むことができる。ガジェットの出力に基づいて、ユーザにコンテンツを提供するステップは、コンピュータシステム上で、ガジェットの出力を用いて、第２のウェブページを生成するステップと、第２のウェブページをユーザのクライアントコンピュータに提供するステップとを含んでいてもよい。ガジェットの出力に基づいて、ユーザにコンテンツを提供するステップは、ユーザにテキストメッセージ又は電子メールメッセージを送信するステップを含んでいてもよい。コンピュータシステムにおいて、保証されたガジェットの１つ以上を金融機関が認証したことを示す指示を受信することができる。インタフェースは、１つ以上の認証されたガジェットのみからユーザがガジェットを選択できるようにしてもよい。ガジェットの選択は、ガジェットの購入であってもよい。コンピュータシステムにおいて、ガジェットの購入に関連する支払い情報を受信してもよい。支払い情報は、支払うべき金額及び支払いソースを含んでいてもよい。コンピュータシステムにおいて、支払うべき金額に等しい電子支払いが支払いソースから受領されたことを示す通知を受信してもよい。金融機関及びガジェットに関連付けられた１以上の開発者に電子支払いを行ってもよい。コンピュータシステムに１つ以上の保証されたガジェットを保存してもよい。
【００１０】
プラットフォームプロバイダは、ガジェットが広告された機能を実行するか、ガジェットに関する安全性の問題の有無、ガジェットに関する性能上の問題の有無に基づいて、複数ガジェットのそれぞれを保証するか否かを判定してもよい。この方法は、コンピュータシステムにおいて、ユーザが、ユーザの金融情報にガジェットがアクセスすることを取り消すことを要求したことを示す通知を受信するステップと、ガジェットのユーザの金融情報へのアクセスを取り消すステップとを更に有していてもよい。
【００１１】
包括的に言えば、一側面では、コンピュータが読取可能な媒体上で符号化されるコンピュータプログラム製品は、データ処理装置に、上述した方法を実行させるように動作する。
【００１２】
包括的に言えば、一側面では、１つ以上のコンピュータからなるシステムは、上述した方法を構成する動作を実行するようにプログラミングされる。
【００１３】
包括的に言えば、一側面では、方法は、コンピュータシステムにおいて、複数の開発者から複数のガジェットを受信するステップを有する。各ガジェットは、それぞれが１以上の開発者に関連付けられている。コンピュータシステムにおいて、複数のガジェットの１つ以上をプラットフォームプロバイダが保証したことを示す通知を受信する。コンピュータシステムにおいて、保証されたガジェットの１つ以上を金融機関が認証したことを示す通知を受信する。コンピュータシステムによって、第１のウェブページを生成し、第１のウェブページをユーザのクライアントコンピュータに提供する。第１のウェブページは、１つ以上の認証されたガジェットからユーザがガジェットを選択できるインタフェースを含む。コンピュータシステムにおいて、ユーザがガジェットを選択したことを示す通知を受信する。コンピュータシステム上で、選択されたガジェットを実行し、選択されたガジェットから出力を受信する。コンピュータシステム上で、選択されたガジェットの出力を用いて、第２のウェブページを生成し、第２のウェブページをユーザのクライアントコンピュータに提供する。
【００１４】
具体例は、以下の特徴の１つ以上を含むことができる。金融機関からのユーザ固有の金融情報を収集して、コンピュータシステムに保存してもよい。選択されたガジェットの実行は、ユーザ固有の金融情報をガジェットに提供することを含んでいてもよい。ガジェットの選択は、ガジェットの購入であってもよい。コンピュータシステムにおいて、ガジェットの選択に関連する支払い情報を受信してもよい。支払い情報は、支払うべき金額及び支払いソースを含んでいてもよい。コンピュータシステムにおいて、支払うべき金額に等しい電子支払いが支払いソースから受領されたことを示す通知を受信してもよい。金融機関及びガジェットに関連付けられた１以上の開発者に電子支払いを行ってもよい。コンピュータシステムに１つ以上の保証されたガジェットを保存してもよい。
【００１５】
包括的に言えば、一側面では、コンピュータが読取可能な媒体上で符号化されるコンピュータプログラム製品は、データ処理装置に、上述した方法を実行させるように動作する。
【００１６】
包括的に言えば、一側面では、１つ以上のコンピュータからなるシステムは、上述した方法を構成する動作を実行するようにプログラミングされる。
【００１７】
包括的に言えば、一側面では、方法は、コンピュータシステムにおいて、金融機関から、ユーザ固有の金融情報を収集するステップと、コンピュータシステムにユーザ固有の金融情報を保存するステップとを有する。複数の保証されたガジェットは、プラットフォームプロバイダから受信される。各ガジェットは、１以上の開発者によって制作されている。コンピュータシステムにおいて、プラットフォームプロバイダから、ユーザがガジェットを使用できることを示す使用通知を受信する。ガジェットは、コンピュータシステム上で実行される。ガジェットの実行は、ユーザのユーザ固有の金融情報をガジェットに提供すること及びガジェットから出力を受信することを含む。コンピュータシステムにおいて、ガジェットの出力に応じてユーザ固有の金融情報を変更し、又はガジェットの出力に基づいて、ユーザにコンテンツを提供する。
【００１８】
具体例は、以下の特徴の１つ以上を含むことができる。ガジェットの出力に基づいて、ユーザにコンテンツを提供するステップは、コンピュータシステム上で、ガジェットの出力を用いて、第２のウェブページを生成するステップと、第２のウェブページをユーザのクライアントコンピュータに提供するステップとを含んでいてもよい。ガジェットの出力に基づいて、ユーザにコンテンツを提供するステップは、ユーザにテキストメッセージ又は電子メールメッセージを送信するステップを含んでいてもよい。使用通知は、ユーザ固有であり、ユーザがガジェットを購入したことを示してもよい。使用通知は、如何なるユーザもガジェットを使用できることを示してもよい。コンピュータシステムにおいて、複数の保証されたガジェットの１つ以上を金融機関が認証したことを示す通知を受信してもよく、認証されたガジェットだけをコンピュータシステム上で実行してもよい。コンピュータシステムに複数の保証されたガジェットを保存してもよい。
【００１９】
包括的に言えば、一側面では、コンピュータが読取可能な媒体上で符号化されるコンピュータプログラム製品は、データ処理装置に、上述した方法を実行させるように動作する。
【００２０】
包括的に言えば、一側面では、１つ以上のコンピュータからなるシステムは、上述した方法を構成する動作を実行するようにプログラミングされる。
【００２１】
一般的に一側面においては、方法は、コンピュータシステムにおいて、金融機関から、ユーザ固有の金融情報を収集するステップを有する。方法は、コンピュータシステムにユーザ固有の金融情報を保存するステップと、コンピュータシステムにおいて、複数の開発者から、それぞれが１以上の開発者に関連付けられた複数のガジェットを特定する情報を受信するステップと、コンピュータシステムにおいて、複数のガジェットの１つ以上をプラットフォームプロバイダが保証したことを示す通知を受信するステップとを更に有する。コンピュータシステムにおいて、第１のウェブページを生成し、第１のウェブページをユーザのクライアントコンピュータに提供する。第１のウェブページは、１つ以上の保証されたガジェットからユーザがガジェットを選択でき、ガジェットがユーザ固有の金融情報にアクセスできると指定するインタフェースを含む。ユーザがガジェットを選択したことを示す通知を受信する。選択されたガジェットから要求を受信し、要求に応じて、ユーザ固有の金融情報をガジェットに提供する。
【００２２】
具体例は、以下の特徴の１つ以上を含むことができる。方法は、コンピュータシステムにおいて、ガジェットから受信した出力に応じてユーザ固有の金融情報を変更するステップを更に有していてもよい。方法は、コンピュータシステムにおいて、選択されたガジェットを実行するステップを更に有していてもよい。
【００２３】
包括的に言えば、一側面では、コンピュータが読取可能な媒体上で符号化されるコンピュータプログラム製品は、データ処理装置に、上述した方法を実行させるように動作する。
【００２４】
包括的に言えば、一側面では、１つ以上のコンピュータからなるシステムは、上述した方法を構成する動作を実行するようにプログラミングされる。
【００２５】
１つ以上の実施の形態の詳細は、添付の図面及び以下の説明に示されている。他の特徴、目的及び利点は、説明及び図面、並びに特許請求の範囲から明らかとなる。
【図面の簡単な説明】
【００２６】
【図１】４つの主なパーティのコンピュータシステムのインタラクションを説明する図である。
【図２】第１の実施の形態の例示的アーキテクチャを示す図である。
【図３】第１の実施の形態のプラットフォームプロバイダのサーバの例示的アーキテクチャを示す図である。
【図４】第１の実施の形態における情報フローを示す図である。
【図５】ガジェットを実行するプラットフォームプロバイダのウェブページの一例の画面を示す図である。
【図６】異なる構成のガジェットを示すプラットフォームプロバイダのウェブページの第２の具体例の画面を示す図である。
【図７】プラットフォームプロバイダによって運営されるガジェットストアの一例の画面を示す図である。
【図８】ガジェットに関する情報を含む詳細画面ウェブページの一例の画面を示す図である。
【図９】ユーザがガジェットを購入するために支払い情報を入力できる支払いページを表示する画面を示す図である。
【図１０】どのガジェットがユーザの個人金融情報にアクセスできるかをユーザが指定できるユーザ設定ページの一例の画面を示す図である。
【図１１】ガジェットをユーザに提供するための例示的な処理のフローチャートである。
【図１２】ガジェットをユーザに提供するための他の例示的な処理のフローチャートである。
【図１３】第２の実施の形態の例示的アーキテクチャを示す図である。
【図１４】第２の実施の形態における例示的な情報フローを示す図である。
【図１５】ガジェットをユーザに提供するための例示的な処理のフローチャートである。
【図１６】例示的な汎用コンピュータシステムの概略図である。
【発明を実施するための形態】
【００２７】
図１は、関係するパーティの相互関係（interaction）を示している。金融機関のコンピュータシステム１０２、ユーザのコンピュータシステム１０４、プラットフォームプロバイダのコンピュータシステム１０６、及び開発者のコンピュータシステム１０８は、ネットワーク１１０、例えば、インターネットを介して接続されている。各パーティ毎に１つのコンピュータだけを示しているが、各パーティは、複数のコンピュータを保有することができる。
【００２８】
金融機関とは、金融サービスを提供し、金融商品を取り扱い、又は資金を貸与し、投資し、若しくは貯蓄する機関である。金融機関の具体例は、銀行、証券会社、クレジットカード会社、信用組合、貯蓄貸付組合を含む。金融機関は、金融機関に口座があるユーザに関する金融情報を有し、金融情報は、例えば、サーバ１０２内のデータベースに保存されている。また、金融情報は、プラットフォームプロバイダのサーバ１０６に保存することもできる。例えば、ユーザが金融機関に資金を預け入れた場合、又は金融機関が融資限度額を設定した場合に、ユーザは、金融機関に口座を有することができる。
【００２９】
金融情報は、例えば、顧客データ、口座データ、金融機関データ、受取人データ及び取引データを含む。顧客データは、顧客の氏名及び連絡先情報、例えば、ユーザの住所、電話番号、電子メールアドレスを含むことができる。また、顧客データは、顧客のパスワード又は暗証番号（ＰＩＮ）を含むことができる。口座データは、ユーザの口座番号、金融機関及び口座収支を含むことができる。金融機関データは、金融機関の名称及び住所、並びに金融機関のＡＢＡ又はルーティングナンバーを含むことができる。金融機関サーバ１０２が受取人に電子決済を実行する場合、受取人データは、受取人の氏名、連絡先情報、例えば、顧客の住所、電話番号及び電子メールアドレスを含むことができ、また、支払いを受け取る銀行及び口座番号を特定できる。取引データは、個々の取引についてのデータ、例えば、顧客の特定情報、受取人の特定情報、取引の日付、支払額、支払い側又は受け取り側の口座、取引識別子、例えば、小切手番号を含む。また、取引データは、受取人に関する追加的情報、例えば、受取人の住所並びに受取人が支払いを受け取る銀行及び口座番号を含むことができる。
【００３０】
ユーザは、金融機関の口座を有し、コンピュータ１０４を用いて、プラットフォームプロバイダのサーバ１０６又は金融機関のサーバ１０２から、その口座に関連する金融情報にアクセスする。プラットフォームプロバイダのサーバ１０６又は金融機関のサーバ１０２（何れもユーザのコンピュータ１０４と情報をやり取りする。）は、要求された金融情報を含むデータをユーザのコンピュータ１０４に送信する。そして、ユーザのコンピュータ１０４は、要求された金融情報をユーザに提示する。ユーザは、複数の口座に関する情報に一度にアクセスすることができる。
【００３１】
プラットフォームプロバイダのサーバ１０６は、アカウントアグリゲーション、金融情報の表示、及びガジェットプラットフォームの３つのメインサービスを提供するアプリケーションを実行する。プラットフォームプロバイダのサーバ１０６は、これらのサービスを直接ユーザに提供してもよく、プラットフォームプロバイダは、バックエンドプロバイダとして機能して、金融機関のサーバ１０２がこれらのサービスをユーザに提供できるように、ソフトウェア、サポート及び他のツールを金融機関に提供してもよい。幾つかの具体例では、プラットフォームプロバイダは、幾つかのサービスをユーザに直接提供し、残りのサービスについてはバックエンドプロバイダとして機能する。
【００３２】
プラットフォームプロバイダのサーバ１０６がこれらのサービスをユーザに直接提供する場合、プラットフォームプロバイダは、金融機関の代理としてこれを行ってもよい。この具体例では、プラットフォームプロバイダのサーバ１０６は、オプションとして、金融機関のロゴ、色又は他の情報を用いて、ユーザのコンピュータ１０４に送信する通信情報をブランド化でき、これにより、自らのコンピュータ１０４上で通信情報を見るユーザは、自らがプラットフォームプロバイダのサーバ１０６ではなく、金融機関のサーバ１０２とやり取り（インタラクト）していると思わせるようにしてもよい。簡潔に言えば、プラットフォームプロバイダのサーバ１０６は、金融機関をグラフィック画像及びカラーコードに関連付けるデータを、例えば、データベースに保存できる。プラットフォームプロバイダのサーバ１０６が、金融機関としてブランド化されたウェブページを生成する際、サーバ１０６は、マークアップ言語文書に、その金融機関に関連するグラフィック画像及びカラーコードを挿入して、これをユーザに送信する。
【００３３】
アカウントアグリゲーションは、ユーザに関する金融情報を集約することを含む。この情報を表すデータは、オプションとして、プラットフォームプロバイダのサーバ１０６又は金融機関のサーバ１０２の金融情報レポジトリ（financial information repository）、例えばデータベースに保存される。金融情報は、プラットフォームプロバイダのサーバ１０６が直接収集してもよく、金融機関のサーバ１０２がプラットフォームプロバイダによるバックエンドサポートの下で収集してもよい。
【００３４】
金融情報は、様々な手法で収集することができる。例えば、幾つかの具体例では、情報は、金融機関のサーバ１０２から直接受け取られる。幾つかの具体例では、プラットフォームプロバイダのサーバ１０６又は金融機関のサーバ１０２は、１つ以上のエージェントを実行して、様々なウェブページ及び他の消費者がアクセス可能なチャンネル、例えば、公共ＯＦＸフィード（public OFX feeds）からユーザ固有の金融情報を抽出する。エージェントは、例えば、ウェブページのＨＴＭＬコードを解析して、関連情報を特定することによるスクリーンスクレイピングによって、金融情報を抽出するコンピュータプログラムである。
【００３５】
ウェブページは、インターネット上で利用可能な、ＵＲＬによって特定されたデータのブロックである。ウェブページの１つの具体例は、ハイパーテキストマークアップランゲージ（HyperText Markup Language：ＨＴＭＬ）ファイルである。ウェブページは、一般的に、コンテンツを含むが、また、ウェブページは、ウェブページの外部のコンテンツを参照でき、このコンテンツは、ウェブページがユーザのウェブブラウザにロードされたときに表示される。また、ウェブページは、ユーザとのやり取り（interaction）に基づいて、コンテンツを動的に生成することができる。
【００３６】
公共ＯＦＸフィードとは、１つ以上の金融機関のサーバによって、例えば、インターネットを介して他のコンピュータに送信される金融データのストリームであり、データは、オープン・ファイナンシャル・エクスチェンジ（Open Financial Exchange：ＯＦＸ）規格に基づいてフォーマットされている。
【００３７】
また、金融情報を収集するために使用される他の公共の手法も想到できる。
【００３８】
金融情報は、プラットフォームプロバイダのサーバ１０６又は金融機関のサーバ１０２がユーザのコンピュータ１０４に送信する１つ以上のウェブページを介してユーザに表示される。また、ウェブページは、金融機関に関連する従来型のオンラインサービスを提供できる。例えば、銀行、信用組合及び貯蓄貸付組合については、これらの従来型のオンラインサービスは、勘定の支払い、資金の電子的な振替、口座収支報告書のレビューを含む。クレジットカード会社については、従来型のオンラインサービスは、勘定の支払い、取引のレビュー、口座収支報告書のレビュー、２つのクレジットカード間の残高の転送、信用限度額の増加の請求を含む。証券会社については、従来型のオンラインサービスは、口座情報の提供、ユーザの投資に関する情報の提供、オンライン取引のサポート、リアルタイムの相場の提供を含む。
【００３９】
これらのウェブページは、プラットフォームプロバイダのサーバ１０６が直接生成してもよく、プラットフォームプロバイダからのバックエンドサポートを受けた金融機関のサーバ１０２が生成してもよい。バックエンドサポートは、金融機関のサーバ１０２が、ウェブページを生成して、ユーザのコンピュータ１０４を介してユーザに金融情報を表示するためのソフトウェア、サポート及び他のツールを含む。これらのツールは、ソフトウェアベースであってもよく、ハードウェアベースであってもよく、これらの両方であってもよい。
【００４０】
また、プラットフォームプロバイダのサーバ１０６、又はプラットフォームプロバイダからのバックエンドサポートを受ける金融機関のサーバ１０２は、ガジェットを実行するためのプラットフォーム、及びガジェットが保存された金融情報にアクセスできるようにするためのインタフェースを提供する。各ガジェットは、プラットフォームプロバイダのサーバ１０６又は金融機関のサーバ１０２によって生成されるウェブポータル内で管理及び表示される。
【００４１】
包括的に言えば、ガジェットは、図２に示すように、プラットフォームプロバイダのサーバ１０６（又は図１０に示す具体例において説明するように、金融機関のサーバ１０２）において実行されるコンピュータプログラムであり、例えば、ポートレット又はサーブレットである。様々な具体例では、ガジェットは、ユーザのコンピュータ１０４に表示されるコンテンツを生成する。例えば、ガジェットは、ウェブページサーバに提供され、ウェブページサーバによって（他のコンテンツと共に）ウェブページに挿入されるマークアップ言語及び／又はスクリプト言語等のコンテンツを生成することができ、このウェブページは、ユーザのコンピュータ上のウェブブラウザによる表示のために送信される。ガジェットは、一般的に利用可能な情報又はユーザ固有の情報に少なくとも部分的に基づいて、コンテンツを生成する。ガジェットは、一般的に利用可能な情報を保存でき、及びインターネット上の一般的に利用可能な情報にアクセスできる。ガジェットは、例えば、サーチエンジン、ポータルサイト及びデスティネーションサイトで用いられる標準的な技術によって、インターネット上で一般的に利用可能な情報にアクセスする。例えば、ガジェットは、ＡＪＡＸウェブサービス又はＲＥＳＴｆｕｌウェブサービスを用いて、１つ以上のウェブページ又はウェブサーバから情報を取り出すことができる。幾つかの具体例では、プラットフォームプロバイダのサーバは、プラットフォームプロバイダが外部のサーバ又はサービスに向けて生成する呼出を監視及び調整する。
【００４２】
ガジェットは、プラットフォームプロバイダによって提供されるインタフェースを用いて、プラットフォームプロバイダのサーバ１０６又は金融機関のサーバ１０２（ガジェットを実行している何れか）にユーザ固有の情報のための要求を送信することができる。このインタフェースは、情報を渡し、振る舞い（behavior）を引き起こすためのコマンドから構成され、プラットフォームプロバイダが開発者に提供するガジェット・ソフトウェア開発キット（gadget software development kit：ガジェットＳＤＫ）に含まれるドキュメンテーションに記述されているガジェット・アプリケーション・プログラミング・インタフェース（gadget application programming interface：ガジェットＡＰＩ）において特定される。また、ガジェットＳＤＫは、開発者のためのツール及び多くのソフトウェア開発キットに共通の他の特徴を含むことができる。プラットフォームプロバイダのサーバ１０６又は金融機関のサーバ１０２によって提供されるユーザ固有の情報は、金融情報を含むことができる。
【００４３】
ガジェットが提供できる機能の具体例としては、取引履歴に基づく割り引きの認識、消費の分析及び提案の提供、税目のエクスポート、医療費のエクスポート、経費報告書の生成、貯蓄の追跡、４０１／ＩＲＡ／５２９の口座の監視、投資ポートフォリオツールの提供、項目別控除、利子配当所得、キャピタルゲイン／ロスのレポート(schedule A, B, & D report)の生成、マイレージの追跡、予想された経費と収入との間の差分の分析、ユーザによる負債の支払いの補助、結合された資産／負債チャートの生成、他のソースからのユーザ金融データのインポート、クレジットカード支払い計算機能の提供、ユーザの貯蓄目標の追跡、モーゲージ返済の判定、信用度（credit scores）の判定、自動評価（auto valuations）の判定、資産予測の判定、及びユーザの金融プロファイルに応じた保険の提案等が含まれる。また、この他のガジェット機能も想到できる。
【００４４】
幾つかの具体例では、ガジェットは、例えば、ウェブページを介してユーザにコンテンツを表示することなくユーザの金融情報を監視又は変更するサービスをユーザに提供する。例えば、ガジェットは、ユーザの金融情報を定期的にスキャンし、ある要素、例えば、収支が低下したこと等を検出し、ユーザに直接送信されるテキストメッセージ又は電子メールメッセージによって、これをユーザに通知する。また、ガジェットは、自動支払いを行うことができ、例えば、ユーザの口座に十分な残高がある場合、ユーザの口座から毎月、ユーザの携帯電話料金を電子的に支払い、口座に十分な残高がない場合、まず、別の口座から資金の振替を行う。幾つかの具体例では、ユーザがガジェットを構成できるように、これらのガジェットによって生成されるコンテンツは、ウェブページを介して、少なくとも定期的にユーザに表示される。
【００４５】
幾つかの具体例では、ガジェットは、プラットフォームプロバイダのサーバ又は金融機関のサーバ上で実行されるのではなく、サードパーティのウェブサイト又はユーザ自身のコンピュータ上で実行してもよい。これらの具体例では、ガジェットは、プラットフォームプロバイダのサーバ（又はプラットフォームプロバイダのサーバにサポートされた金融機関）に対し、必要な金融情報又は必要な金融処理（financial actions）を要求する。プラットフォームプロバイダのサーバ（又はプラットフォームプロバイダのサーバからサポートされた金融機関）は、要求された情報を提供し、又は要求された処理を行う前に、ガジェットがユーザの金融データにアクセスするために認証されているかを検証する。この検証は、例えば、ガジェットがプラットフォームプロバイダのサーバに提供するパスワード又はパスキーの検証を含むことができる。
【００４６】
開発者は、コンピュータ１０８を用いてガジェットを開発する。開発者は、独立したサードパーティ、プラットフォームプロバイダ、金融機関又はユーザであってもよい。一実施の形態においては、開発者は、自らのコンピュータ１０８を用いて、プラットフォームプロバイダのサーバ１０６上で実行されるガジェットを開発する。変形例では、開発者は、自らのコンピュータ１０８を用いて、金融機関のサーバ１０２上で実行されるガジェットを開発する。開発者のコンピュータ１０８は、開発者が開発中のガジェットを保存する。開発者のコンピュータ１０８は、ネットワーク１１０を介して、プラットフォームプロバイダのサーバ１０６に完成したガジェットを送信できる。プラットフォームプロバイダのサーバ１０６は、例えば、ガジェットデータベースに完成したガジェットを保存する。
【００４７】
このシステムによって、ユーザは、開発者が開発したガジェットを「購入」及び実行することができる。一実施の形態においては、プラットフォームプロバイダのサーバ１０６がガジェットを実行する。変形例では、金融機関のサーバ１０２がガジェットを実行する。何れの場合も、この文脈において「購入」とは、購入されたガジェットを適切なサーバ上で実行させ、ガジェットによって生成されたコンテンツを、サーバが生成するウェブページに組み込み、ユーザのコンピュータ上でユーザに表示させる権利の購入を意味する。また、「購入」は、ガジェットがユーザの金融情報にアクセスすることを許可するユーザによる暗黙の同意でもある。幾つかの具体例では、ユーザは、ユーザがガジェットを実行することを望む各サーバ毎にガジェットの個別のコピーを「購入」する必要がある。幾つかの具体例では、ユーザは、そのデータについてユーザがガジェットを実行することを望む各金融機関毎にガジェットの個別のコピーを「購入」する必要がある。
【００４８】
ガジェットの実行は、ガジェットのコピーの呼出、サーバ上でのガジェットの実行、ガジェットへの金融情報の提供を含む、ガジェットＡＰＩが提供するインタフェースを用いたガジェットとのやり取り、ガジェットからの出力の受信、ガジェットからの出力を含むウェブページの生成、ネットワーク１１０を介するユーザのコンピュータ１０４へのウェブページを含むデータの送信を含む。ガジェットは、ユーザの金融情報を保存するコンピュータシステム上に常駐しているので、ガジェットは、ユーザの金融情報を実質的にリアルタイムで利用でき、他のエンティティによって運営されているコンピュータシステムからインターネットを介してユーザの金融情報にアクセスする必要はない。幾つかの具体例では、ガジェットのコピーの呼出は、ガジェットの新たなコピーのインスタンス化を含む。幾つかの具体例では、ガジェットのコピーの呼出は、既に実行されているガジェットのコピーの呼出を含む。
【００４９】
幾つかの具体例では、ユーザは、自らのコンピュータ１０４を用いて、プラットフォームプロバイダのウェブページを介して、ガジェットにアクセスする。他の具体例では、ユーザは、自らのコンピュータ１０４を用いて、金融機関のウェブページを介して、ガジェットにアクセスする。希望の機能を有するガジェットを選択することによって、ユーザは、自らの経験をカスタマイズできる。各ガジェットは、プラットフォームプロバイダによって保証されているので、ユーザは、ガジェットを用いて自らの金融情報に安心してアクセスできる。
【００５０】
また、このシステムによって、プラットフォームプロバイダ及び金融機関は、より多くのオプションをユーザに提供できる。プラットフォームプロバイダ及び金融機関は、ユーザの金融情報にアクセスできることはあるが、ユーザが望むと予想される全ての機能を提供するコンピュータプログラムアプリケーションを作成するリソースは有していない。更に、プラットフォームプロバイダ及び金融機関がこれらのリソースを有していたとしても、全てのアプリケーションが全てのユーザにとって好ましいものであるとは限らない。オンライン金融の世界で享受したいサービスは、ユーザ毎に異なる。例えば、ユーザによっては、自らの年金口座の監視を補助する高度なツールを必要とする。また、予算超過が発生しないように補助する使い易いツールを求めているユーザもいる。開発者が生成し及びユーザが選択したガジェットの組合せは、カスタマイズされた環境内でより多くのオプションをユーザに提供できることを意味する。
【００５１】
また、このシステムは、新たなビジネスモデルを提供する。ユーザへのガジェットの販売の収益は、開発者、プラットフォームプロバイダ及び金融機関の全てに分配することができる。このシステムによって、プラットフォームプロバイダ及び金融機関は、ユーザとの既存の関係を活用して、それぞれの収入を高めることができる。
【００５２】
図２は、第１の実施の形態の例示的アーキテクチャを示している。
【００５３】
プラットフォームプロバイダは、１つ以上のサーバ２０４を有している。図２には１つのサーバしか示していないが、複数のサーバを使用してもよい。幾つかの具体例では、プラットフォームプロバイダのサーバ２０４の少なくとも１つは、プログラミング可能な汎用コンピュータである。幾つかの具体例では、プラットフォームプロバイダのサーバ２０４の少なくとも１つは、サーバラック内の１つ以上のコンピュータから構成される。
【００５４】
プラットフォームプロバイダのサーバ２０４は、ガジェットデータベース２０６を保存する。ガジェットデータベース２０６は、開発者のコンピュータ２３６からプラットフォームプロバイダのサーバ２０４に送信されたガジェットに関する情報、例えば、ガジェット自体、ガジェットの名称、ガジェットの開発者、ガジェットの特徴及びガジェットの価格を保存する。幾つかの具体例では、プラットフォームプロバイダのサーバ２０４は、金融情報レポジトリ２０８も保存する。金融情報レポジトリ２０８は、収集された個々のユーザの金融情報を保存する。
【００５５】
プラットフォームプロバイダのサーバ２０４は、複数のコンピュータプログラムを実行する。幾つかの具体例では、サーバは、オプションのガジェットＳＤＫグランタ２１２、保証システム２１４、データエンジン２１６、ストアジェネレータ２２０を含むウェブページジェネレータ２１８、及びガジェットランナ２２２を実行する。
【００５６】
ガジェットＳＤＫグランタ２１２は、開発者にガジェットＳＤＫへのアクセスを許可するかを判定するコンピュータプログラムである。保証システム２１４は、ガジェット保証で用いられるコンピュータプログラムである。データエンジン２１６は、金融機関のサーバ２４６及びウェブページから個々のユーザに関する金融情報を抽出及び収集するコンピュータプログラムである。幾つかの具体例では、データエンジン２１６は、抽出された金融情報を金融情報レポジトリ２０８に保存する。
【００５７】
ウェブページジェネレータ２１８は、１つ以上のウェブページを生成するコンピュータプログラムである。ストアジェネレータ２２０は、ガジェットをユーザに販売するためのウェブページを生成するコンピュータプログラムである。
【００５８】
ガジェットランナ２２２は、プラットフォームプロバイダのサーバ上でガジェットを実行するコンピュータプログラムである。ガジェットの実行は、ガジェットのインスタンス化又はロード、及びインタフェースを介してのガジェットとのやり取りを含む。このインタフェースによって、ガジェットとサーバとの間で、コマンド及びデータを相互に両方向で受け渡すことができる。インタフェースを介するガジェットとのやり取りは、ガジェットからの要求の受信、要求された金融情報のガジェットへの送信、ガジェットからの出力を含むデータの受信、ユーザに表示されるウェブページに組み込まれるガジェットの出力を含むデータのウェブページジェネレータ２１８への送信を含むことができる。
【００５９】
開発者は、通常、プログラミング可能な汎用コンピュータ２３６を有している。開発者は、コンピュータ上で開発ソフトウェア２３８を使用して、１つ以上のガジェットを開発し、これらをプラットフォームプロバイダのサーバ２０４に送信する。幾つかの具体例では、開発ソフトウェアは、ガジェットＳＤＫを含む。
【００６０】
ユーザ２３８は、通常、プログラミング可能な汎用コンピュータ２４０を有する。ユーザは、このコンピュータ上でウェブブラウザ２４２、例えば、マイクロソフト・インターネット・エクスプローラ（Microsoft Internet Explorer：商標）を実行する。ウェブブラウザ２４２は、プラットフォームプロバイダが運営するサーバから１つ以上のウェブページを受け取り、このウェブページをユーザに提示する。ユーザへのウェブページの提示は、コンピュータモニタ又は他のディスプレイデバイスにウェブページを表示することを含むことができる。またウェブページの提示は、ユーザに情報を伝達する他のあらゆる手法、例えばウェブページに対応する音の出力、又はウェブページに対応する触覚フィードバック（haptic feedback）の提供を含むことができる。
【００６１】
金融機関は、１つ以上のサーバ２４６を有する。図２には１つのサーバしか示していないが、複数のサーバを使用してもよい。幾つかの具体例では、金融機関サーバ２４６の少なくとも１つは、プログラミング可能な汎用コンピュータである。幾つかの具体例では、金融機関サーバ２４６の少なくとも１つは、サーバラック内の１つ以上のコンピュータから構成される。
【００６２】
金融機関のサーバ２４６は、金融情報２４８のストアを有している。金融情報のストアは、個々のユーザに関係する金融情報を含む。オプションとして、金融機関サーバは、ガジェット認証コンピュータプログラム（gadget authorizer computer program）２５０を実行する。ガジェット認証プログラムは、ユーザが特定のガジェットを見ることができるようにするか否かを判定する。
【００６３】
図３は、プラットフォームプロバイダのサーバの例示的アーキテクチャ３００の詳細図である。図３に開示されている機能を実現するために、１つ以上のサーバを組み合わせてもよい。図３に示すように、プラットフォームプロバイダのサーバは、コンテンツ管理システム３０１を実行する。プラットフォームツール３０３、データエンジン３０５及び電子商取引サーバ３０７は、全て、コンテンツ管理システム３０１の上位で実行される。
【００６４】
コンテンツ管理システム３０１は、サーバによって提供されるウェブページのコンテンツを管理する。コンテンツは、テキスト、構成パラメータ、及び金融機関がユーザの経験を制御できるようにするための他の設定を含むことができる。コンテンツ管理システム３０１は、ユーザのコンピュータ１０４に送信されるウェブページ又は他の通信をブランド化するため必要なデータを含むことができる。例えば、コンテンツ管理システムは、ウェブページの生成で使用するために、１つ以上の金融機関と、各金融機関のロゴのカラーコード及び／又はグラフィック画像とを関連付けるデータベースを含むことができる。コンテンツ管理システム３０１は、ウェブページを他言語で表示するために必要なデータを含むことができる。幾つかの具体例では、コンテンツ管理システム３０１は、ウェブページコンテンツをどのようにユーザに表示するかを制御する単一の制御点として機能する。
【００６５】
データエンジン３０５は、ユーザに関する金融情報を抽出及び収集するために使用される。データエンジンは、１つ以上のエージェントを実行してもよい。エージェントは、例えば、スクリーンスクレイピングによって、ユーザに関する金融情報を抽出して収集するコンピュータプログラムである。また、エージェントは、例えば、ユーザ取引の実行等、更なるタスクを行うことができる。収集された金融情報は、データエンジン３０５、例えば、関連型データベースに保存できる。
【００６６】
プラットフォームツール３０３は、データエンジンをサポートする。幾つかの具体例では、プラットフォームツールは、ウェブサイトを横断して抽出すべきデータを検索し、及びデータエンジンエージェントを監視及びサポートするためのツールを提供する。また、プラットフォームツールは、アグリゲーションサービスを提供し、及び遠隔サイトに保存されているデータへのアクセスをサポートすることができる。また、プラットフォームツールは、抽出されたデータに対する演算のためのサポートを提供できる。
【００６７】
プラットフォームサービス３１１は、プラットフォームツール３０３及びデータエンジン３０５の上位で実行される。プラットフォームサービス３１１は、プラットフォームツール及びデータエンジンに保存されている情報にアクセスするためのコマンドのインタフェースを提供する。
【００６８】
電子商取引サーバ３０７は、プラットフォームプロバイダのサーバが生成するガジェットストアを補強する。電子商取引サーバは、従来の電子商取引サーバが提供する、他の製品の販売のための通常の機能も提供するが、ガジェットを販売する機能も備えている。この機能は、例えばガジェットのリストを、関連する情報、例えば、価格等と共に表示及びソートすること、ユーザが過去に購入したガジェットの履歴を作成すること、ユーザ入力からガジェットの順位（ranking）を生成すること、如何なるガジェットが入手可能であるかをカタログ化すること、ストアを構成するウェブページ上でのユーザの活動を追跡すること、ウェブページストアに対してユーザが行うカスタマイズをサポートすること、ユーザがストアを巡回しながら、購入のために複数のガジェットを選択することができるように、ショッピングカート機能をサポートすることを含むことができる。
【００６９】
また、コンテンツ管理システム３０１の上位では、監視システム３０９も実行される。監視システムは、プラットフォームプロバイダのサーバ上のコンピュータプログラムの振る舞いを監視する。
【００７０】
プラットフォームプロバイダＡＰＩ３１３は、サーバプログラム及びアプリケーションが基底のツールにアクセスできるようにするためのインタフェースとして機能する。プラットフォームプロバイダＡＰＩ３１３は、サーバ上で実行されるコンピュータプログラムと、プラットフォームサービス３１１との間で、情報及びコマンドをどのように受け渡すかを指定する。
【００７１】
ポータルテクノロジ３１５は、プラットフォームプロバイダのサーバが生成するポータルを制御する。幾つかの具体例では、ポータルテクノロジは、ガジェットを実行する。幾つかの具体例では、ポータルテクノロジ３１５は、コンテンツ領域と、コンテンツ領域に情報を埋め込むために使用されるコマンドとによってポータルページを定義するアプリケーション・プログラミング・インタフェース（application programming interface：ＡＰＩ）と共に標準のポータルアーキテクチャを提供する。ポータルテクノロジは、ポータルによって表示される内容に関する抽象化レイヤを提供する。
【００７２】
ガジェットＡＰＩ３１７は、プラットフォームプロバイダアプリケーション３１９、プラットフォームプロバイダガジェット３２１及び開発者ガジェット３２３が、プラットフォームプロバイダのサーバと情報及びコマンドをどのように交換できるかを指定するインタフェースである。
【００７３】
ストアジェネレータ３２５は、ガジェットストアウェブページを生成し、ポータルテクノロジ３１５を介して電子商取引サーバ３０７とやり取りする。
【００７４】
図４は、プラットフォームプロバイダのサーバ４０２、金融機関のサーバ４０４、ユーザのコンピュータ４０６及び開発者のコンピュータ４０８がネットワーク４１０を介して接続されている第１の実施の形態における例示的な情報フローを示す。ここでは、１つのプラットフォームプロバイダのサーバ、１つの金融機関のサーバ、１つのユーザのコンピュータ及び１つの開発者のコンピュータのみを示しているが、各パーティは、複数のコンピュータを使用してもよい。
【００７５】
開発者は、自らのコンピュータ４０８を用いて、ガジェットＳＤＫにアクセスするための要求を示すデータをプラットフォームプロバイダのサーバ４０２に送信する。プラットフォームプロバイダのサーバ４０２は、この要求を示すデータを受信すると、オプションとして、この要求を要求のリストに保存する。そして、プラットフォームプロバイダは、スクリーニングプロセスを適用して、サーバ４０２が開発者のコンピュータ４０８にガジェットＳＤＫを送ることを許可するか否かを判定する。
【００７６】
幾つかの具体例では、スクリーニングプロセスは、ガジェットＳＤＫへのアクセスを、ある基準を満たす開発者に制限するアプリケーションプロセスを含む。例えば、プラットフォームプロバイダは、金融犯罪の前科がある開発者については、ＳＤＫへのアクセスを拒否することができる。スクリーニングプロセスは、開発者からの情報の収集及び開発者からの手数料の徴収を含むことができる。他の具体例として、スクリーニングプロセスは、開発者に対して、プラットフォームプロバイダに口座を作成することを要求してもよい。口座の作成は、例えば、ユーザ名及びパスワードを作成し、プラットフォームプロバイダに何らかの情報を提供することを含むことができる。例えば、開発者に対し、氏名、住所、電子メールアドレス及び電話番号を要求してもよい。また、幾つかの具体例では、開発者は、開発者がプラットフォームプロバイダの要求に従うことを示す契約にサインする必要がある。
【００７７】
他の具体例として、全ての開発者がガジェットＳＤＫに自由にアクセスできるようにしてもよい。
【００７８】
幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、ＳＤＫグランタコンピュータプログラムを実行して、開発者の要求を許可（grant）するか否かを自動的に判定する。他の具体例では、プラットフォームプロバイダのサーバ４０２は、人間、例えば、プラットフォームプロバイダの従業員から、開発者の要求を許可するか否かに関する判定を示す入力を受け取る。何れの場合も、プラットフォームプロバイダのサーバ４０２上のデータベースは、ガジェットＳＤＫを要求した各開発者の識別及び連絡先情報、並びに開発者がガジェットＳＤＫへのアクセスを許可されているか否かを示すデータを保存できる。
【００７９】
プラットフォームプロバイダ又はプラットフォームプロバイダのサーバ４０２上で実行されるＳＤＫグランタコンピュータプログラムが、アクセスを許可すると判定した場合、プラットフォームプロバイダのサーバ４０２は、ＳＤＫ、又は開発者のコンピュータ４０８がどのようにしてＳＤＫにアクセスできるかに関する情報を含むデータを送信する。開発者のコンピュータ４０８は、このデータを保存してもよい。
【００８０】
そして、開発者は、ガジェットＳＤＫを用いて、プラットフォームプロバイダのサーバで実行されるガジェットを開発する。開発は、開発者のコンピュータ４０８を用いて行われ、開発者のコンピュータ４０８は、ガジェットを保存する。
【００８１】
幾つかの具体例では、開発者がガジェット上で開発を開始する前に、開発者は、プラットフォームプロバイダとの開発パートナになることを契約する。開発パートナとしての契約手続きの一部として、開発者に対し、開発者とプラットフォームプロバイダとの間の金融協定の条件、及び開発者によって開発されるガジェットについて、何が許可され、何が許可されないかを特定する契約書にサインすることを要求してもよい。
【００８２】
また、開発パートナに対して、プラットフォームプロバイダのサーバ４０２に追加的情報を提供することを要求してもよい。この情報は、例えば、電子メールアドレス、電話番号及び支払い口座を含むことができる。支払い口座とは、自らが開発したガジェットの対価を受け取ることを望む開発者の金融機関口座である。
【００８３】
プラットフォームプロバイダのサーバ４０２は、アイデンティティ検証目的のためにこの情報を使用することができる。例えば、プラットフォームプロバイダのサーバ４０２は、電子メール検証手続き及び／又は電話番号検証手続きを開始してもよい。これらの手続きは、指定された電子メールアドレス又は電話番号を用いて開発者に情報を送信し、開発者が受信した情報をプラットフォームプロバイダのサーバに返信することによって、開発者に自身のアイデンティティを確認することを要求することを含むことができる。例えば、プラットフォームプロバイダのサーバ４０２は、検証コード及び検証ウェブサイトを含む情報を送信することができる。開発者は、検証ウェブサイトを訪問し、検証コードを入力して、自らのアイデンティティを証明する必要がある。
【００８４】
他の具体例として、プラットフォームプロバイダのサーバ４０２は、開発者によって提供された口座情報に基づいて、検証プロセスを開始してもよい。例えば、プラットフォームプロバイダのサーバ４０２は、提供された口座情報に基づいて、開発者の信用度を判定する信用調査手続きを開始してもよい。幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、開発者が検証される前に、開発者の信用度がある閾値を満たしていること、例えば閾値を超えていることを要求する。他の具体例として、プラットフォームプロバイダのサーバ４０２は、提供された口座情報に基づいて、開発者の身元調査手続きを開始してもよい。そして、このプラットフォームプロバイダのサーバ４０２は、この身元調査手続きの結果を分析して、開発者に犯罪歴がないことを確認した後に、開発者を検証する。
【００８５】
また、例えば、エキファックス社（Equifax, Inc）等のアイデンティティ検証サービスを利用して、他のアイデンティティ検証手続きを行ってもよい。
【００８６】
一旦、開発者が開発パートナになると、プラットフォームプロバイダのサーバ４０２は、開発を補助するための様々なツールを開発者に提供できる。幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、ユーザが興味を示したガジェットの特徴（gadget features）をリスト化するガジェットウィッシュリスト（gadget wishlist）を維持する。ガジェットウィッシュリストは、オプションとして、例えば、ウィッシュリストに対して、何人のユーザが特定のガジェットの特徴を要求したかに関する情報を含むことができる。
【００８７】
幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、ユーザインタフェースを生成し、このユーザインタフェースを開発者のコンピュータ４０８に送信する。ユーザインタフェースは、詳細事項と共に、開発者が現在如何なるアプリケーションを開発しているか、及びオプションとして、それらのアプリケーションの状態を特定する。
【００８８】
また、幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、バグデータベースを維持する。バグデータベースは、バグ、及び開発者のアプリケーションのユーザが提出した他のサービス要求を含む。開発者は、バグデータベースを用いて、ユーザのバグ報告に対する応答を管理及び制御することができる。
【００８９】
幾つかの具体例では、プラットフォームプロバイダのサーバは、サンドボックス検査環境（sandbox testing environment）を提供する。サンドボックス検査環境は、プラットフォームプロバイダのサーバ上で実行され、開発者が開発中のガジェットをアップロードして実行できる検査環境である。検査環境は、プラットフォームプロバイダのサーバ４０２において、通常、ガジェットが実行される条件を模倣する。幾つかの具体例では、サンドボックス検査環境は、ユーザのために保証され、販売されたガジェットを実行するシステムと同じシステムの一部である。他の具体例では、サンドボックス検査環境は、独立したシステムの一部である。
【００９０】
開発者は、サンドボックス検査環境において、様々な検査データソースから受信したデータを用いて、ガジェットを検査することができる。幾つかの具体例では、検査データは、開発者自身の口座データである。オプションとして、プラットフォームプロバイダのサーバ４０２は、ユーザが自らの口座データにおいて、ダミーの口座エントリを作成できるようにしてもよい。これによって、ユーザは、ガジェットに関係する問題から自らの現実の口座を保護することができる。また、これによって、ユーザは、特定の検査シナリオに特化した目的を有する検査口座を作成することができる。例えば、開発者は、特定の残高を下回るユーザ口座に対してガジェットがどう振る舞うかに関心がある場合、特定の残高を下回るダミー口座エントリを作成して、この口座を用いてガジェットを検査することができる。幾つかの具体例では、プラットフォームプロバイダのサーバ４０２がガジェットを検査することができる検査口座データを開発者に提供してもよい。例えば、プラットフォームプロバイダのサーバ４０２は、１人以上の仮想ユーザに対応する仮想口座データ及びこれらの仮想ユーザの１つ以上の仮想口座のストアを維持し、検査の間、ガジェットがこの仮想口座データにアクセスするようにしてもよい。
【００９１】
また、プラットフォームプロバイダのサーバ４０２は、開発者にアプリケーションガイドラインを提供できる。アプリケーションガイドラインは、例えば、プラットフォームプロバイダのサーバ４０２上に保存される１つ以上の文書であって良く、アプリケーションガイドラインは、プラットフォームプロバイダのサーバ４０２で実行されるガジェットに対する要求を指定する。この要求は、例えば、プラットフォームプロバイダのサーバ４０２上で実行されるガジェットが満たすべき特定の要求、及びガジェットに許可されない特定の禁止された動作を含むことができる。また、ガイドラインは、要求、例えば、開発者が使用する必要がある特定の技術、ガジェットの最大のサイズ、及びガジェットについて開発者が指定できる属性のリストを含むことができる。この属性は、例えば、ガジェットが（例えば、米国障害者法（Americans with Disabilities Act）に述べられている）障害を有するユーザの要求に適合するかを示す情報、又はユーザによるガジェットの使用の基準となる開発者固有の用語及び条件のためのウェブアドレス等を含むことができる。
【００９２】
幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、開発者が相互に、又はプラットフォームプロバイダの従業員に質問できるフォーラムを開催する。フォーラムは、例えば、プラットフォームプロバイダのサーバ４０２がホストするウェブベースのフォーラムであってもよい。開発者及びプラットフォームプロバイダの従業員は、例えば、ユーザ名及びパスワードを用いてフォーラムにログインできる。幾つかの具体例では、フォーラムは、例えば、フォーラムの質問を全ての開発者及び従業員に投稿できる公共セクション、及びフォーラムの質問をプラットフォームプロバイダの従業員のみに投稿できるプライベートセクション等の異なるセクションを有する。このようにフォーラムを複数のセクションに分割することによって、プラットフォームプロバイダは、開発者が質問するための秘密の環境を提供することができる。幾つかの具体例では、プラットフォームプロバイダの従業員は、フォーラムを監視し、開発者のガジェットのアイデアがプラットフォームプロバイダのアプリケーションガイドラインに違反している場合、その旨を開発者に通知することができる。
【００９３】
一旦、開発者が自らのガジェットの検査を終了すると、開発者は、例えば、プラットフォームプロバイダが提供する標準コードをガジェットに組み込むことによって、他のユーザデータについてガジェットを実行する準備を行うことができる。そして、開発者のコンピュータ４０８は、ネットワーク４１０を介して、プラットフォームプロバイダのサーバ４０２にガジェットを送信する。これは、従来型のウェブベースのアップロードインタフェースを介して、プラットフォームプロバイダのサーバ４０２にガジェットをアップロードすることを含むことができる。幾つかの具体例では、また、開発者のコンピュータ４０８は、開発者が設定したガジェットの価格を示すデータを送信する。幾つかの具体例では、ガジェットの価格を示すデータは、ガジェットの単一の価格を示す。幾つかの具体例では、ガジェットの価格を示すデータは、段階的な価格構成を示し、例えば、ガジェットの「ライト」バージョンが０．９９ドル、ガジェットの「フル」バージョンが９．９９ドル、ガジェットの「ライト」バージョンからガジェットの「フル」バージョンへのアップグレードが９．００ドル等としてもよい。ガジェットの「ライト」バージョンは、ガジェットの「フル」バージョンの一部（全部ではない）の特徴のみを有している。また、幾つかの具体例では、開発者のコンピュータ４０８は、例えば、特徴リスト、試供版が利用可能か、オプションがある場合、いかなるアップグレードオプションが利用可能か、販売されるガジェットへのアクセスのタイプ等、ガジェットに関する追加的情報を含むデータを送信する。アクセスのタイプでは、例えば、ユーザがガジェットに無制限にアクセスできること、ユーザがガジェットの使用に基づく料金を支払うこと、又はユーザが特定の日付まで、ガジェットに無制限にアクセスできること等を指定できる。また、幾つかの具体例では、開発者のコンピュータ４０８は、ガジェットが「ベータ版」であることを示すデータを送信する。「ベータ版」のガジェットとは、未だ開発中であり、完全な検査が終了していない可能性があるガジェットを意味する。
【００９４】
プラットフォームプロバイダのサーバ４０２は、開発者のコンピュータ４０８から、ガジェット及び何らかの付随データを受信する。ガジェット及び付随データは、プラットフォームプロバイダのサーバ４０２において、例えば、ガジェットデータベースに保存される。
【００９５】
そして、プラットフォームプロバイダは、ガジェットを検査し、ガジェットが安全に実行される場合、ガジェットを保証する。幾つかの具体例では、この検査は、以下のような３つの目的を有する。（１）ガジェットが開発者の要求通りに動作し、ユーザの金融情報を危険に晒さないことを確認する。（２）プラットフォームプロバイダのサーバに障害を引き起こすリスクのあるガジェットを排除する。（３）ガジェットの性能を解析する。幾つかの具体例では、最初の２つの検査のみが実行される。
【００９６】
検査は、開発者の身元情報を収集及び解析すること、ガジェットの堅牢性を解析すること、ガジェットが開発者による機能の要求を満たしているかを解析すること、及びガジェットによって引き起こるセキュリティ又はプライバシの問題を解析することを含んでいてもよい。
【００９７】
幾つかの具体例では、検査は、人間による入力、例えば、プラットフォームプロバイダの従業員によるガジェットを保証するか否かに関する入力を含む。この具体例では、プラットフォームプロバイダのサーバ４０２は、保証プログラムを介して、ガジェットを保証すべきか否かを示す入力を人間から受け取る。
【００９８】
幾つかの具体例では、保証は、保証プログラムによって少なくとも部分的に自動化される。例えば、ガジェットを自動的に実行して、プラットフォームプロバイダのサーバに障害を引き起こす、又はユーザによる許可なしでユーザ情報を送信してしまう等の問題を監視することができる。
【００９９】
例えば、ガジェットが要求通りに動作するか否かの判定は、プラットフォームプロバイダの１人以上の従業員が行うこともできる。これらの従業員は、コードを解析し、及びガジェットを実行して、機能が要求された通りのものであるか否かを判定してもよい。また、これらの従業員は、隠された抜け穴（trap doors）又は開発者若しくはサードパーティが、ユーザの金融口座を権限なく制御できるようにしてしまう他の悪意があるコードがないかについて、コードを解析することができる。また、例えば、ガジェットを実行して、ユーザ情報の権限のない送信又はユーザ口座に対する権限のない動作を自動的に監視することによって、この処理も自動化できる。
【０１００】
他の具体例として、ガジェットがプラットフォームプロバイダのサーバ４０２に障害をもたらすか否かに関する判定は、プログラムを実行及び解析し、メモリ使用量、ディスク要求、及びプログラムが無限ループに陥ることがないかを判定する従来のソフトウェアプログラムを用いて行ってもよい。これに代えて又はこれに加えて、プラットフォームプロバイダの従業員は、ガジェットのコードを手動で解析してもよい。
【０１０１】
更に他の具体例として、プログラムを解析し、例えば、プログラムがシステムリソースを非効率的に使用し、又は非効率的なシステム呼出を行うことがないかを判定する従来のソフトウェアプログラムを用いて、ガジェットの性能が十分であるか否かに関する判定を行うことができる。これに代えて又はこれに加えて、プラットフォームプロバイダの従業員がガジェットのコードを手作業で解析してもよい。
【０１０２】
幾つかの具体例では、プラットフォームプロバイダは、幾つかの環境のみに限定して、ガジェットを使用することを保証できる。例えば、開発者がガジェットに「ベータ版」としてのマークを付した場合、プラットフォームプロバイダは、「ベータ版」ガジェットの認証を希望することを明示した金融機関のためだけに、又は「ベータ版」ガジェットの実行を希望することを明示したユーザによる使用のためだけにこのガジェットを保証することができる。
【０１０３】
幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、開発者のコンピュータ４０８にデータを送信して、ガジェットが保証されたか否か、及びオプションとして、どのような環境についてガジェットが保証されたかを開発者に通知する。幾つかの具体例では、ガジェットが保証されていない場合（又は全ての環境について保証されていない場合）、プラットフォームプロバイダのサーバ４０２は、開発者のコンピュータ４０８にデータを送信して、ガジェットが保証されていないことを開発者に通知する。幾つかの具体例では、このデータは、ガジェットが保証されなかった理由に関する説明を含むことができる。この説明は、例えば、上述した３つの要因のうち、どの要因でガジェットが失格したかの識別、ガジェットが失格した各特定の検査の識別又はガジェットが保証されなかった理由の概要であってもよい。この説明は、オプションとして、保証を受けるためにはガジェットをどのように変更すればよいかについての提案を含んでいてもよい。
【０１０４】
幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、同じガジェットの変更されたバージョンが、保証のために、いつアップロードされたかを追跡するために、バージョン管理フレームワーク（versioning framework）を維持する。
【０１０５】
プラットフォームプロバイダのサーバ４０２は、ガジェットが保証されていることを示すデータをガジェットデータベースに保存する。幾つかの具体例では、保証されたガジェット自体をガジェットデータベースに保存する。他の具体例では、ガジェットにする情報を示すデータを、ガジェットデータベースに保存する。ガジェットに関する情報は、例えば、ガジェットがどこに保存されているか、どの金融機関がガジェットを認証したか、誰がガジェットを開発したか、ガジェットの価格、ガジェット特徴リスト、及びガジェットを使用するためにどのユーザが認証されているかを含むことができる。また、ガジェットに関する情報は、プラットフォームプロバイダのサーバ４０２が開発者のコンピュータ４０８からガジェットと共に受信したデータを含むことができる。
【０１０６】
そして、プラットフォームプロバイダのサーバ４０２は、保証されたガジェットに関する情報を示すデータを金融機関のサーバ４０４に送信する。この情報は、例えば、ガジェットの開発者、ガジェットの価格、ガジェットの機能、共同ブランド（co-branding）がある場合、ガジェットの共同ブランド及びガジェット自体を含むことができる。
【０１０７】
金融機関は、プラットフォームプロバイダによって保証されたどのガジェットを認証するかを決定する。金融機関は、適切と考えられる如何なる基準を用いて、どのガジェットを認証するかを決定してもよい。この基準は、競合する金融機関よって開発又はブランド化されたガジェットを認証しない、金融機関自らが作成したガジェットと競合するガジェットを認証しない、金融機関自らが提供するサービスと競合するガジェットを認証しない、及び金融機関の名称でブランド化されたガジェットのみを認証する等を含むことができる。
【０１０８】
幾つかの具体例では、検査は、人間、例えば、金融機関の従業員による、ガジェットを認証する否かに関する入力を含む。この具体例では、金融機関のサーバ４０４は、ガジェットを認証するか否かを指示する人間による入力を受け取る。オプションとして、金融機関は、そのサーバ４０４上のガジェット認証プログラムを介して、認証プロセスを少なくとも部分的に自動化できる。例えば、ガジェットに関する情報を解析し、競合する金融機関によって開発されたガジェットを拒否することができる。
【０１０９】
ガジェットを認証する決定を示すデータは、金融機関のサーバ４０４に保存してもよく、プラットフォームプロバイダのサーバ４０２に直接送信してもよい。
【０１１０】
金融機関は、プラットフォームプロバイダのサーバ４０２に対し、認証することを選択したガジェットを通知する。この通知は、様々な手法で行うことができ、例えば、金融機関のサーバ４０４からプラットフォームプロバイダのサーバ４０２に電子メールを送信することによって通知を行ってもよく、プラットフォームプロバイダのサーバ４０２が生成し、金融機関のサーバ４０４に提供されたウェブページ上のインタフェースを介して通知を行ってもよい。
【０１１１】
幾つかの具体例では、各ガジェットについて明示的な認証の決定を受け取るのではなく、プラットフォームプロバイダのサーバ４０２は、金融機関のサーバ４０４から基準を受け取ってもよい。これらの規準は、金融機関が、ガジェットを認証するか否かを決定する際に何を考慮するかを特定する。そして、プラットフォームプロバイダが、金融機関に代わって、これらの規準を適用してもよい。
【０１１２】
プラットフォームプロバイダのサーバ４０２は、特定の金融機関４０４によって特定のガジェットが承諾されたことを示すデータをサーバ上のガジェットデータベースに保存する。
【０１１３】
幾つかの具体例では、ガジェットが保証された後、開発者は、ガジェットを削除することを選択することができる。例えば、開発者は、開発者コンピュータ４０８を用いて、プラットフォームプロバイダのサーバ４０２が生成したウェブページを閲覧することができる。このウェブページは、開発者が開発したガジェットをリストとして表示でき、開発者が販売リストからガジェットを削除するためのメカニズムを含むことができる。開発者がガジェットの削除を望む場合、開発者は、ウェブページ内のメカニズムを用いて、ガジェットを削除することを示すデータをプラットフォームプロバイダのサーバ４０２に送信する。そして、プラットフォームプロバイダのサーバ４０２は、このガジェットを削除することができる。
【０１１４】
ユーザは、プラットフォームプロバイダのサーバ４０２上のウェブページジェネレータコンピュータプログラムによって生成されたウェブページを介して、プラットフォームプロバイダとやり取りする。ウェブページジェネレータは、ウェブページを生成する。そして、プラットフォームプロバイダのサーバ４０２は、ネットワーク４１０を介して、ユーザのコンピュータ４０６にウェブページを含むデータを送信する。ユーザのコンピュータ４０６は、ウェブページを含むデータを受信し、ウェブブラウザにおいて、このウェブページをユーザに表示する。ユーザのコンピュータ４０６は、ユーザからの選択及び他の入力を受け、ネットワーク４１０を介して、プラットフォームプロバイダのサーバ４０２にユーザの選択の通知を送信する。
【０１１５】
幾つかの具体例では、プラットフォームプロバイダのサーバ４０２が生成したウェブページを閲覧するために、ユーザのコンピュータ４０６は、ネットワーク４１０を介して、プラットフォームプロバイダのサーバ４０２にログイン情報を含むデータを送信する。ログイン情報は、何らかのユーザ識別情報を含む。例えば、ユーザ識別情報は、ユーザのコンピュータのＭＡＣアドレス又はユーザ名及びパスワードであってもよい。プラットフォームプロバイダのサーバ４０２は、ユーザのコンピュータ４０６からログイン情報を含むデータを受け取る。そして、プラットフォームプロバイダのサーバ４０２は、ログイン情報を使用して、ユーザのアイデンティティを判定及び検証する。
【０１１６】
幾つかの具体例では、プラットフォームプロバイダのサーバ４０２が生成したウェブページを閲覧するために、ユーザのコンピュータ４０６は、ネットワーク４１０を介して、金融機関のサーバ４０４にログイン情報を送信する。そして、金融機関のサーバ４０４は、ネットワーク４１０を介してプラットフォームプロバイダのサーバ４０２に識別検証メッセージ（authentication message）を含むデータを送信する。プラットフォームプロバイダのサーバ４０２は、識別検証メッセージを用いて、ユーザのアイデンティティを判定及び検証する。
【０１１７】
一旦、プラットフォームプロバイダのサーバ４０２がユーザのアイデンティティを検証すると、ユーザは、自らのコンピュータ４０６を用いて、プラットフォームプロバイダのサーバ４０２が生成し、ネットワーク４１０を介してユーザのコンピュータ４０６に送信された様々なウェブページをロードすることができる。プラットフォームプロバイダのウェブページにより、ユーザは、少なくとも、１つ以上の金融機関における自らの金融情報を確認し、ガジェットを実行し、ガジェットストアからガジェットを購入することができる。また、ユーザが更なるオプションを利用できるようにしてもよい。
【０１１８】
ユーザは、例えば、プラットフォームプロバイダのサーバ４０２が生成したウェブページの１つのダッシュボードタブを介して、利用可能なガジェットを実行できる。ダッシュボードタブは、ユーザが同時に複数のガジェットを実行できるように構成可能な画面を有している。幾つかの具体例では、ユーザ要求に応じて、購入されたガジェットを実行できる。ユーザのコンピュータ４０６が、ガジェットを実行する指示を受け取ると、コンピュータ４０６は、プラットフォームプロバイダのサーバ４０２に実行通知（run notification）を送信する。プラットフォームプロバイダのサーバ４０２は、実行通知の受信に応じて、ガジェットランナコンピュータプログラムを用いて、ガジェットを実行する。プラットフォームプロバイダのサーバ４０２は、ガジェットからの出力を含むウェブページを生成する。プラットフォームプロバイダは、ウェブページを表すデータをユーザのコンピュータ４０６に送信する。そして、ユーザのコンピュータ４０６は、このウェブページをユーザに表示する。幾つかの具体例では、購入されたガジェットは、例えば、ガジェットへのポータルを含むウェブページが生成される都度、プラットフォームプロバイダのサーバ４０２上で自動的に実行される。
【０１１９】
幾つかの具体例では、プラットフォームプロバイダが保証し、金融機関が認証し、ユーザが購入したガジェットのみをプラットフォームプロバイダのサーバ４０２上で実行できる。
【０１２０】
プラットフォームプロバイダのサーバ４０２は、ソフトウェア又はハードウェアインタフェースを介して、例えば、ガジェットＡＰＩで指定されたコマンドを介して、ガジェットのコピーを呼び出し、システムリソースをガジェットに提供し、ガジェットと通信することによってガジェットを実行する。幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、ガジェットＡＰＩ（又はガジェットＡＰＩが複数のＡＰＩから構成されている場合は特定のＡＰＩ）の特定の一部のみに所与のガジェットアクセスを許可する。プラットフォームプロバイダのサーバ４０２は、例えば、ガジェットが登録されたときに開発者によって提供されたガジェットの記述からガジェットＡＰＩの必要な部分を判定することができる。幾つかの具体例では、プラットフォームプロバイダのサーバは、ガジェットがアクセスすることが許可されるＡＰＩ又はＡＰＩの部分を開発者に通知する。これは、例えば、プラットフォームプロバイダのサーバが開発者のコンピュータにデータを送信して、開発者に提示することによって行うことができる。ＡＰＩへのアクセス権をこのように制限することによって、プラットフォームプロバイダのサーバは、不正なガジェットがシステムに障害を引き起こすリスクを低減することができる。
【０１２１】
幾つかの具体例では、ガジェットのコピーの呼出は、ガジェットのコピーのインスタンス化を含む。幾つかの具体例では、ガジェットのコピーの呼出は、既にプラットフォームプロバイダのサーバ上で実行されているガジェットのコピーの呼出を含む。
【０１２２】
ガジェットがプラットフォームプロバイダからユーザ固有の金融情報を必要とする場合、ガジェットは、ガジェットＡＰＩが指定するコマンドを用いてプラットフォームプロバイダのサーバ４０２にこの情報の要求を送信する。プラットフォームプロバイダのサーバ４０２は、要求を受信し、そのデータエンジンコンピュータプログラムを用いて、必要な情報を収集する。そして、プラットフォームプロバイダのコンピュータ４０２は、必要な情報をガジェットに送信する。
【０１２３】
幾つかの具体例では、プラットフォームプロバイダのサーバ４０２上のデータエンジンコンピュータプログラムは、ユーザ固有の情報のためのガジェット要求に応じて、オンザフライ方式で、ユーザ固有の情報を収集する。他の具体例では、プラットフォームプロバイダのサーバ４０２上のデータエンジンプログラムがユーザ固有の情報を予め収集し、当該ユーザ固有の情報をプラットフォームプロバイダのサーバ４０２上の金融情報レポジトリ内に保存している。
【０１２４】
幾つかの具体例では、プラットフォームプロバイダのサーバ４０２上のデータエンジンコンピュータプログラムは、エージェントを用いて金融情報を含むデータを収集する。これらのエージェントは、金融情報を収集するために様々な技術を用いることができる。例えば、エージェントは、関連するウェブサイトを巡回し、ウェブサイトのＨＴＭＬコードを解析して、テンプレートに基づいて、金融情報を抽出する。テンプレートは、人間が生成してもよく、ある場合は、ユーザからの入力によって生成してもよい。ウェブページにアクセスするためにユーザ名又はパスワードが必要である場合、エージェントは、保存されているユーザ名及びユーザのパスワードを使用してもよく、ウェブページにユーザを登録して、ユーザのためのアカウントを作成してもよい。また、エージェントは、インターネットを検索することでき、この検索は、個々のウェブサイトで利用可能なプライベートの検索エンジンの使用を含む。これらの技術の詳細については、米国特許第６，８７１，２２０号、第６，５６７，８５０号、第６，２７８，９９３号、第６，１９９，００７号及び第７，２００，８０４号、並びに米国特許公開公報第２００７／０１８０３８０号及び第２００７／０１３０３４７号に説明されており、これらの文献は、全て、引用によって本願に援用される。
【０１２５】
他の具体例では、プラットフォームプロバイダは、金融機関のサーバ４０６から直接、使用可能な形式で、金融情報を含むデータを受信する。
【０１２６】
幾つかの具体例では、ユーザ又はプラットフォームプロバイダは、ユーザの金融情報へのガジェットのアクセスを取り消すことができる。この取消は、例えば、ガジェットの実行に関するユーザの意向が変更された場合、又はガジェットが不正なものである可能性が生じた場合等に行われる。ユーザは、プラットフォームプロバイダのサーバ４０２に要求を送信することによって、自らの金融情報へのガジェットのアクセスを取り消す。例えば、ユーザは、プラットフォームプロバイダのサーバ４０２によって生成され、ユーザのコンピュータ４０６によって表示された設定ウェブページを見ることができる。そして、ユーザは、ユーザの金融情報にアクセスしている特定のガジェットを取り消すことを要求する入力を自らのコンピュータ４０６に行うことができる。そして、ユーザのコンピュータ４０６は、この要求を示すデータをプラットフォームプロバイダのサーバに送信する。そして、プラットフォームプロバイダのサーバは、例えば、ガジェットデータベースに保存されたデータを更新して、又はガジェットに関連するトークンを更新して、ガジェットがユーザの金融情報にアクセスする認証が得られなくなったことを示すことによって、ガジェットのアクセスを取り消す。
【０１２７】
また、ユーザは、自らのコンピュータ４０６を用いて、プラットフォームプロバイダのサーバ４０２によって生成されたガジェットストアからガジェットを選択又は「購入」することができる。ガジェットストアは、プラットフォームプロバイダのサーバ４０２上のウェブページジェネレータコンピュータプログラム及び電子商取引サーバによって生成されたウェブページを含む。プラットフォームプロバイダのサーバのウェブページジェネレータプログラムは、購入可能なガジェットを表示するウェブページを生成する。プラットフォームプロバイダのサーバ４０２は、ネットワーク４１０を介してユーザのコンピュータ４０６にこれらのウェブページを含むデータを送信する。ユーザのコンピュータ４０６は、プラットフォームプロバイダのサーバ４０２からこのデータを受信し、ウェブブラウザを介してユーザにウェブページを表示する。ユーザは、このようにして生成されたウェブページとのやり取りにより、ガジェットストアにおいて利用可能な情報を見る。生成されたウェブページは、例えば、価格を表示し、評価を表示し、ユーザがストアを巡回しながら、後に購入するガジェットを収集することができるショッピングカート機能を提供する等、少なくとも従来のウェブストアの機能を提供する。
【０１２８】
ユーザが購入する１つ以上のガジェットを選択すると、ユーザのコンピュータ４０６は、ネットワーク４１０を介して、プラットフォームプロバイダのサーバ４０２に選択通知を送信する。プラットフォームプロバイダのサーバ４０２は、この通知を受信すると、ユーザが支払い情報を入力できる購入ウェブページを生成する。このウェブページを含むデータは、プラットフォームプロバイダのサーバ４０２によって、ネットワーク４１０を介して、ユーザのコンピュータ４０６に送信される。ユーザのコンピュータ４０６は、このデータを受信すると、ウェブページをユーザに表示する。
【０１２９】
幾つかの具体例では、プラットフォームプロバイダは、予め入力されている幾つかの口座の口座情報を保有しており、ユーザは、自らの口座から選択を行うことができる。他の具体例では、ユーザ４０６は、支払い情報を直接入力するように促される。
【０１３０】
ユーザのコンピュータ４０６は、支払いの選択及びオプションとして他の支払いデータを示すユーザからの入力を受け取る。そして、ユーザのコンピュータ４０６は、ネットワーク４１０を介して、プラットフォームプロバイダのサーバ４０２に、選択及び他の何らかの支払いデータを含むデータを送信する。プラットフォームプロバイダのサーバ４０２は、データを受信すると、ユーザが購入済みガジェットを実行することを認証したことを反映するようにガジェットデータベースに保存されている情報を更新し、これは、例えば、ユーザが購入済みガジェットを実行すること認証したこと及びガジェットがユーザの金融情報にアクセスすることを認証したことを示すトークンをガジェットデータベースに保存することによって行われる。また、プラットフォームプロバイダのサーバ４０２は、後にユーザから代金を回収できるように、オプションとして、例えば、支払いデータベース内に支払いデータを保存する。幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、電子決済の通知を含むデータを受信する。幾つかの具体例では、ユーザのコンピュータは、電子決済通知を含むデータをサードパーティが送信することを認証するデータを、プラットフォームプロバイダのサーバ４０２に送信する。
【０１３１】
ユーザの購入による代金は、プラットフォームプロバイダによって分配される。ユーザは、プラットフォームプロバイダに支払いを行う。続いて、プラットフォームプロバイダは、支払われた代金を金融機関及び開発者に分配する。幾つかの具体例では、金融機関が３０％を受け取り、プラットフォームプロバイダが３０％を手元に残し、開発者が４０％を受け取る。他の分配も可能である。但し、通常は、プラットフォームプロバイダ、開発者及び金融機関のそれぞれが、代金からの幾らかの分配金を受け取る。幾つかの具体例では、プラットフォームプロバイダのサーバ４０２は、電子決済を行うことによって代金を分配する。
【０１３２】
幾つかの具体例では、ユーザのコンピュータ４０６は、ガジェットの構成を指定する入力をユーザから受け取り、ユーザがガジェットを購入したとき、ガジェット構成を含むデータをプラットフォームプロバイダのサーバ４０２に送信する。プラットフォームプロバイダのサーバ４０２は、オプションとして、ガジェット構成を含むデータを保存する。
【０１３３】
以下に説明する図面は、ユーザが見るプラットフォームプロバイダのウェブページの画面を示している。各図面において、プラットフォームプロバイダのサーバは、上述した情報を含むウェブページを生成し、ウェブページを含むデータをユーザのコンピュータに送信している。ユーザのコンピュータは、ウェブページを含むデータを受信し、ユーザにウェブページを表示している。
【０１３４】
ユーザのコンピュータは、ウェブページに関する入力をユーザから受け取ることができる。ユーザのコンピュータは、この入力を受け取ると、ユーザの選択及び他の関連するユーザ入力を示すデータをプラットフォームプロバイダのサーバに送信する。プラットフォームプロバイダのサーバは、ユーザのコンピュータから受信したデータに基づいて、新たな又は更新されたウェブページを生成し、この新たな又は更新されたウェブページに対応するデータをユーザのコンピュータに送信し、ユーザに表示する。
【０１３５】
図５は、第１の実施の形態におけるユーザが見るプラットフォームプロバイダのウェブページの画面を示している。ユーザは、プラットフォームプロバイダのウェブページにログインし、ダッシュボードタブ５０１を選択している。ダッシュボードタブによって、ユーザは、プラットフォームプロバイダ上のガジェットを実行することができる。
【０１３６】
ここでは、「私の支払い地図（map my dollars）」ガジェット５０３、モーゲージ計算プログラムガジェット５０５及び現在相場ガジェット５０７の３つのガジェットが表示されている。「私の支払い地図」は、ユーザがどこで代金を支払ったかに関する情報を示す地図である。モーゲージ計算プログラムにより、ユーザは、新たなモーゲージを申し込んだ場合の支払いを確認することができる。現在相場ガジェットは、ユーザが関心のある相場を表示する。
【０１３７】
プラットフォームプロバイダのウェブページダッシュボードタブ画面は、更なるオプションを提供する。ユーザは、画面変更リンク５０９を介して、ガジェットのレイアウトを変更することができる。各リンクは、ユーザのガジェットを異なる構成で表示する。幾つかの具体例では、更なるリンクによって、ユーザがウィジェットを移動又はダッシュボードから削除することができるようにする。
【０１３８】
また、ユーザは、「最新ガジェット利用可能」リンク５１１を介して、プラットフォームプロバイダが実行するガジェットストアを見ることができる。また、幾つかの具体例では、プラットフォームプロバイダのウェブページダッシュボードタブ画面によって、ユーザは、１つ以上のガジェットを構成することができる。
【０１３９】
図５に示すように、プラットフォームプロバイダによって制作された各ウェブページは、幾つかのブランド化の機会を提供する。ここでは、Ｙｏｄｌｅｅ社がプラットフォームプロバイダであり、Ｙｏｄｌｅｅロゴ５１７は、表示中のウェブページをＹｏｄｌｅｅ社が運営していることを示している。幾つかの具体例では、プラットフォームプロバイダが、金融機関の代理でウェブページを制作した場合、これに代えて、金融機関のロゴを５１７に表示してもよい。幾つかの具体例では、金融機関のロゴは、５１７におけるプラットフォームプロバイダのロゴの横の５１５に表示される。
【０１４０】
更に、幾つかの具体例では、金融機関は、個々のガジェットに共同ブランドを付すことを選択してもよい。この具体例では、５１３において、ガジェットの名称の横に金融機関のロゴが表示される。幾つかの具体例では、開発者は、共同ブランド権と引き換えに対価を金融機関から受け取る。
【０１４１】
図６は、第２の具体例における、プラットフォームプロバイダのウェブページの画面を示しており、ここでは、ユーザは、ダッシュボードタブを選択し、画面変更リンクを介して、ガジェットの構成を変更している。図５に比べ、「私の支払い地図」ガジェット６０３が他の２つのガジェット６０５、６０７より拡大されている。
【０１４２】
図７は、プラットフォームプロバイダが実行し、プラットフォームプロバイダのウェブページを介してユーザがアクセス可能なガジェットストアを示している。このストアによって、ユーザは、異なる価格で異なるガジェットを購入することができる。幾つかの具体例では、ユーザは、ガジェットを１回払いで購入する。幾つかの具体例では、ユーザは、予約購読（subscription）の形式で、例えば、月払い又は年払いでガジェットの代価を支払う。幾つかの具体例では、価格は、開発者が設定する。幾つかの具体例では、少なくとも１つのガジェットの購入代金は、０ドルである。
【０１４３】
メイン画面では、各ガジェットが、簡単な説明７０３、開発者の名称７０５、オプションの共同ブランド７０７と共に識別名称７０１によってリスト表示されている。
【０１４４】
ユーザは、画面左側のオプションによって、表示されたガジェットを変更し、又はリスト内のガジェットの順序をソートすることができる。ユーザは、ボックス７１１に検索タームを入力でき、リンク７１３をクリックすることによって、最も人気がある（又は人気順にソートされた）ガジェットを見ることができ、リンク７１５をクリックすることによって、新しい（又はガジェットの日付順にソートされた）ガジェットを見ることができ、リンク７１７をクリックすることによって、全ての（例えば名称によってアルファベット順にソートされた）ガジェットを見ることができ、又はリンク７１９を用いて、カテゴリ別のガジェットを見ることができる。幾つかの具体例（図示せず）では、ユーザには、選択されるとユーザが最近見たウィジェットを表示するリンクをユーザに提供してもよい。
【０１４５】
幾つかの具体例では、ユーザの金融機関によって認証されたガジェットのみがユーザに表示される。他の具体例では、全てのガジェットがユーザに表示されるが、ユーザの金融機関によって認証されていないガジェットは、選択できないようになっている。
【０１４６】
各ガジェットの説明の近く、例えば、右側には、複数のユーザからの入力に基づいて生成された評価（rating）が表示され、例えば、そのガジェットに何人のユーザが良い評価７２３を与え、何人のユーザが悪い評価７２５を与えたかをユーザに知らせる。また、幾つかの具体例では、ガジェットストアウェブページは、各ガジェットに関する追加的情報を含むことができる。この情報は、開発者に関する情報、開発者又はガジェットの評価、ユーザが過去に購入したガジェットに基づいて提案されるガジェット、及び従来のウェブストアに示されているような他の情報を含むことができる。また、この情報は、ガジェット詳細画面内に表示してもよい。
【０１４７】
幾つかの具体例では、評価は、ガジェット又は開発者を高く評価したユーザが何人であり、ガジェット又は開発者を低く評価したユーザが何人であるかを合計して示すものである。他の具体例では、評価は、個々の開発者及び個々のガジェットに対する個々のユーザによるランキングをスケール上に反映する。
【０１４８】
ユーザは、ガジェット又は開発者を以下のようにして評価する。ユーザからの評価を示す入力は、ユーザのコンピュータが受け取る。ユーザのコンピュータは、評価を示すデータをプラットフォームプロバイダのサーバに送信する。プラットフォームプロバイダのサーバは、このデータを受信し、例えば、ガジェットデータベース内に保存する。幾つかの具体例では、プラットフォームプロバイダは、生のデータを保存せず、代わりに、集計された評価だけを保存し、この集計された評価は、プラットフォームプロバイダのサーバがユーザのコンピュータから評価を示すデータを受信する都度、更新される。
【０１４９】
幾つかの具体例では、プラットフォームプロバイダのサーバは、特定のガジェット又は特定の開発者に関するユーザコメントも収集し、プラットフォームプロバイダのサーバによって生成されるストアウェブページを介して、他のユーザにこれを表示する。幾つかの具体例では、コメントに応答する機会が開発者に与えられる。プラットフォームプロバイダのサーバは、応答を収集し、少なくとも１人のユーザに送信されるウェブページにこれらの応答を表示する。幾つかの具体例では、ユーザに何度もリマインダーを表示して、開発者及びガジェットに関するフィードバックを残すよう奨励する。また、従来のウェブストアで使用されている評価システムを適用してもよい。
【０１５０】
ユーザがウェブページにコメントを入力すると、ユーザのコンピュータは、ユーザからの入力を受け取り、コメントを含むデータをプラットフォームプロバイダのサーバに送信する。プラットフォームプロバイダのサーバは、このデータを受信し、例えば、ガジェットデータベースにこれを保存してもよい。開発者が応答を入力すると、開発者のコンピュータは、応答を含むデータをプラットフォームプロバイダのサーバに送信する。プラットフォームプロバイダのサーバは、このデータを受信し、例えば、ガジェットデータベースにこれを保存してもよい。
【０１５１】
コメント及び応答を示すデータは、ウェブページジェネレータが、ガジェットの詳細画面ウェブページを生成する際に使用する。
【０１５２】
幾つかの具体例では、ユーザは、不正評価システムを介して、不正な動作の可能性にフラグを付すことができる。典型的な評価システムでは、ユーザは、開発者の製品又は顧客サービスの品質に基づいて、ガジェット又は開発者を評価するが、不正評価は、製品の性能が低いというレベルを超えて、不正な振る舞いの可能性を示すことにも用いられる。
【０１５３】
ユーザのコンピュータは、ユーザからガジェットが不正な動作を行う可能性を示す入力を受け取ると、ユーザのコンピュータは、ガジェットが不正である可能性を示すデータをプラットフォームプロバイダのサーバに送信する。プラットフォームプロバイダのサーバは、このデータを受信し、幾つかの具体例では、例えば、ガジェットデータベースにこのデータを保存する。幾つかの具体例では、プラットフォームプロバイダのサーバがガジェットが不正である可能性を示すデータを受信すると、プラットフォームプロバイダのサーバは、ガジェットの保証の再評価をトリガすることができる。幾つかの具体例では、ガジェットの保証の再評価をトリガする動作は、ガジェットを一時的にディスエーブルにすることを含む。幾つかの具体例では、ガジェットを一時的にディスエーブルにする動作は、ガジェットストア内の表示からガジェットを削除することを含む。幾つかの具体例では、ガジェットを一時的にディスエーブルにする動作は、ユーザがガジェットストアから、そのガジェットを購入できないようにすることを含む。幾つかの具体例では、ガジェットを一時的にディスエーブルにする動作は、プラットフォームプロバイダのサーバ上で、そのガジェットが実行されないようにすることを含む。
【０１５４】
幾つかの具体例では、ストアウェブページは、ユーザが過去に購入したガジェットに基づくガジェットの推薦を含む。ここで何を推薦するかは、プラットフォームプロバイダのサーバが、従来の技術を用いて、例えば、そのユーザが過去に何を購入したかを示すデータ、及び他のユーザが過去に何を購入したかを示すデータに部分的に基づいて判定することができる。プラットフォームプロバイダのサーバには、過去の購入傾向を示すデータを保存してもよい。
【０１５５】
ユーザは、「今すぐ購入」ボタン７２７をクリックして、支払いページに直接移動することができる。また、ユーザは、ガジェットの名称７０１をクリックして、ガジェットに関する詳しい情報が記載された詳細画面ページを表示させることもできる。
【０１５６】
また、ユーザは、リンク７２１をクリックすることによって、ダッシュボードタブ画面に戻ることができる。
【０１５７】
図８は、特定のガジェットに関する詳細を含むガジェットストアからのウェブページの画面を示している。詳細画面は、特定のガジェットに関する追加的情報を示している。ページの上部には、ガジェット８０５の短い説明と共にガジェット８０１の名称及びガジェット８０３の開発者が表示されている。幾つかの具体例では、このページは、更に、ガジェットが「ベータ版」であるか否かを表示する。オプションとして、８０７には、共同ブランドを表示してもよい。左側には、ボックス８０９にガジェットの価格が表示されている。幾つかの具体例では、ガジェットの複数のバージョンに対応するガジェットの複数の価格を表示してもよく、ガジェットの「ライト」バージョンが０．９９ドル、ガジェットの「フル」バージョンが９．９９ドル、ガジェットの「ライト」バージョンからガジェットの「フル」バージョンへのアップグレードが９．００ドル等としてもよい。画面の中央には、ガジェットのデモ版（demonstration version）８１１が表示されている。幾つかの具体例では、このデモ版は、完全にインタラクティブで、全ての機能を備えたガジェットのバージョンである。他の具体例では、デモ版は、ガジェットユーザインタフェースのピクチャ又はスクリーンショットである。
【０１５８】
ガジェット８１１のデモ版の下には、ガジェット特徴リスト８１３が表示されている。ガジェット特徴リストは、ガジェット機能の説明又は強調を含む。幾つかの具体例では、この特徴リストは、開発者のコンピュータがプラットフォームプロバイダのサーバに送信し、プラットフォームプロバイダのサーバにおいて、例えば、ガジェットデータベースに保存される。幾つかの具体例では、この特徴リストは、プラットフォームプロバイダが維持する機能のカテゴリのリストから開発者によって選択された機能に関する１つ以上のカテゴリを含む。これらの具体例では、開発者のコンピュータは、例えば、開発者の選択を示すデータをプラットフォームプロバイダのサーバに送信することによって、開発者が選択した１つ以上のカテゴリをプラットフォームプロバイダのサーバに通知する。幾つかの具体例では、開発者の選択を示すデータは、プラットフォームプロバイダのサーバに保存される。幾つかの具体例では、プラットフォームプロバイダは、例えば、ガジェットを保証する際に、特徴リストを検証する。
【０１５９】
ガジェット特徴リスト８１３の下には、同じ開発者が作成した更なるガジェットのリスト８１５が表示されている。このリストは、各ガジェットの名称を示し、各ガジェットに対応する詳細ページへのリンクを含むことができる。また、追加的情報、例えば、リスト内の各ガジェットの説明を示してもよい。
【０１６０】
幾つかの具体例では、このリストは、プラットフォームプロバイダのサーバによって生成される。幾つかの具体例では、必ずしも、開発者が作成した全てのガジェットを表示しなくてもよい。プラットフォームプロバイダのサーバは、ある基準を適用して、表示されるガジェットの数を削減する。これらの基準は、ガジェットを順位付けし、ある数のガジェットのみをリストに表示するといった規則であってもよい。この順位は、例えば、ガジェットの新しさの順位、ガジェットの人気の順位、又はランダムな順位であってもよい。
【０１６１】
他の具体例では、開発者のコンピュータは、例えば、ガジェット自体をプラットフォームプロバイダのサーバに送信する際、どのガジェットをリストに入れるかを示すデータをプラットフォームプロバイダのサーバに送信する。プラットフォームプロバイダのサーバは、この情報を受信し、例えば、ガジェットデータベースに保存する。
【０１６２】
同じ開発者が作成した更なるガジェットのリスト８１５の下には、コメント欄８１７が設けられている。コメント欄では、ユーザは、「コメントを追加」リンク８１９を用いて、コメントを追加することができる。ユーザは、自らのコンピュータを用いて、自らのコメントを入力する。ユーザのコンピュータは、ユーザのコメントを含むデータをプラットフォームプロバイダのサーバに送信する。プラットフォームプロバイダのサーバは、このデータを受信し、例えば、ガジェットデータベースに保存する。
【０１６３】
プラットフォームプロバイダのサーバは、ガジェットの詳細画面を生成する際、ウェブページにユーザコメントを含ませる。
【０１６４】
評価情報は、右側の上部のコーナに表示され、これによりユーザは、ガジェットを高く評価した人の数８２１及び低く評価した人の数８２３を知ることができる。
【０１６５】
ユーザは、ナビゲーションページの左上の選択肢８２５を用いて、他のガジェットを閲覧することができる。
【０１６６】
ユーザは、「今すぐ購入」ボタン８２７を用いて、ガジェットを購入することができる。幾つかの具体例では、ガジェットのバージョンが複数ある場合、ユーザは、どのバージョンを購入するかを指定するための更なる入力操作を行うことができる。
【０１６７】
幾つかの具体例では、ユーザインタフェースを介して、更なるオプションがユーザに提供される。例えば、ユーザインタフェースは、「ウィッシュリストに追加」ボタンを含むことができ、これによりユーザは、ユーザが興味を持ったガジェットをガジェットのリストに追加することができる。他の具体例として、ユーザインタフェースは、「友人にメール（e-mail a friend）」ボタンを含むことができ、これによりユーザは、他のユーザインタフェースに移動し、ここで、友人の電子メールアドレスを入力し、ガジェットに関する情報を友人にメールで知らせることができる。
【０１６８】
図９は、支払い情報ページを示し、ここで、ユーザは、自らの支払い情報を入力し、選択した１つ以上のガジェットを購入する。このページには、選択されたガジェットの名称９０１、ガジェットの開発者９０３、ガジェットの簡単な説明９０５、及びオプションとしての共同ブランド情報情報９０７が表示されている。図９では、１つのガジェットだけが購入のために選択されているが、ユーザは、同時に複数のガジェットを購入のために選択できる。
【０１６９】
ガジェットの価格は、左側のボックス９０９に表示されている。また、支払い金額９１１もユーザに表示されている。
【０１７０】
ユーザは、ガジェットの代価を支払うために、２つのオプションを有している。ユーザは、ユーザについてプラットフォームプロバイダが既に把握している口座から支払うオプション９１３を選択でき、この場合、そして、ユーザは、ドロップダウンボックス９１５から自らの口座情報を選択する。プラットフォームプロバイダのサーバは、収集したユーザ口座情報をドロップダウンボックス９１５内に表示する。これに代えて、ユーザは、ＰａｙＰａｌによって支払いを行うオプション９１７を選択し、自らの電子メールアドレスを入力することもできる。ＰａｙＰａｌは、ユーザが自らの電子メールアドレス及びパスワードを記入することによって、インターネット上で商品を購入することができるサービスの具体例である。図９では、ＰａｙＰａｌを用いているが、ユーザにインターネット上の商品の代金をユーザが支払うことができる如何なるサービスを用いてもよく、例えば、ＰａｙＰａｌ、グーグルチェックアウト（Google Checkout）、Ｐａｙｍｅｎｔ  Ｔｒｕｓｔ、Ａｕｔｈｏｒｉｚｅ．ｎｅｔ、又はｉＰａｙｍｅｎｔを用いてもよい。変形例では、口座情報は、予め記入されておらず、ユーザは、自らの支払い情報を直接入力する必要がある。
【０１７１】
図９では、２つの支払いオプションのみを示しているが、これに代えて又はこれに加えて、例えば、小切手又は郵便為替等の他の支払いオプションをユーザに提供してもよい。
【０１７２】
一旦、ユーザが自らの支払い情報を入力すると、ユーザは、「進む」ボタン９１９をクリックし、確認画面に進む。これにより、ユーザのコンピュータは、支払い情報を指定するユーザの入力を処理する。ユーザのコンピュータは、ネットワークを介して、プラットフォームプロバイダのサーバに、ユーザの支払い情報を示すデータを送信する。プラットフォームプロバイダのサーバは、ユーザがガジェットを実行するために認証されたことを示すデータを、例えば、ガジェットデータベースに保存する。また、プラットフォームプロバイダのサーバは、ユーザの支払い情報を示すデータを、例えば、支払いデータベースに保存でき、これにより、将来におけるユーザからの支払いの受け取りが容易になる。
【０１７３】
ここで、購入されたガジェットは、プラットフォームプロバイダのウェブページのダッシュボードタブ画面に現れる。
【０１７４】
図１０は、ユーザの個人ファイナス情報にアクセスできるガジェットをユーザが指定できるユーザ設定ページ（user preference page）の具体例を示している。ユーザは、例えば、プラットフォームプロバイダのサーバによって生成されたユーザインタフェース内の設定タブ（preferences tab）１００２を選択することによって、設定ページに移動することができる。
【０１７５】
設定ページは、認証されたガジェット１００４と認証されていないガジェット１００６をリストとして表示する。認証されたガジェットのそれぞれは、ユーザが自らの個人情報にアクセスしてもよいと指定したガジェットである。初期設定では、ユーザがガジェットを購入した際、ユーザは、ガジェットが自らの個人情報にアクセスすることを認証したとみなされる。認証されていないガジェットは、ユーザが自らの個人情報にアクセスさせないことを指定したガジェットである。
【０１７６】
ユーザは、設定ページ内に設けられているボタンを用いて、認証されたガジェットを認証されていないガジェットに切り替えることができ、この逆を行うこともできる。例えば、ユーザは、非認証ボタン１００８を選択して、「私の支払い地図（MapMyDollars）」ガジェット１０１０を認証しないことを指示することができる。同様に、ユーザは、認証ボタン１０１２を選択して、「消費の表示（Show My Spending）」ガジェット１００６を認証することを指示することができる。
【０１７７】
図１０に示す設定ページは、ガジェットの名称のみをリスト表示しているが、ガジェットに関する追加的情報、例えば、ガジェットの説明、ガジェットの開発者、又はガジェットの評価を表示してもよい。
【０１７８】
図１１は、ガジェットをユーザに提供するための例示的な処理１１００のフローチャートである。ここでは、便宜的に、処理１１００を実行するシステムを参照して例示的な処理１１００を説明する。このシステムは、例えば、プラットフォームプロバイダのサーバ４０２又は金融機関のサーバ４０４であってもよい。
【０１７９】
システムは、例えば、図４を参照して説明したように、金融機関からユーザ固有の金融情報を収集及び保存する（１１０２）。システムは、例えば、図４を参照して説明したように、開発者からガジェットを受信する（１１０４）。システムは、例えば、図４を参照して説明したように、プラットフォームプロバイダが１つ以上のガジェットを保証したことを示す通知を受信する（１１０６）。システムは、例えば、図４及び図７〜図９を参照して説明したように、保証されたガジェットからユーザがガジェットを選択できるウェブページを生成する（１１０８）。システムは、例えば、図４を参照して説明したように、ユーザがガジェットを選択したことを示す通知を受信する（１１１０）。システムは、例えば、図４〜図６を参照して説明したように、選択されたガジェットを実行する。システムは、例えば、図４〜図６を参照して説明したように、ガジェットの出力に応じて、ユーザ固有の金融情報を変更し、又はガジェットの出力に基づくコンテンツをユーザに提供する（１１１４）。
【０１８０】
図１２は、ガジェットをユーザに提供するための他の例示的な処理１２００のフローチャートである。ここでは、便宜的に、処理１２００を実行するシステムを参照して例示的な処理１２００を説明する。このシステムは、例えば、プラットフォームプロバイダのサーバ４０２又は金融機関のサーバ４０４であってもよい。
【０１８１】
システムは、例えば、図４を参照して説明したように、開発者からガジェットを受信する（１２０２）。システムは、例えば、図４を参照して説明したように、プラットフォームプロバイダが１つ以上のガジェットを保証したことを示す通知を受信する（１２０４）。システムは、例えば、図４を参照して説明したように、１つ以上の保証されたガジェットを金融機関が認証したことを示す通知を受信する（１２０６）。システムは、図４及び図７〜図９を参照して説明したように、認証されたガジェットからユーザがガジェットを選択できるウェブページを生成する（１２０８）。システムは、例えば、図４を参照して説明したように、ユーザがガジェットを選択したことを示す通知を受信する（１２１０）。システムは、例えば、図４を参照して説明したように、選択されたガジェットを実行する（１２１２）。システムは、例えば、図４〜図６を参照して説明したように、選択されたガジェットの出力を用いて、ウェブページを生成する（１２１４）。
【０１８２】
図１３は、第２の実施の形態の例示的なアーキテクチャを示している。第２の実施の形態は、プラットフォームプロバイダが金融機関のバックエンドプロバイダである点を除けば、第１の実施の形態と同様である。金融機関のサーバ１３３６は、プラットフォームプロバイダが提供する企業ソフトウェア１３３８を実行する。企業ソフトウェア１３３８は、例えば、金融機関におけるユーザの口座に関する金融情報を収集し、金融情報をユーザに表示し、及びガジェットを実行するためのツールを提供する。企業ソフトウェア１３３８は、金融機関が提供するハードウェア上で実行してもよく、プラットフォームプロバイダが提供するハードウェア上で実行してもよい。
【０１８３】
第２の実施の形態では、ガジェット認証プログラム１３４０、データエンジン１３４２、ウェブページジェネレータ１３４４及びガジェットランナ１３４６は、金融機関のサーバ１３３６上で実行される企業ソフトウェア１３３８に含まれている。
【０１８４】
代替となる具体例では、これらのコンピュータプログラムの１つ以上は、企業ソフトウェア１３３８の一部ではなく、金融機関のサーバ１３３６上の独立したアプリケーションである。例えば、ガジェット認証プログラム１３４０は、金融機関のサーバ１３３６上の独立したアプリケーションであってもよい。
【０１８５】
幾つかの具体例では、データエンジン１３４２は、プラットフォームプロバイダのサーバ１３０４が実行し、金融機関のサーバは、ネットワーク１３３２を介して、これにアクセスする。
【０１８６】
また、金融機関のサーバ１３３６は、ガジェットデータベース１３４８及び金融情報レポジトリ１３５０を保存し、金融機関のサーバ１３３６上の企業ソフトウェア１３３８及びコンピュータプログラムは、これらとやり取りすることができる。代替となる具体例では、ガジェットデータベース１３４８及び金融情報レポジトリ１３５０の一方又は両方は、プラットフォームプロバイダのサーバ１３０４に保存され、金融機関のサーバ１３３６は、ネットワークを介して、これらにアクセスする。
【０１８７】
図１４は、プラットフォームプロバイダのサーバ１４０２、金融機関のサーバ１４０４、ユーザのコンピュータ１４０６及び開発者のコンピュータ１４０８がネットワーク１４１０を介して接続されている第２の実施の形態における例示的な情報フローを示している。ここでは、１つのプラットフォームプロバイダのサーバ、１つの金融機関のサーバ、１つのユーザのコンピュータ及び１つの開発者のコンピュータのみを示しているが、各パーティは、複数のコンピュータを使用してもよい。
【０１８８】
第２の実施の形態の情報フローは、幾つかの例外を除いて、第１の実施の形態の情報フローと同様である。
【０１８９】
ユーザは、第１の実施の形態において、プラットフォームプロバイダのウェブページジェネレータが生成したウェブページとやり取りする場合と同様に、この実施の形態では、金融機関のウェブページジェネレータが生成したウェブページとやり取りする。幾つかの具体例では、プラットフォームプロバイダのサーバ１４０２がガジェットストアを構成するウェブページを生成する。この具体例では、プラットフォームプロバイダのサーバ１４０２及び金融機関のサーバ１４０４の両方が、ユーザのコンピュータ１４０６にウェブページを送信する。また、プラットフォームプロバイダのサーバ１４０６及び金融機関のサーバ１４０４の両方がユーザから選択を受信する。
【０１９０】
ユーザのコンピュータ１４０６が、金融機関のサーバ１４０４に、ユーザがガジェットの実行を望んでいることを示す通知を送信すると、金融機関のサーバ１４０４上のガジェットランナは、例えば、ガジェットデータベースに保存されているデータをチェックすることによって、ユーザが選択されたガジェットを購入済みであることを確認する。幾つかの具体例では、ガジェットランナは、第１の実施の形態と同様に、ガジェットを呼び出し、実行する。幾つかの具体例では、ユーザは、ガジェットの実行を可能にするために、金融機関のサーバ上での使用について、ガジェットを明示的に購入している必要がある。この具体例では、プラットフォームプロバイダのサーバ上又は別の金融機関のサーバ上で実行されるガジェットを購入したユーザは、金融機関のサーバ上では、ガジェットを実行できない。ガジェットが金融情報を要求すると、金融機関のサーバ１４０４上のデータエンジンは、第１の実施の形態におけるプラットフォームプロバイダのデータエンジンの動作と同様に、収集した金融情報から必要な金融データを抽出し、これをガジェットに渡す。
【０１９１】
幾つかの具体例では、データエンジンは、プラットフォームプロバイダのサーバ１４０２によって実行される。金融機関のサーバ１４０４は、ネットワーク１４１０を介して、プラットフォームプロバイダのサーバ１４０２に必要な情報の要求を送信する。プラットフォームプロバイダのサーバ１４０２は、要求を受信すると、要求された情報を金融機関のサーバ１４０４に送信する。
【０１９２】
幾つかの具体例では、ユーザのコンピュータ１４０６が、金融機関のサーバ１４０４に、ガジェットストアにアクセスするための要求を送信した場合、金融機関のサーバのウェブページジェネレータによって生成されたウェブページは、プラットフォームプロバイダのサーバ上のストアジェネレータが生成したガジェットストアにリンクされる。ユーザは、上述した第１の実施の形態と同様に、ストアジェネレータが生成したストアとやり取りする。ユーザのコンピュータ１４０６は、ユーザから、ユーザが購入を希望することを示す入力を受け取る。そして、ユーザのコンピュータ１４０６は、プラットフォームプロバイダのサーバ１４０２に購入通知を送信する。次に、プラットフォームプロバイダのサーバ１４０２は、金融機関のサーバ１４０４に認証コードを送信する。金融機関のサーバ１４０４は、ユーザがガジェットを実行するための認証コードを、例えば、ガジェットデータベースに保存する。プラットフォームプロバイダのサーバ１４０２は、ユーザのコンピュータ１４０６から支払い情報を受信する。次に、プラットフォームプロバイダは、第１の実施の形態と同様に、代金を回収し、分配する。
【０１９３】
代替となる具体例では、ガジェットストアは、金融機関のサーバ１４０４によってホストされる。この具体例では、金融機関は、金融機関のストアで販売することを望む各ガジェットについて、定額の代金を支払う。この代金は、プラットフォームプロバイダが自らと開発者とに分配する。ユーザが金融機関のガジェットストアからガジェットを購入した場合、売上は、金融機関の収益になる。
【０１９４】
図１５は、ガジェットをユーザに提供するための他の例示的な処理１５００のフローチャートである。ここでは、便宜的に、処理１５００を実行するシステムを参照して例示的な処理１５００を説明する。このシステムは、例えば、金融機関のサーバ４０４であってもよい。
【０１９５】
システムは、例えば、図４を参照して説明したように、ユーザ固有の金融情報を収集及び保存する（１５０２）。システムは、プラットフォームプロバイダから保証されたガジェットを受信する（１５０４）。例えば、プラットフォームプロバイダのサーバは、ガジェット自体のデータ、又はガジェットが保存されている場所にリンクするデータをシステムに送信することができる。そして、システムは、ユーザがガジェットを使用できることを示す使用通知をプラットフォームプロバイダから受信する（１５０６）。使用通知は、例えば、図１４を参照して説明したように、システムがガジェットデータベースから読み出したデータであってもよい。システムは、例えば、図４及び図１４を参照して説明したように、ガジェットを実行する（１５０８）。システムは、例えば、図４及び図１４を参照して説明したように、ユーザ固有の金融情報を変更し、又はガジェットの出力に基づくコンテンツを提供する（１５１０）。
【０１９６】
図１６は、汎用コンピュータシステム１６００の具体例の概略図である。システム１６００は、図２に基づいて上述した動作のために使用することができる。例えば、システム１６００は、プラットフォームプロバイダ２０２、開発者２３４、ユーザ２３８及び金融機関２４４の何れか又は全てが備えていてもよい。
【０１９７】
システム１６００は、プロセッサ１６１０、メモリ１６２０、ストレージデバイス１６３０及び入出力デバイス１６４０を含む。各コンポーネント１６１０、１６２０、１６３０、１６４０は、システムバス１６５０を介して相互接続されている。プロセッサ１６１０は、システム１６００内で実行される命令を処理できる。幾つかの具体例では、プロセッサ１６１０は、シングルスレッドプロセッサである。他の具体例では、プロセッサ１６１０は、マルチスレッドプロセッサである。プロセッサ１６１０は、メモリ１６２０又はストレージデバイス１６３０に格納されている命令を処理して、入出力デバイス１６４０上のユーザインタフェースにグラフィカルな情報を表示することができる。
【０１９８】
メモリ１６２０は、システム１６００内に情報を保存する。幾つかの具体例では、メモリ１６２０は、コンピュータが読取可能な媒体である。幾つかの具体例では、メモリ１６２０は、揮発性メモリユニットである。他の具体例では、メモリ１６２０は、不揮発性メモリユニットである。
【０１９９】
ストレージデバイス１６３０は、システム１６００に大容量記憶媒体を提供できる。幾つかの具体例では、ストレージデバイス１６３０は、コンピュータが読取可能な媒体である。様々な異なる具体例において、ストレージデバイス１６３０は、フロッピディスクデバイス、ハードディスクデバイス、光ディスクデバイス、又はテープデバイスであってもよい。
【０２００】
入出力デバイス１６４０は、システム１６００のための入出力動作を提供する。幾つかの具体例では、入出力デバイス１６４０は、キーボード及び／又はポインティングデバイスを含む。他の具体例では、入出力デバイス１６４０は、グラフィカルユーザインタフェースを表示するためのディスプレイユニットを含む。
【０２０１】
上述した特徴は、デジタル電子回路、集積回路、特別に設計された特定用途向け集積回路（application specific integrated circuit：ＡＳＩＣ）、コンピュータハードウェア、ファームウェア、ソフトウェア及び／又はこれらの組合せによって実現できる。様々な実現例は、少なくとも１つのプログラミング可能なプロセッサを含むプログラミング可能なシステム上で実行及び／又は解釈できる１つ以上のコンピュータプログラムにおける具体例を含むことができ、ここで、プロセッサは、専用プロセッサであっても、汎用プロセッサであってもよく、ストレージシステム、少なくとも１つの入力デバイス及び少なくとも１つの出力デバイスにデータ及び指示を送り、及びこれらからデータ及び指示を受け取る。
【０２０２】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション又はコードとも呼ばれる。）は、プログラミング可能なプロセッサのための機械命令を含み、ハイレベルの手続き型及び／又はオブジェクト指向のプログラミング言語で実現してもよく、及び／又はアセンブリ／機械言語で実現してもよい。本明細書における用語である「機械が読取可能な媒体」又は「コンピュータが読取可能な媒体」は、機械命令及び／又はデータをプログラミング可能なプロセッサに提供するために用いられる、あらゆるコンピュータプログラム製品、装置及び／又はデバイス（例えば、磁気ディスク、オプティカルディスク、メモリ、プログラマブルロジックデバイス（Programmable Logic Device：ＰＬＤ））を総称する。幾つかの具体例では、機械が読取可能な媒体は、機械が読取可能な信号として機械命令を受け取る。「機械が読取可能な信号」という用語は、機械命令及び／又はデータをプログラミング可能なプロセッサに提供するために用いられるあらゆる信号を総称する。
【０２０３】
命令のプログラムの実行に適するプロセッサには、一例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、並びにあらゆる種類のコンピュータの単一のプロセッサ又は複数のプロセッサの１つ何れも含まれる。プロセッサは、通常、読出専用メモリ若しくはランダムアクセスメモリ、又はこれらの両方から命令及びデータを受け取る。コンピュータの基本的な要素は、命令を実行するためのプロセッサ、並びに命令及びデータを保存する１つ以上の記憶装置である。また、コンピュータは、通常、データファイルを保存するための１つ以上の大容量ストレージデバイスを含み、又はこれに通信可能に接続されており、このようなデバイスは、内蔵ハードディスク及びリムーバブルディスク等の磁気ディスク、光磁気ディスク及び光ディスクを含む。コンピュータプログラム命令及びデータベースを含むデータを実体的に具現化するストレージデバイスとしては、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリデバイス等の半導体メモリデバイスを含むあらゆる形式の不揮発性メモリ、例えば、内蔵ハードディスク及びリムーバブルディスク等の磁気ディスク、光磁気ディスク、並びにＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスク等が含まれる。プロセッサ及びメモリは、特定用途向け集積回路（ＡＳＩＣ）によって補ってもよく、これに組み込んでもよい。
【０２０４】
ユーザとのインタラクションを提供するために、本明細書で開示するシステム及び技術は、ユーザに情報を表示するためのディスプレイデバイス（例えば、陰極線管（cathode ray tube：ＣＲＴ）又は液晶ディスプレイ（liquid crystal display：ＬＣＤモニタ）、並びにユーザがコンピュータに入力を行うためのキーボード及びポインティングデバイス（例えば、マウス又はトラックボール）を備えるコンピュータで実現することができる。他の種類のデバイスを用いて、ユーザとのインタラクションを提供してもよく、例えば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック（例えば、視覚フィードバック、聴覚フィードバック又は触覚フィードバック）であってもよく、ユーザからの入力は、音響入力、音声入力又は触覚入力を含む如何なる形式で受け付けてもよい。
【０２０５】
本明細書に開示したシステム及び技術は、コンピュータシステムによって実現でき、コンピュータシステムは、（例えば、データサーバとしての）バックエンドコンポーネントを含み、又はミドルウェアコンポーネント（例えば、アプリケーションサーバ）を含み、又はフロントエンドコンポーネント（例えば、ユーザが、本明細書に開示したシステム及び技術の具体例とやり取りすることを可能にするグラフィカルユーザインタフェース又はウェブブラウザを有するクライアントコンピュータ）を含み、又はこのようなバックエンド、ミドルウェア又はフロントエンドコンポーネントの任意の組合せを含む。システムのコンポーネントは、デジタルデータ通信の如何なる形式又は媒体（例えば、通信ネットワーク）によって相互接続してもよい。通信ネットワークの具体例には、ローカルエリアネットワーク（local area network：ＬＡＮ）と、ワイドエリアネットワーク（wide area network：ＷＡＮ）と、インターネットが含まれる。
【０２０６】
コンピュータシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般的に互いに遠隔にあり、通常、例えば上述の例のように、ネットワークを介してやり取りする。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
【０２０７】
幾つかの具体例を詳細に説明したが、他の変形例も可能である。例えば、開発者１０３及びプラットフォームプロバイダ１０２を同じコンピュータシステム内で実現してもよい。
【０２０８】
更に、図面に示した論理フローは、望ましい結果を達成するために、必ずしも図示した特定の順序又は連続的な順序で行う必要はない。更に、他のステップを追加してもよく、説明したフローからステップを省略してもよく、説明したシステムに他のコンポーネントを追加してもよく、システムからコンポーネントを取り除いてもよい。したがって、他の具体例も特許請求の範囲に含まれる。
【０２０９】
本発明の幾つかの実施の形態について説明した。但し、本発明の精神及び範囲から逸脱することなく、様々な変更を行うことができることは明らかである。したがって、他の実施の形態も特許請求の範囲に含まれる。
【図１】
0005684717.tif 000002
【図２】
0005684717.tif 000003
【図３】
0005684717.tif 000004
【図４】
0005684717.tif 000005
【図５】
0005684717.tif 000006
【図６】
0005684717.tif 000007
【図７】
0005684717.tif 000008
【図８】
0005684717.tif 000009
【図９】
0005684717.tif 000010
【図１０】
0005684717.tif 000011
【図１１】
0005684717.tif 000012
【図１２】
0005684717.tif 000013
【図１３】
0005684717.tif 000014
【図１４】
0005684717.tif 000015
【図１５】
0005684717.tif 000016
【図１６】
0005684717.tif 000017