(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022120420
(43)【公開日】2022-08-18
(54)【発明の名称】情報処理装置およびプログラム
(51)【国際特許分類】
G06F 13/00 20060101AFI20220810BHJP
G06F 16/957 20190101ALI20220810BHJP
【FI】
G06F13/00 540B
G06F16/957
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021017305
(22)【出願日】2021-02-05
(11)【特許番号】
(45)【特許公報発行日】2021-08-11
(71)【出願人】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】特許業務法人扶桑国際特許事務所
(72)【発明者】
【氏名】佐藤 慶太
【テーマコード(参考)】
5B084
5B175
【Fターム(参考)】
5B084AA12
5B084AA13
5B084BA09
5B084BB11
5B084CD02
5B084CD12
5B084CD22
5B084DC02
5B084DC06
5B084DC17
5B175LA02
(57)【要約】
【課題】キャッシュデータの運用効率の向上を図る。
【解決手段】情報処理装置1は、制御部1aと記憶部1bを備える。記憶部1bは、キャッシュデータを記憶する。制御部1aは、キャッシュデータを記憶部1bに保存させる際の指標となる条件によってキャッシュデータを分類し、条件ごとに第1の優先順位を設定する。また、制御部1aは、記憶部1bの蓄積容量が閾値以上になったことを検出した場合、第1の優先順位にもとづき選択した条件によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに第2の優先順位を設定する。そして、制御部1aは、第2の優先順位にもとづいて、優先度の高いキャッシュデータを記憶部1bに保存し、優先度の低いキャッシュデータを記憶部1bから削除するキャッシュ制御を行う。
【選択図】
図1
【特許請求の範囲】
【請求項1】
キャッシュデータを保存する記憶部と、
前記キャッシュデータを前記記憶部に保存させる際の指標となる条件によって前記キャッシュデータを分類し、前記条件ごとに第1の優先順位を設定し、前記記憶部の蓄積容量が閾値以上になったことを検出した場合、前記第1の優先順位にもとづき選択した前記条件によって分類される前記キャッシュデータを検出し、検出した前記キャッシュデータごとに第2の優先順位を設定し、前記第2の優先順位にもとづいて前記キャッシュデータを前記記憶部に保存するキャッシュ制御を行う制御部と、
を有する情報処理装置。
【請求項2】
前記条件をキャッシュヒット率分布とし、
前記キャッシュヒット率分布は、時間経過に伴ってキャッシュヒット数が上昇する上昇型、時間経過に伴ってキャッシュヒット数が減少する減少型、所定期間内でキャッシュヒット数が平均値近傍に集中する平均型、所定期間の開始から中心に向かってキャッシュヒット数が減少し、中心から所定期間の終了に向かってキャッシュヒット数が上昇するV字型、および特定の曜日にキャッシュヒット数が集中する曜日特化型を有し、
前記制御部は、
前記第1の優先順位にもとづいて前記条件である前記キャッシュヒット率分布を選択して、前記キャッシュヒット率分布によって分類される前記キャッシュデータを検出し、
検出した前記キャッシュデータごとに、前記第2の優先順位として、前記上昇型と前記平均型の優先順位を等しく、かつ前記V字型と前記曜日特化型の優先順位を等しくし、前記上昇型と前記平均型の優先順位を前記V字型と前記曜日特化型の優先順位よりも高く、前記V字型と前記曜日特化型の優先順位を前記減少型よりも高く設定して、前記キャッシュ制御を行う、
請求項1記載の情報処理装置。
【請求項3】
前記制御部は、
コンテンツ配信サーバを介さずに前記コンテンツ配信サーバに格納されているコンテンツを、前記情報処理装置に接続される対向装置で保存されている前記キャッシュデータをコピーすることによって取得し、取得した前記キャッシュデータを前記記憶部に保存する連携処理を行う場合、前記連携処理の実行を前記条件とし、
前記第1の優先順位にもとづいて前記条件である前記連携処理の実行を選択して、前記連携処理の実行によって分類される前記キャッシュデータを検出し、
前記第2の優先順位を前記連携処理の実行回数に設定して前記キャッシュ制御を行う、
請求項1記載の情報処理装置。
【請求項4】
前記制御部は、
前記第1の優先順位が最優先順位である第1の条件によって分類される第1のキャッシュデータに対する前記キャッシュ制御を行っても前記記憶部の蓄積容量が閾値未満まで下がらないことを検出した場合、前記第1のキャッシュデータを前記第2の優先順位にもとづいて第1の上位グループと第1の下位グループとに分け、
前記第1の下位グループに含まれる第2のキャッシュデータを前記第1の条件よりも前記第1の優先順位が低い第2の条件で分類し、前記第2の条件で分類された前記第2のキャッシュデータを前記第2の優先順位にもとづいて第2の上位グループと第2の下位グループとに分け、
前記第2の下位グループに含まれる第3のキャッシュデータを前記記憶部から削除する、
請求項1記載の情報処理装置。
【請求項5】
前記制御部は、
前記記憶部に保存されている前記キャッシュデータのうちで保存期間の期限切れが近い期限要キャッシュデータを検出した場合、
前記期限要キャッシュデータのキャッシュヒット率分布が、時間経過に伴ってキャッシュヒット数が上昇する上昇型か、または所定期間内でキャッシュヒット数が平均値近傍に集中する平均型かを判定し、
前記上昇型または前記平均型でない場合は、前記期限要キャッシュデータを前記記憶部内に期限切れまで放置し、
前記上昇型または前記平均型の場合は、前記期限要キャッシュデータを旧キャッシュデータとして前記記憶部内の所定領域に待避し、
前記期限要キャッシュデータと同一キャッシュデータをサーバにアクセスして新キャッシュデータとして新たに取得し、
前記旧キャッシュデータと前記新キャッシュデータとを比較して、前記旧キャッシュデータと前記新キャッシュデータが一致する場合は、前記旧キャッシュデータを前記記憶部から削除し、
前記旧キャッシュデータと前記新キャッシュデータが不一致の場合は、前記旧キャッシュデータと前記新キャッシュデータとの両方を前記記憶部に保存する、
請求項1記載の情報処理装置。
【請求項6】
コンピュータに、
キャッシュデータを条件により分類し、前記条件ごとに第1の優先順位を設定し、
前記キャッシュデータを保存するメモリの蓄積容量が閾値以上になったことを検出した場合、前記第1の優先順位にもとづき選択した前記条件によって分類される前記キャッシュデータを検出し、
検出した前記キャッシュデータごとに第2の優先順位を設定し、
前記第2の優先順位にもとづいて前記キャッシュデータを前記メモリに保存するキャッシュ制御を行う、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【0002】
近年、ユーザに近いエリアに位置するエッジ側の情報処理装置でデータを処理するエッジコンピューティングシステムが開発されている。エッジ側の情報処理装置でデータを処理することで、ネットワークを経由したクラウドへのデータ転送を節約できるので、データ処理のリアルタイム性を確保でき、また通信量削減によるコスト低減等が可能になる。
【0003】
一方、エッジ側の情報処理装置では、動画像データやOS(Operating System)のアップデートデータ等の様々なデータをメモリに一時的に保存して(以下、キャッシュと呼ぶ)、情報処理装置に接続される各端末に配信することが行われる。
【0004】
関連技術としては、例えば、コンテンツの最終アクセス時から経時的な減算が開始されるタイマにコンテンツを関連付けて、タイマ値の小さい順にコンテンツを記憶部から削除する技術が提案されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
従前では、キャッシュデータがメモリ容量の設定上限まで蓄積した場合、キャッシュされた日時の古いキャッシュデータから削除されることが行われる。しかし、このようなキャッシュデータの削除だと、例えば、重要度の高いキャッシュデータが削除され、重要度の低いキャッシュデータがキャッシュされるといったことが生じる可能性があり、キャッシュデータの運用効率が悪いという問題がある。
【0007】
1つの側面では、本発明は、キャッシュデータの運用効率の向上を図った情報処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、情報処理装置が提供される。情報処理装置は、キャッシュデータを保存する記憶部と、キャッシュデータを記憶部に保存させる際の指標となる条件によってキャッシュデータを分類し、条件ごとに第1の優先順位を設定し、記憶部の蓄積容量が閾値以上になったことを検出した場合、第1の優先順位にもとづき選択した条件によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに第2の優先順位を設定し、第2の優先順位にもとづいてキャッシュデータを記憶部に保存するキャッシュ制御を行う制御部と、を有する。
また、上記課題を解決するために、コンピュータに上記情報処理装置と同様の制御を実行させるプログラムが提供される。
【発明の効果】
【0009】
1側面によれば、キャッシュデータの運用効率の向上が可能になる。
【図面の簡単な説明】
【0010】
【
図1】第1の実施の形態の情報処理装置の一例を説明するための図である。
【
図2】第2の実施の形態の情報処理システムの構成の一例を示す図である。
【
図3】エッジ情報処理端末の機能ブロックの一例を示す図である。
【
図4】エッジ情報処理端末のハードウェア構成の一例を示す図である。
【
図5】情報処理システムにおけるキャッシュデータの流れの一例を示す図である。
【
図6】横連携におけるキャッシュデータの流れの一例を示す図である。
【
図7】上昇型のキャッシュヒット率分布の一例を示す図である。
【
図8】減少型のキャッシュヒット率分布の一例を示す図である。
【
図9】平均型のキャッシュヒット率分布の一例を示す図である。
【
図10】V字型のキャッシュヒット率分布の一例を示す図である。
【
図11】曜日特化型のキャッシュヒット率分布の一例を示す図である。
【
図12】キャッシュデータ管理テーブルの一例を示す図である。
【
図13】エッジ情報処理端末の動作の一例を示すフローチャートである。
【
図14】グループ分け処理にもとづくキャッシュ制御の動作の一例を示すフローチャートである。
【
図15】キャッシュデータの期限切れが近い場合の動作の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は第1の実施の形態の情報処理装置の一例を説明するための図である。情報処理装置1は、制御部1aと記憶部1bを備える。
【0012】
記憶部1bは、キャッシュデータを記憶する。制御部1aは、キャッシュデータを記憶部1bに保存させる際の指標となる条件によってキャッシュデータを分類し、条件ごとに第1の優先順位を設定する。なお、条件としては、後述するが、例えば、キャッシュヒット数、キャッシュヒット率分布、最終ヒット日等がある。
【0013】
また、制御部1aは、記憶部1bの蓄積容量が閾値以上になったことを検出した場合、第1の優先順位にもとづき選択した条件によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに第2の優先順位を設定する。
【0014】
そして、制御部1aは、第2の優先順位にもとづいてキャッシュデータを記憶部1bに保存するキャッシュ制御を行う。キャッシュ制御とは、優先順位の高いキャッシュデータを記憶部1bに保存し、優先順位の低いキャッシュデータを記憶部1bから削除する制御である。
なお、制御部1aの機能は、例えば、情報処理装置1が備える図示しないプロセッサが、所定のプログラムを実行することによって実現することができる。
【0015】
図1に示す例を用いて動作の流れについて説明する。
〔ステップS1〕制御部1aは、キャッシュデータを条件により分類する。条件は、キャッシュヒット率分布およびキャッシュヒット数であるとし、キャッシュヒット率分布およびキャッシュヒット数によりキャッシュデータを分類したとする。キャッシュヒット率分布によって分類されたキャッシュデータには動画A、B、Cが含まれ、キャッシュヒット数によって分類されたキャッシュデータには動画D、E、Fが含まれているとする。
【0016】
〔ステップS2〕制御部1aは、条件ごとに第1の優先順位を設定する。この例では、キャッシュヒット率分布を第1の優先順位の第一位、キャッシュヒット数を第1の優先順位の第二位と設定したとする。
〔ステップS3〕制御部1aは、記憶部1bの蓄積容量を定期的に監視しており、記憶部1bの蓄積容量が閾値以上になったことを検出したとする。
【0017】
〔ステップS4〕制御部1aは、第1の優先順位にもとづき条件を選択し、選択した条件によって分類されるキャッシュデータを検出する。第1の優先順位が第一位の条件はキャッシュヒット率分布である。したがって、条件のうちキャッシュヒット率分布が選択され、キャッシュヒット率分布によって分類されるキャッシュデータ(動画A、B、C)が検出される。
【0018】
〔ステップS5〕制御部1aは、検出したキャッシュデータごとに第2の優先順位を設定する。検出したキャッシュデータは動画A、B、Cであり、動画A、B、Cのそれぞれのキャッシュヒット率分布は、平均型、V字型、減少型になっている(キャッシュヒット率分布の各分布型については
図7から
図11で後述する)。また、第2の優先順位の第一位を平均型、第2の優先順位の第二位をV字型、第2の優先順位の第三位を減少型と設定したとする。
【0019】
〔ステップS6〕制御部1aは、第2の優先順位にもとづいてキャッシュデータを記憶部1bに保存するキャッシュ制御を行う。例えば、第2の優先順位の第一位および第二位のキャッシュデータは記憶部1bに保存し、第2の優先順位の第三位のキャッシュデータは記憶部1bから削除するものとする。この場合、動画A、Bが記憶部1bに保存され、動画Cは記憶部1bから削除されることになる。
【0020】
このように、情報処理装置1において、制御部1aは、キャッシュデータを条件により分類し、条件ごとに第1の優先順位を設定する。そして、制御部1aは、記憶部1bの蓄積容量が閾値以上になったことを検出した場合、第1の優先順位にもとづき選択した条件によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに設定した第2の優先順位にもとづいてキャッシュ制御を行う。
【0021】
これにより、優先順位の高いキャッシュデータは保存され、優先順位が低いキャッシュデータは削除されるため、キャッシュデータの重要度に応じたキャッシュ制御が可能になり、キャッシュデータの運用効率の向上を図ることが可能になる。
【0022】
[第2の実施の形態]
次に第2の実施の形態として、学校のエデュケーションモデルにおけるデータキャッシュに、上記の情報処理装置1の機能を適用した情報処理システムの構成および動作について以降詳しく説明する。なお、以降では、条件ごとに設定される第1の優先順位を優先フラグと呼び、条件によって分類されるキャッシュデータごとに設定される第2の優先順位を単に優先順位と呼んで説明する。
【0023】
<システム構成>
図2は第2の実施の形態の情報処理システムの構成の一例を示す図である。情報処理システムsy1は、複数の学校に構築されたシステムであり、学校A、Bの校内には校内LAN(Local Area Network)41が敷設されている。校内LAN41は、外部回線42を通じて教育委員会ネットワークn1に接続され、教育委員会ネットワークn1は、インターネットn2に接続される。また、インターネットn2には、配信サーバ50が接続されている。
【0024】
以下、学校A内部の構成について説明する(学校Bも同様な構成である)。学校Aは、教室1-a、1-b、2-a、2-bを含む。教室1-aには、教師・生徒用の端末2a1、2a2、・・・、2anを含む端末群2g1と、端末群2g1と無線通信を行うAP(Access Point:アクセスポイント)3aとが配置され、教室1-bには、教師・生徒用の端末2b1、2b2、・・・、2bnを含む端末群2g2と、端末群2g2と無線通信を行うAP3bとが配置される。
【0025】
また、教室2-aには、教師・生徒用の端末2c1、2c2、・・・、2cnを含む端末群2g3と、端末群2g3と無線通信を行うAP3cとが配置され、教室2-bには、教師・生徒用の端末2d1、2d2、・・・、2dnを含む端末群2g4と、端末群2g4と無線通信を行うAP3dとが配置される。
【0026】
AP3a、3b、3c、3dは、校内LAN41に接続され、校内LAN41には、さらにエッジ情報処理端末10a、10bおよび校内サーバ20が接続される。エッジ情報処理端末10a、10bは、
図1の情報処理装置1の機能を有している。
【0027】
なお、教室1-a、1-b内の各装置およびエッジ情報処理端末10aのIP(Internet Protocol)アドレスを192.168.1.xxx(xxxは0から255の範囲)とし、教室1-a、1-b内の各装置およびエッジ情報処理端末10aは、セグメントとして192.168.1を共有するグループとする。なお、エッジ情報処理端末10aは、プロキシサーバの機能を有し、プロキシサーバのIPアドレスとしてProxy 192.168.1.xxxが割り振られている。
【0028】
また、教室2-a、2-b内の各装置およびエッジ情報処理端末10bのIPアドレスを192.168.2.xxxとし、教室2-a、2-b内の各装置およびエッジ情報処理端末10bは、セグメントとして192.168.2を共有するグループとする。教室1-a、1-bを1学年の教室とし、教室2-a、2-bを2学年の教室とした場合、学年ごとにセグメントが同一のグループに分けられる。なお、エッジ情報処理端末10bは、プロキシサーバの機能を有し、プロキシサーバのIPアドレスとしてProxy 192.168.2.xxxが割り振られている。
【0029】
ここで、エッジ情報処理端末10a、10b(総称する場合は、エッジ情報処理端末10と呼ぶ)は、キャッシュ機能を搭載したエッジコンピュータであり、APによる無線通信機能を搭載する。
【0030】
端末群2g1、2g2、2g3、2g4の教師・生徒用の各端末(総称する場合は、端末2と呼ぶ)は、授業で使われるブラウザを搭載した端末である。校内サーバ20は、学校A内に置かれたサーバであり、教育コンテンツや成績情報等の個人情報の収集管理を行う。AP3a、3b、3c、3dは、各教室内に置かれた無線のアクセスポイントであり、教室内で使われるため、複数の端末2を同時接続することができる。
【0031】
例えば、最大41人(生徒40人+先生1名)分の端末2に同時接続が可能である。なお、エッジ情報処理端末10もAPと同様な機能を有しており、各教室で使用される端末台数以上の端末に同時接続できる機能をサポートしている。
【0032】
配信サーバ50は、インターネットn2上の各コンテンツの管理および配信を行うサーバである。コンテンツとしては、例えば、教育用テレビのコンテンツや教科書のコンテンツ等がある。教育委員会ネットワークn1は、各市町村の教育委員会が形成している独自のネットワークであり、教育委員会に所属する学校の状況を集中管理する。また、Windows(登録商標)のUpdateを行うサーバも各学校ではなく、教育委員会ネットワークn1で集中管理することができる。
【0033】
外部回線42は、学校Aと学校B、および学校A、Bと教育委員会ネットワークn1を接続するネットワーク回線であり、一般的なインターネット回線である(専用回線を使用することもできる)。
【0034】
校内LAN41は、学校A、B内に配置されたネットワーク回線であり、L3(レイヤ3)スイッチやHUB等を使用して構築される(例えば、100Mbpsから1000Mbpsまでの帯域を持つネットワーク回線で構築される)。
【0035】
<機能ブロック>
図3はエッジ情報処理端末の機能ブロックの一例を示す図である。エッジ情報処理端末10は、制御部11、記憶部12および通信インタフェース部13を備える。制御部11は、
図1の制御部1aの機能を実現し、記憶部12は、
図1の記憶部1bの機能を実現する。
【0036】
制御部11は、条件分類部11a、優先フラグ設定部11b、キャッシュデータ検出部11c、優先順位設定部11d、キャッシュ制御部11eおよびグループ分け処理部11fを含む。
【0037】
条件分類部11aは、キャッシュデータを条件ごとに分類する。優先フラグ設定部11bは、条件ごとに優先フラグを設定する。キャッシュデータ検出部11cは、記憶部12の蓄積容量が閾値以上になったことを検出した場合、優先フラグにもとづき選択した条件によって分類されるキャッシュデータを検出する。
【0038】
優先順位設定部11dは、検出したキャッシュデータごとに優先順位を設定する。キャッシュ制御部11eは、優先順位にもとづいてキャッシュデータを記憶部12に保存するためのキャッシュ制御を行う。グループ分け処理部11fは、優先フラグにもとづくキャッシュデータ削除を行っても記憶部12の蓄積容量が閾値未満に下がらないことを検出した場合、優先フラグにもとづきキャッシュデータをグループ分けし、下位グループに含まれるキャッシュデータを削除する。
【0039】
記憶部12は、キャッシュデータや、キャッシュデータ管理テーブル(
図12で後述)を保存し、また、エッジ情報処理端末10を運用するための各種制御情報等を保存する。通信インタフェース部13は、ネットワーク(校内LAN41)に接続して、端末2や教育委員会ネットワークn1に対する通信インタフェース制御を行う。なお、通信インタフェース部13の機能は、制御部11に含まれてもよい。
【0040】
<ハードウェア構成>
図4はエッジ情報処理端末のハードウェア構成の一例を示す図である。エッジ情報処理端末10は、プロセッサ(コンピュータ)100によって全体制御されている。プロセッサ100は、制御部11の機能を実現する。プロセッサ100には、バス103を介して、メモリ101、入出力インタフェース102およびネットワークインタフェース104が接続されている。
【0041】
プロセッサ100は、マルチプロセッサであってもよい。プロセッサ100は、例えば、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ100は、CPU、FPGA、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
【0042】
メモリ101は、記憶部12の機能を実現し、キャッシュメモリの機能として使用され、またエッジ情報処理端末10の主記憶装置として使用される。メモリ101には、プロセッサ100に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ101には、プロセッサ100による処理に要する各種データが格納される。
【0043】
メモリ101は、エッジ情報処理端末10の補助記憶装置としても使用され、OSのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ101は、補助記憶装置として、フラッシュメモリやSSD(Solid State Drive)等の半導体記憶装置やHDD(Hard Disk Drive)等の磁気記録媒体を含んでもよい。
【0044】
バス103に接続されている周辺機器としては、入出力インタフェース102およびネットワークインタフェース104がある。入出力インタフェース102は、エッジ情報処理端末10との入出力インタフェース制御を行う。また、入出力インタフェース102は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ100に送信する。
【0045】
さらに、入出力インタフェース102は、周辺機器を接続するための通信インタフェースとしても機能する。例えば、入出力インタフェース102は、レーザ光等を利用して、光ディスクに記録されたデータの読み取りを行う光学ドライブ装置を接続することができる。光ディスクには、Blu-rayDisc(登録商標)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(Rewritable)等がある。
【0046】
また、入出力インタフェース102は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース102との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
【0047】
ネットワークインタフェース104は、通信インタフェース部13の機能を実行し、ネットワークに接続してネットワークインタフェース制御を行う。ネットワークインタフェース104は、例えば、NIC(Network Interface Card)、無線LANカード等を使用することもできる。ネットワークインタフェース104で受信されたデータは、メモリ101やプロセッサ100に出力される。
【0048】
以上のようなハードウェア構成によって、エッジ情報処理端末10の処理機能を実現することができる。例えば、エッジ情報処理端末10は、プロセッサ100が所定のプログラムを実行することで、本発明の処理を実行することができる。
【0049】
エッジ情報処理端末10は、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、上記の動作状態検出処理の機能を制御部11に実行させることができる。エッジ情報処理端末10に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
【0050】
例えば、エッジ情報処理端末10に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ100は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。
【0051】
また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ100からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ100が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0052】
<キャッシュデータの流れ>
図5は情報処理システムにおけるキャッシュデータの流れの一例を示す図である。
〔ステップS11〕教室1-a、1-b内の端末群2g1、2g2は、中継先として、エッジ情報処理端末10aを指定する。なお、中継先が端末2から指定されると、エッジ情報処理端末10は、端末2からのネットワークアクセスに対してキャッシュを行う。
【0053】
〔ステップS12〕教室1-aにある端末群2g1がコンテンツc1にアクセスすると、端末群2g1に向けてコンテンツc1がダウンロードされ、同時にエッジ情報処理端末10aはコンテンツc1をキャッシュする。
【0054】
〔ステップS13〕エッジ情報処理端末10aを同じ中継先として使用している教室1-b内の端末群2g2からコンテンツc1にアクセスがあった場合、配信サーバ50からではなく、エッジ情報処理端末10aからコンテンツc1が端末群2g2に配信される。なお、校内LAN41は、外部回線42に比べて高速なため、ネットワーク回線パンクによる遅延、停止等は起きにくい。
【0055】
〔ステップS14〕教室2-a、2-b内の端末群2g3、2g4は、中継先として、エッジ情報処理端末10bを指定する。
〔ステップS15〕教室2-aにある端末群2g3がコンテンツc2にアクセスすると、端末群2g3に向けてコンテンツc2がダウンロードされ、同時にエッジ情報処理端末10bはコンテンツc2をキャッシュする。
【0056】
〔ステップS16〕エッジ情報処理端末10bを同じ中継先として使用している教室2-b内の端末群2g4からコンテンツc2にアクセスがあった場合、配信サーバ50からではなく、エッジ情報処理端末10bからコンテンツc2が端末群2g4に配信される。
【0057】
このように、端末2が中継先に指定したエッジ情報処理端末10がコンテンツをキャッシュしており、端末2がコンテンツをダウンロードする際に、エッジ情報処理端末10にキャッシュされているコンテンツにヒットした場合は、配信サーバ50からではなくエッジ情報処理端末10からヒットしたコンテンツが配信される。
【0058】
<横連携におけるキャッシュデータの流れ>
図6は横連携におけるキャッシュデータの流れの一例を示す図である。横連携(連携処理)とは、エッジ情報処理端末10a、10b間でキャッシュデータのやりとりを行う処理のことである。
【0059】
〔ステップS21〕教室1-a、1-b内の端末群2g1、2g2は、中継先として、エッジ情報処理端末10aを指定する。
〔ステップS22〕教室2-a、2-b内の端末群2g3、2g4は、中継先として、エッジ情報処理端末10bを指定する。
【0060】
〔ステップS23〕教室1-aにある端末群2g1からコンテンツc1にアクセスすると、端末群2g1に向けてコンテンツc1がダウンロードされ、同時にエッジ情報処理端末10aはコンテンツc1をキャッシュする。
〔ステップS24〕端末群2g2からコンテンツc1にアクセスがあった場合、エッジ情報処理端末10aからコンテンツc1が端末群2g2に配信される。
【0061】
〔ステップS25〕教室2-a、2-b内の端末群2g3、2g4からコンテンツc1にアクセスしようとした際、横連携機能が働き、エッジ情報処理端末10bは、エッジ情報処理端末10aに対して、端末群2g3、2g4からアクセス指示があったコンテンツc1をエッジ情報処理端末10aがキャッシュしているか否かの問い合わせを行う。
【0062】
〔ステップS26〕エッジ情報処理端末10bが問い合わせしたコンテンツと、エッジ情報処理端末10aがキャッシュしているコンテンツが一致していれば、エッジ情報処理端末10bは、該コンテンツをエッジ情報処理端末10aからキャッシュコピーして取得する。
【0063】
〔ステップS27〕エッジ情報処理端末10bは、キャッシュコピーしたコンテンツ(コンテンツc1)を端末群2g3、2g4に配信する。なお、外部回線42からコンテンツをダウンロードしてこないので、ネットワーク回線パンクによる遅延、停止等が起きにくくなる。
【0064】
<キャッシュヒット率分布>
次にキャッシュヒット率分布の分布型について、
図7から
図11を用いて説明する。
図7は上昇型のキャッシュヒット率分布の一例を示す図である。縦軸はキャッシュヒット数、横軸は月日である。グラフG1の上昇型は、時間経過に伴ってキャッシュヒット数が上昇するキャッシュヒット率分布である。
【0065】
図8は減少型のキャッシュヒット率分布の一例を示す図である。縦軸はキャッシュヒット数、横軸は月日である。グラフG2の減少型は、時間経過に伴ってキャッシュヒット数が減少するキャッシュヒット率分布である。
【0066】
図9は平均型のキャッシュヒット率分布の一例を示す図である。縦軸はキャッシュヒット数、横軸は月日である。グラフG3の平均型は、所定期間内でキャッシュヒット数が平均値近傍に集中するキャッシュヒット率分布である。
【0067】
図10はV字型のキャッシュヒット率分布の一例を示す図である。縦軸はキャッシュヒット数、横軸は月日である。グラフG4のV字型は、所定期間の開始から中心に向かってキャッシュヒット数が減少し、中心から所定期間の終了に向かってキャッシュヒット数が上昇するキャッシュヒット率分布である。
【0068】
図11は曜日特化型のキャッシュヒット率分布の一例を示す図である。縦軸はキャッシュヒット数、横軸は曜日である。グラフG5の曜日特化型は、特定の曜日にキャッシュヒット数が集中するキャッシュヒット率分布である。
【0069】
<キャッシュデータ管理テーブル>
図12はキャッシュデータ管理テーブルの一例を示す図である。キャッシュデータ管理テーブルT1は、キャッシュデータであるコンテンツのコンテンツ名、キャッシュ日、蓄積容量および条件の項目を有する(例えば、保存期間を1か月とする)。
図12に示す条件の例には、横連携回数、キャッシュヒット数、最終ヒット日、Max-age(キャッシュ有効期限)、キャッシュヒット率分布および学年が示されている。
【0070】
また、条件に対して、優先フラグが設定される。
図12の例では、優先フラグの第一位を最終ヒット日、第二位をキャッシュヒット数、第三位をキャッシュヒット率分布と設定されている。この場合、エッジ情報処理端末10では、記憶部12の蓄積容量が閾値以上になったことを検出した場合、優先フラグが第一位の最終ヒット日に分類されるコンテンツ(キャッシュデータ)を選択し、選択したコンテンツに対して優先順位にもとづいてキャッシュ制御を行う。
【0071】
さらに、最終ヒット日にもとづくキャッシュ制御を行っても記憶部12の蓄積容量が閾値未満まで下がらない場合は、優先フラグが第二位のキャッシュヒット数に分類されるコンテンツを選択し、選択したコンテンツに対して優先順位にもとづいてキャッシュ制御を行う。それでも下がらない場合は、第三位のキャッシュヒット率分布に分類されるコンテンツを選択し、選択したコンテンツに対して優先順位にもとづいてキャッシュ制御を行う。
【0072】
または、優先フラグが第一位の条件にもとづくキャッシュ制御を行っても記憶部12の蓄積容量が閾値未満まで下がらない場合、キャッシュデータのグループ分けにもとづくキャッシュ制御を行うこともできる(後述の
図14で後述する)。
【0073】
<各種条件で分類されたキャッシュデータの優先順位にもとづくキャッシュ制御>
次に、各種の条件として、学年、横連携、キャッシュヒット数、キャッシュヒット率分布、最終ヒット日の例を挙げて、各条件で分類されるキャッシュデータに対する優先順位にもとづくキャッシュ制御について説明する。
【0074】
(学年を条件とする場合)
エッジ情報処理端末10は、学年を優先フラグにもとづいて選択した場合、学年によって分類されるキャッシュデータを検出し、検出したキャッシュデータに対して学年ごとに優先順位を設定して、優先順位にもとづいてキャッシュデータを記憶部12に保存する。
【0075】
例えば、学年に1学年から3学年まであるとし、学年の優先順位の第一位を3学年、第二位を2学年、第三位を1学年とする。また、第一位の優先順位に相当するキャッシュデータのみ保存するものとする。
【0076】
このとき、エッジ情報処理端末10の制御部11は、記憶部12の蓄積容量が閾値以上になったことを検出した場合、3学年の教室内の端末からアクセスがあったコンテンツは記憶部12に優先的に保存し、1年生および2年生の教室内の端末からアクセスがあったコンテンツは記憶部12から削除する。
【0077】
なお、
図2に示したように、学年ごとにIPアドレスのセグメントが同一のグループに分けられているため、制御部11では、セグメントにもとづいて、学年を判別し、IPアドレスのセグメントを除くxxx(0から255の範囲)から端末を判別することができる。
【0078】
(横連携を条件とする場合)
エッジ情報処理端末10は、横連携を優先フラグにもとづいて選択した場合、横連携によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに横連携の実行回数に優先順位を設定して、優先順位にもとづいてキャッシュデータを記憶部12に保存する。
【0079】
例えば、横連携の実行回数の優先順位の第一位を3回以上、第二位を3回未満とする。また、第一位の優先順位に相当するコンテンツのみ保存するものとする。このとき、エッジ情報処理端末10の制御部11は、記憶部12の蓄積容量が閾値以上になったことを検出した場合、横連携の実行回数が3回以上あったコンテンツは記憶部12に優先的に保存し、横連携の実行回数が3回未満であったコンテンツは記憶部12から削除する。
【0080】
このように、横連携の実行回数が多いほど対象のコンテンツに対するアクセス数が多いということなので、横連携の実行回数に応じて優先順位を設定してキャッシュ制御を行うことにより、コンテンツのアクセス回数にもとづいたキャッシュ制御を精度よく行うことが可能になる。
【0081】
(キャッシュヒット数を条件とする場合)
エッジ情報処理端末10は、キャッシュヒット数を優先フラグにもとづいて選択した場合、キャッシュヒット数によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとにキャッシュヒット数に優先順位を設定して、優先順位にもとづいてキャッシュデータを記憶部に保存する。
【0082】
例えば、キャッシュヒット数の優先順位の第一位を100回以上、第二位を100回未満および50回以上とし、第三位を50回未満とする。また、第一位と第二位の優先順位に相当するコンテンツのみ保存するものとする。このとき、エッジ情報処理端末10の制御部11は、記憶部12の蓄積容量が閾値以上になったことを検出した場合、キャッシュヒット数が50回以上あったコンテンツは記憶部12に優先的に保存し、50回未満であったコンテンツは記憶部12から削除する。
【0083】
(キャッシュヒット率分布を条件とする場合)
エッジ情報処理端末10は、キャッシュヒット率分布を優先フラグにもとづいて選択した場合、キャッシュヒット率分布によって分類されるキャッシュデータを検出し、検出したキャッシュデータに対してキャッシュヒット率分布の分布型ごとに優先順位を設定して、優先順位にもとづいてキャッシュデータを記憶部12に保存する。
【0084】
例えば、キャッシュヒット率分布には上昇型、減少型、平均型、V字型、曜日特化型があるとし、キャッシュヒット率分布の優先順位を、上昇型=平均型>V字型=曜日特化型>減少型とする。
【0085】
すなわち、上昇型と平均型の優先順位を等しく、かつV字型と曜日特化型の優先順位を等しくし、上昇型と平均型の優先順位を第一位とし、V字型と曜日特化型の優先順位を第二位とし、減少型の優先順位を第三位とする。
【0086】
また、第一位の分布型の優先順位に相当するキャッシュデータのみ保存するものとする。このとき、エッジ情報処理端末10の制御部11は、記憶部12の蓄積容量が閾値以上になったことを検出した場合、上昇型または平均型のコンテンツは記憶部12に優先的に保存し、その他の分布型のコンテンツは記憶部12から削除する。
【0087】
このように、キャッシュヒット率分布の分布型に応じて優先順位を設定してキャッシュ制御を行うことにより、キャッシュデータの統計的な使用頻度にもとづいたキャッシュ制御を精度よく行うことが可能になる。
【0088】
(最終ヒット日を条件とする場合)
エッジ情報処理端末10は、最終ヒット日を優先フラグにもとづいて選択した場合、最終ヒット日によって分類されるキャッシュデータを検出し、検出したキャッシュデータごとに最終ヒット日に優先順位を設定して、優先順位にもとづいてキャッシュデータを記憶部12に保存する。
【0089】
例えば、最終ヒット日が8月である場合の優先順位を第一位、最終ヒット日が7月である場合の優先順位を第二位、最終ヒット日が6月である場合の優先順位を第三位とする。また、第一位と第二位の優先順位に相当するコンテンツのみ保存するものとする。このとき、エッジ情報処理端末10の制御部11は、記憶部12の蓄積容量が閾値以上になったことを検出した場合、最終ヒット日が7月と8月にあったコンテンツは記憶部12に優先的に保存し、最終ヒット日が6月にあったコンテンツは記憶部12から削除する。
【0090】
<動作フローチャート>
図13はエッジ情報処理端末の動作の一例を示すフローチャートである。
〔ステップS31〕制御部11は、条件によるキャッシュデータの分類を行う。
【0091】
〔ステップS32〕制御部11は、条件に優先フラグを設定する。
〔ステップS33〕制御部11は、記憶部12の蓄積容量が閾値以上になったことを検出する。
【0092】
〔ステップS34〕制御部11は、優先フラグが第一位の条件で分類されたキャッシュデータを選択する。
〔ステップS35〕制御部11は、選択したキャッシュデータに優先順位を設定する。
〔ステップS36〕制御部11は、優先順位にもとづいてキャッシュ制御を行う。
【0093】
図14はグループ分け処理にもとづくキャッシュ制御の動作の一例を示すフローチャートである。
図13のステップS31からステップS36の処理を行っても、記憶部12の蓄積容量が閾値未満にならず、十分な空き容量が得られないと判断した場合に行われる動作フローである。
【0094】
〔ステップS41〕制御部11は、条件に優先フラグを設定してソートを開始する(優先フラグの順位指定)。
〔ステップS42〕制御部11は、第一位の優先フラグのうちのキャッシュデータに優先順位を設定して、半数を基準にして上位順位と下位順位にグループを分ける。
【0095】
〔ステップS43〕制御部11は、下位グループのうちで第二位の優先フラグのうちのキャッシュデータに優先順位を設定して、半数を基準にして上位順位と下位順位にグループを分ける。
【0096】
〔ステップS44〕制御部11は、下位グループのうちで第三位の優先フラグのうちのキャッシュデータに優先順位を設定して、半数を基準にして上位順位と下位順位にグループを分ける。
〔ステップS45〕制御部11は、第三位の優先フラグの下位グループのキャッシュデータを削除する。
【0097】
〔ステップS46〕制御部11は、記憶部12の空き容量は十分か(蓄積容量が閾値未満か)否かを判定する。空き容量が十分の場合はステップS48の処理に進み、十分でない場合はステップS47の処理に進む。
【0098】
〔ステップS47〕制御部11は、再度ソートの実行を行う。ステップS42の処理に戻る。
〔ステップS48〕制御部11は、キャッシュ制御を終了する。
【0099】
このように、エッジ情報処理端末10は、記憶部12の空き容量が十分得られるまで、条件で分類されたキャッシュデータを優先順位にもとづいて上位グループと下位グループとに分ける処理を繰り返し行い、下位グループに含まれるキャッシュデータを記憶部12から削除する。これにより、優先度の高いキャッシュデータの保存は継続しながら、記憶部12の空き容量を効率よく確保することが可能になる。
【0100】
<キャッシュデータの期限切れが近い場合の処理>
エッジ情報処理端末10の制御部11は、キャッシュデータの期限切れの判定を行い、期限切れを起こすキャッシュデータがある場合、そのキャッシュデータのキャッシュヒット率の分布が上昇型か、または平均型かを判定する。上昇型または平均型の場合、制御部11は、配信サーバ50に再度アクセスを行って、キャッシュデータを新しく取り込む。
【0101】
例えば、ある動画の配信サーバ50側の保存期間の設定が1週間であるとする。エッジ情報処理端末10は、期限が切れる1日前にキャッシュデータの期限切れ判定を行い、当該キャッシュデータのキャッシュヒット率分布が上昇型と判定したとする。この場合、エッジ情報処理端末10は、期限切れを起こすキャッシュデータ(旧キャッシュデータ)を記憶部12内の他領域に一旦待避させ、再度同じキャッシュデータ(新キャッシュデータ)を配信サーバ50に新しく取りに行く。
【0102】
そして、エッジ情報処理端末10は、旧キャッシュデータと新キャッシュデータとの比較を行い、同一のキャッシュデータであること(例えば、版数が同じ等)を認識した場合、旧キャッシュデータを削除する。
【0103】
図15はキャッシュデータの期限切れが近い場合の動作の一例を示す図である。
〔ステップS51〕制御部11は、キャッシュ期限切れが近いキャッシュデータ(期限要キャッシュデータ)があることを検出する。
【0104】
〔ステップS52〕制御部11は、検出したキャッシュデータのキャッシュヒット率分布は上昇型か、または平均型かを判定する。上昇型または平均型ではない場合、ステップS53の処理に進み、上昇型または平均型の場合、ステップS54の処理に進む。
【0105】
〔ステップS53〕制御部11は、検出したキャッシュデータをキャッシュ期限切れまで放置する。
〔ステップS54〕制御部11は、検出したキャッシュデータを旧キャッシュデータとして記憶部12内の他領域に待避させる。
【0106】
〔ステップS55〕制御部11は、配信サーバ50にアクセスして、再度同じキャッシュデータを新キャッシュデータとして取得する。
〔ステップS56〕制御部11は、旧キャッシュデータと新キャッシュデータとを比較する。旧キャッシュデータと新キャッシュデータが一致する場合はステップS57に処理が進み、旧キャッシュデータと新キャッシュデータが不一致の場合はステップS58に処理が進む。
【0107】
〔ステップS57〕制御部11は、旧キャッシュデータを記憶部12から削除する。
〔ステップS58〕制御部11は、旧キャッシュデータと新キャッシュデータを記憶部12内に保持する。
【0108】
このように、キャッシュ期限切れが近いキャッシュデータのキャッシュヒット率分布が上昇型または平均型の場合、旧キャッシュデータとして記憶部12内の他領域に待避させる。そして、旧キャッシュデータと新たに取り込んだ新キャッシュデータとが一致する場合は旧キャッシュデータを削除し、不一致の場合は新旧両方のキャッシュデータを保存する。これにより、キャッシュ期限が切れても同一のキャッシュデータの配信を即時に行うことができるので、キャッシュデータ配信のサービスの向上を図ることが可能になる。
【0109】
上記で説明した本発明の情報処理装置1およびエッジ情報処理端末10の処理機能は、コンピュータによって実現することができる。この場合、情報処理装置1およびエッジ情報処理端末10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0110】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶部、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶部には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、CD-ROM/RW等がある。光磁気記録媒体には、MO(Magneto Optical disk)等がある。
【0111】
プログラムを流通させる場合、例えば、そのプログラムが記録されたCD-ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶部に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0112】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶部に格納する。そして、コンピュータは、自己の記憶部からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
【0113】
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。
【0114】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0115】
1 情報処理装置
1a 制御部
1b 記憶部