(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022182228
(43)【公開日】2022-12-08
(54)【発明の名称】情報処理装置、プログラムおよび情報処理システム
(51)【国際特許分類】
G06F 13/00 20060101AFI20221201BHJP
G06F 16/957 20190101ALI20221201BHJP
【FI】
G06F13/00 540B
G06F16/957
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021089680
(22)【出願日】2021-05-28
(71)【出願人】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】佐藤 慶太
【テーマコード(参考)】
5B084
5B175
【Fターム(参考)】
5B084AA01
5B084AA02
5B084AA12
5B084AB07
5B084BB11
5B084CD05
5B084CD13
5B084DB12
5B084DC02
5B084DC05
5B084DC17
5B175LA02
(57)【要約】
【課題】キャッシュデータを適切なタイミングで更新することができる。
【解決手段】情報処理装置10-1は、キャッシュデータ11aの有効期限まで所定時間以内になると、キャッシュデータ11aの使用の有無を判定する。情報処理装置10-1は、キャッシュデータ11aが使用されている場合、キャッシュデータ11aの更新データを取得する。情報処理装置10-1は、更新データを記憶部11に格納する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
キャッシュデータを記憶する記憶部と、
前記キャッシュデータの有効期限まで所定時間以内になると、前記キャッシュデータの使用の有無を判定し、前記キャッシュデータが使用されている場合、前記キャッシュデータの更新データを取得し、前記更新データを前記記憶部に格納する処理部と、
を有する情報処理装置。
【請求項2】
前記処理部は、前記更新データを前記記憶部に格納すると、前記キャッシュデータを削除する、
請求項1記載の情報処理装置。
【請求項3】
前記処理部は、前記有効期限になると、前記キャッシュデータを削除する、
請求項1または2記載の情報処理装置。
【請求項4】
前記処理部は、前記キャッシュデータの使用頻度が所定の頻度以上の場合、他の情報処理装置に前記更新データを送信する、
請求項1ないし3のいずれかに記載の情報処理装置。
【請求項5】
前記処理部は、前記キャッシュデータの使用頻度が所定の頻度未満の場合、前記他の情報処理装置のうち、前記他の情報処理装置それぞれにおける前記キャッシュデータの使用頻度に基づいて決定される送信先に前記更新データを送信する、
請求項4記載の情報処理装置。
【請求項6】
コンピュータに、
記憶部に記憶されたキャッシュデータの有効期限まで所定時間以内になると、前記キャッシュデータの使用の有無を判定し、
前記キャッシュデータが使用されている場合、前記キャッシュデータの更新データを取得し、
前記更新データを前記記憶部に格納する、
処理を実行させるプログラム。
【請求項7】
キャッシュデータを記憶部に記憶し、前記キャッシュデータの有効期限まで所定時間以内になると、前記キャッシュデータの使用の有無を判定し、前記キャッシュデータが使用されている場合、前記キャッシュデータの更新データを取得し、前記更新データを前記記憶部に格納し、前記キャッシュデータの使用頻度が所定の頻度以上の場合、他の情報処理装置に前記更新データを送信する複数の情報処理装置、
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、プログラムおよび情報処理システムに関する。
【背景技術】
【0002】
ユーザが使用する端末がLAN(Local Area Network)の外部のサーバから取得するデータを、キャッシュデータとしてLAN内のキャッシュサーバに記憶しておくことがある。そして、キャッシュサーバがキャッシュデータを各端末に配信することで、各端末は外部のサーバにアクセスすることなくデータを取得できる。
【0003】
キャッシュサーバに関する技術としては、例えば、端末装置からコンテンツリクエストを受信したキャッシュサーバにおいて生じる処理の遅延を抑制する情報処理システムが提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
キャッシュサーバに記憶されたキャッシュデータには、有効期限が設定されることがある。有効期限が設定されたキャッシュデータを更新する制御としては、例えば、端末からキャッシュデータの要求があったときに、当該キャッシュデータが有効期限切れであれば更新することが考えられる。しかし、キャッシュデータの要求があってからキャッシュデータを更新する場合、キャッシュサーバがデータを端末に配信するまでに時間がかかる。よって、キャッシュデータが適切なタイミングで更新されるのが好ましい。
【0006】
1つの側面では、本件は、キャッシュデータを適切なタイミングで更新することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、記憶部と処理部とを有する情報処理装置が提供される。記憶部は、キャッシュデータを記憶する。処理部は、キャッシュデータの有効期限まで所定時間以内になると、キャッシュデータの使用の有無を判定し、キャッシュデータが使用されている場合、キャッシュデータの更新データを取得し、更新データを記憶部に格納する。
【発明の効果】
【0008】
1態様によれば、キャッシュデータを適切なタイミングで更新することができる。
【図面の簡単な説明】
【0009】
【
図1】第1の実施の形態に係る情報処理システムの一例を示す図である。
【
図2】第2の実施の形態に係る情報処理システムの一例を示す図である。
【
図3】情報処理装置のハードウェアの一構成例を示す図である。
【
図4】キャッシュデータの流れの一例を示す図である。
【
図6】情報処理装置の機能例を示すブロック図である。
【
図8】キャッシュデータ更新処理の例を示すシーケンス図である。
【
図9】期限監視処理の手順の一例を示すフローチャートである。
【
図10】更新判定処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理システムの一例を示す図である。第1の実施の形態は、事前にキャッシュデータを更新するものである。
【0011】
第1の実施の形態の情報処理システムは、情報処理装置10-1,10-2,10-3を有する。情報処理装置10-1,10-2,10-3は、LAN1に接続されている。LAN1は、情報処理装置10-1,10-2,10-3が設置されている施設内のLANである。なお、LAN1には、ユーザが操作する、PC(Personal Computer)、スマートフォン、タブレット端末等の複数の端末が接続されていてもよい。LAN1およびサーバ3は、ネットワーク2に接続される。ネットワーク2は、WAN(Wide Area Network)やインターネット等の広域ネットワークである。サーバ3は、データを配信するサーバコンピュータである。サーバ3は、例えば、動画像データやOS(Operating System)のアップデートデータ等を配信する。
【0012】
情報処理装置10-1,10-2,10-3は、サーバ3が配信するデータをキャッシュし、キャッシュしたデータをLAN1内の端末に配信するコンピュータである。情報処理装置10-1は、記憶部11と処理部12とを有する。記憶部11は、情報処理装置10-1が実行する処理に用いられるデータを記憶する。記憶部11は、例えば、情報処理装置10-1が有するメモリまたはストレージ装置である。処理部12は、情報処理装置10-1を制御し、所要の処理を実行可能である。処理部12は、例えば、情報処理装置10-1が有するプロセッサまたは演算回路である。なお、情報処理装置10-2,10-3も、記憶部11と同様の記憶部と、処理部12と同様の処理部とを有する。
【0013】
記憶部11は、キャッシュデータ11aを記憶する。キャッシュデータ11aは、サーバ3が配信する所定のデータをキャッシュしたものである。処理部12は、キャッシュデータ11aの有効期限まで所定時間以内になると、キャッシュデータ11aの使用の有無を判定する。キャッシュデータ11aの有効期限は、例えば、キャッシュデータ11aが記憶部11に格納された日から、サーバ3が指定した日数を経過したときである。なお、処理部12は、有効期限になると、キャッシュデータ11aを削除する。
【0014】
処理部12は、例えば、情報処理装置10-1がキャッシュデータ11aをLAN1内の端末から要求された回数が1回以上の場合、キャッシュデータ11aが使用されていると判定し、0回の場合、キャッシュデータ11aが使用されていないと判定する。なお、処理部12は、情報処理装置10-1がキャッシュデータ11aを要求された回数が所定回以上の場合、キャッシュデータ11aが使用されていると判定し、所定回未満の場合、キャッシュデータ11aが使用されていないと判定してもよい。
【0015】
処理部12は、キャッシュデータ11aが使用されている場合、キャッシュデータ11aの更新データを取得する。更新データは、例えば、サーバ3が配信する所定のデータの最新のものである。そして、処理部12は、更新データを記憶部11に格納する。処理部12は、更新データを記憶部11に格納すると、キャッシュデータ11aを削除する。
【0016】
また、処理部12は、キャッシュデータ11aの使用頻度に応じて、取得した更新データを情報処理装置10-2,10-3に配信する。例えば、処理部12は、キャッシュデータ11aの使用頻度が所定の頻度以上であるか否かを判定する。ここで、キャッシュデータ11aの使用頻度は、情報処理装置10-1におけるキャッシュデータ11aの使用頻度でもよいし、情報処理装置10-1,10-2,10-3におけるキャッシュデータ11aの使用頻度の合計でもよい。
【0017】
処理部12は、キャッシュデータ11aの使用頻度が所定の頻度以上の場合、他の情報処理装置に更新データを送信する。例えば、処理部12は、情報処理装置10-1,10-2,10-3がLAN1内の端末からキャッシュデータ11aを要求された回数の合計が所定回以上の場合、キャッシュデータ11aの使用頻度が所定の頻度以上と判定する。そして、処理部12は、更新データを情報処理装置10-2,10-3に送信する。
【0018】
また、処理部12は、キャッシュデータ11aの使用頻度が所定の頻度未満の場合、他の情報処理装置のうち、他の情報処理装置それぞれにおけるキャッシュデータ11aの使用頻度に基づいて決定される送信先に更新データを送信する。例えば、処理部12は、情報処理装置10-1,10-2,10-3がLAN1内の端末からキャッシュデータ11aを要求された回数の合計が所定回未満の場合、キャッシュデータ11aの使用頻度が所定の頻度未満と判定する。そして、処理部12は、情報処理装置10-2,10-3のうち、キャッシュデータ11aが使用されている情報処理装置に更新データを送信する。一例として、情報処理装置10-2がキャッシュデータ11aを要求された回数が1回以上で、情報処理装置10-3がキャッシュデータ11aを要求された回数が0回の場合、処理部12は、更新データを情報処理装置10-2に送信する。
【0019】
第1の実施の形態によれば、情報処理装置10-1の記憶部11は、キャッシュデータ11aを記憶する。情報処理装置10-1の処理部12は、キャッシュデータ11aの有効期限まで所定時間以内になると、キャッシュデータ11aの使用の有無を判定する。そして、処理部12は、キャッシュデータ11aが使用されている場合、キャッシュデータ11aの更新データを取得し、更新データを記憶部11に格納する。
【0020】
これにより、情報処理装置10-1は、キャッシュデータ11aの要求がある前に、キャッシュデータ11aを更新することができる。よって、情報処理装置10-1は、キャッシュデータ11aを適切なタイミングで更新することができる。
【0021】
また、処理部12は、更新データを記憶部11に格納すると、キャッシュデータ11aを削除する。これにより、情報処理装置10-1は、不要なデータを削除し、空いている記憶領域を増加させることができる。
【0022】
また、処理部12は、有効期限になると、キャッシュデータ11aを削除する。これにより、情報処理装置10-1は、記憶容量が上限に達したときにキャッシュデータ11aを削除する場合よりも早く不要なデータを削除できる。
【0023】
また、処理部12は、キャッシュデータ11aの使用頻度が所定の頻度以上の場合、他の情報処理装置に更新データを送信する。これにより、情報処理装置10-1は、端末から要求される可能性の高いデータを他の情報処理装置にあらかじめ配信できる。
【0024】
また、処理部12は、キャッシュデータ11aの使用頻度が所定の頻度未満の場合、他の情報処理装置のうち、他の情報処理装置それぞれにおけるキャッシュデータ11aの使用頻度に基づいて決定される送信先に更新データを送信する。これにより、情報処理装置10-1は、他の情報処理装置に不要な更新データを送信することを防ぐことができる。
【0025】
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第2の実施の形態は、学校内の端末で使用するデータを校内の情報処理装置にキャッシュしておくものである。
【0026】
図2は、第2の実施の形態に係る情報処理システムの一例を示す図である。学校20は、教室21a,21b,22a,22b,23a,23bを有する。教室21a,21bは、それぞれ同じ学年の教室である。また、教室22a,22bは、それぞれ同じ学年の教室である。また、教室23a,23bは、それぞれ同じ学年の教室である。
【0027】
また、学校20は、校内LAN40を有する。校内LAN40は、外部回線を介してネットワーク30に接続されている。ネットワーク30は、インターネットや教育委員会のネットワーク等を含む広域ネットワークである。また、ネットワーク30には、配信サーバ50が接続されている。配信サーバ50は、データの管理および配信をするサーバである。例えば、配信サーバ50は、教育用の動画コンテンツを配信する。
【0028】
校内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に接続させる。
【0029】
例えば、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に接続するための中継をする。
【0030】
校内サーバ60は、学校20内に置かれたサーバであり、成績情報等の管理を行う。また、校内サーバ60は、情報処理装置100-1,100-2,100-3がキャッシュしたデータの管理を行う。
【0031】
情報処理装置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アドレスの所定のセグメントを共有するグループである。
【0032】
情報処理装置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に接続するためのアクセスポイントとしての機能を有していてもよい。
【0033】
図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)などの電子回路で実現してもよい。
【0034】
メモリ102は、情報処理装置100-1の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えば、RAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0035】
バス107に接続されている周辺機器としては、ストレージ装置103、媒体リーダ104、ネットワークインタフェース105およびAP106がある。ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、情報処理装置100-1の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0036】
媒体リーダ104は、記録媒体41に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体41として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
【0037】
ネットワークインタフェース105は、校内LAN40に接続されている。ネットワークインタフェース105は、校内LAN40を介して、他の装置との間でデータの送受信を行う。AP106は、他の装置と無線通信し、通信先の装置を校内LAN40に接続させる。
【0038】
情報処理装置100-1は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、情報処理装置100-2,100-3も、
図3に示した情報処理装置100-1と同様のハードウェアにより実現することができる。また、第1の実施の形態に示した情報処理装置10-1,10-2,10-3も、
図3に示した情報処理装置100-1と同様のハードウェアにより実現することができる。また、プロセッサ101は、第1の実施の形態に示した処理部12の一例である。また、メモリ102またはストレージ装置103は、第1の実施の形態に示した記憶部11の一例である。
【0039】
また、端末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を有していなくてもよい。
【0040】
情報処理装置100-1は、例えば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。情報処理装置100-1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置100-1に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また、情報処理装置100-1に実行させるプログラムを、記録媒体41に記録しておくこともできる。記録媒体41に格納されたプログラムは、例えば、プロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。また、プロセッサ101が、記録媒体41から直接プログラムを読み出して実行することもできる。
【0041】
次に、キャッシュデータの流れについて説明する。
図4は、キャッシュデータの流れの一例を示す図である。
図4の例では、端末21a-1が配信サーバ50が配信するデータd1を取得する。まず、端末21a-1は、情報処理装置100-1にデータd1を要求する。情報処理装置100-1は、データd1をキャッシュしていない場合、データd1を配信サーバ50に要求する。
【0042】
情報処理装置100-1は、データd1を配信サーバ50から取得し、キャッシュデータとして保存する。そして、情報処理装置100-1は、キャッシュしたデータd1を端末21a-1に配信する。これにより、情報処理装置100-1は、他の端末(例えば、端末21b-1)からデータd1を要求された場合、配信サーバ50にアクセスすることなく、キャッシュしたデータd1を配信することができる。
【0043】
次に、横連携について説明する。
図5は、横連携の一例を示す図である。情報処理装置100-1,100-2,100-3は、配信サーバ50からデータを取得するのに代えて、他の情報処理装置のキャッシュデータを取得する(横連携する)こともできる。
図5の例では、情報処理装置100-1が情報処理装置100-2から配信サーバ50が配信するデータd2を取得し、端末21a-1に配信する。
【0044】
まず、端末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を配信することができる。
【0045】
このようにして、情報処理装置100-1,100-2,100-3は、配信サーバ50または他の情報処理装置からデータをキャッシュし、端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1にキャッシュデータを配信する。ところで、キャッシュデータには、有効期限が設定されることがある。情報処理装置100-1,100-2,100-3が、端末から要求されたキャッシュデータの有効期限が切れていた場合、配信サーバ50または他の情報処理装置から最新のデータを取得し、キャッシュデータを更新することが考えられる。
【0046】
しかし、キャッシュデータの要求があってからキャッシュデータを更新する場合、情報処理装置100-1,100-2,100-3がデータを端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1に配信するまでに時間がかかる。そこで、第2の実施の形態では、情報処理装置100-1,100-2,100-3は、有効期限が近いキャッシュデータを事前に更新する。また、情報処理装置100-1,100-2,100-3は、キャッシュデータの使用頻度に応じて、他の情報処理装置に更新したキャッシュデータを送信する。
【0047】
次に、情報処理装置100-1の機能について詳細に説明する。
図6は、情報処理装置の機能例を示すブロック図である。情報処理装置100-1は、校内LAN40を介して校内サーバ60に接続可能である。校内サーバ60は、キャッシュ情報61を記憶する。キャッシュ情報61は、情報処理装置100-1,100-2,100-3がキャッシュしているデータの情報である。
【0048】
情報処理装置100-1は、記憶部110、期限監視部120および更新部130を有する。記憶部110は、メモリ102またはストレージ装置103の記憶領域を用いて実現される。期限監視部120および更新部130は、メモリ102に記憶されたプログラムをプロセッサ101が実行することで実現される。なお、情報処理装置100-2,100-3も情報処理装置100-1と同様の機能を有する。
【0049】
記憶部110は、キャッシュデータ111-1,111-2,・・・を記憶する。キャッシュデータ111-1,111-2,・・・は、サーバ(例えば、配信サーバ50)が配信するデータをキャッシュしたものである。
【0050】
期限監視部120は、校内サーバ60に記憶されたキャッシュ情報61を参照し、キャッシュデータ111-1,111-2,・・・それぞれの有効期限を監視する。期限監視部120は、キャッシュデータ111-1,111-2,・・・それぞれが有効期限切れか否かを判定する。期限監視部120は、キャッシュデータ111-1が有効期限切れであると判定した場合、キャッシュデータ111-1を削除する。
【0051】
また、期限監視部120は、キャッシュデータ111-1が有効期限切れでないと判定した場合、キャッシュデータ111-1の有効期限まで所定日以内か否かを判定する。なお、所定日は、第1の実施の形態に示した所定時間の一例である。期限監視部120は、キャッシュデータ111-1の有効期限まで所定日以内であると判定した場合、キャッシュデータ111-1に対する更新判定処理を更新部130に実行させる。
【0052】
更新部130は、期限監視部120からの指示に応じて、更新判定処理を実行する。更新部130は、キャッシュデータ111-1に対する更新判定処理では、キャッシュデータ111-1の使用の有無を判定する。例えば、更新部130は、キャッシュ情報61に示される、情報処理装置100-1がキャッシュデータ111-1を要求された回数が1以上の場合、キャッシュデータ111-1の使用があると判定する。更新部130は、キャッシュデータ111-1の使用があると判定した場合、キャッシュデータ111-1の最新のデータを配信サーバ50からダウンロードする。更新部130は、キャッシュデータ111-1の最新のデータを記憶部110に格納する。なお、キャッシュデータ111-1の最新のデータは、第1の実施の形態に示した更新データの一例である。
【0053】
次に、更新部130は、キャッシュデータ111-1の使用頻度が所定の頻度以上であるか否かを判定する。例えば、更新部130は、キャッシュ情報61に示される、情報処理装置100-1,100-2,100-3がキャッシュデータ111-1を要求された回数の合計が所定値以上の場合、キャッシュデータ111-1の使用頻度が所定の頻度以上であると判定する。更新部130は、キャッシュデータ111-1の使用頻度が所定の頻度以上であると判定した場合、キャッシュデータ111-1の最新のデータを情報処理装置100-2,100-3に送信する。
【0054】
更新部130は、キャッシュデータ111-1の使用頻度が所定の頻度未満であると判定した場合、他の情報処理装置でキャッシュデータ111-1の使用があるか否かを判定する。例えば、更新部130は、キャッシュ情報61に示される、情報処理装置100-2がキャッシュデータ111-1を要求された回数が1以上の場合、情報処理装置100-2でキャッシュデータ111-1の使用があると判定する。また、更新部130は、キャッシュ情報61に示される、情報処理装置100-2がキャッシュデータ111-1を要求された回数が1以上の場合、情報処理装置100-2でキャッシュデータ111-1の使用があると判定する。そして、更新部130は、キャッシュデータ111-1の最新のデータを、キャッシュデータ111-1の使用がある情報処理装置に送信する。なお、キャッシュデータ111-1の使用がある情報処理装置は、第1の実施の形態に示した、他の情報処理装置それぞれにおけるキャッシュデータ11aの使用頻度に基づいて決定される送信先の一例である。また、更新部130は、キャッシュデータ111-1(古いキャッシュデータ)を削除する。
【0055】
なお、
図6に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。次に、校内サーバ60が記憶するキャッシュ情報61について詳細に説明する。
【0056】
図7は、キャッシュ情報の一例を示す図である。キャッシュ情報61には、ID、データ名、キャッシュ日、容量、横連携回数、ヒット数、最終ヒット日、Max-ageおよびIPアドレスの欄が設けられている。
【0057】
IDの欄には、キャッシュデータをキャッシュしている情報処理装置を識別するIDが設定される。データ名の欄には、キャッシュデータの名称が設定される。キャッシュ日の欄には、キャッシュデータがキャッシュされた日付が設定される。容量の欄には、キャッシュデータの容量が設定される。横連携回数の欄には、キャッシュデータが横連携された回数が設定される。ヒット数の欄には、端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1からキャッシュデータが要求された回数が設定される。最終ヒット日の欄には、キャッシュデータが最後に要求された日付が設定される。
【0058】
Max-ageの欄には、配信サーバ50が設定した、キャッシュデータのキャッシュがされてから有効期限までの時間が秒単位で設定される。なお、キャッシュデータが削除済みの場合、Max-ageの欄には、「なし」が設定される。IPアドレスの欄には、キャッシュデータを最後に要求した端末のIPアドレスが設定される。
【0059】
次に、情報処理装置100-1,100-2,100-3によるキャッシュデータの更新処理をシーケンス図を用いて説明する。
図8は、キャッシュデータ更新処理の例を示すシーケンス図である。
図8では、情報処理装置100-1がキャッシュデータを更新する例を示す。まず、情報処理装置100-1の期限監視部120は、校内サーバ60のキャッシュ情報61を参照し、キャッシュデータ111-1,111-2,・・・に有効期限が近いキャッシュデータが含まれるかを確認する(ステップS11)。ここで、キャッシュデータ111-1が有効期限が近いキャッシュデータであったものとする。
【0060】
すると、情報処理装置100-1の更新部130は、キャッシュデータ111-1の最新のデータを配信サーバ50からダウンロードする(ステップS12)。更新部130は、情報処理装置100-1,100-2,100-3におけるキャッシュデータ111-1の使用頻度が高い場合、キャッシュデータ111-1の最新のデータを情報処理装置100-2,100-3に送信する(ステップS13)。情報処理装置100-2は、情報処理装置100-1から受信したデータを保存する(ステップS14)。また、情報処理装置100-3は、情報処理装置100-1から受信したデータを保存する(ステップS15)。
【0061】
更新部130は、情報処理装置100-1,100-2,100-3におけるキャッシュデータ111-1の使用頻度が低い場合、キャッシュデータ111-1の最新のデータを、キャッシュデータ111-1が使用されている情報処理装置に送信する。ここで、情報処理装置100-2ではキャッシュデータ111-1が使用されており、情報処理装置100-3ではキャッシュデータ111-1が使用されていないものとする。すると、更新部130は、キャッシュデータ111-1の最新のデータを情報処理装置100-2に送信する(ステップS16)。情報処理装置100-2は、情報処理装置100-1から受信したデータを保存する(ステップS17)。
【0062】
このようにして、更新部130は、有効期限が近いキャッシュデータ111-1を最新のデータにあらかじめ更新する。さらに、更新部130は、キャッシュデータ111-1の使用頻度が高い場合、キャッシュデータ111-1の最新のデータを情報処理装置100-2,100-3に送信する。これにより、更新部130は、端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1から要求される可能性の高いデータを他の情報処理装置にあらかじめ配信できる。
【0063】
また、更新部130は、キャッシュデータ111-1の使用頻度が低い場合、情報処理装置100-2,100-3のうちのキャッシュデータ111-1が使用されている情報処理装置100-2にのみ、キャッシュデータ111-1の最新のデータを送信する。ここで、情報処理装置100-3では、キャッシュデータ111-1が使用されていないため、キャッシュデータ111-1の最新のデータが不要である。よって、更新部130は、情報処理装置100-2,100-3のうちの情報処理装置100-2にのみ送信することで、不要なデータを送信することを防ぐことができる。
【0064】
以下、情報処理装置100-1が実行する期限監視処理の手順について、詳細に説明する。情報処理装置100-1は、例えば、以下の期限監視処理を1日おきに実行する。
図9は、期限監視処理の手順の一例を示すフローチャートである。以下、
図9に示す処理をステップ番号に沿って説明する。
【0065】
[ステップS21]期限監視部120は、キャッシュデータ111-1,111-2,・・・のうち、キャッシュデータを1つ選択する。
[ステップS22]期限監視部120は、ステップS21で選択したキャッシュデータ(例えば、キャッシュデータ111-1)が有効期限切れか否かを判定する。例えば、期限監視部120は、校内サーバ60に記憶されたキャッシュ情報61の、IDの欄に情報処理装置100-1のIDが設定され、データ名の欄にキャッシュデータ111-1の名称が設定されたレコードを参照する。期限監視部120は、参照したレコードのキャッシュ日の欄に設定された日付からMax-ageの欄に設定された時間だけ経過した日付が現在の日付以降の場合、キャッシュデータ111-1が有効期限切れであると判定する。期限監視部120は、キャッシュデータ111-1が有効期限切れであると判定した場合、処理をステップS25に進める。また、期限監視部120は、キャッシュデータ111-1が有効期限切れでないと判定した場合、処理をステップS23に進める。
【0066】
[ステップS23]期限監視部120は、キャッシュデータ111-1の有効期限まで所定日以内か否かを判定する。例えば、期限監視部120は、キャッシュ情報61の、IDの欄に情報処理装置100-1のIDが設定され、データ名の欄にキャッシュデータ111-1の名称が設定されたレコードを参照する。期限監視部120は、参照したレコードのキャッシュ日の欄に設定された日付からMax-ageの欄に設定された時間だけ経過した日付が現在の日付から所定日以内の場合、キャッシュデータ111-1の有効期限まで所定日以内であると判定する。期限監視部120は、キャッシュデータ111-1の有効期限まで所定日以内であると判定した場合、処理をステップS24に進める。また、期限監視部120は、キャッシュデータ111-1の有効期限まで所定日以内でないと判定した場合、処理をステップS26に進める。
【0067】
[ステップS24]更新部130は、キャッシュデータ111-1に対して更新判定処理を実行する。更新判定処理の詳細については後述する(
図10参照)。そして、処理がステップS26に進む。
【0068】
[ステップS25]期限監視部120は、キャッシュデータ111-1を削除する。
[ステップS26]期限監視部120は、すべてのキャッシュデータを選択したか否かを判定する。期限監視部120は、すべてのキャッシュデータを選択したと判定した場合、処理を終了する。また、期限監視部120は、選択していないキャッシュデータが残っていると判定した場合、処理をステップS21に進める。
【0069】
このように、期限監視部120は、キャッシュデータ111-1が有効期限切れである場合、キャッシュデータ111-1を削除する。これにより、期限監視部120は、キャッシュデータ111-1,111-2,・・・を記憶するための記憶容量が上限に達したときにキャッシュデータを削除する場合よりも早く不要なデータを削除できる。また、期限監視部120は、キャッシュデータ111-1の有効期限まで所定日以内である場合、更新部130にキャッシュデータ111-1に対する更新判定処理を実行させる。
【0070】
図10は、更新判定処理の手順の一例を示すフローチャートである。以下、
図10に示す処理をステップ番号に沿って説明する。
[ステップS31]更新部130は、キャッシュデータ111-1の使用があるか否かを判定する。例えば、更新部130は、校内サーバ60に記憶されたキャッシュ情報61の、IDの欄に情報処理装置100-1のIDが設定され、データ名の欄にキャッシュデータ111-1の名称が設定されたレコードを参照する。更新部130は、参照したレコードのヒット数の欄に設定された数値が1以上の場合、キャッシュデータ111-1の使用があると判定する。更新部130は、キャッシュデータ111-1の使用があると判定した場合、処理をステップS32に進める。また、更新部130は、キャッシュデータ111-1の使用がないと判定した場合、処理を終了する。
【0071】
[ステップS32]更新部130は、キャッシュデータ111-1の最新のデータを配信サーバ50からダウンロードする。更新部130は、キャッシュデータ111-1の最新のデータを記憶部110に格納する。
【0072】
[ステップS33]更新部130は、キャッシュデータ111-1の使用頻度が所定の頻度以上であるか否かを判定する。例えば、更新部130は、キャッシュ情報61の、IDの欄に情報処理装置100-1,100-2,100-3のIDが設定され、データ名の欄にキャッシュデータ111-1の名称が設定されたレコードを参照する。更新部130は、参照したレコードのヒット数の欄に設定された数値を合計した値が所定値以上の場合、キャッシュデータ111-1の使用頻度が所定の頻度以上であると判定する。更新部130は、キャッシュデータ111-1の使用頻度が所定の頻度以上であると判定した場合、処理をステップS34に進める。また、更新部130は、キャッシュデータ111-1の使用頻度が所定の頻度未満であると判定した場合、処理をステップS35に進める。
【0073】
[ステップS34]更新部130は、ステップS32でダウンロードした、キャッシュデータ111-1の最新のデータを情報処理装置100-2,100-3(他の全情報処理装置)に送信する。そして、処理がステップS37に進む。
【0074】
[ステップS35]更新部130は、他の情報処理装置でキャッシュデータ111-1の使用があるか否かを判定する。例えば、更新部130は、校内サーバ60に記憶されたキャッシュ情報61の、IDの欄に情報処理装置100-2,100-3のIDが設定され、データ名の欄にキャッシュデータ111-1の名称が設定されたレコードを参照する。更新部130は、参照したレコードのうち、IDの欄に情報処理装置100-2のIDが設定されたレコードのヒット数の欄に設定された数値が1以上の場合、情報処理装置100-2でキャッシュデータ111-1の使用があると判定する。また、更新部130は、参照したレコードのうち、IDの欄に情報処理装置100-3のIDが設定されたレコードのヒット数の欄に設定された数値が1以上の場合、情報処理装置100-3でキャッシュデータ111-1の使用があると判定する。更新部130は、他の情報処理装置でキャッシュデータ111-1の使用があると判定した場合、処理をステップS36に進める。また、更新部130は、キャッシュデータ111-1の使用がないと判定した場合、処理をステップS37に進める。
【0075】
[ステップS36]更新部130は、ステップS32でダウンロードした、キャッシュデータ111-1の最新のデータを、キャッシュデータ111-1の使用がある情報処理装置に送信する。例えば、更新部130は、ステップS35でキャッシュデータ111-1の使用があると判定された情報処理装置にキャッシュデータ111-1の最新のデータを送信する。
【0076】
[ステップS37]更新部130は、キャッシュデータ111-1(古いキャッシュデータ)を削除する。
このように、更新部130は、更新判定処理において、キャッシュデータ111-1の使用がある場合に、キャッシュデータ111-1の最新のデータをダウンロードする。更新判定処理は、キャッシュデータ111-1の有効期限まで所定日以内である場合に実行されるため、更新部130は、キャッシュデータ111-1の要求がある前にキャッシュデータ111-1を更新できる。よって、更新部130は、キャッシュデータ111-1を適切なタイミングで更新することができる。
【0077】
また、更新部130は、キャッシュデータ111-1が要求された回数が所定値以上の場合、キャッシュデータ111-1の最新のデータを情報処理装置100-2,100-3に送信する。これにより、更新部130は、端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1から要求される可能性の高いデータを他の情報処理装置にあらかじめ配信できる。
【0078】
また、更新部130は、キャッシュデータ111-1が要求された回数が所定値未満の場合、キャッシュデータ111-1の使用がある情報処理装置にキャッシュデータ111-1の最新のデータを送信する。これにより、情報処理装置100-1は、キャッシュデータ111-1の使用がない情報処理装置に、キャッシュデータ111-1の最新のデータを送信することを防ぐことができる。
【0079】
また、更新部130は、キャッシュデータ111-1の最新のデータを記憶部110に格納すると、キャッシュデータ111-1を削除することで、記憶領域を増加させることができる。
【0080】
第2の実施の形態によれば、情報処理装置100-1の記憶部110は、キャッシュデータ111-1を記憶する。情報処理装置100-1の更新部130は、キャッシュデータ111-1の有効期限まで所定日以内になると、キャッシュデータ111-1の使用の有無を判定する。そして、更新部130は、キャッシュデータ111-1が使用されている場合、キャッシュデータ111-1の最新のデータを取得し、キャッシュデータ111-1の最新のデータを記憶部110に格納する。
【0081】
これにより、情報処理装置100-1は、キャッシュデータ111-1の要求がある前に、キャッシュデータ111-1を更新することができる。よって、情報処理装置100-1は、キャッシュデータ111-1を適切なタイミングで更新することができる。
【0082】
また、更新部130は、キャッシュデータ111-1の最新のデータを記憶部110に格納すると、キャッシュデータ111-1を削除する。これにより、情報処理装置100-1は、不要なデータを削除し、空いている記憶領域を増加させることができる。
【0083】
また、情報処理装置100-1の期限監視部120は、有効期限になると、キャッシュデータ111-1を削除する。これにより、情報処理装置100-1は、記憶容量が上限に達したときにキャッシュデータ111-1を削除する場合よりも早く不要なデータを削除できる。
【0084】
また、更新部130は、キャッシュデータ111-1の使用頻度が所定の頻度以上の場合、他の情報処理装置にキャッシュデータ111-1の最新のデータを送信する。これにより、情報処理装置100-1は、端末21a-1,21b-1,22a-1,22b-1,23a-1,23b-1から要求される可能性の高いデータを他の情報処理装置にあらかじめ配信できる。
【0085】
また、更新部130は、キャッシュデータ111-1の使用頻度が所定の頻度未満の場合、他の情報処理装置のうち、キャッシュデータ111-1の使用がある情報処理装置にキャッシュデータ111-1の最新のデータを送信する。これにより、情報処理装置100-1は、他の情報処理装置に不要なデータを送信することを防ぐことができる。
【0086】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0087】
1 LAN
2 ネットワーク
3 サーバ
10-1,10-2,10-3 情報処理装置
11 記憶部
11a キャッシュデータ
12 処理部