(57)【特許請求の範囲】
【請求項１】
端末が要求するファイルを特定するファイル特定情報と、前記ファイルを配信するサーバを特定する配信元情報とを含むリクエスト情報を取得するリクエスト情報取得部と、
前記サーバから配信される前記ファイルを識別する識別情報を、コンピュータネットワークを介して前記サーバから取得する識別情報取得部と、
前記識別情報に基づき前記リクエスト情報の重複の有無を示す重複情報を生成する重複情報生成部と、
前記重複情報に基づき前記リクエスト情報取得部により取得された前記リクエスト情報が重複しているか否かを判定する重複判定部と、
前記重複判定部により重複していないと判定された前記リクエスト情報に対応する前記ファイルを前記サーバからダウンロードするダウンロード部と、
前記ダウンロード部によりダウンロードされた前記ファイルをキャッシュするキャッシュ管理部と、
を備えるキャッシュ管理装置。
【請求項２】
前記重複情報は、互いに重複している複数の前記リクエスト情報の前記配信元情報を共通化させた変更後リクエスト情報を含む、
請求項１に記載のキャッシュ管理装置。
【請求項３】
前記サーバは、ＷＳＵＳサーバであり、
前記識別情報は、ＫＢ番号を含む、
請求項１又は２に記載のキャッシュ管理装置。
【請求項４】
前記リクエスト情報取得部により取得された前記リクエスト情報に対応するファイルは、所定の削除条件が満たされる場合には、重複的キャッシュが避けられる重複回避ファイルから除外される、
請求項１〜３のいずれか１項に記載のキャッシュ管理装置。
【請求項５】
コンピュータに、
端末が要求するファイルを特定するファイル特定情報と、前記ファイルを配信するサーバを特定する配信元情報とを含むリクエスト情報を取得するリクエスト情報取得処理と、
前記サーバから配信される前記ファイルを識別する識別情報を、コンピュータネットワークを介して前記サーバから取得する識別情報取得処理と、
前記識別情報に基づき前記リクエスト情報の重複の有無を示す重複情報を生成する重複情報生成処理と、
前記重複情報に基づき前記リクエスト情報取得処理により取得された前記リクエスト情報が重複しているか否かを判定する重複判定処理と、
前記重複判定処理により重複していないと判定された前記リクエスト情報に対応する前記ファイルを前記サーバからダウンロードするダウンロード処理と、
前記ダウンロード処理によりダウンロードされた前記ファイルをキャッシュするキャッシュ管理処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、キャッシュ管理装置及びプログラムに関する。
【背景技術】
【０００２】
クライアントサーバシステム等において、サーバからクライアント端末に提供されるファイルをキャッシュするキャッシュ管理装置（キャッシュサーバ）が利用されている。
【０００３】
【特許文献１】特開２００５−１７３８７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のようなキャッシュ管理装置において、実質的に同一の複数のファイルが重複してキャッシュされる場合がある。このような場合にはキャッシュ管理装置の記憶領域が浪費されることとなる。
【０００５】
そこで、本発明が解決しようとする課題は、記憶領域の浪費を抑制可能なキャッシュ管理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１態様に係るキャッシュ管理装置は、端末が要求するファイルを特定するファイル特定情報と、前記ファイルを配信するサーバを特定する配信元情報とを含むリクエスト情報を取得するリクエスト情報取得部と、前記サーバから配信される前記ファイルを識別する識別情報を取得する識別情報取得部と、前記識別情報に基づき前記リクエスト情報の重複の有無を示す重複情報を生成する重複情報生成部と、前記重複情報に基づき前記リクエスト情報取得部により取得された前記リクエスト情報が重複しているか否かを判定する重複判定部と、前記重複判定部により重複していないと判定された前記リクエスト情報に対応する前記ファイルを前記サーバからダウンロードするダウンロード部と、前記ダウンロード部によりダウンロードされた前記ファイルをキャッシュするキャッシュ管理部と、を備えるものである。
【０００７】
本発明の第２態様に係るプログラムは、コンピュータに、端末が要求するファイルを特定するファイル特定情報と、前記ファイルを配信するサーバを特定する配信元情報とを含むリクエスト情報を取得するリクエスト情報取得処理と、前記サーバから配信される前記ファイルを識別する識別情報を取得する識別情報取得処理と、前記識別情報に基づき前記リクエスト情報の重複の有無を示す重複情報を生成する重複情報生成処理と、前記重複情報に基づき前記リクエスト情報取得処理により取得された前記リクエスト情報が重複しているか否かを判定する重複判定処理と、前記重複判定処理により重複していないと判定された前記リクエスト情報に対応する前記ファイルを前記サーバからダウンロードするダウンロード処理と、前記ダウンロード処理によりダウンロードされた前記ファイルをキャッシュするキャッシュ管理処理と、を実行させるものである。
【発明の効果】
【０００８】
本発明によれば、記憶領域の浪費を抑制可能なキャッシュ管理装置及びプログラムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係るコンピュータシステムの構成の一例を示す図である。
【図２】図２は、実施形態に係るキャッシュ管理装置のハードウェア構成の一例を示す図である。
【図３】図３は、実施形態に係るキャッシュ管理装置の機能構成の一例を示す図である。
【図４】図４は、実施形態に係るリクエスト情報の一例を示す図である。
【図５】図５は、実施形態に係る識別情報の一例を示す図である。
【図６】図６は、実施形態に係る重複情報の一例を示す図である。
【図７】図７は、実施形態に係るキャッシュ管理装置による処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の例示的な実施形態が開示される。以下に示される実施形態の構成、並びに当該構成によってもたらされる作用、結果、及び効果は、一例である。本発明は、以下の実施形態に開示される構成以外によっても実現可能であるとともに、基本的な構成に基づく種々の効果や派生的な効果のうち、少なくとも一つを得ることが可能である。
【００１１】
図１は、実施形態に係るコンピュータシステム１の構成の一例を示す図である。
【００１２】
コンピュータシステム１は、複数のサーバ１１、キャッシュ管理装置１２、及び複数の端末１３を含む。
【００１３】
キャッシュ管理装置１２は、インターネット、イントラネット等のコンピュータネットワーク１４を介してサーバ１１と通信可能に接続する情報処理装置である。キャッシュ管理装置１２は、サーバ１１からダウンロードしたファイルをキャッシュする機能を有する。また、キャッシュ管理装置１２は、ＬＡＮ（Local  Area  Network）、ＷＬＡＮ（Wireless  Local  Area  Network）等のコンピュータネットワーク１５を介して端末１３と通信可能に接続し、ＭＩＢ（Management  Information  Base）等を利用して端末１３を管理するための処理を行う。
【００１４】
サーバ１１は、例えば、端末１３にインストールされたＯＳ（Operating  System）、アプリケーション、ファームウェア等の更新プログラムを各端末１３に配布するアップデートサーバ等であり得る。より具体的には、サーバ１１は、マイクロソフト（登録商標）社のソフトウェアを更新するＷＳＵＳ（Windows  Server  Update  Services）サーバ等であり得る。
【００１５】
端末１３は、例えば、オフィス等で使用されるパーソナルコンピュータ等であり得る。端末１３は、キャッシュ管理装置１２にキャッシュされたファイル（例えば更新プログラム等）を、コンピュータネットワーク１５を介してキャッシュ管理装置１２から取得する。端末１３は、コンピュータネットワーク１４を介して直接サーバ１１と通信可能であってもよい。
【００１６】
図２は、実施形態に係るキャッシュ管理装置１２のハードウェア構成の一例を示す図である。
【００１７】
キャッシュ管理装置１２は、ＣＰＵ（Central  Processing  Unit）５１、ＲＡＭ（Random  Access  Memory）５２、ＲＯＭ（Read  Only  Memory）５３、ストレージ５４、通信Ｉ／Ｆ（Interface）５５、及びユーザＩ／Ｆ５６を有する。
【００１８】
ＣＰＵ５１は、ＲＯＭ５３やストレージ５４に記憶されたプログラムに従いＲＡＭ５２をワーキングエリアとして所定の演算処理を行う。ストレージ５４は、不揮発性メモリ等であり、ＣＰＵ５１の処理に必要な各種データを記憶する。通信Ｉ／Ｆ５５は、コンピュータネットワーク１４を介したサーバ１１との通信、コンピュータネットワーク１５を介した端末１３との通信等を確立するためのデバイスである。ユーザＩ／Ｆ５６は、ユーザとの間で情報の送受を可能にするデバイスであり、例えば入力ボタン、ディスプレイ、スピーカ等であり得る。なお、キャッシュ管理装置１２の構成は上記に限定されるものではなく、使用状況等に応じて適宜選択されるべきものである。
【００１９】
図３は、実施形態に係るキャッシュ管理装置１２の機能構成の一例を示す図である。
【００２０】
キャッシュ管理装置１２は、リクエスト情報取得部１０１、識別情報取得部１０２、識別情報記憶部１０３、重複情報生成部１０４、重複情報記憶部１０５、重複判定部１０６、ダウンロード部１０７、キャッシュ管理部１０８、及び送信部１０９を有する。これらの機能的構成要素１０１〜１０９は、図２に例示したハードウェア構成要素５１〜５６、及びＲＯＭ５３やストレージ５４に記憶されたプログラム等のソフトウェア構成要素の協働により構成される。
【００２１】
リクエスト情報取得部１０１は、端末１３からリクエスト情報を取得する。リクエスト情報は、端末１３が要求するファイルを特定するファイル特定情報（例えばファイル名等）と、ファイルを配信するサーバ１１を特定する配信元情報（例えばサーバ１１毎に割り当てられたＦＱＤＮ等）とを含む。
【００２２】
図４は、実施形態に係るリクエスト情報２０１の一例を示す図である。
【００２３】
図４に例示するリクエスト情報２０１は、ファイル特定情報としてのファイル名「ａ．ｅｓｄ」と、配信元情報としてのＦＱＤＮ（Fully  Qualified  Domain  Name）「１９２．１６８．１．１」とを含んでいる。なお、ファイル特定情報及び配信元情報はこれに限定されるものではない。
【００２４】
図３に戻り、識別情報取得部１０２は、サーバ１１が配信するファイルを識別する識別情報を取得する。識別情報は、例えば、ファイル毎に割り当てられた記号等を含む情報である。識別情報は、例えば、サーバ１１がＷＳＵＳサーバである場合には、更新プログラム等のファイル名とＫＢ（Knowledge  Base）番号との対応関係を示す情報等であり得る。ＫＢ番号は、マイクロソフト社がサポート技術情報として一般に公開している情報である。本実施形態に係る識別情報取得部１０２は、インターネット等のコンピュータネットワーク１４を介してサーバ１１から識別情報を取得する。なお、識別情報取得部１０２がサーバ１１から識別情報を取得するタイミングは特に限定されるべきものではない。識別情報は、例えば、端末１３からリクエスト情報２０１が取得されたタイミングに合わせて取得されてもよいし、定期的に取得されてもよい。
【００２５】
図５は、実施形態に係る識別情報２１１の一例を示す図である。
【００２６】
図５に例示する識別情報２１１は、行番号（Ｎｏ．）と、ファイル（更新プログラム等）のファイル名と、ファイル毎に割り当てられたＫＢ番号との対応関係を示すテーブルである。ここで示す例では、ファイル名「ａ．ｅｓｄ」とＫＢ番号「１００００」とが対応付けられ、ファイル名「ｂ．ｅｓｄ」とＫＢ番号「１０００１」とが対応付けられ、ファイル名「ｃ．ｅｓｄ」とＫＢ番号「１０００２」とが対応付けられている。なお、識別情報２１１の構成はこれに限定されるものではない。
【００２７】
図３に戻り、識別情報記憶部１０３は、識別情報取得部１０２により取得された識別情報２１１を記憶する。
【００２８】
重複情報生成部１０４は、識別情報記憶部１０３に記憶された識別情報２１１に基づきリクエスト情報２０１の重複の有無を示す重複情報を生成する。リクエスト情報の重複とは、異なる複数のリクエスト情報が実質的に同一のファイルを示している状態をいう。例えば、更新プログラムＡをサーバＡから取得することを示すリクエスト情報と、更新プログラムＡをサーバＢから取得することを示すリクエスト情報とは、互いに重複した状態にある。
【００２９】
図６は、実施形態に係る重複情報２２１の一例を示す図である。
【００３０】
図６に例示する重複情報２２１は、行番号（Ｎｏ．）と、リクエスト情報と、ＫＢ番号と、重複フラグと、変更後リクエスト情報との対応関係を示すテーブルである。
【００３１】
図６におけるＫＢ番号は、リクエスト情報取得部１０１により取得されたリクエスト情報（例えば図４に例示するリクエスト情報２０１）に含まれるファイル名（例えば「ａ．ｅｓｄ」）に対応するＫＢ番号（例えば「１００００」）である。当該ＫＢ番号は、上記識別情報（例えば図５に例示する識別情報２１１）を参照することにより特定され得る。
【００３２】
図６における重複フラグは、リクエスト情報がキャッシュ処理において重複状態にあるか否かを示しており、本例では「０」が重複していない状態を示し、「１」が重複している状態を示している。当該重複しているか否かの判定は、ＫＢ番号の異同に基づき行うことができる。図６には、Ｎｏ．１のＫＢ番号とＮｏ．２のＫＢ番号とが同一であることから、Ｎｏ．２のリクエスト情報「ｈｔｔｐ：／／１９２．１６８．１．２／ａ．ｅｓｄ」がＮｏ．１のリクエスト情報「ｈｔｔｐ：／／１９２．１６８．１．１／ａ．ｅｓｄ」と重複していると判定された場合が例示されている。
【００３３】
図６における変更後リクエスト情報は、互いに重複している複数のリクエスト情報の配信元情報（本例ではＦＱＤＮ）を共通化させた情報である。本例では、重複フラグが「１」であるリクエスト情報が、重複状態を解消するように変更されている。具体的には、Ｎｏ．２のリクエスト情報のＦＱＤＮ「１９２．１６８．１．２」が、Ｎｏ．１のリクエスト情報と共通化されるように、「１９２．１６８．１．１」に変更されている。
【００３４】
図３に戻り、重複情報記憶部１０５は、重複情報生成部１０４により生成された重複情報２２１を記憶する。
【００３５】
重複判定部１０６は、重複情報記憶部１０５に記憶された重複情報２２１に基づき、リクエスト情報取得部１０１により取得されたリクエスト情報２０１がキャッシュ処理において重複しているか否かを判定する。当該判定は、例えば、上記重複情報２２１に含まれる重複フラグに基づき行われ得る。
【００３６】
なお、リクエスト情報取得部１０１により取得されたリクエスト情報２０１に対応するファイルは、所定の削除条件が満たされる場合には、重複的キャッシュが避けられる重複回避ファイルから除外されてもよい。削除条件は、例えば、ファイルサイズが所定値（例えば１ＧＢ）より小さい場合、今回のアクセス日時と前回のアクセス日時との間隔が所定期間以内である場合、所定期間内におけるアクセス回数が所定値以上である場合、ファイルの配信元であるサーバ１１の信頼度が十分に高いと認められる場合等であり得る。例えば、ファイルサイズが１ＧＢより小さい場合には、記憶領域への影響が小さいため、当該ファイルは重複回避ファイルとして扱われず、重複してキャッシュされてもよい。
【００３７】
ダウンロード部１０７は、重複判定部１０６により、リクエスト情報取得部１０１により取得されたリクエスト情報２０１が重複していないと判定された場合に、当該リクエスト情報２０１に対応するファイルをサーバ１１からダウンロードする。換言すれば、ダウンロード部１０７は、リクエスト情報取得部１０１により取得されたリクエスト情報２０１が重複していると判定された場合には、当該リクエスト情報２０１に対応するファイルをサーバ１１からダウンロードしない。
【００３８】
キャッシュ管理部１０８は、ダウンロード部１０７によりダウンロードされたファイルをキャッシュする。
【００３９】
送信部１０９は、キャッシュ管理部１０８により保持されているキャッシュデータから、リクエスト情報取得部１０１により取得されたリクエスト情報２０１に対応するファイルを取得し、当該ファイルを当該リクエスト情報２０１の出力元の端末１３へ送信する。このとき、リクエスト情報取得部１０１により取得されたリクエスト情報２０１が重複判定部１０６により重複していると判定された場合には、送信部１０９は、重複状態が解消されるように変更されたリクエスト情報（例えば図６の変更後リクエスト情報）に基づき、キャッシュデータからファイルを取得する。
【００４０】
上記構成により、実質的に同一の複数のファイルが重複してキャッシュされることを抑制でき、キャッシュ管理装置１２の記憶領域の浪費を抑制できる。
【００４１】
図７は、実施形態に係るキャッシュ管理装置１２による処理の一例を示すフローチャートである。
【００４２】
リクエスト情報取得部１０１が端末１３からリクエスト情報２０１を取得すると（Ｓ１０１）、識別情報取得部１０２はサーバ１１から識別情報２１１を取得する（Ｓ１０２）。重複情報生成部１０４は、リクエスト情報２０１と識別情報２１１とに基づき重複情報２２１を生成する（Ｓ１０３）。
【００４３】
重複判定部１０６は、重複情報２２１に基づき、端末１３から取得されたリクエスト情報２０１が重複するか否かを判定する（Ｓ１０４）。重複しない場合（Ｓ１０４：Ｎｏ）、ダウンロード部１０７はサーバ１１から当該リクエスト情報２０１に対応するファイルをダウンロードし（Ｓ１０５）、キャッシュ管理部１０８はダウンロードされたファイルをキャッシュする（Ｓ１０６）。送信部１０９は、当該リクエスト情報２０１に対応するファイルをキャッシュデータから取得し、当該リクエスト情報２０１の出力元の端末１３へ送信する（Ｓ１０８）。
【００４４】
一方、端末１３から取得されたリクエスト情報２０１が重複すると判定された場合（Ｓ１０４：Ｙｅｓ）、重複判定部１０６は、当該リクエスト情報２０１（例えば図６における「ｈｔｔｐ：／／１６２．１６８．１．２／ａ．ｅｓｄ」）を変更後リクエスト情報（例えば図６における「ｈｔｔｐ：／／１６２．１６８．１．１／ａ．ｅｓｄ」）に変換する（Ｓ１０７）。そして、送信部１０９は、変更後リクエスト情報に対応するファイルをキャッシュデータから取得し、変更前のリクエスト情報の出力元の端末１３へ送信する（Ｓ１０８）。すなわち、端末１３から取得されたリクエスト情報２０１が重複する場合（重複フラグが「１」である場合）、ファイルはサーバ１１からダウンロードされない。なお、端末１３から取得されたリクエスト情報２０１に対応するファイルが重複回避ファイルに該当するか否かの判断を、上述した削除条件を加味して行ってもよい。
【００４５】
上記のような機能を実現するための処理をキャッシュ管理装置１２に実行させるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ（Compact  Disc）−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供することが可能なものである。また、当該プログラムは、インターネット等のネットワーク経由で提供又は配布されてもよい。
【００４６】
上記実施形態によれば、実質的に同一の複数のファイルが重複してキャッシュされること抑制でき、キャッシュ管理装置１２の記憶領域の浪費を抑制できる。また、不要なダウンロードを抑制できるため、処理時間の短縮等を実現できる。
【００４７】
なお、上記実施形態においては、ＷＳＵＳサーバが提供するＫＢ番号を利用する構成を例示したが、本発明の実施形態はこれに限定されるものではない。例えば、リクエスト情報が重複しているか否かの判定をファイル名等に基づき行ってもよい。
【００４８】
上記実施形態において、重複情報２２１は、互いに重複している複数のリクエスト情報の配信元情報（ＦＱＤＮ）を共通化させた変更後リクエスト情報を含む。このような変更後リクエスト情報を用いることにより、実質的に同一のファイルをキャッシュ又はダウンロードすることなく、キャッシュデータから目的のファイルを取得できる。
【００４９】
また、上記実施形態において、サーバ１１がＷＳＵＳサーバであり、識別情報２１１がＫＢ番号を含む場合が示されている。このような構成とすることにより、マイクロソフト社製品のアップデータの管理を適切に行うことができる。
【００５０】
また、上記実施形態において、リクエスト情報取得部１０１により取得されたリクエスト情報２０１に対応するファイルは、所定の削除条件が満たされる場合には、重複的キャッシュが避けられる重複回避ファイルから除外される。これにより、重複しても影響が小さいファイルについてまで重複を回避するための処理が行われることを回避でき、処理不可を軽減できる。
【００５１】
以上、本発明の実施形態が例示されたが、上記実施形態は一例であって、発明の範囲を限定することは意図していない。上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。また、各構成や、形状、等のスペック（構造や、種類、方向、形式、大きさ、長さ、幅、厚さ、高さ、数、配置、位置、材質等）は、適宜に変更して実施することができる。
【符号の説明】
【００５２】
１…コンピュータシステム、１１…サーバ、１２…キャッシュ管理装置、１３…端末、１４，１５…コンピュータネットワーク、１０１…リクエスト情報取得部、１０２…識別情報取得部、１０３…識別情報記憶部、１０４…重複情報生成部、１０５…重複情報記憶部、１０６…重複判定部、１０７…ダウンロード部、１０８…キャッシュ管理部、１０９…送信部、２０１…リクエスト情報、２１１…識別情報、２２１…重複情報
【要約】
【課題】記憶領域の浪費を抑制する。
【解決手段】キャッシュ管理装置は、端末が要求するファイルを特定するファイル特定情報と、ファイルを配信するサーバを特定する配信元情報とを含むリクエスト情報を取得するリクエスト情報取得部と、サーバから配信されるファイルを識別する識別情報を取得する識別情報取得部と、識別情報に基づきリクエスト情報の重複の有無を示す重複情報を生成する重複情報生成部と、重複情報に基づきリクエスト情報取得部により取得されたリクエスト情報が重複しているか否かを判定する重複判定部と、重複判定部により重複していないと判定されたリクエスト情報に対応するファイルをサーバからダウンロードするダウンロード部と、ダウンロード部によりダウンロードされたファイルをキャッシュするキャッシュ管理部とを備える。
【選択図】図３【図１】
0006916456.tif 000002
【図２】
0006916456.tif 000003
【図３】
0006916456.tif 000004
【図４】
0006916456.tif 000005
【図５】
0006916456.tif 000006
【図６】
0006916456.tif 000007
【図７】
0006916456.tif 000008