(57)【要約】インターネットブラウザ・インターフェイス（２０）に機能を追加する方法およびシステム。本発明の１つの実施形態では、上記追加機能によりインターネットブラウザ（７２）を用いてウェブサイトへの自動ログインを簡便化することが可能となる。別の実施形態では、上記追加機能によって、ユーザはインターネットブラウザ（７２）を用いて、種々のタスクの実行が可能となる。本発明を限定するものではないが、そのようなタスクの例として、１以上のウェブページのナビゲーションに必要な、あるいは、１以上のウェブページやウェブサイトからユーザ所望の情報を検索するのに必要な種々のタスクの実行が挙げられる。
2005508047.tif 000002
【特許請求の範囲】
【請求項１】
インターネットブラウザとコンピュータとを用いてユーザによるウェブサイトへの自動ログインを簡便化する方法であって、
前記コンピュータへコンピュータコードを伝送し、前記ウェブサイトへ前記ユーザを自動的にログインさせるためにユーザデータを利用する自動ログイン機能を前記ブラウザに追加させるステップを備える、方法。
【請求項２】
前記伝送ステップが、ユーザがマーチャント・リストにアクセスし、前記マーチャント・リストからマーチャントを選択することにより、前記マーチャント・リストの該マーチャントのウェブサイトにユーザが自動的にログイン出来るようにする自動ログイン機能を追加するボタンを前記ブラウザに追加するコンピュータコードを伝送するステップを備える、請求項１に記載の方法。
【請求項３】
前記ボタンがプルダウンメニューを介して前記マーチャント・リストへのアクセスを提供する、請求項２に記載の方法。
【請求項４】
ユーザが前記マーチャント・リストからマーチャントを選択した時、前記コンピュータコードが、サーバへの要求の自動伝送を簡便化する、請求項２に記載の方法。
【請求項５】
前記要求がセキュリティ・クッキーを含む、請求項４に記載の方法。
【請求項６】
前記要求が、第１リクエスト、並びに、ユーザＩＤとマーチャントＩＤとを含む第２リクエストを備える、請求項４に記載の方法。
【請求項７】
前記第１リクエストがセキュリティ・クッキーを含む、請求項６に記載の方法。
【請求項８】
前記コンピュータコードが、前記ブラウザに行わせるナビゲーションの行き先を示す個々のインターネットサイトのインターネットアドレスをインターセプトすることにより前記ブラウザの前記インターネット・ナビゲーションをモニタする、請求項１に記載の方法。
【請求項９】
マーチャントがサポートされたマーチャントであるかどうかを、前記コンピュータコードが判定する、請求項２に記載の方法。
【請求項１０】
サポートされたマーチャント・ウェブサイトへ前記ブラウザのナビゲーションを行う時、前記コンピュータコードがインジケータを提供する、請求項１に記載の方法。
【請求項１１】
ユーザから第１リクエストを受け取るステップと、
前記第１リクエストがセキュリティ要求であるかどうかを判定するステップと、
前記第１リクエストがセキュリティ要求であれば、前記ユーザへ応答を伝送するステップと、
前記第１リクエストがセキュリティ要求でなければ、前記インターネットブラウザにより表示するためにセキュリティ保護を施したログイン・ウェブページを前記ユーザへ伝送するステップと、をさらに備える、請求項２に記載の方法。
【請求項１２】
前記判定ステップが、前記第１リクエストがセキュリティ・クッキーを含むかどうかを判定するステップを備える、請求項１１に記載の方法。
【請求項１３】
ユーザ・クリデンシャルを要求する第２リクエストを受け取るステップと、
前記ユーザ・クリデンシャルを前記ユーザへ伝送するステップと
を更に備える、請求項１１に記載の方法。
【請求項１４】
前記ユーザ・クリデンシャルがサーバに格納され、
前記ユーザ・クリデンシャルがログインＩＤとパスワードのうちの少なくとも一方であり、
前記ユーザ・クリデンシャルがマーチャントおよび前記マーチャントのウェブサイト固有のものである、請求項１３に記載の方法。
【請求項１５】
前記第２リクエストがユーザＩＤとマーチャントＩＤのうちの少なくとも一方を含む、請求項１３に記載の方法。
【請求項１６】
前記ユーザ・クリデンシャルが前記選択されたマーチャント用のマーチャント・ルール・ファイルを含む、請求項１４に記載の方法。
【請求項１７】
インターネットブラウザによりコンピュータ・ディスプレイに表示可能なインターネットブラウザ・インターフェイスであって、
ユーザデータを用いてウェブサイトにユーザを自動的にログイン出来るようにする機能を追加するために前記ブラウザのユーザによる変更が可能である、
インターネットブラウザ・インターフェイス。
【請求項１８】
前記機能が前記コンピュータのプロセッサと接続して実行可能なコンピュータコードにより提供される、請求項１７に記載のインターネットブラウザ・インターフェイス。
【請求項１９】
ユーザがマーチャント・リストにアクセスし、前記マーチャント・リストからマーチャントを選択することにより、前記マーチャント・リストのマーチャントのウェブサイトへ前記ユーザが自動的にログイン出来るようにする自動ログイン機能を前記ブラウザに追加する自動ログインボタンを前記ブラウザ・インターフェイスに追加するための、前記コンピュータのプロセッサと接続して実行可能なコンピュータコードが前記機能を提供し、
前記ボタンが前記マーチャント・リストへのアクセスを提供する、
請求項１８に記載のインターネットブラウザ・インターフェイス。
【請求項２０】
ユーザが前記マーチャント・リストからマーチャントを選択した時、前記コンピュータコードが、サーバへの要求の自動伝送を簡便化する、請求項１９に記載のインターネットブラウザ・インターフェイス。
【請求項２１】
前記要求がセキュリティ・クッキーを含む、請求項２０に記載のインターネットブラウザ・インターフェイス。
【請求項２２】
前記要求が、第１リクエスト、並びに、ユーザＩＤとマーチャントＩＤとを含む第２リクエストを備える、請求項２０に記載のインターネットブラウザ・インターフェイス。
【請求項２３】
前記第１リクエストがセキュリティ・クッキーを含む、請求項２２に記載のインターネットブラウザ・インターフェイス。
【請求項２４】
前記コンピュータコードが、前記インターネットブラウザにより行われるナビゲーションの行き先を示す個々のインターネットサイトのインターネットアドレスをインターセプトすることにより、前記インターネットブラウザの前記インターネット・ナビゲーションをモニタするために前記プロセッサと接続して更に実行可能である、請求項１８に記載のインターネットブラウザ・インターフェイス。
【請求項２５】
前記コンピュータコードが、マーチャント・ウェブサイトがサポートされたマーチャント・ウェブサイトであるかどうかを判定するために、前記プロセッサと接続して更に実行可能である、請求項１８に記載のインターネットブラウザ・インターフェイス。
【請求項２６】
前記コンピュータコードが前記コンピュータの前記プロセッサと接続して、
第１リクエストを伝送し、
ユーザ・クリデンシャルを求めて第２リクエストを伝送し、
前記ユーザ・クリデンシャルを受け取る
ように、更に実行可能である、請求項１９に記載のインターネットブラウザ・インターフェイス。
【請求項２７】
前記ユーザ・クリデンシャルがサーバに格納され、
前記ユーザ・クリデンシャルがログインＩＤとパスワードのうちの少なくとも一方であり、
前記ユーザ・クリデンシャルがマーチャントおよび前記マーチャントのウェブサイト固有のものである、
請求項２６に記載のインターネットブラウザ・インターフェイス。
【請求項２８】
前記第１リクエストがセキュリティ・クッキーを含む、請求項２６に記載のインターネットブラウザ・インターフェイス。
【請求項２９】
前記第２リクエストがユーザＩＤとマーチャントＩＤのうちの少なくとも一方を含む、請求項２８に記載のインターネットブラウザ・インターフェイス。
【請求項３０】
前記ユーザ・クリデンシャルが前記選択されたマーチャント用のマーチャント・ルール・ファイルを含む、請求項２９に記載のインターネットブラウザ・インターフェイス。
【請求項３１】
インターネットブラウザとコンピュータとを用いてユーザによるウェブサイトへの自動ログインを簡便化するシステムであって、前記ウェブサイトへログインするためにユーザデータが必要とされ、前記システムが
インターネットと接続可能なサーバを備え、前記サーバが、
データ格納装置と、
自動ログイン機能を前記ブラウザに追加するコンピュータコードを前記ユーザ用コンピュータへ伝送するための、前記データ格納装置に格納されたソフトウェアと接続して実行可能なプロセッサと
を備え、
前記コンピュータコードが、前記ユーザを前記ウェブサイトに自動的にログインするためにユーザデータを利用する自動ログイン機能を前記ブラウザに追加する、
システム。
【請求項３２】
前記コンピュータコードが、前記マーチャント・リストからマーチャントを選択することによって、前記マーチャント・リストにアクセスし、前記マーチャント・リストの該マーチャントのウェブサイトにユーザが自動的にログイン出来るようにする自動ログイン機能を前記ブラウザに追加するボタンを前記ブラウザへ追加する、請求項３１に記載のシステム。
【請求項３３】
前記ボタンがプルダウンメニューを介して前記マーチャント・リストへのアクセスを提供する、請求項３２に記載のシステム。
【請求項３４】
ユーザが前記マーチャント・リストからマーチャントを選択した時、前記コンピュータコードが、サーバへの要求の自動伝送を簡便化する、請求項３２に記載のシステム。
【請求項３５】
前記要求がセキュリティ・クッキーを含む、請求項３４に記載のシステム。
【請求項３６】
前記要求が、第１リクエスト、並びに、ユーザＩＤとマーチャントＩＤとを含む第２リクエストを備える、請求項３５に記載のシステム。
【請求項３７】
前記第１リクエストがセキュリティ・クッキーを含む、請求項３６に記載のシステム。
【請求項３８】
前記プロセッサが、前記要求がセキュリティ・クッキーを含むかどうかの判定を行うソフトウェアと接続して更に実行可能である、請求項３４に記載のシステム。
【請求項３９】
前記コンピュータコードが、前記インターネットブラウザにより行われるナビゲーションの行き先を示す個々のインターネットサイトのインターネットアドレスをインターセプトすることにより、前記ブラウザの前記インターネット・ナビゲーションをモニタする、請求項３１に記載のシステム。
【請求項４０】
前記コンピュータコードが、マーチャント・ウェブサイトがサポートされたマーチャント・ウェブサイトであるかどうかを判定する、請求項３９に記載のシステム。
【請求項４１】
前記サーバがセキュリティ保護サーバである、請求項３１に記載のシステム。
【請求項４２】
前記プロセッサが、
ユーザから第１リクエストを受け取り、
前記第１リクエストがセキュリティ要求であるかどうかを判定し、
前記第１リクエストがセキュリティ要求であれば、前記ユーザへ応答を伝送し、
前記第１リクエストがセキュリティ要求でなければ、前記インターネットブラウザにより表示するために、セキュリティ保護を施したログイン・ウェブページを前記ユーザへ伝送する
ソフトウェアと接続して更に実行可能である、請求項３２に記載のシステム。
【請求項４３】
前記プロセッサが、前記第１リクエストがセキュリティ・クッキーを含むかどうかを判定するソフトウェアと接続して更に実行可能である、請求項４２に記載のシステム。
【請求項４４】
前記プロセッサが、
ユーザ・クリデンシャルを受け取り、
前記ユーザ・クリデンシャルを前記ユーザへ伝送する
ソフトウェアと接続して更に実行可能である、請求項４２に記載のシステム。
【請求項４５】
前記ユーザ・クリデンシャルがサーバに格納され、
前記ユーザ・クリデンシャルがログインＩＤとパスワードのうちの１以上のものであり、
前記ユーザ・クリデンシャルがマーチャントおよび前記マーチャントのウェブサイト固有のものである、
請求項４４に記載のシステム。
【請求項４６】
前記第２リクエストがユーザＩＤとマーチャントＩＤのうちの少なくとも一方を含む、請求項４４に記載のシステム。
【請求項４７】
前記ユーザ・クリデンシャルが前記選択されたマーチャント用のマーチャント・ルール・ファイルを含む、請求項４５に記載のシステム。
【請求項４８】
インターネットブラウザによりコンピュータ・ディスプレイに表示可能なインターネットブラウザ・インターフェイスを制御する方法であって、前記インターネットブラウザによって、前記コンピュータのユーザおよびインターネットブラウザがインターネットにアクセスし、インターネットのナビゲーションを行い、１以上のインターネットサイトからの１以上のウェブページを受け取り、所定のインターネットサイトからのウェブページの表示を含むウェブページの表示を前記コンピュータ・ディスプレイで行う事が出来るようにする事が可能であり、前記インターネットブラウザが、前記コンピュータインターネットブラウザの前記ユーザへ所定の機能を提供する少なくとも１つのツールバーボタンを有する少なくとも１つのインターネットブラウザ・ツールバーを有し、前記方法が、
（ａ）前記所定のインターネットサイトで、前記インターネットブラウザ・インターフェイスを制御するプログラムへのアクセスを提供するステップと、
（ｂ）前記ユーザが、前記インターネットブラウザ・インターフェイスの一部として追加機能を利用出来るようにするユーザツールバーを表示するためのファイルを前記所定のインターネットサイトによりダウンロード出来るようにし、それによって、一度前記ユーザツールバーが表示されると、前記インターネットブラウザにより行われるナビゲーションの行き先を示す前記インターネットサイトに関係無く、前記ユーザツールバーが表示された状態となり、前記追加機能が前記ユーザに利用可能な状態となるようにするステップと、
を備え
前記ファイルが、ユーザデータを利用して、前記ウェブサイトに前記ユーザを自動的にログインする自動ログイン機能を前記ブラウザに追加する、
方法。
【請求項４９】
前記ツールバーがインターフェイス・オブジェクトを含み、さらに、前記ユーザツールバーがユーザ選択機能を提供するようにユーザによってカスタマイズする事が出来る、請求項４８に記載の方法。
【請求項５０】
前記ファイルがアクティブＸコントロールを備える、請求項４８に記載の方法。
【請求項５１】
前記ファイルがプラグインを備える、請求項４８に記載の方法。
【請求項５２】
前記インターフェイス・オブジェクトがツールバーボタンである、請求項４９に記載の方法。
【請求項５３】
前記インターフェイス・オブジェクトが、探索が開始された時点で前記ブラウザを介して前記コンピュータが接続された接続先の前記インターネットサイトに関係無く、前記所定のインターネットサイトで前記ユーザが前記探索を開始出来るようにするサーチウィンドウである、請求項４９に記載の方法。
【請求項５４】
前記所定のインターネットサイトが、前記コンピュータとインターネットブラウザの前記ユーザを含む複数のユーザ用のユーザ固有情報を保持し、
前記方法が、前記所定のインターネットサイトにより前記ユーザツールバーの全部または一部を定義するための前記コンピュータとインターネットブラウザの前記ユーザ固有情報をダウンロード可能にするステップを更に備え、
前記ユーザツールバーの表示の全部または一部が、前記所定のインターネットサイトによりダウンロードされた前記コンピュータとインターネットブラウザの前記ユーザに固有の情報に依存する、請求項４８に記載の方法。
【請求項５５】
前記所定のインターネットサイトにより、前記ユーザツールバーの全部または一部を定義するための前記コンピュータとインターネットブラウザの前記ユーザ固有の追加情報をダウンロード可能にするステップを更に備え、
前記ユーザツールバーの表示の全部または一部が、前記ダウンロードされた情報に依存する、請求項５４に記載の方法。
【請求項５６】
インターネットブラウザによりコンピュータ・ディスプレイに表示可能なインターネットブラウザ・インターフェイスであって、
前記インターネットブラウザは、前記コンピュータと、所定のインターネットサイトを含む１以上のインターネットサイトとの間での接続を簡便化し、
前記インターネットブラウザは前記コンピュータとインターネットブラウザのユーザに利用可能な所定の機能を有する少なくとも１つのインターネットブラウザ・ツールバーを更に有し、
前記インターネットブラウザは、前記所定のインターネットサイトからのウェブページの表示を含む、前記１以上のインターネットサイトからの１以上のウェブページの前記コンピュータ・ディスプレイによる表示を簡便化し、
前記インターネットブラウザが前記インターネットブラウザを介して前記コンピュータが接続されている接続先のインターネットサイトに関係無く起動される際に、前記インターネットブラウザ・インターフェイスが、前記インターネットブラウザ・インターフェイスの一部として、かつ、前記インターネットブラウザ・ツールバーと共に表示されるユーザツールバーを備え、
前記ユーザツールバーは、前記インターネットブラウザ・インターフェイスの一部として追加機能を前記ユーザに対して利用可能にし、それによって、一度前記ユーザツールバーが表示されると、前記インターネットブラウザにより行われるナビゲーションの行き先を示す前記インターネットサイトに関係無く、前記ユーザツールバーが表示された状態となり、前記追加機能が前記ユーザに利用可能な状態となるようにし、
前記追加機能が、ユーザデータを利用して前記ウェブサイトへ前記ユーザを自動的にログインする自動ログイン機能を前記ブラウザに追加する、
インターネットブラウザ・インターフェイス。
【請求項５７】
前記ユーザツールバーが、ユーザによってカスタマイズ可能なインターフェイス・オブジェクトを備える、請求項５６に記載のインターネットブラウザ・インターフェイス。
【請求項５８】
前記インターフェイス・オブジェクトがツールバーボタンである、請求項５７に記載のインターネットブラウザ・インターフェイス。
【請求項５９】
前記インターフェイス・オブジェクトが、探索が開始された時点で前記インターネットブラウザを介して前記コンピュータが接続された接続先の前記インターネットサイトに関係無く、前記所定のインターネットサイトで前記ユーザが前記探索を開始出来るようにするサーチウィンドウである、請求項５７に記載のインターネットブラウザ・インターフェイス。
【請求項６０】
前記インターフェイス・オブジェクトが、前記インターフェイス・オブジェクトのユーザによるカスタマイズを可能にするアクティブＸコントロールを備える、請求項５７に記載のインターネットブラウザ・インターフェイス。
【請求項６１】
前記インターフェイス・オブジェクトが、前記インターフェイス・オブジェクトのユーザによるカスタマイズを可能にするプラグイン制御機能を備える、請求項５７に記載のインターネットブラウザ・インターフェイス。
【請求項６２】
前記所定のインターネットサイトが、前記コンピュータとインターネットブラウザの前記ユーザを含む複数のユーザ用のユーザ固有情報を保持し、
前記インターネットブラウザが最初に起動された時、前記インターフェイス・オブジェクトが、所定のインターネットサイトとの接続を前記インターネットブラウザに確立させ、次いで、前記コンピュータとインターネットブラウザの前記ユーザに固有の情報を前記所定のインターネットサイトから受け取り、
前記ユーザツールバーの全部または一部が、前記コンピュータとインターネットブラウザの前記ユーザに固有の、前記所定のインターネットサイトから受け取った前記情報に依存する、
請求項５７に記載のインターネットブラウザ・インターフェイス。
【請求項６３】
前記コンピュータとインターネットブラウザの前記ユーザに固有の追加情報を前記所定のインターネットサイトから受け取るために前記インターネットブラウザが起動されている間、前記インターフェイス・オブジェクトが、前記所定のインターネットサイトとの接続を前記インターネットブラウザに周期的に再設定させ、
前記ユーザツールバーの全部または一部が、前記受信情報と追加情報とに依存する、
請求項６２に記載のインターネットブラウザ・インターフェイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、米国特許出願番号０９／４２９，５８５（１９９９年１０月２８日出願）の一部継続、並びに、“インターネットブラウザを用いてオンライン・ショッピングを簡便化する方法およびシステム”という名称の米国特許出願番号１０／０１５，８１６（２００１年１１月１日出願）の一部継続であり、双方の出願とも現在係属中である。本願はまた米国仮出願特許第６０／３３１，５６５号（２００１年１１月１６日出願）に対して優先権を主張するものである。
【０００２】
本発明は、インターネットブラウザを用いてオンライン・ショッピングを簡便化する方法およびシステムに関する。
【背景技術】
【０００３】
インターネット（即ちワールドワイドウェブ、ウェブなど）にアクセスする時、インターネットユーザは、通常、例えば、ネットスケープ・ナビゲータ（商標）またはマイクロソフト・インターネットエクスプローラ（商標）などのようなブラウザ・ソフトウェア・プログラムをコンピュータを介して開始または起動させる。ブラウザ・プログラム（本願明細書ではブラウザとも呼ぶ）は、（例えばモデムとインターネット・サービス・プロバイダ（ＩＳＰ）を介して）インターネットとの物理リンクを確立し、所定の外観と機能を有するテキストインターフェイスとグラフィックユーザインターフェイス即ちブラウザ・インターフェイスを提供する。現在、この外観と機能のいずれもインターネットユーザにより大幅に変更する事は出来ない。従って、インターネットユーザが、ウェブサイトからウェブサイトへ、アプリケーションからアプリケーションへ、ＨＴＭＬ（ハイパーテキストマークアップ言語）ページからＨＴＭＬページへ移動しながらインターネットをナビゲートしている間、ブラウザ・インターフェイスは比較的静的である。
【０００４】
ブラウザ・インターフェイスの限定された制御は、例えば、ブラウザ・インターフェイスにファンクションボタンを追加出来る実行可能なソフトウェアプログラムを介して現在利用可能である。しかし、この付加機能は、ブラウザが最初起動されるときにブラウザ・インターフェイスに追加されるが、その後静的状態のままである。従って、ブラウザが起動された時や、ユーザがインターネットをナビゲートしている時、インターネットサイトから情報を動的にダウンロードし、前述したように変更されたブラウザ・インターフェイスを表示するブラウザが、ブラウザ自身をカスタマイズする事は出来ない。またこのような変更されたブラウザ・インターフェイスは、プラグインとインターフェイス用の種々のブラウザ・アプリケーション・プログラミング・インターフェイス（ＡＰＩ）へのアクセスに供する事は出来ない。従って、ブラウザ・インターフェイスを変更する方法を提供し、従来技術の上述の欠点を解決するブラウザ・インターフェイスを提供することが望ましい。
【０００５】
或るウェブサイトにアクセスする時、ユーザ固有のそのウェブサイトを介してデータへのアクセス許可を受ける前に、そのユーザがユーザＩＤとパスワードの入力をする必要がある場合がある。例えば、オンライン・ショッピング・ウェブサイト（但しこれに限定されるものではない）を設けているほとんどの金融機関、投資会社、その他のサービス提供団体などは、インターネットを介してユーザ（または団体のクライアント）が自分のアカウントへアクセスすることを許可している。種々の明白な理由のために、このようなアクセスはユーザアカウントの取得に先行してユーザが一定のユーザ固有情報を入力したことに基づくものである。例えば、オンライン・アカウントを設定するために、ユーザはユーザＩＤとパスワードなどのようなユーザを特定する一定のユーザ固有情報の提供を求められることがある。一度このユーザ固有情報が提供され、オンライン・アカウントが確立されると、ログイン処理の一部としてユーザ固有情報を提供することにより、ユーザだけが自分のオンライン・アカウントにアクセスすることが可能となる。
【０００６】
ユーザが、複数のウェブサイトを介してアクセス可能な、（複数の金融機関、投資会社および別のサービス提供団体と）複数のオンライン・アカウントを保持していることも稀ではない。複数のウェブサイトのそれぞれのウェブサイト用としてユーザが同じログインＩＤとパスワードを使用しているような場合があるが、このようなことは推奨されるものではない。実際、さらに望ましい推奨されるプラクティスとして、個々のオンライン・アカウント用の異なるログインＩＤとパスワードの使用が挙げられる。これによって、ユーザのオンライン・アカウントのセキュリティが高められ、他人がユーザのログインＩＤとパスワードのうちの一方をたまたま取得しても、当該アカウントに対するアクセス権限のないアクセスが行われる可能性は小さくなる。しかし、個々のオンライン・アカウントの異なるログインＩＤとパスワードとを使用することにより、個々のログインＩＤとパスワードとを少しも記憶できないというそれ自体の問題が提起されている。
【０００７】
個々のウェブサイトをナビゲートする必要なく、１以上のウェブサイトからユーザが情報の検索を行えることも望ましい。インターネットブラウザを用いて、簡単かつ迅速にこのような情報を取得出来ることがさらに望ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、インターネットブラウザ・インターフェイスに機能を追加する方法およびシステムを目的とするものである。本発明の１つの実施形態では、この追加機能によって、インターネットブラウザを用いてウェブサイトへの自動ログインを簡便化する事が出来る。別の実施形態では、上記追加された機能によって、ユーザは、インターネットブラウザを用いて種々のタスクの実行が可能となる。本発明を限定するものではないが、そのようなタスクの例として、１以上のウェブページのナビゲーションに必要な、あるいは、１以上のウェブページやウェブサイトからユーザ所望の情報を検索するのに必要な種々のタスクの実行が挙げられる。
【課題を解決するための手段】
【０００９】
本発明の実施形態によれば、ユーザのインターネットブラウザへ或る機能を追加するコンピュータコードがサーバからユーザ用コンピュータへ伝送される。従って、本発明は、ユーザによるボタンおよび／またはツールバーのブラウザ・インターフェイスへの選択的追加と、特性と機能のブラウザへの追加とを可能にすることにより、インターネットブラウザ・インターフェイスの動的制御を行うものである。好ましい実施形態では、このコンピュータコードによって、インターネットブラウザ・インターフェイスへインターフェイス・オブジェクトを選択的に追加することにより、ユーザがブラウザ・インターフェイスの変更を行うことが可能となる。インターフェイス・オブジェクトは、既存のツールバーの一部として、または、ブラウザ・インターフェイスに追加された新たなツールバーの一部としてブラウザ・インターフェイスに追加出来るボタンを備える事が出来る。このボタンによって、ユーザはマーチャント・リストにアクセス出来るようになり、ブラウザへの自動ログイン機能が追加される。マーチャント・リストへのアクセスによって、ユーザは、自動ログインのためのマーチャントの追加、マーチャントの編集およびマーチャントの選択を行うこと出来るようになる。一度このボタンがブラウザ・インターフェイスに追加されると、ユーザは追加されたボタン（本願明細書では一般に自動ログインボタンと呼ぶ）の上をクリックし、マーチャント・リストとして１以上のマーチャントを表示するプルダウンメニューへアクセスする事が出来る。マーチャント・リストのマーチャントのうちの一人を選択することにより、本発明に準拠するブラウザに追加された機能によりユーザは選択されたマーチャントへの自動ログインを行い、マーチャントのウェブサイトへナビゲートする。上記処理は、ユーザにとって実質的に透過的なプロセスであり、ユーザがマーチャント・リストからマーチャントを選択する処理が開始される。
【００１０】
本発明に準拠して提供される自動ログイン機能は、選択したマーチャントへの自動ログイン処理が終了する前に、ユーザにセキュリティ保護キーの入力を求めるセキュリティ保護を施したログイン処理を利用することが望ましい。ユーザが、特定のインターネットセッション中に予めセキュリティ保護キーを入力していない場合、あるいは、ユーザがセッションの最中にセキュリティ保護キーを入力して、セキュリティ保護キーの入力から所定の時間が経過した場合、ユーザは自動ログイン処理の一部としてセキュリティの入力を求められる。正しいセキュリティ保護キーが入力された後でしか自動ログイン処理は次のステップへは進まない。上述のセキュリティ保護を施したログイン処理はセキュリティ保護サーバとユーザ用コンピュータとにより実行する事が出来る。
【００１１】
インターネットセッション中、ユーザがセキュリティ保護処理を行ってセキュリティ保護サーバにログインした場合、セキュリティ保護サーバからセキュリティ・クッキーを伝送し、ユーザ用コンピュータに格納する事が出来る。セキュリティ・クッキーがユーザ用コンピュータに存在し、有効であれば（例えば有効時間が切れていなければ）、ユーザがマーチャント・リストからマーチャントを選択した時、セキュリティ・クッキーが、コンピュータコードにより、第１リクエストの一部としてセキュリティ保護サーバへ伝送される。セキュリティ保護サーバはこの要求を受け取り、この要求がセキュリティ・クッキーを含むかどうか、および、そのセキュリティ・クッキーが有効なものであるかどうかの判定を行う。セキュリティ・クッキーが第１リクエストの中に含まれていれば、セキュリティ保護サーバはコンピュータコードへ確認応答を伝送し、今度は、このコンピュータコードは、フィードサーバへ第２リクエストを伝送する。このフィードサーバは、設計の選択上の問題として、同じセキュリティ保護サーバであってもよいし、セキュリティ保護サーバとは異なるサーバであってもよい。この第２リクエストにはユーザＩＤとマーチャントＩＤとが含まれる。フィードサーバは、第２リクエストを受け取ると、ユーザＩＤとマーチャントＩＤをデータベースエントリと比較して、一致が存在するかどうかの判定を行う。一致が存在する場合、フィードサーバは別のサーバ（セキュリティ保護サーバであってもよい）へアクセス・クリデンシャル要求を伝送する。当該別のサーバには、複数のユーザに関連する複数のデータを含む、セキュリティ保護を施したデータベースが含まれている。個々のユーザのデータは、ユーザＩＤにより特定可能であり、複数のマーチャントのそれぞれのマーチャントのログインＩＤとパスワードとを含むことが可能であり、複数のマーチャントのそれぞれは対応するマーチャント・ルール・ファイルを有している。ログインＩＤ、パスワードおよびマーチャント・ルール・ファイルから成る個々のデータベースエントリを本願明細書ではアクセス・クリデンシャルと呼ぶ場合もある。一度ユーザが選択したマーチャントに対応するアクセス・クリデンシャルが特定されると、当該別のサーバはユーザ用コンピュータへアクセス・クリデンシャルを伝送する。このアクセス・クリデンシャルを受信すると、本発明に準拠して提供されるコンピュータコードによって、選択したマーチャントの所定のウェブページ（例えばログイン・ウェブページなど）へのナビゲーションがユーザのブラウザにより行われ、ユーザは当該ユーザのアカウントにログインし、アクセスするのに必要な任意のフィールドに自動的にポピュレートされる。再言するが、これらの処理はユーザにとって透過的な処理である。自動ログインが首尾よく終った場合、通常首尾よく終ったログインの後に続くマーチャント・ウェブページがマーチャントのサーバにより伝送され、ユーザのブラウザ・ウィンドウに表示される。
【００１２】
従って、マーチャント・リストからマーチャントを選択することにより、ユーザは、自動的にナビゲーションを行い、そのマーチャントのウェブページへログインし、ユーザのアカウントにアクセスすることが可能となる。
【００１３】
ここで用いられている、“制御する”および“制御可能な”という用語は、本発明を限定しない例として、インターネットブラウザ・インターフェイスの追加、削除および変更を意味するものである。本願明細書に記載されているように、インターネットブラウザ・インターフェイスは、ブラウザユーザに対して提示される視覚的あるいは聴覚的表示意味し、ユーザがブラウザとリアルタイムで交信を行う媒介手段となるものである。“カスタマイズする”という用語（およびこの用語の変形）は、本発明により提供される制御能力を記述するために本願明細書で使用出来るものである。ここで使用されているように、“動的に制御する”という用語（およびこの用語の変形）は、インターネットブラウザ・インターフェイス（即ちインターフェイス・オブジェクト）の一部分を表示し、これを選択的に追加し、周期的に変更または更新する事が出来る方法を意味する。
【００１４】
本願明細書で使用されているように、ブラウザには、その一般的な、当業で理解されている意味が与えられているが、ブラウザという用語は、一般に、ワールドワイドウェブまたはインターネットとのインターフェイスを提供するソフトウェアプログラムを意味する。ブラウザによって、インターネットユーザがインターネットをナビゲートすることを可能にし、種々のインターネットサイト（本願明細書ではウェブサイトとも呼ばれる）との接続を確立し、コンテンツ・プロバイダが種々のインターネットサイトに設けているウェブページの閲覧を可能とするものである。ブラウザは、特に、インターネットサイトを介してアクティブＸコントロールやプラグインを呼び出す事が出来るものである。ブラウザによって、インターネットユーザはインターネットサイト間をナビゲートする（ネットサーフィンを行う）事が出来る。ブラウザによってインターネットユーザとのブラウザ・インターフェイスが提供されるが、このブラウザ・インターフェイスのフォーマットはブラウザ・ソフトウェア・プログラムのプロバイダにより決定される。ブラウザ・インターフェイスによって、一般に、ブラウザがインターネットユーザに提供するレイアウト（色、大きさ、数および位置など）および機能が規定される。ブラウザ・インターフェイスによって、一般に、ブラウザ・インターフェイスの通常の大きさ、色、レイアウトを規定する第１の親ウィンドウと、ウィンドウ制御ボタン（最小化、クローズなど）とを備える事も出来る。ブラウザ・インターフェイスは、第２の親ウィンドウ（第１の親ウィンドウに対する子ウィンドウになる場合もある）、並びに、この第２の親ウィンドウに従属する１以上のウィンドウを備えることも可能である。第２の親ウィンドウおよびその従属するウィンドウは、例えば、様々な情報（広告、クーポン券、ニュース、ＨＴＭＬリンクなど）と、機能（ツールバー、プルダウンメニュー、プラグイン、アプリケーションなど）とをインターネットユーザへ提供する事が出来る。
【００１５】
本願明細書で使用されているように、アクティブＸコントロールとは、インターネット用デスクトップ・アプリケーションにリンクするためのツールを意味し、当業で理解されているマイクロソフト社の開発仕様に基づくものである。本願明細書で使用されている、プラグインとは、ネットスケープブラウザと共に使用するために開発された一種のプログラムを意味し、さらに大きなアプリケーション（ブラウザ・ソフトウェア・プログラムなど）を統合化して、そのさらに大きなプログラムにある特定の機能または能力を付加するプログラムである。本願明細書で述べる、上述のようなアクティブＸコントロールおよびプラグインはいずれのインターネットブラウザとも併用する事が出来る。
【００１６】
本願明細書で使用されているように、“インターネットサイト（またはウェブサイト）”という用語は、インターネットアドレスまたはＵＲＬ（ユニフォームまたはユニバーサルリソースロケータ）により規定されたインターネット上の位置を意味する。本願明細書で使用する、“インターネット・ウェブページ”という用語は、インターネットサイトで提供されるハイパーテキストマークアップ言語（ＨＴＭＬ）コマンドの集まりを意味し、これらのＨＴＭＬコマンドは、ブラウザを介してインターネットユーザのコンピュータ・ディスプレイに表示する事が出来るハイパーテキスト・ドキュメントを作成するためのテキスト、画像および機能に関するフォーマット情報を提供する。例えば、インターネットユーザは、ＵＲＬを入力してインターネットサイトとの接続を確立し、そのインターネットサイトは、ユーザのブラウザへＨＴＭＬコマンドを出力して、ユーザのコンピュータ・ディスプレイに当該インターネットサイトのウェブページを表示出来るようにする。ブラウザは、ウェブページに埋め込まれたＨＴＭＬコマンドを翻訳し、ＨＴＭＬコマンドを用いて、当該ウェブページ用のテキストおよび画像のフォーマットを行う。
【００１７】
本発明は、インターネットユーザ、インターネット・コンテンツ・プロバイダ、インターネット・サービス・プロバイダ（ＩＳＰ）に利益をもたらすものである。インターネットユーザに対して、本発明は、該ユーザのインターネットブラウザ・インターフェイスの動的制御またはカスタマイズを行う方法を提供するものである。インターネットユーザは、該ユーザがブラウザを用いてインターネットにアクセスする度に、ユーザが規定した情報および／または機能（本願明細書ではまとめてやはり情報と呼ぶ）がブラウザ・インターフェイスと共に表示させるようにブラウザ・インターフェイスをカスタマイズする事が出来る。例えば、ユーザは、アクティブＸコントロールとプラグインとを介して利用出来るようなブックマーク、住所録および電話帳、個人の財務情報、個人向けのニュースおよび各種機能を備える事が出来る。
【００１８】
さらに、インターネットユーザがコンテンツ・プロバイダのアカウントを持っていれば、ブラウザによりブラウザ・インターフェイスと共にそのユーザの固有アカウント情報を動的に表示することも可能となる。現在、インターネットユーザは、コンテンツ・プロバイダのインターネットサイトと接続されている間だけ、該ユーザの固有アカウント情報にアクセスする事が出来る。ユーザは、更新されたアカウント情報を受信するために、コンテンツ・プロバイダのサイトへ戻らなければならない。ユーザが一度そのインターネットサイトを出ると、アカウント情報はブラウザ・インターフェイスと共に表示されなくなる。本発明は、ブラウザ・インターフェイスを動的に制御する方法と、インターネットユーザが、ブラウザ・インターフェイスと共に表示を行い、そのユーザ固有の情報および／または機能を連続して更新することを可能にする動的に制御可能なブラウザ・インターフェイスとを提供する。
【００１９】
コンテンツ・プロバイダに対して、本発明は、ユーザがブラウザを用いてインターネットにアクセスする度に、（ブラウザを介して）このコンテンツ・プロバイダのインターネットサイトとの自動接続の確立を保証する。従って、インターネットユーザが（ブラウザアイコンを選択することなどにより）ブラウザを実行させるとすぐに、ブラウザは、当該ユーザのカスタマイズされたブラウザ・インターフェイス情報をロードするために、コンテンツ・プロバイダのインターネットサイトと自動的に接続を確立する。本発明は、ブラウザが起動状態の間、即ちユーザがネットサーフィンをしている間、周期的かつ自動的に、ユーザのブラウザをコンテンツ・プロバイダのインターネットサイトと接続する事も出来る。１つの実施形態では、コンテンツ・プロバイダは、ブラウザ・インターフェイスを制御するプログラムへのアクセスをインターネットユーザに提供する事が出来る。一度インターネットユーザが、そのユーザのブラウザ・インターフェイスをカスタマイズする制御プログラムにアクセスすると、ユーザがインターネットにアクセスする度に、そのユーザのブラウザにより、そのコンテンツ・プロバイダとの接続を自動的に確立する事が出来る。従って、ユーザがＵＲＬを入力した時にのみ（あるいは、別の方法で、例えばリンクやバナー広告を選択するような行動により接続を確立させるために積極的に行動する時に）、インターネットサイトとの接続を確立する現在利用可能なブラウザとは対照的に、本発明は、ブラウザが起動された時、インターネットユーザまたはブラウザ・ベンダのいずれかがブラウザに予めプログラムした選択ホームウェブページに関りなく、コンテンツ・プロバイダとの接続を自動的に確立する。一度その初期接続が確立されると、コンテンツ・プロバイダはインターネットユーザのコンピュータに対してユーザ固有情報および／または機能をロードして、そのユーザのブラウザ・インターフェイスと共に表示を行う事が出来る。
【００２０】
さらに、コンテンツ・プロバイダは、周期的にインターネットユーザのブラウザ・インターフェイス用に更新、新規のダウンロード、あるいは、情報および／または機能を伝送するために、ブラウザを当該コンテンツ・プロバイダのインターネットサイトと自動的に再接続させることが可能である。例えば、インターネットユーザがコンテンツ・プロバイダの電子メールサービスに申し込めば、たとえユーザがどこか別の場所で“サーフィン”していても、コンテンツ・プロバイダが受け取った当該インターネットユーザ用の電子メールメッセージをインターネットユーザへ自動的に伝送することが可能となる。ユーザのブラウザが、そのユーザのブラウザの起動時にコンテンツ・プロバイダのインターネットサイトとの接続を最初に確立する時、コンテンツ・プロバイダがインターネットユーザへ伝送する情報の中には、コンテンツ・プロバイダのインターネットサイトと周期的に再接続を行う命令が含まれている。従って、ユーザがアクセスするインターネットサイトの数に関係無く、また、ユーザが現在アクセスしている特定のインターネットサイトに関係無く、コンテンツ・プロバイダのインターネットサイトとの再接続がコンテンツ・プロバイダが定めた間隔で自動的に確立される。これらの再接続は、ユーザがコンテンツ・プロバイダから通知を受け取った（即ち新しいメールが着信した）ときを除いてインターネットユーザには透過的である。従って、インターネットユーザがネットサーフィンをしている時、ブラウザ・インターフェイスを動的に制御することが可能となる。ＩＳＰにとって、少なくともコンテンツ・プロバイダの場合と同程度の大きな利益がある。
【００２１】
最初、インターネットユーザ用のブラウザ・インターフェイスは、コンテンツ・プロバイダまたはＩＳＰが提供出来るソフトウェアプログラム、あるいは、ユーザのコンピュータで利用可能なソフトウェアプログラムを用いてカスタマイズする必要がある。本願明細書で以後、コンピュータコード、制御プログラムまたは制御を行うためのプログラム（およびその他の変名で）と呼ぶことにするこのソフトウェアプログラムによってユーザのブラウザが機能する態様が変更される。具体的には、上記制御プログラムはインターネットユーザのコンピュータでライブラリファイルのダウンロードまたは作成を行うものである。このライブラリファイルは、例えば、ブラウザ内に、シェル（または複数のシェル）を作成するダイナミックリンクライブラリ（ＤＬＬ）（ウィンドウズ・オペレーティングシステム用）であってもよい。また、上記シェル内に、アクティブＸコントロールやプラグインとしてブラウザ内に様々な情報および／または機能をロードしてもよい。このライブラリファイルには、本発明によりブラウザ・インターフェイスに追加されたインターフェイス・オブジェクトを規定するアクティブＸコントロールやプラグイン機能が含まれる。インターネットユーザがブラウザを開始即ち起動すると、このライブラリファイルが開かれ、そのファイル内に含まれるアクティブＸコントロールやプラグインコードはブラウザにより利用出来るようになり、ブラウザ・インターフェイスの中へ組み込まれ、これによって、インターフェイス・オブジェクトをブラウザ・インターフェイスと共に表示させる。ブラウザが起動されている限り、一般的にはユーザがネットサーフィンを行っている限り、ライブラリファイルは、従ってシェル（または複数のシェル）は開かれた状態のままとなる。従って、インターネットサイトからインターネットサイトへユーザが移動している時でも、シェル内にロードされる、ブラウザ・インターフェイスをカスタマイズするための情報および／または機能は起動状態のままとなる。本願明細書の文脈で使用される場合、“情報および機能”という用語は、ライブラリファイルに、または、任意の情報、データおよび／またはライブラリファイルの一部に含む事が出来るソフトウェアにより実行される機能を意味する。
【００２２】
ユーザがブラウザを最初に起動すると、ライブラリファイルはまた、コンテンツ・プロバイダのインターネットサイトとの接続をブラウザに確立させる。コンテンツ・プロバイダのインターネットサイトは、インターフェイス・オブジェクトに関連する情報および／または機能をユーザのコンピュータへロードして、ブラウザで使用し、また、ブラウザ・インターフェイスでの表示に使用する。コンテンツ・プロバイダがロードする情報および／または機能は、例えば、そのユーザがコンテンツ・プロバイダのアカウントを持っていれば、インターネットユーザ固有のものとする事が出来る。上記とは別に、コンテンツ・プロバイダは、例えば、インターネットユーザがコンテンツ・プロバイダのアカウントを持っていなければ（即ちゲストであれば）、一般的な情報および／または機能をロードしてもよい。
【００２３】
本発明は、処理中のサーバにおいてオブジェクトリンク＆組み込み（ＯＬＥ）を使用して、ブラウザ・インターフェイスの情報および／または機能の制御を行うものである。ライブラリファイルに含まれるアクティブＸコントロールまたはブラウザプラグイン（それぞれ、本願明細書ではブラウザ・インターフェイス・オーバーレイ（ＢＩＯ）ライブラリと呼ぶ）と共にアクティブＸコントロールやプラグインにより利用可能な任意の情報および／または機能を、本発明を利用して仮想的にブラウザ・インターフェイスに追加してもよい。このようにして、ライブラリファイル（ＢＩＯライブラリを介して）には、ブラウザ・インターフェイスのカスタマイズ、即ち、ブラウザ・インターフェイスの追加、削除および／または変更に必要なコードが含まれる。
【００２４】
一度、制御プログラムにアクセスし、当該ユーザのブラウザのハンドルをカスタマイズすれば、ブラウザが起動された時、カスタマイズされたブラウザ・インターフェイスが表示される。従来のブラウザ変更方法とは対照的に、本発明は、動的に制御することが可能な方法およびブラウザ・インターフェイスを提供する。更新または変更された情報および／または機能がブラウザへ伝送され、インターネットユーザがネットサーフィンを行っている間、および、ブラウザ・インターフェイスのカスタマイズされた情報および／又機能が維持されている間、ブラウザ・インターフェイスに上記情報および／または機能を表示する事が出来る。このようにして、インターネットユーザは、当該ユーザのブラウザ・インターフェイスで、いずれのインターネットサイトにいても、また、ユーザがブラウザを用いてネットサーフィンを行っている限り、株式相場、電子メール、ヘッドラインニュースなどのような最新情報を受け取る事が出来る。
【００２５】
本発明はまた、ショッピング・アシスタント・ボタンと機能とを提供するブラウザ・インターフェイスの変更によりオンライン・ショッピングを簡便化する方法およびシステムを提供するものである。本発明のこの実施形態に基づいて提供される変更ブラウザ・インターフェイスは、個々の買物客即ちユーザ用のウォレットを作成することによりオンライン・ショッピングを単純化するものである。このウォレットはセキュリティ保護処理を施したサーバのデータベースに格納され、ユーザが与えるセキュリティ保護キーでしか、そして、ユーザしかアクセスや、変更を行う事は出来ない。このウォレットには、サポートされたマーチャント・チェックアウトのウェブページへ直接ポートする事が出来るユーザ供給情報が含まれる。従って、ユーザがサポートされたマーチャントのウェブサイトでオンライン・ショッピングしていて、そのマーチャントから或る商品および／またはサービスの購入を希望する時、本発明は、ユーザのウォレットへのアクセスをユーザに提供して、そのウォレットの中に含まれているデータのポートを容易にし、迅速にかつ努力することなく、マーチャントのチェックアウト・ウェブページに設けられているマーチャントの注文用紙に記入を行うようにするものである。
【００２６】
本発明のさらに別の実施形態では、自動ログイン機能をインターネットブラウザに追加することが可能となる。自動ログインインターフェイス・オブジェクトをブラウザ・インターフェイスに追加するステップは、本発明の他の種々の実施形態に関して上述した場合と同じである。従って、当該ステップを本実施形態について繰り返す必要はない。自動ログインインターフェイス・オブジェクトは、本発明を限定しない例として、マーチャント・リストへのアクセス、および、マーチャント・リストの改訂、追加および／またはリストからの削除を行う能力、並びに、選択したマーチャント・ウェブサイトへ自動的にログインする能力などの種々の機能をブラウザに追加するものである。本願明細書では“マーチャントサイト”は本実施形態と関連して言及され、本発明は、ユーザが、オンライン・アカウントを確立することが可能ないずれのウェブサイトに対しても適用可能であることを付記しておく。ウェブサイトでは当該ウェブサイトを介してユーザのアカウントにアクセスするためのログインパスワードおよび／または他のユーザデータの入力がユーザに対して要求される場合がある。
【００２７】
本発明の他の目的および特徴は、添付図面と関連して考察する以下の詳細な説明から明らかになるであろう。しかし、これらの図面は単に例示を目的として作成されたものであり、本発明を限定するものとして作成されたものではなく、本発明の限定については添付の請求項を参照すべきである。
【００２８】
単に例示的なものである図面では、同じ参照符号はいくつかの図を通して同じ対応する要素を示すものとする。
【発明を実施するための最良の形態】
【００２９】
本発明は、インターネットブラウザを用いてウェブサイトへの自動ログインを容易に行うことを目的とするものである。本発明の一実施形態によれば、サーバから、ユーザのインターネットブラウザに或る機能を追加するユーザ用コンピュータへコンピュータコードが伝送される。これによって本発明は、ユーザがボタンおよび／またはツールバーをブラウザ・インターフェイスに選択的に追加出来るようにし、さらに、ブラウザに特徴と機能とを追加出来るようにすることにより、インターネットブラウザ・インターフェイスの動的制御を提供するものである。好ましい実施形態では、コンピュータコードによって、ユーザが、インターネットブラウザ・インターフェイスにインターフェイス・オブジェクトの選択的追加によりブラウザ・インターフェイスの変更を行う事が出来るようになる。インターフェイス・オブジェクトは、既存のツールバーの一部として、またはブラウザ・インターフェイスに追加された新たなツールバーの一部としてブラウザ・インターフェイスに追加出来るボタンを備えたものであってもよい。このボタンによって、ユーザはマーチャント・リストにアクセスする事が出来るようになり、さらに、ブラウザに自動ログイン機能が追加される。マーチャント・リストへのアクセスによって、ユーザは、自動ログイン用のマーチャントの追加、マーチャントの編集、および、マーチャントの選択を行う事が出来るようになる。一度ブラウザ・インターフェイスにボタンが追加されると、ユーザはこの追加されたボタン（本願明細書では広義に自動ログインボタンと呼ぶ）上をクリックして、マーチャント・リストとして１以上のマーチャントを表示するプルダウンメニューへアクセスする事が出来る。マーチャント・リストのマーチャントの１つを選択することにより、本発明に基づいてブラウザに追加された機能によって、ユーザは選択したマーチャントに自動的にログインされ、ユーザのブラウザはマーチャントのウェブサイトへナビゲートされる。当該処理はユーザにとって実質的に透過的な処理であり、ユーザがマーチャント・リストからマーチャントを選択すると共に開始される。
【００３０】
本発明はまた、ショッピング・アシスタント・ボタンおよび機能を提供するブラウザ・インターフェイスの変更によりオンライン・ショッピングを簡便化する方法およびシステムを提供するものである。本発明のこの実施形態に基づいて提供される変更済みブラウザ・インターフェイスは、個々の買物客即ちユーザ用のウォレットを作成することによりオンライン・ショッピングを単純化するものである。このウォレットはセキュリティ保護処理を施したサーバのデータベースに格納され、ユーザが与えるセキュリティ保護キーでしか、そして、ユーザしかアクセスや、変更を行う事は出来ない。このウォレットには、サポートされたマーチャント・チェックアウトのウェブページへ直接ポートすることが可能なユーザによる供給情報が含まれる。従って、ユーザが、サポートされたマーチャントのウェブサイトでオンライン・ショッピングをしていて、そのマーチャントから或る商品および／またはサービスの購入を希望する時、本発明は、自分のウォレットに対するアクセスをユーザに提供して、そのウォレットの中に含まれているデータのポートを容易にし、迅速にかつ努力することなく、マーチャントのチェックアウト・ウェブページに設けられたマーチャントの注文用紙への記入が行われるようにするものである。
【００３１】
次に図面を詳細に参照すると、図１０は、本発明を実現することが可能なインターネット９０と接続されたコンピュータ５０のブロック図である。コンピュータ５０は、コンピュータ５０の種々の装置間の情報の通信を容易にし、通信用インターフェイス６８を介して、コンピュータと外部装置とシステムとの間の通信を容易にする内部バス６４を備えている。バス６４と接続されたプロセッサ６６はコンピュータ５０内部の情報を処理する。コンピュータ５０は、プロセッサ６６から伝送された命令を受け取り、格納するための、バス６４と接続された、例えばランダムアクセスメモリ（ＲＡＭ）または別の等価な動的記憶素子などのようなメインメモリ６０を更に備えている。また、メインメモリ６０は、プロセッサ６６が命令を実行している間、変数やその他の中間情報を一時的に格納するために使用してもよい。また、リードオンリメモリ（ＲＯＭ）６２は、プロセッサ６６が使用する静的データと命令とを格納するためにバス６４と接続されている。本発明を限定しない例として、例えば、ディスプレイ５４（たとえばブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）など）、キーボードなどの入力装置５６、マウスやトラックボールなどのカーソル制御装置５８を含む種々の入出力装置がコンピュータ５０の一部として設けられている。例えば、磁気ディスクドライブと磁気ディスク、ＣＤ−ＲＯＭドライブとＣＤ−ＲＯＭ、または、別の等価な装置並びにデータ記録媒体などのデータ格納装置５２が、プロセッサ６６、メインメモリ６０、通信用インターフェイス６８と通信を行うためのバス６４と接続されている。格納装置５２は、好適にはオペレーティングシステム７０と、オペレーティングシステム７０に格納されたインターネットブラウザ用ソフトウェアプログラム７２（即ちブラウザ）とを格納することが望ましい。以下さらに詳細に論じるように、ライブラリファイル７４をデータ格納装置５２に格納してもよい。本願明細書で使用されている、“コンピュータ”という用語はその最も広義の解釈を有するものとして意図されるものであり、いずれの物理的サイズや構造、またはいずれのアーキテクチャの構成にも限定されるものではない。むしろ、本願明細書で用いられる“コンピュータ”という用語は、デジタルデータの伝送および／または受信能力、デジタルデータの格納および／または検索能力、デジタルデータの処理能力を有する任意の装置であって、例えば、インターネットなどネットワークと任意の態様で、また、任意の手段により接続可能な装置を意味するものとして使用されている。コンピュータは、任意のスタイル、大きさおよび構成のコンピュータであってもよく、限定を伴うことなく、サーバ、ワークステーション、デスクトップ、ラップトップ型、インターネット機器、ノートブック型、個人用情報機器（ＰＤＡ）、インターネットと接続される携帯電話、あるいは現在公知の、または今後開発される装置を含むものであってもよい。コンピュータは以下の構成要素の全部または一部を含むものであってもよい：ソフトウェア（オペレーティングシステム、アプリケーションプログラムなど）と接続して作動可能な中央演算処理装置（ＣＰＵまたはプロセッサ）、ハードディスクユニット（ＨＤＵ）、固定記憶装置（ＲＯＭなど）、一時メモリ（ＲＡＭなど）、取り外し可能データ格納装置（ＣＤ−ＲＯＭ、フロッピードライブなど）、入力装置（キーボード、マウス、トラックボールなど）、出力装置（モニタやディスプレイなど）およびＩ／Ｏ装置（モデム、赤外線送受信機、無線（セルラ）送受信機など）。リストされていない構成要素と併せて、コンピュータがこれら構成要素の全部または一部を含み得るものであることは当業者には公知である。
【００３２】
コンピュータ５０は、同軸ケーブル、銅線、光ファイバケーブルを含む（但しこれらに限定されるものではない）送信媒体を通して通信用インターフェイス６８を介してインターネット９０と接続する事が出来る。コンピュータ５０とインターネット９０との間の通信は無線やセルラ・インターフェイスを介してもよい。通信用インターフェイス６８は、コンテンツ・プロバイダ１００、２００により提供されるサーバコンピュータ（図示せず）などのコンピュータ５０と別の電子装置やシステム間との双方向通信を容易にする。
【００３３】
コンピュータ５０を使用するインターネットユーザ（図示せず）は、ブラウザ７２を起動させることによりインターネット９０へのアクセスを行う事が出来、これによって、インターネット・サービス・プロバイダ（ＩＳＰ）８０を介して、コンピュータ５０の通信用インターフェイス６８とコンテンツ・プロバイダ１００のインターネットサイト１３０との間の通信リンクが開かれる。ブラウザ７２は、ブラウザ・ベンダがブラウザ７２内に予め設定されたウィンドウ３０のレイアウト（色、大きさ、数、位置など）および機能とを有するブラウザ・インターフェイス２０（図１などを参照のこと）をコンピュータ・ディスプレイ５４に提供する。インターネット・コンテンツはコンピュータ５０へ伝送され、コンテンツ・プロバイダ１００ブラウザ・インターフェイス２０のコンテンツ・ウィンドウ３２に表示される。
【００３４】
本発明の一実施形態によれば、第１のインターネット・コンテンツ・プロバイダ１００は、ブラウザ７２とブラウザ・インターフェイス２０とを制御するためのプログラム１２０へのアクセスをインターネットユーザに提供することも可能である。ユーザが処理を実行すると、制御プログラム１２０により、例えば、ダイナミックリンクライブラリ（ＤＬＬ）などのようなライブラリファイル７４がインターネットユーザのコンピュータ５０のデータ格納装置５２にダウンロードされ、あるいは作成される。ライブラリファイル７４はアクティブＸコントロールやプラグイン機能を含むことが望ましい。その後、インターネットユーザがブラウザ７２を用いてインターネットにアクセスする時、ブラウザ７２はライブラリファイル７４を開き、好ましくはコンテンツ・プロバイダのインターネットサイト１３０との接続を自動的に確立することが望ましい。コンテンツ・プロバイダは、ブラウザ７２によりを確立された接続に応答して、ライブラリファイル７４により作成された、ブラウザ内で作動するシェルの中へ情報および／または機能データをロードする。例えば、ユーザがコンテンツ・プロバイダ１００のアカウントを持っていれば、カスタマイズされた情報および／または機能をライブラリファイル７４の中へロードしてもよい。ユーザがアカウントを持っていなければ、さらに一般化された情報および／または機能をロードしてもよい。
【００３５】
本発明の種々の実施形態によれば、本願でさらに詳細に説明するように、コンピュータ間での（サーバとユーザまたはクライアントコンピュータなどの間での）データ通信を行う事が出来る。本発明では、任意の現在公知のあるいは以後開発される媒体または方法を用いて、任意の媒体を用いる任意の方法で、このようなデータ通信（または送信／受信、ダウンロード／アップロードなど）を行う事が出来ることが想定されている。
【００３６】
ライブラリファイル７４は、本質的には、インターネットブラウザ７２とブラウザ・インターフェイス２０との制御を行うことが可能なアクティブＸコントロールやプラグインコードを含むブラウザ７２内の１つのシェル（または複数のシェル）を開くものである。アクティブＸコントロールやプラグインと共にロードされるとき、ライブラリファイル７４は、ブラウザ７４とブラウザ・インターフェイス２０の制御に利用する事が出来る関数、オブジェクト、データおよびその他のソフトウェアを含むことが望ましい。本願明細書ではこれらを広義に情報と呼ぶ。本発明は、インターネットユーザがインターネットサイト１３０からインターネットサイト２３０へ移動する時、ライブラリファイル７４（およびシェル）が閉じないことを保証するものである。これによって、インターネットユーザがアクティブＸコントロールやプラグインをロードしたインターネットサイトから切断し、別のインターネットサイトと接続した時でも、当該アクティブＸコントロールやプラグインを介して得られた情報および／または機能は失われない。
【００３７】
次に、図１を参照すると、それぞれのウィンドウがインターネットユーザに種々の機能を与える複数のウィンドウを持つ従来のインターネットブラウザ・インターフェイス２０が示される。ブラウザ・インターフェイス２０は、ブラウザ・インターフェイスの一般的な大きさ、色およびレイアウトを通常規定し、当該ウィンドウ３０用のウィンドウ制御ボタン２８（最少化する、閉じるなどを行う）を含む第１の親ウィンドウ３０を備える事が出来る。ブラウザ・インターフェイス２０は、第１の親ウィンドウ３０内に第２の親ウィンドウ３６（第１の親ウィンドウの子）、および、第２の親ウィンドウに従属する１以上のウィンドウ３８を更に備えることも可能である。第２の親ウィンドウ３６および子ウィンドウ３８は、一般に、インターネットにアクセスしたり、ナビゲートしたりする時、インターネットユーザを補助する情報および／または機能を規定する。例えば、第２の親３６およびその従属ウィンドウ３８は、ツールバー、プルダウンメニュー、プラグイン、アプリケーションを提供してもよい。
【００３８】
例えば、インターフェイス２０の（図中）上部に設けられた３つのウィンドウ３８は３つのツールバー２２を規定し、これらのツールバーには、例えばプルダウンメニュー、ファンクションボタン（停止、戻り、次へ、ホームなど）およびファンクションボタンとウィンドウとの組み合わせ（探索ボタンとウィンドウなど）のような種々のインターフェイス・コントロール２４を含むものであってもよい。最上部のツールバー２２は複数のプルダウンメニュー２４を提供し、中段のツールバー２２は複数のファンクションボタン２４を提供し、最下段のツールバー２２はプルダウンメニューおよびウィンドウ２６（ＵＲＬアドレスウィンドウ）を提供する。コンテンツ・ウィンドウ３２も、インターネット・コンテンツ・プロバイダ１００（図１０などを参照）からのコンテンツが表示出来るインターフェイス２０の一部として設けられる。インターネットユーザは、第２のツールバー２２に設けられた表示ツールバーオブジェクト２４（プルダウンメニュー）を用いて、下方の３つの（図中）ツールバー２２のうちのいずれかをオンとオフに切り替える事が出来る。しかし、インターネットユーザはここではブラウザ・インターフェイス２０を追加、削除あるいは他の方法で変更する事は出来ない。
【００３９】
本発明の種々の実施形態により構成されたインターネットブラウザ２０が図２〜図４に示される。図２では、ブラウザ・インターフェイス２０には、コンテンツ・プロバイダ１００によりライブラリファイル７４にロードされたアクティブＸコントロールやプラグインにより規定されるインターフェイス・オブジェクト４０が含まれる。インターフェイス・オブジェクト４０は、プルダウンメニュー４４を有し、ブラウザ７２が提供するインターフェイス・コントロール（即ちブラウザ・ツールバー・オブジェクト）２４と共にブラウザ・ツールバー２２に表示される。図３では、インターフェイス・オブジェクト４０は、ブラウザ・インターフェイス２０に別のウィンドウ４８として表示されたインターフェイス・オブジェクト・ツールバー４２とプルダウンメニュー４４とを有する。図４では、インターフェイス・オブジェクト４０は、ブラウザ・インターフェイス２０内の別の４８ウィンドウ内に表示された複数のプルダウンメニュー４４およびサーチウィンドウ４６を含むインターフェイス・ツールバー４２を備える。本発明の種々の実施形態によるインターフェイス・オブジェクト４０は、ブラウザを介して利用可能な任意のタイプの情報および／または機能を仮想的に備える事が出来る。従って、本発明を限定しない例として、インターフェイス・オブジェクト４０は、プルダウンメニューや、ツールバーおよびプルダウンメニューや、文字情報（例えば広告、クーポン券、新たなＨＴＭＬリンクなど）、文字および／または音声情報（同時に生じる音を伴うテキストによる広告など）や、文字、音声および／または画像（動画であるか否かを問わない）情報や、ビデオや、ビデオおよびオーディオや、オーディオなどを含むものであってもよい。
【００４０】
図２〜図４により示される本発明によるインターネットブラウザ・インターフェイス２０の種々の実施形態は単に本発明の例示であって、本発明を限定する例ではない。本願明細書に示す教示によりブラウザ・インターフェイス２０への変更が可能である。
【００４１】
次に図５を参照すると、本発明の一実施形態によるインターネットブラウザ・インターフェイス２０を制御する方法がこの図に示され、全体が５００として指定されている。ステップ５１０で、インターネットユーザは、インターネット・ウェブサイト１３０、ＩＳＰ８０またはユーザのコンピュータ５０を介して制御プログラム１２０にアクセスする。制御プログラム１２０は、インターネットユーザが処理を実行すると、さらに詳細に以下論じるように、ユーザのインターネットブラウザ・インターフェイス２０をその後制御する能力を当該ユーザに与えるものである。制御プログラム１２０は、ステップ５２０で、インターフェイス・オブジェクトを規定するアクティブＸコントロールやプラグインコードを含むインターネットユーザのコンピュータ５０に、ライブラリファイル７４のダウンロードや作成を行う。ステップ５３０と５４０に示されているように、インターネットユーザがブラウザ７２を開始即ち起動する度に、ライブラリファイル７４が開かれ、所定のインターネットのウェブサイト１１０との接続が自動的に確立される。このウェブサイト１１０は、インターフェイス・オブジェクト用のアクティブＸコントロールやプラグインコードをインターネットユーザのコンピュータ５０へ伝送するように好適に構築されている。開かれたライブラリファイル７４は、アクティブＸコントロールやプラグインが提供する機能をブラウザ・インターフェイス２０に追加する事が出来るブラウザ７０内にシェルを提供する。ブラウザ７２が閉じられるまで、ライブラリファイル７４とシェルのいずれも閉じない。ステップ５５０で、ブラウザ・インターフェイス２０に表示されるインターフェイス・オブジェクト４０が作成される。インターフェイス・オブジェクト４０の情報および／または機能は、アクティブＸコントロールやプラグインにより規定される。本発明の種々の実施形態によれば、インターフェイス・オブジェクト４０は、ステップ５６０に示されるように、ユーザがネットサーフィンを続けている限り、即ち、ブラウザ７２が起動されている限り、ブラウザ・インターフェイス２０と共にブラウザ７２により表示された状態のままになる。従って、本発明によりブラウザ７２およびブラウザ・インターフェイス２０に追加された機能は、インターネットユーザがネットサーフィンをしている間は失われることはない。
【００４２】
本発明は、図５を参照して概要を説明したようなブラウザ７２およびブラウザ・インターフェイス２０を制御する種々の実施形態を提供するものであり、これら実施形態のそれぞれについて以下詳細に説明する。
【００４３】
次に図６、続けて図１０を参照しながら、本発明によるブラウザ７２とブラウザ・インターフェイス２０とを制御し、これらを表示する方法を示す実施形態について全体を６００として次に説明を行う。本願明細書で解説するように、図６の目的のために、および、この図に向けられた以下の解説を目的として、ライブラリファイル７４がインターネットユーザのコンピュータ５０に予めダウンロードまたは作成されているものとする。ステップ６１０で、インターネットユーザはブラウザ７２を開始即ち起動し、インターネット９０へのアクセスを開始する。ステップ６２０で、ライブラリファイル７４が開かれ、ステップ６３０に示すように所定のコンテンツ・プロバイダとの接続が自動的に確立される。ＢＩＯライブラリのアクティブＸコントロールまたはプラグインコードにより規定された機能が、コンテンツ・プロバイダによりユーザのコンピュータ５０へ伝送されて、ブラウザ・インターフェイス２０に追加出来るインターフェイス・オブジェクト４０が作成される。ステップ６４０に示すように、インターフェイス・オブジェクト４０は、インターネットブラウザ・インターフェイス２０と共に表示される。インターフェイス・オブジェクト４０の機能は、アクティブＸコントロールまたはプラグインコードにより規定されているが、インターネットユーザがインターネット９０を巡回している間、ユーザが訪れたインターネットサイトの数や種類に関係無く、また、ユーザが、ブラウザ・ソフトウェア・プログラム７２を用いてインターネット９０にアクセスしている限り、インターネットブラウザ・インターフェイス２０と共に残っている。ステップ６５０に示すように、インターネットユーザが１つのインターネットサイトから別のインターネットサイトへ移動する時、本発明は、インターフェイス・オブジェクト４０が当該移動により現存しているかどうか、即ち、ステップ６５２に示すように、該オブジェクト４０が、ブラウザ・インターフェイス２０にブラウザ７２によりまだ表示されているかどうかの判定を行う。インターフェイス・オブジェクト４０がブラウザ・インターフェイス２０に表示されていなければ（即ち、ブラウザ・インターフェイス２０から削除されたか、他の理由により終了されていれば）、ステップ６６０に示すように、インターフェイス・オブジェクト４０は再描画される。インターフェイス・オブジェクト４０が１つのインターネットサイトから別のインターネットサイトへユーザの移動によっても現存して、ブラウザ・インターフェイス２０内に表示された状態のままであれば、ステップ６５４で、ブラウザ７２が操作可能な状態であるかどうかの判定も行われる。何故なら、ブラウザ７２が操作可能な状態にあれば、インターフェイス・オブジェクト４０はブラウザ・インターフェイス２０にのみ表示されるからである。ブラウザ７２が操作可能な状態でなければ、ステップ６７０に示すように、インターフェイス・オブジェクト４０は終了され、ライブラリファイル７４は閉じられる。ブラウザ７２が操作可能な状態のままであれば、本発明は、ステップ６５２で、インターフェイス・オブジェクト４０がブラウザ・インターフェイス２０と共に表示されることを保証し続ける。インターネットユーザがインターネットサイト間で移動している時、本発明はインターフェイス・オブジェクト４０の状態をモニタし、ユーザがインターネット９０を巡回している限り、インターフェイス・オブジェクト４０がブラウザ７２によりブラウザ・インターフェイス２０と共に表示されることを保証する。
【００４４】
図６に示される実施形態によれば、本発明は、ＢＩＯライブラリを初めに呼び出し、ユーザのコンピュータ５０へロードしたインターネット・ウェブサイト１３０からインターネットユーザが出るとき、ブラウザ７２がブラウザ・インターフェイス２０と共にインターフェイス・オブジェクト４０を表示することを保証するものである。例えば、ユーザがブラウザ７２を開始即ち起動した時、第１のコンテンツ・プロバイダ１００により保守管理される第１の所定のインターネットサイト１３０との接続が自動的に確立され、ＢＩＯライブラリがユーザのコンピュータ５０にロードされる。次いで、ＢＩＯライブラリにより提供される機能が、ライブラリファイル７４により作成されたシェルを介してブラウザ７２に利用可能になる。インターネットユーザが、第２のコンテンツ・プロバイダ２００により保守管理されている第２のインターネットサイト２３０と接続した時、インターフェイス・オブジェクト４０用の機能はブラウザ・インターフェイス２０に存在し続けることになる。本実施形態では、第１のインターネットサイト１３０とのリンクが終了した時、コンピュータ５０のブラウザ７２またはオペレーティングシステム７０が、ライブラリファイル７４のアンロードを行うことによりＢＩＯライブラリの機能を使用禁止にすることを本発明により防止するものである。
【００４５】
例えば、ブラウザ７２がインターネットサイト１３０と最初に接続した時、当該サイト１３０は、ライブラリファイル７４の中へロードされるＢＩＯライブラリとして、アクティブＸコントロールソフトウェアコードの形で機能情報をインターネットユーザのコンピュータ５０へ伝送する。もし、第１のインターネットサイト１３０との接続終了時に、ライブラリファイル７４がオペレーティングシステム７０またはブラウザ７２により、閉じるやアンロードのような明確な命令を受けていなければ、第１のインターネットサイト１３０との接続が閉じられた後であっても、ライブラリファイル７４はロードされた状態を保つことになり、ブラウザ・インターフェイス２０内のインターフェイス・オブジェクト４０用の所望の機能が提供されることになる。インターネットユーザが種々のインターネットサイト間を移動している間、ライブラリファイル７４がロードされたままの状態を保つことにより、ライブラリファイル７４の内部を除いて、（第１のインターネットサイト１３０によりインターネットユーザ５０へ伝送されるだけの）アクティブＸコントロールの外部のデータ、関数およびオブジェクトのロードを行うことが可能となる。ライブラリファイル７４がロードされたままの状態を保っている限り、ライブラリファイル７４で、および、アクティブＸコントロールの外部で作成されたいずれのデータやオブジェクトもロードされたままの状態となり、ブラウザ・インターフェイス２０内で機能し続けることになる。
【００４６】
ブラウザ７２が第１のインターネットサイト１３０と接続した後、かつ、その接続が終了する前に、サーフィンの間ライブラリファイル７４を開いた状態に保つことにより、グローバルオブジェクトＡ（オブジェクトＡ）が、呼び出し関数のヒープではなく、インターネットユーザのコンピュータ５０のプログラムのヒープに作成される。このようにして、グローバルオブジェクトは呼び出し関数の終了を生き延びることになる。Ｃ＋＋の新しい演算子を用いて、または、包括的宣言でグローバルオブジェクトを宣言することによりグローバルオブジェクトの作成を行う事が出来る。いずれの場合にせよ、グローバルオブジェクトはブラウザ７２と第１のインターネットサイト１３０との間の接続が終了しても存在し続けることになる。
【００４７】
このように規定されたグローバルオブジェクトは、第１のインターネットサイト１３０により提供されるアクティブＸコントロールが閉じた後、即ち第１のインターネットサイト１３０との初期接続が終了した後も、機能し続けることになる。一度グローバルオブジェクトが作成されると、このグローバルオブジェクトを用いてインターフェイスが作成される。当該インターフェイスは、例えば、機能の削除、置換および／またはブラウザ７２とブラウザ・インターフェイス２０への機能の追加を行うために機能する。このインターフェイスは、グローバルオブジェクトの一部として、あるいは、新たなインターフェイス・オブジェクト４０を割り当てるグローバルオブジェクトにより作成してもよい。例えば、ブラウザ・ウィンドウ３８内にインターフェイス・オブジェクトウィンドウ４８（図３と図４などを参照のこと）を作成すること等により、インターフェイス・オブジェクト４０を作成してもよい。上記とは別に、ブラウザ・インターフェイス２０は、例えば、ブラウザ・インターフェイス２０内にブラウザ・ツールバー２２またはブラウザ・ツールバー・オブジェクト２４の追加または変更等を行うことにより直接変更してもよい。さらに別の代替例として、図４に示されるブラウザ・インターフェイス２０から切り離されたオブジェクト・インターフェイス・ツールバー４２の作成がある。
【００４８】
さらに、ブラウザ７２を制御して、例えば、所定のインターネットサイト１３０との接続の確立をブラウザ７２に命令するのに用いるポインタが必要となる。このポインタを広範囲に格納することが望ましく、それによってブラウザ７２へコマンドを送信するライブラリファイル７４内の任意の関数またはオブジェクトにより上記ポインタのアクセスが可能となる。例えば、マイクロソフト・インターネットエクスプローラ（商標）では、IWebBrowser、IWebBrowser2またはIWebBrowserAppオブジェクトリンク＆組み込み（ＯＬＥ）インターフェイスコマンドを用いてポインタを作成する事が出来る。例えば、マイクロソフト・ファウンデーション・クラス（ＭＦＣ）、を利用して、COleControlクラスのGetClientSiteメンバーを使用し、第１のインターネットサイト１３０、即ちＢＩＯライブラリをロードしたインターネットサイトからポインタを検索するポインタを作成する事が出来る。GetClientSiteはブラウザ７２がＢＩＯライブラリと交信するためのエントリポイントとして機能する。前回のステップにより返されたIOleClientSiteクラスのGetContainerメンバーを用いてＢＩＯライブラリ用コンテナへのポインタを取得する事が出来る。ＢＩＯライブラリのコンテナは、アクティブＸコントロールをロードするコンテナである。インターネットブラウザ・インターフェイス２０は一般にブラウザ・ツールバー２２とコンテンツ・ウィンドウ３２とを含むいくつかの部分から構成される。ドキュメントオブジェクトは、インターネットユーザがアクセスし、ある特定のウェブページに現れる全てのデータを含む全てのウェブページ用としてブラウザ７２により作成される。ドキュメントオブジェクトはＢＩＯライブラリ用のコンテナでもある。従って、ドキュメントオブジェクトをＢＩＯライブラリのコンテナと呼ぶ場合もある。
【００４９】
前回のステップにより返されたIOleContainerクラスのQueryInterfaceメンバーを用いて、IServiceProviderインターフェイスへのポインタを取得する事が出来る。このポインタを用いて、ブラウザ７２が示す別のインターフェイスの所在位置を検知する事が出来る。最後に、ＢＩＯライブラリを呼び出したブラウザ７２により提供される固有インターフェイスに対応して、前回のステップにより返されたIServiceProviderクラスのQueryServiceメンバーを用いて、IWebBrowserApp、IWebBrowserまたはIWebBrowser2インターフェイスへのポインタを取得する事が出来る。
【００５０】
ある代替実施形態では、本発明を用いてブラウザ・ウィンドウ３０全体の変更を行う事が出来る。ブラウザ・ウィンドウ３０全体を変更する場合、インターフェイス・オブジェクト４０を既存のブラウザ・ウィンドウ３８の中へ統合化するのとは対照的に、変更したブラウザ・ウィンドウ３０用のクラス全体をサブクラス化したり、或いは、固有ブラウザ・ウィンドウ３８をサブクラス化したりすることが可能となる。ここで用いられている、ウィンドウ・フッキング（hooking a window）とも呼ばれる“ウィンドウのサブクラス化”という用語は、ユーザ規定ウィンドウ・メッセージ・ハンドリング・プロシージャを用いて、ウィンドウへ送信される全てのメッセージ処理と元のブラウザ・ウィンドウ・メッセージ・ハンドリング・プロシージャを置き換えることを意味する。例えば、ウィンドウはマイクロソフト・ファウンデーション・クラス（ＭＦＣ）ＣＷｎｄ：SubclassWindow ()関数を用いてサブクラス化する事が出来る。上記とは別に、GWL_WNDPROC引数（マイクロソフト・ウィンドウズ定数）と共にSetWindowLong関数（マイクロソフト・ウィンドウズ関数）呼び出しを用いて、ウィンドウをサブクラス化することも可能である。サブクラスのウィンドウ用の元のブラウザ・ウィンドウ・メッセージ・ハンドリング・プロシージャにSetWindowLong関数呼び出しにより返されたポインタを格納してもよい。これによって、ウィンドウ３０または３８へ渡される全てのメッセージをＢＩＯライブラリがインターセプトすることが可能となる。さらに、ＢＩＯライブラリは、ブラウザ７２から提供された、ボタン、メニューなどを含むインターフェイス・コントロール２４からのコマンド、または、本発明に準拠するＢＩＯライブラリにより追加されたインターフェイス・オブジェクト４０からのコマンドを翻訳することが可能となる。
【００５１】
ＢＩＯライブラリにより与えられるユーザ規定ウィンドウ・メッセージ・ハンドリング・プロシージャであって、元のブラウザ・ウィンドウ・メッセージ・ハンドリング・プロシージャを置き換える上記ユーザ規定ウィンドウ・メッセージ・ハンドリング・プロシージャは、ＢＩＯプロシージャ（BIO Procedure）と呼ばれる。ブラウザ７２に対してＢＩＯプロシージャを用いて、ブラウザ７２用として意図されたメッセージ（コマンドなど）をインターセプトし、変更することも可能である。あるいは置き換えまたは新たなメッセージ（インターフェイス・オブジェクト４０用メッセージハンドラなど）をＢＩＯプロシージャによりブラウザ７２へ伝送することも可能である。
【００５２】
本発明はまた、ブラウザ・インターフェイス２０からのインターフェイス・オブジェクト４０の削除を保証するものでもある。例えば、インターネットユーザが新たなウェブサイトにアクセスすると、インターネットブラウザ７２のなかにはブラウザ・インターフェイス２０全体を再描画するものもある。ユーザが行う上記のようなインターネットでの移動に従いながらグローバルオブジェクトがまだ機能可能な間、インターフェイス・オブジェクト４０がブラウザ・インターフェイス２０から削除される結果、インターフェイス・オブジェクト４０はブラウザ・インターフェイス２０により表示されなくなる。このような事態が生じるのを防ぐために、ブラウザ・インターフェイス２０をリペイントするブラウザ７２からのメッセージをＢＩＯプロシージャによりインターセプトすることが可能であり、ブラウザ・インターフェイス２０が再描された直後にインターフェイス・オブジェクト４０を再描画することが可能となる。上記とは別に、ブラウザ・インターフェイス２０におけるインターフェイス・オブジェクト４０の存在を周期的にテストすることが可能であり、インターフェイス・オブジェクト４０が存在しなければ、ブラウザ・インターフェイス２０内にインターフェイス・オブジェクト４０を再描画することが可能となる。ほぼ１秒未満の間隔でこのような周期的テストを行うことが望ましい。
【００５３】
上述の実施形態の一例（図６に図示）として、アクティブＸコントロールがＢＩＯライブラリとしてロードされ、メニュー項目（および機能）がブラウザ・インターフェイス２０に追加される。本発明は、新たなグローバルオブジェクトを動的に作成するアクティブＸコントロールを作成するものであり、この新たなグローバルオブジェクトによって、ブラウザ・インターフェイス２０に追加すべき所望の機能を備えた新たなメニューオブジェクト（このオブジェクトはインターフェイス・オブジェクト４０であってもよい）が作成される。命令AfxGetMainWnd ()- GetMenu ()- AppendMenu ()を用いてメニューオブジェクト４０をブラウザ・インターフェイス２０に追加することも可能である。この場合、ブラウザ・インターフェイス２０の追加メニューはメニューオブジェクト４０を指示するポップアップメニューを含むことになる。次いで、ブラウザ・インターフェイス・ウィンドウがサブクラス化され、このブラウザ・インターフェイス・ウィンドウにより、ＢＩＯプロシージャにより処理されたメニューオブジェクト４０用としてメッセージが処理され、ブラウザ・インターフェイス２０用のメッセージはブラウザ７２用メッセージハンドラへ渡される。インターネットユーザが第１のインターネットサイト１３０から切断する（アクティブＸコントロールを含むウェブページから出る）と、アクティブＸコントロールは閉じることになるが、グローバルオブジェクトはプログラムのヒープ（program heap）内に残り、ブラウザ・インターフェイス２０へ所望の機能を提供し続ける。
【００５４】
インターフェイス・オブジェクト４０が追加されるブラウザ・ウィンドウをサブクラス化する代わりに、オブジェクトＡまたはその子孫のうちの１つは、インターフェイス・オブジェクト４０の所有者である状態を保持することが可能である。次いで、インターフェイス・オブジェクト４０用のメッセージハンドラを作成する事が出来る。例えば、マイクロソフト・ファウンデーション・クラスを用いて、オブジェクトＡまたはその子孫のうちの１つになるようにセットするということを除いて、インターフェイス・オブジェクト４０の所有者が、上述の本発明の実施形態に準拠するブラウザ・ツールバー２２にインターフェイス・オブジェクト４０を追加する事が出来る。
【００５５】
次に図７から図１０までを続けて参照しながら、本発明によるブラウザ・インターフェイス２０を制御し、表示する方法（７００として全体を示す）、の別の実施形態について説明を行う。本願明細書に記載のように、図７の目的として、また、図７へ向けられる以下の説明のために、ライブラリファイル７４がインターネットユーザのコンピュータ５０に予め作成されている。ステップ７１０で、インターネットユーザはブラウザ７２を開始即ち起動して、インターネット９０にアクセスする。ステップ７２０で、ライブラリファイル７４がユーザのコンピュータ５０で開かれ、ステップ７３０に示されるように所定のインターネットサイト１３０との接続が自動的に確立される。ステップ７４０で、ＢＩＯライブラリのアクティブＸコントロールまたはプラグインコードにより規定された機能が、コンテンツ・プロバイダによりユーザのコンピュータ５０へ伝送されて、インターフェイス・オブジェクト４０の表示を制御する連続ループを用いて、ブラウザ・インターフェイス２０で表示出来るインターフェイス・オブジェクト４０が作成される。連続ループの終了時にインターフェイス・オブジェクト４０を削除する（即ちその機能を終了させる）だけでよい。アクティブＸコントロールまたはプラグインコードにより規定されているようなインターフェイス・オブジェクト４０の機能は、ユーザが訪れたインターネット・ウェブサイトの数やタイプに関係無く、また、インターネットユーザがブラウザ・ソフトウェア・プログラムを用いてインターネットにアクセスしている限り、そして、ブラウザ７２が起動状態のままである限り、インターネットユーザがインターネット９０を巡回する時のインターネットブラウザ・インターフェイス２０の場合の状態のままである。インターネットユーザが１つのウェブサイトから別のウェブサイトへ移動する時、ステップ７５０に示すように、本発明は、インターフェイス・オブジェクト４０がその移動により現存しているかどうかの判定、即ち、ステップ７５２に示すように、上記オブジェクト４０がブラウザ・インターフェイス２０にまだ表示されているかどうかの判定を行うものである。インターフェイス・オブジェクト４０がブラウザ７２によりブラウザ・インターフェイス２０に表示されていなければ、ステップ７６０に示すように、インターフェイス・オブジェクト４０は再描画される。インターフェイス・オブジェクト４０が１つのウェブサイトから別のウェブサイトへユーザの移動を生き延びて、ブラウザ・インターフェイス２０に表示された状態のままであれば、ステップ７５４で、ブラウザ７２が操作可能な状態であるかどうかの判定も行われる。何故なら、ブラウザ７２が操作可能な状態にあれば、インターフェイス・オブジェクト４０はブラウザ７２によりブラウザ・インターフェイス２０のみに表示されるからである。ブラウザ７２が起動していなければ、ステップ７７０に示すように、インターフェイス・オブジェクト４０は終了し、ライブラリファイル７４は閉じられる。ブラウザ７２が操作可能な状態のままであれば、本発明は、ステップ７５６で、連続ループが終了しているかどうかの判定を行う。ループが終了していれば、ステップ７７０に示すように、インターフェイス・オブジェクト４０も終了する。ステップ７５２に示すように、ループがまだ処理を実行していれば、本発明は、インターフェイス・オブジェクト４０がブラウザ・インターフェイス２０にまだ表示されているかどうかの判定を行う。
【００５６】
図７に示される本発明の実施形態では、たとえオペレーティングシステム７０またはブラウザ７２がライブラリファイル７４のアンロードまたは終了を行う命令を生成しても、（アクティブＸコントロールコードが中でロードされる）ライブラリファイル７４の処理をフリーズさせることによりアクティブＸコントロールのアンロードを防止するようにするものである。ライブラリファイル７４がフリーズし、アンロードを終了させなくすることに起因して、アクティブＸコントロールが作成したライブラリファイル７４の内部のデータ、関数およびオブジェクトの全ては、ライブラリファイル７４がアンロード命令を受けた後も存在し、機能し続ける。
【００５７】
いくつかのオペレーティングシステム７０および／またはブラウザ７２では、アクティブＸコントロールがもうインターネットサイトに存在しなくなったとき、ＢＩＯライブラリは閉じられる。このことは、図１０のインターネットサイト１３０などの、アクティブＸコントロールを持つ１つのインターネットサイトから、図１０のインターネットサイト２３０などの、アクティブＸコントロールを持たない別のインターネットサイトへインターネットユーザが移動する時生じる場合がある。アクティブＸコントロールが存在しないとき、インターフェイス・オブジェクト４０の作動の継続を可能にするために、ＢＩＯライブラリ（およびライブラリファイル７４）が閉じないようにする必要がある。
【００５８】
これを達成するために、ブラウザ７２の制御に用いるポインタが作成される。このポインタはグローバルに格納することが望ましく、それによってブラウザ７２へコマンドを送信する必要があるライブラリファイル７４内の任意の関数またはオブジェクトにより上記ポインタのアクセスが可能となる。例えば、マイクロソフト・インターネットエクスプローラ（商標）では、IWebBrowser、IWebBrowser２またはIWebBrowserAppＯＬＥインターフェイスコマンドを用いてポインタを作成する事が出来る。マイクロソフト・ファウンデーション・クラス（ＭＦＣ）を利用してこれを行うために、（ＢＩＯライブラリとの交信に用いる事が出来る）COleControlクラスのGetClientSiteメンバーを用いて、ＢＩＯライブラリのインターネットサイト、即ち、アクティブＸコントロールを行うそのインターネットサイトへのポインタの検索を行う事が出来る。前回のステップにより返されたIOleClientSiteクラスのGetContainerメンバーを用いて、ＢＩＯライブラリ用コンテナへのポインタを取得する事が出来る。前回のステップにより返されたIOleContainerクラスのQueryInterfaceメンバーを用いて、IServiceProviderインターフェイスへのポインタを取得する事が出来る。IServiceProviderインターフェイスを用いて、ブラウザ７２が示す別のインターフェイスのうちのいずれでも容易に見つける事が出来る。ＢＩＯライブラリを呼び出したブラウザ７２のバージョンにより示されるインターフェイスに応じて、前回のステップにより返されたIServiceProviderクラスのQueryServiceメンバーを用いて、IWebBrowserApp、IWebBrowserまたはIWebBrowser２インターフェイスへのポインタを取得する事が出来る。
【００５９】
ライブラリファイル７４が閉じないようにするために、ライブラリファイルの動作は停止される。ライブラリファイル７４の処理のフリーズまたは停止を行うために、ＢＩＯライブラリがアンロードされた時にのみ終了する連続するプログラムループを作成し、処理を実行することも可能である。その時点でプログラムループはメッセージキューのポンピングも行う。このプログラムループは、本願明細書ではメッセージポンプと呼ばれ、ループ内のPeekMessage、GetMessage、TranslateMessageおよびDispatchMessageコマンドを用いてこのプログラムループを作成することが可能である。メッセージポンプを実行する例示のＣ＋＋コードを以下に示す：
【００６０】
【表１】
2005508047.tif 000003
【００６１】
但し、m_Continueは停止時点をループに命令するのに用いる論理変数であり、PeekMessage, GetMessage, TranslateMessage, and DispatchMessageは全てのウィンドウズ関数である。m_Continueが偽ならば、ループは終了し、メッセージポンプを終了させる。ｍｓｇ引数はウィンドウズＭＳＧ構造に対する基準値である。
【００６２】
メッセージポンプが好適に作動する方法として、いずれかのPeekMessage関数を用いてメッセージキュー内で待機しているいずれかのメッセージがあるかどうかを調べるためにチェックを行う方法が挙げられる。メッセージが存在すれば、メッセージポンプは、GetMessage関数を用いてメッセージキューからメッセージを取得し、TranslateMessage関数を用いてバーチャル・キーメッセージからこのメッセージを変換し、キャラクタ・メッセージに変える。最後に、メッセージポンプは、DispatchMessage関数を用いてメッセージを受け取るようになっている初期のウィンドウ・メッセージ・ハンドリング・プロシージャへメッセージを送信する。
【００６３】
オペレーティングシステム７０の組み込まれた能力を利用して、メッセージキューをポンプするメッセージポンプを構成することも可能である。例えば、ＭＦＣコマンドCWnd:: MessageBox ( "マイモーダル",MB_OK)などのコマンドを用いるモ―ダル・ダイアログ・ボックスやメッセージボックスはこの目的を果たすのに十分に役立つものとなり、さらに、このボックスはライブラリファイル７４の処理のフリーズや停止を行うために利用される。
【００６４】
メッセージポンプが連続ループ処理を実行している限り、インターネットユーザが別のインターネットサイトをアクセスしている時でもアクティブＸコントロールが終了することはない。
【００６５】
図７により示される本発明の実施形態は、（例えばサブクラス化、メッセージ処理などの場合）図６の上述の実施形態と同様に実施される。
【００６６】
上述の実施形態（図６と図７）の双方の場合、必要というわけではないが、インターフェイス・オブジェクト４０用の出口関数を設けて、オブジェクトＡとその子孫の全てを閉じるようにすることが望ましい。出口関数を呼び出すための実施可能な例示シナリオには、ＢＩＯプロシージャ内のブラウザ・ウィンドウを閉じるためにメッセージをインターセプトするステップや、アクティブＸコントロールを終了させるステップが含まれる。
【００６７】
次に図８を参照すると、本発明の方法のさらに別の実施形態が示され、その全体が８００として指定されている。図８の目的として、また、図８へ向けられる以下の説明のために、ライブラリファイル７４がインターネットユーザのコンピュータ５０に予め作成されている。ステップ８１０で、インターネットユーザはブラウザ７２を開始即ち起動して、インターネット９０にアクセスする。ステップ８２０で、ライブラリファイル７４がユーザのコンピュータ５０で開かれ、ステップ８３０に示されるように、所定のインターネットサイト１３０（図１０などを参照のこと）との接続が自動的に確立される。ステップ８３２で、ブラウザ７２により提供される初期のブラウザ・インターフェイスの複製である新たなブラウザ・インターフェイスが作成される。ステップ８４０で、プラグインの機能が最初にロードされた元のブラウザ・インターフェイスを表す機能ウィンドウが作成される。
【００６８】
本発明のこの実施形態に準拠する機能ウィンドウの作成ステップが図８ａに示され、全体が８４０として指定されている。ステップ８４２で、最初のブラウザ・インターフェイス・ウィンドウ用のハンドルが特定される。最初のブラウザ・インターフェイス・ウィンドウ（現在、機能ウィンドウである）は、ステップ８４４で隠し状態および／または使用禁止の状態にされているため閉じる事は出来ない。これを閉じれば、ＢＩＯライブラリをクラッシュさせることになる。ステップ８４６で、ブラウザ７２の制御に用いるポインタが作成される。最後に、ステップ８４８で、インターネットを巡回するためにインターネットユーザが使用出来る新たなブラウザ・インターフェイス・ウィンドウが作成される。
【００６９】
図８を再び参照すると、ステップ８５０から始めて、制御の対象とする任意のブラウザ・ウィンドウ、または、ブラウザが使用する任意のウィンドウの第１のサブクラス化、次いで、以下さらに詳細に説明するようなウィンドウの追加、削除および／または変更により、今度はブラウザ・インターフェイスの制御を行うことが可能となる。元のブラウザ・ウィンドウ・メッセージ・ハンドリング・プロシージャは（上記で規定したように）ＢＩＯプロシージャにより置き換えられる。ステップ８６０で、本発明は、いずれかの新たなブラウザ・ウィンドウ（即ち予めサブクラス化されていない可能性のあるウィンドウ、または、本発明に準拠して制御されていない可能性があるウィンドウ）が開かれているかどうかの判定を行う。新たなウィンドウが開かれていれば、本発明は、ステップ８７０で、インターフェイス・オブジェクト４０をこれらの新たなウィンドウに追加すべきかどうかの判定を行う。新たなウィンドウが開かれていなければ、本発明は、ステップ８８０で示すように、インターネットユーザがブラウザ７２を閉じることを望んでいるかどうかの判定を行う。望んでいれば、本発明は、ステップ８９０で、機能ウィンドウを含む全てのブラウザ・ウィンドウを閉じる。ユーザがブラウザ７２を閉じることを望んでいなければ、ステップ８８０で判定されるように、本発明はステップ８６０へ戻り、新たなブラウザ・ウィンドウが開かれているかどうかの判定を再び行う。
【００７０】
図８、図８ａおよび図１０を続けて参照しながら、上述の本発明の実施形態についてさらに詳細に解説することにする。インターネットサイト１３０を介してコンテンツ・プロバイダ１００によりアクティブＸコントロールがロードされると、一般に、ブラウザ７２によるそのウェブサイト１３０との接続の確立とアクティブＸコントロールの呼び出しとに応答して、ユーザのコンピュータに配置されているライブラリファイル７４が開かれ、ブラウザ７２内にシェルが作成される。このブラウザ７２内でアクティブＸコントロール用コードをロードする事が出来る。アクティブＸコントロールが閉じられるとき（ユーザがインターネットサイト１３０との接続を終了させるとき）、アクティブＸコントロールを含むライブラリファイル７４がアンロードまたはクローズを行うようにオペレーティングシステム７０またはブラウザ７２により明示的に命令されていれば、ライブラリファイル７４がアンロードされた時、アクティブＸコントロールの外側で、しかも、ライブラリファイル７４内で作成されたいずれのデータ、関数またはオブジェクトも破壊されることになる。ライブラリファイル７４のアンロードを防止するために、命令されるまでブラウザ７２はアクティブＸコントロールのクローズを妨げられる。アクティブＸコントロールがクローズ命令を受けることがなければ、ライブラリファイル７４がアンロードされることは決してない。
【００７１】
これを達成する好適な方法として、アクティブＸコントロールをロードした最初のブラウザ・インターフェイス・ウィンドウを隠し状態および／または使用禁止状態にして、インターネットユーザが中で作業を続け、インターネットを巡回することが可能なその同一のウィンドウの新たなコピーを作成する方法がある。最初のブラウザ・インターフェイスが好適に隠し状態および／または使用禁止状態にされているため、ライブラリファイル７４が、最初のブラウザ・インターフェイス用ウィンドウ（ライブラリファイル７４をロードしたウィンドウ）を示すまで、このウィンドウを作動可能にするまで、あるいは、このウィンドウを閉じるまでアクティブＸコントロールを閉じる事は出来ない。
【００７２】
図８の上述の方法として、例えば、ウェブページ１３０内に、または、バンドオブジェクトとして通常含まれているタグを利用して、および、マイクロソフト・インターネットエクスプローラ（商標）４.ｘ用ソフトウェア開発キットに記載のように、ブラウザ７４内の標準的アクティブＸコントロールとしてＢＩＯライブラリを好適にロードする方法が挙げられる。これは、ＢＩＯライブラリ用コードを含むライブラリファイル７４の初期化と実行とをブラウザ７２に命令するものである。
【００７３】
ＢＩＯライブラリを初期化し、呼び出した最初の時点で、機能ウィンドウが作成され、インターネットユーザが別のインターネット・ウェブサイト２１０、即ち別のウェブページを訪問している間、この機能ウィンドウは、アクティブＸコントロール自身とのセッションを開いた状態に保つことによりＢＩＯライブラリは開いた状態に保たれる。この機能ウィンドウによって、開いているＢＩＯライブラリのコピーを持っていないブラウザ・ウィンドウが、ブラウザ７２と接続するＯＬＥインターフェイスにアクセスすることも可能となる。
【００７４】
機能ウィンドウを作成するために、最初のブラウザ・インターフェイス・ウィンドウ（即ちＢＩＯライブラリをロードしたウィンドウ）を隠し状態および／または使用禁止状態にすることが望ましい。これは、ＢＩＯライブラリのハンドルから始めて、最初のブラウザ・インターフェイス・ウィンドウ用のハンドルを特定することにより達成する事が出来る。ＢＩＯライブラリのハンドルから最初のブラウザ・インターフェイス用ウィンドウ・ハンドルを検索するために、GetParent関数の呼び出し用の現在値がデスクトップウィンドウより１つ下のレベルを表すまで、GetParent関数（ウィンドウズ関数）が連続して呼び出される。例えば、ループ内で実行される“m_Handle＝GetParent(m_Handle)”などの宣言により所望の機能と結果を得る事が出来る。但しm_Handleの値はＢＩＯライブラリのハンドル値に等しく最初セットされ、次いで、この値は、最終的に最初のブラウザ・インターフェイス・ウィンドウへこのハンドルを返す。
【００７５】
次のステップは、最初のブラウザ・インターフェイス・ウィンドウ（今度は機能ウィンドウと呼ばれる）を隠すおよび／または使用禁止にし、その結果インターネットユーザが、（例えばブラウザ７２を閉じることにより）機能ウィンドウを閉じる事が出来ないようにし、それによって、ＢＩＯライブラリにアンロードを行わせ、ＢＩＯライブラリにより提供された機能をブラウザ・インターフェイス２０から削除するステップである。ユーザから最初のブラウザ・インターフェイス・ウィンドウを隠すおよび／またはユーザ駆動イベントからそのブラウザ・ウィンドウを使用禁止にするために、ブラウザ・ウィンドウを隠すおよび／またはブラウザ・ウィンドウを使用禁止にする値と共に、WM_SHOWWINDOWおよび／またはWM_ENABLEメッセージ（双方ともウィンドウズ定数）を最初のブラウザ・インターフェイス・ウィンドウへ送信する事が出来る。例えば、ブラウザウィンドウ・ハンドルを用いて最初のブラウザ・インターフェイス・ウィンドウへメッセージを送信するために、PostMessageまたはSendMessage関数（既存のウィンドウズ関数）を利用する事が出来る。上記とは別に、ShowWindowおよびEnableWindow関数（既存のウィンドウズ関数）を用いて同じ結果を得ることも可能である。
【００７６】
ブラウザ７２を制御するポインタが作成される。ブラウザ７２へコマンドを送信する、ライブラリファイル７４内の任意の関数またはオブジェクトによりアクセス可能となるように、このポインタをグローバルに格納することが望ましい。例えば、マイクロソフト・インターネットエクスプローラ（商標）では、IWebBrowser、IWebBrowser２またはIWebBrowserAppＯＬＥインターフェイスを用いて前記ポインタを作成する事が出来る。例えば、マイクロソフト・ファウンデーション・クラスを利用して上記を行うために、ブラウザ７２用のエントリポイントとして役立つCOleControlクラスのGetClientSiteメンバーを用いて、ＢＩＯライブラリと交信して、ＢＩＯライブラリのインターネットサイト、即ち、アクティブＸコントロールをロードしたインターネットサイト１３０へのポインタの検索を行う事が出来る。前回のステップにより返されたIOleClientSiteクラスのGetContainerメンバーを用いて、ＢＩＯライブラリ用コンテナへのポインタを取得する事が出来る。前回のステップにより返されたIOleContainerクラスのQueryInterfaceメンバーを用いて、IServiceProviderインターフェイスへのポインタを取得することが可能であり、IServiceProviderインターフェイスを用いて、ブラウザ７２が示す別のインターフェイスのうちのいずれのインターフェイスでも見つけられるようにすることが望ましい。ＢＩＯライブラリを呼び出したブラウザ７２のバージョンにより示されるインターフェイスに応じて、前回のステップで返されたIServiceProviderクラスのQueryServiceメンバーを用いて、IWebBrowserApp、IWebBrowserまたはIWebBrowser２インターフェイスへのポインタを取得してもよい。
【００７７】
最後に、インターネットユーザがネットサーフィンを続ける（即ち、種々の異なるインターネットサイトにアクセスし続ける）事が出来る新たなブラウザ・ウィンドウが作成される。何故なら、機能ウィンドウを作成するために前に使用したブラウザ・ウィンドウが隠し状態および／または使用禁止状態にされているからである。好ましくは、IWebBrowser、IWebBrowser２またはIWebBrowserAppＯＬＥインターフェイスのうちのいずれかを用いて（例えばそのＯＬＥインターフェイスのナビゲートメンバーまたはナビゲート２メンバーを用いて）、新たなブラウザ・ウィンドウを作成することが望ましい。上記とは別に、New WindowやOpen In New Windowコマンドなどの、ブラウザ７２を用いて新たなブラウザ・ウィンドウを開く事が出来るような、任意のコマンドに対応するWMCOMMANDメッセージをブラウザ７２へ送信することも可能である。ブラウザ７２により提供される動的データ交換（ＤＤＥ）サポートを用いて新たなウィンドウを開くようにしてもよい。
【００７８】
ＢＩＯライブラリは、様々なブラウザ・インターフェイスの特徴と機能およびこれらの特徴と機能とを制御する必要がある。第１のステップとして、本発明に準拠して制御の対象となるブラウザ・ウィンドウのうちのいずれかまたはブラウザが使用するウィンドウ（即ち子ウィンドウ）のうちのいずれかのサブクラス化を行うステップがある。ＢＩＯウィンドウ・メッセージ・ハンドリング・プロシージャを用いて、本願明細書で以後ＢＩＯプロシージャと呼ぶ元のウィンドウ・メッセージ・ハンドリング・プロシージャの置き換えが行われる。
【００７９】
一度ブラウザ・ウィンドウ、または、その子ウィンドウのうちのいずれかのサブクラス化が行われると、GetMenu関数を用いてブラウザ・ウィンドウ・メニューへのポインタを検索することによりサブクラスメニューへの追加が可能となる。一度メニューのハンドルへのポインタを取得すると、ModifyMenu, AppendMenu, InsertMenuなどのメニュー関数を用いて、任意の所望のメニューをブラウザ・ウィンドウに追加する事が出来る。メニューに割り当てられたいずれのコマンドも、ＢＩＯウィンドウのサブクラス化に用いるＢＩＯプロシージャにより処理する必要がある。メニュー作成時にブラウザ内に含まれるコマンド識別子と同じコマンド識別子を使用してはならない。
【００８０】
標準的ウィンドウズ関数を用いてツールバー４２の追加先であるウィンドウのハンドル（本願明細書では以後フレームハンドルと呼ぶ）を検索することにより、インターフェイス・オブジェクト・ツールバー４２をブラウザ・インターフェイス２０に追加する事が出来る。一般に、上記ウィンドウは、ＢＩＯウィンドウまたはＢＩＯウィンドウの子であるフレームウィンドウになる。次いで、親ウィンドウとしてフレームハンドルを用いてウィンドウが作成される。例えば、（ツールバーの１つの形である）ダイアログバーをインターフェイス・オブジェクト４０として追加するために、タイプCDialogBar（マイクロソフト・ファウンデーション・クラス）から導き出されたり、タイプCDialogBarのオブジェクトが作成されたりするが、これがフレームハンドルを用いて呼び出すCreate法である。例えば、画像、ツールバー、ダイアログなどのようなリソースが使用され、かつ、ブラウザ７２がＢＩＯライブラリと同じリソースを共有していない場合、ＢＩＯライブラリ・リソースからいずれかのデータをロードする事が出来るようになる前に、ブラウザのリソースはＢＩＯライブラリ・リソースより一時的に置き換えられる。その後、ブラウザの原リソースよってＢＩＯライブラリ・リソースの置き換えが可能となる。
【００８１】
新たなブラウザ・ウィンドウが開かれると、この新たなウィンドウにインターフェイス・オブジェクト４０を追加することが望ましい場合がある。ユーザ定義関数を呼び出すSetTimerウィンドウズ関数を用いてタイマを作成してもよい。上記ユーザ定義関数は、機能ウィンドウと同じクラス名を持つデスクトップウィンドウの全ての子ウィンドウのチェックを行うFindWindowEx関数（ウィンドウズ関数）を利用することになる。予め変更されていないブラウザ・ウィンドウ、即ち、インターフェイス・オブジェクト４０を有していないブラウザ・ウィンドウについては、必要なハンドルを検索することが可能であり、元のＢＩＯウィンドウに対して行われた変更と同じ変更を行う事が出来る。
【００８２】
最後に、インターネットユーザがブラウザ７２を閉じることを望む場合、機能ウィンドウを除いてブラウザ・ウィンドウの全てが閉じているかどうかの判定を行う必要がある。そして、他の全てのブラウザ・ウィンドウが閉じていれば、この機能ウィンドウも閉じなければならない。ＢＩＯメッセージ処理手順内のWMCLOSEメッセージ（ウィンドウズ定数）をリスンすることにより、あるいは、開かれているブラウザ・ウィンドウ数を周期的にチェックするタイマをセットすることにより、上記を達成することが可能となる。元の機能ウィンドウを閉じるために、WMCLOSEメッセージをそのウィンドウへ送信する事が出来る。
【００８３】
次に図９を参照すると、本発明によるインターネットブラウザ・インターフェイス２０を制御し、これを表示する方法の別の代替実施形態が示され、全体が９００として指定されている。
【００８４】
ステップ９１０、９２０および９３０は図６〜図８の上述の実施形態の場合とほぼ同じである。ステップ９４０で、新たなブラウザ・インターフェイス・ウィンドウを作成し、最初のブラウザ・インターフェイス・ウィンドウを隠し状態および／または使用禁止状態とする。このブラウザ・インターフェイス・ウィンドウは機能ウィンドウと呼ばれる。プラグインは最初のブラウザ・インターフェイス・ウィンドウ用ハンドルを特定し、このウィンドウを隠すおよび／または使用禁止にし、インターネットユーザが使用出来る新たなブラウザ・インターフェイス・ウィンドウを作成する。ステップ９５０で、全てのブラウザ・ウィンドウがサブクラス化され、次いで、ステップ９６０で示されているように、全ての開かれたウィンドウに対してブラウザ・インターフェイスを制御することが可能となる。ステップ９６２で、本発明はいずれかの新たなブラウザ・ウィンドウが開かれているかどうかを判定し、開かれていれば、本発明はステップ９６０へ戻る。新たなブラウザ・インターフェイス・ウィンドウが開かれていない場合、ステップ９６２はステップ９６４へ進み、インターネットユーザがブラウザを閉じることを望んでいるかどうかが判定される。機能ウィンドウを閉じる前に全てのウィンドウを閉じる必要があり、それはステップ９６６で判定される。ステップ９７０で示されているように、全てのウィンドウが閉じられた場合、機能ウィンドウが閉じられる。全てのウィンドウが閉じられていない場合、ステップ９６６はステップ９６４へ戻る。
【００８５】
本発明のさらに別の代替実施形態では、本発明は、ブラウザプラグインを用いてインターネットブラウザ・インターフェイスを制御して、呼び出しブラウザ７２の機能を制御し、プラグインをロードしたインターネットサイト１３０からユーザが出た後プラグイン機能を保持する方法を提供するものである。
【００８６】
ブラウザ７２とインターネットサイト１３０との接続の確立と、プラグインの呼び出しとに応答して、ブラウザプラグインがインターネットユーザのコンピュータ５０にロードされると、ライブラリファイル７４はブラウザ７２内にシェルを確立し、このブラウザ７２内にプラグイン用コードをロードする事が出来る。プラグインが閉じられた場合、ライブラリファイル７４のアンロードを行うことがオペレーティングシステム７０またはブラウザ７２により明白に指示されていれば、ライブラリファイル７４がアンロードされた時、プラグインの外側にあり、しかも、ライブラリファイル７４内で作成されたいずれのデータ、関数またはオブジェクトも破壊されることになる。ライブラリファイル７４がアンロードしないようにするために、プラグインのクローズ命令を受け取るまで、ブラウザ７２によるプラグインのクローズは妨げられる。プラグインがクローズ命令を受けることがなければ、ライブラリファイル７４もアンロード命令を受けることは決してない。プラグインをロードした最初のブラウザ・ウィンドウを隠すおよび／または使用禁止にすることにより、さらに、インターネットユーザがインターネットにアクセスし、インターネットを巡回するのに使用するために、その同じウィンドウの新たなコピーを作成することにより、上記を達成する事が出来る。最初のブラウザ・ウィンドウは隠された状態および／または使用禁止状態にされていることが望ましいため、プラグインは、ライブラリファイル７４が表示、起動またはクローズを選ぶまで、プラグインをロードした最初のブラウザ・ウィンドウを閉じる事は出来ない。
【００８７】
例えば、ブラウザプラグインが、好適にはウェブページ１１０内のタグ（図１０などを参照）を用いて、標準プラグインとしてブラウザ７２にロードされる。このプラグインは、プラグイン（即ちＢＩＯライブラリ）用コードを含むライブラリファイル７４の初期化とロードとを行うようにブラウザ７２に命令する。
【００８８】
ＢＩＯライブラリが最初に初期化され、呼び出された時点で、元のブラウザ・ウィンドウを隠すおよび／または使用禁止にすることにより機能ウィンドウが作成され、これによって、プラグイン自身とのセッションを開いた状態に保つことによりＢＩＯライブラリのアンロードが防止される。この機能ウィンドウによって、開いているＢＩＯライブラリのコピーを持っていないブラウザ・ウィンドウが、プラグイン用組み込み型アプリケーションプログラミングインターフェイス（ＡＰＩ）にアクセスすることも可能となる（即ち、ネットスケープ・ナビゲータ（商標）とマイクロソフト・インターネットエクスプローラ（商標）とにより提供されるようなブラウザ・インターフェイス２０を通じて、および、プラグイン機能を介して機能がインターネットユーザに利用可能となる）。
【００８９】
ブラウザ７２が最初に呼び出された時点で、最初のブラウザ・ウィンドウを使用禁止にするか、隠す（この場合プラグインは常駐している）ことにより機能ウィンドウが好適に作成される。これを行うために、プラグインは最初のブラウザ・ウィンドウのハンドルを最初に特定する必要がある。NPWindow構造のウィンドウメンバーが、NPPSetWindow関数への第２の引数としてブラウザ７２からＢＩＯライブラリへ渡される。このウィンドウメンバーはプラグイン・ウィンドウへのハンドルである（NPWindowとNPP_SetWindowはプラグイン用のネットスケープおよびインターネットエクスプローラ（商標）ＡＰＩの一部である）。このウィンドウメンバーから最初のブラウザウィンドウ・ハンドルを検索するために、GetParent関数を呼び出すための現在値がデスクトップウィンドウより１つ下のレベルを表すまで、GetParent関数（ウィンドウズ関数）が連続して呼び出される。例えば、ループ内で実行される“m_Handle＝GetParent(m_Handle)”などの宣言により所望の機能と結果とを得る事が出来る。但しm_Handleの値はNPWindow構造のハンドル用の値に等しく最初セットされ、次いで、この値は、最終的に最初のブラウザ・ウィンドウへこのハンドルを返す。
【００９０】
次いで、インターネットユーザが機能ウィンドウを閉じて、ＢＩＯライブラリをクラッシュさせる事が出来ないように、最初のブラウザ・ウィンドウを隠し状態および／または使用禁止状態にする。ユーザから最初のブラウザ・ウィンドウを隠すおよび／またはユーザ駆動イベントからそのウィンドウを使用禁止にするために、ブラウザ・ウィンドウを隠すおよび／またはブラウザ・ウィンドウを使用禁止にする値と共に、WM_SHOWWINDOWおよび／またはWM_ENABLEメッセージ（双方ともウィンドウズ定数）を最初のブラウザ・ウィンドウへ送信する事が出来る。これは、例えば、PostMessageまたはSendMessage関数（ウィンドウズ関数）を利用して、ブラウザウィンドウ・ハンドルを用いて最初のブラウザ・ウィンドウへメッセージを送信することにより達成出来る。上記とは別に、ShowWindowおよびEnableWindow関数（ウィンドウズ関数）を用いて同じ結果の達成が可能である。
【００９１】
最終ステップは、最初のブラウザ・ウィンドウを隠し状態および／または使用禁止状態にした後、ネットサーフィンを続けるためにインターネットユーザが使用出来る新たなブラウザ・ウィンドウを作成することである。例えば、_new、_blank、または、予め存在しない任意のウィンドウ名にターゲットパラメータをセットして、以下のネットスケープとインターネットエクスプローラ（商標）のプラグインＡＰＩ関数：NPN_GetURL, NPN_PostURL, NPN_GetURLNotify, NPN_PostURLNotifyのうちのいずれかを呼び出すことにより上記を達成する事が出来る。上記関数のNPP引数は、ブラウザ７２により機能ウィンドウ用プラグインへ提供されたNPP構造である。これを行う別の方法として、例えば、New_WindowコマンドまたはOpen_In_New_Windowなどの新たなウィンドウを開くために用いる事が出来るような任意のコマンドに対応するブラウザ７２へWMCOMMANDメッセージを送信する方法がある。ブラウザにより提供される動的データ交換（ＤＤＥ）サポートを用いて新たなウィンドウを開く事が出来る。NPN_GetURL, NPN_PostURL, NPNGetURLNotify, NPNPostURLNotifyおよびNPP構造はプラグイン用ネットスケープおよびインターネットエクスプローラ（商標）ＡＰＩの一部であり、WMCOMMANDはウィンドウズ定数である。
【００９２】
ＢＩＯプラグインは、ブラウザ７２の特徴と機能とを制御する事が出来る。第１のステップとして、本発明に準拠して制御の対象となるブラウザ・ウィンドウのうちのいずれかまたはブラウザが使用するウィンドウ（まとめてＢＩＯウィンドウ）のうちのいずれかのサブクラス化を行うステップがある。
【００９３】
ブラウザ・ウィンドウまたはその子ウィンドウをサブクラス化した後、GetMenu関数（ウィンドウズ関数）を用いてブラウザ・ウィンドウ・メニューへのポインタを検索することによりブラウザ・インターフェイス２０にメニューを追加する事が出来る。一度メニューのハンドルへのポインタを取得すると、ModifyMenu, AppendMenu, InsertMenuなど（ウィンドウズ関数）のメニュー関数を用いて、任意の所望のメニューをブラウザ・ウィンドウに追加する事が出来る。ブラウザ７２内に含まれるいずれかの同じコマンド識別子と同じコマンド識別子をメニュー作成時に使用しないように注意しながら、ＢＩＯウィンドウのサブクラス化に用いるＢＩＯメッセージ処理手順によって、メニューに割り当てられたいずれのコマンドも処理しなければならない。
【００９４】
上記とは別にまたはこれに追加して、標準的ウィンドウズ関数を用いてツールバー４２の追加先であるウィンドウのハンドル（本願明細書では以後フレームハンドルと呼ぶ）を検索することにより、インターフェイス・オブジェクト・ツールバー４２をブラウザ・インターフェイス２０に追加する事が出来る。上記ウィンドウはＢＩＯウィンドウまたはＢＩＯウィンドウの子ウィンドウであるフレームウィンドウになる。次いで、親ウィンドウとしてフレームハンドルを用いてウィンドウが作成される。例えば、（ツールバーの１つの形である）ダイアログバーをインターフェイス・オブジェクト４０として追加するために、タイプCDialogBar（マイクロソフト・ファウンデーション・クラス）から導き出されたオブジェクトまたはタイプCDialogBarのオブジェクトを作成する事が出来る。これがフレームハンドルを用いて呼び出すCreate法である。例えば、画像、ツールバー、ダイアログなどのようなリソースが使用され、かつ、ブラウザ７２がＢＩＯライブラリと同じリソースを共有していない場合、ＢＩＯライブラリ・リソースからいずれかのデータをロードする事が出来るようになる前に、ブラウザのリソースはＢＩＯライブラリ・リソースにより一時的に置き換えられる。その後、ブラウザの元のリソースによってＢＩＯライブラリ・リソースを置き換えることが可能となる。
【００９５】
新たなブラウザ・ウィンドウが開かれたとき、この新たなウィンドウにインターフェイス・オブジェクト４０を追加する事が出来る。ユーザ定義関数を呼び出すSetTimerウィンドウズ関数を用いてタイマを作成することにより上記を達成する事が出来る。上記ユーザ定義関数は、機能ウィンドウと同じクラス名を持つデスクトップウィンドウの全ての子ウィンドウのチェックを行うFindWindowEx関数（ウィンドウズ関数）を利用する。変更されたインターフェイスを予め含まない新たなウィンドウ（インターフェイス・オブジェクト４０を含まない）については、必要なハンドルが検索され、元のＢＩＯウィンドウに対して行われた変更と同じ変更が行われる。
【００９６】
最後に、インターネットユーザがブラウザ７２を閉じることを望む場合、機能ウィンドウを除いてブラウザ・ウィンドウの全てが閉じているかどうかの判定を行う必要がある。そして、他の全てのブラウザ・ウィンドウが閉じていれば、この機能ウィンドウを閉じる事が出来る。例えば、ＢＩＯメッセージ処理手順内のWMCLOSEメッセージ（ウィンドウズ定数）をリスンすることにより、あるいは、開かれているブラウザ・ウィンドウの数を周期的にチェックするタイマをセットすることにより、上記を達成することが可能となる。WM_CLOSEメッセージを送信することにより元の機能ウィンドウを閉じることも可能である。
【００９７】
本発明によれば、ＢＩＯライブラリ（即ちプラグイン）をロードすることが可能となり、ブラウザ・インターフェイス２０内に自動的にＢＩＯライブラリの機能を提供する事が出来る（ユーザが、特定のインターネットサイトへ積極的にアクセスする、即ちプラグインを呼び出すウェブページへサーフィンする必要は無くなる）。例えば、ネットスケープは、自動スタートアップとして特定されるキーをそのウィンドウ・レジストリ内に備えている。起動時に、ネットスケープは、自動スタートアップキー内にリストされているＯＬＥの制御機能の全てをロードする。自動スタートアップキー内のライブラリファイル７４への（従って、ＢＩＯライブラリとインターフェイス・オブジェクト４０を規定するプラグインへの）リファレンスまたは呼び出しを行うことにより、ネットスケープブラウザを開始する即ち起動する度にライブラリファイルのロードを行う事が出来る。ブラウザ・インターフェイス２０でインターフェイス・オブジェクト４０のインスタンスを作成する命令と、所定のインターネットサイト１３０との接続を確立するブラウザ７２用の命令とを上記ライブラリファイル７４の中に含める事が出来る。この技法を用いることにより、ユーザがある特定のインターネットサイト１３０を訪問してＢＩＯライブラリをロードする必要は無くなる。少なくともブラウザ７２内にプラグインをロード出来るようになるまで、ブラウザ・インターフェイス２０を介して表示とアクセスを行うためにライブラリファイル７４を開いた状態に保つ必要がある。これを行う１つの方法として、ライブラリファイル７４と関連するリファレンスカウンタの増分を行い、それによって、ネットスケープが自動スタートアップキーにリストされたＯＬＥコントロール機能のアンロードを行う時、ライブラリファイル７４が、より大きなリファレンス番号を持っているためにアンロードされないようにする方法がある。
【００９８】
ライブラリファイル７４をプラグインとしてロードして、タイマまたはループを用いてネットスケープＤＤＥサーバを周期的に探すようにする事が出来る。ブラウザ７２によりネットスケープＤＤＥサーバから返信を受信した時、ネットスケープはコマンドを受け取る準備ができており、プラグインを共にロードすることが可能となる。次いで、ＤＤＥを用いて、WWW_OPENURLなどのコマンドをブラウザ７２へ送信してもよく、このコマンドは本願明細書で論じているようにプラグインをロードさせることになる。
【００９９】
ＢＩＯライブラリ用として用いるネットスケープ・プラグイン・ウィンドウを隠す別の方法として、（“スタート”ボタンが配置されている）タスクバーからネットスケープ・プラグイン・ウィンドウを削除して、可視スクリーンから見えなくするという方法がある。上記ネットスケープ・プラグイン・ウィンドウをタスクバーから取り除く１つの方法として、SetWindowLongを呼び出して、プラグイン・ウィンドウのウィンドウ・スタイルをツールボックス・ウィンドウに変更する方法がある。ツールボックス・ウィンドウはタスクバーには現れることはない。ネットスケープ・プラグイン・ウィンドウは、MoveWindowを呼び出し、ユーザのデスクトップの可視範囲にはない座標を与えることによりスクリーンから外して配置する事が出来る。
【０１００】
元のブラウザメッセージ処理手順を置き換えるために用いるＢＩＯウィンドウ・メッセージ・ハンドリング・プロシージャは、メッセージの指定する届け先がどのウィンドウであるか、および、一度ＢＩＯウィンドウ・メッセージ・ハンドリング・プロシージャがメッセージを受け取った場合、当該メッセージを用いて何をすべきかを知っていなくてはならない。これを行う好適な方法として、情報を互いにリンクするマップを作成する方法がある。本発明の場合、そのウィンドウにとって重要な情報を含む構造とウィンドウ・ハンドルとをリンクするマップを利用することが望ましい。例えば、ＢＩＯライブラリが新たなブラウザ・ウィンドウにインターフェイス・オブジェクト４０を追加する時、そのＢＩＯウィンドウにとって有益な情報を含む構造とＢＩＯウィンドウのハンドルをリンクさせるマップ内の新たなエントリが作成される。この構造内に含まれる数々の情報の１つとして、ＢＩＯウィンドウ用のブラウザの元のウィンドウ・メッセージ・ハンドリング・プロシージャが含まれることが望ましい。ブラウザの元のウィンドウ・メッセージ・ハンドリング・プロシージャを保持することによって、ＢＩＯウィンドウ・メッセージ・ハンドリング・プロシージャがメッセージの処理方法が分からない場合、ブラウザの元のウィンドウ・メッセージ・ハンドリング・プロシージャへメッセージを渡す事が出来るようにする必要がある。
【０１０１】
ＢＩＯウィンドウ・メッセージ・ハンドリング・プロシージャによりメッセージが受信されると、処理手順へ渡される第１の引数は上記メッセージを受信したウィンドウのハンドルである。このウィンドウ固有の全てのデータを含む構造を検索するために、キーとしてウィンドウ・ハンドルを用いてマップ内の検索が行われる。返された構造には元のウィンドウ・メッセージ・ハンドリング・プロシージャなどの格納済みウィンドウ固有の情報が含まれる。
【０１０２】
ブラウザ・インターフェイス２０の制御時に、本発明ではブラウザ７２の作動方法が変更される。ブラウザのウィンドウまたは子ウィンドウへメッセージを送信することにより、ブラウザの機能に関してインターネットユーザはほとんどどんなことでも行うことが可能となる。メッセージを送信するオブジェクトまたはウィンドウには、インターネットユーザが直接リアルタイムで通信出来る相手先であるメニュー、ボタン、コンボボックスおよびその他のほとんどあらゆる手段（即ちインターフェイス・コントロール手段）が含まれる。例えば、メッセージは４つの構成要素に分解する事が出来る：１）メッセージの受信を意図するウィンドウのハンドル、２）メッセージのｍｓｇ値、３）通常ｍｓｇ値に従属する用途を持つwParam、４）やはり通常ｍｓｇ値に依存する値を持つIParam。
【０１０３】
例えば、ブラウザのウィンドウ内のボタンをクリックすると、ブラウザ・ウィンドウのウィンドウ・メッセージ・ハンドリング・プロシージャへウィンドウズ定数であるWMCOMMANDを含むメッセージ（ｍｓｇ値）を送信する事が出来る。この場合、上記メッセージ内のwParam変数の下位２バイトはどのボタンが押されたかを特定するために用いる数となる。
【０１０４】
上述のように、ブラウザのウィンドウまたは子ウィンドウのサブクラス化を行うことにより、ユーザがインターフェイス・コントロール手段のいずれかとリアルタイムで伝送する際に送信されるいずれのメッセージもインターセプトする事が出来る。一度メッセージがインターセプトされると、ＢＩＯウィンドウ・メッセージ・ハンドリング・プロシージャが上記メッセージを翻訳し、このメッセージに対して反応する事が出来る。インターフェイス・コントロール機能が同じ状態のままにする（即ち本発明への追加、本発明からの削除または本発明による変更を行わない）ことである場合、上記メッセージは元のウィンドウ・メッセージ・ハンドリング・プロシージャへ戻す事が出来る。このようにして、ブラウザ７２内に存在するほとんど全てのインターフェイス・コントロール機能を制御することが可能となる。さらに、ブラウザ・インターフェイス２０にインターフェイス・コントロール機能を追加し、（wParamの形で渡される）コマンド識別子を割り当てる事が出来る。次いで、ＢＩＯウィンドウ・メッセージ・ハンドリング・プロシージャにより、上記wParamを翻訳し、追加すべきインターフェイス・コントロール機能の提供が可能となる。さらに、ブラウザから削除すべきインターフェイス・コントロールと関連するコマンド識別子を受け取った場合、単に本発明によるウィンドウ処理手順に何もさせることなく機能の削除を行う事が出来る。これによって、上記コマンドがブラウザ・ウィンドウの元のメッセージハンドリングプロシージャへ渡されないようにする事が出来る。
【０１０５】
上記に詳しく論じたように、本発明の種々の実施形態を用いて、インターネットユーザは、ユーザ定義インターフェイス・コントロール機能を備えたブラウザ・インターフェイス２０の作成が可能となる。この場合、上記ブラウザ・インターフェイス２０のウィンドウの親をサブクラス化されたウィンドウにセットすることにより、新規の（即ち制御対象の）ウィンドウから出されるいずれのメッセージでもＢＩＯウィンドウ・メッセージ・ハンドリング・プロシージャで処理することになる。これを利用して、ツールバー、ダイログバー（dialogbar）、フローティング・ダイアローグ（floating dialog）などの任意のインターフェイス・オブジェクト４０をブラウザ・インターフェイス２０に追加することが可能となる。
【０１０６】
本発明についてさらなる説明を行うために、本発明を限定しない以下の例示の利用例を示す。インターネットユーザがインターネットを巡回する時持続して存在するプラグインまたはアクティブＸコントロールによって、ユーザが、インターネットに配置されているデータベースから得られる自分の“ブックマーク”や“お気に入り”のダウンロードを可能にするブラウザ・インターフェイス２０にインターフェイス・オブジェクト４０を追加することが可能となる。このインターフェイスはブラウザ・インターフェイスの中へ直接追加され、このインターフェイスによってプラグインまたはアクティブＸコントロールにより提供されたインターフェイス・オブジェクト４０を用いて、ユーザはダウンロードした“ブックマーク”や“お気に入り”のリンクを訪れることが可能となる。このインターフェイス・オブジェクト４０は、既存のブラウザ上の現在の“お気に入り”や“ブックマークマーク”メニュー項目と同様の機能を果たすものである。有利な相違点として、このブックマークはインターネット上のデータベースからダウンロードされるため、ユーザは、プラグインまたはアクティブＸコントロールをロード出来る自分のブックマークに任意のコンピュータのブラウザ上でアクセス出来るという利点が挙げられる。
【０１０７】
本発明は、プラグインまたはアクティブＸコントロールを介して、ブラウザ・インターフェイス２０の“お気に入り”や“ブックマーク”に設けた広告“リンク”に基づいて広告収入を生むために利用することも可能である。広告対象のターゲット消費者は、例えば、氏名、年齢、性別、収入、人種、学歴および地理上の所在地などのデータベースに格納された情報に基づいて、また、データベースに格納されているまたはブラウザ７２に存在するお気に入りとブックマークなどの好みに基づいて行うことも可能である。
【０１０８】
ユーザがインターネットを巡回する時持続して存在するプラグインまたはアクティブＸコントロールを用いて、ユーザが、インターネットに配置されているデータベースから得られる自分の“アドレス帳”のダウンロードを可能にするブラウザ・インターフェイス２０にインターフェイス・オブジェクト４０を追加することが可能となる。このようなインターフェイス・オブジェクト４０は、ブラウザ・インターフェイス２０のインターフェイスの中へ直接追加することが可能であり、このインターフェイス・オブジェクト４０は、電子メールの送信並びに自分の“アドレス帳”にリストされている連絡先用の格納済み情報の検索をユーザが行う事が出来るようにするものである。
【０１０９】
本発明は、プラグインまたはアクティブＸコントロールのインターフェイス・オブジェクト４０の“アドレス帳”に設けた広告“リンク”に基づいて広告収入を得ることを目的として利用することも可能である。広告対象のターゲット消費者は、例えば、氏名、年齢、性別、収入、人種、学歴および地理上の所在地などのデータベースに格納された情報に基づいて、また、データベースに格納されているまたはブラウザに存在するお気に入りとブックマークなどの好みに基づいて行うことも可能である。
【０１１０】
本発明は、ユーザの探索を可能にするウェブページを訪問する必要なく、プラグインまたはアクティブＸコントロールを利用して、ユーザがブラウザの中へ直接探索語をタイプ出来るようにする、ブラウザ・インターフェイス２０の編集ボックスの追加を可能にするものである。
【０１１１】
さらに、持続して存在するプラグインまたはアクティブＸコントロールによって、たとえユーザが異なるウェブサイトをサーフィンしていても、ユーザ側で、ウェブサイトで、あるいは、プログラムで選択された間隔で、ポーリング即ち周期的に好適なウェブサイトから情報の探索を行うことが可能となる。好適なウェブサイトのポーリングを行う時、この好適なウェブサイトによって、メールや、株価の連続する更新や、例えば、ニュースをフィード・ヘッドラインや、ひいきのスポーツチームのスポーツ得点、等のその他の時間に敏感に反応する情報のリアルタイムに近い受信通知などの更新済み情報の送信をユーザのブラウザのインターフェイス・オブジェクトに対して行うことが可能となる。好適なウェブサイトは、ピーク時の利用期間中、好適なウェブサイトでのトラフィックを制御するために、ポーリング間の時間間隔を延ばすことにより、所望の場合ポーリングのタイミング制御を行う事が出来る。
【０１１２】
本願明細書に記載のように、ライブラリファイルが作成したシェルは、アプリケーションを実行したり、情報を表示したりすることが可能な１つの環境であるため、本発明を利用して任意の情報またはプログラムをブラウザのインターフェイスに追加することが可能となる。上記シェルは、ブラウザ・インターフェイス、ブラウザの内容、さらにはシェル自体の内容さえからも独立している。要するに、シェルは適応可能な１つの機能であり、この機能は極端な場合ユーザにとって可視である必要さえ無い。従って、使用中、シェルは空であってもよく、ウェブサイトからその内容を受け取る事が出来る。あるいは、シェルはプラグインを取得することも可能である。もしくは、シェルがウェブサイトまたはユーザから新しい内容を受け取るとき、シェルは新たなライブラリファイルを取得して、“リアルタイムで”新たな情報の構文解析を学習することさえ可能である。従って、本発明は、ユーザが別のサイトを訪問している時でさえ、好適なサイトからユーザへ所望の情報を直接送る重要な機会を提供するものである。言うまでもなく、本発明のカスタム可能なインターフェイスを介してウェブサイトにより提供されるユーザ固有機能が多ければ多いほど、そのウェブサイトが発生させる事が出来るユーザロイヤルティはさらに大きくなる。
【０１１３】
図１１〜図１７を参照すると、本発明の別の実施形態で、インターネットブラウザ・インターフェイスのツールバーへショッピング・アシスタント・ボタンを追加して、サポートされたマーチャント・ウェブサイトでのオンライン・ショッピングを簡便化する事が出来る。ショッピング・アシスタント・ボタンの規定を含むこの実施形態の機能は、サーバから送信されたコンピュータコードにより提供され、ユーザのコンピュータに格納される。コンピュータコードはインターネットブラウザのインターネット・ナビゲーションをモニタして、ブラウザが、サポートされたマーチャント・ウェブサイトに在るかどうかの判定を行い、インターネットブラウザがサポートされたマーチャント・ウェブサイトに在れば、ショッピング・アシスタント・ボタン用のインジケータを提供し、サポートされたマーチャント・チェックアウト・ウェブページに記入を行う。
【０１１４】
本願明細書のユーザのように、“オンライン・ショッピング”という用語は、インターネットブラウザのユーザが、インターネットで商品および／またはサービスを購入する事が出来る処理プロセスを意味する。オンライン・マーチャント（インターネット上の商品および／またはサービスの販売者など）は、マーチャントサーバが主催するウェブサイトを提供する事が出来る。このウェブサイトを介してユーザはインターネットブラウザを用いて１以上のウェブページにアクセスする事が出来る。マーチャントは１以上のウェブページを介して販売用として種々の商品および／またはサービスの提供を行う事が出来る。買物客は商品、サービスについての説明を閲覧し、電子ショッピングカートの中へ入れる種々の商品および／またはサービスを選択し、ショッピングカートの内容を見て、チェックアウトする事が出来る（以下さらに詳細に説明する）。
【０１１５】
図１１に示されるブラウザ・インターフェイス２０にはインターフェイス・オブジェクト４０が含まれ、このインターフェイス・オブジェクト４０には、インターフェイス・オブジェクト・ツールバー４２とショッピング・アシスタント・ボタン１４４とが設けられている。このショッピング・アシスタント・ボタン１４４は、ブラウザ・インターフェイス２０に種々の機能を提供するものであるが、この種々の機能の中には、本発明を限定しない例として、ブラウザ・インターフェイス２０のユーザ（ユーザおよび買物客という用語は本願明細書では交換可能に用いられている）が、電子ウォレット（さらに詳細に以下解説する）を作成し、この電子ウォレットを編集し、ショッピング・アシスタント・ボタン１４４（およびブラウザ・インターフェイス２０からのショッピング機能）を使用禁止にし、サポートされたマーチャントをリストし、ショッピング・アシスタント・ボタン１４４と、プルダウンメニュー４４と、ショッピング・アシスタント・ボタン１４４が提供する機能とについて問い合わせを行い、ショッピング・アシスタント・ボタン１４４およびショッピング・アシスタント・ボタン１４４が提供する機能の利用方法について助けを求める問い合わせを行う能力が含まれる。ショッピング・アシスタント用コンピュータコードまたはソフトウェア（例えばｄｌｌファイルやｅｘｅ.ファイル、ＪａｖａＳｃｒｉｐｔなど）がサーバにより提供され、ユーザのコンピュータ５０に格納され、ショッピング・アシスタント・ボタン１４４および本発明に準拠して提供されるその他の機能を規定し、提供するために、ブラウザおよびブラウザ・インターフェイス２０と接続して実行可能である。これらについてはさらに詳細に以下説明する。
【０１１６】
好ましい実施形態では、本発明の種々の実施形態に関して上記詳述したように、インターフェイス・オブジェクト４０がブラウザ・インターフェイス２０に追加されると、ショッピング・アシスタント・ボタン１４４およびショッピング・アシスタント・ボタン１４４により与えられる機能が提供される。即ち、インターフェイス・オブジェクト４０がブラウザ・インターフェイス２０に追加されると、ショッピング・アシスタント・ボタン１４４および関連するコンピュータコードがユーザのコンピュータ５０へ送信またはダウンロードされる。上記とは別に、インターフェイス・オブジェクト４０が追加された前後にユーザが要求した時、ショッピング・アシスタント・ボタン１４４と機能とをブラウザ・インターフェイス２０に選択的に追加する事が出来る。
【０１１７】
本発明のこの実施形態に準拠して提供されるショッピング・アシスタント機能は、少なくとも第１の例では、サーバ１０２（このサーバは物理的に互いに近い位置に配置された、あるいは、物理的に互いに別々の位置に配置された１以上のコンピュータを備えたものであってもよい）（図１０などを参照のこと）によって提供される。ユーザがブラウザ・インターフェイス２０のＵＲＬアドレスウィンドウ２６内に所定のインターネットアドレスまたはＵＲＬを入力すると、上記サーバ１０２にアクセスする事が出来る。サーバ１０２は、セキュリティ保護が施されたサーバ（即ちセキュリティ保護ソケット層（ＳＳＬ）接続を介してのみアクセス可能なサーバ）であることが望ましい。この所定のインターネットアドレスで、ユーザは１以上のウェブページにアクセスすることが可能となる。これらのウェブページのうちの少なくとも１つのウェブページによって、ユーザは本発明のこの実施形態に準拠するウォレットを設定することが可能となる。例示のウォレット設定ウェブページが図１２〜図１４に示される。このウォレット設定ウェブページについて以下さらに詳細に解説する。
【０１１８】
このショッピング・アシスタント機能は、サーバ１０２によりユーザのコンピュータ５０へダウンロードされるショッピング・アシスタント・コンピュータコードまたはソフトウェアによっても提供され、この機能はブラウザ・インターフェイス２０とショッピング・アシスタント・ボタン１４４と接続して実行可能である。ショッピング・アシスタント・コードは、例えば、ｄｌｌファイルや.ｅｘｅファイル、ＪａｖａＳｃｒｉｐｔあるいはその他の公知のタイプのコンピュータコードファイルやソフトウェアファイルであってもよい。ショッピング・アシスタント・コードは、異なるインターネットアドレスへのナビゲーションをユーザがブラウザに行わせる度に、インターネットアドレス（またはドメインやＵＲＬ）をインターセプトすることによりインターネットブラウザのインターネット・ナビゲーションのモニタを行う。ショッピング・アシスタント・コードは、サポートされたマーチャントのインターネットアドレスを含むサポートされたマーチャント・ファイルとインターセプトされたアドレスとの比較を行うことにより、インターセプトされたインターネットアドレスと、サポートされたマーチャントのインターネットアドレスとの比較を行う。サポートされたマーチャント・ファイルは、サーバ１０２によりダウンロードされ、ユーザのコンピュータ５０に格納されていることが望ましい。ユーザがサーバ１０２内へログを行う度に、サーバ１０２はサポートされたマーチャント・ファイルのそのバージョンと、ユーザのコンピュータ５０に格納されたバージョンとの比較を行う（例えば、このバージョン情報はログイン処理中ユーザが送信することも可能である）。サーバ１０２は、必要に応じて、サポートされたマーチャント・ファイルの更新バージョンをユーザのコンピュータへダウンロードする。ショッピング・アシスタント・コードも、ブラウザが受信した個々のウェブページをインターセプトし、ウェブページの種別（例えば、課金ウェブページ、マーチャントホームページ、商品ページなど）をｈｔｍｌコードとＨＴＴＰ要求ヘッダとにより判別する。
【０１１９】
ショッピング・アシスタント・コードは、ショッピング・アシスタント・ボタン１４４とプルダウンメニュー４４との規定も行い、ブラウザと、サーバ１０２と、オンライン・ショッピング用マーチャントサーバとの間の通信の制御を行う。
【０１２０】
本発明の種々の実施形態に準拠するインターフェイス・オブジェクト４０の一部としてショッピング・アシスタント・ボタン１４４を設けることも可能である。しかし、ユーザがショッピング・アシスタント機能を利用し、アクセスするためには、ユーザは最初ウォレットの設定を行わなければならない。本願明細書で用いられる、“ウォレット”という用語は、（符号化または暗号化を施すことが可能な）当該ユーザ固有のファイルであって、（本願本願明細書でデータとも呼ばれる）情報から構成されるファイルを意味し、上記ファイルは当該ユーザにより設けられ、サーバ１０２（図１０など参照）のデータ格納装置１０６（ハードドライブ、光ディスク）に設けられたウォレット・データベース１０４に格納される。ウォレットの設定時にユーザが提供した情報が予め設定したフィールドまたはフィールド名に格納されるようにウォレット・データベース１０６は構造化される。同様に、サポートされたマーチャント・データファイルも、マーチャント・チェックアウト・ウェブページがウォレット設定処理中に提供された情報と同じ情報を必要とする程度まで同じフィールドまたはフィールド名を用いて構造化される。
【０１２１】
ウォレットを設定するために、ユーザは、サーバ１０２が提供した一定のウォレット設定ウェブページに応答して一定情報を提供する必要がある。インターネットブラウザが、ブラウザ・インターフェイス２０による表示を行うためにサーバからデータ（典型的にはＨＴＭＬデータ）を受け取ることは当業者には公知である。従って、サーバがウェブページを提供するという本願明細書での言及は、インターネットブラウザにより表示するための、サーバからのダウンロードまたはデータ伝送を意味するものである。
【０１２２】
例示のウォレット設定ウェブページが図１２に示され、全体が１０００として指定されている。例えば、ショッピング・アシスタント・ボタン１４４のプルダウンメニュー４４の“ウォレット編集”オプションを介して上記ウェブページ１０００にアクセスする事が出来る。例えば、“ウォレット設定”リンク１００２のような、ウォレット設定ウェブページ１０００の所定のリンクを選択することにより、図１３に示されるようなウォレットデータ入力ウェブページ１０１０がサーバ１０２によりダウンロードされる。ウォレットデータ入力ウェブページ１０１０で、ユーザは複数のフィールド１０１２に一定情報の入力（プルダウンメニューまたは英数字エントリ）を行う。この情報は、本発明を限定しない例として、クレジットカードタイプ、クレジットカード番号、クレジットカードの有効期限、ユーザの姓名、料金請求先、電話番号、ユーザＩＤ、ユーザパスワード並びにユーザ固有のその他の種々の情報となることが考えられる。ウォレットの設定時に、個々のユーザは、ユーザのウォレットを利用するために、ユーザＩＤとパスワードの他に、必要なセキュリティ保護キー（図１６などを参照のこと）の入力も求められる。ウォレットデータ入力ウェブページ１０１０内の必要なフィールド１０１２の全てに記入を行うと、ユーザは“終了”ボタン（図示せず）を選択する事が出来る。これによって、ユーザ入力情報がサーバ１０２へ送信される。これに応答して、サーバ１０２は、図１４に示されるように、最終的にユーザのウォレットを設定する前にユーザが再査するために、新しく入力されたユーザのアカウント情報の要約１０２２を含むウォレット・サマリ・ウェブページ１０２０のダウンロードを行う。ユーザ情報が正しければ、ユーザは、例えば、“続ける場合にはここをクリック”と指示されたリンク１０２４などのウォレット・サマリ・ウェブページ１０２０のリンクを選択する事が出来、ユーザ情報（データ）はサーバ１０２へ送信され、データ格納装置１０６のウォレット・データベース１０４に格納される。今説明したウォレット設定処理手順中、データはサーバ１０２とユーザのコンピュータ５０（図１０などを参照のこと）との間で送信される。例えば、ユーザが“ウォレット設定”リンク１００２を選択した時、ウェブページ１０００（図１２）と１０１０（図１１）の双方をサーバ１０２により送信して、ユーザはブラウザ・インターフェイス２０にこれらのウェブページを表示する事が出来る。ユーザがウォレットデータ入力ウェブページ１０１０で必要な情報の入力を終了し、“終了”ボタン（図示せず）を選択した時、ユーザ情報即ちユーザデータをサーバ１０２へ送信する事が出来る。ユーザのコンピュータ５０からのユーザ情報の受信時に、サーバ１０２はウォレット・サマリ・ウェブページ１０２０を送信する事が出来る。上記とは別に、サーバ１０２は、（ユーザによるリンクまたはボタンの選択時などの）ユーザ開始アクションに応答して別々に上述のウェブページの各々を送信することも可能である。
【０１２３】
サーバ１０２は、コンテンツ・プロバイダ１００や、検索エンジンプロバイダやＩＳＰなどのような別のインターネット・サービス・プロバイダのサーバであってもよい。本願明細書ではこれらのサーバは一括してプロバイダ１００と呼ばれる。プロバイダ１００によりオンライン・マーチャントが選択され、このプロバイダ１００と接続して本発明のショッピング機能を利用することが可能となる。サポートされているマーチャント・ファイルには、マーチャントのそれぞれのインターネットアドレスを含む全てのサポートされたマーチャントのリストが含まれる。ショッピング・アシスタント用コンピュータコードはこのファイルを利用して、ＵＲＬアドレスウィンドウ２６の中へ入力された（またはリンク内に設けられた）ＵＲＬを、サポートされているマーチャント・ファイル内に含まれているＵＲＬと比較することにより、ユーザは、サポートされたマーチャント・ウェブサイトへナビゲーションを行ったかどうかの判定を行う事が出来る。
【０１２４】
一度マーチャント（マーチャントは図１０で全体が２００で指定されている）が選択されると、プロバイダ１００は、チェックアウト・ウェブページのレイアウト（図１７を参照のこと）と、マーチャントのチェックアウト処理およびチェックアウト・ウェブページの終了に必要な情報とを含むマーチャントのチェックアウト処理を確認する。プロバイダ１００は、サポートされたマーチャント・ルールと、選択された個々のマーチャント（本願明細書ではやはりサポートされたマーチャントと呼ぶ）用のマッピングファイルとを作成する。このマッピングファイルによって、個々のマーチャントのチェックアウト処理中にマーチャントが必要とするユーザデータと、個々のマーチャントのチェックアウト・ウェブページとに対応する複数のマーチャント・フィールド名とが規定される。例えば、図１７を参照すると、サポートされたマーチャント・チェックアウト・ウェブページ２１００では、買物客が、例えば、支払い方法、クレジットカード番号、クレジットカードの有効期限を含む料金請求先を含む料金請求先情報、並びに、買物客の個人情報（氏名、住所および電話番号など）の提供が要求される。マーチャント・フィールド名は、ユーザのウォレット内に規定されたウォレット・フィールド名に対応する。個々のマーチャントはそのチェックアウト処理中異なる情報を必要とする場合も考えられるので、個々のサポートされたマーチャント・ルールとマッピングファイルとは、異なるマーチャント・フィールド名を含むものであってもよい。しかし、全てのマーチャント・フィールド名はウォレット・フィールド名に対応する。
【０１２５】
サポートされたマーチャント・ルールとマッピングファイルとは、ウォレットデータ（即ちウォレット・フィールド名）を必要なマーチャントデータ（即ちマーチャント・フィールド名）と対応づける。例えば、姓フィールドと名フィールドとを規定するマーチャント・ルールとマッピングファイルでのエントリとは以下のように構造化することも可能である。
【０１２６】
【表２】
2005508047.tif 000004
但し、"wallet_b_fname_first"はユーザの名前用のウォレット・データベースフィールド名である。これに対して、サポートされたマーチャント・ファイルではユーザの第１の名前は"contactFirstName"と特定される。従って、本発明は、ウォレット・データベース内のフィールドを、サポートされたマーチャント・ファイル内のフィールドに対応づけて、ユーザがサポートされたマーチャント・ウェブサイトで買い物をする時、個々のマーチャントの注文用紙に自動的に記入が出来るようにするものである。
【０１２７】
図１５〜図１７を参照しながら、例示のチェックアウト処理について以下説明する。異なるマーチャントは異なるチェックアウト処理を含み、異なるチェックアウト・ウェブページを提供する場合もあるので、以下の説明は単に例示的なものであり、本発明の範囲を限定したり、本発明の範囲を画定したりすることを意図するものではない。さらに、以下の説明はオンライン・ショッピング処理（この処理マーチャント毎に変動する可能性がある）の全体を追跡するものではなく、専らチェックアウト処理のみを追跡するものである。このチェックアウト処理は一般に、ユーザが“チェックアウト”またはマーチャント・ウェブページの別の類似のボタンを選択した後開始される。
【０１２８】
ユーザが自分のインターネットブラウザを開始すると、インターフェイス・オブジェクト４０はユーザのコンピュータ５０とサーバ１０２との間で自動的に接続を確立する。種々のユーザデータがサーバ１０２によりユーザのコンピュータ５０へダウンロードされる。ユーザは、ＵＲＬアドレスウィンドウ２６（図１１を参照のこと）内にアドレスをタイプすることにより、または、ウェブページ上のリンクを選択することにより、任意のインターネットアドレスへインターネットブラウザのナビゲーションを行わせる事が出来る。ブラウザによるインターネットのナビゲーション方法に関係無く、ショッピング・アシスタント・コードは、ユーザが行うナビゲーションの行き先である個々のインターネットサイトのＵＲＬをインターセプトし、サポートされたマーチャント・データファイルとそのＵＲＬとの比較を行う。一致が発見された場合、ショッピング・アシスタント・コードは、例えば、ユーザがサポートされたマーチャント・ウェブサイトへナビゲーションを行っていることを示す黄色い円などのショッピング・アシスタント・ボタン１４４でユーザに知覚出来るインジケータを示す。ショッピング・アシスタント・コードはまた、サーバ１０２に対して、当該マーチャント用のルールおよびマッピング用データを含むファイルであって、当該マーチャントのチェックアウト処理に関する詳細情報を提供するファイルのダウンロード要求も行う。
【０１２９】
ショッピング・アシスタント・コードも、ブラウザが受信した個々のウェブページをインターセプトし、ｈｔｍｌコードとＨＴＴＰ要求ヘッダを見ることにより、課金ページ、電子メールアドレス要求、クレジットカード情報要求などのウェブページの種別を判別する。上記情報は、マーチャントのプロバイダの選択中、および、サポートされたマーチャント・データファイルの作成中に取得したものである。マーチャントのルールとマッピングファイルとを用いて、ショッピング・アシスタント・コードは、サービスを受ける専用ページと、そのページでのユーザ情報の提供方法とを決定する事が出来る。
【０１３０】
図１５に示されるように、ユーザのウォレットがある特定のページ用として必要である旨がショッピング・アシスタント・コードにより決定された場合、ショッピング・アシスタント・コードは、ユーザのブラウザ・インターフェイス２０内でセキュリティ保護キーウィンドウ３０００を開いて、データ・エントリ・ウィンドウ３０２０にセキュリティ保護キー（ＳＫ）を入力するようにユーザに求める。一度ユーザがＳＫを入力し、“継続”ボタン３０３０を選択すると、上記セキュリティ保護キーは、ユーザのコンピュータ５０により好適にはｈｔｔｐを用いてサーバ１０２へ安全に送信される。サーバ１０２は、ウォレット・データベース１０６上の当該ユーザのウォレットに予め格納されているデータと、ユーザデータ（ＩＤとＳＫなど）とを比較する。データが一致すれば、ＳＫが検証され、サーバ１０２により認証がショッピング・アシスタント・コードへ送信される。データが一致しなければ、拒絶が送信される。図１６に示されるようなウォレット情報ウィンドウ３１００として認証を出力してもよい。ＳＫがサーバ１０２により首尾よく検証された場合、ＳＳＬを介して“セキュリティ・クッキー”がセキュリティ保護を施したサーバへ送信され、“セキュリティ・クッキー”がセットされると、ユーザのウォレットを利用するユーザのオンライン・ショッピングセッションが始まる。“セキュリティ・クッキー”は強制的に（aggressively）タイムアウトされ、好適には１時間まで有効とすることが望ましい。
【０１３１】
本発明のショッピング・アシスタント機能を用いてユーザがチェックアウト処理の継続を望む場合、ユーザは“継続”ボタン３１３０を選択する事が出来る。ユーザがマーチャントのチェックアウト処理を用いてチェックアウトを望む場合、ユーザは“取り消し”ボタン３１４０を選択する事が出来る。ユーザが継続ボタン３１３０を選択すると、ショッピング・アシスタント・コードは、サーバ１０２上のウォレット・データベース１０４からユーザのウォレットを検索し、図１７に示されるようにマーチャントのチェックアウト・ウェブページ２１００に自動的に記入を行う。ユーザのウォレットはサーバ１０２により好適にはｈｔｔｐを用いて安全に送信される。ユーザのウォレット、従ってユーザの個人データは、ユーザのデータ格納装置５２に格納する必要は無く、一時メモリ６０（本願明細書でメインメモリまたはＲＡＭと呼ぶ）内に格納するだけでよい。そしてこの個人データは、本発明のこの実施形態のショッピング・アシスタント・コードおよび機能によって、およびこれらと接続されて利用される。このユーザのデータは自動的に時間切れにしたり、ユーザがブラウザを閉じるとき、メモリ６０からフラッシュさせて消したりする事が出来る。
【０１３２】
ブラウザが表示するウェブページの種別に応じて、ショッピング・アシスタント・コードは、ユーザのウォレット（ＲＡＭ内に一時的に格納されたデータ）から適切なユーザデータをウェブページへ提供する。例えば、ウェブページが“料金請求先”用ウェブページであるとショッピング・アシスタント・コードが判断した場合、料金請求先データがＲＡＭからコピーされて、料金請求先ウェブページ内のフィールドにポピュレートされ、最終的にマーチャントのサーバへ伝送される。チェックアウト処理中、ショッピング・アシスタント・コードは、マーチャント・ルールとマッピングファイルおよびユーザのウォレットと接続して処理を行い、種々のマーチャント・チェックアウト・ウェブページにより求められるユーザデータを自動的に提供する。
【０１３３】
ウォレット・データベース１０６はウォレットデータだけを含むものであってもよい。あるいは、ウォレットデータは別のデータと共にデータベース内に配置されたものであってもよい。ショッピング・アシスタント・ボタン１４４および機能によって、およびこれらと接続してウォレットを好適に利用しながら、例えば、ショッピング・アシスタントを使用しない料金支払いやショッピング、および、ユーザが個人データの入力を要求されるほとんどあらゆるオンライン取引に関して、ショッピング・アシスタント以外のアプリケーションによってこのウォレットを使用することも可能である。このウォレットによって、ユーザのデータにセキュリティ保護を施した送信と処理とが行われ、そのデータのセキュリティに不必要な疑いを招くことなく、様々なオンライン取引に関してユーザがそのデータを利用出来るようになる。
【０１３４】
一度ユーザがウォレットを設定すると、ユーザがオンライン・ショッピングを行う時、本発明のこの実施形態に準拠して提供される機能がユーザに利用可能となる。好適には、ユーザが（インターネットブラウザを介して）接続しているインターネットサイトに関係無く、サポートされたマーチャントと接続してオンライン・ショッピング機能を利用出来ることが望ましい。従って、ユーザはプロバイダのインターネットサイトと接続する必要は無く、あるいは、サポートされたマーチャントのウェブサイトと接続する必要さえ無い。ショッピング・アシスタント・コードは、ユーザ（ユーザのコンピュータ５０）と、サーバ１０２と、ウォレット・データベース１０４と、マーチャントのインターネットサイトおよびチェックアウト・ウェブページ間での全ての通信を処理するものである。
【０１３５】
本発明の別の実施形態によれば、プロバイダ１０２以外のパーティが、インターフェイス・オブジェクト・ツールバー４２（図４を参照のこと）のようなブラウザ・インターフェイス・ツールバーにボタン４４（即ちインターフェイス・オブジェクト）を追加することも可能である。例えば、ある企業のウェブサイトにリンクを設け、この企業ウェブサイトへの訪問者が、ブラウザ・インターフェイス２０から、この企業ウェブサイトとワンクリックでつながるリンクを設けた自分のインターフェイス・オブジェクト・ツールバー４２にボタン４４を追加出来るようにすることも可能である。企業、あるいは、ウェブサイトを主催しているいずれのエンティティもプロバイダ１００のスポンサとなる可能性がある。何故なら、インターフェイス・オブジェクト・ツールバー４２に企業のボタンを追加することにより、ただ１回のマウスクリックで別の任意のウェブサイトからその企業のウェブサイトへ戻る事が出来るようになるからである。このようにして、ブラウザ・インターフェイス（即ちツールバー４２）へ企業ボタンを追加することにより、ユーザと企業ウェブサイト間の親近性が確立されることになる。企業スポンサは、ボタン（外観（ワンクリックボタンやプルダウンメニュー）、アイコン、など）の設計を行い、プロバイダにより保守管理され、ブラウザ・インターフェイスと関連づけられるデータベース内へ組み込むためにこのボタンの設計とＵＲＬデータとをプロバイダ１００へ提供する。このようにして、企業スポンサはプロバイダのデータベース内に規定されたボタンを持つ事が出来るようになる。
【０１３６】
その企業ウェブサイトへの訪問者が自分のブラウザ・インターフェイス２０内にその企業のボタンのインストールを望むものの、ブラウザ・インターフェイス・ツールバー４２をまだインストールしていない場合、本発明によって、ブラウザ・インターフェイス２０内のブラウザ・インターフェイス・ツールバー４２と企業ボタン４４とのインストールも可能となる。その一方で、ブラウザ・インターフェイス２０のツールバー２２へ企業ボタン４４を追加することも可能となる。あるいは、インターフェイス・オブジェクト・ツールバー４２のボタン４４として企業ボタン４４を追加することも可能である。
【０１３７】
また教示用ツールとして本発明を利用することも可能である。例えば、インターフェイス・オブジェクト・ツールバー４２は、色、点滅、ハイライトなどを変化させることが可能な複数のボタン４４を備えているため、そのボタンや、そのボタンが提供する機能へユーザの注意を向けさせる事が出来る。
【０１３８】
ユーザが競合するウェブサイトを訪問している時、プロバイダや企業スポンサの或る特色についてプロバイダや企業スポンサがユーザに通知出来るようにすることも本発明では可能である。例えば、ユーザがある自動車会社のウェブサイトを訪問している時、対応するプロバイダの特色（プロバイダの自動車など）のハイライト表示を行って、その特色の利用可用性についてプロバイダウェブサイトでユーザに警告する事が出来る。ユーザがブラウザに或るウェブサイトへのナビゲーションを行わせる度に、そのＵＲＬをインターセプトするソフトウェアをユーザのコンピュータに設けることも可能である。そのインターセプトされたＵＲＬを、プロバイダのプロパティ用の複数のＵＲＬが含まれるファイルと比較する事が出来る。
【０１３９】
重要なことは、ユーザが任意の特定時点にナビゲーションを行った行き先ウェブサイトの検出がユーザのコンピュータのみで検出出来るという点である。これによって、インターネットでのユーザの活動に関する情報がどのサーバへも伝送されないことになる。
【０１４０】
一般に、ユーザのマーチャント・リストにマーチャントを追加するには２つのステップが要求される。第１に、ユーザは、当該マーチャントのウェブページを介してマーチャントとオンライン・アカウントを確立しなければならない。これを行う際、ユーザはユーザのログインＩＤと、パスワードとアカウント番号の入力を求められる場合がある。一度当該データがマーチャントにより受け付けられると、ユーザ用としてオンライン・アカウントが設定される。第２に、ユーザは、セキュリティ保護が施されたデータベースでこのオンライン・マーチャントアカウントを当該ユーザ用のデータとリンクしなければならない。例えば、ユーザは、マーチャントを選択する事が出来るウェブページにアクセスして、ユーザとマーチャントとに固有のデータ（当該ユーザのログインＩＤ、パスワード、アカウント番号など）を入力する事が出来る。次いで、（マーチャント・ウェブサイトと交信することにより）当該データを照合し、セキュリティ保護が施されたデータベースに該データを当該ユーザ用として格納する事が出来る。別のウェブページ（即ち上記マーチャントと関連しないウェブページ）を用いてこれらのステップを実行してもよい。一度上記２つのステップが終了すると、ユーザはマーチャント・リストにそのマーチャントを追加する事が出来、単にマーチャント・リストから当該マーチャントを選択するだけで、ある特定のマーチャントのユーザ用アカウントへ自動的にログインすることが可能となる。
【０１４１】
ユーザが自分のブラウザを起動（開始）する度に、本発明に基づいて提供されるコンピュータコードは所定のインターネットサイトと自動的に交信し、当該ユーザに固有のデータが検索される。この検索されたデータを全体的にまたは部分的に利用してブラウザに機能を与え、ブラウザ・インターフェイスにインターフェイス・オブジェクトを追加することが可能となる。このようにして、上記検索されたデータにより、最新のマーチャント・リストを含む自動ログインインターフェイス・オブジェクトが規定されることになる。
【０１４２】
次に図１８ａ〜１８ｂを参照しながら、本発明の自動ログイン方法の好ましい実施形態について詳細に論じることにする。図１８ａ〜１８ｂに示され、以下詳細に論じる方法は、上記に詳述したように、自動ログイン・インターフェイス・オブジェクトがブラウザ・インターフェイスに予め追加されているとみなす方法である。当該方法はまた、本発明による自動ログイン（およびその他の）機能を提供するコンピュータコードがユーザ用コンピュータへ伝送され、該コンピュータのプロセッサおよびユーザのインターネットブラウザと接続して実行可能であるとみなすものである。ステップ１８１０で、ユーザは、ボタンとプルダウンメニューを備えたものであってもよい自動ログイン・インターフェイス・オブジェクトを介して提供されるマーチャント・リストからマーチャントを選択する。ステップ１８２０で、コンピュータコード（クライアントとも呼ばれる）は、自動ログイン処理が内部で実行され、隠されたウィンドウをブラウザに開かせる。コンピュータコードはまたマーチャントＩＤとクッキーとを含む第１リクエストも、サーバ（好ましくは、図１９に示されるような、および、以下さらに詳細に論じるような機密保護を施したサーバ）へ伝送する。機密保護を施したサーバは第１リクエストを受け取り、ステップ１８２２でクッキーがセキュリティ・クッキーであるかどうかを判定する。クッキーがセキュリティ・クッキーでなければ、ユーザは、現在のインターネットセッションについては安全にログインしていないか、ユーザが安全にログインしてから所定の時間が経過していることになる。いずれの場合にせよ、機密保護を施したサーバは、ステップ１８３０で、安全にログインするために或るデータを入力するように促すユーザのブラウザへ、１以上のウェブページ（ユーザのブラウザ内に新たなブラウザ・ウィンドウとして開く）を伝送する。ステップ１８３２で、ユーザが入力しなければならないデータの１つはセキュリティ保護キーであり、機密保護を施したサーバはこのきーを受け取って、当該ユーザ用として正しいおよび／または有効なセキュリティ保護キーであるかどうかを判定する。不正しくないセキュリティ保護キーが入力された場合、ステップ１８３４で、機密保護を施したサーバは、ユーザが所定の回数より多くセキュリティ保護キーの再入力を試みたかどうかを判定する。ユーザの再試行が許容回数を超えた場合、セキュリティ保護を施したログイン処理は終了する（機密保護を施したサーバにより終了されることになり、ユーザのブラウザは、ユーザが自動ログインインターフェイス・オブジェクト（ボタン）のマーチャント・リストからマーチャントを選択する前に表示されているウェブページへ戻る。ステップ１８３６で、ユーザが再試行の許容回数を超えていなければ、セキュリティ保護を施したログイン処理の取り消しを選択してなければ、ユーザはセキュリティ保護キーの再入力を試みてもよい。ステップ１８３２で、機密保護を施したサーバは正しいセキュリティ保護キーが入力されたかどうかを再び判定する。所定の試行回数後に、正しいセキュリティ保護キーが入力されなければ、または、ユーザが取り消しボタンを選択することによりセキュリティ保護を施したログイン処理の終了を選べば、セキュリティ保護を施したログイン処理は終了し（機密保護を施したサーバにより終了され）、ユーザのブラウザは、ユーザが自動ログインインターフェイス・オブジェクト（ボタン）のマーチャント・リストからマーチャントを選択する前に表示されているウェブページへ戻ることになる（ステップ１８５０）。
【０１４３】
ユーザが正しいセキュリティ保護キーを首尾よく入力した場合、ステップ１８４０で、機密保護を施したサーバは承認メッセージをコンピュータコードへ伝送し、次いで、該サーバは、選択されたマーチャント固有の、ユーザのアクセス・クリデンシャルを求める第２リクエストをフィードサーバ１８４２へ伝送する。この第２リクエストは、フィードサーバがデータベース内にユーザおよびユーザのアクセス・クリデンシャルの所在位置を見つけるために翻訳する事が出来るユーザＩＤおよびマーチャントＩＤを含むものであってもよい。フィードサーバが、この第２リクエストとデータベースのエントリとの一致を見つけ出した場合、ユーザのアクセス・クリデンシャル（マーチャント用ログインＩＤおよびパスワード、マーチャント用ウェブサイトＩＤ（ＵＲＬなど）およびマーチャント・ルール・ファイル）がフィードサーバによりユーザ用コンピュータへ伝送される。コンピュータコードはアクセス・クリデンシャルを受け取り、ユーザのブラウザに（ＵＲＬにより特定されるような）マーチャントのウェブサイトへナビゲートさせ、ユーザのログインＩＤおよびパスワードと共に、および、マーチャント・ルール・ファイルに従ってログインフィールドを自動的にポピュレートさせ、マーチャント・ウェブサイトへのユーザの自動ログインを実行させる。
【０１４４】
上述の自動ログイン処理は本発明に従って提供されるコンピュータコードにより透過的に実行される。さらに、本発明は、ブラウザ・インターフェイスを制御し、それによって、クライアント側の変更を伴うことなく、ナビゲーションを制御するルール（この場合では、マーチャント・ウェブサイトへの自動化ログインのためのルール）をサーバ側で変更出来るように、ユーザによるナビゲーションを制御する能力を提供するものである。本発明は、上述のルールへの変更を実行するためにブラウザが利用可能なドキュメントオブジェクトモジュール（ＤＯＭ）を好適に利用することを可能とするものである。即ち、ユーザがマーチャント・リストからマーチャントを選択した後、コンピュータコードはユーザからのさらなる入力を必要とすることなく（ユーザが安全にログインされない場合を除いて）自動ログイン処理を実行する。図１８ａ〜１８ｂを続けて参照しながら、本発明に従ってコンピュータコードにより実行される自動ログインについてさらに詳細に論じることにする。ステップ１８４４で、コンピュータコードは第２リクエストに応答してアクセス・クリデンシャルを受け取ったかどうかの判定を行う。アクセス・クリデンシャルを受け取っていなければ、コンピュータコードはユーザのブラウザにより表示されるエラーメッセージ作成する（ステップ１８６０）。その後、コンピュータコードは（ステップ１８２０で開かれた）隠されたウィンドウを閉じさせ、自動ログイン処理を終了させる。次いで、ブラウザ内の表示は、ユーザがマーチャント・リストからマーチャントを選択する前に表示されているウェブページへ戻る。ステップ１８４４で判定されたように、コンピュータコードがアクセス・クリデンシャルを受け取っていれば、ステップ１８７０でコンピュータコードは自動ログイン処理の残り部分を実行するために別の隠されたウィンドウを開始する。自動ログイン処理が終了する前であればいつでも、ユーザは、コンピュータコード表示されている適当なボタン（コンピュータコードが自動ログイン処理を実行している間、表示されている取り消しボタン）を選択することにより、この処理を取り消す事が出来る。ステップ１８７２で、ユーザが自動ログイン処理の取り消しを選んだ場合、コンピュータコードは処理中に開かれた全ての隠されたウィンドウを閉じることになり、ブラウザによる表示は、ユーザがマーチャント・リストからマーチャントを選択する前に表示されているウェブページへ戻る。ユーザが手動で自動ログイン処理を終了させなかった場合、処理が終了される前に所定の時間が過ぎれば、コンピュータコードが処理を取り消してもよい。例えば、アクセス・クリデンシャルを受け取った後、装置やネットワーク上の問題に起因してコンピュータコードはブラウザにマーチャント・ウェブサイトへナビゲートさせる事が出来なくなる場合がある。その場合、コンピュータコードは自動ログイン処理を終了させ（ステップ１８７４）、自動ログインが終了できなかった旨のエラーメッセージをユーザに対して表示することになる（ステップ１８７８）。その時点で、コンピュータコードは、自動ログイン処理を再試行する機会をユーザに提供してもよい（ステップ１８７８）。この時点で、処理はステップ１８４４へ戻り、本願明細書に記載したように進む。
【０１４５】
自動ログイン処理が自動的にタイムアウトしていないとコンピュータコードが判断した場合（ステップ１８７４）、コンピュータコードはマーチャント・ウェブサイトからログイン確認応答を受け取ったかどうかを判定する（ステップ１８７６）。これを行うために、コンピュータコードは隠されたウィンドウで受け取ったＨＴＭＬデータの評価を行い、所定の１ワード、複数のワード、メッセージまたはマーチャント・ウェブサイトでのログインが首尾よく終ったことを示す別のインジケータを探索する。例えば、ユーザが首尾よくログインした後、マーチャント・ウェブサイトはメッセージを表示してもよい。アクセス・クリデンシャルの一部としてコンピュータコードへフィードサーバが伝送したマーチャント・ルール・ファイルの一部として、当該メッセージを含めるようにしてもよい。このようにして、コンピュータコードは自動ログインが首尾よく終ったかどうかを判定する事が出来る。首尾よく終った場合、コンピュータコードはメインのブラウザ・ウィンドウでマーチャント・ウェブサイトからのウェブページを表示し（ステップ１８９０）、それによって効果的に、ユーザのブラウザにマーチャント・ウェブサイトへ、次いで当該ユーザのアカウント用ウェブページへ直接ナビゲートさせる。
【０１４６】
次に図１９を参照すると、ユーザがウェブサイトへ自動ログインを容易に行うシステムが示される。システムは、設計上の選択肢の定型としてサーバ（単一のサーバまたは複数のサーバ１９００、１９２０、１９４０であってもよい）を備えたものである。好ましい実施形態では、システムはデータ格納装置を備え、該データ格納装置に格納されたソフトウェアを有するサーバを備える。本願明細書で詳述したように、ユーザのインターネットブラウザへの自動ログイン機能を追加するソフトウェアはコンピュータコードをユーザ用コンピュータへ伝送する。
【０１４７】
図１９に示された実施形態では、機密保護を施したサーバ１９００がコンピュータコードと接続したセキュリティ保護を施したログイン処理実行する。機密保護を施したサーバ１９００は複数のユーザデータおよびそれに対応するセキュリティ保護キー情報を持つデータベースを有する。機密保護を施したサーバ１９００はユーザからのクッキーを受け取り、クッキーが有効なセキュリティ保護キーを持つセキュリティ・クッキーであるかどうかを判定する事が出来る。そうであれば、機密保護を施したサーバ１９００はユーザ用コンピュータのコンピュータコードへ肯定応答または認証を伝送する事が出来る。
【０１４８】
フィードサーバ１９２０は、ユーザにより提供された個々のマーチャント用のマーチャント・ログインおよびパスワードデータ、並びに、マーチャント・ルールデータを含む、複数のユーザデータが含まれているデータベースを有する。ユーザ用コンピュータのコンピュータコードは、機密保護を施したサーバから肯定応答または認証を受け取ると、コンピュータコードは、ユーザＩＤおよびマーチャントＩＤを含むクッキー有するフィードサーバへ第２リクエストを伝送する。フィードサーバは、フィードサーバのデータベース内で特定されるユーザＩＤおよびマーチャントが存在するかどうかを判定し、存在すれば、ユーザ用コンピュータへアクセス・クリデンシャルを伝送する。好ましい実施形態では、アクセス・クリデンシャルには、特定のマーチャントに固有の全てのユーザログインＩＤ、パスワード、およびマーチャント・ルール・ファイルを含む。コンピュータコードはアクセス・クリデンシャルを用いて、当該サイトのマーチャントのウェブサイトへおよびログイン・ウェブページへユーザのブラウザをナビゲートさせ、ログインフィールド（ログインＩＤとパスワード）を自動的にポピュレートさせ、マーチャント・ルール・ファイルに従って（“ログイン”や別の同様のボタンを選択するなど）ログインを実行する。この時点で、ユーザ用コンピュータはマーチャントのサーバ１９４０とインターネットを介して接続してもよい。一度コンピュータコードが自動ログインが首尾よく終ったことを確定すると、ユーザのアカウント用マーチャント・ウェブページはブラウザにより表示される。
【０１４９】
当業者は、さらに、本願明細書で行われた開示から、ユーザのコンピュータ並びに種々のサーバに設けたソフトウェアを利用して、本発明の種々の実施形態が実施可能であることは明らかである。
【０１５０】
任意の数のコンピュータ技術を利用して本発明を実施出来ることを理解されたい。例えば、インターネットと接続して作動可能なものとして本実施形態を開示したが、例えば、広域ネットワークを含む任意のコンピュータネットワークを介して本発明を利用することも可能である。同様に、ユーザのコンピュータ５０は、例えば、個人用情報機器、ウェブ可能な携帯電話、ネットワークの中へダイヤル出来る有線電話、モバイルコンピュータ、パーソナルコンピュータ、インターネット機器等を含むネットワークと接続された任意の装置であってもよい。さらに、本願明細書に記載のサーバは、任意のソフトウェアを実行する任意のタイプのものであってもよく、さらに、本願明細書に記載のソフトウェアモジュール、オブジェクトおよびプラグインは任意のプログラム言語で書かれたものであってもよい。最後に、本願明細書に記載のデータベースと格納装置は、例えば、ローカルなコンピュータメモリ、ネットワークと接続された格納装置、並びに、磁気や光学などの任意の公知の記憶媒体を含む任意の格納技術を利用するものであってもよい。
【０１５１】
以上、本発明の好ましい実施形態で適用されるような本発明の主要な新規の特徴を示し、説明し、指摘したが、当業者が、本発明の精神から逸脱することなく、開示された発明の細部および形態の様々な省略と代用と変更とを行うことも可能である。従って、本発明は、本願明細書に添付の特許請求の範囲によってのみ限定されるものである。
【図面の簡単な説明】
【０１５２】
【図１】従来技術のインターネットブラウザ・インターフェイスの図を描く。
【図２】本発明の一実施形態に基づくブラウザ・ツールバーにインターフェイス・オブジェクトを含むインターネットブラウザ・インターフェイスの図を描く。
【図３】本発明の一実施形態に基づくインターフェイス・オブジェクトを含むインターフェイス・ツールバーを備えたインターネットブラウザ・インターフェイスの図を描く。
【図４】本発明の一実施形態に基づく複数のインターフェイス・オブジェクトを含むインターフェイス・ツールバーを備えたインターネットブラウザ・インターフェイスの図を描く。
【図５】本発明によるインターネットブラウザ・インターフェイスの制御方法を示すフローチャートである。
【図６】本発明の種々の実施形態に基づくインターネットブラウザ・インターフェイスを制御し、表示する方法を示すフローチャートである。
【図７】本発明の種々の実施形態に基づくインターネットブラウザ・インターフェイスを制御し、表示する方法を示すフローチャートである。
【図８】本発明の種々の実施形態に基づくインターネットブラウザ・インターフェイスを制御し、表示する方法を示すフローチャートである。
【図８ａ】本発明の種々の実施形態に基づくインターネットブラウザ・インターフェイスを制御し、表示する方法を示すフローチャートである。
【図９】本発明の種々の実施形態に基づくインターネットブラウザ・インターフェイスを制御し、表示する方法を示すフローチャートである。
【図１０】本発明を実現することが可能なインターネットと接続されたコンピュータの概略ブロック図である。
【図１１】本発明の一実施形態に基づくショッピング・アシスタント・ボタンを備えたインターネットブラウザ・インターフェイスの例示スクリーンショットである。
【図１２】本発明の一実施形態に基づくウォレット設定ウェブページの例示スクリーンショットである。
【図１３】ウォレットデータ入力ウェブページの例示スクリーンショットである。
【図１４】本発明の一実施形態に基づくウォレット・サマリ・ウェブページの例示スクリーンショットである。
【図１５】本発明の一実施形態に基づくセキュリティ保護キーウィンドウの例示スクリーンショットである。
【図１６】本発明の一実施形態に基づくウォレット情報ウィンドウの例示スクリーンショットである。
【図１７】本発明の一実施形態に基づくサポートされたマーチャント・チェックアウトのウェブページの例示スクリーンショットである。
【図１８ａ】本発明の一実施形態に基づくマーチャント・ウェブサイトにユーザを自動的にログインする方法を示すフローチャートである。
【図１８ｂ】本発明の一実施形態に基づくマーチャント・ウェブサイトにユーザを自動的にログインする方法を示すフローチャートである。
【図１９】本発明の一実施形態に基づくマーチャント・ウェブサイトへのユーザによる自動ログインを容易に行えるようにするシステムを示す概略図である。
【図１】
2005508047.tif 000005
【図２】
2005508047.tif 000006
【図３】
2005508047.tif 000007
【図４】
2005508047.tif 000008
【図５】
2005508047.tif 000009
【図６】
2005508047.tif 000010
【図７】
2005508047.tif 000011
【図８】
2005508047.tif 000012
【図８ａ】
2005508047.tif 000013
【図９】
2005508047.tif 000014
【図１０】
2005508047.tif 000015
【図１１】
2005508047.tif 000016
【図１２】
2005508047.tif 000017
【図１３】
2005508047.tif 000018
【図１４】
2005508047.tif 000019
【図１５】
2005508047.tif 000020
【図１６】
2005508047.tif 000021
【図１７】
2005508047.tif 000022
【図１８ａ】
2005508047.tif 000023
【図１８ｂ】
2005508047.tif 000024
【図１９】
2005508047.tif 000025
【国際公開パンフレット】
2005508047.tif 000026
2005508047.tif 000027
2005508047.tif 000028
2005508047.tif 000029
2005508047.tif 000030
2005508047.tif 000031
2005508047.tif 000032
2005508047.tif 000033
2005508047.tif 000034
2005508047.tif 000035
2005508047.tif 000036
2005508047.tif 000037
2005508047.tif 000038
2005508047.tif 000039
2005508047.tif 000040
2005508047.tif 000041
2005508047.tif 000042
2005508047.tif 000043
2005508047.tif 000044
2005508047.tif 000045
2005508047.tif 000046
2005508047.tif 000047
2005508047.tif 000048
2005508047.tif 000049
2005508047.tif 000050
2005508047.tif 000051
2005508047.tif 000052
2005508047.tif 000053
2005508047.tif 000054
2005508047.tif 000055
2005508047.tif 000056
2005508047.tif 000057
2005508047.tif 000058
2005508047.tif 000059
2005508047.tif 000060
2005508047.tif 000061
2005508047.tif 000062
2005508047.tif 000063
2005508047.tif 000064
2005508047.tif 000065
2005508047.tif 000066
2005508047.tif 000067
2005508047.tif 000068
2005508047.tif 000069
2005508047.tif 000070
2005508047.tif 000071
2005508047.tif 000072
2005508047.tif 000073
2005508047.tif 000074
2005508047.tif 000075
2005508047.tif 000076
2005508047.tif 000077
2005508047.tif 000078
2005508047.tif 000079
2005508047.tif 000080
2005508047.tif 000081
2005508047.tif 000082
2005508047.tif 000083
2005508047.tif 000084
2005508047.tif 000085
2005508047.tif 000086
2005508047.tif 000087
2005508047.tif 000088
2005508047.tif 000089
2005508047.tif 000090
2005508047.tif 000091
2005508047.tif 000092
2005508047.tif 000093
2005508047.tif 000094
2005508047.tif 000095
2005508047.tif 000096
2005508047.tif 000097
2005508047.tif 000098
2005508047.tif 000099
2005508047.tif 000100
2005508047.tif 000101
2005508047.tif 000102
2005508047.tif 000103
2005508047.tif 000104
2005508047.tif 000105
2005508047.tif 000106
2005508047.tif 000107
2005508047.tif 000108
2005508047.tif 000109
2005508047.tif 000110
2005508047.tif 000111
2005508047.tif 000112
2005508047.tif 000113
2005508047.tif 000114
2005508047.tif 000115
2005508047.tif 000116
2005508047.tif 000117
2005508047.tif 000118
2005508047.tif 000119
2005508047.tif 000120
2005508047.tif 000121
2005508047.tif 000122
2005508047.tif 000123
【国際調査報告】
2005508047.tif 000124