(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023124044
(43)【公開日】2023-09-06
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
H04L 67/568 20220101AFI20230830BHJP
【FI】
H04L67/568
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022027593
(22)【出願日】2022-02-25
(71)【出願人】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】矢井 友樹
(57)【要約】
【課題】キャッシュサーバの異常の検知を容易にすることができる。
【解決手段】キャッシュサーバ10は、配信サーバ2-1,2-2,・・・から配信される配信データをキャッシュしたキャッシュデータ11a-1,11a-2,・・・を記憶する。キャッシュサーバ10は、他の装置からの配信データの要求に応じて配信データを他の装置に配信したときに配信データをキャッシュデータ11a-1,11a-2,・・・として記憶していたか否かを判定する。キャッシュサーバ10は、配信データをキャッシュデータ11a-1,11a-2,・・・として記憶していたか否かの判定結果を他の装置に送信する。ユーザ端末1-1は、キャッシュサーバ10から判定結果を取得する。そして、ユーザ端末1-1は、判定結果を表示する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
配信サーバから配信される配信データをキャッシュしたキャッシュデータを記憶し、他の装置からの前記配信データの要求に応じて前記配信データを前記他の装置に配信したときに前記配信データを前記キャッシュデータとして記憶していたか否かを判定し、前記配信データを前記キャッシュデータとして記憶していたか否かの判定結果を前記他の装置に送信するキャッシュサーバと、
前記キャッシュサーバから前記判定結果を取得し、前記判定結果を表示するユーザ端末と、
を有する情報処理システム。
【請求項2】
前記キャッシュサーバは、前記配信データに含まれる部分データのうち前記キャッシュデータとして記憶していた第1部分データを示す情報と、前記部分データのうち前記キャッシュデータとして記憶していなかった第2部分データを示す情報とを前記判定結果として前記ユーザ端末に通知し、
前記ユーザ端末は、前記第1部分データを示す情報と、前記第2部分データを示す情報とを表示する、
請求項1記載の情報処理システム。
【請求項3】
前記キャッシュサーバは、前記配信データの要求履歴を示すログデータを記録し、前記ログデータに基づいて、前記配信データを要求した前記ユーザ端末を特定し、前記判定結果を前記ユーザ端末に送信する、
請求項1または2記載の情報処理システム。
【請求項4】
前記ユーザ端末は、前記キャッシュサーバに前記配信データを要求するときに、前記判定結果を問合わせ、
前記キャッシュサーバは、前記問合わせに応じて、前記判定結果を前記ユーザ端末に送信する、
請求項1または2記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システムに関する。
【背景技術】
【0002】
ユーザが操作するユーザ端末がLAN(Local Area Network)の外部の配信サーバから取得する配信データを、キャッシュデータとしてLAN内のキャッシュサーバに記憶しておくことがある。そして、キャッシュサーバがキャッシュデータを各ユーザ端末に配信することで、各ユーザ端末は外部の配信サーバにアクセスすることなく効率的に配信データを取得できる。
【0003】
キャッシュサーバに関する技術としては、例えば、コンテンツの取得に要する時間を短縮するコンテンツ取得プログラムが提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
キャッシュサーバが配信データをキャッシュしていない等の異常が発生することがある。例えば、キャッシュサーバの管理者は、ログファイルの確認や専用のツールを用いることで、キャッシュサーバが配信データをキャッシュしていないことを検知することが考えられる。しかし、キャッシュサーバの管理者が、ログファイルの確認方法や専用のツールの使用方法が分からず、キャッシュサーバの異常を検知できないことがある。
【0006】
1つの側面では、本件は、キャッシュサーバの異常の検知を容易にすることを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、キャッシュサーバとユーザ端末とを有する情報処理装置が提供される。キャッシュサーバは、配信サーバから配信される配信データをキャッシュしたキャッシュデータを記憶し、他の装置からの配信データの要求に応じて配信データを他の装置に配信したときに配信データをキャッシュデータとして記憶していたか否かを判定し、配信データをキャッシュデータとして記憶していたか否かの判定結果を他の装置に送信する。ユーザ端末は、キャッシュサーバから判定結果を取得し、判定結果を表示する。
【発明の効果】
【0008】
1態様によれば、キャッシュサーバの異常の検知を容易にすることができる。
【図面の簡単な説明】
【0009】
【
図1】第1の実施の形態に係る情報処理システムの一例を示す図である。
【
図2】第2の実施の形態に係る情報処理システムの一例を示す図である。
【
図3】キャッシュサーバのハードウェアの一構成例を示す図である。
【
図4】ユーザ端末のハードウェアの一構成例を示す図である。
【
図6】キャッシュサーバおよびユーザ端末の機能例を示すブロック図である。
【
図9】配信データ取得処理の手順の一例を示すフローチャートである。
【
図10】使用状況表示処理の手順の一例を示すフローチャートである。
【
図11】キャッシュサーバおよびユーザ端末の他の機能例を示すブロック図である。
【
図12】使用状況表示処理の手順の他の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理システムの一例を示す図である。第1の実施の形態は、キャッシュデータの使用状況を確認するものである。
【0011】
第1の実施の形態の情報処理システムは、ユーザ端末1-1,1-2,・・・、配信サーバ2-1,2-2,・・・およびキャッシュサーバ10を有する。ユーザ端末1-1,1-2,・・・は、ユーザが操作するコンピュータである。例えば、ユーザ端末1-1,1-2,・・・は、キャッシュサーバ10が設置されている施設にいるユーザが操作するPC(Personal Computer)、スマートフォン、タブレット端末等である。また、例えば、ユーザ端末1-1,1-2,・・・とキャッシュサーバ10とは、キャッシュサーバ10が設置されている施設のLANを介して接続されている。
【0012】
配信サーバ2-1,2-2,・・・は、配信データを配信するサーバコンピュータである。配信サーバ2-1,2-2,・・・は、例えば、動画像データやOS(Operating System)のアップデートデータ等を配信データとして配信する。配信サーバ2-1,2-2,・・・は、同じ運営元によって運営されていてもよいし、それぞれ異なる運営元によって運営されていてもよい。また、例えば、配信サーバ2-1,2-2,・・・とキャッシュサーバ10とは、WAN(Wide Area Network)やインターネット等の広域ネットワークを介して接続されている。なお、ユーザ端末1-1,1-2,・・・と配信サーバ2-1,2-2,・・・とも、WANやインターネット等の広域ネットワークを介して接続されていてもよい。
【0013】
キャッシュサーバ10は、配信サーバ2-1,2-2,・・・が配信する配信データをキャッシュし、ユーザ端末1-1,1-2,・・・からの要求に応じて、キャッシュした配信データを配信するサーバコンピュータである。キャッシュサーバ10は、記憶部11と処理部12とを有する。記憶部11は、キャッシュサーバ10が実行する処理に用いられるデータを記憶する。記憶部11は、例えば、キャッシュサーバ10が有するメモリまたはストレージ装置である。処理部12は、キャッシュサーバ10を制御し、所要の処理を実行可能である。処理部12は、例えば、キャッシュサーバ10が有するプロセッサまたは演算回路である。
【0014】
記憶部11は、キャッシュデータ11a-1,11a-2,・・・を記憶する。キャッシュデータ11a-1,11a-2,・・・は、配信サーバ2-1,2-2,・・・から配信される配信データをキャッシュしたものである。
【0015】
処理部12は、他の装置からの配信データの要求に応じて配信データを他の装置に配信したときに配信データをキャッシュデータ11a-1,11a-2,・・・として記憶していたか否かを判定する。つまり、処理部12は、他の装置への配信データの配信にキャッシュデータ11a-1,11a-2,・・・を使用したか否か(キャッシュ使用状況)を判定する。
【0016】
ここでは、一例として、ユーザ端末1-1が配信データを要求したものとする。処理部12は、配信データの要求履歴を示すログデータを記録し、ログデータに基づいて、配信データを要求したユーザ端末1-1を特定する。例えば、ログデータは、配信データの要求日時、配信データの要求元のIP(Internet Protocol)アドレス、要求された配信データをキャッシュデータ11a-1,11a-2,・・・として記憶していたか否かを示す情報等を含む。処理部12は、ログデータに含まれる配信データの要求元のIPアドレスを有するユーザ端末1-1を特定する。
【0017】
処理部12は、配信データをキャッシュデータ11a-1,11a-2,・・・として記憶していたか否かの判定結果を配信データを要求した他の装置に送信する。ここでは、処理部12は、判定結果をユーザ端末1-1に送信する。
【0018】
ユーザ端末1-1は、キャッシュサーバ10から判定結果を取得し、判定結果を表示する。例えば、ユーザ端末1-1は、要求した配信データのファイル名と当該配信データの配信にキャッシュデータ11a-1,11a-2,・・・を使用したか否か(キャッシュ使用状況)とを表示する。
【0019】
第1の実施の形態によれば、キャッシュサーバ10は、配信サーバ2-1,2-2,・・・から配信される配信データをキャッシュしたキャッシュデータ11a-1,11a-2,・・・を記憶する。キャッシュサーバ10は、他の装置からの配信データの要求に応じて配信データを他の装置に配信したときに配信データをキャッシュデータ11a-1,11a-2,・・・として記憶していたか否かを判定する。キャッシュサーバ10は、配信データをキャッシュデータ11a-1,11a-2,・・・として記憶していたか否かの判定結果を他の装置に送信する。ユーザ端末1-1は、キャッシュサーバ10から判定結果を取得し、判定結果を表示する。
【0020】
ここで、例えば、ユーザ端末1-2が事前に所定の配信データをキャッシュサーバ10に要求しておき、ユーザ端末1-1は、当該配信データをキャッシュサーバ10に要求する。キャッシュサーバ10のキャッシュ機能が正常であれば、ユーザ端末1-1は、配信データをキャッシュデータ11a-1,11a-2,・・・として記憶していたことを示す判定結果を取得する。また、キャッシュサーバ10のキャッシュ機能に異常があれば、ユーザ端末1-1は、配信データをキャッシュデータ11a-1,11a-2,・・・として記憶していなかったことを示す判定結果を取得する。そして、ユーザ端末1-1は、判定結果の表示によって、キャッシュサーバ10の異常の有無をユーザに通知できる。よって、情報処理システムは、キャッシュサーバ10の異常の検知を容易にすることができる。
【0021】
また、キャッシュサーバ10は、配信データの要求履歴を示すログデータを記録し、ログデータに基づいて、配信データを要求したユーザ端末1-1を特定し、判定結果をユーザ端末1-1に送信する。これにより、情報処理システムは、ユーザが操作するユーザ端末1-1を特定し、キャッシュサーバ10の異常の有無をユーザに通知できる。
【0022】
なお、キャッシュサーバ10は、配信データに含まれる部分データのうちキャッシュデータ11a-1,11a-2,・・・として記憶していた第1部分データを示す情報と、部分データのうちキャッシュデータ11a-1,11a-2,・・・として記憶していなかった第2部分データを示す情報とを判定結果としてユーザ端末1-1に通知してもよい。そして、ユーザ端末1-1は、第1部分データを示す情報と、第2部分データを示す情報とを表示してもよい。これにより、情報処理システムは、キャッシュサーバ10が一部のデータをキャッシュできていない異常を検知できる。
【0023】
また、ユーザ端末1-1は、キャッシュサーバ10に配信データを要求するときに、判定結果を問合わせ、キャッシュサーバ10は、問合わせに応じて、判定結果をユーザ端末1-1に送信してもよい。これにより、情報処理システムは、ユーザが操作するユーザ端末1-1にキャッシュサーバ10の異常の有無を通知できる。
【0024】
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第2の実施の形態は、学校内のユーザ端末で使用するデータをキャッシュサーバにキャッシュしておくものである。
【0025】
図2は、第2の実施の形態に係る情報処理システムの一例を示す図である。学校20は、教室21a,21bを有する。また、学校20は、校内LAN40を有する。校内LAN40は、外部回線を介してネットワーク30に接続されている。ネットワーク30は、インターネットや教育委員会のネットワーク等を含む広域ネットワークである。また、ネットワーク30には、配信サーバ50-1,50-2,・・・および管理端末60が接続されている。
【0026】
校内LAN40には、AP(Access Point:アクセスポイント)21a-1,21b-1およびキャッシュサーバ100が接続されている。AP21a-1,21b-1は、学校20内でユーザ(例えば、教員および生徒)が操作するユーザ端末200a,200bを校内LAN40に接続させる。例えば、AP21a-1は、教室21a内のユーザ端末200aと無線通信を行い、ユーザ端末200aが校内LAN40に接続するための中継をする。また、例えば、AP21b-1は、教室21b内のユーザ端末200bが校内LAN40に接続するための中継をする。
【0027】
キャッシュサーバ100は、キャッシュ機能を搭載したエッジコンピュータである。キャッシュサーバ100は、配信サーバ50-1,50-2,・・・が配信する配信データをキャッシュし、キャッシュした配信データをユーザ端末200a,200bに配信する。なお、キャッシュサーバ100は、校内LAN40に接続するためのアクセスポイントとしての機能を有していてもよい。
【0028】
配信サーバ50-1,50-2,・・・は、配信データの管理および配信をするサーバである。例えば、配信サーバ50-1,50-2,・・・は、教育用の動画コンテンツを配信する。管理端末60は、キャッシュサーバ100の管理者が操作するコンピュータである。管理端末60は、キャッシュサーバ100に記憶されたキャッシュデータの情報を取得し、表示する。なお、管理端末60は、校内LAN40に接続され、学校20内で操作されていてもよい。
【0029】
図3は、キャッシュサーバのハードウェアの一構成例を示す図である。キャッシュサーバ100は、プロセッサ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)等の電子回路で実現してもよい。
【0030】
メモリ102は、キャッシュサーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えば、RAM(Random Access Memory)等の揮発性の半導体記憶装置が使用される。
【0031】
バス107に接続されている周辺機器としては、ストレージ装置103、媒体リーダ104、ネットワークインタフェース105およびAP106がある。ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、キャッシュサーバ100の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0032】
媒体リーダ104は、記録媒体41に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体41として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリ等を使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
【0033】
ネットワークインタフェース105は、校内LAN40に接続されている。ネットワークインタフェース105は、校内LAN40を介して、他の装置との間でデータの送受信を行う。AP106は、他の装置と無線通信し、通信先の装置を校内LAN40に接続させる。
【0034】
キャッシュサーバ100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示したキャッシュサーバ10も、
図3に示したキャッシュサーバ100と同様のハードウェアにより実現することができる。また、プロセッサ101は、第1の実施の形態に示した処理部12の一例である。また、メモリ102またはストレージ装置103は、第1の実施の形態に示した記憶部11の一例である。
【0035】
キャッシュサーバ100は、例えば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。キャッシュサーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、キャッシュサーバ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また、キャッシュサーバ100に実行させるプログラムを、記録媒体41に記録しておくこともできる。記録媒体41に格納されたプログラムは、例えば、プロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。また、プロセッサ101が、記録媒体41から直接プログラムを読み出して実行することもできる。
【0036】
図4は、ユーザ端末のハードウェアの一構成例を示す図である。ユーザ端末200aは、プロセッサ201によって装置全体が制御されている。プロセッサ201には、バス208を介してメモリ202と複数の周辺機器が接続されている。プロセッサ201は、マルチプロセッサであってもよい。プロセッサ201は、例えばCPU、MPU、またはDSPである。プロセッサ201がプログラムを実行することで実現する機能の少なくとも一部を、ASIC、PLDなどの電子回路で実現してもよい。
【0037】
メモリ202は、ユーザ端末200aの主記憶装置として使用される。メモリ202には、プロセッサ201に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ202には、プロセッサ201による処理に利用する各種データが格納される。メモリ202としては、例えばRAMなどの揮発性の半導体記憶装置が使用される。
【0038】
バス208に接続されている周辺機器としては、ストレージ装置203、ディスプレイ装置204、タッチパネル205、機器接続インタフェース206および無線通信インタフェース207がある。
【0039】
ストレージ装置203は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置203は、ユーザ端末200aの補助記憶装置として使用される。ストレージ装置203には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置203としては、例えばフラッシュメモリなどを使用することができる。
【0040】
ディスプレイ装置204は、プロセッサ201からの命令に従って、画像を表示する。ディスプレイ装置204としては、有機ELを用いた表示装置や液晶表示装置などがある。タッチパネル205は、ディスプレイ装置204の画面の前面に配置されており、画面上の押された位置を検知して、その位置を示す信号をプロセッサ201に送信する。
【0041】
機器接続インタフェース206は、ユーザ端末200aに周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース206には、メモリカード51を接続することができる。メモリカード51は、機器接続インタフェース206との通信機能を搭載した、カード型の記録媒体である。
【0042】
無線通信インタフェース207は、無線通信によるネットワークインタフェースである。無線通信インタフェース207は、AP21a-1に接続されている。無線通信インタフェース207は、AP21a-1を介して校内LAN40に接続し、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0043】
ユーザ端末200aは、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示したユーザ端末1-1,1-2,・・・も、
図4に示したユーザ端末200aと同様のハードウェアにより実現することができる。また、ユーザ端末200bも
図4に示したユーザ端末200aと同様のハードウェアにより実現することができる。
【0044】
ユーザ端末200aは、例えば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。ユーザ端末200aに実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、ユーザ端末200aに実行させるプログラムをストレージ装置203に格納しておくことができる。プロセッサ201は、ストレージ装置203内のプログラムの少なくとも一部をメモリ202にロードし、プログラムを実行する。また、ユーザ端末200aに実行させるプログラムを、メモリカード51に記録しておくこともできる。メモリカード51に格納されたプログラムは、例えば、プロセッサ201からの制御により、ストレージ装置203にインストールされた後、実行可能となる。また、プロセッサ201が、メモリカード51から直接プログラムを読み出して実行することもできる。
【0045】
次に、配信サーバ50-1,50-2,・・・が配信する配信データの流れについて説明する。
図5は、配信データの流れの一例を示す図である。
図5の例では、ユーザ端末200aが配信サーバ50-1が配信する配信データであるデータd1を取得する。まず、ユーザ端末200aは、キャッシュサーバ100にデータd1を要求する。キャッシュサーバ100は、データd1をキャッシュしていない場合、データd1を配信サーバ50-1に要求する。
【0046】
キャッシュサーバ100は、データd1を配信サーバ50-1から取得し、キャッシュデータとして保存する。そして、キャッシュサーバ100は、キャッシュしたデータd1をユーザ端末200aに配信する。これにより、キャッシュサーバ100は、ユーザ端末200aから再度データd1を要求された場合や他のユーザ端末(例えば、ユーザ端末200b)からデータd1を要求された場合、キャッシュしたデータd1を配信する。よって、キャッシュサーバ100は、配信サーバ50-1にアクセスすることなく、データd1を配信することができる。
【0047】
ところで、キャッシュサーバ100を第2の実施の形態の情報処理システムに導入する際に、キャッシュサーバ100のキャッシュ機能が正常に作動していることが確認されるのが好ましい。例えば、キャッシュサーバ100の管理者は、管理端末60を操作して、ログファイルの確認や専用のツールを用いた解析によって、キャッシュサーバ100のキャッシュ機能が正常であることを確認することが考えられる。しかし、キャッシュサーバ100の管理者が、ログファイルの確認方法や専用のツールの使用方法が分からないことがある。
【0048】
そこで、第2の実施の形態では、キャッシュサーバ100の管理者は、ユーザ端末200a,200bを用いてキャッシュサーバ100が配信データキャッシュ機能が正常であるか否かを確認する。まず、ユーザ端末200a,200bの一方(例えば、ユーザ端末200b)が、キャッシュサーバ100に配信データを要求する。次に、ユーザ端末200a,200bの他方(例えば、ユーザ端末200a)が当該配信データを要求する。そして、キャッシュサーバ100は、当該配信データをキャッシュしているか否かをユーザ端末200aに通知する。なお、ユーザ端末200a,200bに代えて、管理端末60や他のユーザ端末等が用いられてもよい。
【0049】
次に、キャッシュサーバ100およびユーザ端末200aの機能について詳細に説明する。
図6は、キャッシュサーバおよびユーザ端末の機能例を示すブロック図である。キャッシュサーバ100は、記憶部110、配信部120、解析部130および通知部140を有する。記憶部110は、メモリ102またはストレージ装置103の記憶領域を用いて実現される。配信部120、解析部130および通知部140は、メモリ102に記憶されたプログラムをプロセッサ101が実行することで実現される。
【0050】
記憶部110は、キャッシュデータ111-1,111-2,・・・およびアクセスログ112を記憶する。キャッシュデータ111-1,111-2,・・・は、配信サーバ50-1,50-2,・・・が配信する配信データをキャッシュしたものである。アクセスログ112は、ユーザ端末200a,200bがキャッシュサーバ100に配信データを要求するアクセスをした履歴を示すログデータを記録したものである。
【0051】
配信部120は、ユーザ端末200a,200bからの要求に応じて配信データを配信する。配信部120は、ユーザ端末200a,200bから配信データを要求されると、要求された配信データをキャッシュデータ111-1,111-2,・・・として記憶しているか否かを判定する。例えば、配信部120は、要求された配信データに含まれる部分データがすべてキャッシュデータ111-1,111-2,・・・として記憶されている場合、配信データをキャッシュデータ111-1,111-2,・・・として記憶していると判定する。
【0052】
配信部120は、配信データをキャッシュデータ111-1,111-2,・・・として記憶していないと判定した場合、要求された配信データを配信サーバ50-1,50-2,・・・から取得し、キャッシュデータ111-1,111-2,・・・として記憶する。ここで、配信部120は、要求された配信データに含まれる部分データのうちキャッシュデータ111-1,111-2,・・・として記憶していない部分データを配信サーバ50-1,50-2,・・・から取得する。
【0053】
そして、配信部120は、ユーザ端末200a,200bに要求された配信データを配信し、アクセスログ112にログデータを記録する。なお、配信部120は、要求された配信データに含まれる部分データごとにログデータを記録する。例えば、配信部120は、部分データが、キャッシュデータ111-1,111-2,・・・として記憶されていたキャッシュヒットしたデータであるか、キャッシュデータ111-1,111-2,・・・として記憶されていなかったミスヒットしたデータであるかをログデータとして記録する。なお、キャッシュヒットしたデータは、第1の実施の形態に示した、キャッシュデータ11a-1,11a-2,・・・として記憶していた第1部分データの一例である。また、ミスヒットしたデータは、第1の実施の形態に示した、キャッシュデータ11a-1,11a-2,・・・として記憶していなかった第2部分データの一例である。
【0054】
解析部130は、要求された配信データがキャッシュデータ111-1,111-2,・・・として記憶されていたか否かを判定する。解析部130は、アクセスログ112に基づいて、配信データを要求したユーザ端末を特定する。そして、解析部130は、アクセスログ112に基づいて、特定したユーザ端末(例えば、ユーザ端末200a)が要求した配信データに含まれる部分データのうち、キャッシュヒットしたデータとミスヒットしたデータとを特定する。
【0055】
通知部140は、解析部130による判定結果をユーザ端末200aに通知する。例えば、通知部140は、解析部130が特定したキャッシュヒットしたデータとミスヒットしたデータとをユーザ端末200aに通知する。
【0056】
ユーザ端末200aは、リクエスト部220、受信部230および画面表示部240を有する。リクエスト部220、受信部230および画面表示部240は、メモリ202に記憶されたプログラムをプロセッサ201が実行することで実現される。なお、ユーザ端末200bもユーザ端末200aと同様の機能を有する。
【0057】
リクエスト部220は、キャッシュサーバ100に配信データを要求する。例えば、リクエスト部220は、要求する配信データを取得するためのURL(Uniform Resource Locator)を指定して、キャッシュサーバ100に配信データを要求する。そして、リクエスト部220は、キャッシュサーバ100から配信データを受信する。
【0058】
受信部230は、キャッシュサーバ100から判定結果を受信する。画面表示部240は、受信部230が受信した判定結果を通知するための通知画面をディスプレイ装置204に表示させる。
【0059】
なお、
図6に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。次に、記憶部110が記憶するアクセスログ112について詳細に説明する。
【0060】
図7は、アクセスログの一例を示す図である。アクセスログ112は、ユーザ端末200a,200bがキャッシュサーバ100に配信データを要求するアクセスをした履歴を示すログデータを記録したものである。なお、配信データが部分データの集合で構成される場合、部分データごとにログデータが記録される。アクセスログ112に記録される各ログデータは、日時、UNIX(登録商標)日時、処理時間、クライアントIPアドレス、結果コード、データサイズ、リクエストおよびURLの項目を有する。
【0061】
日時の項目には、ユーザ端末200a,200bがキャッシュサーバ100にアクセスをした日時が設定される。UNIX日時の項目には、ユーザ端末200a,200bがキャッシュサーバ100にアクセスをした日時がUNIX日時で設定される。処理時間の項目には、キャッシュサーバ100がユーザ端末200a,200bに要求された配信データを配信する処理にかかった時間が設定される。クライアントIPアドレスの項目には、キャッシュサーバ100にアクセスをしたユーザ端末200a,200bのIPアドレスが設定される。
【0062】
結果コードの項目には、ユーザ端末200a,200bが要求した配信データをキャッシュサーバ100がキャッシュデータ111-1,111-2,・・・として記憶しているか否かを示す情報が設定される。例えば、ユーザ端末200a,200bが要求した配信データをキャッシュサーバ100がキャッシュデータ111-1,111-2,・・・として記憶している場合、結果コードの項目には、「TCP_MEM_HIT/200」、または「TCP_HIT/200」が設定される。また、例えば、ユーザ端末200a,200bが要求した配信データをキャッシュサーバ100がキャッシュデータ111-1,111-2,・・・として記憶していない場合、結果コードの項目には、「TCP_MISS/200」が設定される。
【0063】
データサイズの項目には、ユーザ端末200a,200bが要求した配信データのデータサイズが設定される。リクエストの項目には、ユーザ端末200a,200bが配信データを要求したことを示す情報(例えば、「GET」)が設定される。URLの項目の項目には、ユーザ端末200a,200bが要求した配信データを取得するためのURLが設定される。
【0064】
次に、ユーザ端末200aが表示する通知画面について説明する。
図8は、通知画面の一例を示す図である。画面表示部240は、要求した配信データをキャッシュしているか否かの判定結果をキャッシュサーバ100から取得すると、通知画面61をディスプレイ装置204に表示させる。通知画面61は、キャッシュサーバ100から判定結果を取得したことを通知するための画面である。
【0065】
通知画面61は、要求した配信データに基づいて作成されたウィンドウおよびポップアップを含む。通知画面61に含まれるポップアップは、例えば、「キャッシュ使用状況を受信しました」等の、配信データをキャッシュしているか否かの判定結果をキャッシュサーバ100から取得したことを示すメッセージを含む。また、通知画面61は、詳細表示ボタンを有する。画面表示部240は、詳細表示ボタンが押下されると通知画面62をディスプレイ装置204に表示させる。
【0066】
通知画面62は、キャッシュサーバ100による判定結果を詳細表示する画面である。通知画面62では、要求した配信データに含まれる部分データのうちキャッシュヒットしたデータの要求日時およびURLが、「キャッシュから取得したファイル」等のキャッシュヒットしたデータであることを示すメッセージの下に列挙される。また、通知画面62では、要求した配信データに含まれる部分データのうちミスヒットしたデータの要求日時およびURLが、「キャッシュから取得しなかったファイル」等のミスヒットしたデータであることを示すメッセージの下に列挙される。
【0067】
このように、画面表示部240は、通知画面62をディスプレイ装置204に表示させることで、キャッシュサーバ100のキャッシュ機能が正常に作動しているか否かをキャッシュサーバ100の管理者に通知できる。また、画面表示部240は、キャッシュヒットしたデータとミスヒットしたデータとを分けて表示することで、一部のデータをキャッシュできていない異常をキャッシュサーバ100の管理者に通知できる。
【0068】
以下、第2の実施の形態の情報処理システムが実行する処理の手順について、詳細に説明する。まず、ユーザ端末200aが配信データを取得する処理について説明する。
図9は、配信データ取得処理の手順の一例を示すフローチャートである。以下、
図9に示す処理をステップ番号に沿って説明する。
【0069】
[ステップS11]ユーザ端末200aのリクエスト部220は、キャッシュサーバ100に配信データを要求する。例えば、リクエスト部220は、要求する配信データを取得するためのURLを指定して、キャッシュサーバ100に配信データを要求する。
【0070】
[ステップS12]キャッシュサーバ100の配信部120は、ステップS11で要求された配信データをキャッシュデータ111-1,111-2,・・・として記憶しているか否かを判定する。例えば、配信部120は、ステップS11で要求された配信データに含まれる部分データがすべてキャッシュデータ111-1,111-2,・・・として記憶されている場合、配信データをキャッシュデータ111-1,111-2,・・・として記憶していると判定する。配信部120は、配信データをキャッシュデータ111-1,111-2,・・・として記憶していると判定した場合、処理をステップS14に進める。また、配信部120は、配信データをキャッシュデータ111-1,111-2,・・・として記憶していないと判定した場合、処理をステップS13に進める。
【0071】
[ステップS13]配信部120は、要求された配信データを配信サーバ50-1,50-2,・・・から取得し、キャッシュデータ111-1,111-2,・・・として記憶する。なお、配信部120は、要求された配信データに含まれる部分データのうちキャッシュデータ111-1,111-2,・・・として記憶していない部分データを配信サーバ50-1,50-2,・・・から取得する。
【0072】
[ステップS14]配信部120は、ユーザ端末200aにステップS11で要求された配信データを配信する。
[ステップS15]リクエスト部220は、キャッシュサーバ100から配信データを受信する。
【0073】
[ステップS16]配信部120は、アクセスログ112にログデータを記録する。なお、配信部120は、要求された配信データに含まれる部分データごとにログデータを記録する。例えば、配信部120は、日時の項目に部分データを要求された日時を設定し、UNIX日時の項目に部分データを要求された日時をUNIX日時で設定したログデータをアクセスログ112に追加する。配信部120は、追加したログデータの処理時間の項目に、部分データを配信する処理にかかった時間を設定し、クライアントIPアドレスの項目にユーザ端末200aのIPアドレスを設定する。
【0074】
配信部120は、ステップS12で、部分データをキャッシュデータ111-1,111-2,・・・として記憶していた場合、追加したログデータの結果コードの項目に、「TCP_MEM_HIT/200」または「TCP_HIT/200」を設定する。また、配信部120は、ステップS12で、部分データをキャッシュデータ111-1,111-2,・・・として記憶していなかった場合、追加したログデータの結果コードの項目に、「TCP_MISS/200」を設定する。配信部120は、追加したログデータのデータサイズの項目に部分データのデータサイズを設定する。配信部120は、追加したログデータのリクエストの項目に「GET」を設定する。配信部120は、追加したログデータのURLの項目に、部分データを取得するためのURLを設定する。
【0075】
このようにして、キャッシュサーバ100の配信部120は、ユーザ端末200aに配信データを配信し、ログデータを記録する。配信部120は、ログデータを記録することにより、以下の使用状況表示処理において、ユーザが操作するユーザ端末200aを特定できるようにする。次に、使用状況表示処理について説明する。
【0076】
図10は、使用状況表示処理の手順の一例を示すフローチャートである。以下、
図10に示す処理をステップ番号に沿って説明する。
[ステップS21]キャッシュサーバ100の解析部130は、アクセスログ112を解析する。例えば、解析部130は、前回のステップS21の処理よりも後にアクセスログ112に追加されたログデータを参照する。
【0077】
[ステップS22]解析部130は、参照したログデータに結果コードがあるログデータがあるか否かを判定する。解析部130は、結果コードがあるログデータがあると判定した場合、処理をステップS23に進める。また、解析部130は、結果コードがあるログデータがないと判定した場合、処理をステップS21に進める。
【0078】
[ステップS23]解析部130は、ログデータに対応するユーザ端末を特定する。例えば、解析部130は、結果コードがあるログデータのクライアントIPアドレスの項目に設定されたIPアドレスを有するユーザ端末(例えば、ユーザ端末200a)を特定する。
【0079】
[ステップS24]解析部130は、キャッシュヒットしたデータとミスヒットしたデータとを特定する。例えば、解析部130は、クライアントIPアドレスの項目にユーザ端末200aのIPアドレスが設定されたログデータを抽出する。解析部130は、抽出したログデータのうち結果コードの項目に「TCP_MEM_HIT/200」または「TCP_HIT/200」が設定されたログデータに対応する部分データを、キャッシュヒットしたデータと特定する。また、解析部130は、抽出したログデータのうち結果コードの項目に「TCP_MISS/200」が設定されたログデータに対応する部分データを、ミスヒットしたデータと特定する。
【0080】
[ステップS25]キャッシュサーバ100の通知部140は、キャッシュヒットしたデータとミスヒットしたデータとをユーザ端末200aに通知する。例えば、通知部140は、キャッシュヒットしたデータに対応するログデータのURLの項目に設定されたURLと、ミスヒットしたデータに対応するログデータのURLの項目に設定されたURLとをユーザ端末200aに通知する。
【0081】
[ステップS26]ユーザ端末200aの受信部230は、キャッシュサーバ100からの通知を受信する。そして、ユーザ端末200aの画面表示部240は、通知画面61をディスプレイ装置204に表示させる。
【0082】
[ステップS27]画面表示部240は、キャッシュ使用状況を表示する。例えば、画面表示部240は、通知画面61において詳細表示ボタンが押下されると、通知画面62をディスプレイ装置204に表示させる。
【0083】
このように、キャッシュサーバ100の解析部130は、ユーザ端末200aから要求された配信データの部分データごとにキャッシュヒットしたか否かを判定し、ユーザ端末200aの画面表示部240は、判定結果を表示する。なお、事前にユーザ端末200bが
図9に示した配信データ取得処理によって所定の配信データをキャッシュサーバ100に要求してから、ユーザ端末200aが配信データ取得処理をしておく。すると、解析部130は、アクセスログ112からユーザ端末200aを特定し、キャッシュサーバ100の通知部140は、部分データごとの判定結果をユーザ端末200aに通知する。
【0084】
そして、画面表示部240は、部分データがすべてキャッシュヒットしたことを示す通知画面62を表示することで、キャッシュサーバ100の管理者に、キャッシュサーバ100のキャッシュ機能が正常であると確認させることができる。また、画面表示部240は、一部の部分データがミスヒットしたことを示す通知画面62を表示することで、キャッシュサーバ100の管理者に、キャッシュサーバ100のキャッシュ機能に異常があると確認させることができる。また、画面表示部240は、部分データごとの判定結果を表示することで、キャッシュサーバ100の管理者に、キャッシュできていない部分データの情報からキャッシュサーバ100の異常の原因を特定させることができる。このように、第2の実施の形態の情報処理システムは、キャッシュサーバ100の異常の検知を容易にすることができる。
【0085】
なお、キャッシュサーバ100およびユーザ端末200aに以下の機能を追加してもよい。キャッシュサーバ100は、ミスヒットしたデータにキャッシュができない設定(例えば、no-storeの設定)がされている場合、設定内容をユーザ端末200aに通知し、ユーザ端末200aは、設定内容を表示してもよい。また、ユーザ端末200aは、ミスヒットしたデータをキャッシュするために用いる証明書のインストールチェックを実行してもよい。また、キャッシュサーバ100は、アクセスログ112にエラーを示すログデータがあると、エラーコード(例えば、404エラー)をユーザ端末200aに表示させてもよい。
【0086】
また、キャッシュサーバ100は、アクセスログ112にエラーを示すログデータがあると、キャッシュサーバ100やユーザ端末200aの設定(例えば、キャッシュサーバ100の設定ファイル)のチェック処理を実行し、チェック処理で検出された問題をユーザ端末200aに表示させてもよい。また、キャッシュサーバ100は、キャッシュに対応していない通信(例えば、WebSocket通信)を検出した場合、その旨をユーザ端末200aに表示させてもよい。また、キャッシュサーバ100は、ミスヒットしたデータがあり、ミスヒットしたデータにキャッシュができない設定がされている等の問題がない場合、ネットワーク環境の確認を促す画面をユーザ端末200aに表示させてもよい。
【0087】
第2の実施の形態によれば、キャッシュサーバ100は、配信サーバ50-1,50-2,・・・から配信される配信データをキャッシュしたキャッシュデータ111-1,111-2,・・・を記憶する。キャッシュサーバ100は、他の装置からの配信データの要求に応じて配信データを他の装置に配信したときに配信データをキャッシュデータ111-1,111-2,・・・として記憶していたか否かを判定する。キャッシュサーバ100は、配信データをキャッシュデータ111-1,111-2,・・・として記憶していたか否かの判定結果を他の装置に送信する。ユーザ端末200aは、キャッシュサーバ100から判定結果を取得し、判定結果を表示する。これにより、第2の実施の形態の情報処理システムは、キャッシュサーバ100の異常の検知を容易にすることができる。
【0088】
また、キャッシュサーバ100は、配信データに含まれる部分データのうちキャッシュヒットしたデータを示す情報と、部分データのうちミスヒットしたデータを示す情報とを判定結果としてユーザ端末200aに通知する。ユーザ端末200aは、キャッシュヒットしたデータを示す情報と、ミスヒットしたデータを示す情報とを表示する。これにより、第2の実施の形態の情報処理システムは、キャッシュサーバ100が一部のデータをキャッシュできていない異常を検知できる。
【0089】
また、キャッシュサーバ100は、配信データの要求履歴を示すログデータを記録し、ログデータに基づいて、配信データを要求したユーザ端末200aを特定し、判定結果をユーザ端末200aに送信する。これにより、第2の実施の形態の情報処理システムは、キャッシュサーバ100の管理者が操作するユーザ端末200aを特定し、キャッシュサーバ100の異常の有無をキャッシュサーバ100の管理者に通知できる。
【0090】
〔第3の実施の形態〕
次に、第3の実施の形態について説明する。第2の実施の形態では、キャッシュサーバ100がログデータに基づいて特定したユーザ端末200aに判定結果を送信していたが、第3の実施の形態では、キャッシュサーバが判定結果の問い合わせをしたユーザ端末に判定結果を送信する。なお、第3の実施の形態においても、第2の実施の形態と同様の符号を用いることがある。
【0091】
図11は、キャッシュサーバおよびユーザ端末の他の機能例を示すブロック図である。第3の実施の形態のキャッシュサーバ100-1は、記憶部110、配信部120、解析部130-1および通知部140を有する。記憶部110、配信部120および通知部140の機能は、第2の実施の形態に示した記憶部110、配信部120および通知部140の機能と同様である。
【0092】
解析部130-1は、ユーザ端末からの問合せに応じて、要求された配信データがキャッシュデータ111-1,111-2,・・・として記憶されていたか否かを判定する。解析部130-1は、ユーザ端末から問合せを取得すると、アクセスログ112に基づいて、問合せをしたユーザ端末が要求した部分データを特定する。そして、解析部130は、アクセスログ112に基づいて、特定した部分データのうち、キャッシュヒットしたデータとミスヒットしたデータとを特定する。
【0093】
第3の実施の形態のユーザ端末200a-1は、リクエスト部220、受信部230、画面表示部240および問合せ部250を有する。リクエスト部220、受信部230、および画面表示部240の機能は、第2の実施の形態に示したリクエスト部220、受信部230、および画面表示部240の機能と同様である。問合せ部250は、配信データ取得処理の際に、キャッシュサーバ100-1に判定結果の問合せをする。
【0094】
なお、
図11に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。次に、第3の実施の形態の使用状況表示処理について説明する。
【0095】
図12は、使用状況表示処理の手順の他の一例を示すフローチャートである。以下、
図12に示す処理をステップ番号に沿って説明する。
[ステップS31]ユーザ端末200a-1のリクエスト部220は、
図9に示した配信データ取得処理を実行する。
【0096】
[ステップS32]ユーザ端末200a-1の問合せ部250は、キャッシュサーバ100-1に判定結果の問合せをする。
[ステップS33]キャッシュサーバ100-1の解析部130-1は、アクセスログ112を解析する。例えば、解析部130-1は、前回のステップS33の処理よりも後にアクセスログ112に追加されたログデータを参照する。
【0097】
[ステップS34]解析部130-1は、問合せ元からの配信データの要求を示すログデータがあるか否かを判定する。例えば、解析部130-1は、参照したログデータに、クライアントIPアドレスの項目にユーザ端末200a-1のIPアドレスが設定されたログデータがある場合、問合せ元からの配信データの要求を示すログデータがあると判定する。解析部130-1は、問合せ元からの配信データの要求を示すログデータがあると判定した場合、処理をステップS35に進める。また、解析部130-1は、問合せ元からの配信データの要求を示すログデータがないと判定した場合、処理をステップS33に進める。
【0098】
[ステップS35]解析部130-1は、キャッシュヒットしたデータとミスヒットしたデータとを特定する。例えば、解析部130-1は、クライアントIPアドレスの項目にユーザ端末200a-1のIPアドレスが設定されたログデータを抽出する。解析部130-1は、抽出したログデータのうち結果コードの項目に「TCP_MEM_HIT/200」または「TCP_HIT/200」が設定されたログデータに対応する部分データを、キャッシュヒットしたデータと特定する。また、解析部130-1は、抽出したログデータのうち結果コードの項目に「TCP_MISS/200」が設定されたログデータに対応する部分データを、ミスヒットしたデータと特定する。
【0099】
[ステップS36]キャッシュサーバ100-1の通知部140は、キャッシュヒットしたデータとミスヒットしたデータとをユーザ端末200a-1に通知する。例えば、通知部140は、キャッシュヒットしたデータに対応するログデータのURLの項目に設定されたURLと、ミスヒットしたデータに対応するログデータのURLの項目に設定されたURLとをユーザ端末200a-1に通知する。
【0100】
[ステップS37]ユーザ端末200a-1の受信部230は、キャッシュサーバ100-1からの通知を受信する。そして、ユーザ端末200a-1の画面表示部240は、通知画面61をディスプレイ装置204に表示させる。
【0101】
[ステップS38]画面表示部240は、キャッシュ使用状況を表示する。例えば、画面表示部240は、通知画面61において詳細表示ボタンが押下されると、通知画面62をディスプレイ装置204に表示させる。
【0102】
このように、キャッシュサーバ100-1の解析部130-1は、ユーザ端末200a-1からの問合せに応じてアクセスログ112を解析する。ここで、キャッシュサーバ100-1の管理者が操作するユーザ端末200a-1が問合せを送信する。よって、キャッシュサーバ100-1の通知部140は、キャッシュサーバ100-1の管理者が操作するユーザ端末200a-1にキャッシュサーバ100-1の異常の有無を通知できる。
【0103】
第3の実施の形態によれば、ユーザ端末200a-1は、キャッシュサーバ100-1に配信データを要求するときに、判定結果を問合わせ、キャッシュサーバ100-1は、問合わせに応じて、判定結果をユーザ端末200a-1に送信する。これにより、第3の実施の形態の情報処理システムは、キャッシュサーバ100-1の管理者が操作するユーザ端末200a-1にキャッシュサーバ100-1の異常の有無を通知できる。
【0104】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0105】
1-1,1-2,・・・ ユーザ端末
2-1,2-2,・・・ 配信サーバ
10 キャッシュサーバ
11 記憶部
11a-1,11a-2,・・・ キャッシュデータ
12 処理部