(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022187875
(43)【公開日】2022-12-20
(54)【発明の名称】情報処理装置およびプログラム
(51)【国際特許分類】
G06F 16/172 20190101AFI20221213BHJP
【FI】
G06F16/172
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021096090
(22)【出願日】2021-06-08
(71)【出願人】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】佐藤 慶太
(57)【要約】
【課題】適切にキャッシュデータを削除することができる。
【解決手段】情報処理装置10は、キャッシュデータ11a-1,11a-2,・・・を、削除されてから再度取得される傾向のあるデータの特徴を示す再ヒット情報11bに示される特徴がある第1データと、再ヒット情報11bに示される特徴がない第2データとに分類する。そして、情報処理装置10は、第2データを第1データよりも削除されやすくなるよう設定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
キャッシュデータを記憶する記憶部と、
削除されてから再度取得される傾向のあるデータの特徴を示す再ヒット情報に基づいて、前記キャッシュデータを前記再ヒット情報に示される特徴がある第1データと、前記再ヒット情報に示される特徴がない第2データとに分類し、前記第2データを前記第1データよりも削除されやすくなるよう設定する処理部と、
を有する情報処理装置。
【請求項2】
前記処理部は、前記キャッシュデータのうち、時間が経過すると要求回数が減少する第3データを前記第1データと前記第2データとに分類する、
請求項1記載の情報処理装置。
【請求項3】
前記処理部は、前記キャッシュデータそれぞれの使用が完了したか否かを示すスケジュール情報に基づいて、前記キャッシュデータのうち使用が完了していない第4データを削除対象から除外する、
請求項1または2記載の情報処理装置。
【請求項4】
前記処理部は、前記キャッシュデータとして記憶された後、削除された第5データの識別情報を記録し、前記第5データが要求された場合、前記第5データの特徴を前記再ヒット情報に記録する、
請求項1ないし3のいずれかに記載の情報処理装置。
【請求項5】
コンピュータに、
削除されてから再度取得される傾向のあるデータの特徴を示す再ヒット情報に基づいて、キャッシュデータを前記再ヒット情報に示される特徴がある第1データと、前記再ヒット情報に示される特徴がない第2データとに分類し、
前記第2データを前記第1データよりも削除されやすくなるよう設定する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【0002】
ユーザが使用する端末がLAN(Local Area Network)の外部のサーバから取得するデータを、キャッシュデータとしてLAN内のキャッシュサーバに記憶しておくことがある。そして、キャッシュサーバがキャッシュデータを各端末に配信することで、各端末は外部のサーバにアクセスすることなくデータを取得できる。
【0003】
キャッシュサーバに関する技術としては、例えば、端末装置からコンテンツリクエストを受信したキャッシュサーバにおいて生じる処理の遅延を抑制する情報処理システムが提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
キャッシュデータを削除する制御として、例えば、キャッシュデータがメモリ容量の設定上限まで蓄積された場合、キャッシュされた日時の古いキャッシュデータから削除することがある。ここで、削除されたキャッシュデータの要求があった場合、キャッシュサーバは、要求のあったキャッシュデータを配信元から再度取得することとなる。よって、再度要求される可能性が低いキャッシュデータを削除することが好ましい。
【0006】
1つの側面では、本件は、適切にキャッシュデータを削除することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、記憶部と処理部とを有する情報処理装置が提供される。記憶部は、キャッシュデータを記憶する。処理部は、削除されてから再度取得される傾向のあるデータの特徴を示す再ヒット情報に基づいて、キャッシュデータを再ヒット情報に示される特徴がある第1データと、再ヒット情報に示される特徴がない第2データとに分類し、第2データを第1データよりも削除されやすくなるよう設定する。
【発明の効果】
【0008】
1態様によれば、適切にキャッシュデータを削除することができる。
【図面の簡単な説明】
【0009】
【
図1】第1の実施の形態に係る情報処理装置の一例を示す図である。
【
図2】第2の実施の形態に係る情報処理システムの一例を示す図である。
【
図3】情報処理装置のハードウェアの一構成例を示す図である。
【
図4】キャッシュデータの流れの一例を示す図である。
【
図6】上昇型のキャッシュヒット分布の一例を示す図である。
【
図7】減少型のキャッシュヒット分布の一例を示す図である。
【
図8】平均型のキャッシュヒット分布の一例を示す図である。
【
図9】V字型のキャッシュヒット分布の一例を示す図である。
【
図10】曜日特化型のキャッシュヒット分布の一例を示す図である。
【
図11】情報処理装置の機能例を示すブロック図である。
【
図15】再ヒット監視処理の手順の一例を示すフローチャートである。
【
図16】キャッシュデータ削除処理の手順の一例を示すフローチャートである。
【
図17】分布型順位設定処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理装置の一例を示す図である。第1の実施の形態は、キャッシュデータの削除を制御するものである。
【0011】
情報処理装置10は、サーバ等から配信されるデータをキャッシュし、キャッシュしたデータを他の端末に配信するコンピュータである。情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、情報処理装置10が実行する処理に用いられるデータを記憶する。記憶部11は、例えば、情報処理装置10が有するメモリまたはストレージ装置である。処理部12は、情報処理装置10を制御し、所要の処理を実行可能である。処理部12は、例えば、情報処理装置10が有するプロセッサまたは演算回路である。
【0012】
記憶部11は、キャッシュデータ11a-1,11a-2,・・・および再ヒット情報11bを記憶する。キャッシュデータ11a-1,11a-2,・・・は、サーバが配信するデータをキャッシュしたものである。キャッシュデータ11a-1,11a-2,・・・は、例えば、動画像データやOS(Operating System)のアップデートデータ等である。
【0013】
再ヒット情報11bは、削除されてから再度取得される傾向のあるデータの特徴を示す。再ヒット情報11bは、例えば、キャッシュデータ11a-1,11a-2,・・・として記憶部11に記憶され、記憶部11から削除された後、再度キャッシュデータ11a-1,11a-2,・・・として記憶部11にキャッシュされたデータの特徴である。再ヒット情報11bに示される特徴は、例えば、データを取得するためのURL(Uniform Resource Locator)の一部、データを要求した端末のLAN内でのグループ、データが要求された回数、データサイズ等を含む。
【0014】
処理部12は、再ヒット情報11bに基づいて、キャッシュデータ11a-1,11a-2,・・・を第1データと第2データとに分類し、第1データおよび第2データそれぞれの削除のされやすさを設定するものである。まず、処理部12は、キャッシュデータ11a-1,11a-2,・・・のうち、時間が経過すると要求回数が減少する第3データを抽出する。
【0015】
処理部12は、抽出した第3データを再ヒット情報11bに示される特徴がある第1データと、再ヒット情報11bに示される特徴がない第2データとに分類する。例えば、処理部12は、キャッシュデータ11a-1を取得するためのURLの一部が、再ヒット情報11bに示されるURLの一部と一致する場合、キャッシュデータ11a-1を第1データに分類する。また、例えば、処理部12は、キャッシュデータ11a-2を取得するためのURLの一部が、再ヒット情報11bに示されるURLの一部と一致しない場合、キャッシュデータ11a-2を第2データに分類する。
【0016】
そして、処理部12は、第2データを第1データよりも削除されやすくなるよう設定する。例えば、処理部12は、キャッシュデータ11a-1,11a-2,・・・の一部を削除する場合、まず第1データを削除する。そして、処理部12は、第1データ削除後のキャッシュデータ11a-1,11a-2,・・・の合計サイズが所定のサイズ以上であった場合に第2データを削除する。
【0017】
第1の実施の形態によれば、情報処理装置10の記憶部11は、キャッシュデータ11a-1,11a-2,・・・を記憶する。情報処理装置10の処理部12は、削除されてから再度取得される傾向のあるデータの特徴を示す再ヒット情報11bに基づいて、キャッシュデータ11a-1,11a-2,・・・を再ヒット情報11bに示される特徴がある第1データと、再ヒット情報11bに示される特徴がない第2データとに分類する。そして、処理部12は、第2データを第1データよりも削除されやすくなるよう設定する。
【0018】
これにより、情報処理装置10は、キャッシュデータ11a-1,11a-2,・・・のうち、再度要求される可能性の高いデータよりも再度要求される可能性の低いデータが優先して削除されるよう設定できる。よって、情報処理装置10は、適切にキャッシュデータを削除することができる。
【0019】
また、処理部12は、キャッシュデータ11a-1,11a-2,・・・のうち、時間が経過すると要求回数が減少する第3データを第1データと第2データとに分類する。ここで、時間が経過すると要求回数が減少するデータは、優先して削除されることが多い。よって、情報処理装置10は、削除対象となりやすいデータから、再度要求される可能性の高いデータを抽出することができる。
【0020】
なお、処理部12は、キャッシュデータ11a-1,11a-2,・・・それぞれの使用が完了したか否かを示すスケジュール情報に基づいて、キャッシュデータ11a-1,11a-2,・・・のうち使用が完了していない第4データを削除対象から除外してもよい。これにより、情報処理装置10は、再度要求される可能性の高いデータが削除されないよう設定できる。
【0021】
また、処理部12は、キャッシュデータ11a-1,11a-2,・・・として記憶された後、削除された第5データの識別情報を記録し、第5データが要求された場合、第5データの特徴を再ヒット情報11bに記録してもよい。これにより、情報処理装置10は、キャッシュデータ11a-1,11a-2,・・・を分類するための再ヒット情報11bを作成できる。
【0022】
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第2の実施の形態は、学校内の端末で使用するデータを校内の情報処理装置にキャッシュしておくものである。
【0023】
図2は、第2の実施の形態に係る情報処理システムの一例を示す図である。学校20は、教室21a,21b,22a,22b,23a,23bを有する。教室21a,21bは、それぞれ同じ学年の教室である。また、教室22a,22bは、それぞれ同じ学年の教室である。また、教室23a,23bは、それぞれ同じ学年の教室である。
【0024】
また、学校20は、校内LAN40を有する。校内LAN40は、外部回線を介してネットワーク30に接続されている。ネットワーク30は、インターネットや教育委員会のネットワーク等を含む広域ネットワークである。また、ネットワーク30には、配信サーバ50が接続されている。配信サーバ50は、データの管理および配信をするサーバである。例えば、配信サーバ50は、教育用の動画コンテンツを配信する。
【0025】
校内LAN40には、AP(Access Point:アクセスポイント)21a-2,21b-2,22a-2,22b-2,23a-2,23b-2、校内サーバ60および情報処理装置100-1,100-2,100-3が接続されている。AP21a-2,21b-2,22a-2,22b-2,23a-2,23b-2は、学校20内でユーザ(例えば、教員および生徒)が操作する端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1を校内LAN40に接続させる。
【0026】
例えば、AP21a-2は、教室21a内の端末21a-1と無線通信を行い、端末21a-1が校内LAN40に接続するための中継をする。また、例えば、AP21b-2は、教室21b内の端末21b-1が校内LAN40に接続するための中継をする。また、例えば、AP22a-2は、教室22a内の端末22a-1が校内LAN40に接続するための中継をする。また、例えば、AP22b-2は、教室22b内の端末22b-1が校内LAN40に接続するための中継をする。また、例えば、AP23a-2は、教室23a内の端末23a-1が校内LAN40に接続するための中継をする。また、例えば、AP23b-2は、教室23b内の端末23b-1が校内LAN40に接続するための中継をする。
【0027】
校内サーバ60は、学校20内に置かれたサーバであり、成績情報等の管理を行う。また、校内サーバ60は、情報処理装置100-1,100-2,100-3がキャッシュしたデータの管理を行う。
【0028】
情報処理装置100-1,100-2,100-3は、キャッシュ機能を搭載したエッジコンピュータである。ここで、教室21a,21b内の装置(例えば、端末21a-1,21b-1)および情報処理装置100-1は、校内LAN40におけるIP(Internet Protocol)アドレスの所定のセグメントを共有するグループである。また、教室22a,22b内の装置(例えば、端末22a-1,22b-1)および情報処理装置100-2は、校内LAN40におけるIPアドレスの所定のセグメントを共有するグループである。また、教室23a,23b内の装置(例えば、端末23a-1,23b-1)および情報処理装置100-3は、校内LAN40におけるIPアドレスの所定のセグメントを共有するグループである。
【0029】
情報処理装置100-1,100-2,100-3それぞれは、配信サーバ50が配信するデータをキャッシュし、キャッシュしたデータを自装置と同じグループの端末に配信する。例えば、情報処理装置100-1は、キャッシュしたデータを端末21a-1,21b-1に配信する。また、例えば、情報処理装置100-2は、キャッシュしたデータを端末22a-1,22b-1に配信する。また、例えば、情報処理装置100-3は、キャッシュしたデータを端末23a-1,23b-1に配信する。なお、情報処理装置100-1,100-2,100-3は、校内LAN40に接続するためのアクセスポイントとしての機能を有していてもよい。
【0030】
図3は、情報処理装置のハードウェアの一構成例を示す図である。情報処理装置100-1は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス107を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現してもよい。
【0031】
メモリ102は、情報処理装置100-1の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えば、RAM(Random Access Memory)等の揮発性の半導体記憶装置が使用される。
【0032】
バス107に接続されている周辺機器としては、ストレージ装置103、媒体リーダ104、ネットワークインタフェース105およびAP106がある。ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、情報処理装置100-1の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0033】
媒体リーダ104は、記録媒体41に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体41として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリ等を使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
【0034】
ネットワークインタフェース105は、校内LAN40に接続されている。ネットワークインタフェース105は、校内LAN40を介して、他の装置との間でデータの送受信を行う。AP106は、他の装置と無線通信し、通信先の装置を校内LAN40に接続させる。
【0035】
情報処理装置100-1は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、情報処理装置100-2,100-3も、
図3に示した情報処理装置100-1と同様のハードウェアにより実現することができる。また、第1の実施の形態に示した情報処理装置10も、
図3に示した情報処理装置100-1と同様のハードウェアにより実現することができる。また、プロセッサ101は、第1の実施の形態に示した処理部12の一例である。また、メモリ102またはストレージ装置103は、第1の実施の形態に示した記憶部11の一例である。
【0036】
また、端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1、配信サーバ50および校内サーバ60も、
図3に示した情報処理装置100-1と同様のハードウェアにより実現することができる。なお、端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1、配信サーバ50および校内サーバ60は、キーボード、マウス等の入力装置やモニタ等をさらに有していてもよい。また、端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1、配信サーバ50および校内サーバ60は、APを有していなくてもよい。
【0037】
情報処理装置100-1は、例えば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。情報処理装置100-1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置100-1に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また、情報処理装置100-1に実行させるプログラムを、記録媒体41に記録しておくこともできる。記録媒体41に格納されたプログラムは、例えば、プロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。また、プロセッサ101が、記録媒体41から直接プログラムを読み出して実行することもできる。
【0038】
次に、キャッシュデータの流れについて説明する。
図4は、キャッシュデータの流れの一例を示す図である。
図4の例では、端末21a-1が配信サーバ50が配信するデータd1を取得する。まず、端末21a-1は、情報処理装置100-1にデータd1を要求する。情報処理装置100-1は、データd1をキャッシュしていない場合、データd1を配信サーバ50に要求する。
【0039】
情報処理装置100-1は、データd1を配信サーバ50から取得し、キャッシュデータとして保存する。そして、情報処理装置100-1は、キャッシュしたデータd1を端末21a-1に配信する。これにより、情報処理装置100-1は、他の端末(例えば、端末21b-1)からデータd1を要求された場合、配信サーバ50にアクセスすることなく、キャッシュしたデータd1を配信することができる。
【0040】
次に、横連携について説明する。
図5は、横連携の一例を示す図である。情報処理装置100-1,100-2,100-3は、配信サーバ50からデータを取得するのに代えて、他の情報処理装置のキャッシュデータを取得する(横連携する)こともできる。
図5の例では、情報処理装置100-1が情報処理装置100-2から配信サーバ50が配信するデータd2を取得し、端末21a-1に配信する。
【0041】
まず、端末21a-1は、情報処理装置100-1にデータd2を要求する。情報処理装置100-1は、データd2をキャッシュしていない場合、情報処理装置100-2にデータd2をキャッシュしているか否かを問い合わせる。情報処理装置100-1は、情報処理装置100-2がデータd2をキャッシュしている場合、データd2を情報処理装置100-1にコピーする(横連携する)。そして、情報処理装置100-1は、キャッシュしたデータd2を端末21a-1に配信する。これにより、情報処理装置100-1は、配信サーバ50にアクセスすることなく、データd2を配信することができる。
【0042】
このようにして、情報処理装置100-1は、配信サーバ50または情報処理装置100-2,100-3からデータをキャッシュし、端末21a-1にキャッシュデータを配信する。なお、情報処理装置100-1に記憶されたキャッシュデータそれぞれの、時間経過に応じた要求回数の変化(キャッシュヒット分布型)は異なることがある。次に、キャッシュヒット分布型について説明する。
【0043】
図6は、上昇型のキャッシュヒット分布の一例を示す図である。グラフG1の縦軸はキャッシュヒット数(データの要求回数)を示す。また、グラフG1の横軸は月日である。グラフG1は、時間経過に伴ってキャッシュヒット数が上昇するキャッシュデータのキャッシュヒット分布である。
【0044】
図7は、減少型のキャッシュヒット分布の一例を示す図である。グラフG2の縦軸は、キャッシュヒット数を示す。また、グラフG2の横軸は、月日を示す。グラフG2は、時間経過に伴ってキャッシュヒット数が減少するキャッシュデータのキャッシュヒット分布である。
【0045】
図8は、平均型のキャッシュヒット分布の一例を示す図である。グラフG3の縦軸は、キャッシュヒット数を示す。また、グラフG3の横軸は、月日を示す。グラフG3は、所定期間内でキャッシュヒット数が平均値近傍に集中するキャッシュデータのキャッシュヒット分布である。
【0046】
図9は、V字型のキャッシュヒット分布の一例を示す図である。グラフG4の縦軸は、キャッシュヒット数を示す。また、グラフG4の横軸は、月日を示す。グラフG4は、所定期間時間経過に伴ってキャッシュヒット数が減少し、所定期間経過後時間経過に伴ってキャッシュヒット数が上昇するキャッシュデータのキャッシュヒット分布である。
【0047】
図10は、曜日特化型のキャッシュヒット分布の一例を示す図である。グラフG5の縦軸は、キャッシュヒット数を示す。また、グラフG5の横軸は、曜日を示す。グラフG5は、特定の曜日にキャッシュヒットが集中するキャッシュデータのキャッシュヒット分布である。
【0048】
ここで、情報処理装置100-1は、例えば、記憶しているキャッシュデータの合計サイズが所定のサイズより大きくなった場合、一部のキャッシュデータを削除する。なお、端末21a-1が、削除済みのキャッシュデータを情報処理装置100-1に要求した場合、情報処理装置100-1は、要求のあったキャッシュデータを配信サーバ50または情報処理装置100-2,100-3から再度取得することとなる。そのため、時間が経過すると要求が少なくなる減少型のキャッシュデータを優先的に削除することが考えられる。
【0049】
しかし、減少型のキャッシュデータであっても、キャッシュヒット数が増加する場合もある。例えば、キャッシュされてから所定期間では減少型のキャッシュデータが、時間経過に伴ってキャッシュヒット数が上昇し、V字型となることがある。そこで、第2の実施の形態では、情報処理装置100-1は、削除後に再ヒットしたキャッシュデータの特徴に基づいて、減少型のキャッシュデータを分類し、削除するキャッシュデータを決定する。
【0050】
次に、情報処理装置100-1の機能について詳細に説明する。
図11は、情報処理装置の機能例を示すブロック図である。情報処理装置100-1は、記憶部110、再ヒット監視部120、キャッシュ削除部130および順位設定部140を有する。記憶部110は、メモリ102またはストレージ装置103の記憶領域を用いて実現される。再ヒット監視部120、キャッシュ削除部130および順位設定部140は、メモリ102に記憶されたプログラムをプロセッサ101が実行することで実現される。
【0051】
記憶部110は、キャッシュデータ111-1,111-2,・・・、キャッシュ情報112、スケジュール情報113および再ヒット情報114を記憶する。キャッシュデータ111-1,111-2,・・・は、サーバ(例えば、配信サーバ50)が配信するデータをキャッシュしたものである。キャッシュ情報112は、キャッシュデータ111-1,111-2,・・・および情報処理装置100-1から削除済みのキャッシュデータの情報である。なお、削除済みのキャッシュデータは、第1の実施の形態に示した第5データの一例である。スケジュール情報113は、キャッシュデータ111-1,111-2,・・・の使用スケジュールである。再ヒット情報114は、削除されてから再度取得される傾向のあるデータの特徴を記録した情報である。
【0052】
再ヒット監視部120は、削除済みのキャッシュデータの要求があった場合、要求された削除済みのキャッシュデータの特徴を再ヒット情報114に記録する。例えば、再ヒット監視部120は、要求されたキャッシュデータのデータ名が、削除済みのキャッシュデータのデータ名としてキャッシュ情報112に登録されている場合、削除済みのキャッシュデータの要求があったと判定する。そして、再ヒット監視部120は、要求された削除済みのキャッシュデータを取得するためのURLの先頭からドメイン名までの範囲を再ヒット情報114に記録する。
【0053】
キャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・を記憶する空き容量が十分でなくなると、キャッシュデータ111-1,111-2,・・・のうち、順位設定部140が削除対象に設定したキャッシュデータを削除する。ここで、キャッシュ削除部130は、使用が完了していないキャッシュデータを削除対象から除外する。使用が完了していないキャッシュデータは、第1の実施の形態に示した第4データの一例である。また、キャッシュ削除部130は、削除対象のキャッシュデータのうち、順位設定部140が削除保留対象に設定したキャッシュデータ以外のキャッシュデータを削除し、削除後の空き容量が不十分である場合に、削除保留対象のキャッシュデータを削除する。
【0054】
順位設定部140は、キャッシュデータ削除の際に情報処理装置100-1に残すキャッシュデータの優先順位を設定する。まず、順位設定部140は、優先度第1位の条件で、キャッシュデータ111-1,111-2,・・・の優先順位を設定する。例えば、優先度第1位の条件が最終ヒット日の場合、順位設定部140は、最終ヒット日が新しいキャッシュデータが上位となるようにキャッシュデータ111-1,111-2,・・・の順位付けをする。順位設定部140は、キャッシュデータ111-1,111-2,・・・のうち、優先度第1位の条件で設定された順位が下位半分となったキャッシュデータを抽出する。
【0055】
次に、順位設定部140は、優先度第2位の条件で、抽出されたキャッシュデータの優先順位を設定する。例えば、優先度第2位の条件がヒット数の場合、順位設定部140は、ヒット数が多いキャッシュデータが上位となるように抽出されたキャッシュデータの順位付けをする。順位設定部140は、優先度第2位の条件で設定された順位が下位半分となったキャッシュデータを抽出する。
【0056】
次に、順位設定部140は、優先度第3位の条件で、抽出されたキャッシュデータの優先順位を設定する。例えば、優先度第3位の条件が分布型の場合、順位設定部140は、抽出されたキャッシュデータを順位設定対象として分布型順位設定処理を実行する。
【0057】
分布型順位設定処理では、まず、順位設定部140は、分布型に応じて、順位設定対象のキャッシュデータの優先順位を設定する。例えば、順位設定部140は、上昇型、減少型、平均型、V字型、曜日特化型のうち、上昇型および平均型のキャッシュデータが最も上位となるように順位設定対象のキャッシュデータの順位付けをする。また、順位設定部140は、V字型および曜日特化型のキャッシュデータが上昇型および平均型のキャッシュデータの次に上位となるように順位設定対象のキャッシュデータの順位付けをする。順位設定部140は、上昇型、減少型、平均型、V字型、曜日特化型のうち、減少型のキャッシュデータが最も下位となるように順位設定対象のキャッシュデータの順位付けをする。なお、減少型のキャッシュデータは、第1の実施の形態に示した第3データの一例である。
【0058】
次に、順位設定部140は、減少型のキャッシュデータのうち、再ヒット情報114に示される特徴がないキャッシュデータを再ヒット情報114に示される特徴があるキャッシュデータよりも削除されやすくなるよう設定する。例えば、順位設定部140は、あるキャッシュデータを取得するためのURLの先頭からドメイン名までの範囲が再ヒット情報114に登録されている場合、当該キャッシュデータを削除保留対象に設定する。
【0059】
なお、再ヒット情報114に示される特徴があるキャッシュデータは、第1の実施の形態に示した第1データの一例である。また、再ヒット情報114に示される特徴がないキャッシュデータは、第1の実施の形態に示した第2データの一例である。そして、順位設定部140は、優先度第3位の条件で設定された順位が下位半分となったキャッシュデータを削除対象に設定する。
【0060】
なお、
図11に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。次に、記憶部110が記憶する情報について詳細に説明する。
【0061】
図12は、キャッシュ情報の一例を示す図である。キャッシュ情報112には、キャッシュデータ111-1,111-2,・・・および削除済みのキャッシュデータの情報が記録される。削除済みのキャッシュデータの情報は、当該キャッシュデータが削除されてから一定期間だけキャッシュ情報112に記録され、一定期間経過後に削除されてもよい。キャッシュ情報112には、データ名、キャッシュ日、容量、URL、再ヒットフラグ、横連携回数、ヒット数、最終ヒット日、Max-ageおよび分布型の欄が設けられている。
【0062】
データ名の欄には、キャッシュデータの名称が設定される。なお、削除済みのキャッシュデータの名称は、第1の実施の形態に示した第5データの識別情報の一例である。キャッシュ日の欄には、キャッシュデータがキャッシュされた日付が設定される。容量の欄には、キャッシュデータの容量が設定される。URLの欄には、キャッシュデータを取得するためのURLが設定される。再ヒットフラグの欄には、キャッシュデータが再ヒットしたことを示す「1」または再ヒットしていないことを示す「0」が設定される。横連携回数の欄には、キャッシュデータが横連携された回数が設定される。ヒット数の欄には、端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1からキャッシュデータが要求された回数が設定される。最終ヒット日の欄には、キャッシュデータが最後に要求された日付が設定される。
【0063】
Max-ageの欄には、配信サーバ50が設定した、キャッシュデータのキャッシュがされてから有効期限までの時間が秒単位で設定される。なお、キャッシュデータが削除済みの場合、Max-ageの欄には、「なし」が設定される。分布型の欄には、キャッシュデータの分布型が設定される。また、横連携回数、ヒット数、最終ヒット日、Max-ageおよび分布型の欄は、優先度が設定される。
【0064】
図13は、スケジュール情報の一例を示す図である。スケジュール情報113には、キャッシュデータ111-1,111-2,・・・の使用スケジュールが登録される。例えば、スケジュール情報113には、キャッシュデータ111-1,111-2,・・・それぞれを使用する授業の各クラスの進捗が記録される。
【0065】
また、スケジュール情報113には、キャッシュデータの使用が完了しているか否かを示す完了フラグの欄が設けられている。完了フラグの欄には、初期値として「0」が設定される。あるキャッシュデータを使用する授業が全クラスで完了すると(つまり、当該キャッシュデータの使用が完了すると)、スケジュール情報113の当該キャッシュデータに対応する完了フラグの欄に「1」が設定される。
【0066】
図14は、再ヒット情報の一例を示す図である。再ヒット情報114には、再ヒットしたキャッシュデータの特徴が記録される。一例として、再ヒット情報114には、再ヒットしたキャッシュデータを取得するためのURLの一部(例えば、先頭からドメイン名までの範囲)が記録される。
【0067】
以下、情報処理装置100-1が実行する処理の手順について、詳細に説明する。まず、再ヒット監視処理について説明する。
図15は、再ヒット監視処理の手順の一例を示すフローチャートである。以下、
図15に示す処理をステップ番号に沿って説明する。
【0068】
[ステップS11]再ヒット監視部120は、削除済みのキャッシュデータの要求があったか否かを判定する。例えば、再ヒット監視部120は、データ名の欄に要求されたキャッシュデータの名称が設定され、Max-ageの欄に「なし」が設定されているレコードがキャッシュ情報112に登録されている場合、削除済みのキャッシュデータの要求があったと判定する。再ヒット監視部120は、削除済みのキャッシュデータの要求があったと判定した場合、処理をステップS12に進める。また、再ヒット監視部120は、削除済みのキャッシュデータの要求がなかったと判定した場合、処理をステップS11に進める。
【0069】
[ステップS12]再ヒット監視部120は、要求された削除済みのキャッシュデータについて、再ヒットフラグを立てる。例えば、再ヒット監視部120は、キャッシュ情報112の、要求された削除済みのキャッシュデータに対応するレコードの再ヒットフラグの欄に「1」を設定する。
【0070】
[ステップS13]再ヒット監視部120は、要求された削除済みのキャッシュデータを取得するためのURLの先頭からドメイン名までの範囲を再ヒット情報114に記録する。そして、処理がステップS11に進む。
【0071】
このように、再ヒット監視部120は、削除済みのキャッシュデータが要求された場合、要求されたキャッシュデータの特徴を再ヒット情報114に記録する。これにより、キャッシュデータ削除の際に、残すキャッシュデータの優先順位を設定する順位設定部140が、キャッシュデータ111-1,111-2,・・・から再ヒットしやすいキャッシュデータを分類できるようになる。次に、キャッシュデータ削除処理について説明する。
【0072】
図16は、キャッシュデータ削除処理の手順の一例を示すフローチャートである。以下、
図16に示す処理をステップ番号に沿って説明する。
[ステップS21]キャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・それぞれのキャッシュヒット型を判別する。例えば、キャッシュ削除部130は、キャッシュ情報112の、時間経過に伴ってキャッシュヒット数が上昇するキャッシュデータに対応するレコードの分布型の欄に「上昇型」を設定する。また、キャッシュ削除部130は、キャッシュ情報112の、時間経過に伴ってキャッシュヒット数が減少するキャッシュデータに対応するレコードの分布型の欄に「減少型」を設定する。
【0073】
また、キャッシュ削除部130は、キャッシュ情報112の、所定期間内でキャッシュヒット数が平均値近傍に集中するキャッシュデータに対応するレコードの分布型の欄に「平均型」を設定する。また、キャッシュ削除部130は、キャッシュ情報112の、所定期間時間経過に伴ってキャッシュヒット数が減少し、所定期間経過後時間経過に伴ってキャッシュヒット数が上昇するキャッシュデータに対応するレコードの分布型の欄に「V字型」を設定する。また、キャッシュ削除部130は、キャッシュ情報112の、特定の曜日にキャッシュヒットが集中するキャッシュデータに対応するレコードの分布型の欄に「曜日特化型」を設定する。
【0074】
[ステップS22]キャッシュ削除部130は、削除するキャッシュデータを決定する条件の優先度を設定する。例えば、キャッシュ削除部130は、横連携回数、ヒット数、最終ヒット日、Max-ageおよび分布型から優先度が第1位、第2位、第3位の条件の選択をユーザから受け付ける。そして、キャッシュ削除部130は、選択された条件の優先度をそれぞれ第1位、第2位、第3位に設定する。
【0075】
[ステップS23]キャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・を記憶する空き容量が十分であるか否かを判定する。例えば、キャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・の合計サイズが所定のサイズ以下の場合、キャッシュデータ111-1,111-2,・・・を記憶する空き容量が十分であると判定する。キャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・を記憶する空き容量が十分であると判定した場合、処理をステップS23に進める。また、キャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・を記憶する空き容量が不十分であると判定した場合、処理をステップS24に進める。
【0076】
[ステップS24]順位設定部140は、優先度第1位の条件で、キャッシュデータ111-1,111-2,・・・の優先順位を設定する。例えば、優先度第1位の条件が最終ヒット日の場合、順位設定部140は、最終ヒット日が新しいキャッシュデータが上位となるようにキャッシュデータ111-1,111-2,・・・の順位付けをする。
【0077】
[ステップS25]順位設定部140は、キャッシュデータ111-1,111-2,・・・のうち、ステップS24で設定された順位が下位半分となったキャッシュデータを抽出する。
【0078】
[ステップS26]順位設定部140は、優先度第2位の条件で、ステップS25で抽出されたキャッシュデータの優先順位を設定する。例えば、優先度第2位の条件がヒット数の場合、順位設定部140は、ヒット数が多いキャッシュデータが上位となるようにステップS25で抽出されたキャッシュデータの順位付けをする。
【0079】
[ステップS27]順位設定部140は、ステップS25で抽出されたキャッシュデータのうち、ステップS26で設定された順位が下位半分となったキャッシュデータを抽出する。
【0080】
[ステップS28]順位設定部140は、優先度第3位の条件で、ステップS27で抽出されたキャッシュデータの優先順位を設定する。例えば、優先度第3位の条件が分布型の場合、順位設定部140は、ステップS27で抽出されたキャッシュデータを順位設定対象として分布型順位設定処理を実行する。分布型順位設定処理の詳細については後述する(
図17参照)。なお、順位設定部140は、分布型順位設定処理において、一部のキャッシュデータを削除保留対象に設定する。
【0081】
[ステップS29]順位設定部140は、ステップS27で抽出されたキャッシュデータのうち、ステップS28で設定された順位が下位半分となったキャッシュデータを抽出する。
【0082】
[ステップS30]キャッシュ削除部130は、使用が完了していないキャッシュデータを削除対象から除外する。例えば、キャッシュ削除部130は、スケジュール情報113の完了フラグの欄に「0」が設定されているキャッシュデータを削除対象から除外する。
【0083】
[ステップS31]キャッシュ削除部130は、ステップS29で抽出されたキャッシュデータのうち、削除保留対象以外のキャッシュデータを削除する。
[ステップS32]キャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・を記憶する空き容量が十分であるか否かを判定する。キャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・を記憶する空き容量が十分であると判定した場合、処理をステップS23に進める。また、キャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・を記憶する空き容量が不十分であると判定した場合、処理をステップS33に進める。
【0084】
[ステップS33]キャッシュ削除部130は、ステップS29で抽出されたキャッシュデータのうち、削除保留対象のキャッシュデータを削除する。そして、処理がステップS23に進む。
【0085】
このように、キャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・を記憶する空き容量が不十分になると、順位設定部140が設定した優先順位に従ってキャッシュデータ111-1,111-2,・・・の一部を削除する。なお、上記の例では、優先度第1位の条件が最終ヒット日、第2位の条件がヒット数、第3位の条件が分布型に設定されていたが、優先度第1位の条件、第2位の条件、第3位の条件の組み合わせが他の組み合わせであってもよい。キャッシュ削除部130は、条件の優先度に応じて順位設定部140が設定した優先順位に従ってキャッシュデータを削除することで、キャッシュデータの重要度に応じたキャッシュ制御を可能にすることができる。
【0086】
また、キャッシュ削除部130は、使用が完了していないキャッシュデータを削除対象から除外する。これにより、キャッシュ削除部130は、再ヒットする可能性が高いキャッシュデータを情報処理装置100-1に残すことができる。次に、分布型順位設定処理について説明する。
【0087】
図17は、分布型順位設定処理の手順の一例を示すフローチャートである。以下、
図17に示す処理をステップ番号に沿って説明する。
[ステップS41]順位設定部140は、分布型に応じて、順位設定対象のキャッシュデータの優先順位を設定する。例えば、順位設定部140は、上昇型、減少型、平均型、V字型、曜日特化型のうち、上昇型および平均型のキャッシュデータが最も上位となるように順位設定対象のキャッシュデータの順位付けをする。また、順位設定部140は、V字型および曜日特化型のキャッシュデータが上昇型および平均型のキャッシュデータの次に上位となるように順位設定対象のキャッシュデータの順位付けをする。順位設定部140は、上昇型、減少型、平均型、V字型、曜日特化型のうち、減少型のキャッシュデータが最も下位となるように順位設定対象のキャッシュデータの順位付けをする。
【0088】
[ステップS42]順位設定部140は、順位設定対象のキャッシュデータのうち、減少型のキャッシュデータを1つ選択する。
[ステップS43]順位設定部140は、ステップS42で選択したキャッシュデータが再ヒットしたものであるか否かを判定する。例えば、順位設定部140は、キャッシュ情報112の、ステップS42で選択したキャッシュデータに対応するレコードの再ヒットフラグの欄に「1」が設定されている場合、ステップS42で選択したキャッシュデータが再ヒットしたものであると判定する。順位設定部140は、ステップS42で選択したキャッシュデータが再ヒットしたものであると判定した場合、処理をステップS44に進める。また、順位設定部140は、ステップS42で選択したキャッシュデータが再ヒットしたものではないと判定した場合、処理をステップS45に進める。
【0089】
[ステップS44]順位設定部140は、ステップS42で選択したキャッシュデータを、減少型のキャッシュデータの中で上位(例えば、最上位)に並び替える。
[ステップS45]順位設定部140は、減少型のキャッシュデータをすべて選択したか否かを判定する。順位設定部140は、減少型のキャッシュデータをすべて選択したと判定した場合、処理をステップS46に進める。また、順位設定部140は、選択していない減少型のキャッシュデータが残っていると判定した場合、処理をステップS42に進める。
【0090】
[ステップS46]順位設定部140は、順位設定対象のキャッシュデータの下位半分に含まれる減少型のキャッシュデータを1つ選択する。
[ステップS47]順位設定部140は、ステップS46で選択したキャッシュデータに再ヒット情報114に示される特徴があるか否かを判定する。例えば、順位設定部140は、キャッシュ情報112の、ステップS46で選択したキャッシュデータに対応するレコードのURLの欄に設定されているURLを特定する。そして、順位設定部140は、特定したURLの先頭からドメイン名までの範囲が再ヒット情報114に登録されている場合、ステップS46で選択したキャッシュデータに再ヒット情報114に示される特徴があると判定する。順位設定部140は、ステップS46で選択したキャッシュデータに再ヒット情報114に示される特徴があると判定した場合、処理をステップS48に進める。また、順位設定部140は、ステップS46で選択したキャッシュデータに再ヒット情報114に示される特徴がないと判定した場合、処理をステップS49に進める。
【0091】
[ステップS48]順位設定部140は、ステップS46で選択したキャッシュデータを削除保留対象に設定する。
[ステップS49]順位設定部140は、順位設定対象のキャッシュデータの下位半分に含まれる減少型のキャッシュデータをすべて選択したか否かを判定する。順位設定部140は、順位設定対象のキャッシュデータの下位半分に含まれる減少型のキャッシュデータをすべて選択したと判定した場合、処理を終了する。また、順位設定部140は、選択していない順位設定対象のキャッシュデータの下位半分に含まれる減少型のキャッシュデータが残っていると判定した場合、処理をステップS46に進める。
【0092】
このように、順位設定部140は、上昇型、減少型、平均型、V字型、曜日特化型のうち、減少型のキャッシュデータが下位となるように順位付けをする。これにより、順位設定部140は、再ヒットする可能性が低い減少型のキャッシュデータが削除されやすいように設定できる。また、順位設定部140は、減少型のキャッシュデータのうち、再ヒット情報114に示される特徴があるキャッシュデータを削除保留対象に設定する。これにより、順位設定部140は、減少型のキャッシュデータの中で再ヒットする可能性が高いキャッシュデータを削除されにくいように設定できる。よって、キャッシュ削除部130が適切にキャッシュデータを削除できるようになる。
【0093】
第2の実施の形態によれば、情報処理装置100-1の記憶部110は、キャッシュデータ111-1,111-2,・・・を記憶する。情報処理装置100-1の順位設定部140は、削除されてから再度取得される傾向のあるデータの特徴を示す再ヒット情報114に基づいて、キャッシュデータ111-1,111-2,・・・を再ヒット情報114に示される特徴があるキャッシュデータと、再ヒット情報114に示される特徴がないキャッシュデータとに分類する。そして、順位設定部140は、再ヒット情報114に示される特徴がないキャッシュデータを再ヒット情報114に示される特徴があるキャッシュデータよりも削除されやすくなるよう設定する。
【0094】
これにより、情報処理装置100-1は、キャッシュデータ111-1,111-2,・・・のうち、再度要求される可能性の高いデータよりも再度要求される可能性の低いデータが優先して削除されるよう設定できる。よって、情報処理装置100-1は、適切にキャッシュデータを削除することができる。
【0095】
また、順位設定部140は、キャッシュデータ111-1,111-2,・・・のうち、時間が経過すると要求回数が減少する減少型のキャッシュデータを再ヒット情報114に示される特徴があるキャッシュデータと、再ヒット情報114に示される特徴がないキャッシュデータとに分類する。これにより、情報処理装置100-1は、削除対象となりやすいデータから、再度要求される可能性の高いデータを抽出することができる。
【0096】
また、情報処理装置100-1のキャッシュ削除部130は、キャッシュデータ111-1,111-2,・・・それぞれの使用が完了したか否かを示すスケジュール情報113に基づいて、キャッシュデータ111-1,111-2,・・・のうち使用が完了していないキャッシュデータを削除対象から除外する。これにより、情報処理装置100-1は、再度要求される可能性の高いデータが削除されないよう設定できる。
【0097】
また、順位設定部140は、削除済みのキャッシュデータの名称を記録し、削除済みのキャッシュデータが要求された場合、削除済みのキャッシュデータの特徴を再ヒット情報114に記録する。これにより、情報処理装置100-1は、キャッシュデータ111-1,111-2,・・・を分類するための再ヒット情報114を作成できる。
【0098】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0099】
10 情報処理装置
11 記憶部
11a-1,11a-2,・・・ キャッシュデータ
11b 再ヒット情報
12 処理部