(57)【要約】一実施形態では、第１のサーバコンピュータ(102)に格納されているウェブページ(110)は、第２のサーバコンピュータ(103)に格納されているラッピングコード(114)への参照(112)を含む。該ラッピングコード(114)は、該ウェブページ(110)がクライアントコンピュータ(101)へダウンロードされる際に該クライアントコンピュータ(101)内へ引き出すことが可能なものである。クライアントコンピュータ(101)での実行時に、ラッピングコード(114)は、ウェブページ(110)に機能を追加することが可能である。該ラッピングコード(114)により追加された機能は、ウェブページ(110)とのユーザ対話に応じて、該ウェブページ(110)の既存の機能と共にアクティブにすることが可能である。【選択図】図２
2007535012.tif 000002
【特許請求の範囲】
【請求項１】
ウェブページの挙動を変更する方法であって、
第２のサーバコンピュータに格納されているラッピングコードへの参照を含むウェブページを第１のサーバコンピュータに格納し、
該ウェブページをクライアントコンピュータへ提供し、
前記第２のサーバコンピュータから前記クライアントコンピュータへ前記ラッピングコードを引き出し、
該ラッピングコードを前記クライアントコンピュータで実行して、前記第１のサーバコンピュータに格納されているウェブページに存在しない機能を追加し、
該ウェブページとのユーザ対話に応じて、該ユーザ対話に対応する該ウェブページの既存の機能をアクティブにし、及び前記ラッピングコードにより追加された機能をアクティブにする、
という各ステップを含む、ウェブページの挙動を変更する方法。
【請求項２】
前記ウェブページの前記既存の機能が、前記ウェブページを表示しているウェブブラウザを別のウェブページへと向けさせることを含み、前記ラッピングコードにより追加された前記機能が、別のブラウザウィンドウ内に広告を表示することを含む、請求項１に記載の方法。
【請求項３】
前記ラッピングコードを前記クライアントコンピュータで実行する前記ステップが、
ウェブページ内のオブジェクトを探し出し、
該オブジェクトとユーザが対話した際に必ず前記ラッピングコードにより追加された前記機能をアクティブにするよう前記クライアントコンピュータを構成する、
という各ステップを含む、請求項１に記載の方法。
【請求項４】
前記ラッピングコードにより追加された前記機能をアクティブにするよう前記クライアントコンピュータを構成する前記ステップが、ユーザが前記オブジェクトと対話した際に必ず別ウィンドウに広告を表示するイベントハンドラを前記オブジェクトに割り当てるステップを含む、請求項３に記載の方法。
【請求項５】
前記ウェブページの前記既存の機能が、何もアクションを実行しないものである、請求項１に記載の方法。
【請求項６】
前記ラッピングコードを前記クライアントコンピュータで実行する前記ステップが、前記ウェブページの可視部分上に透明層を配置するステップを含む、請求項１に記載の方法。
【請求項７】
前記ウェブページの前記既存の機能をアクティブにする前記ステップが、
前記透明層のうち前記ウェブページとのユーザ対話による影響を受けた部分を検出し、
該透明層の該影響を受けた部分と実質的に同じ座標を有する前記ウェブページの可視部分を判定し、
該ウェブページの該可視部分に割り当てられた既存の機能を実行する、
という各ステップを含む、請求項６に記載の方法。
【請求項８】
前記ラッピングコードにより追加された前記機能をアクティブにする前記ステップが、別のブラウザウィンドウ内に広告を表示するステップを含む、請求項７に記載の方法。
【請求項９】
前記ユーザ対話が、前記ウェブページのオブジェクト上へのマウスオーバーを含む、請求項１に記載の方法。
【請求項１０】
前記ユーザ対話が、前記ウェブページのオブジェクト上のマウスクリックを含む、請求項１に記載の方法。
【請求項１１】
前記ユーザ対話が、前記ウェブページ上の任意の場所におけるマウスクリックを含む、請求項１に記載の方法。
【請求項１２】
前記広告が、アプリケーションプログラムをダウンロードするための招待を含む、請求項８に記載の方法。
【請求項１３】
コンピュータネットワークを介して提供されるドキュメントの挙動を変更するためのシステムであって、
参照及び既存の機能を含むドキュメントを含む第１のサーバコンピュータと、
前記参照により指し示されるラッピングコードを含む第２のサーバコンピュータであって、該ラッピングコードが、前記ドキュメントがクライアントコンピュータへダウンロードされた際に該クライアントコンピュータへ提供されて該クライアントコンピュータで実行されるよう構成されたものであり、及び前記ドキュメントとのユーザ対話に応じて該ラッピングコードにより追加された機能をアクティブにすると共に前記既存の機能をアクティブにすることを可能にする命令を含むものである、第２のサーバコンピュータと
を含む、コンピュータネットワークを介して提供されるドキュメントの挙動を変更するためのシステム。
【請求項１４】
前記ラッピングコードが、
前記ウェブページとのユーザ対話を検出するための、コンピュータにより読み取ることが可能なプログラムコードと
前記ウェブページとの前記ユーザ対話に応じて別のブラウザウィンドウ内に広告を表示するための、コンピュータにより読み取ることが可能なプログラムコードと
を含む、請求項１３に記載のシステム。
【請求項１５】
前記ユーザ対話が、前記ウェブページのあらゆる可視部分上のマウスクリックを含む、請求項１３に記載のシステム。
【請求項１６】
前記ラッピングコードが、
前記ウェブページ内のオブジェクトを探し出すための、コンピュータにより読み取ることが可能なプログラムコードと
ユーザが前記オブジェクトと対話した際に別のブラウザウィンドウ内に広告を表示するための、コンピュータにより読み取ることが可能なプログラムコードと、
前記オブジェクトに割り当てられた機能であって前記第１のサーバコンピュータに格納されている前記ドキュメント内に既に存在する機能をアクティブにすることを可能にするための、コンピュータにより読み取ることが可能なプログラムコードと
を含む、請求項１３に記載のシステム。
【請求項１７】
前記ラッピングコードが、
前記ウェブページ内のアンカーオブジェクトを探し出すための、コンピュータにより読み取ることが可能なプログラムコードと
ユーザが前記アンカーオブジェクトと対話した際に別のブラウザウィンドウ内に広告を表示するための、コンピュータにより読み取ることが可能なプログラムコードと、
前記オブジェクトに割り当てられた機能であって前記第１のサーバコンピュータに格納されている前記ドキュメント内に既に存在する前記アンカーオブジェクトに割り当てられている機能をアクティブにすることを可能にするための、コンピュータにより読み取ることが可能なプログラムコードと
を含む、請求項１３に記載のシステム。
【請求項１８】
前記ラッピングコードが、
前記ドキュメント上に透明層を配置するための、コンピュータにより読み取ることが可能なプログラムコードと、
前記透明層のうち前記ドキュメントとのユーザ対話による影響を受けた部分を検出するための、コンピュータにより読み取ることが可能なプログラムコードと、
該透明層の該影響を受けた部分と実質的に同じ座標を有する前記ドキュメントの可視部分を判定するための、コンピュータにより読み取ることが可能なプログラムコードと、
該ドキュメントの該可視部分に割り当てられた既存の機能をアクティブにすることを可能にするための、コンピュータにより読み取ることが可能なプログラムコードと
を含む、請求項１３に記載のシステム。
【請求項１９】
インターネットを介して受信されたウェブページの挙動を変更するための方法であって、
サーバコンピュータに格納されているラッピングコードへの参照を含むウェブページをインターネットを介してクライアントコンピュータへ提供し、
該クライアントコンピュータへラッピングコードを提供し、
前記ウェブページの可視部分をウェブブラウザ内に表示し、
前記ラッピングコードを前記クライアントコンピュータで実行して、前記ウェブページの可視部分上でのマウスクリックをトラップし、
該ウェブページの該可視部分上でのマウスクリックに応じて、別のブラウザウィンドウ内に広告を表示し、及び前記ウェブブラウザ上に別のウェブページを表示する、
という各ステップを含む、インターネットを介して受信されたウェブページの挙動を変更するための方法。
【請求項２０】
前記ラッピングコードを前記クライアントコンピュータで実行して前記マウスクリックをトラップする前記ステップが、
前記ウェブページ上のオブジェクトを探し出し、
該オブジェクト上のマウスクリックに応じてイベントハンドラを割り当て、該イベントハンドラが前記ラッピングコードにより追加されたものである、
という各ステップを含む、請求項１９に記載の方法。
【請求項２１】
前記イベントハンドラが、前記別のブラウザウィンドウ内に広告を表示する、請求項２０に記載の方法。
【請求項２２】
前記ラッピングコードを前記クライアントコンピュータで実行して前記マウスクリックをトラップする前記ステップが、
前記ウェブページの可視部分上に透明層を配置する、
というステップを含む、請求項１９に記載の方法。
【請求項２３】
前記広告が、アプリケーションプログラムをダウンロードするための招待を含む、請求項１９に記載の方法。
【請求項２４】
ドキュメントとのユーザ対話に応答する方法であって、
コンピュータネットワークを介してクライアントコンピュータへドキュメントを提供し、
該ドキュメントとのユーザ対話に応じて、別ウィンドウを表示し、及び該ユーザ対話に対応する前記ドキュメントの既存の機能をアクティブにする、
という各ステップを含む、ドキュメントとのユーザ対話に応答する方法。
【請求項２５】
前記ドキュメントがウェブページを含み、前記コンピュータネットワークがインターネットを含む、請求項２４に記載の方法。
【請求項２６】
前記ユーザ対話が、前記ウェブページ上のリンク上でのマウスクリックを含む、請求項２５に記載の方法。
【請求項２７】
前記ドキュメントが、前記クライアントコンピュータに最初に受信されたときには別ウィンドウを表示する能力を有さないものである、請求項２４に記載の方法。
【請求項２８】
第１のサーバコンピュータからのラッピングコードが、前記クライアントコンピュータに引き出されて該クライアントコンピュータで実行されて、前記別ウィンドウを表示する能力が前記ドキュメントに与えられ、前記ドキュメントが、第２のサーバコンピュータにより前記クライアントコンピュータへ提供される、請求項２７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータシステムに関し、特にコンピュータネットワークを介して受信したドキュメントの処理に関する（但しこれには限定されない）ものである。
【背景技術】
【０００２】
インターネット等の大規模コンピュータネットワークは、比較的広範囲で高速な情報の普及を可能にする。例えば、インターネット上では、オンラインサービス及び様々な話題に関する情報を提供するウェブサイトに容易にアクセスすることができる。コンピュータ及びブラウザを有するユーザは、１つ又は２つ以上のウェブサイトへナビゲートして、ニュース、地図、コンピュータプログラム、ビデオ、音楽、製品、E-mailその他にアクセスすることが可能である。
【０００３】
ウェブサイトは一般に、「ウェブページ」と呼ばれるダウンロード可能なドキュメントを格納している１つ又は２つ以上のサーバコンピュータ上で実行される。周知のように、ウェブページは、テキスト及びグラフィカルデータ、並びにクライアントコンピュータで実行されるコンピュータにより読み出すことが可能なプログラムコードから構成することが可能なものである。ウェブページはまた、様々な製品の広告を含むことが可能である。広告は、ラジオ及びテレビと同じ役割をインターネット上で有するものである。概して言えば、広告が生み出す収入は、情報又はサービスに対する無料又は安価でのアクセスをウェブサイトが提供することを可能にする。例えば、広告は、ウェブサイトがE-mailサービス又は最新ニュースへのアクセスを無料で提供することを可能にする。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ウェブサイトは、別のウェブサイトまたはインターネット上で製品（すなわち商品又はサービス）を提供する別の団体と提携を結ぶことが可能である。例えば、ウェブサイトは、互いのリンクを協同して表示することが可能である。別の例としては、ウェブサイトは、オンラインマーケティング会社といった別の団体の広告を表示することに同意することが可能である。これらの提携は、一般にウェブサイトにとって良いものであるが、他の団体のためにアクションを起こす場合には、既存のウェブページを変更する必要があり得る。ウェブサイトは、そのウェブページに大きな変化を強いることになる提携を結ぶことに躊躇する可能性がある。
【課題を解決するための手段】
【０００５】
一実施形態では、第１のサーバコンピュータに格納されているウェブページは、第２のサーバコンピュータに格納されているラッピングコードへの参照を含む。該ラッピングコードは、該ウェブページがクライアントコンピュータへダウンロードされる際に該クライアントコンピュータ内へ引き出すことが可能なものである。クライアントコンピュータでの実行時に、ラッピングコードは、ウェブページに機能を追加することが可能である。該ラッピングコードにより追加された機能は、ウェブページとのユーザ対話に応じて、該ウェブページの既存の機能と共にアクティブにすることが可能である。
【０００６】
本発明の上述その他の特徴は、添付図面及び特許請求の範囲を含む本開示全体を参照することにより当業者には容易に明らかとなろう。
【発明を実施するための最良の形態】
【０００７】
異なる図面における同一符号は、同一又は同様の構成要素を示している。
【０００８】
本開示では、本発明の実施形態の完全な理解を提供するために、システム、構成要素、及び方法の実例といった、多数の特定の細部が提供される。しかし、本発明は、かかる特定の細部のうちの１つ又は２つ以上なしで実施することが可能である、ということが当業者には理解されよう。他の例では、本発明の特徴が曖昧になるのを回避すべく、周知の細部は図示せず又は説明しない。
【０００９】
コンピュータに関連する者には、本書で開示する構成要素が、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせ（例えばファームウェア）で実施することが可能である、ということが理解されよう。ソフトウェアによる構成要素は、コンピュータにより読み出すことが可能な記憶媒体（メモリ、大容量記憶装置、又はリムーバブル記憶装置等）に格納された、コンピュータにより読み取ることが可能なプログラムコードという形をとることが可能である。例えば、コンピュータにより読み出すことが可能な記憶媒体は、特定の構成要素の機能を実行するための、コンピュータにより読み取ることが可能なプログラムコードを含むことが可能である。同様に、１つ又は２つ以上の構成要素を含むようコンピュータメモリを構成し、次いでそれをプロセッサにより実行することが可能である。複数の構成要素は、複数のモジュールで別個に実施することが可能であり、又はその全てを単一のモジュールで実施することが可能である。
【００１０】
ここで図１を参照すると、本発明の一実施形態によるコンピュータネットワーク100の概略図が示されている。ネットワーク100は、１つ又は２つ以上のクライアントコンピュータ101、１つ又は２つ以上のウェブサーバコンピュータ102、１つ又は２つ以上のパートナーサーバコンピュータ103、及び図示しないその他のコンピュータを含む。用語「コンピュータ」は、パーソナルディジタルアシスタント（ＰＤＡ）、ディジタル電話、無線端末、その他を含む、あらゆるタイプの情報処理装置を含むものである、ということに留意されたい。ゲートウェイ、ルータ、ブリッジ、インターネットサービスプロバイダネットワーク、公衆電話交換網、プロキシサーバ、及びファイアウォール等といった中間ノードは、明瞭化のため図示していない。図１の例では、ネットワーク100は、インターネットを含むものであるが、あらゆるタイプのコンピュータネットワークを使用することが可能である。コンピュータは、本発明の利点を損なうことなく、あらゆるタイプの接続手段を使用してネットワーク100に接続することが可能である。
【００１１】
クライアントコンピュータ101は、典型的には、Microsoft Windows (R) オペレーティングシステムを実行しているようなパーソナルコンピュータである（但しこれは必須ではない）。ユーザは、適当な装備を有するクライアントコンピュータ101を使用してネットワーク100に入り、これに結合されたコンピュータにアクセスすることが可能である。例えば、クライアントコンピュータ101上のユーザは、ウェブブラウザ116を使用してウェブサーバコンピュータ102のウェブページにアクセスすることが可能である。ウェブブラウザ116は、市販のウェブブラウザとすることが可能である。一実施形態では、ウェブブラウザ116は、Microsoft Internet Explorer (R) ウェブブラウザからなる。
【００１２】
ウェブサーバコンピュータ102は、インターネット上をサーフィンしている消費者を惹きつけるよう設計された情報を含むウェブサイトとすることが可能である。ウェブサーバコンピュータ102は、様々なタイプの情報を含む１つ又は２つ以上のウェブページ110を含む。ウェブページ110はまた、広告、他のウェブページへのリンク、及びオンライン購入可能な製品等を含むことが可能である。周知のように、ウェブページ110は、可視部分と不可視部分とを含むことが可能である。ウェブページ110の可視部分は、クライアントコンピュータ101の画面上に表示される部分である。ウェブページ110の可視部分は、ピクチャ、アニメーション、テキスト、表示されたリンク、ボタン、入力フィールド、グラフィック、余白、背景、及びその他を含むことが可能である。ウェブページ110の不可視部分は、画面上には表示されないにもかかわらずクライアントコンピュータ101へダウンロードされる部分である。ウェブページ110の不可視部分の例として、コンピュータにより読み取ることが可能なプログラムコード（例えば、スクリプト、可視部分を表示するためのコード）及びコメントが挙げられる。一実施形態では、ウェブページ110は、参照112を含む。参照112は、パートナーサーバコンピュータ103のラッピングコード114を指し示す、コンピュータにより読み取ることが可能なプログラムコードを含むことが可能である。参照112は、ウェブページ110がクライアントコンピュータ101で受信された際にパートナーサーバコンピュータ103からクライアントコンピュータ101内へとラッピングコード114を引き出す。
【００１３】
パートナーサーバコンピュータ103は、サーバコンピュータ、又はウェブサーバコンピュータ102上の別のウェブサイトとすることが可能である。一実施形態では、パートナーサーバコンピュータ103は、ウェブサーバコンピュータ102と提携関係にある。該提携は、パートナーサーバコンピュータ及びウェブサーバコンピュータを運営しているエンティティ（例えば個人又は法人）間の契約上の合意を伴う場合がある。このため、複数のコンピュータ又はウェブサイト間の提携関係と称した場合には、該コンピュータ又はウェブサイトを運営しているエンティティ間の提携関係と理解されたい。一実施形態では、パートナーサーバコンピュータ103はラッピングコード114を含み、該ラッピングコード114は、ウェブページ110の挙動を変更するための、コンピュータにより読み取ることが可能なプログラムコードを含むことが可能である。該ラッピングコード114は、その実行時に、ウェブページ110上の機能層を「ラップ」する。以下で一層明らかになるように、ラッピングコード114は、ウェブサーバコンピュータ102内のウェブページ110に存在しない追加機能のアクティブ化を可能にするものである。例えば、ラッピングコード114は、別個のブラウザウィンドウ（いわゆるポップアップブラウザウィンドウ等）に広告を表示するよう構成することが可能である。該広告は、クーポン、特別奉仕品、ソフトウェアのダウンロードへの招待、製品（すなわち商品又はサービス）又は他のウェブサイトに関する情報等とすることが可能である。この（ポップアップブラウザウィンドウを表示する）機能は、ウェブサーバコンピュータ102に格納されているウェブページ110内に存在する必要はない。ラッピングコード114は、ウェブページ110がクライアントコンピュータ101で受信された後にこの機能を該ウェブページ110に追加することが可能なものである。
【００１４】
ウェブサーバコンピュータ102とパートナーサーバコンピュータ103との提携は、該ウェブサーバコンピュータ102が該パートナーサーバコンピュータ103にために何らかのアクションを実行することを伴う可能性がある。該提携は、ウェブサーバコンピュータ102にアクセスするユーザに対してパートナーサーバコンピュータ103がポップアップ又はポップアンダーウィンドウを表示することを可能にすることを必要とする場合がある。これを、ウェブサーバコンピュータ102にとって比較的容易にするために、ウェブページ110がクライアントコンピュータ101で受信された後にラッピングコード114が該ウェブページ110の挙動を変更する。ウェブサーバコンピュータ102に格納されているウェブページ110は、それに参照112（一行のコードとし得るもの）を追加するだけで、提携に従ったアクションを実行することが可能となる。該参照112がラッピングコード114をクライアントコンピュータ101内へ引き出し、該クライアントコンピュータ101で該ラッピングコード114が実行される。このため、パートナーサーバコンピュータ103は、ラッピングコード114を実行するための契約を複数のウェブサーバコンピュータ102と結ぶことが可能である。ウェブサーバコンピュータ102は、そのウェブページ110に、クライアントコンピュータ101内へ同じラッピングコード114を引き出すための参照112を含めることが可能である。これは、ラッピングコード114のメンテナンス及び組み込みを単純化するものである、ということが理解されよう。
【００１５】
図２は、本発明の一実施形態によるパートナーサーバコンピュータ103からのラッピングコード114がクライアントコンピュータ101で受信される態様を図式的に示している。クライアントコンピュータ101を使用してインターネットをサーフィンしているユーザは、ウェブブラウザ116を、ウェブサーバコンピュータ102のウェブページ110に向けることが可能である。その結果として、ウェブページ110がクライアントコンピュータ101へダウンロードされることになる（矢印291参照）。ウェブブラウザ116は、ウェブページ110の可視部分をクライアントコンピュータ101の画面上に表示する。ウェブブラウザ116はまた、参照112を含む、ウェブページ110のコンピュータにより読み取ることが可能なプログラムコード（例えば、HTMLコード、スクリプト）の実行を可能にする。既述のように、参照112は、ラッピングコード114を指し示すことが可能である（矢印292参照）。参照112の一例は次の通りである。
【００１６】
<script language="JavaScript"
src="http://webpdp.gator.com/0/placement/000/"></script>
上記の例では、"http://webpdp.gator.com/0/placement/000/"がインターネット上におけるラッピングコード114の格納場所を指定している。参照112がクライアントコンピュータ101で実行されると、ラッピングコード114がパートナーサーバコンピュータ103からクライアントコンピュータ101へと引き出される（矢印293参照）。
【００１７】
図３を参照すると、本発明の実施形態で使用することが可能な例示的なコンピュータの概略図が示されている。図３の例に示すコンピュータは、その構成に応じて、クライアントコンピュータ又はサーバコンピュータとして使用することが可能なものである。一実施形態では、図３のコンピュータはクライアントコンピュータ101として使用される。図３のコンピュータは、特定用途の要件を満たすように、より多く又はより少ない構成要素を有することが可能である。図３に示すように、該コンピュータは、例えば、Intel Corporation 又は Advanced Micro Devices から販売されているような、プロセッサ301を含むことが可能である。該コンピュータは、その様々な構成要素を結合する１つ又は２つ以上のバス303を有することが可能である。該コンピュータは、１つ又は２つ以上の入力装置302（例えば、キーボード、マウス）、コンピュータにより読み出すことが可能な記憶媒体（ＣＲＳＭ）305（例えば、フロッピィディスク、CD-ROM）、ＣＲＳＭリーダ304（例えば、フロッピィドライブ、CD-ROMドライブ）、表示画面309（例えば、ＣＲＴ、フラットパネルディスプレイ）、ネットワークに接続するための通信インタフェイス306（例えば、ネットワークアダプタ、モデム）、１つ又は２つ以上のデータ記憶装置307（例えば、ハードディスクドライブ、光学ドライブ、FLASHメモリ）、及びメインメモリ308（例えばＲＡＭ）を含むことが可能である。ソフトウェアによる実施形態は、データ記憶装置307又はメインメモリ308に読み込むために、コンピュータにより読み出すことが可能な記憶媒体305に格納することが可能である。図３の例では、メインメモリ308は、ウェブページ110及びラッピングコード114の構成要素を含むよう構成される。
【００１８】
一実施形態では、ラッピングコード114は、ユーザが（例えば、マウスを使用してウェブページの一部をクリックすることにより）ウェブページと対話した際に該ウェブページの既存の機能と共にラッピングコードにより追加された新たな機能がアクティブになるよう該ウェブページの挙動を変更する。ラッピングコード114により追加される新たな機能は、広告の表示、ストリーミングオーディオの再生、別のウェブページのための新たなブラウザウィンドウのオープン、クライアントコンピュータへのファイルのダウンロード、クライアントコンピュータでの別のプログラムの実行等とすることが可能である。ウェブページの既存の機能は、別のウェブページへのリンク処理、別ウィンドウのオープン、広告の表示、及びウェブページにより実行することができる他の機能とすることが可能である。
【００１９】
図４は、本発明の一実施形態によるラッピングコード114の実行後のウェブページの挙動の一例を図式的に示している。図４の例では、ラッピングコード114によりウェブページ110に追加された機能は、別のブラウザウィンドウ262の表示であり、該ウェブページ110の既存の機能は、ウェブブラウザ116のウェブページ260へのリンク処理である。ウェブサーバコンピュータ102に格納されているウェブページ110は、別のブラウザウィンドウ262を表示する機能は有していない。すなわち、別のブラウザウィンドウ262を表示する能力は、クライアントコンピュータ101でラッピングコード114を実行する前には、ウェブページ110に存在しないものである。
【００２０】
更に図４を参照すると、ユーザは、ウェブページ110の可視部分上にマウスカーソル271を配置してクリックすることが可能である。その結果として、ウェブページ110の既存の機能がアクティブになり、この特定の例の場合には、ウェブブラウザ116が新たなウェブページ260へリンクする（矢印294参照）。このマウスクリックに応じて、ラッピングコード114により追加された新たな機能もまたアクティブになり、この特定の例の場合には、別のブラウザウィンドウ262がオープンする（矢印295参照）。一実施形態では、該別のブラウザウィンドウ262は広告を表示する。ブラウザウィンドウ262を表示するタイミングをユーザ対話（ウェブページ110上のマウスクリック等）と合わせることによって、ウェブページ110とのユーザ対話の一部としてブラウザウィンドウ262が表示される他のプログラムが有利に示される。これは、いわゆる「ポップアップブロッカー」がブラウザウィンドウ262をブロックするのを阻止し、このため、ブラウザウィンドウ262上への広告の表示がウェブページ110の開発及び維持のための費用を助ける状況では、特に重要なものとなる。ブラウザウィンドウ262内に表示することが可能な広告等の広告なしでは、インターネット上で無料の情報をユーザに提供するウェブページ110は存在しなくなる可能性がある。
【００２１】
一実施形態では、ラッピングコード114は、JavaScriptプログラミング言語で書かれる。本発明の利点を損なうことなく他のプログラミング言語を使用することも可能である。
【００２２】
一実施形態では、ラッピングコード114は、ウェブページ110の全てのオブジェクトを探し出して、該オブジェクトのOnClickイベントを、該ラッピングコードにより追加される機能を実行するイベントハンドラへと再定義する。換言すれば、ラッピングコード114は、オブジェクト上でのマウスクリックをトラップし、それに応じてイベントハンドラを呼び出す。本発明の一実施形態によるラッピングコード114のための例示的な疑似コードを表１に示す。
[表１]
ドキュメントが完全にロードされるまで待機;
各ドキュメントオブジェクト毎に {
オブジェクト→onClickメソッド = 新機能メソッド;
}
新機能メソッド(){
新ポップアップブラウザウィンドウをオープン;
}
上記の例では、ラッピングコード114は、ウェブページが完全にロードされるのを待つ。ラッピングコード114は次いで、ウェブページ110を構成するオブジェクトを探し出す。何れかのオブジェクトがクリックされると、ラッピングコード114により追加された新たな機能がアクティブになって、広告を含み得るポップアップブラウザウィンドウをオープンする。表１の例では、OnClickイベントのためのウェブページ110の既存の機能は、新機能メソッドの完了後にアクティブになる。すなわち、ウェブページ110のあらゆる既存の機能は、通常は新機能メソッドの後に実行される。ラッピングコード114によりポップアップブラウザウィンドウの表示以外の機能を追加することも可能であることに留意されたい。周知のように、ウェブページの「オブジェクト」は、リンク、余白、テキスト、ピクチャ等とすることが可能なものである。付録Ａは、表１の疑似コードをJavaScriptで実施した一例を示している。
【００２３】
一実施形態では、ラッピングコード114は、ウェブページ110の全てのアンカーオブジェクトを探し出し、該アンカーオブジェクトのOnClickイベントを、該ラッピングコードにより追加される機能を実行するイベントハンドラへと再定義する。この技術は、表１のそれと類似しているが、オブジェクト全般ではなくアンカーオブジェクトに限定している点で異なる。周知のように、「アンカーオブジェクト」は、別のウェブページへのナビゲーションを開始させるウェブページオブジェクトである。アンカーオブジェクトの一例がリンクである。新機能のアクティブ化のアンカーオブジェクトへの限定は、ユーザが当該ウェブページを離れて他のウェブページへ向かう場合にのみ該新機能が重要となる状況で、有利なものである。本発明の一実施形態による、アンカーオブジェクトとのユーザ対話をトラップするラッピングコード114のための疑似コードの一例を、表２に示す。
[表２]
ドキュメントが完全にロードされるまで待機;
各アンカーオブジェクト毎に {
アンカーオブジェクト→onClickメソッド = 新機能メソッド;
}
新機能メソッド(){
新ポップアップブラウザウィンドウをオープン;
}
表２の疑似コードは、表１のそれと類似しているが、オブジェクト全般ではなくアンカーオブジェクトのOnClickイベントを再定義している点で異なる。付録Ｂは、表２の疑似コードをJavaScriptで実施した一例を示している。
【００２４】
図５は、本発明の一実施形態によるラッピングコード114の動作を図式的に示している。図５の例では、ラッピングコード114は、ウェブページ110の可視部分上に透明層505を「オーバーレイ」する。ウェブページ110の可視部分上への透明層505のオーバーレイは、メモリ内で行われる、ということに留意されたい。ユーザが該ウェブページ110と対話した際に、該ユーザ対話が透明層505により検出される。例えば、ユーザがウェブページ110上をクリックしたとき、該クリックは実際には該ウェブページ110の最上部に位置する透明層505上で行われる。ラッピングコード114は、透明層505のクリックされた座標を検出し、該ラッピングコード114により追加される新機能をアクティブにし、透明層505のクリックされた部分と同一の座標を有するウェブページ110の可視部分を判定する。該可視部分についてのウェブページ110の既存の機能をラッピングコード114により次いでアクティブにすることが可能である。例えば、やはり図５を参照すると、ウェブページ110のうちユーザによりクリックされた部分が他のウェブページへのリンクであった場合、ウェブブラウザ116は、ラッピングコード114により追加された新機能のアクティブ化に加えて、該他のウェブページへと進むことになる。表３は、本発明の一実施形態によるラッピングコード114のための疑似コードの一例を示している。
[表３]
ドキュメントが完全にロードされるまで待機;
可視ページ上でマウスポインタの下に透明層を配置;
層→onClick = 新機能メソッド;
新機能メソッド(){
新ポップアップブラウザウィンドウをオープン;
クリック座標x,yを記録;
透明層を削除;
座標x,yにおける可視ページ上のオブジェクトを探し出す;
探し出したオブジェクト→クリック();
}
表３の例では、ラッピングコード114はウェブページ110が完全にロードされるのを待つ。その後、ラッピングコード114は、ウェブページ110の可視部分上でマウスカーソルの下側に透明層を配置する。ユーザがウェブページ110上をクリックしたとき、該クリックは、実際には透明層上におけるものとして記録される。透明層上のマウスクリックを監視するよう割り当てられたイベントハンドラは、ラッピングコード114により追加された新機能をアクティブにする。該新機能は、別のブラウザウィンドウ262をオープンし、透明層の影響を受けた部分（すなわちユーザによりクリックされた部分）の座標を記録する。次いで透明層が削除される。その後、前記記録された座標におけるウェブページ110のオブジェクトがクリックオンにされて、該オブジェクトに割り当てられた既存の機能がアクティブにされる。付録Ｃは、表３の疑似コードをJavaScriptで実施した一例を示している。
【００２５】
上記の実施形態において、ユーザは、ウェブページ上の対応する既存の機能を有さない部分をクリックする可能性がある、ということに留意されたい。かかる場合には、ラッピングコードにより追加された新機能のみをアクティブにすることが可能である。
【００２６】
図６は、本発明の一実施形態による、コンピュータネットワークを介して受信されたドキュメントの挙動を変更する方法600のフローチャートを示している。方法600は、図１に示す構成要素を使用して実施することが可能である。しかし、本発明の利点を損なうことなく他の構成要素を使用することも可能である。
【００２７】
ステップ602で、第１のサーバコンピュータに格納されているドキュメントに、第２のサーバコンピュータに格納されているラッピングコードへの参照を含める。該ドキュメントは、ウェブページとすることが可能であり、該第１及び第２のサーバコンピュータは、インターネットを介して接続することが可能である。
【００２８】
ステップ604で、該第１及び第２のサーバコンピュータに接続されたクライアントコンピュータへ前記ドキュメントが提供される。例えば、第１のサーバコンピュータは、アクセスしてくるクライアントコンピュータへウェブページを提供するウェブサイトとすることが可能である。
【００２９】
ステップ606で、ラッピングコードが第２のサーバコンピュータからクライアントコンピュータへと引き出される。該ラッピングコードは、クライアントコンピュータにおいて前記参照が実行された結果として第２のサーバコンピュータから引き出すことが可能となる。
【００３０】
ステップ608で、ラッピングコードが実行されて前記ドキュメントに新機能が追加される。該ラッピングコードはまた、用途に応じて、ドキュメントから機能を削除することが可能なものである、ということが理解されよう。例えば、「新機能」は、ドキュメントの既存の機能をブロックし又は削除することが可能である。「新機能」はまた、既存の機能の変更とすることが可能である。新機能は、別のブラウザウィンドウ内での広告の表示とすることが可能である。例えば、広告は、クライアントコンピュータにアプリケーションプログラムをダウンロードするための招待からなることが可能である。広告はまた、クーポン、特別奉仕品、製品（すなわち商品又はサービス）又はその他のウェブサイトに関する情報等とすることが可能である。
【００３１】
ステップ610で、ラッピングコードはドキュメントとのユーザ対話を検出する。該ユーザ対話は、例えば、ドキュメント上のマウスクリック又はドキュメント上のマウスオーバーとすることが可能である。本発明の利点を損なうことなく他のユーザ対話を用いることも可能である。ドキュメントとのユーザ対話は、直接的なもの又は間接的なもの（透明層がドキュメント上にオーバーレイされる場合等）とすることが可能である。
【００３２】
ステップ612で、ドキュメントとのユーザ対話に応じて、ラッピングコードが、新機能をアクティブにし、また該ドキュメントの既存の機能をアクティブ化させることが可能である。
【００３３】
本発明の実施形態は、これまで実現されなかった利点を提供する。本発明の実施形態は、ウェブサイトがそのウェブページに対する最小限の変更で他のエンティティと提携することを有利にも可能とする。これにより、インターネット上のプロバイダ間の提携の締結が促進される。本発明の実施形態は、ウェブページがクライアントコンピュータで受信された後に該ウェブページに新機能を追加することを可能にする。
【００３４】
本発明の特定の実施形態を提供したが、これらの実施形態は、例示を目的としたものであって制限的なものではないことが理解されよう。本開示を参照することにより、多くの更なる実施形態が当業者には明らかとなろう。
【００３５】
【表４】
2007535012.tif 000003
【００３６】
【表５】
2007535012.tif 000004
【００３７】
【表６】
2007535012.tif 000005
【００３８】
【表７】
2007535012.tif 000006
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施形態によるコンピュータネットワークの概略図を示している。
【図２】本発明の一実施形態によるパートナーサーバコンピュータからのラッピングコードがクライアントコンピュータで受信される態様を図式的に示している。
【図３】本発明の実施形態で使用することが可能な例示的なコンピュータの概略図を示している。
【図４】本発明の一実施形態によるラッピングコードの実行後におけるウェブページの挙動の一例を図式的に示している。
【図５】本発明の一実施形態によるラッピングコードの動作を図式的に示している。
【図６】本発明の一実施形態による、コンピュータネットワークを介して受信したドキュメントの挙動を変更する方法のフローチャートを示している。
【図１】
2007535012.tif 000007
【図２】
2007535012.tif 000008
【図３】
2007535012.tif 000009
【図４】
2007535012.tif 000010
【図５】
2007535012.tif 000011
【図６】
2007535012.tif 000012
【国際調査報告】
2007535012.tif 000013