(57)【特許請求の範囲】
【請求項１】
分散型ネットワーク上でデータ項目をキャッシングするためのシステムであって、
前記ネットワークからデータ項目を記憶するとともに前記ネットワークからデータ項目を検索するためのコンピュータを備え、前記コンピュータは、プロセッサ、及び前記ネットワークから検索されたデータ項目を記憶するためのキャッシュを有し、前記プロセッサは、特定のデータ項目に関するユーザからの要求に応答し、前記データ項目が前記キャッシュ内に記憶されているかどうかを判定し、記憶されていない場合には前記ネットワークから前記データ項目を検索し、
更に、ネットワークから検索されたデータ項目に関する価値データを提供するための価値モジュールを備え、検索された各データ項目は、データ項目の相対的な質すなわち価値特性の尺度を含む、ユーザに依存する価値データに関連し、
データ項目は、ウェブサイトを含むものであり、価値モジュールは、ウェブサイトにアクセスする固有のユーザの数に関する統計的情報と、ウェブサイトのユーザによる推奨に基づいてデータ項目に関する価値データを提供するリコメンダシステムからの推奨データとの重み付けされた組み合わせを含む価値データを提供し、
前記プロセッサは、
ｗ（ｔi）＝１／（ＭＴＮＲi）
（ここで、ＭＴＮＲｉ＝α'ｔｉ＋（１−α'）ＭＴＮＲｉ−１及びα'＝α／ｆ（ｖi）であり、ＭＴＮＲｉはデータ項目ｉに関する次の要求までの平均時間、ｔｉは前回の照会以降の時間、ＭＴＮＲｉ−１は過去の価値、α’は指数減衰係数、ｖｉはリコメンダシステムにより提供されるようなデータ項目ｉの価値又は実用性、及びｆ（ｖｉ）は単調に増加する価値の関数）
で表される重み付け測定規準ｗ（ｔｉ）の評価に基づいて前記データ項目の優先順位付けを行い、最大の重みを持つデータ項目を前記キャッシュ内に記憶する、キャッシングのためのシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、全体的には、様々なレベルのキャッシング（caching）が存在するネットワークシステムにおいて、エンドユーザやネットワークの資源を最適化するためのシステム及び方法に関する。
【０００２】
【従来の技術】
イントラネットやワールドワイドウェブ（ウェブ）のようなネットワークシステムでは、ネットワーク負荷を低減したり応答時間を短縮したりするために、様々なレベルでキャッシング（使用頻度の高いデータファイルに極短時間でアクセスするためにメモリやディスク等の資源を使用すること）が用いられている。通常、テキスト、図形、ビデオ、画像、音声ファイル、ｈｔｍｌファイル、ウェブページ（ホームページ）等のどんなデータファイル即ちドキュメントでもキャッシュ（cache）することができる。典型的には、ウェブキャッシングは、ウェブページについてのＵＲＬに関連したコンテンツを記憶している。
【０００３】
クライアントサーバ情報システムにおいて、ローカルクライアントの資源、その典型であるメモリ（ＲＡＭ）は、通常、データをキャッシュして将来におけるサーバとのやりとりを最少限とするために使用されている。キャッシングが使用される場合、顧客コンピュータは、最初に、要求されたドキュメントがローカルキャッシュにあるかどうか調べる。そのドキュメントがローカルキャッシュにあり、しかもそれが最新のもの（ここで言う「最新」とは、そのドキュメントのより新しいバージョンが存在しないことを言う）であると、そのドキュメントは直ちにユーザに届けられる。一方、そのドキュメントがキャッシュに存在しない場合には、顧客コンピュータは、システム又はウェブ上のサーバからドキュメントを取り出す。ドキュメントの大きさや利用可能な伝送速度によっては、ユーザへのドキュメントの配信に非常に長い時間がかかることもある。
【０００４】
どのドキュメントをキャッシュするか、そしていつそれらを取替えるかの決定は、キャッシング取替えアルゴリズムによって行われる。通常、最先端のウェブサーバ、プロキシ、及び顧客のキャッシング取替えアルゴリズムの大半では、アクセス頻度、アクセスの最新性（recency）、データファイル（ドキュメント）の大きさ、及びドキュメント検索の予測待ち時間等の変数を考慮して、キャッシュにおけるドキュメントの優先度を決定している。これらのパラメータの背後には、過去の使用は将来における使用の確かな予測指標となるという基本的な仮説がある。また、これらパラメータにより、キャッシュ取替え手段が、ヒットレート、バイトに重み付けしたヒットレート、及びエンドユーザの待ち時間を最適化することを可能とする。しかし、包括的な重み付けが個人のキャッシュから見れば最良でないことは分っており、しかもトラフィックパターンは時とともに変化するために、より最近のアルゴリズムでは、適応性のある枠組み中でこれらの変数が用いられている。
【０００５】
コールバックやプリフェッチング（prefetching）等の他の様々なキャッシング技術が提案されている。しかしながら、これらの技術は、必ずしも性能を改善するとは限らない。例えば、コールバックは、多くのプロキシにキャッシュされるウェブオブジェクトに適したものではない。また、プリフェッチングも、キャッシュのヒットレートが低い場合には不適当である。先行的ドキュメント照合の性能が改善される時期を予測するのは通常困難である。ユーザが、ウェブから彼等の顧客コンピュータにＵＲＬを特定しダウンロードできるようにしたり、それらのダウンロードのスケジューリングを指定できるようにするいくつかのプログラムが利用可能である。しかしながら、このようなプログラムでは、プリフェッチされキャッシュされるべきドキュメントつまりその後の使用のためにダウンロードすべきドキュメントを、ユーザが具体的に特定する必要があるため必ずしも便利なものではない。
【０００６】
ドキュメントを如何に優先順位付けるするかと言う問題は、ファイルの妥当性を確認する即ちリフレッシュする（例えば、そのファイルが最新のものであることを保証する）頻度を決めることに関係している。一般的に、プロキシサーバは、予め設定された間隔或いは要求に従う方式のいずれかでデータの妥当性を確認するよう構成されている。予め設定されている間隔は、長時間にわたる探索においてキャッシュを更新するには不十分である。更に、ユーザが手作業で（ウェブページをリフレッシュして）キャッシュを更新するとは限らない。
【０００７】
情報検索システムにおける他の重大な問題は、様々なレベルのキャッシングが存在するネットワークシステムにおいて、エンドユーザ（顧客）資源やネットワーク資源を如何に最適化するかということである。ウェブに関して言えば、キャッシングは、顧客のブラウザ（メモリ内キャッシング及びファイル基盤のキャッシング）、プロキシキャッシュ[例えば、インターネットサービスプロバイダ（ＩＳＰ）、衛星、企業用ファイヤウォール等]で、更にプロキシキャッシュの階層（例えば、米国応用ネットワーク調査研究所のキャッシングネットワーク、＠ＨＯＭＥのキャッシングネットワーク等）、ウェブサーバ（例えば、Ｈａｒｖｅｓｔサーバキャッシング・アクセラレータ）において発生する。イントラネットでは、遠隔データベースやデータ貯蔵所にアクセスする顧客コンピュータやネットワークサーバでキャッシングが発生する。キャッシングに関する研究の大半は、エンドユーザの待ち時間を短縮するか、要求された情報コンテンツを配信するために費やされるネットワークトラフィックを低減することに努力が傾けられている。これらの研究は、本質的に包括的なものであり上述したように最善のものではない。
【０００８】
【発明が解決しようとする課題】
本発明は、機能強化されたキャッシングのシステム及び方法を提供するもので、特にウェブ上の情報のキャッシングに有効であり、更に、性能及びネットワークトラフィックも改善する。機能強化されたキャッシングは、キャッシュされた情報に添付される、例えば、リコメンダシステム又はサイトアクセスの動的分析により提供される質つまり価値特性の使用によってもたらされる。
【０００９】
【課題を解決するための手段】
本発明のシステム及び方法は、他の全ての要素が同じだとすれば、より価値の高いドキュメントがより頻繁に検索されると考えるのが妥当であると見なしている。現在のキャッシングアルゴリズムでは、キャッシュされるドキュメントのコンテンツに関する実際の知覚された有用性つまり価値は考慮されていない。本発明は、それらのコンテンツの相対的価値に基づいてキャッシュ内でのドキュメントを優先順位付けしている。一実施形態において、本発明のシステムは、ユーザの推奨に基づいてドキュメントに関する価値を提供するリコメンダシステム（又は、協同フィルタリングシステム）を用いる。ウェブに関し、本発明のシステムは、個々のウェブサイト及び個々のウェブページに関する価値を決定する方法を含んでいる。
【００１０】
本システムでは、より高い価値のドキュメントを特定するために、明示的推奨、暗示的推奨、又はそれら２つの組み合わせたものを使用することができる。本システムでは、質の尺度を使用して、何れかのドキュメント、例えばＵＲＬをより効率的に優先順位付けして優先的にキャッシュする。本発明のシステムは、「民主的キャッシング」スキーム、つまり、（ユーザに対するドキュメントの価値とは本質的に無関係の）ネットワーク資源を最適化する従来の技術から、全ユーザ資源を最適化する新しい技術に向って大きく進歩したキャッシングスキームと考えることができる。民主的キャッシングシステムを用いることにより、ドキュメントは、例えば、（ウェブ利用者に使用される特定の指標アルゴリズムに起因して発生する可能性のある）ヒット数、或いは本質的にユーザとは無関係の他の尺度に基づくことなく、ユーザに対するドキュメントの価値に基づいてキャッシュされる。この方法では、民主的キャッシングにより、過度に大半の資源を利用したり、過度に限定された数のページにしかアクセスしないユーザのみでなく、システムの全ユーザがキャッシングから恩恵を受けることを可能にする。
【００１１】
リコメンダシステムは、団体用のイントラネット情報共有アプリケーションや大衆用のインターネット情報共有アプリケーションにおいて使用される。リコメンダシステムでは、推奨サービスの品質は最重要事項であり、アクセス時間も同様に重要である。また、提案されたキャッシングのシステム及び方法は、リコメンダシステム内でキャッシュを管理するために使用することもできる。リコメンダシステムにおける推奨は、明示的又は暗示的に導き出されたそれらの価値に基づいて優先順位付けすることができる。ユーザにより共有された最新の推奨は、それらの価値に応じて増加する期間にわたってキャッシュされるため、推奨された項目へのアクセス時間を短縮することによりリコメンダシステムのユーザに対するリコメンダシステム性能を改善することができる。過去の推奨は、キャッシュから消えて行く傾向にあるが、興味が復活することにより、ドキュメント（又は、ＵＲＬ）は、ある期間再びキャッシュ内に存続することになる。本発明は、情報を共有化するために、ドキュメント管理システムをリコメンダシステムに結び付けることによって両者の性能を改善する。
【００１２】
ウェブを基盤としたドキュメント又はウェブページへのアクセスに関する実施のために、このシステム及び方法は、ウェブページ（又は、ＵＲＬ）の価値を特定するための２つの具体的な方法の内の１つか又はそれらの組み合わせたもので実施することができる。ウェブとは、リンクされたドキュメントを記憶したりアクセスしたりするために使用されるインターネットの一部である。ウェブページは、そのＵＲＬ（Uniform Resource Locator)アドレスによってアクセスされる。ウェブサイトとは、様々な形式のウェブロケーションの総称である。一例として、ウェブサイトは、企業、教育機関等のようなワールドワイドウェブ（ＷＷＷ）上に存在するエンティティに係り合いを持つ関連ウェブページの集合である。その代わりとして、ウェブサイトは、ウェブのユーザにワールドワイドウェブへの入口点を提供するための「入口」となることができる。また、ウェブサイトは、ウェブを介してアクセスすることができるドキュメントの集合を含むデータ貯蔵場所つまり情報源となり得る。一般的に、ウェブサイトは、高レベルのＵＲＬ（例えば、www.Abccompany.com）を持つことになり、これに対し、サイト上のページは、低レベルへの修飾子（例えば、www.Abccompany.com/page1.html）を持つことになる。
【００１３】
本発明の実施に際し、ウェブサイトとウェブページとは区別化される。ウェブサイトは、それに関連する高レベルのＵＲＬを持つが、便宜上、ウェブページ及びそれらのＵＲＬと互換性あるものとする。明示的推奨及び暗示的推奨は、いかなる組み合わせでも、又は、ウェブサイト及びウェブページ（又はＵＲＬ）を評価するために使用できる点に留意する必要がある。
【００１４】
第1の方法（暗示的推奨を提供する方法）は、（個人のウェブページレベル又は個人のＵＲＴレベルに対するものとしての）ウェブサイトレベルで価値推奨を提供し、そのウェブサイトに関連する全てのキャッシュされたＵＲＬを網羅することが保証される。（ここで、キャッシュには、ウェブサイトのＵＲＬによってリストされたウェブサイトのみが含まれる。）第1の方法は、ウェブサイト毎に固有のビジターの数を統計的に分析する。固有のビジター数が最も多い高いウェブサイトには、最も高い価値が与えられる。アクセス数の合計とは対照的な固有アクセス数の関数としての価値を評価する長所は、スパミング、つまり、わずか数人のビジターによるウェブサイトの多数回の使用によって作られる偏りが取除かれることにある。ウェブトラフィックの特性指摘によると、数人のユーザがトラフィックの大部分を占有することによる、ユーザ数の関数としてのトラフィック量によって非常に遅い配信が生じることが明らかにされている。（Ａｂｄｕｌｌａ・Ｇ、「ワールドワイドウェブのトラフィックに関する分析とモデリング（Analysis and Modeling of World Wide Web Traffic）」博士論文、米国バージニア州立科学技術研究所・大学、情報工学科、バージニア州ブラックスバーグ、１９９８年５月、を参照）。提案された方法は、個人ユーザの価値特性を考慮し、キャッシングの恩恵が単に多数使用ユーザのみに限定されないことを保証する点で「民主的」である。
【００１５】
第2の方法（明示的推奨を提供する方法）では、（団体のためのプロキシキャッシュのような）キャッシュと個人のウェブページＵＲＬのユーザによるランク付けのデータベースとが結び付けられる。このようなデータベースは、例えば、個人ユーザに対して専用化した推奨を提供するフィルタリング技術を使用するウェブページ用リコメンダシステムの構成要素として提供することができる。第2の方法は、（ウェブサイトに対するものとしての）個人のウェブページ又はＵＲＬのために、但し、キャッシュ内のウェブページＵＲＬの一部のみに対して価値推奨を提供する。この一部は、ウェブ全体としてのＵＲＬに対しては小さなものであるかもしれないが、リコメンダシステムの利用が増加するにつれて有意なものとなると考えられる。プロキシキャッシュとリコメンダシステムとを結び付けることによって、キャッシュのみでなくリコメンダシステムの性能も改善される。プロキシキャッシュ内に最新の高くランク付けされた推奨を記憶することにより、推奨されたＵＲＬの平均ダウンロード時間は短縮されることになる。ユーザが向上した性能に気付くと、ユーザはリコメンダシステムのためにより多くのドキュメントを評価するようになり、リコメンダシステムの効率も改善される。
【００１６】
２つの方法は、ウェブページＵＲＬの価値を評価することに並行して使用することができる。例えば、リコメンダシステムが特定のＵＲＬに関する価値を提供したとすると、その価値が最初に使用される。他の方法では、ＵＲＬに与えられる価値は、第1の方法により予測されたウェブサイトの価値とされる。その代わりに、各々の方法からの価値の重み付けされた組み合わせも使用することができる。キャッシュ取替えのための他の方法としては、（上記の方法のいずれか又はそれらの組み合わせによって）予測された価値、及びアクセスの最新性や頻度がある。時には、ネットワーク資源を保護したり、或いは全体的な待ち時間を最少化することが要求されることも考えられるため、ネットワークの処理能力つまり待ち時間の最適化を行うようなより在来的方法と提携して、提案された民主的キャッシング技術を使用できることは容易に推測されるべきである。このスキームを使用することにより、キャッシュは、ネットワークに基づく方法及び予め設定された閾値又は適応性のある閾値を使用する他のシステム条件の間で取り替えることになる。
【００１７】
【発明の実施の形態】
図面、特に図１を参照すると、民主的キャッシングを用いるシステムが全体的に示されており、参照番号１０で特定される。システム１０は、プロセッサ２２及びキャッシュメモリ２４を有するコンピュータ１２を備える。また、キャッシュ２４に記憶された各項目に関する価値データを提供する価値モジュール１４がシステム１０に含まれる。リコメンダシステム１６もシステム１０に含むことができるように、システム１０が破線を用いて示されている。また、リコメンダシステム１６は、ユーザ入力に基づいてキャッシュ２４内に記憶すべき項目に関する価値情報を提供する。コンピュータ１２は、顧客コンピュータ、プロキシサーバ、又はキャッシュメモリを用いた他のコンピュータとすることができる。コンピュータ１２は、イントラネット又は（図１に示されているような）インターネット等の分散型ネットワークにおいて運用することができる。ユーザ４０は、実線３１で示されるように、インターネット３０を経由してコンピュータ１２やリコメンダシステムにアクセスする。（一部ユーザ４０は、実線３３で示されるように、他のいくらかの通信フォームによりコンピュータ１２やリコメンダシステム１６にアクセスすることができる。）
【００１８】
コンピュータ１２は、直接的（破線２３及び２９に各々示す）、又はインターネット３０を介して間接的に（実線２１、２５、及び２７で示す）価値モジュール１４又はリコメンダシステム１６と通信することができる。価値モジュール１４は、特定のウェブサイト又はウェブページに対する固有のユーザのアクセス数のような統計的な情報を提供することができる。
【００１９】
リコメンダシステム１６は、以下の１つ又はそれ以上のユーザによるランク付けつまり価値、即ち、ドキュメント（ＵＲＬ）のコンテンツに関する星印の数によるランク付け、ドキュメントの使用料、ドキュメントに含まれる情報の有効期限、及びドキュメント（ウェブページ又はウェブサイト）についての専門家の評価つまりランク付け或いは独立団体によるランク付け等を提供することができる。 通常、推奨は、ユーザにより手作業で入力された数値的なランク付けにより構成されるが、それらは、ユーザの行為（例えば、ドキュメントを読み出すのに費やされた時間、印刷のような行動、ドキュメントを保存したり削除すること）から推論することもできる。このようなシステムの前提は、あるユーザは、そのユーザや他のユーザによって選択された項目と類似した他の項目を選択するであろうという点にある。
【００２０】
以下、本発明のシステム及び方法を、価値推奨を提供するための好適な方法、即ち、（１）サイトへのアクセスの統計的分析による暗示的サイト推奨、及び（２）リコメンダシステムによる明示的ＵＲＬ推奨に関して、更に詳細に説明する。この方法は、価値推奨を考慮に入れるためにキャッシュを変更することに関しても説明され、特に、アクセスの最新性や頻度とともに予測価値を考慮するキャッシング手段の例が説明される。
【００２１】
ワールドワイドウェブのユーザによるサイトへのアクセスを予測する推奨の動的理論は、最近、本発明者の一部によって開発された（Ｈｕｂｅｒｍａｎ，Ｂ．Ａ．及び  Ａｄａｍｉｃ、米国ロサンゼルス「ワールドワイドウェブにおける新型製品と社会調査（Novelty and Social Search in the World Wide Web）」１９９８年）。Ｈｕｂｅｒｍａｎ及びＡｄａｍｉｃは、ある期間において所定のサイトにアクセスするユーザ数は、ユーザが彼等自身で新しいサイトを見つけ出す割合に関連する指数を持つ普遍的な指数法則であることを明らかにしている。Ｈｕｂｅｒｍａｎ及びＡｄａｍｉｃにより実施されたウェブにおけるユーザの行為についての広範囲にわたる実験に基づく研究によりこの法則が確認された。これらの成果は、サミング、つまり数人による多数回のサイト使用に制限を設ける効果的で公平なキャッシング手段を設計するために直接的に使用することができる。固有のサイトビジターはスケーリング法則に従うことから、キャッシングはこの指数法則に基づいて実施すべきことが示唆されている。このように、（ユーザの大部分に）最も人気のあるサイトは、重要性において数人のユーザによる多くのヒット数に勝るものである。
【００２２】
図１のシステムにおいて、プロキシサーバ１２と結合している暗示的価値モジュール１４が作動しているシステム１０を考察する。モジュール１４は、インターネット３０のウェブサイトにアクセスする顧客（ユーザ４０）のログを分析する。最初に、同一ユーザによる重複したアクセスを除外することにより、サイトへの固有ビジターの数を抽出する。次に、百分率によるランク付けを各々のサイトと結び付ける。例えば、７５％の百分率ランク付けを持つサイトは、プロキシを介してアクセスされるサイトの７５％又はそれ以上の固有ビジターを有する。この百分率によるランク付けは、サイト及び／又はそのサイトに関連したＵＲＬの価値尺度としてモジュール１４によって返送される。（プロキシサーバ１２は、この百分率ランク付けに基づいてキャッシュ２４内にＵＲＬアドレスを記憶する）。
【００２３】
暗示的サイト推奨を算出するためのモジュール１４は、図１に示されるように分離して設けるか、或いは、プロキシサーバ１２（又は、キャッシュ２４）内に、図１のモジュール２８として設けることができる。モジュール１４又は２８は、プロセッサ２２が、何れかのＵＲＬ、ＵＲＬリスト、何れかのサイト、又はサイトリストの予測価値に関するキャッシュ２４への照会を行えるようにするアプリケーション・プログラム・インターフェイス（ＡＰＩ）を備える。更に、ＡＰＩは、プロセッサ２２が、モジュールより返送された予想される価値の範囲に関するモジュール１４又は２８への照会を行えるようにする。
【００２４】
一般的なリコメンダシステムは、典型的には、データ記憶モジュール、価値予測モジュール、及び順序付けモジュールという３つのモジュールを含む。図４には、ウェブＵＲＬのデータ記憶モジュール５２、価値予測モジュール５４、及び表示・順序付けモジュール５６を備えたリコメンダシステム１６が示されている。ＵＲＬに関して、データ記憶モジュール５２は、最少限で、入力の日付、ユーザＩＤ、及びＵＲＬのユーザによるランク付け（つまり、優先選択ランク付け）を含んでいる。価値予測モジュール５４は、ユーザに対するＵＲＬの価値又は相対的なランクを予測するためのアルゴリズムを含む。表示・順序付けモジュール５６は、それらの予測価値又は予測相対的ランクに基づいて推奨ＵＲＬの表示を順序付ける。
【００２５】
また、リコメンダシステム５０は、一般ユーザのためにＵＲＬの価値を予測する価値予測モジュール５８を含んでいる。一般的に、モジュール５８は、この予測を、ＵＲＬに関するユーザのランク付けの加重和で作成する。最も単純な状況では、この予測は、単に、ＵＲＬに関して受け取ったランク付け全ての平均である。その代わりに、重み付けを、他のユーザによって客観的に更に高く評価されている評価を持つユーザからのランク付けに偏らせることも可能であろう。ユーザ評価の価値を考慮するための客観的関数は、あるユーザの他の全てのユーザとの相関性の合計の関数とすることができ、その代わりとして（又はそれに加えて）、ユーザの推奨を受信するヒット数を考慮することもできるであろう。
【００２６】
モジュール５８は、１つ又はリストされたＵＲＬの予測価値に関して、キャッシュ２４が照会を行うことができるようにするとともに、日付値を随意的なパラメータとして送ることによって、ＵＲＬリストや予測値に関して、キャッシュ２４が照会を行うことができるようするＡＰＩを備えている。後者の場合において、日付値が提供される場合、モジュール５８は、キャッシュにより特定された日付よりも最近のリコメンダシステムのデータ領域に入力された日付を持つＵＲＬのみを返送する。最後に、ＡＰＩは、予想価値の範囲がモジュールによって返送されるように、キャッシュ２４がモジュール５８に対し照会を行うことができるようにする。
【００２７】
モジュール５８によって返送された「ＵＲＬ及び価値」の対は、データ領域に記憶されているＵＲＬについての追加情報を含むように拡張することができる。キャッシュに関する可能性のある使用情報の一例として、ユーザが入力した有効期限つまり変更周期が挙げられる。次に、キャッシュ２４は、これらの値を使用して、ＵＲＬをより効率的に洗い出し、データの妥当性の確認を行うことができる。
【００２８】
プロキシサーバ１２は、キャッシュ２４内に記憶されている各ＵＲＬに対するキャッシング優先順位を周期的に再割り付けすると仮定する。キャッシュ２４が一杯をなると、プロキシサーバ１２は、キャッシュ内に新しい項目を記憶するための十分な記憶容量が確保されるまで、最も優先順位の低い項目を消去する。
また、プロキシサーバ１２は、暗示的及び明示的の推奨を提供する２つのモジュール（価値モジュール１４及びリコメンダシステム１６）とともにキャッシュ２４を運用することもできる。その二つのモジュール１２に関するＡＰＩの自由度を考慮すると、多くの変更が可能となる。
【００２９】
図２は、ＵＲＬに優先順位の重みを与える方法を示すフローチャートである。プロセッサ２２がＵＲＬの優先順位を再評価する時、プロセッサ２２は、最初に、ＵＲＬの予測価値に関して明示的推奨モジュール１６に照会を行う（ステップ６２）。明示的推奨モジュールが推奨を行うことができるなら（ステップ６４）、プロセッサは、図３を参照して下述するように、この価値を使用して優先順位の算出を行う（ステップ６８）。他の方法によれば、プロセッサは、ＵＲＬの予測価値に関して暗示的の推奨１４に照会を行い（ステップ６６）、次にこの価値を使用してＵＲＬの優先順位を算出する。暗示的の推奨より明示的推奨により予測された価値が好ましい理由は、後者はＵＲＬを特定するが、前者は全サイトを一般化するからである。しかしながら、暗示的推奨の場合においても、キャッシング優先順位の算出は、特定のＵＲＬに対するアクセスの最新性及び頻度を考慮している特定のＵＲＬであることに留意されたい。
【００３０】
Ｒｅｄｄｙ，Ｍ．及びＧ．Ｐ．Ｆｌｅｔｃｈｅｒの「ウェブブラウザのキャッシュ管理用適応メカニズム（An Adaptive Mechanism for Web Browser Cache Management）」ＩＥＥＥ コンピューティング １９９８年１月／２月、にはファイルの大きさに拘わらず、最新性と同様に全体的な使用頻度を考慮したキャッシング優先順位アルゴリズムが開示されている。リコメンダシステム１６のモジュール５４／５８において、本出願人は、ＵＲＬの検索された価値を考慮するためにＲｅｄｄｙ 及びＦｌｅｔｃｈｅｒのアルゴリズムに変更を加える。Ｒｅｄｄｙ及びＦｌｅｔｃｈｅｒは、現在の変化と同様に過去に要求されたレコードに対して指数平滑法を用いることにより、ＵＲＬに関する次の要求までの平均時間（ＭＴＮＲ）を推定している。つまり、ＭＴＮＲｉ＝αｔｉ＋（１−α）ＭＴＮＲｉ−１、ここで、ｔｉは、前回の照会以降の時間、ＭＴＮＲｉ−１は、過去の価値、そして、αは、指数減衰係数である（それらにより、０．１と０．３との間の演算値が与えられる）。キャッシュにおいてドキュメントの優先順位を決定するための重み付け計測規準は、ドキュメント要求頻度が適切であり、ドキュメント要求頻度は、ＭＴＮＲ：ｗ（ｔi）＝１／（ＭＴＮＲi）に反比例する。高いα値により、ドキュメント要求の最新性を重要視したものとなり（α＝１は、前回のアクセス日付までのＵＲＬの優先順位付けを下げる）、低いα値により、現在のものより古い最新性の価値を重要視したものとなる。
【００３１】
民主的（democratic）キャッシュでは、このような重み付け基準を採用するが、高い価値のドキュメントの方向にキャッシュを偏らせるために、ＵＲＬの予測価値によって変更することができる。例えば、
α'＝α／ｆ（ｖi）
の値に基づいて減衰係数αを設定することができる。
【００３２】
ここで、ｖｉは、リコメンダシステムにより提供されるようなドキュメントｉの価値であり、ｆ（ｖｉ）は、単調に実用性の関数を増加するものである。この方法においては、非常に高い価値のドキュメントは、頻度と最新性が同じ場合は、相対的に低い価値のドキュメントより長い期間にわたってキャッシュされる。しかしながら、より高い頻度で最近アクセスされた低い価値のドキュメントが、より低い頻度でもっと以前にアクセスされたより高い価値を持つドキュメントよりも優先順位が高くなることが依然として発生することになる。キャッシュがこの挙動を表示することが非常に重要となる。例えば、優先順位が、単に知覚された価値の関数であることを仮定すると、時間経過とともに、ドキュメントがアクセスされているか未だアクセスされていないに拘わらず、キャッシュは最も高い価値のドキュメントで満たされることになる。
【００３３】
ここで、これらの３つの方程式のいずれもが、アクセスの最新性や頻度のみならずＵＲＬの予測価値をも考慮する方法で、プロセッサ２２がＵＲＬの優先順位を決定することを可能とする。しかしながら、あるＵＲＬが、この同じサイト（例えば、フレーム及び／又はｇｉｆイメージを持ったＵＲＬ）において、他のＵＲＬのダウンロードを必然的に伴うページを示すことがよくある。暗示的推奨モジュールにより予測価値が提供される場合には、このモジュールは全てのＵＲＬに関して同じ推奨価値を同じサイトから提供することになるとともに、必然的に伴うＵＲＬの各々の優先順位は個別に算出することが可能であるために、その時点で作業は完了する。ＵＲＬが外部のサイトにおいて他のＵＲＬを必然的に伴う可能性もある。この状況を網羅するために、前述した方法は、暗示的サイトを基盤とした推奨を有するＵＲＬをも対象とするように拡大することができる。
【００３４】
しかしながら、予測価値が明示的推奨モジュールによってもたらされる場合には、その状況はより複雑になる。明示的推奨は、親のＵＲＬに対して存在するが、同様にキャッシュされることになる必然的に伴うＵＲＬには、ほぼ確実に明示的推奨は存在しない。従って、このような各ＵＲＬは、必然的に伴うＵＲＬを抽出するために、構文解析する必要がある。次に、必然的に伴うＵＲＬの全ては、親のＵＲＬに関する明示的推奨により返送される予測価値を受け継ぐ。そして、この価値は、必然的に伴うＵＲＬに関する優先順位の算出に使用される。必然的に伴うＵＲＬが、同じ優先順位の再評価期間内に、以前既に優先順位を与えられている（例えば、このＵＲＬが１つの親ＵＲＬ以外によっても伴なわれている際に生じる）場合、このＵＲＬは、以前与えられ優先順位と最新の優先順位の内で最大のものを保持する。この方法を、図３のフローチャートで説明する。
【００３５】
図３を参照すると、ステップ７２において、明示的推奨価値を持つＵＲＬが提供される。ステップ７４で、ＵＲＬのコンテンツは、必然的に伴うＵＲＬを抽出するために構文解析される。ステップ７６で、各ＵＲＬに関して、必然的に伴うＵＲＴの優先順位重みｗcがステップ７８で算出される。この再評価期間での過去の重みｗpがステップ８０に存在している場合には、それがより大きい（スッテプ８４）かより小さいか（ステップ８２）がチェックされる。キャッシュ指数が、ＵＲＬ、重み、及びタイムスタンプを有するキャッシュ２４内のキャッシュ指数で更新される。
【００３６】
実際には、民主的キャッシュの挙動は、リコメンダシステムと密接に結び付けられることになる。最新の推奨がキャッシュされる、これにより推奨された項目へのアクセス時間が短縮されることにより、ユーザに対するリコメンダシステムの性能を改善することができる。過去の推奨は、キャッシュから消えて行く傾向にあるが、興味が復活することにより、ＵＲＬは、ある期間再びキャッシュ内に存続することになる。
【００３７】
更に、リコメンダシステムは、ＵＲＬの有効期限及び／又は再呼び出しレート等の（更に、ＨＴＭＬ内のメタデータとして利用可能性のある）他の情報を民主的キャッシュに提供する。リコメンダシステムにおいて、興味は短期的であると断定された（再呼び出しレート＝０）ＵＲＬに関しては、例えば、期限満了日の後にキャッシュはそのＵＲＬを削除することができる。一方、ゼロでない再呼び出しレート（日次、週次、その他）のＵＲＬに関しては、キャッシュは、所定の間隔で現在キャッシュ内にあるＵＲＬのプリフェッチィングを行う。
【００３８】
様々なハードウエアプラットフォーム上で使用できるポータブルソースコードを有するソフトウエア開発環境を使用するソフトウエアにより本発明を容易に実施することができるのは認識されるであろう。その代わりに、開示されたシステムは、標準論理回路を使用するハードウエアにおいて、部分的又は全体的に実施することができる。ソフトウエアとハードウエアのいずれが本システムを実施するために使用されるかについては、システムの速度や効率の要件によって、更に、特定の機能、特定のソフトウエア又はハードウエアシステム及び使用される特定のマイクロプロセッサ又はマイクロコンピュータによって変化する。
【００３９】
本発明は、特定の実施形態を参照することにより説明された。図面とともに本明細書を読み理解することにより、変更や置換が第３者により行い得るであろう。本実施形態は例示的なものであり、当業者であれば、本教示により様々な代替、変更、修正、或いは改善を成し得るであろうが、これらは、特許請求の範囲に含まれることが意図されている。
【図面の簡単な説明】
【図１】  本発明による民主的キャッシングを用いたシステムのブロック図である。
【図２】  ＵＲＬへ優先順位の重みを与えるための方法を説明するフローチャートである。
【図３】  必然的に伴うＵＲＬに対するキャッシング優先順位の重みを与えるための方法を説明するフローチャートである。
【図４】  図１のシステムで使用されるリコメンダシステムのブロック図である。
【符号の説明】
１０  システム
１４  価値モジュール
１６  リコメンダシステム
２２  プロセッサ
２４  キャッシュ
３０  インターネット
４０  ユーザ
５２  記憶モジュール
５４  価値予測モジュール
５６  表示・順序付けモジュール
５８  一般ユーザ価値予測モジュール
【図１】
0004662618.tif 000002
【図２】
0004662618.tif 000003
【図３】
0004662618.tif 000004
【図４】
0004662618.tif 000005