(57)【要約】【課題】複数の領域に分割されたウェブ・ページに使用されるコンテキスト・メニューを制御する手段を提供する。【解決手段】一実施形態では、ダウンロード前は前記インターネット・ブラウザの一部ではない追加の機能をダウンロードし、ユーザーがコンテキスト・メニューを何時呼び出すかを監視する。コンテキスト・メニューの呼び出しを検知すると、どの領域がユーザーにより選択されたかを決定し、追加メニューの少なくとも１つをコンテキスト・メニュー・インターフェースの一部分としてユーザーに利用可能にする。これらの追加メニュー・アイテムの少なくとも１つがユーザーにより選択された領域に基づいて選ばれる。【選択図】        図１
2007510188.tif 000002
【特許請求の範囲】
【請求項１】
既存のソフトウェアにおいて既存のコンテキスト・メニューの代わりに変更されたコンテキスト・メニューを提供する方法であって、前記方法は、
既存のコンテキスト・メニューを変更するクライアント側ソフトウェア・モジュールであって、追加のメニュー情報を含むとともに、コンテキスト・メニューの表示を必要とするイベントを検知し、前記既存のコンテキスト・メニューを前記追加のメニュー情報に基づいて変更し、かつ変更されたコンテキスト・メニューを表示するように構成されたクライアント側ソフトウェア・モジュールを提供することを含み、
前記変更されたコンテキスト・メニューは前記既存のコンテキスト・メニューと異なり、前記変更されたコンテキスト・メニューは追加のメニュー・アイテムを前記コンテキスト・メニューの一部として含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内に前記追加のメニュー情報に従って、かつ前記既存のソフトウェアには従うことなく配置される方法。
【請求項２】
前記既存のコンテキスト・メニューは、少なくとも１つの既存のメニュー・アイテムを含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内の前記既存のメニュー・アイテムの上に配置される、請求項１に記載の方法。
【請求項３】
前記変更されたコンテキスト・メニューは、前記追加のメニュー・アイテムと一緒に表示されたアイコンを含む、請求項１に記載の方法。
【請求項４】
前記追加のメニュー情報は、前記追加のメニュー・アイテムに関連づけられるアイコンに関連する情報を含む、請求項１に記載の方法。
【請求項５】
前記追加のメニュー・アイテムは、少なくとも１つの追加のサブメニュー・アイテムを含む少なくとも１つのサブメニューを含む、請求項１に記載の方法。
【請求項６】
前記クライアント側ソフトウェア・モジュールは、ユーザー・コンピュータに提供され、前記ユーザー・コンピュータはウェブ・ページを表示し、前記ウェブ・ページは複数の領域に分割され、前記方法は、前記イベントが生じたときにウェブ・ページのどの領域にユーザーが交信しているかを決定することをさらに含む、請求項１に記載の方法。
【請求項７】
前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記決定された領域に基づいて、表示のために選択することをさらに含む、請求項６に記載の方法。
【請求項８】
前記クライアント側ソフトウェア・モジュールはユーザー・コンピュータに提供され、前記ユーザー・コンピュータはユーザー・インターフェースを表示し、前記方法は、前記イベントが生じたときに、前記ユーザーが交信している前記ユーザー・インターフェースの記憶場所を決定することをさらに含む、請求項１に記載の方法。
【請求項９】
前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記決定された領域に基づいて、表示のために選択することをさらに含む、請求項８に記載の方法。
【請求項１０】
前記クライアント側ソフトウェア・モジュールはユーザー・コンピュータに提供され、前記ユーザー・コンピュータはユーザー・インターフェースを表示し、前記ユーザー・インターフェースは複数のエレメントを含み、前記方法は、前記イベントが生じたときに、前記複数のエレメントのどのエレメントに前記ユーザーが交信しているかを決定することをさらに含む、請求項１に記載の方法。
【請求項１１】
前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記決定されたエレメントに基づいて、表示のために選択することをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記クライアント側ソフトウェア・モジュールが提供されたユーザー・コンピュータの位置に基づいて、表示のために選択することをさらに含む、請求項１に記載の方法。
【請求項１３】
前記クライアント側ソフトウェア・モジュールはユーザー・コンピュータに提供され、前記ユーザー・コンピュータはウェブ・ページを表示し、前記ウェブ・ページは複数のエレメントを含み、前記方法は、前記イベントが生じたときに、前記複数のエレメントのどのエレメントに前記ユーザーが交信しているかを決定することをさらに含む、請求項１に記載の方法。
【請求項１４】
前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記決定されたエレメントに基づいて、表示のために選択することをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記ユーザーがどのエレメントに交信しているかを決定することは、
ＨＴＭＬ構造を含む前記複数のエレメントからエレメントを同定すること、
前記エレメントのタイプを決定すること、
前記エレメントに関連する情報を保存すること、
前記ユーザーが何時テキストを選択したかを決定すること、および
前記選択されたテキストを保存すること
を含む、請求項１３に記載の方法。
【請求項１６】
前記ＨＴＭＬ構造を含む前記複数のエレメントからエレメントを同定すること、前記エレメントのタイプを決定すること、および前記エレメントに関連する情報を保存することを、前記ＨＴＭＬ構造内の最初に同定されたエレメントの上のエレメントに対して、前記最初に同定されたエレメントの上のエレメントが有効でなくなるまで、繰り返す、請求項１５に記載の方法。
【請求項１７】
前記追加のメニュー・アイテムは前記エレメントに関連する保存された情報および前記保存されたテキストに基づいて構成される、請求項１５に記載の方法。
【請求項１８】
前記既存のコンテキスト・メニューを変更する前に、前記既存のコンテキスト・メニューに関連する情報を取得することをさらに含む、請求項１に記載の方法。
【請求項１９】
前記取得することはブラウザ・ウィンドウを細分類することを含む、請求項１８に記載の方法。
【請求項２０】
前記クライアント側ソフトウェア・モジュールは前記ブラウザとともに動作する制御を含む、請求項１に記載の方法。
【請求項２１】
前記制御はアクティブＸ制御を用いて実装される、請求項２０に記載の方法。
【請求項２２】
前記追加のメニュー・アイテムをダウンロード可能なツールバー用の複数のボタンのボタン特性を含む全体的な送りの一部分として提供することをさらに含み、前記ダウンロード可能なツールバーは前記追加のメニュー・アイテムを表示されないボタンとして受信する、請求項１に記載の方法。
【請求項２３】
前記追加のメニュー・アイテムを提供することはサーバーにより実行される、請求項２２に記載の方法。
【請求項２４】
前記既存のコンテキスト・メニューを変更することは前記追加のメニュー・アイテムを前記既存のコンテキスト・メニューにアプリケーション・プログラミング・インターフェースを用いて追加することを含む、請求項１に記載の方法。
【請求項２５】
インターネット・コンテンツ・プロバイダーがユーザーのためにユーザー・アカウント情報を含むユーザー・アカウントを維持し、前記変更されたコンテキスト・メニューは前記ユーザー・アカウント情報に基づいて構成される、請求項１に記載の方法。
【請求項２６】
前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記ユーザー・アカウント情報に基づいて、表示のために選択することをさらに含む、請求項２５に記載の方法。
【請求項２７】
前記ユーザーに前記コンテンツ・プロバイダにログインする能力を提供する、請求項２５に記載の方法。
【請求項２８】
前記追加のメニュー・アイテムを表示のために選択することは、前記コンテンツ・プロバイダにより前記ユーザー・アカウント情報に基づいて、前記追加のメニュー・アイテムの選択が前記ユーザーの選好に従って個人化されるように、決定される、請求項２７に記載の方法。
【請求項２９】
前記ユーザー・アカウント情報は、前記コンテンツ・プロバイダにより、前記ユーザーが利用する第１のブラウザを有する第１のコンピュータとは独立に、前記追加のメニュー・アイテムの選択が、前記ユーザーが第２のブラウザを有する第２のコンピュータを利用するときも、個人化されたままであるように、維持される、請求項２８に記載の方法。
【請求項３０】
前記追加のメニュー・アイテムの選択の個人化は、前記ユーザーが前記第１のコンピュータを利用するときの前記第１のコンピュータの位置に基づいて、かつ前記ユーザーが前記第２のコンピュータを利用するときの前記第２のコンピュータの位置に基づいて、前記追加のメニュー・アイテムの選択が前記ユーザーにより利用されるコンピュータの位置に基づいて変更されるように、行われる、請求項２９に記載の方法。
【請求項３１】
前記変更されたコンテキスト・メニューは、ユーザーが前記既存のソフトウェアを利用している検知された位置に基づいて構成される、請求項１に記載の方法。
【請求項３２】
既存のソフトウェアにおいて既存のコンテキスト・メニューの代わりに変更されたコンテキスト・メニューを提供する方法であって、コンピュータのディスプレイ上にインターネット・ブラウザにより表示可能なインターネット・ブラウザ・インターフェースを制御し、コンピュータおよびインターネット・ブラウザのユーザーがインターネットにアクセスし、ナビゲートして、所定のインターネット・サイトからのウェブ・ページの表示を含む、１つ以上のウェブ・ページを、１つ以上のインターネット・サイトから受信し、コンピュータ・ディスプレイ上に表示することを可能にし、インターネット・ブラウザは少なくとも１つのインターネット・ブラウザ・ツールバーを有し、ツールバーはコンピュータおよびインターネット・ブラウザのユーザーに所定の機能を提供する少なくとも１つのツールバー・ボタンを有する方法において、前記方法は、
前記所定のインターネット・サイトにおいて、前記インターネット・ブラウザ・インターフェースを制御するクライアント側ソフトウェア・モジュールへのアクセスを提供すること、および
前記所定のインターネット・サイトによりダウンロードするために、前記クライアント側ソフトウェア・モジュールを利用可能にして、ユーザー・ツールバーを表示させ、ダウンロードされたことにより、ダウンロード前は前記インターネット・ブラウザの一部ではない追加の機能を、前記ユーザー・ツールバーが表示されると前記ユーザー・ツールバーは表示された状態を維持し、かつダウンロード後に前記インターネット・ブラウザがナビゲートさせられる後続のインターネット・サイトの如何にかかわらず、前記追加の機能がユーザーに利用可能な状態を維持するように、ユーザーに利用可能にすることを含み、
前記クライアント側ソフトウェア・モジュールは、
コンテキスト・メニューの表示を必要とするイベントを検知し、
前記既存のコンテキスト・メニューを追加のメニュー・アイテム情報に基づいて変更し、かつ
変更されたコンテキスト・メニューを表示するように構成され、
前記変更されたコンテキスト・メニューは前記既存のコンテキスト・メニューと異なり、前記変更されたコンテキスト・メニューは追加のメニュー・アイテムを前記コンテキスト・メニューの一部として含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内に前記追加のメニュー情報に従って、かつ前記既存のソフトウェアには従うことなく配置される方法。
【請求項３３】
コンピュータのディスプレイ上にインターネット・ブラウザにより表示可能なインターネット・ブラウザ・インターフェースを制御し、前記コンピュータおよび前記インターネット・ブラウザのユーザーがインターネットにアクセスし、ナビゲートして、所定のインターネット・サイトからのウェブ・ページの表示を含む、１つ以上のウェブ・ページを、１つ以上のインターネット・サイトから受信し、前記コンピュータのディスプレイ上に表示することを可能にする方法であって、
所定のインターネット・サイトにおいて、プログラムであって、前記インターネット・ブラウザ・インターフェースを制御し、かつ、前記所定のインターネット・サイトによりダウンロードするために、永続的なユーザー・ツールバーを表示させるファイルを利用可能にする前記プログラムにアクセスを提供することを含み、前記ユーザー・ツールバーは、ダウンロード前は前記インターネット・ブラウザの一部ではない追加の機能を、ダウンロード後には、インターネット・ブラウザ・インターフェースの一部分として、ユーザーに利用可能し、前記追加の機能は、コンテキスト・メニューの表示を必要とするイベントを検知し、前記既存のコンテキスト・メニューを追加のメニュー・アイテム情報に基づいて変更し、かつ変更されたコンテキスト・メニューを表示するように構成され、
前記変更されたコンテキスト・メニューは前記既存のコンテキスト・メニューと異なり、前記変更されたコンテキスト・メニューは追加のメニュー・アイテムを前記コンテキスト・メニューの一部として含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内に前記追加のメニュー情報に従って、かつ前記既存のソフトウェアには従うことなく配置される方法。
【請求項３４】
既存のソフトウェアにおいて既存のコンテキスト・メニューの代わりに変更されたコンテキスト・メニューを提供するソフトウェア・モジュールを含むコンピュータ読取可能なコンピュータ・コードであって、前記コンピュータ・コードは、コンピュータにより実行されたときに前記コンピュータに、
コンテキスト・メニューの表示を必要とするイベントを検知し、
前記既存のコンテキスト・メニューを追加のメニュー・アイテム情報に基づいて変更し、かつ
変更されたコンテキスト・メニューを表示する
ことを含み、
前記変更されたコンテキスト・メニューは前記既存のコンテキスト・メニューと異なり、前記変更されたコンテキスト・メニューは追加のメニュー・アイテムを前記コンテキスト・メニューの一部として含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内に前記追加のメニュー情報に従って、かつ前記既存のソフトウェアには従うことなく配置される方法
を実施させるコンピュータ・コード。
【請求項３５】
前記既存のコンテキスト・メニューは、少なくとも１つの既存のメニュー・アイテムを含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内の前記既存のメニュー・アイテムの上に配置される、請求項３４に記載のコンピュータ・コード。
【請求項３６】
前記変更されたコンテキスト・メニューは、前記追加のメニュー・アイテムと一緒に表示されたアイコンを含む、請求項３４に記載のコンピュータ・コード。
【請求項３７】
前記追加のメニュー情報は、前記追加のメニュー・アイテムに関連づけられるアイコンに関連する情報を含む、請求項３４に記載のコンピュータ・コード。
【請求項３８】
前記追加のメニュー・アイテムは、少なくとも１つの追加のサブメニュー・アイテムを含む少なくとも１つのサブメニューを含む、請求項３４に記載のコンピュータ・コード。
【請求項３９】
前記クライアント側ソフトウェア・モジュールは、ユーザー・コンピュータに提供され、前記ユーザー・コンピュータはウェブ・ページを表示し、前記ウェブ・ページは複数の領域に分割され、前記方法は、前記イベントが生じたときにウェブ・ページのどの領域にユーザーが交信しているかを決定することをさらに含む、請求項３４に記載のコンピュータ・コード。
【請求項４０】
前記コンピュータにより実施される方法は、前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記決定された領域に基づいて、表示のために選択することをさらに含む、請求項３９に記載のコンピュータ・コード。
【請求項４１】
前記クライアント側ソフトウェア・モジュールは、ユーザー・コンピュータに提供され、前記ユーザー・コンピュータはウェブ・ページを表示し、前記ウェブ・ページは複数のエレメントを含み、前記方法は、前記イベントが生じたときに前記複数のエレメントのどのエレメントにユーザーが交信しているかを決定することをさらに含む、請求項３４に記載のコンピュータ・コード。
【請求項４２】
前記コンピュータにより実施される方法は、前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記決定されたエレメントに基づいて、表示のために選択することをさらに含む、請求項４１に記載のコンピュータ・コード。
【請求項４３】
前記ユーザーがどのエレメントに交信しているかを決定することは、
ＨＴＭＬ構造を含む前記複数のエレメントからエレメントを同定すること、
前記エレメントのタイプを決定すること、
前記エレメントに関連する情報を保存すること、
前記ユーザーが何時テキストを選択したかを決定すること、および
前記選択されたテキストを保存すること
を含む、請求項４１に記載のコンピュータ・コード。
【請求項４４】
前記ＨＴＭＬ構造を含む前記複数のエレメントからエレメントを同定すること、前記エレメントのタイプを決定すること、および前記エレメントに関連する情報を保存することを、前記ＨＴＭＬ構造内の最初に同定されたエレメントの上のエレメントに対して、前記最初に同定されたエレメントの上のエレメントが有効でなくなるまで、繰り返す、を含む、請求項４３に記載のコンピュータ・コード。
【請求項４５】
インターネット・コンテンツ・プロバイダーのサーバーからユーザー・コンピュータに、既存のソフトウェアにおいて既存のコンテキスト・メニューの代わりに変更されたコンテキスト・メニューを提供するシステムであって、前記システムは、
既存のコンテキスト・メニューを変更するクライアント側ソフトウェア・モジュールであって、追加のメニュー情報を含むとともに、コンテキスト・メニューの表示を必要とするイベントを検知し、
前記既存のコンテキスト・メニューを前記追加のメニュー情報に基づいて変更し、かつ
変更されたコンテキスト・メニューを表示する
ように構成されたクライアント側ソフトウェア・モジュールを提供するように構成された１つ以上のサーバーを備え、
前記変更されたコンテキスト・メニューは前記既存のコンテキスト・メニューと異なり、前記変更されたコンテキスト・メニューは追加のメニュー・アイテムを前記コンテキスト・メニューの一部として含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内に前記追加のメニュー情報に従って、かつ前記既存のソフトウェアには従うことなく配置されるシステム。
【請求項４６】
前記既存のコンテキスト・メニューは、少なくとも１つの既存のメニュー・アイテムを含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内の前記既存のメニュー・アイテムの上に配置される、請求項４５に記載のシステム。
【請求項４７】
前記変更されたコンテキスト・メニューは、前記追加のメニュー・アイテムと一緒に表示されたアイコンを含む、請求項４５に記載のシステム。
【請求項４８】
前記追加のメニュー情報は、前記追加のメニュー・アイテムに関連づけられるアイコンに関連する情報を含む、請求項４５に記載のシステム。
【請求項４９】
前記追加のメニュー・アイテムは、少なくとも１つの追加のサブメニュー・アイテムを含む少なくとも１つのサブメニューを含む、請求項４５に記載のシステム。
【請求項５０】
前記クライアント側ソフトウェア・モジュールは、ユーザー・コンピュータに提供され、前記ユーザー・コンピュータはウェブ・ページを表示し、前記ウェブ・ページは複数の領域に分割され、前記方法は、前記イベントが生じたときにウェブ・ページのどの領域にユーザーが交信しているかを決定することをさらに含む、請求項４５に記載のシステム。
【請求項５１】
前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記決定された領域に基づいて、表示のために選択することをさらに含む、請求項５０に記載のシステム。
【請求項５２】
前記クライアント側ソフトウェア・モジュールはユーザー・コンピュータに提供され、前記ユーザー・コンピュータはウェブ・ページを表示し、前記ウェブ・ページは複数のエレメントを含み、前記サーバーは、さらに、前記イベントが生じたときに、前記複数のエレメントのどのエレメントに前記ユーザーが交信しているかを決定するように構成されている、請求項４５に記載のシステム。
【請求項５３】
前記クライアント側ソフトウェア・モジュールは、さらに、前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記決定されたエレメントに基づいて、表示のために選択するように構成されている、請求項５２に記載のシステム。
【請求項５４】
前記ユーザーがどのエレメントに交信しているかを決定することは、
ＨＴＭＬ構造を含む前記複数のエレメントからエレメントを同定すること、
前記エレメントのタイプを決定すること、
前記エレメントに関連する情報を保存すること、
前記ユーザーが何時テキストを選択したかを決定すること、および
前記選択されたテキストを保存すること
を含む請求項５２に記載のシステム。
【請求項５５】
前記ＨＴＭＬ構造を含む前記複数のエレメントからエレメントを同定すること、前記エレメントのタイプを決定すること、および前記エレメントに関連する情報を保存することを、前記ＨＴＭＬ構造内の最初に同定されたエレメントの上のエレメントに対して、前記最初に同定されたエレメントの上のエレメントが有効でなくなるまで、繰り返す、請求項５４に記載のシステム。
【請求項５６】
既存のソフトウェアにおいて既存のコンテキスト・メニューの代わりに変更されたコンテキスト・メニューを提供する方法であって、前記方法は、
複数のエレメントを含むウェブ・ページを表示するユーザー・コンピュータに、既存のコンテキスト・メニューを変更するクライアント側ソフトウェア・モジュールであって、前記クライアント側ソフトウェア・モジュールは少なくとも１つの既存のメニュー・アイテムを含み、前記クライアント側ソフトウェア・モジュールは追加のメニュー情報を含み、前記クライアント側ソフトウェア・モジュールは
既存のコンテキスト・メニューを変更するクライアント側ソフトウェア・モジュールであって、追加のメニュー情報を含むとともに、コンテキスト・メニューの表示を必要とするイベントを検知し、
前記既存のコンテキスト・メニューを前記追加のメニュー情報に基づいて変更し、かつ
変更されたコンテキスト・メニューを表示する
ように構成され、前記変更されたコンテキスト・メニューは前記既存のコンテキスト・メニューと異なり、前記変更されたコンテキスト・メニューは追加のメニュー・アイテムを前記コンテキスト・メニューの一部として含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内に前記追加のメニュー情報に従って、かつ前記既存のソフトウェアには従うことなく配置され、かつ、前記変更されたコンテキスト・メニューは前記追加のメニュー・アイテムと一緒に表示されるアイコンを含む、クライアント側ソフトウェア・モジュールを提供し、
ＨＴＭＬ構造を含む前記複数のエレメントからエレメントを同定し、
前記エレメントのタイプを決定し、
前記エレメントに関連する情報を保存し、
前記ユーザーが何時テキストを選択したかを決定し、かつ
前記選択されたテキストを保存すること
を含み、
前記ＨＴＭＬ構造を含む前記複数のエレメントからエレメントを同定すること、前記エレメントのタイプを決定すること、および前記エレメントに関連する情報を保存することを、前記ＨＴＭＬ構造内の最初に同定されたエレメントの上のエレメントに対して、前記最初に同定されたエレメントの上のエレメントが有効でなくなるまで、繰り返し、かつ
前記追加のメニュー・アイテムは前記エレメントに関連する前記保存された情報および前記保存されたテキストに基づいて構成される方法。
【請求項５７】
ユーザーに、インターネット・コンテンツ・プロバイダーにより、既存のソフトウェアにおいて既存のコンテキスト・メニューの代わりに変更されたコンテキスト・メニューを提供する方法であって、前記方法は、
前記ユーザーに前記インターネット・プロバイダにログインする能力を提供し、
前記ユーザーのためにユーザー・アカウント情報を含むユーザー・アカウントを維持し、
既存のコンテキスト・メニューを変更するクライアント側ソフトウェア・モジュールであって、追加のメニュー情報を含むとともに、
コンテキスト・メニューの表示を必要とするイベントを検知し、前記既存のコンテキスト・メニューを前記追加のメニュー情報に基づいて変更し、
前記追加のメニュー・アイテムを複数の潜在的メニュー・アイテムから前記ユーザー・アカウント情報に基づいて、前記選択が前記ユーザーの選好に従って個人化されるように、表示のために選択し、かつ
前記変更されたコンテキスト・メニューを表示する
ことを含み、
前記変更されたコンテキスト・メニューは前記既存のコンテキスト・メニューと異なり、前記変更されたコンテキスト・メニューは追加のメニュー・アイテムを前記コンテキスト・メニューの一部として含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内に前記追加のメニュー情報に従って、かつ前記既存のソフトウェアには従うことなく配置され、かつ
前記ユーザー・アカウント情報は、前記コンテンツ・プロバイダにより、前記ユーザーが利用する第１のブラウザを有する第１のコンピュータとは独立に、前記追加のメニュー・アイテムの選択が、前記ユーザーが第２のブラウザを有する第２のコンピュータを利用するときも、個人化されたままであるように、維持される方法。
【請求項５８】
既存のソフトウェアにおいて既存のコンテキスト・メニューの代わりに変更されたコンテキスト・メニューを提供する方法であって、前記方法は、
追加のメニュー情報にアクセスし、
前記既存のコンテキスト・メニューを前記追加のメニュー情報に基づいて変更し、かつ
変更されたコンテキスト・メニューを表示する
ことを含み、
前記変更されたコンテキスト・メニューは前記既存のコンテキスト・メニューと異なり、前記変更されたコンテキスト・メニューは追加のメニュー・アイテムを前記コンテキスト・メニューの一部として含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内に前記追加のメニュー情報に従って、かつ前記既存のソフトウェアには従うことなく配置される方法。
【請求項５９】
前記既存のコンテキスト・メニューは、少なくとも１つの既存のメニュー・アイテムを含み、前記追加のメニュー・アイテムは前記変更されたコンテキスト・メニュー内の前記既存のメニュー・アイテムの上に配置される、請求項５８に記載の方法。
【請求項６０】
前記変更されたコンテキスト・メニューは、前記追加のメニュー・アイテムと一緒に表示されたアイコンを含む、請求項５８に記載の方法。
【請求項６１】
１つ以上の既存のメニュー・アイテムのコンテキスト・メニューに含めるために追加のメニュー・アイテムを提供する方法であって、
前記コンテキスト・メニュー内の、既存のメニュー・アイテムではない前記追加のメニュー・アイテムの位置に関する情報を提供し、かつ
前記追加のメニュー・アイテムを利用可能にしてユーザーに、前記コンテキスト・メニューの一部として、前記位置に関する情報に従って表示されるようにする
ことを含む方法。
【請求項６２】
１つ以上の既存のメニュー・アイテムのコンテキスト・メニューに含めるために追加のメニュー・アイテムを提供する方法であって、
既存のメニュー・アイテムではない前記追加のメニュー・アイテムに関する追加のメニュー情報を提供し、
前記既存のメニュー・アイテムに関するコンテキスト・メニュー情報を受信し、
前記コンテキスト・メニュー情報を前記追加のメニュー情報に基づいて変更し、かつ前記追加のメニュー・アイテムを利用化膿してユーザーに前記コンテキスト・メニューの一部分として表示されるようにする
ことを含む方法。
【請求項６３】
前記追加のメニュー情報は前記既存のコンテキスト・メニュー内で前記既存のメニュー・アイテムに関する前記追加のメニュー・アイテムの位置に関する情報を含む、請求項６２に記載の方法。
【請求項６４】
コンテキスト・メニューが表示されることを決定し、
前記コンテキスト・メニューが表示されることの決定に応じて、前記既存のコンテキスト・メニューに関連するコンテキスト・メニュー情報にアクセスする
ことをさらに含む、請求項６２に記載の方法。
【請求項６５】
前記コードはダウンロード可能なツールバー・アプリケーションの一部分である、請求項３４に記載のコンピュータ・コード。
【発明の詳細な説明】
【技術分野】
【０００１】
関連する出願の相互参照
本出願は米国仮出願第６０／４９３，０２９号（２００３年８月５日出願、発明の名称「コンテキスト・メニューの制御方法およびシステム」）の優先権を主張するものであり、同米国出願の内容は本明細書において参照される。
【背景技術】
【０００２】
発明の背景
１．発明の分野
本発明は、コンピュータ・インターフェースに関し、さらに詳しくはコンテキスト・メニューの制御方法およびシステムに関するものである。
【０００３】
２．関連する技術の説明
インターネットにアクセスするとき、インターネットのユーザーは一般に、コンピュータを介して、例えばネットスケープ・ナビゲータ（Ｎｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ（登録商標））またはマイクロソフト・インターネット・エクスプローラ（Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標））のようなブラウザ・ソフトウェア・プログラムを実行する。ブラウザ・プログラム（すなわち、ブラウザ）は（例えば、モデムとインターネット・サービス・プロバイダー（ＩＳＰ）を介して）インターネットに接続を確立し、テキスト−グラフィック・ユーザー・インターフェース（すなわち、アプリケーション・ウィンドウ）と、インターネット・コンテンツを表示するための、アプリケーション・ウィンドウ内のウィンドウを提供する。
【０００４】
ブラウザ・プログラムを使用する間、ユーザーはコンテキスト・メニューを呼び出すことが可能である。これは、例えばマウス右ボタンをクリックすることで、またはコンテキスト・メニュー・キーを活性化することで行われる。コンテキスト・メニューはアイテムのリストを含み、これらのアイテムを選択して異なるブラウザ機能を実行することが可能である。異なるコンテキスト・メニューはユーザーが何をクリックしたか、および／または何をブラウザ・プログラムにおいて選択したかによって表示される。コンテキスト・メニューはクリックされたエレメントに関連するブラウザ機能に対する素早いアクセスをユーザーに与え、インターネット・ナビゲーションをより便利にする。これらの理由から、ブラウザ・プログラムに機能性を追加する、追加のメニュー・アイテムをコンテキスト・メニューに挿入することが望ましい場合が多い。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在のブラウザ・プログラムは、アプリケーションにテキストを追加することおよびコンテキスト・メニューにおいて、レジストリの設定を変更することで、そのテキストにハンドラーを関連づけることを可能にする。しかしながら、コンテキスト・メニューを変更するこの方法はいくつかの欠点を有する。そのような欠点の１つは、この方法ではアプリケーションはコンテキスト・メニュー中の標準または他のメニュー・アイテムに対して追加のアイテムの順序と位置を制御できないことである。現在のコンテキスト・メニュー変更技術の他の欠点は、ブラウザを使用するユーザーにかかわりなく、またブラウザの使用中にユーザーが所在している国にかかわりなく、同じメニュー・アイテムを提供していることである。他の欠点は、コンテキスト・メニューを更新または変更するにはユーザーが新しいアプリケーションをユーザーのコンピュータにインストールすることが必要であることである。そのような事情で、改善されたコンテキスト・メニュー制御システムおよび方法に対する需要が存在する。
【課題を解決するための手段】
【０００６】
本明細書の記載から明らかであるように、本発明は上述した目的およびその他の需要を満足するものである。本発明のコンテキスト・メニュー制御の一実施形態は、ダウンロード前はコンテキスト・メニューの一部分ではない追加のメニュー・アイテムをダウンロードし、ユーザーがコンテキスト・メニューを呼び出すのを監視することを含む。コンテキスト・メニュー呼び出しを検知する際、ユーザーがどの領域を選択したかが決定され、追加のメニュー・アイテムの少なくとも１つがコンテキスト・メニュー・インターフェースの一部分としてユーザーに利用可能になる。
【０００７】
本発明の他の実施形態はウェブ・ページとともに用いられる、会社により提供されるコンテキスト・メニューの制御方法を対象とする。この方法は、ダウンロード前はコンテキスト・メニューの一部分ではない追加のメニュー・アイテムをダウンロードし、かつクライアント側モジュールにより、ユーザーがコンテキスト・メニューを呼び出すのを監視することを含む。コンテキスト・メニュー呼び出しを検知する際、追加のメニュー・アイテムの少なくとも１つがコンテキスト・メニュー・インターフェースの一部分としてユーザーに利用可能になり、これら追加のメニュー・アイテムの配置がクライアント側モジュールにより決定される。
【０００８】
本発明の他の実施形態は、ウェブ・ページとともに用いられる、コンテキスト・メニューの制御方法を対象とし、ダウンロード前はコンテキスト・メニューの一部分ではない追加のメニュー・アイテムおよびメニュー・アイコンをクライアント側モジュールによりダウンロードし、かつユーザーがコンテキスト・メニューを呼び出すのを監視することを含む。コンテキスト・メニュー呼び出しを検知する際、追加のメニュー・アイテムの少なくとも１つがコンテキスト・メニュー・インターフェースの一部分としてユーザーに利用可能になり、かつ少なくとも１つのアイコンが少なくとも１つの追加のメニュー・アイテムに隣接して配置される。
【０００９】
本発明の他の目的および特長は添付図面を参照した以下の詳細な説明から明かになるであろう。しかしながら、添付図面は説明の目的のためだけに作成されており、本発明の範囲を定義するものではなく、本発明の範囲は添付の特許請求の範囲を参照すべきである。
【発明を実施するための最良の形態】
【００１０】
添付図面は、大きさを表すものではなく、また単なる説明のためのものである。添付図面中、いくつかの図を通して同じ符号は同じエレメントを表す。
【００１１】
添付図面を参照してコンテキスト・メニュー制御システムおよび方法のいくつかの例示的実施形態を示しかつ説明する。
【００１２】
図１を参照すると、本発明の実施形態によるシステム１００のブロック図が示されている。コンピュータ１５０がインターネット１９０に接続されている。コンピュータ１５０は内部バスを備え、この内部バスはコンピュータ１５０の種々の装置の間の情報（すなわちデジタル・データ）の通信を容易にし、またコンピュータと外部の装置およびシステムとの間の通信インターフェース１６８を海下通信を容易にする。コンピュータ１５０は、また、バス１６４に結合された、例えばランダム・アクセス・メモリ（ＲＡＭ）および／または他の同等のダイナミック・メモリ記憶装置のようなメモリ１６０を備え、プロセッサ１６６から通信された命令を受信し記憶するようにしている。メモリ１６０は、また、プロセッサ１６６が命令を実行する間、変化し得るまたは他の中間的な情報を一時的に記憶するのに使用することが可能である。リード・オンリー・メモリ（ＲＯＭ)１６２もバス１６４に結合してプロセッサ１６６の使用する静的データおよび命令を記憶する。
【００１３】
種々の入出力装置がコンピュータ１５０の部分として設けられており、限定されないが、ディスプレイ１５４（例えば、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）等）、例えばキーボードのような入力装置１５６、例えばマウスまたはトラックボールのようなカーソル制御装置１５８が例示として挙げられる。例えば、磁気ディスク・ドライブと磁気ディスク、ＣＤ−ＲＯＭドライブとＣＤ−ＲＯＭ、その他の均等な装置と記憶媒体のようなデータ記憶装置１５２がバス１６４に結合されてプロセッサ１６６、メイン・メモリ１６−および通信インターフェース１６８と通信する。記憶装置１５２は、好ましくは、オペレーティング・システム１７０とそこに記憶されたインターネット・ブラウザ・ソフトウェア・プログラム１７２（すなわち、ブラウザ）を有する。以下に詳細に説明するように、クライアント側モジュール１７４もデータ記憶装置１５２に記憶されている。
【００１４】
コンピュータ１５０はインターネット１９０に通信インターフェース１６８を介して、限定されないが同軸ケーブル、銅線、光ファイバー・ケーブルを含む１つ以上の送信媒体越しに通信可能に接続されている。コンピュータ１５０とインターネット１９０の間の通信は無線またはセル式インターフェースを介して行うことも可能である。通信インターフェース１６８１６８はコンピュータ１５０と他の電子装置またはシステム、例えばコンテンツ・プロバイダ１２０、１３０により提供された（図示しない）サーバー・コンピュータの間の双方向通信を容易にする。
【００１５】
コンピュータ１５０を使用する（図示しない）インターネット・ユーザーはブラウザ１７２を実行させることによりコンピュータ１５０の通信インターフェース１６８とインターネット・サービス・プロバイダー（ＩＳＰ）１８０を介してコンテンツ・プロバイダ１２０のインターネット・サイト１２６との間の通信リンクを開くことでインターネット１９０にアクセスすることが可能である。インターネット・コンテンツはコンテンツ・プロバイダ１２０によりコンピュータ１５０１５０に通信され、ブラウザ１７２により表示される。あるいはまた、コンテンツ・プロバイダ１２０、１３０はまたＩＳＰ１８０を兼ねていてもよい。
【００１６】
別の実施形態では、コンピュータ１５０はデスクトップまたはノート型コンピュータ、ＰＤＡ、ハンド・ヘルド装置、または無線電話（グラフィック機能付）その他任意の既知もしくは今後開発される、本明細書に記載された機能を実行することが可能な装置であってもよい。
【００１７】
本発明の一実施形態において、第１のインターネット・サービス・プロバイダー１２０はインターネット・ユーザーにブラウザ１７２を制御するプログラム１２２に対するアクセスを提供することが可能である。ユーザーが実行すると、制御プログラム１２２は、例えばダイナミック・リンク・ライブラリ（ＤＬＬ）のようなクライアント側モジュール１７４を、インターネット・ユーザーのコンピュータ１５０のデータ記憶装置１５２にダウンロードするかまたは形成する。クライアント側モジュール１７４は、好ましくは、アクティブＸ制御またはプラグイン機能を備えている。その後、インターネット・ユーザーがブラウザ１７２を用いてインターネットにアクセスし、ブラウザ１７２がクライアント側モジュール１７４を開き、好ましくは自動的に（または他のやり方で）インターネット・サービス・プロバイダーのインターネット・サイト１２６への接続を確立する。コンテンツ・プロバイダは、ブラウザ１７２により確立された接続に応答して、情報および／または機能データをブラウザ内で動作している、クライアント側モジュール１７４により形成されたシェルにロードする。例えば、ユーザーがコンテンツ・プロバイダ１２０にアカウントを持っていれば、クライアント側モジュール１７４にカスタマイズされた情報および／または機能をロードすることが可能である。ユーザーがアカウントを持っていないならば、より一般化された（例えば、ゲスト）情報および／または機能をロードすることが可能である。
【００１８】
ある実施形態では、クライアント側モジュール１７４は本質的にシェル（または複数のシェル）をブラウザ１７２内に開くが、このブラウザ１７２はアクティブＸ制御またはプラグイン・コードを含み、インターネット・ブラウザ１７２を制御、すなわち追加、除去、および／または変更することが可能である。アクティブＸ制御またはプラグインをロードすると、クライアント側モジュール１７４は、好ましくは、ここでは一般に情報と呼ばれる、関数、オブジェクト、データおよび他のソフトウェアを含み、これらを用いてブラウザ１７２を制御することが可能である。本実施形態では、クライアント側モジュール１７４（およびシェル）は、インターネットのユーザーが、例えば（ウェブ・ページ１２４を有する）インターネット・サイト１２６から（ウェブ・ページ１３４を有する）インターネット・サイト１３６に移動したときに閉じないことが保証される。従って、アクティブＸ制御またはプラグインによって提供された情報および／または機能は、インターネット・ユーザがアクティブＸ制御またはプラグインをロードしたインターネット・サイトの接続を切って他のインターネット・サイトに接続しても、失われることはない。別の実施形態では、クライアント側モジュール１７４はブラウザの「背後で」動作することが可能であり、コンテキスト・メニューが呼び出されるまでユーザーには不可視であるように見える。さらに他の実施形態では、クライアント側モジュール１７４をインターネット・ユーザから離隔したリモート位置に配置することが可能である。
【００１９】
図２はコンテキスト・メニュー制御方法２００の例示的実施形態を説明する。方法２００は工程２０５で開始し、クライアント側モジュール１７４が所定のインターネット・サイト、例えばコンテンツ・プロバイダ１２０にリクエストを送信し、そのインターネット・サイトでリクエストを受信し、コンテキスト・メニュー・アイテムを記述する。このリクエストはクライアント側モジュール１７４とコンテンツ・プロバイダのインターネット・サイト１２６の間に上述のように確立された接続の一部分である、および／またはそのような接続に併設されていることが可能である。
【００２０】
次に、工程２１０において、クライアント側モジュール１７４は所定のインターネット・サイト１２６からデータを受信するが、このデータはコンテキスト・メニュー・アイテムの記述を含んでいる。一つの例示的実施形態においては、コンテキスト・メニュー制御方法はブラウザ・ツールバー用のクライアント側モジュール１７４を実装されているが、この実施形態では、クライアントは、ツールバーの通常のボタンと同じ送り（ｆｅｅｄ）でコンテキスト・メニュー・アイテムの記述を受信する。これらの記述は、例えば、タイプ、ＵＲＬ、タイル、ニーモニック・キーおよび開始位置を含んでいてもよい。
【００２１】
処理は工程２１０〜工程２１５に進行し、クライアント側モジュール１７４はブラウザ１７２がウェブ・ページのローディングを終了したときを決定する。これは、一つの例示的実施形態においては、ウェブ・ブラウザ制御状のイベントを調整（ｃｏｏｒｄｉｎａｔｅ）して、ウェブ・ブラウザがクライアント側モジュール１７４に種々のイベントが起きたときを通知するようにすることで行うことが可能である。例えば、ウェブ・ページが完成すると、クライアント側モジュール１７４ＤＩＳＰＩＤ＿ＤＯＣＵＭＥＮＴＣＯＭＰＬＥＴＥイベントを受信する。
【００２２】
方法２００の説明に戻ると、工程２２０において、クライアント側モジュール１７４はコンテキスト・メニュー・イベントを監視する。一つの例示的実施形態において、ウェブ・ページのローディングが終了した後、クライアント側モジュール１７４はそのページのＩＨＴＭＬドキュメント２インターフェースを受信する。ＩＨＴＭＬドキュメント２ポインタを用いて、クライアント側モジュール１７４はＨＴＭＬドキュメントに関連づけられたイベントを監視することが可能である。特に、クライアント側モジュール１７４はＤＩＳＰＩＤ＿ＨＴＭＬＤＯＣＵＭＥＮＴＥＶＥＮＴ２＿ＯＮＣＯＮＴＥＸＴＭＥＮＵと呼ばれるイベントを探す。このイベントは、カーソルがブラウザ・ウィンドウ内に位置しているときにユーザーがマウス右ボタン（その他の適切な切替装置（セレクタ））をクリックすると開始される、またはコンピュータ・プログラミングの専門語では「火が付けられる（ｆｉｒｅｄ）」。
【００２３】
次に、クライアント側モジュール１７４はコンテキスト・メニュー・イベントが工程２２５に生じたかを決定する。コンテキスト・メニュー・イベントが起きなかったときは、処理は工程２２０に戻り、クライアント側モジュール１７４がコンテキスト・メニュー・イベントを監視し続ける。決定工程２２５に戻ると、クライアント側モジュール１７４はコンテキスト・メニュー・イベントが生じたことを、例えばＤＩＳＰＩＤ＿ＨＴＭＬＤＯＣＵＭＥＮＴＥＶＥＮＴＳ２＿ＯＮＣＯＮＴＥＸＴＭＥＮＵイベントが生じたことを決定すると、処理は皇帝２３０に進む。
【００２４】
工程２３０において、クライアント側モジュール１７４はブラウザ・ウィンドウを作成してコンテキスト・メニューに関連したブラウザ・ウィンドウの受信したイベントを見、そしておそらく変更する。ある実施形態では、クライアント側モジュール１７４がＤＩＳＰＩＤ＿ＨＴＭＬＤＯＣＵＭＥＮＴＥＶＥＮＴＳ２＿ＯＮＣＯＮＴＥＸＴＭＥＮＵイベントを検知すると、クライアント側モジュール１７４はブラウザ・ウィンドウを細分類する。ブラウザ・ウィンドウを細分類すると、クライアント側モジュール１７４がブラウザ・ウィンドウの受信したイベントを見ることが可能になる。細分類は、例えば、メッセージをクライアント側モジュール１７４に向けるＣ含有ウィンドウ・オブジェクトを使用することにより実行することが可能である。どのウィンドウにクライアント側モジュール１７４が細分類するかを決定するために、クライアント側モジュール１７４は「インターネット・エクスプローラ  サーバー（ＩｎｔｅｒｎｅｔＥｘｐｌｏｒｅｒ＿Ｓｅｒｖｅｒ）」のクラス名を持つウィンドウを探すトップレベル・ブラウザ・ウィンドウから始まるウィンドウ階層を下る。突き止められると、そのウィンドウは細分類される。このタイプのブラウザ・ウィンドウの細分類は、１９９９年１０月２８日出願の「インターネット・ブラウザ・インターフェースの制御方法および制御可能なブラウザ・インターフェース」という発明の名称の米国特許出願第０９／４２９，５８５号明細書にさらに詳細に記載されている。この米国特許出願の記載内容は引用により本明細書に導入される。
【００２５】
方法２００の説明に戻ると、工程２３５において、クライアント側モジュール１７４は、クライアントがコンテキスト・メニューを要求または活性化したときに、ウェブ・ページ上のどのようなエレメントをクライアントが選択したか、および（もし存在すれば）どのようなテキストをハイライトしたかを決定する。工程２３５は方法３００に関して、そして図３を参照して以下にさらに詳細に説明する。再び図２を参照すると、工程２３５の後に、クライアント側モジュール１７４は選択されたエレメントに関連する情報を取得する。この情報は、少なくともアンカー（例えばクリック可能なハイパーリンク）、オブジェクト（例えば、ウェブ・ページに埋め込まれたアクティブＸコントロール）、イメージ（例えば、ウェブ・ページに埋め込まれたピクチャー）、およびテキストの組合せであってもよいエレメントのタイプ；存在する場合は、選択されたＵＲＬ；および存在する場合は、そのときどのようなテキストが選択（またはハイライト）されたかを含む。エレメントの情報を用いて、テキストが選択され、工程２３０にブラウザ・ウィンドウが作成されると、処理は工程２４０に進む。
【００２６】
工程２４０では、ブラウザ・ウィンドウがイベントを処理するまでは、クライアント側モジュール１７４がイベントを監視する。一例示的実施形態では、クライアント側モジュール１７４は、ＷＭ＿ＩＮＩＴＭＥＮＵ、ＷＭ＿ＥＸＩＴＭＥＮＵＬＯＯＰ、ＷＭ＿ＭＥＮＵＣＨＡＲ、ＷＭ￥ＭＥＮＵＳＥＬＥＣＴ、ＷＭ＿ＭＥＡＳＵＲＥＩＴＥＭ、およびＷＭ＿ＤＲＡＷＩＴＥＭメッセージを含むメッセージを探す。
【００２７】
コンテキスト・メニューがまさに表示されようとしていることを示すメッセージをクライアント側モジュール１７４が受信すると、処理は監視工程２４０から工程２４５に進み、工程２４５でクライアント側モジュール１７４は、存在する場合、どのようなエレメントをクライアントが選択し、そして存在する場合、どのようなテキストを選択したかに基づいてコンテキスト・メニューにメニュー・アイテムを追加する。一例示的実施形態では、ＷＭ＿ＩＮＩＴＭＥＮＵメッセージが、コンテキスト・メニューがまさに表示されようとしていることを示す。クライアント側モジュール１７４がＷＭ＿ＩＮＩＴＭＥＮＵメッセージを受信すると、クライアント側モジュール１７４は選択されたエレメントのタイプを同定するので、クライアント側モジュール１７４はコンテキスト・メニュー内に追加のメニュー・アイテムを置く位置を決定することができる。ある実施形態では、それぞれのタイプのエレメントについての開始位置が予め決定されており、所定のインターネット・サイトから受信したコンテキスト・メニュー記述に含まれている。１つのエレメントのタイプが１つより多い場合は、優先順位はアンカー（Ａｎｃｈｏｒ）、イメージ（Ｉｍａｇｅ）、テキスト（Ｔｅｘｔ）である（例えば、タイプがアンカーおよびイメージである場合、クライアント側モジュール１７４はアンカーの開始位置において開始する。別の実施形態では、異なる優先順位を用いてもよく、あるいは特定の優先順位を用いなくてもよい。クライアント側モジュール１７４が開始位置を決定すると、クライアント側モジュール１７４はメニュー・アイテムをコンテキスト・メニューに、ある実施形態ではウィンドウズ（登録商標）・アプリケーション・プログラミング・インターフェース（Ｗｉｎｄｏｗｓ（登録商標）  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ（ＡＰＩｓ））を用いて追加する。受信したコンテキスト・メニュー記述中に１つ以上のニーモニック文字（ｍｎｅｍｏｎｉｃ  ｃｈａｒａｃｔｅｒｓ）がある場合、クライアント側モジュール１７４は、メニュー・アイテムを追加するときに、これらニーモニック文字を記憶する。さらに、追加のまたはオリジナルのコンテキスト・メニュー・アイテムもサブメニューを含むことが可能である。例えば、ユーザーがポインタを動かして、および／または追加のまたはオリジナルのコンテキスト・メニュー・アイテムを選択するときに、ユーザーに追加のメニュー・アイテムを提供する第２のコンテキスト・メニューを作成することが可能である。加えて、代替的に、第２のコンテキスト・メニューについてのアイテムは第３のコンテキスト・メニュー等に導くことが可能である。かかるサブメニューを用いて関連するアイテムを組織化する一助とすることが可能である。
【００２８】
コンテキスト・メニューが却下された（ｄｉｓｍｉｓｓｅｄ）ことを示すメッセージが受信されると、例えば、クライアントがメニュー・アイテムを選択するか、またはコンテキスト・メニューの外側のどこかをクリックすると、処理は工程２４５から工程２５０に進み、工程２５０でクライアント側モジュール１７４はコンテキスト・メニューから追加のメニュー・アイテムを除去する。ある実施形態では、ＷＭ＿ＥＸＩＴＭＥＮＵＬＯＯＰメッセージが、コンテキスト・メニューが却下されたことを示す。クライアント側モジュール１７４がＷＭ＿ＥＸＩＴＭＥＮＵＬＯＯＰメッセージを受信すると、クライアント側モジュール１７４が追加のコンテキスト・メニュー・アイテムを除去する。
【００２９】
一例示的実施形態では、クライアント側モジュール１７４がＷＭ＿ＭＥＮＵＣＨＡＲメッセージを受信すると、これはコンテキスト・メニューが表示されている間にクライアントがキーボードのキーを打つか、または押し下げたことを示すことになる。この場合、クライアント側モジュール１７４は打たれたキーを、追加されたコンテキスト・メニュー・アイテムのニーモニック・キーと比較する（この比較は大文字と小文字を区別しない）。一致すると、コンテキスト・メニューは却下され、そしてＷＭ＿ＭＥＮＵＳＥＬＥＣＴメッセージがクライアント側モジュール１７４に、コンテキスト・メニューが却下されたことをクライアント側モジュール１７４に示す値とともに送られる。
【００３０】
方法２００の説明に戻ると、処理は工程２５０から決定工程２５５に進む。工程２５５では、クライアント側モジュール１７４はアイテムが選択されたか否かを決定する。一例示的実施形態では、ＷＭ＿ＭＥＮＵＳＥＬＥＣＴメッセージは、ユーザーがメニュー・アイテムに対応するニーモニック・キーを打つか、またはマウスを用いて選択を行ったことを示す。ＷＭ＿ＭＥＮＵＳＥＬＥＣＴメッセージは、また、ユーザーがマウスをドラッグしてメニュー・アイテムを指示したときを示すことも可能であり、例えば、メニュー・アイテムをハイライトすることが可能である。
【００３１】
クライアント側モジュール１７４が選択がなされたことを決定すると、処理は工程２５５から工程２６０に進み、工程２６０でその選択が処理される。ＷＭ＿ＭＥＮＵＳＥＬＥＣＴメッセージが、コンテキスト・メニューが却下されたことを示すパラメータとともに受信され、ユーザーがマウスにより、またはキーストローク（またはその他の方法で）コンテキスト・メニューを選択すると、選択がなされ、処理される。一実施形態では、クライアント側モジュール１７４はコンテキスト・メニュー・アイテム記述を見て選択されたアイテムに対応するデータを探す。このデータから、クライアント側モジュール１７４はデフォルトＵＲＬを現在のウェブ・ページに特異的なデータ、例えばＵＲＬまたはテキスト選択で置き替える。情報が置き替えられると、その情報が処理される。
【００３２】
決定工程２５５に戻ると、コンテキスト・メニュー・アイテムが選択されなかったことが決定されると、処理は工程２６５に進む。工程２６５では、クライアント側モジュール１７４はブラウザが依然として動作中(ａｃｔｉｖｅ)であるかを決定する。ブラウザが動作中であれば、処理は工程２２０に戻り、クライアント側モジュール１７４はコンテキスト・メニュー・イベントを監視する。一方、クライアント側モジュール１７４がブラウザはもはや動作中でないことを決定すると、方法２００の処理を停止する。
【００３３】
図３に戻り、引き続き図１を参照すると、ユーザーがコンテキスト・メニューを要求したときに、ユーザーがどのようなエレメントを選択したか、およびどのようなテキストを選択したかを決定する方法３００の一例示的実施形態が示される。方法３００の処理は工程３１０においてであり、工程３１０ではクライアント側モジュール１７４はユーザーにより選択されたウェブ・ページ上のエレメント(エレメント)を同定する。このエレメントはソース・エレメントであると考えられる。一実施形態では、クライアント側モジュール１７４は、問題とする選定に対応するＩＨＴＭＬＥｖｅｎｔＯｂｊポインタ（例えば、クリック）を用いてソース・エレメントを同定することが可能である。このポインタはクリック・イベントについての情報を含み、どのようなＨＴＭＬエレメントが選択されたか（クリックされたか）を含む。次いで、処理は工程３１０から工程３１５に進む。
【００３４】
工程３１５において、クライアント側モジュール１７４は現在のエレメントが有効であるか否かを決定する。ある実施形態では、クライアント側モジュール１７４は現在のエレメントがアンカー、オブジェクトまたはイメージであるかをＡＴＬスマート・ポインタＣＣｏｍＱＩＰｔｒ＜Ｃｌａｓｓ＞を用いて決定する。例えば、エレメントをアンカーとしてテストするために、クライアント側モジュール１７４は下記の呼び出し（ｃａｌｌ）を用いることができる。
ＣＣｏｍＱＩＰｔｒ＜ＩＨＴＭＬＡｎｃｈｏｒＥｌｅｍｅｎｔ＞ｐＡｎｃｈｏｒ＝ｐＥｌｅｍ；
この呼び出しが成功し、かつｐＡｎｃｈｏｒがゼロ（ＮＵＬＬ）でないならば、すなわち、値を有しているならば、クライアント側モジュール１７４はエレメントはアンカー（ＡＮＣＨＯＲ）であると決定する。同様の方法を用いてエレメントがオブジェクトまたはイメージであるか否かを決定する。方法３００に戻ると、工程３１５において、クライアント側モジュール１７４が現在のエレメントが有効であることを決定するならば、処理は工程３２０に進み、工程３２０でクライアント側モジュール１７４はエレメントのタイプが関心のあるタイプであるか否かを決定する。例えば、本発明の一実施形態では、アンカーおよびイメージタイプに関心がある。他の実施形態では、他のタイプ、例えばオブジェクトおよびテキストも関心があり、追加のコンテキスト・メニュー・アイテムを追加してユーザーに追加の機能を提供することが可能である。
【００３５】
工程３２０では、クライアント側モジュール１７４は現在のエレメントのタイプが関心のあるものでないことを決定すると、処理は工程３３５に進み、工程３３５ではクライアント側モジュール１７４はウェブ・ページ（例えば、ＨＴＭＬドキュメント）、構造を上り、次のペアレント・エレメント、すなわち先行エレメントを同定する。処理は工程３３５から決定工程３１５に進み、工程３１５ではクライアント側モジュール１７４は現在のエレメントが有効であるか否かを決定する。現在のエレメントが有効であれば、処理は工程３１５から工程３２０に進む。工程３２０では、クライアント側モジュール１７４が現在のエレメントのタイプが関心のあるタイプであることを決定すると、処理は工程３２０から工程３２５に進む。
【００３６】
工程３２５では、クライアント側モジュール１７４は現在のエレメントがイメージであるか否かを決定する。クライアント側モジュール１７４が現在のエレメントはイメージではないと決定すると、処理は工程３３０へ進み、工程３３０ではクライアント側モジュール１７４がエレメントを関連する情報（例えば、エレメントのタイプおよび関連するＵＲＬ）を含めて保存する。工程３３０から、処理は工程３３５に戻り、工程３３５では次のペアレントが同定される。工程３１５および３２０を上記のように繰り返す。工程３２５では、クライアント側モジュール１７４が現在のエレメントがイメージであると決定すると、処理は工程３４５に進む。
【００３７】
工程３４５では、クライアント側モジュール１７４はイメージがイメージ・マップであるか否かを決定する。当業者には知られているように、イメージ・マップは、クリックされると異なるＵＲＬにそれぞれマッピングするクリック可能な領域に細分割されたイメージである。このＵＲＬは現在の頁へのブックマークまたは他のウェブ・ページへのリンクであってもよい。ある実施形態では、クライアント側モジュール１７４はイメージ・エレメントの“ｕｓｅＭａｐ”プロパティを見る。このプロパティの値がブランク、例えば、“”であれば、イメージはイメージ・マップではない。イメージの“ｕｓｅＭａｐ”プロパティがＵＲＬであれば、イメージはイメージ・マップである。工程３４５に戻ると、クライアント側モジュール１７４がイメージはイメージ・マップではないと決定すると、処理は工程３５０に進み、工程３５０では現在のエレメントが保存される。工程３５０から、処理は工程３５５に進み、工程３５５では次のペアレント・エレメントが同定される。工程３１５、３２０および３２５を上記のように繰り返す。
【００３８】
工程３４５に戻ると、クライアント側モジュール１７４がイメージはイメージ・マップであることを決定すると、処理は工程３５５に進み、工程３５５ではクライアント側モジュール１７４がイメージ・マップに関するデータを取得する。一例示的実施形態では、イメージ・マップ・データは一組の座標およびＵＲＬとして記憶される。例えば、次の通りである。
＜ＭＡＰＮＡＭＥ＝“ｍａｐ１”＞
＜ＡＲＥＡＮＡＭＥ＝“ａｒｅａ１”ＣＯＯＲＤＳ＝“０，０，９９，１００”
ＨＲＥＦ＝“ｈｔｔｐ：／／ｗｗｗ．ｙａｈｏｏ．ｃｏｍ／”ＴＡＲＧＥＴ＝“ｆｒａｍｅ１”＞
＜ＡＲＥＡＮＡＭＥ＝“ａｒｅａ２”ＣＯＯＲＤＳ＝“１００，０，１９９，１００”
ＨＲＥＦ＝“ｈｔｔｐ：／／ｓｐｏｒｔｓ．ｙａｈｏｏ．ｃｏｍ／”ＴＡＲＧＥＴ＝“ｆｒａｍｅ１”＞
＜ＡＲＥＡＮＡＭＥ＝“ａｒｅａ３”ＣＯＯＲＤＳ＝“２００，０，２９９，１００”
ＨＲＥＦ＝“ｈｔｔｐ：／／ｗｅａｔｈｅｒ．ｙａｈｏｏ．ｃｏｍ／”ＴＡＲＧＥＴ＝“ｆｒａｍｅ１”＞＜ＡＲＥＡＮＡＭＥ＝“ａｒｅａ４”ＣＯＯＲＤＳ＝“３００，０，４００，１００”
ＨＲＥＦ＝“ｈｔｔｐ：／／ｃｏｍｐａｎｉｏｎ．ｙａｈｏｏ．ｃｏｍ／”ＴＡＲＧＥＴ＝“ｆｒａｍｅ１”＞＜／ＭＡＰ＞
【００３９】
ＣＯＯＲＤＳはそのマップ領域の境界矩形を記述し、ＨＲＥＦは、ユーザーが記述された領域内でクリックしたときにブラウザがナビゲートするＵＲＬである。このイメージ・マップ情報を後に使用するために記憶する。
【００４０】
方法３００の説明に戻ると、処理は工程３５５から工程３６０に進む。工程３６０では、クライアント側モジュール１７４は地図のどの部分をユーザーが選択したか（クリックしたか）を決定する。一実施形態では、クライアント側モジュール１７４は、最初にｇｅｔ＿ａｌｌ（）をＩＨＴＭＬＤｏｃｕｍｅｎｔ２上に呼び出してそのページ上の全てのＨＴＭＬエレメントからなる一群を取得することにより、ユーザーが地図のどの部分をクリックしたかを決定する。次いで、クライアント側モジュール１７４はイメージが使用している地図の名称である名称を持つエレメントを見出す。次いで、クライアント側モジュール１７４はソース・エレメント、すなわち、イメージ・エレメントの左上隅に対するユーザーのクリックのオフセットｘ、ｙを決定する。次いで、クライアント側モジュール１７４はＭＡＰ中に含まれる全てのＡＲＥＡエレメントからなる一群を取得する。この群の中の各ＡＲＥＡエレメントについて、クライアント側モジュール１７４はユーザーのクリックのＸ，Ｙ（または座標）がＡＲＥＡのＣＯＯＲＤＳに記述された境界矩形内にあるか否かを決定する。
【００４１】
方法３００の説明に戻ると、処理は工程３６０から工程３３０に進み、工程３３０では、タイプおよびＵＲＬのような関連情報を含むよそが後の使用のために保存される。処理は工程３３０から工程３３５に進み、次のペアレント・エレメントが同定される。次いで、処理は工程３３５から工程３１５に進む。
【００４２】
工程３１５では、クライアント側モジュール１７４は、それ以上のペアレント・エレメントが存在しないならば、現在のエレメントが有効ではないことを決定する。この場合、処理は工程３１５から工程３６５に進む。工程３６５では、クライアント側モジュール１７４はウェブ・ページ選択インジケータを検査してテキストが選択されているか否かを決定する。一実施形態では、クライアント側モジュール１７４はＩＨＴＭＬＳｅｌｅｃｔｉｏｎＯｂｊｅｃｔポインタをドキュメントから取得することによりテキストが選択されているか否かを決定する。ＩＨＴＭＬＳｅｌｅｃｔｉｏｎＯｂｊｅｃｔポインタが存在しタイプ“ｔｅｘｔ”を有しているならば、テキストが選択されていることになる。
【００４３】
方法３００の説明に戻ると、処理は工程３６５から工程３７０に進む。工程３７０では、クライアント側モジュール１７４が、テキストが選択されていることを決定すると、処理は工程３７５に進む。工程３７５では、選択されたテキストが保存され、テキストが選択されたという状態も保存される。一実施形態では、クライアント側モジュール１７４選択のためのＩＨＴＭＬＴｘｔＲａｎｇｅを作成することにより選択されたテキストを保存する。次いで、クライアント側モジュール１７４はこの範囲でｇｅｔ＿ｔｅｘｔ（）を呼び出して実際に選択されたテキストを取得する。次いで、このテキストとＴＥＸＴが選択されている状態が後の使用のために保存される。決定工程３７０に戻ると、テキストがなにも選択されないと、方法３００は工程２４５の方法２００に戻る。
【００４４】
ユーザーによりどのようなエレメントが選択されているかを決定する方法３００をさらに説明するために、図４に示す例示的ＨＴＭＬエレメント構造４００に関連して以下に５つの例を説明する。構造４００により表されるＨＴＭＬコード（参照番号を追加）は以下の通りである。
１−＜ｈｔｍｌ＞
２−＜ｂｏｄｙ＞
３−＜ａ  ｈｒｅｆ＝“ｈｔｔｐ：／／ｗｗｗ．ｙａｈｏｏ．ｃｏｍ／”＞Ｙａｈｏｏ！＜／ａ＞
４−＜ｂｒ＞＜ｂｒ＞
５−＜ａ  ｈｒｅｆ＝“ｈｔｔｐ：／／ｗｗｗ．ｙａｈｏｏ．ｃｏｍ／”＞＜ｉｍｇ  ｓｒｃ＝ｉｍｇ．ｇｉｆ＞＜／ａ＞
６−＜ｂｒ＞＜ｂｒ＞
７−＜ｔａｂｌｅ  ｃｅｌｌｐａｄｄｉｎｇ＝５  ｗｉｄｔｈ＝１００％＞
８−＜ｔｒ  ｂｇｃｏｌｏｒ＝ｒｅｄ＞
９−＜ｔｄ  ｗｉｄｔｈ＝５０％  ａｌｉｇｎ＝ｃｅｎｔｅｒ  ｂｇｃｏｌｏｒ＝＃００ｆｆ００＞
１０−＜ａ  ｈｒｅｆ＝“ｈｔｔｐ：／／ｗｗｗ．ｙａｈｏｏ．ｃｏｍ／”＞Ｙａｈｏｏ！＜／ａ＞
１１−＜／ｔｄ＞
１２−＜ｔｄ  ｗｉｄｔｈ＝５０％  ａｌｉｇｎ＝ｃｅｎｔｅｒ  ｂｇｃｏｌｏｒ＝＃００ｆｆｆｆ＞
１３−＜ｓｐａｎ＞
１４−＜ｆｏｎｔ  ｆａｃｅ＝ｖｅｒｄａｎａ＞
１５−＜ａ  ｈｒｅｆ＝“ｈｔｔｐ：／／ｗｗｗ．ｙａｈｏｏ．ｃｏｍ／”＞Ｙａｈｏｏ！＜／ａ＞
１６−＜／ｆｏｎｔ＞
１７−＜／ｓｐａｎ＞
１８−＜／ｔｄ＞
１９−＜／ｔｒ＞
２０−＜ｔｒ  ｈｅｉｇｈｔ＝２５  ｂｇｃｏｌｏｒ＝ｒｅｄ＞
２１−＜ｔｄ＞ｈｅｌｌｏ＜／ｔｄ＞
２２−＜／ｔｒ＞
２３−＜／ｔａｂｌｅ＞
２４−＜／ｂｏｄｙ＞
２５−＜／ｈｔｍｌ＞
【００４５】
第１の例はユーザーがテキスト・リンクをクリックする事例を説明する。上に示す例示的ＨＴＭＬコードの行３はテキスト・リンクであり、図４においてノード４０５により表されている。ユーザーにより選択（クリック）されたエレメント、すなわち、ソース・エレメントはアンカーであるので、アンカーとマークされ、クライアント側モジュール１７４はＨＴＭＬ構造を移動して次のペアレント・エレメントに至る。次のペアレント・エレメントは“本体（ｂｏｄｙ）”エレメント、ノード４１０であり、これは関心のあるエレメントタイプではない。従って、“本体（ｂｏｄｙ）”エレメントは無視され、次のペアレント・エレメントが同定される。次のペアレント・エレメントはＮＵＬＬであるので、クライアント側モジュール１７４はなんらかのテキストが選択されたかをチェックする。ユーザーによりクリックされたタイプはＡＮＣＨＯＲであると決定される。
【００４６】
第２の例はユーザーがリンクであるイメージをクリックする事例を説明する。上に示した例示的ＨＴＭＬコードの行５はリンクであるイメージである。これは図４においてノード４１５および４２０により表されている。ユーザーによりクリックされたエレメント、すなわちソース・エレメントはイメージ、ノード４１５であるので、イメージとしてマークされ、クライアント側モジュール１７４はＨＴＭＬ構造を移動して次のペアレント・エレメントに至る。このイメージはイメージ・マップではないので、イメージに関しては余分の工程はない。次のペアレント・エレメントはアンカー、ノード４２０であるので、アンカーとしてマークされ、次のペアレント・エレメントが同定される。次のペアレント・エレメントは“本体（ｂｏｄｙ）”エレメント、ノード４１０であり、これは関心のあるエレメントタイプではない。従って、“本体（ｂｏｄｙ）”エレメントは無視され、次のペアレント・エレメントが同定される。次のペアレント・エレメントはＮＵＬＬであるので、クライアント側モジュール１７４は何らかのテキストが選択されたかをチェックする。ユーザーによりクリックされたタイプはＡＮＣＨＯＲおよびＩＭＡＧＥであると決定される。
【００４７】
第３の例は、ユーザーがグリーン背景を有するリンクをクリックする事例を説明する。上に示す例示的ＨＴＭＬコードの行９および行１０はグリーン背景を有するリンクである。これは図４においてノード４２５および４３０により表されている。ユーザーがクリックしたエレメント、すなわちソース・エレメントはアンカー、ノード４２５であるので、アンカーとしてマークされ、クライアント側モジュール１７４はＨＴＭＬ構造を移動して次のペアレント・エレメントに至る。次の４つのペアレント・エレメントは“ｔｄ”、ノード４３０、“ｔｒ”、ノード４３５、“ｔａｂｌｅ”、ノード４４０、および“本体（ｂｏｄｙ）”、ノード４１０である。これらのいずれも関心のあるエレメントタイプではない。従って、それらは無視され、次のペアレント・エレメントが同定される。次のペアレント・エレメントはＮＵＬＬであるので、クライアント側モジュール１７４はなんらかのテキストが選択されたかをチェックする。ユーザーがクリックしたタイプはＡＮＣＨＯＲであると決定される。
【００４８】
第４の例はユーザーがシアン背景を有するリンクをクリックする事例を説明する。上に示した例示的ＨＴＭＬコードの行１２および行１８はシアン背景を有するリンクである。これは図４においてノード４５０および４６５により表されている。ユーザーがクリックしたエレメント、すなわちソース・エレメントはアンカー、ノード４５０であるので、アンカーとしてマークされ、クライアント側モジュール１７４はＨＴＭＬ構造を移動して次のペアレント・エレメントに至る。次の６つのペアレント・エレメントは、“フォント（ｆｏｎｔ）”、ノード４５５、“スパン（ｓｐａｎ）”、ノード４６０、“ｔｄ”、ノード４６５、“ｔｒ”、ノード４３５、“テーブル（ｔａｂｌｅ）”、ノード４４０、および“本体（ｂｏｄｙ）”、ノード４１０である。これらのいずれも関心のあるエレメントタイプではない。従って、それらは無視され、次のペアレント・エレメントが同定される。次のペアレント・エレメントはＮＵＬＬであるので、クライアント側モジュール１７４は何らかのテキストが選択されたかを決定する。ユーザーがクリックしたタイプはＡＮＣＨＯＲであると決定される。
【００４９】
第５の例はユーザーがレッド背景を有するテキストをクリックする事例を説明する。上に示した例示的ＨＴＭＬコードの行２０および行２２はレッド背景を有するテキストである。これは図４においてノード４７０〜４７５により表されている。ユーザーがクリックしたエレメント、すなわちソース・エレメントは“ｔｄ”、ノード４７０であり、これは関心のあるエレメントタイプではないため、無視される。次の３つのペアレント・エレメントは“ｔｒ”、ノード４７５、“テーブル（ｔａｂｌｅ）”、ノード４４０、および“本体（ｂｏｄｙ）”、ノード４１０である。これらのいずれも関心のあるエレメントタイプではない。従って、それらは無視され、次のペアレント・エレメントが同定される。次のペアレント・エレメントはＮＵＬＬであるので、クライアント側モジュール１７４は何らかのテキストが選択されたかを決定する。ユーザーがクリックしたタイプはＮＯＮＥであると決定される。
【００５０】
別の実施形態では、どのタイプのエレメントに関心があるか、およびどれが無視されるべきかを決定する種々の他のスキームを実装することが可能である。
【００５１】
図５はコンテキスト・メニューを制御するコンピュータ・コードを提供する方法５００の例示的実施形態を説明する。本発明の追加的コンテキスト・メニュー・アイテムを使用するために、ユーザーはクライアント側モジュール１７４を取得する。一例示的実施形態では、ユーザーは、工程５０５におけるように、所定のインターネット・サイトに接続することによりクライアント側モジュール１７４を取得する。次いで、工程５１０において、サーバーがクライアントからのリクエストを監視する。クライアント側モジュール１７４に対するリクエストを受信すると、処理は工程５１５に進む。工程５１５では、制御プログラム１２２を用いて、インターネット・サイト１２６はクライアント側モジュール１７４をユーザーのコンピュータ１５０に作成またはダウンロードする。クライアント側モジュールはライブラリ・ファイルであってもよい。
【００５２】
クライアント側モジュールをユーザーが取得すると、処理は工程５０５に戻り、工程５０５ではクライアント側モジュール１７４が所定のインターネット・サイトに接続する。所定のインターネット・サイトはインターネット・サイト１２６であってもよく、そこからクライアント側モジュール１７４がダウンロードされるか、あるいは所定のインターネット・サイトは他のサイト、例えばインターネット・サイト１３６であってもよい。処理は工程５１０に進み、工程５１０ではインターネット・サイト１２６がクライアントからのリクエストを監視する。メニュー記述に対するリクエストを受信すると、処理は工程５２０に進み、工程５２０ではインターネット・サイトはクライアントにメニュー・アイテムの記述を送信する。次いで、インターネット・サイト１２６は工程５１０に戻り、工程５１０では、インターネット・サイト１２６はクライアントからのリクエストを監視する。
【００５３】
本発明の一実施形態を次の方法、すなわち、コンピュータのディスプレイ上にインターネット・ブラウザにより表示可能なインターネット・ブラウザ・インターフェースを制御し、コンピュータおよびインターネット・ブラウザのユーザーがインターネットにアクセスし、ナビゲートして、所定のインターネット・サイトからのウェブ・ページの表示を含む、１つ以上のウェブ・ページを、１つ以上のインターネット・サイトから受信し、コンピュータ・ディスプレイ上に表示することを可能にし、インターネット・ブラウザは少なくとも１つのインターネット・ブラウザ・ツールバーを有し、ツールバーはコンピュータおよびインターネット・ブラウザのユーザーに所定の機能を提供する少なくとも１つのツールバー・ボタンを有する方法の特長として提供することができ、この方法は、所定のインターネット・サイトにおいて、プログラムであって、インターネット・ブラウザ・インターフェースを制御し、かつ、所定のインターネット・サイトによりダウンロードするために、前記インターネット・ブラウザ・ツールバーに隣接して永続的なユーザー・ツールバーを表示させてユーザー・ツールバーは前記インターネット・ブラウザの統合された部分であるという視覚的印象を創出するようにするファイルを利用可能にするプログラムにアクセスを提供することを含み、前記ユーザー・ツールバーは、ダウンロード前は前記インターネット・ブラウザの一部ではない追加の機能を、ダウンロード後には、インターネット・ブラウザ・インターフェースの一部分として、しかも前記ユーザー・ツールバーが表示されると前記ユーザー・ツールバーは表示された状態を維持し、かつダウンロード後に前記インターネット・ブラウザがナビゲートさせられる後続のインターネット・サイトの如何にかかわらず、前記追加の機能がユーザーに利用可能な状態を維持するように、ユーザーに利用可能にすることが可能である。インターネット・ユーザーはブラウザをカスタマイズしてユーザーがブラウザを用いてインターネットにアクセスするたびに、ユーザーが定義した情報および／または機能がブラウザ・インターフェース、例えばツールバーで表示されるようにすることが可能である。ツールバーとしては、ブックマーク、アドレスおよび電話番号簿、個人金融情報、個人化されたニュース、および種々の機能、例えばアクティブＸコントロールおよびプラグインを介して利用可能であるものが挙げられる。加えて、インターネット・ユーザーがコンテンツ・プロバイダにアカウントを持っているならば、そのユーザーのアカウント情報（例えば、投資ポートフォリオ、ニュース・ヘッドライン、ブックマーク、アドレス・ブック、追加のコンテキスト・メニュー・アイテム等）をブラウザにより動的に表示することが可能である。
【００５４】
一実施形態では、ユーザー固有のアカウント情報には個人化されたコンテキスト・メニュー・アイテムを含めることが可能である。そのような実施形態では、ユーザーはどのコンテキスト・メニュー・アイテムを持つことを希望するかを、例えば提供されたアイテムのリストから選択することが可能である。それらの選好はコンテンツ・プロバイダにおよび／またはローカルにクライアントのコンピュータに記憶させることが可能である。
【００５５】
加えて、アカウントを持つユーザーは追加のコンテキスト・メニュー・アイテムを第１の記憶場所（ｌｏｃａｔｉｏｎ）に設定して使用し、次いで、同じコンテキスト・メニュー設定を、個人的設定を再入力することを要せずに、第２の記憶場所において持つことが可能である。これはユーザーのコンテキスト・メニュー設定をコンテンツ・プロバイダにおいて記憶させることにより行うことが可能になる。そのようにすれば、ユーザーの個人的設定はユーザーが望む任意の記憶場所からその個人化されたコンテキスト・メニューに読み出すことが可能である。
【００５６】
コンテキスト・メニュー制御方法にブラウザ・ツールバー用のクライアント側モジュール１７４が実装されている一例示的実施例では、メニュー・アイテムの記述はボタンとしてインターネット・サイト１２６からのツールバー用の標準的ボタンと同じ送り（ｆｅｅｄ）で送られる。ＱｕｉｃＳｅａｒｃｈを表すこのボタン“ｑｓ”は、不可視的にマークされているので、通常のツールバーのバーはそれを表示しない。各メニュー・アイテムは“ｑｓ”ボタンのサブアイテムであり、各意宛て無は一定の情報、例えばタイプ、ＵＲＬ、タイトルおよび任意にアイコンを有し、これらは他のツールバー・アイコン、ニーモニック・キー、ユーザーがサイン−インしていない場合に使用するデフォルトＵＲＬおよび異なるクリック・タイプ用の開始位置と同様に背景にダウンロードされる。
【００５７】
送り中にはコンテキスト・メニュー特長を無効にすべきであることを示す値も任意に送られる。この値を用いて、例えばコンテキスト・メニューの制御を実行する際に面倒な事態や問題が生じた場合に、この特長を停止することが可能である。
【００５８】
加えて、追加のコンテキスト・メニュー・アイテムをツールバー送りの中に記述することにより、国毎にまたはユーザー毎に異なる選択を行うことが可能である。さらに、ユーザーが新しいクライアント側モジュール１７４をダウンロードすることを要さずに新しいアイテムを動的に追加することが可能である。“ｑｓ”ボタンの記述はクライアント側モジュール１７４のキャッシング機構を用いてクライアント・コンピュータ１５０に記憶されるので、アイテムが変化した場合、ユーザーは新しいコンテキスト・メニュー・アイテムの記述をダウンロードするだけでよい。
【００５９】
一実施形態がユーザー（またはクライアント）コンピュータに記憶された情報を用いても実行することが可能である。例えば、コンテキスト・メニュー・アイテムはクライアント・コンピュータに記憶させることが可能である。ユーザーがコンテキスト・メニューを呼び出すと、これらの記憶されたコンテキスト・メニュー・アイテムが表示されたコンテキスト・メニューに追加される。加えて、他のアプリケーションによりクライアント・コンピュータに記憶された情報を用いて追加の特長を本発明に追加することが可能である。例えば、パートナー・コード、提携ブランド（ｃｏｂｒａｎｄ）、およびユーザーが本発明をダウンロードする記憶場所をクライアントのコンピュータに記憶させることが可能である。この記憶された情報を用いてコンテキスト・メニューのコンテンツを決定する。一実施形態では、レジストリを検査してどのコンテキスト・メニュー・アイテムを使用するかを決定する。他の実施例では、１つのメニュー・アイテムは「このリンクを．．．にｅ−メールを出す」ことであってもよい。マウス・ポインタをこのアイテムの上を遊動させ、および／または選択すると、他のアプリケーション、例えばアウトルックからのアドレスを含むサブメニューが作成される。本発明により、追加のコンピュータ。コード、例えばプラグインを追加することにより、追加の特長を実装することも可能である。
【００６０】
図６〜９は本発明の一実施形態により実装された、種々のクリックされたエレメント用の例示的コンテキスト・メニューを示す。図６を参照すると、ブラウザ６００は本発明の一実施形態により実装されたブラウザである。ブラウザ６００は複数のウィンドウを備え、それぞれ種々の機能をインターネット・ユーザーに提供している。ブラウザ６００は、ブラウザ６００の全体のサイズ、色およびレイアウトを定義する第１のアプリケーション・ウィンドウ６０５を備えていてもよく、そしてこのアプリケーション・ウィンドウ６０５用のウィンドウ制御ボタン６７０（例えば、最小化、閉じる、等）を備えている。ブラウザ６００はブラウザ・ウィンドウ６１５とツールバー・ウィンドウ６１０を備えていてもよい。ブラウザ・ウィンドウ６１５とツールバー・ウィンドウ６１０は、一般にインターネットにアクセスし、ナビゲートするときにインターネット・ユーザーを支援する情報および／または機能を定義する。例えば、ブラウザ・ウィンドウ６１５とツールバー・ウィンドウ６１０はツールバー、プルダウン・メニュー、プラグイン、アプリケーション等を提供することが可能である。
【００６１】
例えば、アプリケーション・ウィンドウ６０５の頂部（図６参照）に設けられたツールバー・ウィンドウ６１０は４つのツールバー６２５、６３０、６３５、６４０を定義しており、これらは、例えばプルダウン・メニュー、機能ボタン（例えば、停止、戻る、進む、ホーム等）、および機能ボタンおよびウィンドウの組合せ（例えば、検索ボタンとウィンドウ）のような広範囲のインターフェース制御を含むことが可能である。最上段のツールバー６２５は複数のプルダウン・メニューを提供し、頂部から２番目のツールバー６３０は複数の機能ボタンを提供し、頂部から３番目のツールバー６３５はプルダウン・メニューとウィンドウ、例えばＵＲＬアドレス・ウィンドウを提供し、最下段のツールバー６４０はクライアント側モジュール１７４により実装され検索フィールドおよび本発明のコンテキスト・メニューのような追加の機能をブラウザに提供する。本発明の一実施形態では、コンテキスト・メニュー・アイテムの記述は最下段のツールバー６４０に不可視的ボタンとして含めることが可能である。ブラウザ・ウィンドウ６１５もブラウザ６００の部分として設けられ、インターネット・コンテンツ・プロバイダー１２０からのコンテンツ（図１参照）をその中で表示することが可能なる。
【００６２】
ユーザーは、例えばマウスボタンの右クリックによりコンテキスト・メニューを呼び出すことができる。図６では、ユーザーはポインタがウェブ・ページの背景にある間に右クリックし、コンテキスト・メニュー６４５を呼び出している。この例示的実施形態では、本発明はユーザーが背景をクリックしたことに基づいてコンテキスト・メニュー・アイテム６５０を追加する。これらのアイテムは第２の組のメニュー・アイテムとして配置され、アイコンとニーモニック・キーを含む。コンテキスト・メニュー・アイテムは「このページをヤフー！ブックマークに追加する」、「このページを友達にインポートする」、および「このページを友達にｅ−メールする」を含む。上述のように、これらのメニュー・アイテムはコンテキスト・メニュー・アイテムの記述により変更することが可能である。
【００６３】
図７では、ユーザーはポインタがテキスト・リンク「ヤフー！」７０５上にあるときに右クリックして、コンテキスト・メニュー７１０を呼び出している。この例示的実施形態では、ユーザーが「ヤフー！」７０５をクリックしたことに基づいてコンテキスト・メニュー・アイテム７１５を追加する。これらのアイテムは第２の組のメニュー・アイテムとして配置され、アイコンとニーモニック・キーを含む。コンテキスト・メニュー・アイテムは、「このリンクをヤフー！ブックマークに追加する」、「このリンクを友達にインポートする」、および「このリンクを友達にｅ−メールする」を含む。上述のように、これらのメニュー・アイテムは前の実施例とは異なる。
【００６４】
図８では、ユーザーはポインタがイメージ・リンク「ヤフー！コンパニオン」８０５上にある間に右クリックし、コンテキスト・メニュー８１０を呼び出している。この例示的実施形態では、本発明はユーザーが「ヤフー！コンパニオン」８０５をクリックしたことに基づいてコンテキスト・メニュー・アイテム８１５を追加する。これらのアイテムは第２の組のメニュー・アイテムとして配置され、アイコンとニーモニック・キーを含む。コンテキスト・メニュー・アイテムは、「このリンクをヤフー！ブックマークに追加する」、「このリンクを友達にインポートする」、および「このリンクを友達にｅ−メールする」を含む。
【００６５】
図９では、ユーザーはテキスト「ヤフー！」９０５がハイライトされている間に背景をクリックし、コンテキスト・メニュー９１０を呼び出している。この例示的実施形態では、本発明はハイライトされたテキストとユーザーが背景を右クリックしたことに基づいてコンテキスト・メニュー・アイテム９１５を追加する。これらのアイテムは第２の組のメニュー・アイテムとして配置され、アイコンとニーモニック・キーを含む。コンテキスト・メニュー・アイテムは「ウェブでヤフー！を検索する」、「このページをヤフー！ブックマークに追加する」、「このページを友達にインポートする」、および「このページを友達にｅ−メールする」を含む。「ヤフー！」９０５がハイライトし、そしてユーザーがリンクの上を右クリックしたならば、コンテキスト・メニュー・アイテムは「このリンクをヤフー！ブックマークに追加する」、「このリンクを友達にインポートする」、および「このリンクを友達にｅ−メールする」、並びに「ウェブでヤフー！を検索する」（図示しない）を含む。
【００６６】
あるいはまた、本発明のコンテキスト・メニュー制御方法およびシステムはブラウザ環境の外に実装することが可能である。コンピュータのオペレーティング・システムと他のアプリケーション、例えばマイクロソフト・オフィスと一緒に使用されるコンテキスト・メニューは同様の方法で制御することが可能である。例えば、追加のメニュー・アイテムをウィンドウズ（登録商標）のスタート・メニューとユーザーが右クリックその他によりデスクトップまたはタスクバーを選択したときに呼び出されるコンテキスト・メニューに追加することが可能である。さらに、追加のメニュー・アイテムをマイクロソフト・ワード用に使用される右クリックメニューに追加することが可能である。
【００６７】
このように、好適な実施形態に適用された本発明の基本的な新規な特徴を記載し指摘したが、ここに開示された発明の形態と詳細に種々の省略や置換および形態の変更を、本発明の精神を逸脱することなく、当業者がなすことが可能である。従って、本発明は添付の特許請求の範囲により示されるようにのみ限定されるべきである。
【図面の簡単な説明】
【００６８】
【図１】本発明の一実施形態により実装されたシステムを示す概略図である。
【図２】本発明の一実施形態によるコンテキスト・メニュー制御方法を説明するフローチャートである。
【図３】本発明の一実施形態によるユーザーが選択したエレメントの決定方法を説明するフローチャートである。
【図４】例示的ＨＴＭＬ構造を示す概略図である。
【図５】本発明の一実施形態によるコンテキスト・メニューを制御するコンピュータ・コードを提供する方法を説明するフローチャートである。
【図６】本発明の一実施形態による、例示的コンテキスト・メニューを説明する例示的スクリーン・ショット図である。
【図７】本発明の一実施形態による、他の例示的コンテキスト・メニューを説明する例示的スクリーン・ショット図である。
【図８】本発明の一実施形態による、他の例示的コンテキスト・メニューを説明する例示的スクリーン・ショット図である。
【図９】本発明の一実施形態による、他の例示的コンテキスト・メニューを説明する例示的スクリーン・ショット図である。
【符号の説明】
【００６９】
１００  システム
１２０、１３０  コンテンツ・プロバイダ
１２２  プログラム
１２４、１３４  ウェブ・ページ
１２６  インターネット・サイト
１３６  インターネット・サイト１５０  コンピュータ
１５２  データ記憶装置
１５４  ディスプレイ
１５６  入力装置
１５８  カーソル制御装置
１６０  メモリ（メイン・メモリ）
１６２  リード・オンリー・メモリ（ＲＯＭ)
１６４  バス
１６６  プロセッサ
１６８  通信インターフェース
１７２  インターネット・ブラウザ・ソフトウェア・プログラム（ブラウザ）
１７４  クライアント側モジュール
１８０  インターネット・サービス・プロバイダー（ＩＳＰ）
１９０  インターネット
２００  コンテキスト・メニュー制御方法
２０５、２１０、２２０、２２５、２３０、２４０、２４５、２５０、２５５、２６０、３００、３１０、３１５、３２０、３２５、３３０、３４５、３５０、３５５、３６０、３６５、３７０  工程
４００  （ＨＴＭＬ）エレメント構造
４０５、４１０、４１５、４２０、４２５、４３０、４３５、４４０、４５０、４５５、４６０、４７０、４７５  ノード
５００  方法
５０５、５１０、５１５、５２０、
６００  ブラウザ
６０５  アプリケーション・ウィンドウ
６１５  ブラウザ・ウィンドウ
６１０  ツールバー・ウィンドウ
６２５、６３０、６３５、６４０  ツールバー
６４５  コンテキスト・メニュー
６５０  コンテキスト・メニュー・アイテム
６７０  ウィンドウ制御ボタン
７０５  テキスト・リンク
７１０  コンテキスト・メニュー
７１５  コンテキスト・メニュー・アイテム
８０５  イメージ・リンク
８１０  コンテキスト・メニュー
９０５  テキスト
９１０  コンテキスト・メニュー
９１５  コンテキスト・メニュー・アイテム
【図１】
2007510188.tif 000003
【図２】
2007510188.tif 000004
【図３】
2007510188.tif 000005
【図４】
2007510188.tif 000006
【図５】
2007510188.tif 000007
【図６】
2007510188.tif 000008
【図７】
2007510188.tif 000009
【図８】
2007510188.tif 000010
【図９】
2007510188.tif 000011