(57)【特許請求の範囲】
【請求項１】
要求に応じてアプリケーションプログラムのウェブページを提供する情報処理装置であって、
ネットワークを介してウェブページが要求される前に、前記アプリケーションプログラムに対して前記ウェブページを要求する要求手段と
を有し、
前記要求手段による前記ウェブページの要求に応じて、前記ウェブページを提供するためのファイルがコンパイルされ、キャッシュに保持され、
前記要求手段は、前記アプリケーションプログラムのタスクをスケジュールにより実行させるスケジューラの機能として動作し、
当該スケジューラは、前記ネットワークを介した要求なしに、前記アプリケーションプログラムに対して前記ウェブページを要求することを特徴とする情報処理装置。
【請求項２】
前記ネットワークを介して前記アプリケーションプログラムに対してウェブページが要求された際に、当該ウェブページがキャッシュに保持されている場合、当該キャッシュされているウェブページが前記ネットワークを介した要求に対して提供されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ネットワークを介してウェブページの要求を受け付けた際に、当該要求に対する認証処理を行う認証手段を更に有し、
前記要求手段による要求に対しては、前記ウェブページへのアクセスする際の認証処理を省略することを特徴とする請求項１または２に記載の情報処理装置。 
【請求項４】
前記要求手段は、前記アプリケーションプログラムの再起動を検出した際には、再度、前記アプリケーションプログラムが提供するウェブページを要求することを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
前記ウェブページに対するアクセス頻度を集計するアクセス集計手段を更に有し、
前記要求手段は、前記アプリケーションプログラムが提供するウェブページのうち、アクセス頻度が高いウェブページから優先的に要求することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記アクセス集計手段は、コンパイルを要するウェブページに対して、アクセス頻度の集計を行うことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記アプリケーションプログラムが提供するウェブページは、配置されたディレクトリごとにコンパイルが行われ、
前記アクセス集計手段は、前記ウェブページの配置されたディレクトリごとにアクセス頻度の集計を行うことを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記要求手段は、前記アプリケーションプログラムが提供するウェブページが新たに追加された場合、該新たに追加されたウェブページを優先して要求することを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
要求に応じてアプリケーションプログラムのウェブページを提供する情報処理装置の制御方法であって、
ネットワークを介してウェブページが要求される前に、前記情報処理装置の内部において前記アプリケーションプログラムに対して前記ウェブページを要求する要求工程と
を有し、
前記要求工程における前記ウェブページの要求に応じて、前記ウェブページを提供するためのファイルがコンパイルされ、キャッシュに保持され、
前記要求工程において、前記アプリケーションプログラムのタスクをスケジュールにより実行させるスケジューラの機能として動作し、
当該スケジューラは、前記ネットワークを介した要求なしに、前記アプリケーションプログラムに対して前記ウェブページを要求することを特徴とする制御方法。
【請求項１０】
コンピュータを、請求項１乃至８のいずれか一項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびその制御方法、並びにプログラムに関する。特に、ＷＥＢサーバへのアクセスを効率化するキャッシュ制御手段に関する。
【背景技術】
【０００２】
従来のＷＥＢサーバへのアクセスを効率化するため手段としては、ＷＥＢサーバやウェブブラウザ、或いは、ＷＥＢサーバとウェブブラウザの中間にキャッシュ機能を有するプロキシを設けることが一般的である。また、キャッシュ機能の制御手段には、ウェブブラウザからのアクセスされる確率の高いコンテンツを選択的に記憶するものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１３７６４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在、ＷＥＢアプリケーションは、インタプリタ言語や中間言語で記述されることある。ＷＥＢサーバは、これらインタプリタ言語や中間言語で記述されたコードを実行時にコンパイルし、更に、コンパイル結果をキャッシュに保持する。そして、ＷＥＢサーバは、キャッシュに保持したデータを再利用することにより処理の効率化を図っている。
【０００５】
しかしながら、従来のキャッシュ機能は、実際にコンパイル結果を利用する際に、前記したコードを実行時にコンパイルし、コンパイル結果をキャッシュに保持している。初回の利用に関しては、コンパイルの間、待たされることになる。
【０００６】
そこで、本発明においては、初回のページアクセスなどのコンパイル結果を利用する場合であっても、従来技術に比べて効率を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本願発明は以下の構成を有する。すなわち、要求に応じてアプリケーションプログラムのウェブページを提供する情報処理装置であって、ネットワークを介してウェブページが要求される前に、前記アプリケーションプログラムに対して前記ウェブページを要求する要求手段とを有し、前記要求手段による前記ウェブページの要求に応じて、前記ウェブページを提供するためのファイルがコンパイルされ、キャッシュに保持され、前記要求手段は、前記アプリケーションプログラムのタスクをスケジュールにより実行させるスケジューラの機能として動作し、当該スケジューラは、前記ネットワークを介した要求なしに、前記アプリケーションプログラムに対して前記ウェブページを要求する。
【発明の効果】
【０００８】
本発明は、インタプリタ言語や中間言語で記述されたコードなどの、実行時にコンパイルが必要なページに対して、ページアクセスに先だって予め要求を送信しておくことにより、これらページに対するアクセスを効率化することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係るシステム全体の構成を示すブロック図。
【図２】ホストのハードウェア構成を示すブロック図。
【図３】キャッシュ制御機能の処理の流れを示すフローチャート。
【図４】キャッシュ制御機能により送信されるＨＴＴＰ要求のヘッダの一部の例の図。
【図５】ハンドラがＨＴＴＰ要求を受信した場合の処理の流れを示すフローチャート。
【図６】ＨＴＴＰ要求及び応答の流れを示す図。
【図７】第２実施形態に係るシステム全体の構成を示すブロック図。
【図８Ａ】ハンドラの処理の流れを示すフローチャート。
【図８Ｂ】ユーザ認証が不要な場合のハンドラの処理の流れを示すフローチャート。
【図９】Ｓ８０１のアクセスを登録する処理の流れを示すフローチャート。
【図１０Ａ】アクセス集計機能が管理するアクセス集計データの例の図。
【図１０Ｂ】アクセス集計機能のページ一覧の取得処理の流れを示すフローチャート。
【図１１Ａ】第３実施形態に係るアクセス集計機能のアクセス集計データの例の図。
【図１１Ｂ】アクセス集計機能のページ一覧の取得処理の流れを示すフローチャート。
【図１２】第４実施形態に係るシステム全体の構成を示すブロック図。
【図１３】集計機能の集計処理の流れを示すフローチャート。
【図１４】キャッシュ制御機能の処理の流れを示すフローチャート。
【図１５】第５実施形態に係るキャッシュ制御機能の処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１０】
＜第１実施形態＞
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１１】
［システム構成］
図１は、本発明の第１実施形態に係るキャッシュ制御手段を備えるシステムの構成例のブロック図を示す。本実施形態に係るシステムは、情報処理装置である端末１０８と、サーバ１０１とがネットワーク１１０にて通信可能に接続された構成である。サーバ１０１は、ＷＥＢサーバ１０２、ＷＥＢサーバ１０２上で動作するＷＥＢアプリケーション１０３、タスクスケジューラ１１１を含む。また、端末１０８は、ＷＥＢアプリケーション１０３にアクセスするためのＷＥＢブラウザ１０９を含む。
【００１２】
図１において、サーバ１０１は、キャッシュ制御機能１０７やＷＥＢサーバ１０２等が動作するホストである。アプリケーションプログラムであるＷＥＢアプリケーション１０３は、ＷＥＢサーバ１０２上で動作する。ここでＷＥＢサーバ１０２は、マイクロソフト社のＡＳＰ．ＮＥＴや、Ｊａｖａ（登録商標）のサーブレットコンテナ等のＷＥＢアプリケーション実行環境を含む。ＷＥＢアプリケーション１０３は、ＷＥＢブラウザ１０９を介してユーザインタフェースを提供するページ１０４と、ページ１０４から呼び出されるライブラリ１０６、ＷＥＢサーバ１０２への要求をフックするためのハンドラ１０５より構成される。ここでのページ１０４は、ＷＥＢブラウザ１０９を介して表示されるウェブページを指す。
【００１３】
タスクスケジューラ１１１は、ＷＥＢアプリケーション１０３により定義された管理タスクをスケジュールに従い実行するための常駐プログラムである。管理タスクには、ＷＥＢアプリケーション１０３が管理するネットワーク上のデバイスに対して、ネットワーク設定を配信したり、バージョンアッププログラムを配信したりするための情報が記述されている。
【００１４】
さらに、タスクスケジューラ１１１は、ＷＥＢアプリケーション１０３内のページ１０４をスケジュールに従って呼び出すといった付加的なキャッシュ制御機能も有している。ＷＥＢアプリケーション１０３は、ＷＥＢブラウザ１０９等の外部からのＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）要求を受信しないと動作しない。従って、ＷＥＢアプリケーション１０３に於いて、予め定められた時間に特定の処理を実行するためには、外部からの要求なしに動作するタスクスケジューラ１１１のような手段が必要となる。キャッシュ制御機能１０７は、ＷＥＢサーバ１０２を介してＷＥＢアプリケーション１０３内の各ページに対する要求を送信する機能を有する。キャッシュ制御機能１０７は、タスクスケジューラ１１１内の機能として提供され、タスクスケジューラ１１１の元で定期的に、或いはタスクスケジューラ１１１の処理の空き時間などに処理される。
【００１５】
ＷＥＢブラウザ１０９は、ユーザがＷＥＢアプリケーション１０３を操作する際に用いられ、ページ１０４等の表示を行う。端末１０８は、ＷＥＢブラウザ１０９の動作するホストである。ネットワーク１１０は、サーバ１０１と端末１０８とを通信可能に接続し、ＷＥＢブラウザ１０９とＷＥＢサーバ１０２との間で行われるデータ通信の通信経路となる。
【００１６】
なお、本発明を適用するためのコンピュータの構成はこれに限定するものではなく、他の部位や機能を備えていても構わない。また、サーバ１０１は、１台にて構成されるようにしても構わないし、複数台から構成されるようにしても構わない。また、サーバの内部に備えられるウェブサーバの機能についても特に限定しない。また、ウェブブラウザには様々な機能を備えたものがあるが、こちらについても特に限定しない。
【００１７】
［ハードウェア構成］
図２は、サーバ１０１及び端末１０８のハードウェア構成例を示すブロック図である。ここでは、まとめてコンピュータ２０１として説明する。図２において、コンピュータ２０１は、ＣＰＵ２０２、ＲＡＭ２０３、ＲＯＭ２０４、および外部記憶装置２０９を備える。ＣＰＵ２０２は、ＲＯＭ２０４や外部記憶装置２０９に記憶された、或いはＬＡＮ２１３よりダウンロードしたソフトウェアを実行し、システムバス２１１に接続された各デバイスを総括的に制御する。
【００１８】
ＲＡＭ２０３は、ＣＰＵ２０２の主メモリあるいはワークエリアなどとして機能する。外部記憶装置２０９は、ハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等からなる。外部記憶装置２０９は、ブートプログラム、オペレーティングシステム、データベースサーバ、ＷＥＢサーバ、ＷＥＢブラウザを含む各種のアプリケーション、データベースデータ、ユーザファイル等を記憶する。
【００１９】
さらにコンピュータ２０１において、キーボードコントローラ（ＫＢＤＣ）２０６は、キーボード（ＫＢＤ）２０５やポインティングデバイス（不図示）からの入力情報をＣＰＵ２０２に送信する。ビデオコントローラ（ＶＣ）２０８は、ＣＲＴやＬＤＣ等からなる表示装置２０７の表示を制御する。ディスクコントローラ（ＤＫＣ）２１０は、外部記憶装置２０９とのアクセスを制御する。通信コントローラ（ＣＯＭＭ  Ｉ／Ｆ）２１２は、ネットワーク１１０に接続され、これにより、外部装置との通信を可能とする。
【００２０】
キャッシュは、通常、レジスタやメモリなどアクセスが高速な記憶部にて実現される。本実施形態においては、ＷＥＢサーバ１０２が提供するキャッシュをサーバ１０１が備えるＲＡＭ２０３にて実現するものとして説明するが、これに限定するものではない。
【００２１】
［構成要素の動作］
以下、図１に示した各要素の動作を簡単に説明する。ページ１０４は、マイクロソフト社のＡＳＰ．ＮＥＴやＪＳＰ（Ｊａｖａ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）等のスクリプト言語やインタプリタ言語で記述されている。また、ライブラリ１０６は、マイクロソフト社の．ＮＥＴやＪａｖａ（登録商標）等の中間言語で提供されている。ＷＥＢブラウザ１０９からページ１０４への要求が最初になされた際に、ＷＥＢアプリケーション１０３は、ページ１０４のスクリプト言語やライブラリ１０６の中間言語に対してコンパイルを行う。そして、ＷＥＢアプリケーション１０３は、コンパイル結果を用いて要求を処理する。コンパイル結果は、ＷＥＢサーバ１０２によりキャッシュに保持される。そして、以降のページ１０４への要求に際し、ＷＥＢアプリケーション１０３はキャッシュに保持されたコンパイル結果を利用することにより、要求を高速に処理可能となる。ＷＥＢサーバ１０２により管理されるコンパイル結果は、サーバ１０１の再起動やＷＥＢアプリケーション１０３の再起動により破棄される。
【００２２】
［キャッシュ制御機能の処理］
図３は、キャッシュ制御機能１０７の処理の流れを示すフローチャートである。本処理は、サーバ１０１が備えるＣＰＵ２０２が、記憶部であるＲＯＭ２０４等に格納されたプログラムを実行することにより実現される。
【００２３】
キャッシュ制御機能１０７は、Ｓ３０１にて、ＷＥＢアプリケーション１０３内のコンパイルが必要なページの一覧を作成する。キャッシュ制御機能１０７は、Ｓ３０２にて、Ｓ３０１で作成したページの一覧において、全てのページに対する処理が終了したか否かを判定する。全てのページに対する処理が終了した場合（Ｓ３０２にてＹＥＳ）、キャッシュ制御機能１０７は、Ｓ３０５以降の処理に遷移する。すべてのページに対する処理が終了していない場合（Ｓ３０２にてＮＯ）、キャッシュ制御機能１０７は、Ｓ３０３にて、未処理のページを１つ取得する。そして、Ｓ３０４にて、キャッシュ制御機能１０７は、取得したページに対してＨＴＴＰ（或いはＨＴＴＰＳ）要求を発行し、送信する。ここで、キャッシュ制御機能１０７は、ＷＥＢアプリケーション１０３からの応答を待つ必要はない。
【００２４】
次に、キャッシュ制御機能１０７は、Ｓ３０５にて、ＷＥＢアプリケーション１０３の再起動の有無を確認する。ここで、ＷＥＢアプリケーション１０３が再起動された場合、ＷＥＢサーバ１０２が管理するコンパイル結果は破棄されるものとする。ＷＥＢアプリケーション１０３の再起動があった場合、ＷＥＢアプリケーション１０３内のページの構成が変更されている場合がある。従って、再起動が確認された場合（Ｓ３０５にてＹＥＳ）、キャッシュ制御機能１０７は、Ｓ３０１のページの一覧の取得に戻り、最初から処理をやり直す。
【００２５】
ＷＥＢアプリケーション１０３の再起動が確認されなかった場合（Ｓ３０５にてＮＯ）、キャッシュ制御機能１０７は、Ｓ３０２に戻って、一覧に含まれる次の未処理のページに対して処理を続ける。なお、キャッシュ制御機能１０７は、Ｓ３０１で取得したすべてのページに対する処理が終了した後は、Ｓ３０５のＷＥＢアプリケーション１０３の再起動の検出を繰り返し実行するような動作になる。
【００２６】
［認証処理］
一般的に用いられる多くのＷＥＢアプリケーションにおいて、ＷＥＢアプリケーション内の各ページへのアクセスの際には、ユーザの認証を必要とする。ユーザ認証を必要とするページへのアクセスがあり、かつユーザ認証処理がされていない場合、ＷＥＢアプリケーションは、ＨＴＴＰ要求の送信元に対して、例えばＢＡＳＩＣ認証の様に認証情報を要求する。或いは、ＷＥＢアプリケーションは、認証情報入力用の画面へ遷移するための応答を、ＨＴＴＰ要求の送信元に返信する。
【００２７】
ＢＡＳＩＣ認証の様なＨＴＴＰプロトコル層での認証処理を使用している場合、ＨＴＴＰ要求を送信するキャッシュ制御機能１０７は、認証情報を送信することにより、ユーザ認証を行う。これにより、目的とするページへアクセスすることが可能となる。
【００２８】
ハンドラ１０５は、ユーザ認証がなされていない場合に、認証情報入力用の画面を表示するようにＷＥＢアプリケーション１０３が構成されている場合、キャッシュ制御機能１０７からのＨＴＴＰ要求に対して認証処理を行うモジュールである。
【００２９】
以下は、各ページへのアクセスにユーザ認証が必要な場合の説明である。従って、ページのアクセスにユーザ認証が不要な場合は、以下に説明する処理は不要である。本実施形態においては、キャッシュ制御機能１０７からのＨＴＴＰ要求において、ユーザ認証を要求するものとする。
【００３０】
図４に示す記述４０１は、キャッシュ制御機能１０７により生成され、送信される認証情報を含むＨＴＴＰ要求のヘッダの一部の例を示している。ここで、キャッシュ制御機能１０７はＨＴＴＰ要求を送信する際に、ＨＴＴＰヘッダのＵｓｅｒ−Ａｇｅｎｔに「ＣａｃｈｅＣｏｎｔｒｏｌｌｅｒ」を指定している。これにより、ＨＴＴＰ要求の送信元がキャッシュ制御機能１０７であることを示している。
【００３１】
［ハンドラの処理］
図５は、ハンドラ１０５がＨＴＴＰ要求を受信した場合の処理の流れを示すフローチャートである。本処理は、サーバ１０１が備えるＣＰＵ２０２が、記憶部であるＲＯＭ２０４等に格納されたプログラムを実行することにより実現される。ハンドラ１０５は、ＨＴＴＰ要求が受信される毎にＷＥＢサーバ１０２により呼び出される。そして、ハンドラ１０５は、そのまま後続の処理を継続するか、処理を中断するかの情報を、ハンドラ１０５の呼び出し側であるＷＥＢサーバ１０２に返す。
【００３２】
ハンドラ１０５は先ず、Ｓ５０１にて、ＨＴＴＰ要求のヘッダのＵｓｅｒ−Ａｇｅｎｔを参照し、ＨＴＴＰ要求がキャッシュ制御機能１０７からの要求であるか否かを確認する。ハンドラ１０５は、Ｕｓｅｒ−Ａｇｅｎｔが「ＣａｃｈｅＣｏｎｔｒｏｌｌｅｒ」の場合に、ＨＴＴＰ要求がキャッシュ制御機能１０７からの送信されたものであると判断し（Ｓ５０１にてＹＥＳ）、Ｓ５０２に遷移する。キャッシュ制御機能１０７からの要求でない場合（Ｓ５０１にてＮＯ）、ハンドラ１０５は、Ｓ５０８に遷移する。そして、Ｓ５０８にて、ハンドラ１０５は、後続の処理を続けることＷＥＢサーバ１０２に指示し、処理を終了する。ここでの後続の処理とは、例えば、ＷＥＢサーバ１０２によりコンパイルされたページを端末１０８に提供する処理などが想定される。また、キャッシュにコンパイル済みのページがある場合には、ＷＥＢサーバ１０２は、ページのコンパイルを再度行うことなく、ページを再利用して提供を行うことができる。
【００３３】
ＨＴＴＰ要求がキャッシュ制御機能１０７からのものである場合（Ｓ５０１にてＹＥＳ）、ハンドラ１０５は、Ｓ５０２にて、ＨＴＴＰ要求のヘッダ内のＡｕｔｈｏｒｉｚａｔｉｏｎヘッダの有無を確認する。Ａｕｔｈｏｒｉｚａｔｉｏｎヘッダが存在しない場合（Ｓ５０２にてＮＯ）、ハンドラ１０５は、Ｓ５０４に遷移する。そして、Ｓ５０４にて、ハンドラ１０５は、キャッシュ制御機能１０７に、認証情報を付加したＨＴＴＰ要求の再送信を要求するＨＴＴＰ応答の４０１（Ｕｎａｕｔｈｏｒｉｚｅｄ）を返信する。その後、ハンドラ１０５は、Ｓ５０５にて、後続の処理を中止することをＷＥＢサーバ１０２に指示し、本処理フローを終了する。
【００３４】
ＨＴＴＰ要求がＡｕｔｈｏｒｉｚａｔｉｏｎヘッダを含む場合（Ｓ５０２にてＹＥＳ）、ハンドラ１０５は、Ｓ５０３にて、ヘッダ内の情報を使って認証を行う。そして、Ｓ５０６にて、ハンドラ１０５は、認証が成功したか否かを判定する。認証の結果が失敗であった場合（Ｓ５０６にてＮＯ）、ハンドラ１０５は、Ｓ５０４の処理に遷移し、認証情報を要求する応答をキャッシュ制御機能１０７に返信する。そして、Ｓ５０５にて、ハンドラ１０５は、後続の処理を中止することをＷＥＢサーバ１０２に指示し、本処理フローを終了する。
【００３５】
認証の結果が成功であった場合（Ｓ５０６にてＹＥＳ）、ハンドラ１０５は、Ｓ５０７にて、ＷＥＢサーバ１０２及びＷＥＢアプリケーション１０３に認証情報を設定する。この認証情報により、ＷＥＢサーバ１０２及びＷＥＢアプリケーション１０３は、受信したＨＴＴＰ要求が認証済みであると認識することができる。その後、ハンドラ１０５は、Ｓ５０８にてＷＥＢサーバ１０２に後続の処理を継続することを指示し、本処理フローを終了する。ここでの後続の処理とは、例えば、ＷＥＢサーバ１０２にて、要求されたページのコンパイルを行い、キャッシュに保持する処理などが想定される。
【００３６】
［応答シーケンス］
図６は、キャッシュ制御機能１０７が送信したＨＴＴＰ要求が、ハンドラ１０５、ＷＥＢサーバ１０２、およびＷＥＢアプリケーション１０３により処理され、要求したページに対する応答が返信されるまでの、メッセージの流れを示す。図６では、簡略化のために、キャッシュ制御機能１０７とハンドラ１０５、ハンドラ１０５とＷＥＢアプリケーション１０３の間に介在するＷＥＢサーバ１０２は省略している。
【００３７】
キャッシュ制御機能１０７により送信されたユーザ認証が必要なページに対する図４に示すＨＴＴＰ要求は、図５及び図６に示した処理によりユーザ認証された後、ＷＥＢアプリケーション１０３により処理される。なお、本実施形態において、図５および図６に示すようにキャッシュ制御機能１０７からのＨＴＴＰ要求は、１度目が認証情報を含まず、２度目に認証情報を含めて再送信している。しかし、１度目のＨＴＴＰ要求から認証情報を含むような構成であってもよいし、キャッシュ制御機能からのＨＴＴＰ要求についてはユーザ認証処理自体を省略する構成としても構わない。
【００３８】
以上、本実施形態により、実行時コンパイルが必要なページに対して予めＨＴＴＰ要求を送信し、コンパイルしたページデータをキャッシュしておくことにより、これらページに対するアクセスを効率化することが可能となる。
【００３９】
＜第２実施形態＞
本実施形態では、第１実施形態の構成に加え、アクセス頻度の高いページの一覧をユーザに提供することを可能とする。
【００４０】
図７は、第２実施形態に係るシステム全体の構成を示すブロック図である。図１と同じ構成物には同じ符号を用いている。ここではアクセス集計機能７０１が新たに備えられている。図７において、アクセス集計機能７０１は、ＷＥＢアプリケーション１０３内の全ページのリストと、各ページへのアクセス回数を保持する。
【００４１】
本実施形態において、アクセス集計機能７０１は、以下の３つの処理を提供する。第一は、ＷＥＢアプリケーション１０３内のページの一覧を取得する処理である。ここでページとは、Ｊａｖａ（登録商標）のＪＳＰやＡＳＰ．ＮＥＴのａｓｐｘのようなコンパイルが必要な動的リソースを意味する。第二は、外部からの呼び出しにより指定されたページのアクセスカウンタを制御する処理である。第三は、アクセスカウンタの値が多い順に整列したＷＥＢアプリケーション１０３内のページの一覧を提供する処理である。
【００４２】
［アクセス集計データ］
図１０Ａは、アクセス集計機能７０１が管理するアクセス集計データの例である。アクセス集計データは、サーバ１０１上のファイルやデータベース等の記憶装置に保存され、ＷＥＢアプリケーション１０３の再起動等があっても内容が保持される。ここで、ファイルやデータベース等は、サーバ１０１が備える外部記憶装置２０９等で実現される。アクセス集計データは、「ページのアドレス」「アクセスカウンタ」「ページの有無」より構成される。図１０Ａにおいてそれぞれ、ＵＲＬ１０１１、Ｃｏｕｎｔｅｒ１０１２、Ｅｘｉｓｔｓ１０１３として示す。
【００４３】
ＵＲＬ１０１１は、ＷＥＢアプリケーション１０３内のコンパイルが必要なページのアドレスを保持する。図１０Ａにおいて「〜／」は、ＷＥＢアプリケーション１０３のルートのパスを示す。Ｃｏｕｎｔｅｒ１０１２は、ページのアドレスにより示されるページが何回アクセスされたかを意味する。Ｅｘｉｓｔｓ１０１３は、そのページがＷＥＢアプリケーション１０３内に存在するか否かを示す。
【００４４】
ＷＥＢアプリケーション１０３の構成の変更により、ＷＥＢアプリケーション１０３内のページが削除された後に同じページが再度追加された場合、該当ページに対するＣｏｕｎｔｅｒ１０１２はリセットされない。アクセス集計機能７０１の第三の処理であるページ一覧の提供処理は、アクセス集計データから、Ｅｘｉｓｔｓ１０１３が「Ｔｒｕｅ」であるページのアドレスをアクセスカウンタの多い順に一覧にして処理の呼び出し元に提供する。
【００４５】
［ページ一覧の取得処理］
図１０Ｂは、アクセス集計機能７０１の第一の処理である、ページ一覧の取得処理の流れを示すフローチャートである。本処理は、サーバ１０１が備えるＣＰＵ２０２が、記憶部であるＲＯＭ２０４等に格納されたプログラムを実行することにより実現される。
【００４６】
アクセス集計機能７０１は、まずＳ１００１にて、図１０Ａに示すアクセス集計データを読み込んで集計ページの一覧を作成する。次に、アクセス集計機能７０１は、Ｓ１００２にて、ＷＥＢアプリケーション１０３内のコンパイルを必要とするページの一覧を取得する。このページの一覧は、例えば、ＷＥＢアプリケーション１０３が保持しているものとする。
【００４７】
アクセス集計機能７０１は、Ｓ１００３にて、上記２つの一覧から、集計ページの一覧にあってページの一覧にないページ、即ち集計ページにだけ存在するページのアクセス集計データのページの有無（Ｅｘｉｓｔｓ１０１３）を「Ｆａｌｓｅ」に設定する。次に、アクセス集計機能７０１は、Ｓ１００４にて、ＷＥＢページの一覧にあって集計ページの一覧にはないページ、即ちページの一覧にだけあるページをアクセス集計データに追加する。このとき、アクセス集計機能７０１は、追加対象となるページに対して、アクセスカウンタ（Ｃｏｕｎｔｅｒ１０１２）を“０”、ページの有無を「Ｔｒｕｅ」として設定する。最後にアクセス集計機能７０１は、Ｓ１００５にて、アクセス集計データ内のページの一覧中の各ページ、即ちページに存在するページのアクセス集計データのページの有無（Ｅｘｉｓｔｓ１０１３）を「Ｔｒｕｅ」に設定する。
【００４８】
図１０Ｂに示した、ページ一覧の取得処理は、ＷＥＢアプリケーション１０３の再起動時にハンドラ１０５或いはキャッシュ制御機能１０７により呼び出され、実行される。
【００４９】
［ハンドラの処理］
図８Ａは、ハンドラ１０５の処理の流れを示すフローチャートである。受信したＨＴＴＰ要求に対してアクセス集計機能７０１を呼び出し、アクセス集計データに登録する処理を除いて、処理の流れは図５に示したものと同一であるため、同じ処理には同じ符号を使用している。また、同一の処理に関しては詳細な説明を省略する。
【００５０】
ＷＥＢアプリケーション１０３に対する送信された全てのＨＴＴＰ要求は、ＷＥＢアプリケーション１０３により受信された後、ＷＥＢアプリケーション１０３がハンドラ１０５を呼び出すことにより事前に処理される。
【００５１】
ハンドラ１０５は、Ｓ５０１で受信したＨＴＴＰ要求がキャッシュ制御機能１０７からのものであるかを確認する。ＨＴＴＰ要求がキャッシュ制御機能１０７からのものである場合（Ｓ５０１にてＹＥＳ）、ハンドラ１０５は、図５のＳ５０２以下の処理に遷移する。ＨＴＴＰ要求がキャッシュ制御機能１０７からのものでない場合（Ｓ５０１にてＮＯ）、ハンドラ１０５は、Ｓ８０１のアクセス登録処理（後述）を実行する。その後、図５のＳ５０８に遷移する。
【００５２】
［ハンドラの処理（ユーザ認証不要時）］
図８Ｂは、ページへのアクセスにユーザ認証が不要な場合の、ハンドラ１０５の処理の流れを示すフローチャートである。本処理は、サーバ１０１が備えるＣＰＵ２０２が、記憶部であるＲＯＭ２０４等に格納されたプログラムを実行することにより実現される。
【００５３】
ハンドラ１０５は、Ｓ５０１にてＨＴＴＰ要求がキャッシュ制御機能１０７からのものであるかを確認する。そしてハンドラ１０５は、ＨＴＴＰ要求がキャッシュ制御機能１０７からのものでない場合に（Ｓ５０１にてＮＯ）、Ｓ８０１のアクセス登録処理を実行する。その後、Ｓ５０８にて後続処理を継続する。
【００５４】
［アクセス登録の処理］
図９は、図８のＳ８０１にて、アクセスを登録する処理の流れを示すフローチャートである。本処理は、サーバ１０１が備えるＣＰＵ２０２が、記憶部であるＲＯＭ２０４等に格納されたプログラムを実行することにより実現される。
【００５５】
まずＳ９０１にて、ハンドラ１０５は、ＨＴＴＰ要求のメソッドが「ＧＥＴ」か否かを確認する。ＧＥＴ以外のメソッドの場合（Ｓ９０１にてＮＯ）、ハンドラ１０５は、何もしないで本処理を終了する。ＨＴＴＰ要求のメソッドがＧＥＴの場合（Ｓ９０１にてＹＥＳ）、ハンドラ１０５は、Ｓ９０２にて、ＨＴＴＰ要求のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｃｅ  Ｌｏｃａｔｏｒ）から集計に不要なパラメタ部分を削除する。ここでパラメタ部分とはＵＲＬに含まれる「？」以降の文字列（クエリーストリング）を意味する。
【００５６】
次に、ハンドラ１０５は、Ｓ９０３にて、静的なリソースであるか、動的なリソースであるかを判断する。ここで、静的なリソースとは、要求されたＵＲＬが画像ファイルやＣＳＳファイルやＨＴＭＬファイルのようなリソースを指す。また、動的なリソースとは、ＪＳＰやＡＳＰ．ＮＥＴのａｓｐｘ等のコンパイルが必要なリソースを指す。判断の結果、要求されたＵＲＬが静的リソースである場合（Ｓ９０３にてＮＯ）、ハンドラ１０５は、何もしないで処理を終了する。要求されたＵＲＬが動的リソースである場合（Ｓ９０３にてＹＥＳ）、ハンドラ１０５は、Ｓ９０４にて、アクセス集計機能７０１を呼び出し、要求されたＵＲＬに対するアクセスカウンタを１つ増加させる。そして、本処理を終了する。
【００５７】
［キャッシュ制御機能の処理］
本実施形態に係るキャッシュ制御機能１０７の処理の流れは、第１実施形態にて述べた図３のフローチャートと以下の点を除いて同じであるため、重複する点については省略する。
【００５８】
本実施形態のキャッシュ制御機能１０７は、Ｓ３０１のページの一覧の作成処理において、アクセス集計機能７０１のアクセス順にページの一覧を提供する処理を呼び出すことにより、アクセス頻度順に整列したページの一覧を作成する。他の処理については図３の各ステップに同じである。ここで、図３の処理において、アクセス頻度が多い順に優先的にＨＴＴＰ要求を送信するように構成してもよい。
【００５９】
以上、本実施形態により、第１実施形態の効果に加え、アクセス頻度を考慮したページの一覧の提供、キャッシュにて保持するページの制御をすることができる。
【００６０】
＜第３実施形態＞
ＷＥＢサーバには、ページが配置されたディレクトリ単位でコンパイル処理を行うものがある。例えば、「Ｘ」というディレクトリに、Ａ、Ｂ、およびＣという３つのページがある場合、ＷＥＢサーバ１０２は、Ａ、Ｂ、Ｃいずれかへのアクセスにより、Ａ、Ｂ、およびＣの３つのページに対してコンパイル処理を実行し、コンパイル結果をキャッシュに保管する。
【００６１】
このようなＷＥＢサーバに対応するために、第２実施形態のアクセス集計機能７０１を、ＷＥＢアプリケーション１０３内のページが配置されたディレクトリ毎に集計を取るように変更する。そして、アクセス集計機能７０１は、ディレクトリ毎にアクセスの多いページを提示する。
【００６２】
本実施形態において、アクセス集計機能７０１は、第２実施形態にて示した図１０Ａのアクセス集計データのＵＲＬ部分をディレクトリとファイルに分割し、図１１Ａに示す形式で保持する。つまり、アクセス集計データは、ファイルの格納先を示すＤｉｒｅｃｔｏｒｙ１１１１およびファイル名を示すＦｉｌｅ１１１２を構成要素として含む。また、ページ一覧の提供処理は、図１１Ｂに示す処理によりアクセスの多いディレクトリ順にページの一覧を提供する。
【００６３】
［処理フロー］
図１１Ｂは、アクセス集計機能７０１が、アクセスの多いディレクトリ順にページ一覧を提供する処理の流れを示すフローチャートである。本処理は、サーバ１０１が備えるＣＰＵ２０２が、記憶部であるＲＯＭ２０４等に格納されたプログラムを実行することにより実現される。
【００６４】
アクセス集計機能７０１は、Ｓ１１０１にて、アクセス集計データのページの有無が「Ｔｒｕｅ」の各行について、ディレクトリとそのディレクトリに属するページに対するアクセスカウンタの合計からなる一覧データを作成する。例えば、図１１Ａの例では、「〜／Ｌｏｇｉｎ」が３２、「〜／Ｕｓｅｒ」が１８、「〜／Ｐｌｕｇｉｎ／Ｂｏｏｋｍａｒｋ」が０となる。次に、アクセス集計機能７０１は、このデータをアクセスカウンタの合計の多い順に整列する。
【００６５】
アクセス集計機能７０１は、Ｓ１１０２にて、一覧データにおいて全てのディレクトリに対して、処理が終了したか否かを判定する。すべてのディレクトリに対して処理が終了している場合（Ｓ１１０２にてＹＥＳ）、Ｓ１１０５へ進む。未処理のディレクトリがある場合（Ｓ１１０２にてＮＯ）、Ｓ１１０３へ進む。
【００６６】
Ｓ１１０３にて、アクセス集計機能７０１は、この一覧から未処理のディレクトリに属するファイルを取り出す。そして、アクセス集計機能７０１は、着目ディレクトリのパスとファイル名（Ｄｉｒｅｃｔｏｒｙ１１１１、Ｆｉｌｅ１１１２）からＵＲＬを作成する。次に、アクセス集計機能７０１は、Ｓ１１０４にて、作成したＵＲＬを、ページ一覧に追加し、ディレクトリに含まれる各ページに対するアクセスの集計を行う。アクセス集計機能７０１は、この処理をすべてのディレクトリに対して、実行する。
【００６７】
Ｓ１１０２で作成した一覧内の各ディレクトリに対し上記処理を行った後（Ｓ１１０２にてＮＯ）、Ｓ１１０５にて、アクセス集計機能７０１は、作成されたページ一覧を返却する。
【００６８】
以上の処理により、アクセス集計機能７０１は、アクセス頻度の多いディレクトリ順のページのリストを作成する。図１１Ａの例では、リストは「〜／Ｌｏｇｉｎ／Ｌｏｇｉｎ．ａｓｐｘ」「〜／Ｕｓｅｒ／Ａｄｄ．ａｓｐｘ」「〜／Ｐｌｕｇｉｎ／Ｂｏｏｋｍａｒｋ／Ｌｉｓｔ．ａｓｐｘ」となる。なお、図１１Ａの例において、「〜／Ｐｌｕｇｉｎ／Ｂｌｏｇ」ディレクトリは、Ｅｘｉｓｔｓ１０１３の値が「Ｆａｌｓｅ」となっているため、一覧には現れない。
【００６９】
他の処理については第２実施形態と同じであるため、説明は省略する。
【００７０】
以上により、第１、第２実施形態の効果に加え、ディレクトリ単位でアクセス順にページの一覧を提示することができる。
【００７１】
＜第４実施形態＞
本実施形態では、キャッシュ制御機能とアクセス集計機能をＷＥＢサーバに内蔵させた構成について説明する。
【００７２】
［システム構成］
図１２は、本実施形態に係るシステム全体の構成を示すブロック図である。図１と同じ構成要素については同じ符号を用いる。図１２において、ＷＥＢサーバ１２０１は、キャッシュ制御機能１２０２、集計機能１２０３を内蔵している。集計機能１２０３は、ＷＥＢアプリケーション１０３に対するＨＴＴＰ要求を受信する毎にＷＥＢサーバ１２０１により呼び出される。そして、集計機能１２０３は、ＨＴＴＰ要求のページ毎の集計を取る機能と、集計に基づいてアクセスの多い順にＷＥＢアプリケーション１０３のＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）のリストを返す機能とを提供する。
【００７３】
［集計処理］
図１３は、集計機能１２０３による集計処理の流れを示すフローチャートである。本処理は、サーバ１０１が備えるＣＰＵ２０２が、記憶部であるＲＯＭ２０４等に格納されたプログラムを実行することにより実現される。
【００７４】
本集計処理は、ＷＥＢアプリケーション１０３に対するＨＴＴＰ要求の受信の毎にＷＥＢサーバ１２０１により呼び出される。集計機能１２０３は、Ｓ１３０１にて、要求されたＷＥＢページが認証を必要とするページか否かを判定する。認証を必要としないページの場合（Ｓ１３０１にてＮＯ）、集計機能１２０３は、Ｓ１３０３に遷移する。
【００７５】
ユーザ認証を必要とするページの場合（Ｓ１３０１にてＹＥＳ）、集計機能１２０３は、Ｓ１３０２にてＨＴＴＰ要求が認証済みであるか否かを判定する。未認証の場合（Ｓ１３０２にてＹＥＳ）、集計機能１２０３は処理を終了する。認証済みの場合（Ｓ１３０２にてＮＯ）、集計機能１２０３は、Ｓ１３０３にて、ＨＴＴＰ要求のメソッドがＧＥＴであるか否かを判定する。メソッドがＧＥＴでない場合（Ｓ１３０３にてＮＯ）、集計機能１２０３は、処理を終了する。
【００７６】
ＨＴＴＰ要求のメソッドがＧＥＴである場合（Ｓ１３０３にてＹＥＳ）、集計機能１２０３は、Ｓ１３０４にて、要求されたページが動的なリソースか否かを検査する。動的リソースでない場合（Ｓ１３０４にてＮＯ）、集計機能１２０３は処理を終了する。要求されたページが動的リソースである場合（Ｓ１３０４にてＹＥＳ）、集計機能１２０３は、Ｓ１３０５にて、要求されたページに対するアクセスカウンタを１増加させる。そして、本処理を終了する。
【００７７】
集計機能１２０３が利用するアクセス集計データとそのページ一覧の取得処理に関しては、第２実施形態にて示した図１０Ａおよび図１０Ｂと同様であるため、その詳細はここでは省略する。
【００７８】
［キャッシュ制御機能の処理］
図１４は、キャッシュ制御機能１２０２の処理の流れを示すフローチャートである。本処理は、サーバ１０１が備えるＣＰＵ２０２が、記憶部であるＲＯＭ２０４等に格納されたプログラムを実行することにより実現される。
【００７９】
なお、図１２に示すように、本実施形態のキャッシュ制御機能１２０２は、第２実施形態のキャッシュ制御機能１０７と異なりＷＥＢサーバ１２０１に内蔵されている。このとき、ＷＥＢサーバ１２０１は、ＷＥＢアプリケーション実行環境を含むため、ＷＥＢアプリケーション１０３内のページのコンパイル及びコンパイル結果のキャッシュ機能を内蔵している。従って、キャッシュ制御機能１２０２は、ＷＥＢサーバ１２０１に内蔵のページのコンパイル及びコンパイル結果のキャッシュ機能を直接呼び出すことが可能である。つまり、第２実施形態のキャッシュ制御機能１０７と異なり、キャッシュ制御機能１２０２はページに対するキャッシュのためにＨＴＴＰ要求をＷＥＢサーバ１２０１に送信する必要がない。
【００８０】
キャッシュ制御機能１２０２は、Ｓ１４０１にて、集計機能１２０３のページの一覧取得機能を呼び出し、ＷＥＢアプリケーション１０３内のページのアクセス頻度順のリストを取得する。続いて、キャッシュ制御機能１２０２は、一覧に含まれるすべてのページに対して処理が終了しているか否かを判定する。すべてのページに対して処理が終了した場合には（Ｓ１４０２にてＹＥＳ）、Ｓ１４０５へ進む。未処理のページがある場合には（Ｓ１４０２にてＮＯ）、Ｓ１４０３へ進む。
【００８１】
Ｓ１４０３にて、キャッシュ制御機能１２０２は、ページの一覧からアクセス頻度の高い順に未処理のページを取り出す。そして、キャッシュ制御機能１２０２は、Ｓ１４０４にて、Ｓ１４０３で取り出したページのコンパイル及びコンパイル結果のキャッシュ処理をＷＥＢサーバ１２０１に依頼する。このとき、ＷＥＢサーバ１２０１は、指示されたページのコンパイル結果がキャッシュに存在しない場合、ページのコンパイルを行い、コンパイル結果をキャッシュに保管する。
【００８２】
次にキャッシュ制御機能１２０２は、Ｓ１４０５にて、ＷＥＢアプリケーション１０３の再起動の有無を確認する。ＷＥＢアプリケーション１０３の再起動が確認された場合（Ｓ１４０５にてＹＥＳ）、キャッシュ制御機能１２０２はＳ１４０１に遷移し、ページ一覧の取得からやり直す。ＷＥＢアプリケーション１０３の再起動が確認されなかった場合（Ｓ１４０５にてＮＯ）、キャッシュ制御機能１２０２はＳ１４０２に遷移し、Ｓ１４０１で取得したページの一覧に対する処理を継続する。
【００８３】
以上により、第１実施形態と同様の効果を有することができる。
【００８４】
＜第５実施形態＞
本実施形態では、第２及び第３実施形態の構成に加え、ＷＥＢサーバ１２０１内にページが追加された場合に、追加されたページに対するキャッシュを優先的に作成する機能をユーザに提供する。また、本実施形態では、ユーザ操作等により既にキャッシュが作成されていることを検出する機能を提供することにより、より短時間でキャッシュを作成することを可能とする。
【００８５】
［ページ一覧の取得処理］
本実施形態に係るページ一覧の取得処理の流れは、第２実施形態にて述べた図１０Ｂのフローチャートと、以下の点を除いて同じであるため、重複する点については説明を省略する。
【００８６】
本実施形態のアクセス集計機能７０１は、Ｓ１００１の、図１０Ａに示すアクセス集計データを読み込んで集計ページの一覧を作成する際、まず、アクセスカウンタ（Ｃｏｕｎｔｅｒ１０１２）が“０”であるページのアクセスカウンタを“１”に変更する。これにより、本実施形態における図１０Ｂに示すページ一覧の集計処理の結果は、新規に追加されたページのアクセスカウンタは“０”、既存のページのアクセスカウンタは“１”以上の値となる。
【００８７】
本実施形態に係るアクセス集計機能７０１のアクセス順のページの一覧を提供する処理では、まず、アクセスカウンタが“０”のページを一覧の上位に整列させる。そして、アクセスカウンタが“０”のページの後に、アクセスカウンタが“１”以上のページをアクセスカウンタの多い順に整列したページの一覧を追加する。そして、アクセス集計機能７０１は、生成した一覧データを返す。この一覧により、本実施形態のキャッシュ制御機能１０７は、新規に追加されたページが存在する場合は、新規に追加されたページから優先的にＨＴＴＰ要求を送信する。つまり、一覧の上位に整列されたページほど優先的にＨＴＴＰ要求が行われることとなる。
【００８８】
本実施形態に係るアクセス集計機能７０１は、第４実施形態のようにアクセスカウントの集計をディレクトリ毎に集計する場合にも同様の処理を行う。例えば、本実施形態に係るアクセス集計機能７０１は、Ｓ１１０１にて、新規に追加されたディレクトリの一覧の後に、アクセス頻度順にディレクトリとそのディレクトリに属するページの一覧データを追加した、一覧データを作成する。
【００８９】
［キャッシュ制御技能の処理］
図１５は、本実施形態に係るキャッシュ制御機能１０７の処理の流れを示すフローチャートである。本処理は、サーバ１０１が備えるＣＰＵ２０２が、記憶部であるＲＯＭ２０４等に格納されたプログラムを実行することにより実現される。図１５において、図３のフローチャートと重複する処理に関しては同一の符号を使用し、詳細な処理の説明は省略する。
【００９０】
キャッシュ制御機能１０７は、Ｓ１５０１にて、Ｓ３０４のページに対するＨＴＴＰ要求の送信間隔を決定する。送信間隔は、例えば、サーバ１０１の備えるＣＰＵ２０２の個数により、以下の式により決定する。
送信間隔（秒）＝ＭＩＮ（１２０，１２０／ＣＰＵ数）
この式に従うと、送信間隔は、ＣＰＵ数が１個の場合は１２０秒、２個の場合は６０秒、４個以上の場合は３０秒となる。
【００９１】
キャッシュ制御機能１０７は、Ｓ３０４にて、取得したページに対してＨＴＴＰ（或いはＨＴＴＰＳ）要求を送信し、ＷＥＢアプリケーション１０３からの応答を待つ。キャッシュ制御機能１０７は、Ｓ１５０２にて、Ｓ３０４におけるＨＴＴＰ要求の送信から応答の受信までの間隔が規定値よりも長いかを検査する。ここで、規定値は、既にページのキャッシュが作成されている場合に期待される応答時間よりも長く、ＷＥＢサーバ１０２がページのキャッシュを作成した場合に期待される応答時間よりも短い時間が設定される。応答時間が規定値内の場合（Ｓ１５０２にてＹＥＳ）、キャッシュ制御機能１０７は、Ｓ３０２に戻って、一覧に含まれる次の未処理ページに対して処理を続ける。この場合、着目ページに対するキャッシュが作成されているものと判断できる。
【００９２】
応答時間が規定値よりも長い場合（Ｓ１５０２にてＮＯ）、キャッシュ制御機能１０７は、Ｓ３０５のＷＥＢアプリケーション１０３の再起動検出処理に進む。ＷＥＢアプリケーション１０３の再起動が検出されなかった場合（Ｓ３０５にてＮＯ）、キャッシュ制御機能１０７は、Ｓ１５０３にて、Ｓ１５０１で決定した送信間隔だけ待機する。送信間隔が経過後、キャッシュ制御機能１０７は、Ｓ３０２に戻って、一覧に含まれる次の未処理ページに対して処理を続ける。
【００９３】
ＷＥＢアプリケーション１０３の再起動を検出した場合には（Ｓ３０５にてＹＥＳ）、Ｓ３０１の処理に戻る。
【００９４】
以上により、ＷＥＢサーバ１２０１内にページが追加された場合に、追加されたページに対するキャッシュを優先的に作成する機能をユーザに提供する。そして、ユーザ操作等により既にキャッシュが作成されていることを検出する機能を提供することにより、より短時間でキャッシュを作成することを可能とする。
【００９５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005901267.tif 000002
【図２】
0005901267.tif 000003
【図３】
0005901267.tif 000004
【図４】
0005901267.tif 000005
【図５】
0005901267.tif 000006
【図６】
0005901267.tif 000007
【図７】
0005901267.tif 000008
【図８Ａ】
0005901267.tif 000009
【図８Ｂ】
0005901267.tif 000010
【図９】
0005901267.tif 000011
【図１０Ａ】
0005901267.tif 000012
【図１０Ｂ】
0005901267.tif 000013
【図１１Ａ】
0005901267.tif 000014
【図１１Ｂ】
0005901267.tif 000015
【図１２】
0005901267.tif 000016
【図１３】
0005901267.tif 000017
【図１４】
0005901267.tif 000018
【図１５】
0005901267.tif 000019