(57)【特許請求の範囲】
【請求項１】
キャッシュデータを保存する記憶部と、
前記キャッシュデータを前記記憶部に保存させる際の指標となる条件によって前記キャッシュデータを分類し、前記条件ごとに第１の優先順位を設定し、前記記憶部の蓄積容量が閾値以上になったことを検出した場合、前記第１の優先順位にもとづき選択した前記条件によって分類される前記キャッシュデータを検出し、検出した前記キャッシュデータごとに第２の優先順位を設定し、前記第２の優先順位にもとづいて前記キャッシュデータを前記記憶部に保存するキャッシュ制御を行う制御部と、
を有する情報処理装置。
【請求項２】
前記条件をキャッシュヒット率分布とし、
前記キャッシュヒット率分布は、時間経過に伴ってキャッシュヒット数が上昇する上昇型、時間経過に伴ってキャッシュヒット数が減少する減少型、所定期間内でキャッシュヒット数が平均値近傍に集中する平均型、所定期間の開始から中心に向かってキャッシュヒット数が減少し、中心から所定期間の終了に向かってキャッシュヒット数が上昇するＶ字型、および特定の曜日にキャッシュヒット数が集中する曜日特化型を有し、
前記制御部は、
前記第１の優先順位にもとづいて前記条件である前記キャッシュヒット率分布を選択して、前記キャッシュヒット率分布によって分類される前記キャッシュデータを検出し、
検出した前記キャッシュデータごとに、前記第２の優先順位として、前記上昇型と前記平均型の優先順位を等しく、かつ前記Ｖ字型と前記曜日特化型の優先順位を等しくし、前記上昇型と前記平均型の優先順位を前記Ｖ字型と前記曜日特化型の優先順位よりも高く、前記Ｖ字型と前記曜日特化型の優先順位を前記減少型よりも高く設定して、前記キャッシュ制御を行う、
請求項１記載の情報処理装置。
【請求項３】
前記制御部は、
コンテンツ配信サーバを介さずに前記コンテンツ配信サーバに格納されているコンテンツを、前記情報処理装置に接続される対向装置で保存されている前記キャッシュデータをコピーすることによって取得し、取得した前記キャッシュデータを前記記憶部に保存する連携処理を行う場合、前記連携処理の実行を前記条件とし、
前記第１の優先順位にもとづいて前記条件である前記連携処理の実行を選択して、前記連携処理の実行によって分類される前記キャッシュデータを検出し、
前記第２の優先順位を前記連携処理の実行回数に設定して前記キャッシュ制御を行う、
請求項１記載の情報処理装置。
【請求項４】
前記制御部は、
前記第１の優先順位が最優先順位である第１の条件によって分類される第１のキャッシュデータに対する前記キャッシュ制御を行っても前記記憶部の蓄積容量が閾値未満まで下がらないことを検出した場合、前記第１のキャッシュデータを前記第２の優先順位にもとづいて第１の上位グループと第１の下位グループとに分け、
前記第１の下位グループに含まれる第２のキャッシュデータを前記第１の条件よりも前記第１の優先順位が低い第２の条件で分類し、前記第２の条件で分類された前記第２のキャッシュデータを前記第２の優先順位にもとづいて第２の上位グループと第２の下位グループとに分け、
前記第２の下位グループに含まれる第３のキャッシュデータを前記記憶部から削除する、
請求項１記載の情報処理装置。
【請求項５】
前記制御部は、
前記記憶部に保存されている前記キャッシュデータのうちで保存期間の期限切れが近い期限要キャッシュデータを検出した場合、
前記期限要キャッシュデータのキャッシュヒット率分布が、時間経過に伴ってキャッシュヒット数が上昇する上昇型か、または所定期間内でキャッシュヒット数が平均値近傍に集中する平均型かを判定し、
前記上昇型または前記平均型でない場合は、前記期限要キャッシュデータを前記記憶部内に期限切れまで放置し、
前記上昇型または前記平均型の場合は、前記期限要キャッシュデータを旧キャッシュデータとして前記記憶部内の所定領域に待避し、
前記期限要キャッシュデータと同一キャッシュデータをサーバにアクセスして新キャッシュデータとして新たに取得し、
前記旧キャッシュデータと前記新キャッシュデータとを比較して、前記旧キャッシュデータと前記新キャッシュデータが一致する場合は、前記旧キャッシュデータを前記記憶部から削除し、
前記旧キャッシュデータと前記新キャッシュデータが不一致の場合は、前記旧キャッシュデータと前記新キャッシュデータとの両方を前記記憶部に保存する、
請求項１記載の情報処理装置。
【請求項６】
コンピュータに、
キャッシュデータを条件により分類し、前記条件ごとに第１の優先順位を設定し、
前記キャッシュデータを保存するメモリの蓄積容量が閾値以上になったことを検出した場合、前記第１の優先順位にもとづき選択した前記条件によって分類される前記キャッシュデータを検出し、
検出した前記キャッシュデータごとに第２の優先順位を設定し、
前記第２の優先順位にもとづいて前記キャッシュデータを前記メモリに保存するキャッシュ制御を行う、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
近年、ユーザに近いエリアに位置するエッジ側の情報処理装置でデータを処理するエッジコンピューティングシステムが開発されている。エッジ側の情報処理装置でデータを処理することで、ネットワークを経由したクラウドへのデータ転送を節約できるので、データ処理のリアルタイム性を確保でき、また通信量削減によるコスト低減等が可能になる。
【０００３】
一方、エッジ側の情報処理装置では、動画像データやＯＳ（Operating System）のアップデートデータ等の様々なデータをメモリに一時的に保存して（以下、キャッシュと呼ぶ）、情報処理装置に接続される各端末に配信することが行われる。
【０００４】
関連技術としては、例えば、コンテンツの最終アクセス時から経時的な減算が開始されるタイマにコンテンツを関連付けて、タイマ値の小さい順にコンテンツを記憶部から削除する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２２５１２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従前では、キャッシュデータがメモリ容量の設定上限まで蓄積した場合、キャッシュされた日時の古いキャッシュデータから削除されることが行われる。しかし、このようなキャッシュデータの削除だと、例えば、重要度の高いキャッシュデータが削除され、重要度の低いキャッシュデータがキャッシュされるといったことが生じる可能性があり、キャッシュデータの運用効率が悪いという問題がある。
【０００７】
１つの側面では、本発明は、キャッシュデータの運用効率の向上を図った情報処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、情報処理装置が提供される。情報処理装置は、キャッシュデータを保存する記憶部と、キャッシュデータを記憶部に保存させる際の指標となる条件によってキャッシュデータを分類し、条件ごとに第１の優先順位を設定し、記憶部の蓄積容量が閾値以上になったことを検出した場合、第１の優先順位にもとづき選択した条件によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに第２の優先順位を設定し、第２の優先順位にもとづいてキャッシュデータを記憶部に保存するキャッシュ制御を行う制御部と、を有する。
また、上記課題を解決するために、コンピュータに上記情報処理装置と同様の制御を実行させるプログラムが提供される。
【発明の効果】
【０００９】
１側面によれば、キャッシュデータの運用効率の向上が可能になる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態の情報処理装置の一例を説明するための図である。
【図２】第２の実施の形態の情報処理システムの構成の一例を示す図である。
【図３】エッジ情報処理端末の機能ブロックの一例を示す図である。
【図４】エッジ情報処理端末のハードウェア構成の一例を示す図である。
【図５】情報処理システムにおけるキャッシュデータの流れの一例を示す図である。
【図６】横連携におけるキャッシュデータの流れの一例を示す図である。
【図７】上昇型のキャッシュヒット率分布の一例を示す図である。
【図８】減少型のキャッシュヒット率分布の一例を示す図である。
【図９】平均型のキャッシュヒット率分布の一例を示す図である。
【図１０】Ｖ字型のキャッシュヒット率分布の一例を示す図である。
【図１１】曜日特化型のキャッシュヒット率分布の一例を示す図である。
【図１２】キャッシュデータ管理テーブルの一例を示す図である。
【図１３】エッジ情報処理端末の動作の一例を示すフローチャートである。
【図１４】グループ分け処理にもとづくキャッシュ制御の動作の一例を示すフローチャートである。
【図１５】キャッシュデータの期限切れが近い場合の動作の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は第１の実施の形態の情報処理装置の一例を説明するための図である。情報処理装置１は、制御部１ａと記憶部１ｂを備える。
【００１２】
記憶部１ｂは、キャッシュデータを記憶する。制御部１ａは、キャッシュデータを記憶部１ｂに保存させる際の指標となる条件によってキャッシュデータを分類し、条件ごとに第１の優先順位を設定する。なお、条件としては、後述するが、例えば、キャッシュヒット数、キャッシュヒット率分布、最終ヒット日等がある。
【００１３】
また、制御部１ａは、記憶部１ｂの蓄積容量が閾値以上になったことを検出した場合、第１の優先順位にもとづき選択した条件によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに第２の優先順位を設定する。
【００１４】
そして、制御部１ａは、第２の優先順位にもとづいてキャッシュデータを記憶部１ｂに保存するキャッシュ制御を行う。キャッシュ制御とは、優先順位の高いキャッシュデータを記憶部１ｂに保存し、優先順位の低いキャッシュデータを記憶部１ｂから削除する制御である。
なお、制御部１ａの機能は、例えば、情報処理装置１が備える図示しないプロセッサが、所定のプログラムを実行することによって実現することができる。
【００１５】
図１に示す例を用いて動作の流れについて説明する。
〔ステップＳ１〕制御部１ａは、キャッシュデータを条件により分類する。条件は、キャッシュヒット率分布およびキャッシュヒット数であるとし、キャッシュヒット率分布およびキャッシュヒット数によりキャッシュデータを分類したとする。キャッシュヒット率分布によって分類されたキャッシュデータには動画Ａ、Ｂ、Ｃが含まれ、キャッシュヒット数によって分類されたキャッシュデータには動画Ｄ、Ｅ、Ｆが含まれているとする。
【００１６】
〔ステップＳ２〕制御部１ａは、条件ごとに第１の優先順位を設定する。この例では、キャッシュヒット率分布を第１の優先順位の第一位、キャッシュヒット数を第１の優先順位の第二位と設定したとする。
〔ステップＳ３〕制御部１ａは、記憶部１ｂの蓄積容量を定期的に監視しており、記憶部１ｂの蓄積容量が閾値以上になったことを検出したとする。
【００１７】
〔ステップＳ４〕制御部１ａは、第１の優先順位にもとづき条件を選択し、選択した条件によって分類されるキャッシュデータを検出する。第１の優先順位が第一位の条件はキャッシュヒット率分布である。したがって、条件のうちキャッシュヒット率分布が選択され、キャッシュヒット率分布によって分類されるキャッシュデータ（動画Ａ、Ｂ、Ｃ）が検出される。
【００１８】
〔ステップＳ５〕制御部１ａは、検出したキャッシュデータごとに第２の優先順位を設定する。検出したキャッシュデータは動画Ａ、Ｂ、Ｃであり、動画Ａ、Ｂ、Ｃのそれぞれのキャッシュヒット率分布は、平均型、Ｖ字型、減少型になっている（キャッシュヒット率分布の各分布型については図７から図１１で後述する）。また、第２の優先順位の第一位を平均型、第２の優先順位の第二位をＶ字型、第２の優先順位の第三位を減少型と設定したとする。
【００１９】
〔ステップＳ６〕制御部１ａは、第２の優先順位にもとづいてキャッシュデータを記憶部１ｂに保存するキャッシュ制御を行う。例えば、第２の優先順位の第一位および第二位のキャッシュデータは記憶部１ｂに保存し、第２の優先順位の第三位のキャッシュデータは記憶部１ｂから削除するものとする。この場合、動画Ａ、Ｂが記憶部１ｂに保存され、動画Ｃは記憶部１ｂから削除されることになる。
【００２０】
このように、情報処理装置１において、制御部１ａは、キャッシュデータを条件により分類し、条件ごとに第１の優先順位を設定する。そして、制御部１ａは、記憶部１ｂの蓄積容量が閾値以上になったことを検出した場合、第１の優先順位にもとづき選択した条件によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに設定した第２の優先順位にもとづいてキャッシュ制御を行う。
【００２１】
これにより、優先順位の高いキャッシュデータは保存され、優先順位が低いキャッシュデータは削除されるため、キャッシュデータの重要度に応じたキャッシュ制御が可能になり、キャッシュデータの運用効率の向上を図ることが可能になる。
【００２２】
［第２の実施の形態］
次に第２の実施の形態として、学校のエデュケーションモデルにおけるデータキャッシュに、上記の情報処理装置１の機能を適用した情報処理システムの構成および動作について以降詳しく説明する。なお、以降では、条件ごとに設定される第１の優先順位を優先フラグと呼び、条件によって分類されるキャッシュデータごとに設定される第２の優先順位を単に優先順位と呼んで説明する。
【００２３】
＜システム構成＞
図２は第２の実施の形態の情報処理システムの構成の一例を示す図である。情報処理システムｓｙ１は、複数の学校に構築されたシステムであり、学校Ａ、Ｂの校内には校内ＬＡＮ（Local Area Network）４１が敷設されている。校内ＬＡＮ４１は、外部回線４２を通じて教育委員会ネットワークｎ１に接続され、教育委員会ネットワークｎ１は、インターネットｎ２に接続される。また、インターネットｎ２には、配信サーバ５０が接続されている。
【００２４】
以下、学校Ａ内部の構成について説明する（学校Ｂも同様な構成である）。学校Ａは、教室１−ａ、１−ｂ、２−ａ、２−ｂを含む。教室１−ａには、教師・生徒用の端末２ａ１、２ａ２、・・・、２ａｎを含む端末群２ｇ１と、端末群２ｇ１と無線通信を行うＡＰ（Access Point：アクセスポイント）３ａとが配置され、教室１−ｂには、教師・生徒用の端末２ｂ１、２ｂ２、・・・、２ｂｎを含む端末群２ｇ２と、端末群２ｇ２と無線通信を行うＡＰ３ｂとが配置される。
【００２５】
また、教室２−ａには、教師・生徒用の端末２ｃ１、２ｃ２、・・・、２ｃｎを含む端末群２ｇ３と、端末群２ｇ３と無線通信を行うＡＰ３ｃとが配置され、教室２−ｂには、教師・生徒用の端末２ｄ１、２ｄ２、・・・、２ｄｎを含む端末群２ｇ４と、端末群２ｇ４と無線通信を行うＡＰ３ｄとが配置される。
【００２６】
ＡＰ３ａ、３ｂ、３ｃ、３ｄは、校内ＬＡＮ４１に接続され、校内ＬＡＮ４１には、さらにエッジ情報処理端末１０ａ、１０ｂおよび校内サーバ２０が接続される。エッジ情報処理端末１０ａ、１０ｂは、図１の情報処理装置１の機能を有している。
【００２７】
なお、教室１−ａ、１−ｂ内の各装置およびエッジ情報処理端末１０ａのＩＰ（Internet Protocol）アドレスを192.168.1.xxx（xxxは0から255の範囲）とし、教室１−ａ、１−ｂ内の各装置およびエッジ情報処理端末１０ａは、セグメントとして192.168.1を共有するグループとする。なお、エッジ情報処理端末１０ａは、プロキシサーバの機能を有し、プロキシサーバのＩＰアドレスとしてProxy 192.168.1.xxxが割り振られている。
【００２８】
また、教室２−ａ、２−ｂ内の各装置およびエッジ情報処理端末１０ｂのＩＰアドレスを192.168.2.xxxとし、教室２−ａ、２−ｂ内の各装置およびエッジ情報処理端末１０ｂは、セグメントとして192.168.2を共有するグループとする。教室１−ａ、１−ｂを１学年の教室とし、教室２−ａ、２−ｂを２学年の教室とした場合、学年ごとにセグメントが同一のグループに分けられる。なお、エッジ情報処理端末１０ｂは、プロキシサーバの機能を有し、プロキシサーバのＩＰアドレスとしてProxy 192.168.2.xxxが割り振られている。
【００２９】
ここで、エッジ情報処理端末１０ａ、１０ｂ（総称する場合は、エッジ情報処理端末１０と呼ぶ）は、キャッシュ機能を搭載したエッジコンピュータであり、ＡＰによる無線通信機能を搭載する。
【００３０】
端末群２ｇ１、２ｇ２、２ｇ３、２ｇ４の教師・生徒用の各端末（総称する場合は、端末２と呼ぶ）は、授業で使われるブラウザを搭載した端末である。校内サーバ２０は、学校Ａ内に置かれたサーバであり、教育コンテンツや成績情報等の個人情報の収集管理を行う。ＡＰ３ａ、３ｂ、３ｃ、３ｄは、各教室内に置かれた無線のアクセスポイントであり、教室内で使われるため、複数の端末２を同時接続することができる。
【００３１】
例えば、最大４１人（生徒４０人＋先生１名）分の端末２に同時接続が可能である。なお、エッジ情報処理端末１０もＡＰと同様な機能を有しており、各教室で使用される端末台数以上の端末に同時接続できる機能をサポートしている。
【００３２】
配信サーバ５０は、インターネットｎ２上の各コンテンツの管理および配信を行うサーバである。コンテンツとしては、例えば、教育用テレビのコンテンツや教科書のコンテンツ等がある。教育委員会ネットワークｎ１は、各市町村の教育委員会が形成している独自のネットワークであり、教育委員会に所属する学校の状況を集中管理する。また、Windows（登録商標）のUpdateを行うサーバも各学校ではなく、教育委員会ネットワークｎ１で集中管理することができる。
【００３３】
外部回線４２は、学校Ａと学校Ｂ、および学校Ａ、Ｂと教育委員会ネットワークｎ１を接続するネットワーク回線であり、一般的なインターネット回線である（専用回線を使用することもできる）。
【００３４】
校内ＬＡＮ４１は、学校Ａ、Ｂ内に配置されたネットワーク回線であり、Ｌ３（レイヤ３）スイッチやＨＵＢ等を使用して構築される（例えば、100Mbpsから1000Mbpsまでの帯域を持つネットワーク回線で構築される）。
【００３５】
＜機能ブロック＞
図３はエッジ情報処理端末の機能ブロックの一例を示す図である。エッジ情報処理端末１０は、制御部１１、記憶部１２および通信インタフェース部１３を備える。制御部１１は、図１の制御部１ａの機能を実現し、記憶部１２は、図１の記憶部１ｂの機能を実現する。
【００３６】
制御部１１は、条件分類部１１ａ、優先フラグ設定部１１ｂ、キャッシュデータ検出部１１ｃ、優先順位設定部１１ｄ、キャッシュ制御部１１ｅおよびグループ分け処理部１１ｆを含む。
【００３７】
条件分類部１１ａは、キャッシュデータを条件ごとに分類する。優先フラグ設定部１１ｂは、条件ごとに優先フラグを設定する。キャッシュデータ検出部１１ｃは、記憶部１２の蓄積容量が閾値以上になったことを検出した場合、優先フラグにもとづき選択した条件によって分類されるキャッシュデータを検出する。
【００３８】
優先順位設定部１１ｄは、検出したキャッシュデータごとに優先順位を設定する。キャッシュ制御部１１ｅは、優先順位にもとづいてキャッシュデータを記憶部１２に保存するためのキャッシュ制御を行う。グループ分け処理部１１ｆは、優先フラグにもとづくキャッシュデータ削除を行っても記憶部１２の蓄積容量が閾値未満に下がらないことを検出した場合、優先フラグにもとづきキャッシュデータをグループ分けし、下位グループに含まれるキャッシュデータを削除する。
【００３９】
記憶部１２は、キャッシュデータや、キャッシュデータ管理テーブル（図１２で後述）を保存し、また、エッジ情報処理端末１０を運用するための各種制御情報等を保存する。通信インタフェース部１３は、ネットワーク（校内ＬＡＮ４１）に接続して、端末２や教育委員会ネットワークｎ１に対する通信インタフェース制御を行う。なお、通信インタフェース部１３の機能は、制御部１１に含まれてもよい。
【００４０】
＜ハードウェア構成＞
図４はエッジ情報処理端末のハードウェア構成の一例を示す図である。エッジ情報処理端末１０は、プロセッサ（コンピュータ）１００によって全体制御されている。プロセッサ１００は、制御部１１の機能を実現する。プロセッサ１００には、バス１０３を介して、メモリ１０１、入出力インタフェース１０２およびネットワークインタフェース１０４が接続されている。
【００４１】
プロセッサ１００は、マルチプロセッサであってもよい。プロセッサ１００は、例えば、ＣＰＵ（Central Processing Unit）、ＦＰＧＡ（Field Programmable Gate Array）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１００は、ＣＰＵ、ＦＰＧＡ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００４２】
メモリ１０１は、記憶部１２の機能を実現し、キャッシュメモリの機能として使用され、またエッジ情報処理端末１０の主記憶装置として使用される。メモリ１０１には、プロセッサ１００に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０１には、プロセッサ１００による処理に要する各種データが格納される。
【００４３】
メモリ１０１は、エッジ情報処理端末１０の補助記憶装置としても使用され、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ１０１は、補助記憶装置として、フラッシュメモリやＳＳＤ（Solid State Drive）等の半導体記憶装置やＨＤＤ（Hard Disk Drive）等の磁気記録媒体を含んでもよい。
【００４４】
バス１０３に接続されている周辺機器としては、入出力インタフェース１０２およびネットワークインタフェース１０４がある。入出力インタフェース１０２は、エッジ情報処理端末１０との入出力インタフェース制御を行う。また、入出力インタフェース１０２は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ１００に送信する。
【００４５】
さらに、入出力インタフェース１０２は、周辺機器を接続するための通信インタフェースとしても機能する。例えば、入出力インタフェース１０２は、レーザ光等を利用して、光ディスクに記録されたデータの読み取りを行う光学ドライブ装置を接続することができる。光ディスクには、Ｂｌｕ−ｒａｙＤｉｓｃ（登録商標）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）等がある。
【００４６】
また、入出力インタフェース１０２は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース１０２との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
【００４７】
ネットワークインタフェース１０４は、通信インタフェース部１３の機能を実行し、ネットワークに接続してネットワークインタフェース制御を行う。ネットワークインタフェース１０４は、例えば、ＮＩＣ（Network Interface Card）、無線ＬＡＮカード等を使用することもできる。ネットワークインタフェース１０４で受信されたデータは、メモリ１０１やプロセッサ１００に出力される。
【００４８】
以上のようなハードウェア構成によって、エッジ情報処理端末１０の処理機能を実現することができる。例えば、エッジ情報処理端末１０は、プロセッサ１００が所定のプログラムを実行することで、本発明の処理を実行することができる。
【００４９】
エッジ情報処理端末１０は、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、上記の動作状態検出処理の機能を制御部１１に実行させることができる。エッジ情報処理端末１０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
【００５０】
例えば、エッジ情報処理端末１０に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ１００は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。
【００５１】
また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ１００からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ１００が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００５２】
＜キャッシュデータの流れ＞
図５は情報処理システムにおけるキャッシュデータの流れの一例を示す図である。
〔ステップＳ１１〕教室１−ａ、１−ｂ内の端末群２ｇ１、２ｇ２は、中継先として、エッジ情報処理端末１０ａを指定する。なお、中継先が端末２から指定されると、エッジ情報処理端末１０は、端末２からのネットワークアクセスに対してキャッシュを行う。
【００５３】
〔ステップＳ１２〕教室１−ａにある端末群２ｇ１がコンテンツｃ１にアクセスすると、端末群２ｇ１に向けてコンテンツｃ１がダウンロードされ、同時にエッジ情報処理端末１０ａはコンテンツｃ１をキャッシュする。
【００５４】
〔ステップＳ１３〕エッジ情報処理端末１０ａを同じ中継先として使用している教室１−ｂ内の端末群２ｇ２からコンテンツｃ１にアクセスがあった場合、配信サーバ５０からではなく、エッジ情報処理端末１０ａからコンテンツｃ１が端末群２ｇ２に配信される。なお、校内ＬＡＮ４１は、外部回線４２に比べて高速なため、ネットワーク回線パンクによる遅延、停止等は起きにくい。
【００５５】
〔ステップＳ１４〕教室２−ａ、２−ｂ内の端末群２ｇ３、２ｇ４は、中継先として、エッジ情報処理端末１０ｂを指定する。
〔ステップＳ１５〕教室２−ａにある端末群２ｇ３がコンテンツｃ２にアクセスすると、端末群２ｇ３に向けてコンテンツｃ２がダウンロードされ、同時にエッジ情報処理端末１０ｂはコンテンツｃ２をキャッシュする。
【００５６】
〔ステップＳ１６〕エッジ情報処理端末１０ｂを同じ中継先として使用している教室２−ｂ内の端末群２ｇ４からコンテンツｃ２にアクセスがあった場合、配信サーバ５０からではなく、エッジ情報処理端末１０ｂからコンテンツｃ２が端末群２ｇ４に配信される。
【００５７】
このように、端末２が中継先に指定したエッジ情報処理端末１０がコンテンツをキャッシュしており、端末２がコンテンツをダウンロードする際に、エッジ情報処理端末１０にキャッシュされているコンテンツにヒットした場合は、配信サーバ５０からではなくエッジ情報処理端末１０からヒットしたコンテンツが配信される。
【００５８】
＜横連携におけるキャッシュデータの流れ＞
図６は横連携におけるキャッシュデータの流れの一例を示す図である。横連携（連携処理）とは、エッジ情報処理端末１０ａ、１０ｂ間でキャッシュデータのやりとりを行う処理のことである。
【００５９】
〔ステップＳ２１〕教室１−ａ、１−ｂ内の端末群２ｇ１、２ｇ２は、中継先として、エッジ情報処理端末１０ａを指定する。
〔ステップＳ２２〕教室２−ａ、２−ｂ内の端末群２ｇ３、２ｇ４は、中継先として、エッジ情報処理端末１０ｂを指定する。
【００６０】
〔ステップＳ２３〕教室１−ａにある端末群２ｇ１からコンテンツｃ１にアクセスすると、端末群２ｇ１に向けてコンテンツｃ１がダウンロードされ、同時にエッジ情報処理端末１０ａはコンテンツｃ１をキャッシュする。
〔ステップＳ２４〕端末群２ｇ２からコンテンツｃ１にアクセスがあった場合、エッジ情報処理端末１０ａからコンテンツｃ１が端末群２ｇ２に配信される。
【００６１】
〔ステップＳ２５〕教室２−ａ、２−ｂ内の端末群２ｇ３、２ｇ４からコンテンツｃ１にアクセスしようとした際、横連携機能が働き、エッジ情報処理端末１０ｂは、エッジ情報処理端末１０ａに対して、端末群２ｇ３、２ｇ４からアクセス指示があったコンテンツｃ１をエッジ情報処理端末１０ａがキャッシュしているか否かの問い合わせを行う。
【００６２】
〔ステップＳ２６〕エッジ情報処理端末１０ｂが問い合わせしたコンテンツと、エッジ情報処理端末１０ａがキャッシュしているコンテンツが一致していれば、エッジ情報処理端末１０ｂは、該コンテンツをエッジ情報処理端末１０ａからキャッシュコピーして取得する。
【００６３】
〔ステップＳ２７〕エッジ情報処理端末１０ｂは、キャッシュコピーしたコンテンツ（コンテンツｃ１）を端末群２ｇ３、２ｇ４に配信する。なお、外部回線４２からコンテンツをダウンロードしてこないので、ネットワーク回線パンクによる遅延、停止等が起きにくくなる。
【００６４】
＜キャッシュヒット率分布＞
次にキャッシュヒット率分布の分布型について、図７から図１１を用いて説明する。図７は上昇型のキャッシュヒット率分布の一例を示す図である。縦軸はキャッシュヒット数、横軸は月日である。グラフＧ１の上昇型は、時間経過に伴ってキャッシュヒット数が上昇するキャッシュヒット率分布である。
【００６５】
図８は減少型のキャッシュヒット率分布の一例を示す図である。縦軸はキャッシュヒット数、横軸は月日である。グラフＧ２の減少型は、時間経過に伴ってキャッシュヒット数が減少するキャッシュヒット率分布である。
【００６６】
図９は平均型のキャッシュヒット率分布の一例を示す図である。縦軸はキャッシュヒット数、横軸は月日である。グラフＧ３の平均型は、所定期間内でキャッシュヒット数が平均値近傍に集中するキャッシュヒット率分布である。
【００６７】
図１０はＶ字型のキャッシュヒット率分布の一例を示す図である。縦軸はキャッシュヒット数、横軸は月日である。グラフＧ４のＶ字型は、所定期間の開始から中心に向かってキャッシュヒット数が減少し、中心から所定期間の終了に向かってキャッシュヒット数が上昇するキャッシュヒット率分布である。
【００６８】
図１１は曜日特化型のキャッシュヒット率分布の一例を示す図である。縦軸はキャッシュヒット数、横軸は曜日である。グラフＧ５の曜日特化型は、特定の曜日にキャッシュヒット数が集中するキャッシュヒット率分布である。
【００６９】
＜キャッシュデータ管理テーブル＞
図１２はキャッシュデータ管理テーブルの一例を示す図である。キャッシュデータ管理テーブルＴ１は、キャッシュデータであるコンテンツのコンテンツ名、キャッシュ日、蓄積容量および条件の項目を有する（例えば、保存期間を１か月とする）。図１２に示す条件の例には、横連携回数、キャッシュヒット数、最終ヒット日、Ｍａｘ−ａｇｅ（キャッシュ有効期限）、キャッシュヒット率分布および学年が示されている。
【００７０】
また、条件に対して、優先フラグが設定される。図１２の例では、優先フラグの第一位を最終ヒット日、第二位をキャッシュヒット数、第三位をキャッシュヒット率分布と設定されている。この場合、エッジ情報処理端末１０では、記憶部１２の蓄積容量が閾値以上になったことを検出した場合、優先フラグが第一位の最終ヒット日に分類されるコンテンツ（キャッシュデータ）を選択し、選択したコンテンツに対して優先順位にもとづいてキャッシュ制御を行う。
【００７１】
さらに、最終ヒット日にもとづくキャッシュ制御を行っても記憶部１２の蓄積容量が閾値未満まで下がらない場合は、優先フラグが第二位のキャッシュヒット数に分類されるコンテンツを選択し、選択したコンテンツに対して優先順位にもとづいてキャッシュ制御を行う。それでも下がらない場合は、第三位のキャッシュヒット率分布に分類されるコンテンツを選択し、選択したコンテンツに対して優先順位にもとづいてキャッシュ制御を行う。
【００７２】
または、優先フラグが第一位の条件にもとづくキャッシュ制御を行っても記憶部１２の蓄積容量が閾値未満まで下がらない場合、キャッシュデータのグループ分けにもとづくキャッシュ制御を行うこともできる（後述の図１４で後述する）。
【００７３】
＜各種条件で分類されたキャッシュデータの優先順位にもとづくキャッシュ制御＞
次に、各種の条件として、学年、横連携、キャッシュヒット数、キャッシュヒット率分布、最終ヒット日の例を挙げて、各条件で分類されるキャッシュデータに対する優先順位にもとづくキャッシュ制御について説明する。
【００７４】
（学年を条件とする場合）
エッジ情報処理端末１０は、学年を優先フラグにもとづいて選択した場合、学年によって分類されるキャッシュデータを検出し、検出したキャッシュデータに対して学年ごとに優先順位を設定して、優先順位にもとづいてキャッシュデータを記憶部１２に保存する。
【００７５】
例えば、学年に１学年から３学年まであるとし、学年の優先順位の第一位を３学年、第二位を２学年、第三位を１学年とする。また、第一位の優先順位に相当するキャッシュデータのみ保存するものとする。
【００７６】
このとき、エッジ情報処理端末１０の制御部１１は、記憶部１２の蓄積容量が閾値以上になったことを検出した場合、３学年の教室内の端末からアクセスがあったコンテンツは記憶部１２に優先的に保存し、１年生および２年生の教室内の端末からアクセスがあったコンテンツは記憶部１２から削除する。
【００７７】
なお、図２に示したように、学年ごとにＩＰアドレスのセグメントが同一のグループに分けられているため、制御部１１では、セグメントにもとづいて、学年を判別し、ＩＰアドレスのセグメントを除くxxx（0から255の範囲）から端末を判別することができる。
【００７８】
（横連携を条件とする場合）
エッジ情報処理端末１０は、横連携を優先フラグにもとづいて選択した場合、横連携によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに横連携の実行回数に優先順位を設定して、優先順位にもとづいてキャッシュデータを記憶部１２に保存する。
【００７９】
例えば、横連携の実行回数の優先順位の第一位を３回以上、第二位を３回未満とする。また、第一位の優先順位に相当するコンテンツのみ保存するものとする。このとき、エッジ情報処理端末１０の制御部１１は、記憶部１２の蓄積容量が閾値以上になったことを検出した場合、横連携の実行回数が３回以上あったコンテンツは記憶部１２に優先的に保存し、横連携の実行回数が３回未満であったコンテンツは記憶部１２から削除する。
【００８０】
このように、横連携の実行回数が多いほど対象のコンテンツに対するアクセス数が多いということなので、横連携の実行回数に応じて優先順位を設定してキャッシュ制御を行うことにより、コンテンツのアクセス回数にもとづいたキャッシュ制御を精度よく行うことが可能になる。
【００８１】
（キャッシュヒット数を条件とする場合）
エッジ情報処理端末１０は、キャッシュヒット数を優先フラグにもとづいて選択した場合、キャッシュヒット数によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとにキャッシュヒット数に優先順位を設定して、優先順位にもとづいてキャッシュデータを記憶部に保存する。
【００８２】
例えば、キャッシュヒット数の優先順位の第一位を１００回以上、第二位を１００回未満および５０回以上とし、第三位を５０回未満とする。また、第一位と第二位の優先順位に相当するコンテンツのみ保存するものとする。このとき、エッジ情報処理端末１０の制御部１１は、記憶部１２の蓄積容量が閾値以上になったことを検出した場合、キャッシュヒット数が５０回以上あったコンテンツは記憶部１２に優先的に保存し、５０回未満であったコンテンツは記憶部１２から削除する。
【００８３】
（キャッシュヒット率分布を条件とする場合）
エッジ情報処理端末１０は、キャッシュヒット率分布を優先フラグにもとづいて選択した場合、キャッシュヒット率分布によって分類されるキャッシュデータを検出し、検出したキャッシュデータに対してキャッシュヒット率分布の分布型ごとに優先順位を設定して、優先順位にもとづいてキャッシュデータを記憶部１２に保存する。
【００８４】
例えば、キャッシュヒット率分布には上昇型、減少型、平均型、Ｖ字型、曜日特化型があるとし、キャッシュヒット率分布の優先順位を、上昇型＝平均型＞Ｖ字型＝曜日特化型＞減少型とする。
【００８５】
すなわち、上昇型と平均型の優先順位を等しく、かつＶ字型と曜日特化型の優先順位を等しくし、上昇型と平均型の優先順位を第一位とし、Ｖ字型と曜日特化型の優先順位を第二位とし、減少型の優先順位を第三位とする。
【００８６】
また、第一位の分布型の優先順位に相当するキャッシュデータのみ保存するものとする。このとき、エッジ情報処理端末１０の制御部１１は、記憶部１２の蓄積容量が閾値以上になったことを検出した場合、上昇型または平均型のコンテンツは記憶部１２に優先的に保存し、その他の分布型のコンテンツは記憶部１２から削除する。
【００８７】
このように、キャッシュヒット率分布の分布型に応じて優先順位を設定してキャッシュ制御を行うことにより、キャッシュデータの統計的な使用頻度にもとづいたキャッシュ制御を精度よく行うことが可能になる。
【００８８】
（最終ヒット日を条件とする場合）
エッジ情報処理端末１０は、最終ヒット日を優先フラグにもとづいて選択した場合、最終ヒット日によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに最終ヒット日に優先順位を設定して、優先順位にもとづいてキャッシュデータを記憶部１２に保存する。
【００８９】
例えば、最終ヒット日が８月である場合の優先順位を第一位、最終ヒット日が７月である場合の優先順位を第二位、最終ヒット日が６月である場合の優先順位を第三位とする。また、第一位と第二位の優先順位に相当するコンテンツのみ保存するものとする。このとき、エッジ情報処理端末１０の制御部１１は、記憶部１２の蓄積容量が閾値以上になったことを検出した場合、最終ヒット日が７月と８月にあったコンテンツは記憶部１２に優先的に保存し、最終ヒット日が６月にあったコンテンツは記憶部１２から削除する。
【００９０】
＜動作フローチャート＞
図１３はエッジ情報処理端末の動作の一例を示すフローチャートである。
〔ステップＳ３１〕制御部１１は、条件によるキャッシュデータの分類を行う。
【００９１】
〔ステップＳ３２〕制御部１１は、条件に優先フラグを設定する。
〔ステップＳ３３〕制御部１１は、記憶部１２の蓄積容量が閾値以上になったことを検出する。
【００９２】
〔ステップＳ３４〕制御部１１は、優先フラグが第一位の条件で分類されたキャッシュデータを選択する。
〔ステップＳ３５〕制御部１１は、選択したキャッシュデータに優先順位を設定する。
〔ステップＳ３６〕制御部１１は、優先順位にもとづいてキャッシュ制御を行う。
【００９３】
図１４はグループ分け処理にもとづくキャッシュ制御の動作の一例を示すフローチャートである。図１３のステップＳ３１からステップＳ３６の処理を行っても、記憶部１２の蓄積容量が閾値未満にならず、十分な空き容量が得られないと判断した場合に行われる動作フローである。
【００９４】
〔ステップＳ４１〕制御部１１は、条件に優先フラグを設定してソートを開始する（優先フラグの順位指定）。
〔ステップＳ４２〕制御部１１は、第一位の優先フラグのうちのキャッシュデータに優先順位を設定して、半数を基準にして上位順位と下位順位にグループを分ける。
【００９５】
〔ステップＳ４３〕制御部１１は、下位グループのうちで第二位の優先フラグのうちのキャッシュデータに優先順位を設定して、半数を基準にして上位順位と下位順位にグループを分ける。
【００９６】
〔ステップＳ４４〕制御部１１は、下位グループのうちで第三位の優先フラグのうちのキャッシュデータに優先順位を設定して、半数を基準にして上位順位と下位順位にグループを分ける。
〔ステップＳ４５〕制御部１１は、第三位の優先フラグの下位グループのキャッシュデータを削除する。
【００９７】
〔ステップＳ４６〕制御部１１は、記憶部１２の空き容量は十分か（蓄積容量が閾値未満か）否かを判定する。空き容量が十分の場合はステップＳ４８の処理に進み、十分でない場合はステップＳ４７の処理に進む。
【００９８】
〔ステップＳ４７〕制御部１１は、再度ソートの実行を行う。ステップＳ４２の処理に戻る。
〔ステップＳ４８〕制御部１１は、キャッシュ制御を終了する。
【００９９】
このように、エッジ情報処理端末１０は、記憶部１２の空き容量が十分得られるまで、条件で分類されたキャッシュデータを優先順位にもとづいて上位グループと下位グループとに分ける処理を繰り返し行い、下位グループに含まれるキャッシュデータを記憶部１２から削除する。これにより、優先度の高いキャッシュデータの保存は継続しながら、記憶部１２の空き容量を効率よく確保することが可能になる。
【０１００】
＜キャッシュデータの期限切れが近い場合の処理＞
エッジ情報処理端末１０の制御部１１は、キャッシュデータの期限切れの判定を行い、期限切れを起こすキャッシュデータがある場合、そのキャッシュデータのキャッシュヒット率の分布が上昇型か、または平均型かを判定する。上昇型または平均型の場合、制御部１１は、配信サーバ５０に再度アクセスを行って、キャッシュデータを新しく取り込む。
【０１０１】
例えば、ある動画の配信サーバ５０側の保存期間の設定が１週間であるとする。エッジ情報処理端末１０は、期限が切れる１日前にキャッシュデータの期限切れ判定を行い、当該キャッシュデータのキャッシュヒット率分布が上昇型と判定したとする。この場合、エッジ情報処理端末１０は、期限切れを起こすキャッシュデータ（旧キャッシュデータ）を記憶部１２内の他領域に一旦待避させ、再度同じキャッシュデータ（新キャッシュデータ）を配信サーバ５０に新しく取りに行く。
【０１０２】
そして、エッジ情報処理端末１０は、旧キャッシュデータと新キャッシュデータとの比較を行い、同一のキャッシュデータであること（例えば、版数が同じ等）を認識した場合、旧キャッシュデータを削除する。
【０１０３】
図１５はキャッシュデータの期限切れが近い場合の動作の一例を示す図である。
〔ステップＳ５１〕制御部１１は、キャッシュ期限切れが近いキャッシュデータ（期限要キャッシュデータ）があることを検出する。
【０１０４】
〔ステップＳ５２〕制御部１１は、検出したキャッシュデータのキャッシュヒット率分布は上昇型か、または平均型かを判定する。上昇型または平均型ではない場合、ステップＳ５３の処理に進み、上昇型または平均型の場合、ステップＳ５４の処理に進む。
【０１０５】
〔ステップＳ５３〕制御部１１は、検出したキャッシュデータをキャッシュ期限切れまで放置する。
〔ステップＳ５４〕制御部１１は、検出したキャッシュデータを旧キャッシュデータとして記憶部１２内の他領域に待避させる。
【０１０６】
〔ステップＳ５５〕制御部１１は、配信サーバ５０にアクセスして、再度同じキャッシュデータを新キャッシュデータとして取得する。
〔ステップＳ５６〕制御部１１は、旧キャッシュデータと新キャッシュデータとを比較する。旧キャッシュデータと新キャッシュデータが一致する場合はステップＳ５７に処理が進み、旧キャッシュデータと新キャッシュデータが不一致の場合はステップＳ５８に処理が進む。
【０１０７】
〔ステップＳ５７〕制御部１１は、旧キャッシュデータを記憶部１２から削除する。
〔ステップＳ５８〕制御部１１は、旧キャッシュデータと新キャッシュデータを記憶部１２内に保持する。
【０１０８】
このように、キャッシュ期限切れが近いキャッシュデータのキャッシュヒット率分布が上昇型または平均型の場合、旧キャッシュデータとして記憶部１２内の他領域に待避させる。そして、旧キャッシュデータと新たに取り込んだ新キャッシュデータとが一致する場合は旧キャッシュデータを削除し、不一致の場合は新旧両方のキャッシュデータを保存する。これにより、キャッシュ期限が切れても同一のキャッシュデータの配信を即時に行うことができるので、キャッシュデータ配信のサービスの向上を図ることが可能になる。
【０１０９】
上記で説明した本発明の情報処理装置１およびエッジ情報処理端末１０の処理機能は、コンピュータによって実現することができる。この場合、情報処理装置１およびエッジ情報処理端末１０が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１１０】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶部、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶部には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等がある。光ディスクには、ＣＤ−ＲＯＭ／ＲＷ等がある。光磁気記録媒体には、ＭＯ（Magneto Optical disk）等がある。
【０１１１】
プログラムを流通させる場合、例えば、そのプログラムが記録されたＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶部に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶部に格納する。そして、コンピュータは、自己の記憶部からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
【０１１３】
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤ等の電子回路で実現することもできる。
【０１１４】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１１５】
１  情報処理装置
１ａ  制御部
１ｂ  記憶部
【要約】
【課題】キャッシュデータの運用効率の向上を図る。
【解決手段】情報処理装置１は、制御部１ａと記憶部１ｂを備える。記憶部１ｂは、キャッシュデータを記憶する。制御部１ａは、キャッシュデータを記憶部１ｂに保存させる際の指標となる条件によってキャッシュデータを分類し、条件ごとに第１の優先順位を設定する。また、制御部１ａは、記憶部１ｂの蓄積容量が閾値以上になったことを検出した場合、第１の優先順位にもとづき選択した条件によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに第２の優先順位を設定する。そして、制御部１ａは、第２の優先順位にもとづいて、優先度の高いキャッシュデータを記憶部１ｂに保存し、優先度の低いキャッシュデータを記憶部１ｂから削除するキャッシュ制御を行う。
【選択図】図１【図１】
0006916458.tif 000002
【図２】
0006916458.tif 000003
【図３】
0006916458.tif 000004
【図４】
0006916458.tif 000005
【図５】
0006916458.tif 000006
【図６】
0006916458.tif 000007
【図７】
0006916458.tif 000008
【図８】
0006916458.tif 000009
【図９】
0006916458.tif 000010
【図１０】
0006916458.tif 000011
【図１１】
0006916458.tif 000012
【図１２】
0006916458.tif 000013
【図１３】
0006916458.tif 000014
【図１４】
0006916458.tif 000015
【図１５】
0006916458.tif 000016