(57)【要約】【課題】ウェブページに含まれるリンクの有効性を評価する自動化された方法を提供する。【解決手段】ウェブページはダイナミックＨＴＭＬやその他の埋込みコマンドのようなコマンドを含み得る。このコマンドはユーザによる入力の供給のようなイベントの発生時に実行されるように構成される。一実施形態によれば、本方法は、入力の発生をシミュレートすることにより、リンクを生成することを含む。リンクの生成後、それらの有効性を判定し、リンクが有効であるかどうかを示すレポートを生成することができる。【選択図】図４
2006323812.tif 000002
【特許請求の範囲】
【請求項１】
ウェブページに含まれる少なくとも１つのリンクを評価する自動化された方法において、前記ウェブページはブラウザプログラムを通じてユーザに対して表示を行うように構成され、前記ウェブページは実行時に前記少なくとも１つのリンクを生成するコマンドを含み、該コマンドは前記ユーザによる入力の供給時に実行されるように構成されており、前記方法が、
（Ａ）前記入力の供給をシミュレートすることにより前記少なくとも１つのリンクを生成するアクト
を含むことを特徴とする、リンクを評価する自動化された方法。
【請求項２】
前記少なくとも１つのリンクがフライアウトメニュー内の少なくとも１つのエントリを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記アクト（Ａ）が、ドキュメントオブジェクトモデル（ＤＯＭ）に前記ウェブページをロードすること、および該ＤＯＭに前記コマンドを実行させることをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記ウェブページが複数のタグを含み、前記アクト（Ａ）が、
前記ＤＯＭによって提供される配列に前記複数のタグをロードすること、および
該配列にロードされた各タグに関して前記入力の供給をシミュレートすること
をさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記アクト（Ａ）が、
前記入力の供給をシミュレートすることにより第１のリンクを生成すること、および
前記第１のリンクに関して前記入力の供給をシミュレートすることにより第２のリンクを生成すること
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記コマンドがダイナミックＨＴＭＬ（ＤＨＴＭＬ）形式で提供されることを特徴とする請求項１に記載の方法。
【請求項７】
符号化された命令を坦持するコンピュータ可読媒体において、該命令は、実行時に、ウェブページに含まれる少なくとも１つのリンクを評価する方法を実行し、該ウェブページはブラウザプログラムを通じてユーザに対して表示を行うように構成され、該ウェブページは実行時に前記少なくとも１つのリンクを生成するコマンドを含み、該コマンドは前記ユーザによる入力の供給時に実行されるように構成されており、前記方法が、
（Ａ）前記入力の供給をシミュレートすることにより前記少なくとも１つのリンクを生成するアクト
を含むことを特徴とするコンピュータ可読媒体。
【請求項８】
前記少なくとも１つのリンクがフライアウトメニュー内の少なくとも１つのエントリを含むことを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項９】
前記アクト（Ａ）が、ドキュメントオブジェクトモデル（ＤＯＭ）に前記ウェブページをロードすること、および該ＤＯＭに前記コマンドを実行させることをさらに含むことを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項１０】
前記ウェブページが複数のタグを含み、前記アクト（Ａ）が、
前記ＤＯＭによって提供される配列に前記複数のタグをロードすること、および
前記配列にロードされた各タグに関して前記入力の供給をシミュレートすること
をさらに含むことを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１１】
前記アクト（Ａ）が、
前記入力の供給をシミュレートすることにより第１のリンクを生成すること、および
前記第１のリンクに関して前記入力の供給をシミュレートすることにより第２のリンクを生成すること
をさらに含むことを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項１２】
前記コマンドがダイナミックＨＴＭＬ（ＤＨＴＭＬ）形式で提供されることを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項１３】
ウェブページに含まれる少なくとも１つのリンクを評価する自動化された方法を実行するシステムにおいて、前記ウェブページはブラウザプログラムを通じてユーザに対して表示を行うように構成され、前記ウェブページは実行時に前記少なくとも１つのリンクを生成するコマンドを含み、該コマンドは前記ユーザによる入力の供給時に実行されるように構成されており、前記システムが、
前記入力の供給をシミュレートすることにより前記少なくとも１つのリンクを生成する生成コントローラ
を備えたことを特徴とする、リンクを評価する自動化された方法を実行するシステム。
【請求項１４】
前記少なくとも１つのリンクがフライアウトメニュー内の少なくとも１つのエントリを含むことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記生成コントローラが、さらに、ドキュメントオブジェクトモデル（ＤＯＭ）に前記ウェブページをロードし、該ＤＯＭに前記コマンドを実行させることを特徴とする請求項１３に記載のシステム。
【請求項１６】
前記ウェブページが複数のタグを含み、前記生成コントローラが、さらに、
前記ＤＯＭによって提供される配列に前記複数のタグをロードし、
前記配列にロードされた各タグに関して前記入力の供給をシミュレートする
ことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記生成コントローラが、さらに、
前記入力の供給をシミュレートすることにより第１のリンクを生成し、
前記第１のリンクに関して前記入力の供給をシミュレートすることにより第２のリンクを生成する
ことを特徴とする請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータソフトウェアに関し、より詳細には、ウェブサイトの諸相を検証するために使用可能なソフトウェアに関する。
【背景技術】
【０００２】
多くの人々がインターネットを用いてワールドワイドウェブ（「ウェブ」）を利用している。ウェブ環境では、サーバコンピュータが、クライアントコンピュータから要求される情報をウェブページの形で提供する。ウェブページに含まれる情報として、特に、Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＨＴＭＬ：ハイパーテキスト・マークアップ言語）やＥｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＸＭＬ：拡張マークアップ言語）のようなマークアップ言語フォーマットで提供される一連の命令あるいは「タグ」が挙げられる。クライアントコンピュータ上で実行されるブラウザプログラムが、タグを受け取って処理することにより、ユーザに対するディスプレイ（表示）を作成する。タグは、テキスト要素のフォント等、ページ要素のプレゼンテーション（提示）を定義することができる。また、タグは、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ（ＵＲＬ）によって別のウェブリソースを識別するハイパーテキストリンクを定義することもできる。ユーザは、リンクを「クリック」することにより（例えばマウスを用いてカーソルをリンク上に移動しマウスのボタンを押すことにより）リンクを呼び出すことができ、それにより、ＵＲＬによって指定されるリソースへのアクセスを求める要求がサーバコンピュータ宛に発せられる。
【０００３】
ウェブページに含まれる要素には、ページがブラウザによって表示される時にユーザにとってすぐには分からないものがある。例えば、ウェブページは、ダイナミックＨＴＭＬ（ＤＨＴＭＬ）フォーマットで提供されるような埋込みコマンドを含み得る。これは、イベント発生時に、ある特定のページ要素を表示するために実行される。埋込みコマンドの実行を引き起こすような例示的なイベント（事象）として、特定のユーザ入力の受信がある。例えば、ユーザがある特定のページ要素（例えばある特定のリンク）上にカーソルを移動したことを検出すると、ディスプレイ上でそのページ要素の近くに新たなメニューを出現させるコマンドが実行されることが可能である。この種のディスプレイ要素は一般に「フライアウトメニュー」と呼ばれる。メニュー上の各エントリは通常、ユーザがウェブリソースにアクセスすることを可能にするハイパーテキストリンクであり、それぞれ、別のフライアウトメニューを出現させるようなイベントを定義することができる。
【０００４】
図１Ａ〜図１Ｂは、典型的なフライアウトメニューディスプレイ要素を例示している。図１Ａはインタフェース１０１を含む。インタフェース１０１は、ブラウザプログラムによって提示されるウェブページのディスプレイである。インタフェース１０１は、リンク１０５、１１０、１１５および１２０、ならびにメニュー１０４上のエントリ１０３等、ウェブページに共通の種々の要素を示す。図示した例示的インタフェースにおいて、右向き矢印を含む各エントリ１０３（すなわち、エントリ１０３Ａ、１０３Ｃ、１０３Ｄ、１０３Ｅおよび１０３Ｆ）は、そこからフライアウトメニューが出現し得る要素である。すなわち、これらのエントリのいずれかに関する特定のイベントの発生時に（例えばユーザが要素の上にマウスを持って行くと）、インタフェース１０１上でその要素の近くにフライアウトメニューを出現させるコマンドが実行されることが可能である。
【０００５】
図１Ｂは、ユーザがエントリ１０３Ａの上にカーソルを移動するとフライアウトメニュー１３０が露呈（revealing）される様子を例示している。フライアウトメニュー１３０はエントリ１０６Ａ〜１０６Ｅを含み、それらの各エントリがハイパーテキストリンクを定義する。
【０００６】
一般に、ＤＨＴＭＬ機能はドキュメントオブジェクトモデル（ＤＯＭ）によって実現される。ＤＯＭは、ページ要素の処理を可能にするブラウザコンポーネントである。具体的には、ブラウザは、ページのタグ、コマンド等の要素をＤＯＭにロードすることによってページを処理する。Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（マイクロソフト・インターネット・エクスプローラー）  ブラウザの場合、ＤＯＭによって提供される１つまたは複数の配列に要素をロードし、ＤＯＭ宛に命令を発することで、例えば埋込みコマンドを呼び出し得るユーザ入力を受け取った時の特定のページ要素処理を実行する。図１Ａ〜図１Ｂに示したフライアウトメニューの例を用いると、ユーザが「Ｗｉｎｄｏｗｓ  （登録商標）ＸＰ（ウィンドウズ（登録商標）ＸＰ）」メニューエントリの上にカーソルを移動した時に埋込みコマンドを呼び出すようにＤＯＭに命令し、埋込みコマンドの実行によりフライアウトメニューを出現させることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
複雑な機能を提供するような一部のウェブページは保守が面倒なことがある。ウェブページに共通する不備として、無効なリンク、すなわち、無効なＵＲＬを指定するリンクの提供がある。このため、管理者その他のユーザがウェブページ上のリンクの有効性を判定することを可能にする自動化ツールがいくつか出現している。一般に、これらのツールは、ユーザがウェブページ上に提供されたリンクの有効性および性質を見ることを可能にするグラフィカルユーザインタフェース（ＧＵＩ）を提供する。
【課題を解決するための手段】
【０００８】
本発明の一実施形態によれば、ウェブページに含まれる少なくとも１つのリンクを評価する自動化された方法が提供される。ウェブページはブラウザプログラムを通じてユーザに対して表示を行うように構成され、ウェブページは実行時に上記少なくとも１つのリンクを生成するコマンドを含み、コマンドはユーザによる入力の供給時に実行されるように構成される。本方法は、（Ａ）上記入力の供給をシミュレートすることにより上記少なくとも１つのリンクを生成することを含む。また、本方法は、（Ｂ）上記少なくとも１つのリンクの有効性を判定し、（Ｃ）上記少なくとも１つのリンクが有効であるかどうかを示すレポートを生成することも含み得る。
【０００９】
本発明の別の実施形態によれば、命令がエンコードされたコンピュータ可読媒体が提供される。命令は、実行時に、ウェブページに含まれる少なくとも１つのリンクを評価する方法を実行する。ウェブページはブラウザプログラムを通じてユーザに対して表示を行うように構成され、ウェブページは実行時に上記少なくとも１つのリンクを生成するコマンドを含み、コマンドはユーザによる入力の供給時に実行されるように構成される。本方法は、（Ａ）上記入力の供給をシミュレートすることにより上記少なくとも１つのリンクを生成することを含む。また、本方法は、（Ｂ）上記少なくとも１つのリンクの有効性を判定し、（Ｃ）上記少なくとも１つのリンクが有効であるかどうかを示すレポートを生成することも含み得る。
【００１０】
さらに別の実施形態によれば、ウェブページに含まれる少なくとも１つのリンクを評価する自動化された方法を実行するシステムが提供される。ウェブページはブラウザプログラムを通じてユーザに対して表示を行うように構成され、ウェブページは実行時に上記少なくとも１つのリンクを生成するコマンドを含み、コマンドはユーザによる入力の供給時に実行されるように構成される。本システムは、上記入力の供給をシミュレートすることにより上記少なくとも１つのリンクを生成する生成コントローラを備える。また、本システムは、上記少なくとも１つのリンクの有効性を判定する有効性コントローラと、上記少なくとも１つのリンクが有効であるかどうかを示すレポートを生成するレポートコントローラも含み得る。
【００１１】
添付の図面は、一定の縮尺で描くことを意図していない。図面において、いくつかの図に示される同一のコンポーネントは同一番号で表される。必ずしも、あらゆる図であらゆるコンポーネントに符号を付けてはいない。
【発明を実施するための最良の形態】
【００１２】
本発明の諸態様は、ウェブページに含まれるリンクを識別する自動化された方法に関する。例えば、一実施形態では、典型的に、特定のユーザ入力の受信のようなイベントの発生時にのみ露呈されるリンクを識別する自動化された方法が提供される。例えば、典型的に特定のユーザ入力の受信時に出現するフライアウトメニュー（fly-out menu:飛び出しメニュー）内のエントリとして提供されるリンクが露呈され得る。
【００１３】
一実施形態によれば、タグ、リンクおよびその他の要素のようなウェブページの要素がドキュメントオブジェクトモデル（ＤＯＭ）にロードされる。一実施形態では、タグは、ＤＯＭによって提供される配列にロードされる。コンピュータプログラムエンティティが、特定のページ要素に関するブラウザ入力の受信のような特定のイベントの発生をシミュレートすることにより、そのページに含まれるリンクを露呈する命令を、ＤＯＭ宛に発することができる。例えば、ＤＯＭ宛に発せられる命令は、特定のタグの上にユーザがカーソルを移動することをシミュレートしてもよい。イベントのシミュレートが、ページ内に含まれるコマンド（例えば、ページに埋め込まれたダイナミックＨＴＭＬコマンド）を呼び出し、それにより別のリンクを見えるようにしてもよい。再帰的プロセスを実行することで、新たに露呈されたいずれかのリンクに関するイベントのシミュレーションが、さらなるリンクを露呈するかどうかを評価してもよい。
【００１４】
本発明の実施形態は、例えば、ページ上のリンクを露呈することで、自動化されたプロセスがそれらの有効性を評価できるようにするために用いることができる。例えば、ページ上のリンクが露呈された後、自動化されたプロセスが、各リンクによって指定されるリソースにアクセスすることを求める要求を発することができる。プロセスは、要求されたリソースについてサーバから返されるステータスコードのような、この要求に対するサーバの応答に基づいて、各リンクの有効性を評価できる。各リンクに関する評価の結果は、グラフィカルユーザインタフェース（ＧＵＩ）を通じてユーザに提示してもよい。こうして、本発明の一実施形態によれば、ユーザは、イベントの発生時に動的に生成されるリンク等の、ページに含まれるリンクの有効性をより効果的に評価することができる。
【００１５】
理解されるべきであるが、本発明は、ページ上のリンクの有効性を評価する用途に限定されない。実際、本発明の実施形態はさまざまな形で実施可能であり、数多くのアプリケーションを有し得る。例えば、本発明の実施形態を用いると、ユーザは、ページに含まれるリンクの一層完全なインベントリ（目録、一覧表）を、それらのリンクの有効性を必ずしも評価せずに、生成することができる。
【００１６】
本発明の諸態様は、図２に示す例示的なコンピュータシステム２００のような、１つまたは複数のコンピュータシステム上で実施可能である。コンピュータシステム２００は、入力デバイス（複数可）２０２、出力デバイス（複数可）２０１、プロセッサ（複数可）２０３、メモリシステム２０４およびストレージ２０６を含み、これらはすべて、直接または間接に、相互接続メカニズム（構造、機構）２０５を通じて結合される。相互接続メカニズム２０５は、１つまたは複数のバス、スイッチ、および／またはネットワークを含み得る。入力デバイス２０２は、ユーザまたはマシン（例えば、人間の交換手、または電話受信機）から入力を受け取り、出力デバイス２０１は、ユーザまたはマシン（例えば液晶ディスプレイ）に情報を表示あるいは送信する。プロセッサ２０３は、一般に、オペレーティングシステム（例えばＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）ファミリのオペレーティングシステムや他の適当なオペレーティングシステム）と呼ばれるコンピュータプログラムを実行する。オペレーティングシステムは、他のコンピュータプログラムの実行を制御し、スケジューリング、入出力等のデバイス制御、アカウンティング（課金）、編集（コンパイル）、ストレージ割当て、データ管理、メモリ管理、通信およびデータフロー制御を行う。プロセッサおよびオペレーティングシステムは、合わせて、他のコンピュータプログラミング言語でアプリケーションプログラムを書くためのコンピュータプラットフォームを定める。
【００１７】
プロセッサ２０３は、種々の機能を実施するための１つまたは複数のコンピュータプログラムも実行できる。これらのコンピュータプログラムは、手続き型プログラミング言語、オブジェクト指向プログラミング言語、マクロ言語、あるいはこれらの組合せ等のいかなる種類のコンピュータプログラミング言語で書かれてもよい。これらのコンピュータプログラムは、ストレージシステム２０６に記憶されてもよい。ストレージシステム２０６は、揮発性あるいは不揮発性の媒体上に情報を保持することが可能であり、固定式でも着脱可能（リムーバブル）でもよい。図３に、ストレージシステム２０６をさらに詳細に示す。
【００１８】
ストレージシステム２０６は一般に、コンピュータが読み書き可能な不揮発性記録媒体３０１を含み、その上に、コンピュータプログラムや、プログラムによって使用される情報を定める信号が記憶される。媒体は、例えばディスクあるいはフラッシュメモリとすることができる。一般に、動作時に、プロセッサ２０３が、不揮発性記録媒体３０１から揮発性メモリ３０２（例えばランダムアクセスメモリすなわちＲＡＭ）にデータを読み出させる。揮発性メモリ３０２は、媒体３０１に比べて、プロセッサ２０３が高速に情報にアクセスできる。このメモリ３０２は、図３に示したようにストレージシステム２０６に配置されてもよく、あるいは図２に示したようにメモリシステム２０４に配置されてもよい。プロセッサ２０３は一般に、集積回路メモリ２０４、３０２内のデータを操作し、処理が完了した後でそのデータを媒体３０１にコピーする。媒体３０１と集積回路記憶素子（メモリエレメント）２０４、３０２との間でのデータ移動を管理するためのさまざまなメカニズム（機構、仕組み）が知られているが、本発明はそれらに限定されない。また、本発明は、特定のメモリシステム２０４やストレージシステム２０６にも限定されない。
【００１９】
図４は、ウェブページに含まれるリンクを露呈する例示的技法を示している。図４のプロセスは、ドキュメントオブジェクトモデル（ＤＯＭ）によって提供される機能を用いて実行できる。この機能は図５Ａ〜図５Ｂに関連して説明される。一般に、図４のプロセスは、ウェブページに含まれるタグの少なくとも一部をＤＯＭによって提供される配列にロードし、配列内の各タグに関するイベントをシミュレート（模擬実験）することにより、１つまたは複数の新たなリンクがシミュレーションの結果として露呈されるかどうかを判定することで、実行可能である。図４の例示的プロセスにおいて、新たに露呈されるリンクは配列に自動的に追加される。しかし、新たなリンクは配列内の任意の位置に置くことができるので、新たなリンクが追加されるごとに、プロセスは配列の最初に戻ってシミュレーションプロセスを再開する。また、新たに露呈される各リンクは、さらに他のリンクを露呈するイベントを定義できるので、プロセスは、配列内のすべてのタグに関してイベントをシミュレートし終えるまで継続される。したがって、プロセスは再帰的である。
【００２０】
図４を参照する。プロセス４００の開始後、アクト（処理）４１０が開始され、ウェブページがＤＯＭにロードされる。一実施形態では、ページをＤＯＭにロードした後、ページに含まれる任意の初期命令を実行することができる。例えば、ページが、ブラウザによるページの受信直後に実行される命令として、導入の表示シーケンス（表示順）を定義する命令を含む場合がある。このシーケンスは、「実際の」ページが示される前の短時間、ユーザに対して表示されてもよい。一実施形態では、これらの初期命令の実行を可能とすることで、導入シーケンスの完了後にユーザに提示されるタグおよびデータが露呈される。
【００２１】
アクト４１０の完了後、プロセスはアクト４２０に進み、ページに含まれるタグを、ＤＯＭによって提供される配列にロードする。しかし、本発明は、タグを配列にロードすることによって実施されるものに限定されず、任意の好適な処理技法が使用可能である。
【００２２】
一実施形態では、配列にロードされるタグはリンク、テーブルおよび「ｄｉｖ」タグを含む。しかし、本発明はこの点に限定されず、任意の好適なタグタイプを処理可能である。処理されるタグタイプは、イベントの出現後に追加的リンクを露呈し得るページ要素を一般的に含むものとしてよい。
【００２３】
タグがロードされる例示的配列５０１を図５Ａに示す。ロード後、配列５０１は７個の行を有する。これらはＡ〜Ｇとラベル付けされ、タグ１〜７に関する情報を含む。各行は、特定のタグに関する情報を含む。例えば、最初にロードされた後、行Ａはタグ１に関する情報を含む。各タグに関する情報は３列に配列される。具体的には、列５０５はタグ名を含み、列５１０はタグがプロセスによって既に評価されたかどうかの指示を含み、列５１５はタグタイプを含む。
【００２４】
図４に戻って、アクト４２０の完了後、プロセスはアクト４３０に進み、配列に含まれるリンク数を判定する。一実施形態では、これは、配列５０１において、タグタイプ（列５１５に提供される）にタグがリンクであると示されている行数のカウントを生成することによって実行可能である。しかし、ページに含まれるリンク数を判定するための任意の好適な技法が使用可能である。
【００２５】
アクト４３０の完了後、プロセスはアクト４４０に進み、配列に格納されている最初のタグ（すなわち、配列の先頭の最も近くに格納されているタグ）を処理のために選択する。これは任意の好適な方法で実行可能である。
【００２６】
アクト４４０の完了後、プロセスはアクト４５０に進み、配列内の次の未評価タグを選択する。一実施形態では、このアクトは、配列内で、列５１０の指示でタグがまだ評価されていないとなっている次のタグを選択することを含む。一例として、プロセスの開始時に、配列内の次の未評価タグを配列内の最初のタグとすることで、行Ａのタグ１を選択できるようにしてもよい。
【００２７】
アクト４５０の完了後、プロセスはアクト４６０に進み、選択したタグを調査済みとマークする。一実施形態では、これは、考慮済みのタグについて、列５１０に含まれる指示を更新することを含む。
【００２８】
アクト４６０の完了後、プロセスはアクト４７０に進み、アクト４５０で選択したタグに関して１つまたは複数のイベントをシミュレートする。一実施形態では、これは、１つまたは複数の命令をＤＯＭ宛に発することにより、発生し得る１つまたは複数のイベントをシミュレートすることを含む。例えば、選択されたタグに関して１つまたは複数のイベント（例えば特定のユーザ入力によって定義される１つまたは複数のイベント）を「点火（fire an event）」させるようにＤＯＭに命令することができる。各イベントは、例えば、ユーザがブラウザプログラムを通じて提供し得る入力を表してもよい。例えば、選択されたタグに関して、通常であればユーザがそのタグの上にカーソルを移動させる時に発生する「ｏｎ  ｍｏｕｓｅ  ｏｖｅｒ（オンマウスオーバー）」イベント（事象）を点火させるようにＤＯＭに命令することができる。シミュレート可能な他の例示的イベントとして、「ｏｎ  ｍｏｕｓｅ  ｃｌｉｃｋ（オンマウスクリック）」イベントおよび「ｏｎ  ｍｏｕｓｅ  ｅｎｔｅｒ（オンマウスエンター）」イベントがある。これらは通常であればそれぞれ、ユーザが選択されたタグの上にカーソルを移動させ、マウスをクリックするか、あるいは「ｅｎｔｅｒ（エンター）」キーを押す時に発生するものである。理解されるべきであるが、選択されたタグに関して任意の好適なタイプおよび個数のイベントをシミュレートすることができ、本発明はこの点において限定されない。
【００２９】
１つまたは複数のイベントの点火により、ウェブページに含まれる１つまたは複数のコマンドが呼び出され得る。例えば、あるイベントをシミュレートすることにより、ＤＨＴＭＬフォーマットで提供された埋込みコマンドが実行されてもよい。コマンドの実行により、１つまたは複数の新たなリンクが配列５０１にロードされてもよい。例えば、あるイベントをシミュレートすることにより、フライアウトメニューを「出現」させ（すなわち新たなリンクを作成し）、これらのリンクが配列５０１に新たなタグとして自動的にロードされるようにしてもよい。
【００３０】
上記のように、新たなタグは配列の任意の位置に入り得る。図５Ｂに例示した通り、新たに生成されたタグ８、９および１０は配列５０１にロードされているが、行Ｈ、Ｉ、Ｊ（すなわち配列の末尾）にロードされるのではなく、それぞれ行Ａ、ＥおよびＨにロードされている。新たに生成されたタグ８、９および１０のそれぞれは１つまたは複数の新たなリンクを生成させ得るイベントを定義しているかもしれないので、一実施形態では、これらの新たなタグに関しても同様にイベントがシミュレートされる。
【００３１】
これを実現するため、新たなタグが配列５０１にロードされた場合、プロセスは配列の最初のタグに戻って処理を再開する。したがって、アクト４７０の完了後、アクト４８０で、配列内のリンクのカウントを生成する。次に、アクト４８５において、アクト４８０で生成したカウント（すなわちアクト４７０の完了後に配列５０１に含まれるリンク数）がアクト４３０で判定された値（すなわちアクト４７０の完了前のリンクのカウント）と異なるかどうかを判定する。（新たなタグ８、９および１０の生成後のように）値が異なる場合、プロセスはアクト４４０に戻り、配列内の最初のタグ（すなわち行Ａのタグ９）を処理のために選択する。
【００３２】
配列内のタグ数が異なっていない場合、プロセスはアクト４９０に進み、配列内のすべてのタグが評価済みかどうかを判定する。一実施形態では、これは各行について列５１０に含まれる指示を評価することによって実行される。各行のこの列に格納された指示が、それぞれのタグが評価済みであると示している場合、プロセスは完了する。
【００３３】
配列５０１内のすべてのタグが評価済みではないと判定された場合には、プロセスはアクト４５０に戻り、次の未評価タグを処理のために選択する。そして、上記で説明したアクトを繰り返すことにより、配列内の各タグに関して、および結果として露呈される各リンクに関して、１つまたは複数のイベントをシミュレートする。
【００３４】
ウェブページに含まれるすべてのリンクが露呈された後、各リンクを検証することができる。一実施形態では、図６に示すプロセス６００を用いて、ウェブページに含まれる各リンクの有効性を判断することができる。
【００３５】
プロセス６００の開始後、アクト（処理）６１０が開始され、ある一つのリンクを評価のために選択する。これは任意の好適な方法で実行可能である。例えば、配列５０１（図５Ａ〜図５Ｂ）からリンクを選択できる。例えば、列５１５に提供されるタグのタイプ指示を用いてリンクを選択できる。一実施形態では、配列内の最初のリンクを評価のために選択することができる。
【００３６】
アクト６１０の完了後、プロセスはアクト６２０に進み、リンクによって提供されるＵＲＬで指定されるリソースを取得することを求める要求を発する。一実施形態では、リソースを取得することを求めるＨＴＴＰ（ハイパーテキスト転送プロトコル）要求を発する。
【００３７】
次に、プロセスはアクト６３０に進み、取得試行が成功したかどうかを判定する。一実施形態では、この判定は、アクト６２０で発せられたＨＴＴＰ要求に応答して、サーバによって返されるステータスコードに基づくことができる。例えば、サーバがＨＴＴＰ要求に応答してステータスコード「２００」を返す場合、取得試行は成功とみなされ得るが、サーバがステータスコード「４０４」を返す場合、取得試行は不成功とみなされ得る。取得試行が成功とみなされる場合、プロセスはアクト６４０に進み、リンクを有効とマークする。取得試行が不成功とみなされる場合、プロセスはアクト６４５に進み、リンクを無効とマークする。
【００３８】
アクト６４０または６４５のいずれかの完了後、プロセスはアクト６５０に進み、プロセスがすべてのリンクを評価したかどうかを判定する。すべてのリンクが評価済みではない場合、プロセスはアクト６１０に戻り、次のリンクを評価のために選択する。すべてのリンクが評価済みである場合、プロセス６００は完了する。
【００３９】
上記のように、本発明の実施形態を用いることにより、ページに含まれるリンクを識別することで、それらのリンクの有効性を評価できる。例えば、自動化されたプロセスが上記のプロセスを実施することによって、ページに含まれるリンクを識別し、参照されているリソースへのアクセスを求める要求を発することによりそれらの各リンクを評価し、グラフィカルユーザインタフェースを通じてユーザに評価結果を提示することができる。典型的なユーザインタフェース７００を図７に示す。インタフェース７００は、インタフェース１０１（図１）に示したウェブページに含まれるリンクの有効性の指示を提供する。
【００４０】
インタフェース７００は部分７０１および７０２を含む。部分７０２は、リンクに関する特定の情報が各列に提示されるグリッドディスプレイ（マス目表示）を備える。例えば、列７０２Ａは、リンクを表すためにインタフェース１０１上に示したテキスト（文章）を含み、列７０２Ｂはリンクのタイトルを含み、列７０２Ｃはリンクを取得する試行に応答して返されたステータスコードを含み、列７０２Ｄはサーバからステータスコードを取得するために要した時間を含む。
【００４１】
特定のリンクに関する情報が各行に配列される。例えば、テキスト「Ｍｉｃｒｏｓｏｆｔ．ｃｏｍ  ｈｏｍｅ」で表されるリンク１０５（図１Ａ）に関する情報が行７０５に示される。同様に、リンク１１０、１１５、１２０および１０３Ａに関する情報がそれぞれ行７１０、７１５、７２０および７２５に示される。
【００４２】
行７３０に示されているように、インタフェース７００は、イベント（事象）の発生にのみ現れるリンクに関する情報を表示する。具体的には、行７３０はリンク１０６Ａに関する情報を表示するが、リンク１０６Ａは図１Ａには示されていない。むしろリンク１０６Ａは図１Ｂに初めて示されており、ユーザ入力の受信後に現れる。行７３０は、他の情報のうちでもとりわけ、リンク１０６Ａを表すテキスト、リンクタイトル、ステータスコード、およびステータスコードを取得するのに要した時間を含む。列７０２に表示されているようなリンク特性を含め、ウェブページの諸相に関する任意の適切な情報を示すことができる。
【００４３】
理解されるべきであるが、図７に関して説明したインタフェースを用いることにより、管理者あるいは、その他のユーザは、ウェブページによって提供されるリンクの一層包括的な目録（インベントリ）を取得できる。その結果、ユーザは、ページに含まれるリンクの有効性を判定すること等によって、サイトをより効果的に保守することができる。
【００４４】
また、以上のことから理解されるように、本発明の実施形態の諸態様は、１つまたは複数のコンピュータプログラム、および／またはハードウェア、ファームウェア、またはその組合せで実施可能である。例えば、実施形態の種々のコンポーネントが、個別に、または組み合わせて、プロセッサによるアクセスおよび実行のための命令が格納されたコンピュータ可読媒体を含むコンピュータプログラム製品として実施可能である。コンピュータによる実行時に、それらの命令がコンピュータに対して実施形態の諸態様を実施するよう指示することができる。
【００４５】
以上、本発明の少なくとも１つの実施形態のいくつかの態様について説明したが、理解されるように、当業者は種々の改変、変更、および改良に容易に想到するであろう。そのような改変、変更、および改良は、本明細書の一部であるものとし、本発明の精神および範囲内にあるものとする。したがって、上記の説明および図面は単なる例示に過ぎない。
【図面の簡単な説明】
【００４６】
【図１Ａ】ウェブページをユーザに提示するための典型的なブラウザインタフェースの図である。
【図１Ｂ】ウェブページに含まれる或る一つの要素が露呈された後の、図１Ａのウェブページを示すブラウザインタフェースの図である。
【図２】本発明の実施形態が実施され得る典型的なコンピュータシステムのブロック図である。
【図３】本発明の実施形態を含むプログラムされた命令が記憶され得る典型的なコンピュータメモリのブロック図である。
【図４】本発明の一実施形態による、ウェブページに含まれる要素が識別され得る典型的なプロセスを示すフローチャートである。
【図５Ａ】本発明の一実施形態による、ウェブページに含まれる要素を識別するための典型的技法を示す図である。
【図５Ｂ】本発明の一実施形態による、ウェブページに含まれる要素を識別するための典型的技法を示す図である。
【図６】ウェブページに含まれるリンクを検証する典型的方法を示すフローチャートである。
【図７】本発明の一実施形態による、ウェブページに含まれる要素のステータス（状態）を判定するユーティリティによって表示される典型的なブラウザインタフェースの図である。
【符号の説明】
【００４７】
１０１  インタフェース
１０３（１０３Ａ〜１０３Ｆ）  エントリ
１０４  メニュー
１０５，１１０，１１５，１２０  リンク
１０６Ａ〜１０６Ｅ  エントリ
２０１  出力デバイス
２０２  入力デバイス
２０３  プロセッサ
２０４  メモリシステム（集積回路メモリ）
２０５  相互接続メカニズム
２０６  ストレージシステム
３０１  不揮発性記録媒体
３０２  ストレージシステムメモリ（揮発性メモリ、集積回路メモリ）
７０１，７０２  インタフェースの部分
７１０，７１５，７２０，７２５，７３０  行
【図１Ａ】
2006323812.tif 000003
【図１Ｂ】
2006323812.tif 000004
【図２】
2006323812.tif 000005
【図３】
2006323812.tif 000006
【図４】
2006323812.tif 000007
【図５Ａ】
2006323812.tif 000008
【図５Ｂ】
2006323812.tif 000009
【図６】
2006323812.tif 000010
【図７】
2006323812.tif 000011