(57)【要約】【課題】ＷＷＷ情報をキャッシュしておくことにより特定のユーザの要求から比較的短い応答時間で情報を提供する。【解決手段】ユーザのリクエスト・ログを用いて、ユーザ毎にプリフェッチを行なうことで、特定ユーザのリクエストしたＷＷＷ情報を効率的にキャッシュする。また、先読みする機構に、ベイジアン・ネットワーク・モデルを用いることで、刻一刻と変わるユーザの嗜好性の変化に応じてアクセス・パターンが変化したとしても、これに対応して先読み対象を確率的に求め、先読み対象を限定し、ユーザの変化に動的に対応する。【選択図】  図１
2004280405.tif 000002
【特許請求の範囲】
【請求項１】
複数のサイトに跨って相互に参照関係を持つページからなる情報を提供する情報提供システムであって、
ユーザ毎の情報を要求するリクエスト・ログを抽出するログ抽出手段と、
リクエスト・ログに含まれるページのアクセス系列に基づいて、次にアクセスされるページを予測し、先読みすべきページをユーザ毎に求めるプリフェッチ対象ページ選定手段と、
リクエスト・ログに含まれるサイトのアクセス系列に基づいて、次にアクセスされるサイトを予測し、先読みすべきサイトをユーザ毎に求めるプリフェッチ対象サイト選定手段と、
前記プリフェッチ対象ページ選定手段及び前記プリフェッチ対象サイト選定手段により選定されたページ及びサイトに基づいて、情報の先読みを行なうプリフェッチ手段と、
を具備することを特徴とする情報提供システム。
【請求項２】
前記プリフェッチ対象ページ選定手段及び／又は前記プリフェッチ対象サイト選定手段は、ユーザのアクセス系列を記述したユーザ毎の確率ネットワーク・モデルを用いて、ユーザが次にアクセスするページ及び／又はサイトを予測する、ことを特徴とする請求項１に記載の情報提供システム。
【請求項３】
前記プリフェッチ対象ページ選定手段及び／又は前記プリフェッチ対象サイト選定手段は、次のユーザのアクセス結果に基づいて、確率ネットワーク・モデルを更新する、
ことを特徴とする請求項２に記載の情報提供システム。
【請求項４】
前記プリフェッチ手段は、ネットワークの負荷などを考慮してプリフェッチ対象のプリフェッチ作業を行なう、
ことを特徴とする請求項１に記載の情報提供システム。
【請求項５】
前記プリフェッチ手段は、予測に基づくプリフェッチ対象のページ及び／又はサイトの優先順位を、ネットワーク負荷を考慮して並べ替える、
ことを特徴とする請求項４に記載の情報提供システム。
【請求項６】
前記プリフェッチ手段は、プリフェッチした情報をユーザ毎に割り当てられた記憶領域に蓄積する、
ことを特徴とする請求項１に記載の情報提供システム。
【請求項７】
複数のサイトに跨って相互に参照関係を持つページからなる情報を提供する情報提供方法であって、
ユーザ毎の情報を要求するリクエスト・ログを抽出するログ抽出ステップと、
リクエスト・ログに含まれるページのアクセス系列に基づいて、次にアクセスされるページを予測し、先読みすべきページをユーザ毎に求めるプリフェッチ対象ページ選定ステップと、
リクエスト・ログに含まれるサイトのアクセス系列に基づいて、次にアクセスされるサイトを予測し、先読みすべきサイトをユーザ毎に求めるプリフェッチ対象サイト選定ステップと、
前記プリフェッチ対象ページ選定ステップ及び前記プリフェッチ対象サイト選定ステップにより選定されたページ及びサイトに基づいて、情報の先読みを行なうプリフェッチ・ステップと、
を具備することを特徴とする情報提供方法。
【請求項８】
前記プリフェッチ対象ページ選定ステップ及び／又は前記プリフェッチ対象サイト選定ステップでは、ユーザのアクセス系列を記述したユーザ毎の確率ネットワーク・モデルを用いて、ユーザが次にアクセスするページ及び／又はサイトを予測する、
ことを特徴とする請求項７に記載の情報提供方法。
【請求項９】
前記プリフェッチ対象ページ選定ステップ及び／又は前記プリフェッチ対象サイト選定ステップでは、次のユーザのアクセス結果に基づいて、確率ネットワーク・モデルを更新する、
ことを特徴とする請求項７に記載の情報提供方法。
【請求項１０】
前記プリフェッチ・ステップでは、ネットワークの負荷などを考慮してプリフェッチ対象のプリフェッチ作業を行なう、
ことを特徴とする請求項７に記載の情報提供方法。
【請求項１１】
前記プリフェッチ・ステップでは、予測に基づくプリフェッチ対象のページ及び／又はサイトの優先順位を、ネットワーク負荷を考慮して並べ替える、
ことを特徴とする請求項７に記載の情報提供方法。
【請求項１２】
前記プリフェッチ・ステップでは、プリフェッチした情報をユーザ毎に割り当てられた記憶領域に蓄積する、
ことを特徴とする請求項７に記載の情報提供方法。
【請求項１３】
複数のサイトに跨って相互に参照関係を持つページからなる情報を提供するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
ユーザ毎の情報を要求するリクエスト・ログを抽出するログ抽出ステップと、リクエスト・ログに含まれるページのアクセス系列に基づいて、次にアクセスされるページを予測し、先読みすべきページをユーザ毎に求めるプリフェッチ対象ページ選定ステップと、
リクエスト・ログに含まれるサイトのアクセス系列に基づいて、次にアクセスされるサイトを予測し、先読みすべきサイトをユーザ毎に求めるプリフェッチ対象サイト選定ステップと、
前記プリフェッチ対象ページ選定ステップ及び前記プリフェッチ対象サイト選定ステップにより選定されたページ及びサイトに基づいて、情報の先読みを行なうプリフェッチ・ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザが要求した情報を提供する情報提供システム及び情報提供方法、並びにコンピュータ・プログラムに係り、特に、ＷＷＷ情報空間で不特定多数のユーザに提供される情報の中から、特定のユーザの要求に応じて効率的に情報を提供する情報提供システム及び情報提供方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、ＷＷＷ情報をキャッシュしておくことにより特定のユーザの要求から比較的短い応答時間で情報を提供する情報提供システム及び情報提供方法、並びにコンピュータ・プログラムに係り、特に、ユーザが要求すると思われる情報をあらかじめ先読みしてキャッシュしておく（すなわち先読みする）ことにより、ユーザの要求から比較的短い応答時間で情報を提供する情報提供システム及び情報提供方法、並びにコンピュータ・プログラムに関する。
【０００３】
【従来の技術】
昨今、ネットワーク・コンピューティング技術が急速に展開している。ネットワーク接続環境下では、コンピュータ資源の共有や、情報の共有・流通・配布・交換などの協働的作業を円滑に行なうことができる。
【０００４】
コンピュータ同士を相互接続するネットワークの形態は様々である。例えば、イーサネット（登録商標）のような局所に敷設されたＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や、さらには、ネットワーク間の相互接続を繰り返し行った結果として文字通り世界規模のネットワークへ成長を遂げた「インターネット」（Ｔｈｅ  Ｉｎｔｅｒｎｅｔ）などさまざまである。特に、ブロードバンド通信や常時接続の普及と相俟って、インターネットが広汎に普及してきている。
【０００５】
インターネット上では、サーバ同士がＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ・ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ベースで相互接続され、ＷＷＷ（ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）、Ｎｅｗｓ、ＴＥＬＮＥＴ（ＴＥＬｅｔｙｐｅｗｒｉｔｅｒ  ＮＥＴｗｏｒｋ）、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、Ｇｏｐｈｅｒなど、多数のサービスが公開されている。
【０００６】
このうちＷＷＷは、ハイパーリンク構造の情報空間を提供する広域情報検索システムであり、インターネットの爆発的な成長や急速な普及を遂げる最大の要因ともなっている。ＷＷＷシステム上では、テキスト、画像、音声などの各種メディアの情報コンテンツが公開されている。ＷＷＷサービスの利用者は、クライアント装置からインターネットを通じて、ＷＷＷ情報を提供するサーバに接続し、ＷＷＷ情報を取得することができる。
【０００７】
ＷＷＷ情報は、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）と呼ばれるハイパーテキスト形式の記述言語で記述されている。ＴＣＰ／ＩＰに従えば、情報資源は、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）という形式の識別子によって特定され、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロトコルに従ってＨＴＭＬドキュメントを転送することができる（周知）。
【０００８】
ＷＷＷ情報は、通常、ページと呼ばれる単位でサーバから提供されている。クライアント側では、ＷＷＷブラウザを用いてページ単位でＷＷＷ情報をダウンロードして、画面上にＷＷＷページとして表示させることができる。また、ハイパーテキスト形式で記述されるＷＷＷページは、ハイパーリンクによって、同じサーバ上で提供されているページ、あるいは他のサーバ上で提供されているページとの間で相互に参照関係を持っている。
【０００９】
ここで、ＷＷＷ情報を利用するに際し、サーバの処理時間やインターネットの帯域幅などの理由から、サーバから直接情報を入手する場合の応答時間が遅い問題がある。
【００１０】
この問題点を解決するために、ユーザのクライアント装置とＷＷＷの情報を提供する装置からなるインターネット上に、キャッシュ・サーバと呼ばれるＷＷＷ情報提供装置を設置するという手法が採られている（例えば、特許文献１を参照のこと）。キャッシュ・サーバは、不特定多数のユーザから要求されたＷＷＷ情報のうちアクセス頻度の高いＷＷＷ情報を装置内に蓄えておく。そして、ユーザから要求された情報が装置内にあれば（キャッシュ・ヒット）、ユーザに提供するが、要求された情報が装置内になければ（キャッシュ・ミス）、ＷＷＷ情報を提供するサーバに情報を取りに行き、要求元ユーザに提供する。
【００１１】
ところが、従来のキャッシュ・サーバは、一般に、不特定多数のユーザによって共用され、また、記憶容量が有限であることから、ＦＩＦＯ（Ｆａｓｔ  Ｉｎ  Ｆａｓｔ  ｏｕｔ）やＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）などの論理に従ってキャッシュ・データの管理（データの削除）が行なわれている。このような場合、キャッシュ・サーバは、不特定多数のユーザのアクセス情報に基づいてアクセス頻度の高いＷＷＷ情報を装置内に蓄えているので、必ずしも特定のユーザが要求した情報がキャッシュ・サーバ内に蓄えられているとは限らない。このため、キャッシュ・ミスにより、キャッシュ・サーバがＷＷＷ情報を提供するサーバに逐次情報を取りに行く結果となり、結局のところ、応答時間の問題を解決することができない。
【００１２】
また、ユーザが要求したＷＷＷ情報の参照先ページ内から、他のページへのリンク情報を取得し、すべての参照先ページを先読みしておき、応答時間の低減を図ることが行なわれている（例えば、非特許文献１を参照のこと）。
【００１３】
しかしながら、この場合、すべてのページにおいて、ページ内のすべてのリンク先を先読みするので、アクセスされない可能性の高いものまで先読みしてしまうことになり、非効率的であり、帯域を無駄に使ってしまうという問題がある。
【００１４】
また、ユーザやＷＷＷ情報の参照先ページに重要度や優先度を設定して、先読みを行なうという方法もある（例えば、特許文献２を参照のこと）。例えば、プロキシー・サーバのＷＷＷデータ・アクセスの履歴を集計・解析する仕組みを設け、その解析結果からキャッシュ・サーバにキャッシュされているデータに優先度を与える。そして、優先度に従ってリクエストされたデータ毎に先読みを行なうかどうかの条件を設ける。これによって、先読みによるネットワークへの負荷の増大を抑えながら、先読みによるキャッシュの再現率の向上を実現することができる。
【００１５】
しかしながら、この場合、重要度や優先度が画一的になってしまうことから、先読みする対象も同様に画一的になる、という問題がある。言い換えれば、ユーザの嗜好性が変わり、動的にアクセス・パターンが変わってしまうような場合、キャッシュ・サーバは対応することができない。
【００１６】
【特許文献１】
特開平１０−２１１７４号公報
【特許文献２】
特開平１１−１４９４０５号公報
【非特許文献１】
Ｗｅｂサーバー完全技術解説、日経ＢＰ社
【００１７】
【発明が解決しようとする課題】
本発明の目的は、ＷＷＷ情報空間で不特定多数のユーザに提供される情報の中から、特定のユーザの要求に応じて効率的に情報を提供することができる、優れた情報提供システム及び情報提供方法、並びにコンピュータ・プログラムを提供することにある。
【００１８】
本発明のさらなる目的は、ＷＷＷ情報をキャッシュしておくことにより特定のユーザの要求から比較的短い応答時間で情報を提供することができる、優れた情報提供システム及び情報提供方法、並びにコンピュータ・プログラムを提供することにある。
【００１９】
本発明のさらなる目的は、ユーザが要求するであろう情報をあらかじめ先読みすることにより、ユーザの要求から比較的短い応答時間で情報を提供することができる、優れた情報提供システム及び情報提供方法、並びにコンピュータ・プログラムを提供することにある。
【００２０】
本発明のさらなる目的は、刻一刻と変わるユーザの嗜好性の変化に対応してユーザが要求する情報を先読みしておくことにより、ユーザの要求から比較的短い応答時間で情報を提供することができる、優れた情報提供システム及び情報提供方法、並びにコンピュータ・プログラムを提供することにある。
【００２１】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、複数のサイトに跨って相互に参照関係を持つページからなる情報を提供する情報提供システムであって、
ユーザ毎の情報を要求するリクエスト・ログを抽出するログ抽出手段と、
リクエスト・ログに含まれるページのアクセス系列に基づいて、次にアクセスされるページを予測し、先読みすべきページをユーザ毎に求めるプリフェッチ対象ページ選定手段と、
リクエスト・ログに含まれるサイトのアクセス系列に基づいて、次にアクセスされるサイトを予測し、先読みすべきサイトをユーザ毎に求めるプリフェッチ対象サイト選定手段と、
前記プリフェッチ対象ページ選定手段及び前記プリフェッチ対象サイト選定手段により選定されたページ及びサイトに基づいて、情報の先読みを行なうプリフェッチ手段と、
を具備することを特徴とする情報提供システムである。
【００２２】
但し、ここで言う「システム」とは、複数の装置（又は特定の機能を実現する機能モジュール）が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【００２３】
本発明に係る情報提供システムは、ＷＷＷサーバにおいて公開されているＷＷＷ情報をキャッシュしておくことにより、ユーザのリクエストから比較的短い応答時間で情報を提供する。
【００２４】
この際、ユーザのリクエスト・ログを用いてユーザ毎にプリフェッチを行なうことで、不特定多数ではなく、特定のユーザのリクエストしたＷＷＷ情報を効率的にキャッシュすることができる。
【００２５】
ここで、前記プリフェッチ対象ページ選定手段及び／又は前記プリフェッチ対象サイト選定手段は、ユーザのアクセス系列を記述したユーザ毎の確率ネットワーク・モデルを用いて、ユーザが次にアクセスするページ及び／又はサイトを予測する。
【００２６】
すなわち、ＷＷＷ情報を先読みする機構に、確率ネットワーク・モデルの１つであるベイジアン・ネットワーク・モデルを用いることで、刻一刻と変わるユーザの嗜好性の変化に応じてアクセス・パターンが変化したとしても、これに対応して先読み対象を確率的に求め、先読み対象を限定し、ユーザの変化に動的に対応することができる。
【００２７】
また、前記プリフェッチ対象ページ選定手段及び／又は前記プリフェッチ対象サイト選定手段は、次のユーザのアクセス結果に基づいて、確率ネットワーク・モデルを更新することができる。
【００２８】
また、前記プリフェッチ手段は、ネットワークの負荷などを考慮してプリフェッチ対象のプリフェッチ作業を行なうようにしてもよい。例えば、予測に基づくプリフェッチ対象のページ及び／又はサイトの優先順位を、ネットワーク負荷を考慮して並べ替えるようにしてもよい。
【００２９】
また、プリフェッチした情報などのキャッシュ情報を、ユーザ毎に割り当てられた記憶領域に蓄積するようにしてもよい。あるいは、ユーザを区別しないで同じ記憶空間上でキャッシュ情報を管理するようにしてもよい。
【００３０】
また、本発明の第２の側面は、複数のサイトに跨って相互に参照関係を持つページからなる情報を提供するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
ユーザ毎の情報を要求するリクエスト・ログを抽出するログ抽出ステップと、
リクエスト・ログに含まれるページのアクセス系列に基づいて、次にアクセスされるページを予測し、先読みすべきページをユーザ毎に求めるプリフェッチ対象ページ選定ステップと、
リクエスト・ログに含まれるサイトのアクセス系列に基づいて、次にアクセスされるサイトを予測し、先読みすべきサイトをユーザ毎に求めるプリフェッチ対象サイト選定ステップと、
前記プリフェッチ対象ページ選定ステップ及び前記プリフェッチ対象サイト選定ステップにより選定されたページ及びサイトに基づいて、情報の先読みを行なうプリフェッチ・ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【００３１】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１の側面に係る情報提供システムと同様の作用効果を得ることができる。
【００３２】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００３３】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３４】
本発明は、ユーザのクライアント装置とＷＷＷの情報を提供する装置からなるインターネット上にキャッシュ・サーバを配置し、キャッシュ・サーバが次にアクセスされる情報の先読み（プリフェッチ）作業をユーザ毎に行なうことにより、不特定多数ではなく、特定ユーザのリクエストしたＷＷＷ情報を効率的に提供するものである。
【００３５】
図１には、本発明を適用したＷＷＷ情報提供システムの構成例を模式的に示している。同図に示す例では、ユーザが情報を要求するクライアントとしての端末１００と、ＷＷＷ情報をページ単位で提供するＷｅｂサーバ１０３と、Ｗｅｂサーバ１０３から提供されるＷＷＷ情報を蓄積しておくキャッシュ・サーバ装置１０４が、ネットワーク１０１を通じてインターネット１０２に繋がっている。キャッシュ・サーバ装置１０４内に、本発明の一実施形態に係るキャッシュ・システム１０５（後述）が構築されている。
【００３６】
端末１００は、ユーザがインターネット上のＷＷＷ情報を閲覧する際に用いるクライアント端末のことであり、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔｓ）、あるいは携帯電話などに相当する。
【００３７】
Ｗｅｂサーバ１０３は、インターネット上でＷＷＷ情報の提供サービスを実施する者が、ユーザへＷＷＷ情報を提供するために設置した装置で構成される。
【００３８】
ＷＷＷ情報は、ＨＴＭＬと呼ばれるハイパーテキスト形式の記述言語を用いて記述されている。ＷＷＷ情報は、ＵＲＬによって特定され、ＨＴＴＰプロトコルに従って転送することができる。ＷＷＷ情報は、通常、ページ（以下、「Ｗｅｂページ」とする）と呼ばれる単位でサーバから提供されている。クライアント側では、ＷＷＷブラウザを用いてページ単位でＷＷＷ情報をダウンロードして、画面上にＷｅｂページとして表示させることができる。また、ハイパーテキスト形式で記述されるＷｅｂページは、ハイパーリンクによって、同じサーバ上で提供されているページ、あるいは他のサーバ上で提供されているページとの間で相互に参照関係を持っている。
【００３９】
キャッシュ・サーバ装置１０４は、ユーザが、ＷｅｂページなどのＷＷＷ情報を、Ｗｅｂサーバ１０３から直接得る場合の遅延時間を低減のために配設されている。キャッシュ・システム１０５は、各ユーザのＷＷＷ情報のリクエスト毎に、ユーザがリクエストしたＷｅｂページなどの情報をキャッシュすること、及び、ユーザがリクエストしたＷｅｂページの次にアクセスする可能性のあるページを予測してキャッシュ（先読み）することを行なうようになっている。図示のキャッシュ・サーバ装置１０４は、「バックサイド・キャッシュ」と呼ばれる構成である。
【００４０】
図示の形態では、ユーザのリクエストが端末１００からネットワーク１０１を通じてインターネット１０２に流れ、キャッシュ・サーバ装置１０４に届く。キャッシュ・サーバ装置１０４では、キャッシュ・システム１０５にユーザのリクエストを渡す。
【００４１】
キャッシュ・システム１０５では、ユーザのリクエストしたページをキャッシュしていれば（キャッシュ・ヒット）、キャッシュ・サーバ装置１０４に、ユーザのリクエストしたページを渡すが、キャッシュしていなければ（キャッシュ・ミス）、ユーザのリクエストしたページをＷｅｂサーバ１０３から取得し、キャッシュ・サーバ装置１０４に渡す。
【００４２】
また、キャッシュ・システム１０５では、ユーザのリクエストを受け取ったときに、次にユーザがアクセスする可能性のあるページをあらかじめキャッシュしておく処理（先読み）を行なうが、この点については後に詳解する。
【００４３】
また、図２には、本発明を適用したＷＷＷ情報提供システムについての他の構成例を模式的に示している。同図に示す例では、ユーザが情報を要求するクライアントとしての端末２００や、社内ＬＡＮ２０３などが、ネットワーク２０１を通じてインターネット２０２に繋がっている。ここで言う社内ＬＡＮ２０３は、インターネット上でＷｅｂページを提供するサービスを行なう会社内のローカル・エリア・ネットワークなどのことを指す。
【００４４】
また、社内ＬＡＮ２０３上には、ＷＷＷ情報をページ単位で提供するＷｅｂサーバ２０６や、Ｗｅｂサーバ１０３から提供されるＷＷＷ情報を蓄積しておくキャッシュ・サーバ装置２０４が繋がっている。キャッシュ・サーバ装置２０４内には、本発明の一実施形態に係るキャッシュ・システム２０５が構築されている。図示のキャッシュ・サーバ装置２０４は、「フロントサイド・キャッシュ」と呼ばれる構成である。
【００４５】
図示の形態では、ユーザのリクエストが端末２００からネットワーク２０１を通じてインターネット２０２に流れ、社内ＬＡＮ２０３経由で、キャッシュ・サーバ装置２０４に届く。キャッシュ・サーバ装置２０４では、キャッシュ・システム２０５にユーザのリクエストを渡す。
【００４６】
キャッシュ・システム２０５では、ユーザのリクエストしたページをキャッシュしていれば（キャッシュ・ヒット）、キャッシュ・サーバ装置２０４に、ユーザのリクエストしたページを渡すが、キャッシュしていなければ（キャッシュ・ミス）、Ｗｅｂサーバ２０３から、ユーザのリクエストしたページを取得し、キャッシュ・サーバ装置２０４に渡す。
【００４７】
また、キャッシュ・システム２０５では、ユーザのリクエストを受け取ったときに、次にユーザがアクセスする可能性のあるページを予測してあらかじめキャッシュしておく処理（先読み）を行なうが、この点については後に詳解する。
【００４８】
また、図３には、本発明を適用したＷＷＷ情報提供システムについてのさらに他の構成例を模式的に示している。同図に示す例では、ユーザが情報を要求するクライアントとしての端末３００や、ＷＷＷ情報をページ単位で提供するＷｅｂサーバ３０４が、ネットワーク３０２を通じてインターネット３０３に繋がっている。また、端末３００内には、本発明の一実施形態に係るキャッシュ・システム３０１が構築されている。
【００４９】
図示の形態では、ユーザのリクエストが、まず端末３００からキャッシュ・システム３０１に渡される。そして、キャッシュ・システム３０１では、ユーザのリクエストしたページをキャッシュしていれば（キャッシュ・ヒット）、端末３００にユーザのリクエストしたページを渡すが、キャッシュしていなければ（キャッシュ・ミス）、ネットワーク３０２を通じインターネット３０３を経由して、Ｗｅｂサーバ３０４からユーザのリクエストしたページを取得し、これを端末３００に渡す。
【００５０】
また、キャッシュ・システム３０１では、ユーザのリクエストを受け取ったときに、次にユーザがアクセスする可能性のあるページを予測してあらかじめキャッシュしておく処理（先読み）を行なうが、この点については後に詳解する。
【００５１】
図４には、本発明の一実施形態に係るキャッシュ・システムの機能構成を模式的に示している。
【００５２】
リクエスト処理部１００１では、ユーザのリクエストをアクセス・ログ１００２に記録し、ログ抽出部１００３にログ処理を指示するとともに、ユーザのリクエストしたページをキャッシュ管理部１００４から取得して、ユーザに取得したページを返す。また、キャッシュ管理部１００４から該当するページを取得することができないときは、外部のＷｅｂサーバからユーザのリクエストしたページを取得し、キャッシュ管理部（１００４）に取得したページを書き込むように指示した後、ユーザに取得したページを返すことができる。
【００５３】
図５には、アクセス・ログ１００２において記録されているログのデータ構造の一例を示している。同図に示す例では、ユーザからのリクエスト毎にログのレコードが生成され、各レコードは、アクセスの日付や時間、要求元ユーザのＩＰアドレス、リクエスト種別、リクエストしたＷｅｂページのＵＲＬ、リクエストされた文書タイプなどを記録するフィールドを持っている。
【００５４】
ログ抽出部１００３は、リクエスト処理部１００１からの指示に応答して、プリフェッチ対象ページ選定部１００７とプリフェッチ対象サイト選定部１００９がそれぞれ先読みすべきページ又はサイトを予測するために必要な情報（例えば、クライアントＩＰアドレス、ＵＲＬ、アクセス時刻など）をアクセス・ログ１００２から抽出し、プリフェッチ対象ページ選定部１００７とプリフェッチ対象サイト選定部１００９のそれぞれに抽出した情報を受け渡し、選定処理を行なうように指示する。
【００５５】
キャッシュ管理部１００４は、リクエスト処理部１００１やプリフェッチ部１０１３の要求に応じて、プリフェッチ要求されているファイルがキャッシュ・ディスク１００６上に存在するかの検索、キャッシュ・ディスク１００６からのファイルの読み出し、キャッシュ・ディスク１００６へのファイルの書き込みなどのディスク・アクセス処理を行なうとともに、キャッシュ・ディスク１００６のファイル・リストとアクセスした日時などのキャッシュ管理情報をキャッシュ管理テーブル１００５に記録する。
【００５６】
図６には、キャッシュ管理テーブル１００５のデータ構造の一例を示している。同図に示す例では、要求元クライアント・ユーザ毎にキャッシュ管理情報が管理されている。各クライアントは、ＩＰアドレスによって識別され、それぞれのための専用のキャッシュ記憶容量が割り当てられている。キャッシュ管理テーブル１００５では、各クライアントについての割り当てられている記憶容量と現在使用中の記憶容量が管理されるとともに、各クライアント毎に、リクエストされたＷｅｂページについての最終アクセス日時、ＵＲＬ、キャッシュ・ディスク（１００６）内でのファイル名からなるリストが記録されている。リクエストされたＷｅｂページのリストは、例えばクライアント毎に最終アクセス日時の新しい順に配列されている。
【００５７】
キャッシュ管理部１００４でファイルの検索を行なう場合には、キャッシュ管理テーブル１００５を参照する。したがって、端末からの要求のあったファイル、Ｗｅｂサーバから取得したファイルなどは、キャッシュ管理テーブル１００５上に存在することになる。図６に示したキャッシュ管理テーブルの構成例では、ユーザの端末を区別してキャッシュしている。すなわち、ユーザの端末毎にキャッシュ・ディスク１００６の割り当て容量を決め、端末毎のキャッシュを行なうことができる。その反面、ユーザの端末毎のキャッシュ領域間で重複したファイルがキャッシュされる可能性があり、キャッシュ・ディスク１００６を効率的に利用できない場合がある。
【００５８】
これに対し、すべてのユーザの端末を区別することなくファイルを管理する方法も考えられる。一般的なキャッシュ・サーバではこのような管理方法が採られている。図２４には、すべてのユーザの端末を区別しない場合におけるキャッシュ管理テーブル１００５のデータ構造の一例を示している。同図に示す例では、キャッシュ管理テーブル１００５上では、各クライアントは識別されず、クライアント毎のキャッシュ領域の割り当てもない。キャッシュ管理テーブル１００５は、キャッシュ・ディスク１００６全体の割当容量と現在の容量を把握するとともに、リクエストされたＷｅｂページについての最終アクセス日時、ＵＲＬ、キャッシュ・ディスク（１００６）内でのファイル名からなるリストが、アクセス要求元クライアントを識別することなく記録されている。この場合、ユーザの端末毎にキャッシュされないという短所があるが、アクセスの多いものほどキャッシュ上に残ることになるので、キャッシュ・ディスク１００６の利用効率がよくなる。
【００５９】
本発明では、ユーザの端末からリクエストがある度に、リクエストされたページなどの次にリクエストされる可能性があるページ又はサイトを予測し、予測されたページ又はサイトをＷｅｂサーバから取得（先読み）し、キャッシュ・ディスク１００６上にあらかじめキャッシュしておく（後述）。キャッシュ管理テーブル１００５を図６又は図２４のいずれの構成を採用しても、リクエストされる可能性のあるページなどが常にキャッシュ管理テーブル１００５並びにキャッシュ・ディスク１００６上に存在する形となる。
【００６０】
プリフェッチ対象ページ選定部１００７は、ログ抽出部１００３がアクセス・ログ１００２から抽出した情報を受け取り、この情報に基づいて次にユーザがアクセスする可能性があるページを予測して、プリフェッチ対象ページとして選定する。より具体的には、ユーザがリクエストしたページの次にアクセスされる可能性のあるページを０〜１までの範囲の確率値で計算し、プリフェッチするまでの取得期限付きで選定し、選定した結果をプリフェッチ対象ページ・リスト１００８に記録する。また、プリフェッチ・スケジューラ部１０１１に対して、プリフェッチ対象ページ・リスト１００８が更新されたことを通知する。
【００６１】
図７には、プリフェッチ対象ページ・リスト１００８のデータ構造の一例を示している。同図に示す例では、プリフェッチ対象ページ・リスト１００８上には、アクセスされる可能性があると予測されたページが例えば確率値の順でリストされ、各ページをリクエストするクライアントのＩＰアドレス、当該ページのＵＲＬ、プリフェッチの期限などが記録されている。
【００６２】
プリフェッチ対象サイト選定部１００９は、ログ抽出部１００３がアクセス・ログ１００２から抽出した情報を受け取り、この情報すなわちユーザのアクセス系列に基づいてユーザが次にアクセスする可能性があるサイトを予測して、プリフェッチ対象サイトとして選定する。より具体的には、ユーザがリクエストしたページが所在するサイトの次にアクセスされる可能性のあるサイトを０〜１までの範囲の確率値で計算し、プリフェッチするまでの取得期限付きで選定し、選定した結果をプリフェッチ対象サイト・リスト１０１０に記録する。また、プリフェッチ・スケジューラ部１０１１に対して、プリフェッチ対象サイト・リスト１０１０が更新されたことを通知する。
【００６３】
図８には、プリフェッチ対象サイト・リスト１０１０のデータ構造の一例を示している。同図に示す例では、プリフェッチ対象サイト・リスト１０１０上には、アクセスされる可能性があると予測されたサイトが例えば確率値の順でリストされ、各サイトをリクエストするクライアントのＩＰアドレス、当該サイトのＵＲＬ、プリフェッチの期限などが記録されている。
【００６４】
プリフェッチ・スケジューラ部１０１１は、プリフェッチ対象ページ選定部１００７からの通知に応答して、プリフェッチ対象ページ・リスト１００８を読み込み、プリフェッチするページを確率値順にプリフェッチ・スケジュール表１０１２に記録する。また、プリフェッチ対象サイト選定部１００９からの通知に応答して、プリフェッチ対象サイト・リスト１０１０を読み込み、プリフェッチするサイトを確率値順にプリフェッチ・スケジュール表１０１２に記録する。そして、プリフェッチ部１０１３に対して、プリフェッチ・スケジュール表１０１２が更新されたことを通知する。
【００６５】
図９には、プリフェッチ・スケジュール表１０１２のデータ構造を模式的に示している。同図に示す例では、プリフェッチ対象として選定されたページ並びにサイトが確率値の順でリストされ、各プリフェッチ対象ページ又はサイトについてのプリフェッチ開始時刻、プリフェッチ期限、当該ページ又はサイトのＵＲＬ、プリフェッチするデータのサイズ、プリフェッチ時に使用する帯域、確率値、プリフェッチの種別、プリフェッチの状況などが記録されている。
【００６６】
プリフェッチ部１０１３は、プリフェッチ・スケジュール表１０１２に基づいて、外部Ｗｅｂサーバからスケジュール表１０１２内のプリフェッチ対象ページを取得し、あるいはプリフェチ・スケジューラ部１０１１からの通知により、プリフェッチ・スケジュール表１０１２を整理する。
【００６７】
続いて、本実施形態に係るキャッシュ・システム１０００内の各部において実行される処理動作について説明する。
【００６８】
図１０には、リクエスト処理部１００１において実行される処理手順をフローチャートの形式で示している。
【００６９】
リクエスト処理部１００１では、ユーザからのリクエストを受信待ちしており（ステップＳ１０）、リクエストを受信すると（ステップＳ１１）、まず、アクセス・ログ１００２へリクエストを書き込む（ステップＳ１２）。
【００７０】
アクセス・ログ１００２へリクエストを書き終えたら、ログ抽出部１００３に対して、アクセス・ログ１００２を処理するように指示を発行する（ステップＳ１３）。
【００７１】
次に、ユーザからリクエストのあったＷｅｂページなどをキャッシュ・ディスク１００６にキャッシュしているかどうかをキャッシュ管理部１００４へ尋ねる（ステップＳ１４）。
【００７２】
そして、キャッシュ・ディスク１００６にキャッシュしていれば（キャッシュ・ヒット）、キャッシュ管理部１００４へ読み出しを依頼し、読み出した後（ステップＳ１５）、要求元ユーザにリクエストされたＷｅｂページなどを返す（ステップＳ１６）。
【００７３】
一方、キャッシュ・ディスク１００６にキャッシュしていなければ（キャッシュ・ミス）、リクエストされたＷｅｂページなどを外部サーバから取得し（ステップＳ１７）、キャッシュ管理部１００４に対して、取得したＷｅｂページなどをキャッシュへ保存するように指示した後（ステップＳ１８）、要求元ユーザにリクエストされたＷｅｂページなどを返す（ステップＳ１６）。
【００７４】
図１１には、ログ抽出部１００３において実行される処理手順をフローチャートの形式で示している。
【００７５】
ログ抽出部１００３では、リクエスト処理部１００１からのアクセス・ログ処理要求を待っており（ステップＳ２０）、アクセス・ログ処理要求が到来すると（ステップＳ２１）、まず、アクセス・ログ１００２から最新のユーザ・リクエストを読み込む（ステップＳ２２）、
【００７６】
次いで、読み込んだユーザ・リクエストから観測値を抽出する（ステップＳ２３）。観測値としては、例えば図５に示すようなアクセス・ログの場合には、アクセスの日付と、時間、クライアントＩＰアドレス、ＵＲＬ、文書タイプを抽出する。
【００７７】
ログ抽出部１００３は、抽出した情報を、まずプリフェッチ対象ページ選定部１００７へ送り、プリフェッチすべきページの選定作業を行なうように指示する（ステップＳ２４）。
【００７８】
次いで、抽出した情報のうち、ＵＲＬに着目し、前回のＵＲＬとサイトが変改しているかどうかを判別する（ステップＳ２５）。前回のＵＲＬとサイトが異なっている場合には、抽出した情報をプリフェッチ対象サイト選定部１０１０へ送り、選定作業を行なうように指示する（ステップＳ２６）、
【００７９】
例えば、同じユーザから前回リクエストされたＵＲＬが“ｈｔｔｐ：／／ｗｗｗ．ａａａ．ｃｏ．ｊｐ／ｂｂｂ．ｈｔｍ”で、今回リクエストされたＵＲＬが“ｈｔｔｐ：／／ｗｗｗ．ｂｂｂ．ｎｅ．ｊｐ／ｉｎｄｅｘ．ｈｔｍ”であった場合に、ログ抽出部１００３は、サイト“ｗｗｗ．ａａａ．ｃｏ．ｊｐ”からサイト“ｗｗｗ．ｂｂｂ．ｎｅ．ｊｐ”にアクセスが変更されたことを捕捉して、サイト“ｗｗｗ．ｂｂｂ．ｎｅ．ｊｐ”の次にアクセスされる可能性のあるサイトを選定するために、プリフェッチ対象サイト選定部１００９へ抽出した情報を送り、プリフェッチすべきサイトの選定作業を指示する。
【００８０】
図１２には、キャッシュ管理部１００４において実行される処理手順をフローチャートの形式で示している。
【００８１】
キャッシュ管理部１００４では、リクエスト処理部１００１やプリフェッチ部１０１３からのコマンドを受信待ちしている（ステップＳ３０）。そして、キャッシュ・ディスク１００６内にリクエストされたＵＲＬに該当したファイルの有無を尋ねられたとき（ステップＳ３１）、図６に示したようなキャッシュ管理テーブル１００５を照会して、該当するファイルがキャッシュ・ディスク１００６上に存在するかどうかを確認する（ステップＳ３２）。
【００８２】
キャッシュ管理テーブル１００５に、リクエストされたＵＲＬに該当したファイルがキャッシュ・ディスク１００６上に存在する場合には、当該ＵＲＬに対応したファイル有りのメッセージを返す（ステップＳ３３）、また、リクエストされたＵＲＬに該当したファイルがキャッシュ・ディスク１００６上に存在しない場合には、当該ＵＲＬに対応したファイル無しのメッセージを返す（ステップＳ３４）。
【００８３】
また、コマンドが読み出し要求だった場合には（ステップＳ３５）、図６に示したようなキャッシュ管理テーブル１００５を照会して、リクエストされたＵＲＬに対応したファイルがキャッシュ・ディスク１００６上に存在するかどうかを確認する（ステップＳ３６）。
【００８４】
当該ＵＲＬに対応したファイルがキャッシュ・ディスク１００６上に存在する場合には、図６に示したようなキャッシュ管理テーブル１００５の最終アクセス日付と時刻を現在の日付と時刻に更新し（ステップＳ３７）、該当ＵＲＬに対応したファイルを返す（ステップＳ３８）。また、当該ＵＲＬに対応したファイルがキャッシュ・ディスク１００６上に存在しない場合には、該当ＵＲＬに対応したファイル無しのメッセージを返す（ステップＳ３４）。
【００８５】
また、コマンドが書き込み要求だった場合には（ステップＳ３９）、まず、図６に示したようなキャッシュ管理テーブル１００５の現在容量に要求があった該当ＵＲＬのファイル・サイズを足したものが、同テーブル１００５で規定されている割り当て容量を超えていないかどうかを確認する（ステップＳ４０）。
【００８６】
そして、割り当て容量を超えていない場合には、キャッシュ領域に該当ＵＲＬに対応したファイルを書き込み（ステップＳ４２）、キャッシュ管理テーブル１００５を更新する（ステップＳ４３）。
【００８７】
一方、現在容量に要求があった該当ＵＲＬのファイル・サイズを足したものが割り当て領域を超える場合は、書き込まれる該当ＵＲＬに対応したファイルの容量分だけ、アクセス日付と時刻から最も古いものからファイルを消去してキャッシュ領域を確保してから（ステップＳ４１）、キャッシュ領域に該当ＵＲＬに対応したファイルを書き込み（ステップＳ４２）、キャッシュ管理テーブル１００５を更新する（ステップＳ４３）。
【００８８】
図１３には、プリフェッチ対象ページ選定部１００７において実行される処理手順をフローチャートの形式で示している。
【００８９】
プリフェッチ対象ページ選定部１００７では、コマンドの受信を待っており（ステップＳ５０）、ログ抽出部１００３から観測値を受け取り、プリフェッチ対象となる選定処理を指示されると（ステップＳ５１）、図１４や図１５に示すようなベイジアン・ネットワーク・モデルへ観測値を設定する（ステップＳ５２）。
【００９０】
ベイジアン・ネットワーク・モデルについての一般的な説明は、例えば本村陽一著の論文「不確実性モデリングのための情報表現：ベイジアンネット」（ＢＮ２００１  ベイジアンネットチュートリアル講演論文集、ｐｐ．５−１３（２００１）、人工知能学会  人工知能基礎論研究会）を参照されたい。
【００９１】
観測値の設定処理が終わると、次いで、条件付確率の学習を行なう（ステッＳ５３）。ここで、条件付確率の学習には、観測値の設定処理で、記録された観測回数を用いて、ＥＭアルゴリズムで条件付確率の学習を行なう。なお、ＥＭアルゴリズムについては、例えば渡辺美智子、山口和範編著「ＥＭアルゴリズムと不完全データの諸問題」（多賀出版）を参照されたい。
【００９２】
条件付確率の学習に続いて、事後確率の計算を行なう（ステップＳ５４）。ここで、事後確率の計算には、観測値の設定処理で、計算しないように立てたフラグが立っていないノードに対して行なう。なお、事後確率の計算については、例えば本村陽一著の論文「不確実性モデリングのための情報表現：ベイジアンネット」（ＢＮ２００１  ベイジアンネットチュートリアル講演論文集、ｐｐ．５−１３（２００１）、人工知能学会  人工知能基礎論研究会）を参照されたい。
【００９３】
事後確率の計算が終わると、次いで、図１４に示した“次のＵＲＬノード”４００２や図１５に示した  “次のＵＲＬノード”４００２から、各ＵＲＬの確率値を取得し、確率値の高いもの順に並べる（後述）。この中で、ある閾値を越える確率を持つものをプリフェッチ対象ページとしてプリフェッチ対象ページ・リストにＵＲＬと確率値を一旦記録する。ここで言うある閾値とは、例えば、平均値（“次のＵＲＬノード”内の全ＵＲＬ分の１）や、平均値（“次のＵＲＬノード”内の全ＵＲＬ分の１）のα倍などを用いる。
【００９４】
次に、一旦作成したプリフェッチ対象ページ・リスト中の各ＵＲＬ毎に、プリフェッチ期限（秒）を“アクセス間隔（秒）ノード”から求める。求め方は、プリフェッチ対象ページ・リスト中の各ＵＲＬ毎に、仮に観測されたものとして、“次のＵＲＬノード”へ仮の観測値を設定して（仮の観測値に該当するものを１、それ以外を０）、“アクセス間隔（秒）ノード”の事後確率を計算する、この計算された事後確率のうち、確率値の最大となっているものを求める。
【００９５】
プリフェッチ対象ページ・リスト中の各ＵＲＬ毎にプリフェッチ期限（秒）を求めたら、プリフェッチ対象ページ・リスト内にプリフェチ期限（秒）を記録して、プリフェッチ対象ページ・リストを完成させる（ステップＳ５５）。
【００９６】
プリフェチ対象ページ・リストを作成したら、プリフェッチ・スケジューラ部１０１１へリストが作成されたことを通知する（ステップＳ５６）。
【００９７】
ここで、図１４並びに図１５に示した例を参照しながら、ベイジアン・ネットワーク・モデル、並びにこれを用いたユーザ嗜好型のプリフェッチ・アルゴリズムについて、以下に説明する。
【００９８】
図１４と図１５はともに、ユーザの嗜好性が、ユーザが時系列にアクセスしたＵＲＬ（以後、「アクセス系列」という）間の関連性に現れることを利用したベイジアン・ネットワーク・モデルである。アクセス系列としては、前回アクセスしたものと今回アクセスしたものの２つを利用している。例えば、あるユーザが毎回スポーツに関するサイトＡにアクセスした後、サイトＡ内のジャンルＢのページにアクセスするなどの傾向を確率的に計測したりすることができる。
【００９９】
また、図１４に示したベイジアン・ネットワーク・モデルと図１５に示したベイジアン・ネットワーク・モデルの相違は、季節や時間によるユーザの嗜好性を、リクエスト内容の季節的、時間的な変化を加味して、プリフェッチ対象のページの選定処理を行なうかどうかという点である。例えば、あるユーザが、夏にはスポーツ新聞のサイトＡで高校野球に関するページを見る傾向があるが、それ以外の季節ではサッカーに関するページを見る傾向があるなどを確率的に測ることができる。そこで、ユーザ・アクセスの指向性に季節や時間の変化が現れるような場合には、図１５を用いる。
【０１００】
プリフェッチ対象ページ選定部１００７では、ユーザがリクエストしてきたＵＲＬの観測値を図１４又は図１５に示すベイジアン・ネットワーク・モデルに代入し、条件付確率の学習演算を行なって条件付確率の値を算出し、モデル中の個々のノードにおける事後確率を求め、最終的に、ユーザがリクエストしてきたＵＲＬの次にアクセスするＵＲＬを図１４又は図１５に示したモデル中の“次のＵＲＬ”ノード４００２の確率値を参考に取得する。
【０１０１】
ここで、ノード間の条件付の依存関係を向きの付いたリンクによって、Ｘｉ→Ｘｊと表し、Ｘｉを親ノード、Ｘｊを子ノードと呼ぶ。また、図１４や図１５では、図中のノード間の矢印が親子関係を表している。子ノードＸｊに関する条件付確率Ｐは、ある子ノードに対する全親ノード集合をπ（Ｘｊ）＝｛Ｘ１，・・・，Ｘｉ｝とすると、以下の式で定義される。
【０１０２】
【数１】
2004280405.tif 000003
【０１０３】
各ノードに複数の状態変数があると、この条件付確率は、条件付確率表で表され、例えば図１４中の“次のＵＲＬ”ノード４００２における条件付確率表は、図１６に示すようになる。
【０１０４】
ここで言う学習とは、条件付確率の値を、Ｘｉ→Ｘｊとなる観測値が得られた観測回数から求める作業のことを意味する。観測回数は、各ノードにおいて、Ｘｉ→Ｘｊとなる観測回数を条件付観測回数表で保存しておく。例えば、図１４中の“次のＵＲＬ”ノード４００２では、条件付観測回数表は図１７に示すようになる。学習は観測値が得られる度に行なわれるので、条件付確率の値も観測値が得られる度に計算されて逐次変化する。
【０１０５】
事後確率とは、観測された変数の確定値（ｅｖｉｄｅｎｃｅ：ｅ）から知りたい確率変数の取り得る具現値の確率である。事後確率を計算するノードから先の親ノードに与えられるｅｖｉｄｅｎｃｅをｅ＋、計算するノードから先の子ノードに与えられるｅｖｉｄｅｎｃｅをｅ−とすると、ベイズの定理より、ノードＸｊの確率は、例えば下式によって求まる。
【０１０６】
【数２】
2004280405.tif 000004
【０１０７】
なお、ベイジアン・ネットワーク・モデルそのものについての一般的な説明、モデルの表現方法、数学的な演算方法などは、例えば、本村陽一著の論文「不確実性モデリングのための情報表現：ベイジアンネット」（ＢＮ２００１  ベイジアンネットチュートリアル講演論文集、ｐｐ．５−１３（２００１）、人工知能学会  人工知能基礎論研究会）を参照されたい。
【０１０８】
続いて、ベイジアン・ネットワーク・モデルを用いてユーザの嗜好性を反映したプリフェッチ対象ページを選定する動作について説明する。まず、観測値の設定に関して、図１４を例にとって以下に説明する。
【０１０９】
“クライアントＩＰアドレスノード”４０００へ観測値を設定する場合は、“クライアントＩＰアドレスノード”４０００で、観測値のクライアントＩＰアドレスの確率値を１に、それ以外を０にして、後の事後確率の計算で“クライアントＩＰアドレスノード”４０００の事後確率を計算しないように、フラグを立てておく。なお、“クライアントＩＰアドレスノード”４０００に該当するものがなければ、新規に観測されたクライアントＩＰアドレスを“クライアントＩＰアドレスノード”４０００へ追加する。追加する際の確率値は、追加したものを１とし、それ以外は０とし、後の事後確率の計算を行なわないように、フラグを立てておく。
【０１１０】
“次のＵＲＬノード”４００２へ観測値を設定する場合は、“次のＵＲＬノード”４００２で、後の条件付確率の計算（ＥＭアルゴリズム）で使えるように、“次のＵＲＬノード”４００２の観測されたＵＲＬの観測回数を記録しておく。なお、“次のＵＲＬノード”４００２に該当するＵＲＬがなければ、新規に観測されたＵＲＬを“次のＵＲＬノード”４００２に追加する。追加する際の観測回数は１回としておく。
【０１１１】
“今のＵＲＬノード”４００１へ観測値を設定する場合は、“今のＵＲＬノード”４００１で、観測値のＵＲＬの確率値を１に、それ以外を０にして、後の事後確率の計算で、  “今のＵＲＬノード”４００１の事後確率の計算をしないようにフラグを立てておく。なお、“今のＵＲＬノード”４００１に該当するものがなければ、新規に観測されたＵＲＬを、“今のＵＲＬノード”４００１へ追加する。追加する際の確率値は、追加したものを１とし、それ以外は０とし、後の事後確率の計算を行なわないようにフラグを立てておく。
【０１１２】
“アクセス間隔（秒）ノード”４００３へ観測値を設定する場合は、“アクセス間隔（秒）ノード”４００３で、後の条件付確率の計算（ＥＭアルゴリズム）で使えるように、“アクセス間隔（秒）ノード”４００３の観測されたアクセス間隔（秒）の観測回数を記録しておく。なお、アクセス間隔（秒）は、前回の観測値で得られた日付、時間と今回の観測値で得られた日付、時間の差分から、“アクセス間隔（秒）ノード”４００３の該当箇所に収まるようにして計算する。例えば、差分が３８秒ならば３０秒とする。
【０１１３】
また、図１５に示すベイジアン・ネットワーク・モデルの場合、“季節ノード”４１０１に関して、観測値の日付から、例えば、３月〜５月を春、６月〜８月を夏、９月〜１１月を秋、１２月〜２月を冬として、該当箇所を１に、それ以外を０にして観測値を設定し、“季節ノード”４１０１の事後確率の計算を行なわないようにフラグを立てる。また、“時間ノード”４１０２に関して、観測値の時間から、例えば、６時〜９時を朝、９時〜１２時を午前、１２時〜１３時を真昼、１３時〜１６時を午後、１６時〜１８時を夕方、１８時〜２４時を夜、２４時〜６時を夜中として、該当箇所を１に、それ以外を０にして観測値を設定し、“時間ノード”４１０２の事後確率の計算を行なわないようにフラグを立てる。
【０１１４】
観測値の設定処理が終わると、次いで、条件付確率の学習を行なう（前述）。ここで、条件付確率の学習には、観測値の設定処理で、記録された観測回数を用いて、ＥＭアルゴリズムで条件付確率の学習を行なう。
【０１１５】
条件付確率の学習の次に、事後確率の計算を行なう（前述）。ここで、事後確率の計算には、観測値の設定処理で、計算しないように立てたフラグが立っていないノードに対して行なう。
【０１１６】
事後確率の計算が終わると、次に、図１４中の“次のＵＲＬノード”４００２や図１５中の“次のＵＲＬノード”４００２から各ＵＲＬの確率値を取得し、確率値の高いもの順に並べる。この中で、ある閾値を越える確率を持つものをプリフェッチ対象ページとしてプリフェッチ対象ページ・リスト１００８にそのＵＲＬと確率値を一旦記録する。ここで言うある閾値とは、例えば、平均値（“次のＵＲＬノード”内の全ＵＲＬ分の１）、平均値（“次のＵＲＬノード”内の全ＵＲＬ分の１）のα倍などを用いる。
【０１１７】
次いで、一旦作成したプリフェッチ対象ページ・リスト１００８内の各ＵＲＬ毎に、プリフェッチ期限（秒）を“アクセス間隔（秒）ノード”から求める。求め方は、プリフェッチ対象ページ・リスト１００８内の各ＵＲＬ毎に、仮に観測されたものとして、“次のＵＲＬノード”へ仮の観測値を設定して（仮の観測値に該当するものを１、それ以外を０）、“アクセス間隔（秒）ノード”の事後確率を計算する、この計算された事後確率のうち、確率値の最大となっているものを求める。プリフェッチ対象ページ・リスト１００８内の各ＵＲＬ毎にプリフェッチ期限（秒）を求めたら、プリフェッチ対象ページ・リスト１００８内にプリフェチ期限（秒）を記録して、プリフェッチ対象ページ・リスト１００８を完成させる（前述）。
【０１１８】
図１８には、プリフェッチ対象サイト選定部１００９において実行される処理手順をフローチャートの形式で示している。なお、プリフェッチ対象サイト選定部１００９の動作自体は、プリフェッチ対象ページ選定部１００７と同じで、与えられる観測値が異なっている。
【０１１９】
プリフェッチ対象サイト選定部１００９では、コマンドの受信を待ち（ステップＳ６０）、ログ抽出部１００３から観測値を受け取り、選定処理を指示される（ステップＳ６１）と、図１４や図１５に示すようなベイジアン・ネットワーク・モデルへ観測値を設定する（ステップＳ６２）。観測値の設定の仕方は、プリフェッチ対象ページ選定部と同様である。
【０１２０】
観測値の設定が終わると、条件付確率の学習（ステップＳ６３）を行なった後、事後確率の計算を行ない（ステップＳ６４）、プリフェッチ対象サイト・リスト１０１０を作成する（ステップＳ６５）。なお、条件付確率の計算、事後確率の計算、プリフェッチ対象サイト・リスト１０１０の作成方法は、プリフェッチ対象ページ選定部１００７と同様である。
【０１２１】
プリフェッチ対象サイト・リスト１０１０を作成したら、プリフェッチ・スケジューラ部１０１１へリストが作成されたことを通知する（ステップＳ６６）。
【０１２２】
以上に述べたプリフェッチ対象ページ・リスト１００８では、ユーザが時系列にアクセスしたページ間に相関関係があり、相関関係の度合い（確率値）が、ページ間のユーザの嗜好性を反映しているため、相関関係の度合い（確率値）の高いものほど、ユーザの嗜好性が強いことになるから、同リスト１００８上には嗜好性が強いと推定されるものが書き込まれる。
【０１２３】
同様に、プリフェッチ対象サイト・リスト１０１０では、ユーザが時系列にアクセスしたサイト間に相関関係があり、相関関係の度合い（確率値）が、サイト間のユーザの嗜好性を反映しているため、相関関係の度合い（確率値）の高いものほど、ユーザの嗜好性が強いことになるから、同リスト１０１０上には嗜好性が強いと推定されるものが書き込まれる。
【０１２４】
また、条件付観測回数表は、ユーザからのリクエスト要求（観測値）が得られる度に更新されていくので、条件付確率表も更新される。ユーザの嗜好性の変化に伴い、ユーザからのリクエスト要求が変化すると、それに合わせて条件付観測回数表や条件付確率表が変化するので、事後確率も同様に変化する。したがって、プリフェッチ対象ページ・リスト１００８又はプリフェッチ対照サイト・リスト１０１０内に書き込まれたページやサイトが、ユーザの嗜好性に合わせて変化する。この相関関係の度合い（確率値）を基に、ユーザからのリクエストから次にアクセスされることが予想されるページやサイトを順次先読みしてキャッシュ・ディスク１００６上に保存しておくことで、ユーザの変遷する嗜好性に応じたキャッシュが可能となる。
【０１２５】
このようなキャッシュ動作を行なう場合、キャッシュ管理テーブル１００５がユーザを区別せずにキャッシュ領域を管理し、あるユーザがアクセスするファイルがキャッシュ・ディスク１００６上から消えていたとしても、プリフェッチ対象ページ選定部１００７やプリフェッチ対象サイト選定部１００９からのユーザ毎に推定された要求に基づいて、次にアクセスされる可能性のある嗜好性の強いページ又はサイトがＷｅｂサーバから取得され、常にキャッシュ・ディスク１００６上に保存されていくことになる。したがって、ユーザ毎にアクセスされる可能性のある嗜好性の強い（確率値の高い）ファイルが常にキャッシュ・ディスク１００６上に存在することになる。
【０１２６】
図１９には、プリフェッチ・スケジューラ部１０１１において実行される処理手順をフローチャートの形式で示している。
【０１２７】
プリフェッチ・スケジューラ１０１１部では、プリフェッチ対象ページ選定部１００７やプリフェッチ対象サイト選定部１００９から、リスト作成の通知を待っており（ステップＳ７０）、リスト作成完了通知が到来すると（ステップＳ７１）、リスト内のＵＲＬ、プリフェッチ期限（秒）、確率値と現在時刻をプリフェッチ開始時刻として、現在存在するプリフェッチ・スケジュール表１０１２へ追加登録する（ステップＳ７２）。プリフェッチ・スケジュール表１０１２へ登録したら、プリフェッチ部１０１３へ通知する（ステップＳ７３）。
【０１２８】
図２０には、プリフェッチ部１０１３において実行される処理手順をフローチャートの形式で示している。
【０１２９】
プリフェッチ部１０１３では、プリフェッチ・スケジューラ部１０１１からの通知を待っており（ステップＳ８０）、通知が到来したら（ステップＳ８１）、プリフェッチ・スケジュール表１０１２の中から、プリフェッチ開始時刻が現在時刻よりも古いもののうちプリフェッチが未だに完了していないエントリを探して、該当するものは、プリフェッチを中止する（ステップＳ８２）。次に、プリフェッチ・スケジュール表１０１２から、プリフェッチ開始時刻が現在時刻よりも古いエントリを削除（ステップＳ８３）する。
【０１３０】
プリフェッチ・スケジューラ部１０１１から通知が来ない場合には、スケジュール表の該当ＵＲＬでプリフェッチが行なわれていないものについて、キャッシュ管理部１００４に対して、キャッシュ・ディスク１００６上に該当ＵＲＬがあるかどうかを問い合わせる（ステップＳ８４）。
【０１３１】
該当するＵＲＬがキャッシュ・ディスク１００６上に存在する場合には（ステップＳ８５）、該当ＵＲＬが更新されているかどうかを該当ＵＲＬがあるＷｅｂサーバへ問い合わせる（ステップＳ８６）。そして、該当ＵＲＬが更新されていなかった場合には（ステップＳ８７）、登録通知待ち（ステップＳ８０）へ戻る。
【０１３２】
また、キャッシュ上に該当ＵＲＬがなかった場合と（ステップＳ８５）と、該当ＵＲＬが更新されていた場合には（ステップＳ８７）、まず、リスト内の対象ＵＲＬのサイズを、対象ＵＲＬのあるＷｅｂサーバからＨＴＴＰプロトコルを用いて調べる。
【０１３３】
このサイズを調べる際に、対象ＵＲＬのあるＷｅｂサーバのレスポンスからおおよその帯域を得て、プリフェッチ・スケジュール表１０１２へ、サイズと帯域を記録する（ステップＳ８８）。サイズと帯域からプリフェッチにかかる時間が求まるので、プリフェッチ期限と比べる。
【０１３４】
プリフェッチ期限を越えていた場合は、現在プリフェッチが行なわれている確率値の低いものから順に、プリフェッチを一旦中止し、再度レスポンスを計測して、プリフェッチ期限内に収まるかを試行する。そして、どうしてもプリフェッチ期限内に収まらない場合には、プリフェッチを行なわないように設定する。
【０１３５】
次に、プリフェッチを一旦中止していた確率値の低いものについて、再度、プリフェッチを続けるようにする（ステップＳ８９）。
【０１３６】
次に、スケジュール表の該当ＵＲＬでプリフェッチが行なわれていないものについて、スケジュール表の確率値順に該当ＵＲＬに対応するページ、ページ内の画像等のファイル一式を取得する（ステップＳ９０）。ファイル取得していく過程で、取得順に、キャッシュ管理部１００４へ、取得したファイルを書き込むように依頼する（ステップＳ９１）。
【０１３７】
図２１及び図２２には、本実施形態に係るキャッシュ・システム１０００の介在によりユーザの端末からＷｅｂサーバ上のページを取得するための動作シーケンスを示している。
【０１３８】
図２１には、キャッシュ・システム１０００上にリクエストされたページが存在する場合の動作シーケンスが描かれている。
【０１３９】
この場合、まず、端末からのページ取得リクエストをＷＷＷキャッシュ・システムが受け取る。
【０１４０】
次に、ＷＷＷキャッシュ・システム内のキャッシュ上に、端末からリクエストされたページが存在しているかどうか検索する。そして、キャッシュ上に存在していれば、端末からリクエストされたページを端末に返す。
【０１４１】
次に、ＷＷＷキャッシュ・サーバは、端末からリクエストされたページの次にアクセスされる可能性のあるページを上述した手順に従って予測し、これをＷＷＷサーバにリクエストする。ＷＷＷサーバは、ＷＷＷキャッシュ・システムからリクエストされたページを、ＷＷＷキャッシュ・システムへ返す。
【０１４２】
ＷＷＷキャッシュ・システムは、リクエストしたページをＷＷＷサーバから受け取ると、ＷＷＷキャッシュ・システム内のキャッシュ上に、リクエストしたページを書き込む。
【０１４３】
また、図２２には、キャッシュ・システム１０００上にリクエストされたページが存在しない場合の動作シーケンスが描かれている。
【０１４４】
この場合、まず、端末からのページ取得リクエストをＷＷＷキャッシュ・システムが受け取る。次に、ＷＷＷキャッシュ・システム内のキャッシュ上に、端末からリクエストされたページが存在しているかどうかを検索する。
【０１４５】
そして、キャッシュ上に存在していなければ、端末からリクエストされたページをＷＷＷサーバへリクエストする。ＷＷＷサーバは、ＷＷＷキャッシュ・システムからリクエストされたページを、ＷＷＷキャッシュ・システムへ返す。
【０１４６】
ＷＷＷキャッシュ・システムは、リクエストしたページをＷＷＷサーバから受け取ると、端末にＷＷＷサーバから受け取ったページを送信するとともに、ＷＷＷキャッシュ・システム内のキャッシュ領域上に、リクエストしたページを書き込む。
【０１４７】
次に、ＷＷＷキャッシュ・システムは、端末からリクエストされたページの次にアクセスされる可能性のあるページを上述した手順に従って予測し、これをＷＷＷサーバにリクエストする。
【０１４８】
ＷＷＷサーバは、ＷＷＷキャッシュ・システムからリクエストされたページを、ＷＷＷキャッシュ・システムへ返す。ＷＷＷキャッシュ・システムは、リクエストしたページをＷＷＷサーバから受け取ると、ＷＷＷキャッシュ・システム内のキャッシュ上に、リクエストしたページを書き込む。
【０１４９】
最後に、本実施形態に係るキャッシュ・システムを動作させるハードウェア環境について、図２３を参照しながら説明する。
【０１５０】
ＣＰＵ５０００は、例えば米インテル社のプロセッサ・チップ“Ｐｅｎｔｉｕｍ（登録商標）”などを用いて構成され、本キャッシュ・サーバ装置の全体の動作を統括的に制御するとともにさまざまな演算処理を行なう機能を備えている。ＣＰＵ５０００上では、オペレーティング・システム（ＯＳ）が提供する実行環境下で、本実施形態に係るキャッシュ・サーバ・アプリケーションを始めとしてさまざまなアプリケーションプログラムが動作する。
【０１５１】
キャッシュ・メモリ５００１は、例えばＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）などで構成される小容量の高速メモリであり、ＣＰＵ５０００が頻繁にアクセスするコマンドやデータなどの情報を一時記憶し、ＣＰＵ５０００と直接的な情報授受を行なうことにより、システムの高速化を図っている。
【０１５２】
システム・コントローラ５００２は、ＣＰＵ５０００のローカル・ピンに直結するホストバス５００８と、周辺バスとしてのＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス５００９とのインターフェース・プロトコルを実現し、ＣＰＵ５０００と、主メモリ５００３、キャッシュ・メモリ５００１、その他の各種資源（ハードディスク・フレキシブル・ディスクなど）のシステム全体のタイミング調整などを行なう。システム・コントローラ５００２は、例えば、米インテル社のＴＲＩＴＯＮ（４３０ＦＸ）などを用いて構成される。
【０１５３】
主メモリ５００３は、例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）などを用いて構成される半導体メモリ装置であり、ＣＰＵ５０００において実行されるプログラム・コードをロードしたり、実行プログラムの作業データの保存領域として用いられたりする。例えば、本発明に係るキャッシュ・サーバ・アプリケーションが主メモリ５００３にロードされ、ＣＰＵ５０００によって実行される。また、アクセス・ログ１００２や、キャッシュ管理テーブル１００５、プリフェッチ対象ページ・リスト１００８、プリフェッチ対象サイト・リスト１０１０、プリフェッチ・スケジュール表１０１２などが、主メモリ５００３に一時的に保管される。
【０１５４】
ＣＰＵ５０００やシステム・コントローラ５００２の指示により、主メモリ５００３への情報の書き込み・読み出し動作が行なわれる。また、主メモリ５００３は、システム・コントローラ５００２を通じてＣＰＵや各種資源に接続され、これらの要求に従って情報の記憶が行なわれる。
【０１５５】
ホストバス５００８は、ＣＰＵ５０００に直接接続された情報の伝達手段であり、キャッシュ・メモリ５００１やシステム・コントローラ５００２などと情報授受ができるようになっている。
【０１５６】
ＰＣＩバス５００９は、ホストバス５００８と分離された情報の伝達手段であって、システム・コントローラ５００２によって相互接続されている。そして、システム・コントローラ５００２を介してＣＰＵ５０００はＰＣＩバス５００９上に接続された各種のハードウェア資源にアクセスすることができる。
【０１５７】
ＨＤコントローラ５００４は、ハード・ディスク・ドライブ（ＨＤＤ）５００５とＰＣＩバス５００９に接続され、ＰＣＩバス５００９を介したディスク・アクセス要求に応答して、ディスク５００５内の特定の領域への情報の書き込み・読み出し動作を制御するようになっている。ハード・ディスク上には、ＣＰＵ５０００において実行されるプログラムをインストールしたり、プログラムやデータなどのコンピュータ・ファイルが蓄積したりする。例えば、本発明に係るキャッシュ・サーバ・アプリケーションがハード・ディスク上にインストールされ、あるいは、アクセス・ログ１００２や、キャッシュ管理テーブル１００５、プリフェッチ対象ページ・リスト１００８、プリフェッチ対象サイト・リスト１０１０、プリフェッチ・スケジュール表１０１２などがハード・ディスク上に蓄積される。
【０１５８】
ＦＤコントローラ５００６は、フレキシブル・ディスクを取り出し可能に装填するフレキシブル・ディスク・ドライブ５００７とＰＣＩバス５００９に接続され、ＰＣＩバス５００９を介したディスク・アクセス要求に応答して、フレキシブル・ディスク内の特定の領域に情報の書き込み・読み出し動作を制御するようになっている。
【０１５９】
あるいは、システム内には、フレキシブル・ディスク以外の可搬型メディアを装填してアクセス動作を行なうメディア・ドライブがＰＣＩバス５００９に接続されていてもよい。この種の可搬型メディアは、システム間でのプログラムやデータの移動に利用される。例えば、本発明に係るキャッシュ・サーバ・アプリケーションや、キャッシュ・サーバ動作において利用されるアクセス・ログ１００２や、キャッシュ管理テーブル１００５、プリフェッチ対象ページ・リスト１００８、プリフェッチ対象サイト・リスト１０１０、プリフェッチ・スケジュール表１０１２などを、可搬型メディアを介して複数のシステム間で移動することができる。
【０１６０】
マウス・コントローラ５０１０は、ユーザ入力装置としてのマウス５０１１（並びにキーボード（図示しない））とＰＣＩバス５００９を接続し、操作者が強制したマウスの動きやその他のユーザ入力操作を所定のシーケンスに従ってＣＰＵ５０００に伝達するようになっている。ＣＰＵ５０００側では、例えばＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）環境を提供し、ＣＲＴディスプレイ５０１３上に表示された映像に対して併せて表示されたマウス・ポインタ（矢印絵文字）を相対的に移動させる情報作成の基礎情報を生成することができる。ＣＲＴディスプレイ５０１３は、ＣＲＴＣ（５０１２）に接続され、ＣＰＵの作成した状態その他の情報を、映像として表示するようになっている。
【０１６１】
ＣＲＴＣ（ＣＲＴコントローラ）５０１２は、ＰＣＩバス５００９に接続され、ＣＰＵ５０００などの指示に基づいて、図形などの描画情報をＣＲＴディスプレイ５０１３上に描画する。
【０１６２】
ネットワーク・インターフェース５０１４は、当該システムを、ＬＡＮやインターネットなどの外部ネットワークに接続する。システムは、ネットワーク上では、上述したキャッシュ・サーバとして動作し、端末からのリクエストをネットワーク・インターフェース５０１４を介して受け取り、ファイルの配信やＷＷＷサーバからのファイル取得、各ユーザ毎のアクセス系列の解析、ファイルの先読みなどの動作を実行する。
【０１６３】
また、ネットワーク上では、システム間でのプログラムやデータの移動（ダウンロード）が行なわれる。例えば、本発明に係るキャッシュ・サーバ・アプリケーションや、キャッシュ・サーバ動作において利用されるアクセス・ログ１００２や、キャッシュ管理テーブル１００５、プリフェッチ対象ページ・リスト１００８、プリフェッチ対象サイト・リスト１０１０、プリフェッチ・スケジュール表１０１２などを、ネットワークを介してシステム間で転送することができる。
【０１６４】
［追補］
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１６５】
【発明の効果】
以上詳記したように、本発明によれば、ＷＷＷ情報空間で不特定多数のユーザに提供される情報の中から、特定のユーザの要求に応じて効率的に情報を提供することができる、優れた情報提供システム及び情報提供方法、並びにコンピュータ・プログラムを提供することができる。
【０１６６】
また、本発明によれば、ＷＷＷ情報をキャッシュしておくことにより特定のユーザの要求から比較的短い応答時間で情報を提供することができる、優れた情報提供システム及び情報提供方法、並びにコンピュータ・プログラムを提供することができる。
【０１６７】
また、本発明によれば、ユーザが要求する情報を先読みすることにより、ユーザの要求から比較的短い応答時間で情報を提供することができる、優れた情報提供システム及び情報提供方法、並びにコンピュータ・プログラムを提供することができる。
【０１６８】
また、本発明によれば、時々刻々と変わるユーザの嗜好性の変化に対応してユーザが要求する情報を先読みしておくことにより、ユーザの要求から比較的短い応答時間で情報を提供することができる、優れた情報提供システム及び情報提供方法、並びにコンピュータ・プログラムを提供することができる。
【０１６９】
本発明によれば、ユーザのリクエスト・ログを用いてユーザ毎にプリフェッチを行なうことで、不特定多数ではなく、特定のユーザのリクエストしたＷＷＷ情報を効率的にキャッシュすることができる。また、先読みする機構に、確率ネットワーク・モデルの１つであるベイジアン・ネットワーク・モデルを用いることで、刻一刻と変わるユーザの嗜好性の変化に応じてアクセス・パターンが変化したとしても、これに対応して先読み対象を確率的に求め、先読み対象を限定し、ユーザの変化に動的に対応することができる。
【図面の簡単な説明】
【図１】本発明を適用したＷＷＷ情報提供システムの構成例を模式的に示した図である。
【図２】本発明を適用したＷＷＷ情報提供システムについての他の構成例を模式的に示した図である。
【図３】本発明を適用したＷＷＷ情報提供システムについてのさらに他の構成例を模式的に示した図である。
【図４】本発明の一実施形態に係るキャッシュ・システム１０００の機能構成を模式的に示した図である。
【図５】アクセス・ログ１００２において記録されているログのデータ構造の一例を示した図である。
【図６】キャッシュ管理テーブル１００５のデータ構造の一例を示した図である。
【図７】プリフェッチ対象ページ・リスト１００８のデータ構造の一例を示した図である。
【図８】プリフェッチ対象サイト・リスト１０１０のデータ構造の一例を示した図である。
【図９】プリフェッチ・スケジュール表１０１２のデータ構造を模式的に示した図である。
【図１０】リクエスト処理部１００１において実行される処理手順を示したフローチャートである。
【図１１】ログ抽出部１００３において実行される処理手順を示したフローチャートである。
【図１２】キャッシュ管理部１００４において実行される処理手順を示したフローチャートである。
【図１３】プリフェッチ対象ページ選定部１００７において実行される処理手順を示したフローチャートである。
【図１４】ベイジアン・ネットワーク・モデルの構成例を示した図である。
【図１５】ベイジアン・ネットワーク・モデルの構成例を示した図である。
【図１６】条件付確率表を示した図である。
【図１７】条件付確率観測回数表を示した図である。
【図１８】プリフェッチ対象サイト選定部１００９において実行される処理手順を示したフローチャートである。
【図１９】プリフェッチ・スケジューラ部１０１１において実行される処理手順を示したフローチャートである。
【図２０】プリフェッチ部１０１３において実行される処理手順を示したフローチャートである。
【図２１】キャッシュ・システム１０００の介在によりユーザの端末からＷｅｂサーバ上のページを取得するための動作シーケンス（但し、キャッシュ・システム１０００上にリクエストされたページが存在する場合）を示した図である。
【図２２】キャッシュ・システム１０００の介在によりユーザの端末からＷｅｂサーバ上のページを取得するための動作シーケンス（但し、キャッシュ・システム１０００上にリクエストされたページが存在しない場合）を示した図である。
【図２３】本発明に係るキャッシュ・システムを動作させるハードウェア構成の一例を示した図である。
【図２４】すべてのユーザの端末を区別しない場合におけるキャッシュ管理テーブル１００５のデータ構造の一例を示した図である。
【符号の説明】
１０００…キャッシュ・システム
１００１…リクエスト処理部
１００２…アクセス・ログ
１００３…ログ抽出部
１００４…キャッシュ管理部
１００５…キャッシュ管理テーブル
１００６…キャッシュ・ディスク
１００７…プリフェッチ対象ページ選定部
１００８…プリフェッチ対象ページ・リスト
１００９…プリフェッチ対象サイト選定部
１０１０…プリフェッチ対象サイト・リスト
１０１１…プリフェッチ・スケジューラ部
１０１２…プリフェッチ・スケジュール表
１０１３…プリフェッチ部
５０００…ＣＰＵ，５００１…キャッシュ・メモリ
５００２…システム・コントローラ，５００３…主メモリ
５００４…ＨＤコントローラ，５００５…ＨＤＤ
５００６…ＦＤコントローラ，５００７…ＦＤ
５００８…ホストバス，５００９…ＰＣＩバス
５０１０…マウス・コントローラ，５０１１…マウス
５０１２…ＣＲＴディスプレイ，５０１３…ＣＲＴコントローラ
５０１４…ネットワーク・インターフェース
【図１】
2004280405.tif 000005
【図２】
2004280405.tif 000006
【図３】
2004280405.tif 000007
【図４】
2004280405.tif 000008
【図５】
2004280405.tif 000009
【図６】
2004280405.tif 000010
【図７】
2004280405.tif 000011
【図８】
2004280405.tif 000012
【図９】
2004280405.tif 000013
【図１０】
2004280405.tif 000014
【図１１】
2004280405.tif 000015
【図１２】
2004280405.tif 000016
【図１３】
2004280405.tif 000017
【図１４】
2004280405.tif 000018
【図１５】
2004280405.tif 000019
【図１６】
2004280405.tif 000020
【図１７】
2004280405.tif 000021
【図１８】
2004280405.tif 000022
【図１９】
2004280405.tif 000023
【図２０】
2004280405.tif 000024
【図２１】
2004280405.tif 000025
【図２２】
2004280405.tif 000026
【図２３】
2004280405.tif 000027
【図２４】
2004280405.tif 000028