(58)【調査した分野】(Int.Cl.,DB名)
前記判定手段は、前記第1の画像データに対応する画像と、前記第1の基準画像データに対応する画像との比較の結果が所定の範囲内にある場合、前記第1の画像データと前記第1の基準画像データとが一致すると判定する、請求項1記載の情報処理装置。
前記判定手段は、前記第1の画像データに対応する画像の特定の部分と、前記第1の基準画像データに対応する画像の特定の部分との比較の結果が所定の範囲内にある場合、前記第1の画像データと前記第1の基準画像データとが一致すると判定する、請求項1記載の情報処理装置。
【発明を実施するための形態】
【0010】
次に、実施の形態について、図面を参照しながら詳細に説明する。
【0011】
(第1の実施例)
<システム構成>
まず、本実施形態に係る応答時間測定システム1のシステム構成について説明する。
【0012】
図1は、本実施形態に係る応答時間測定システムの一例を示す構成図である。
図1に示されるように、応答時間測定システム1は、端末装置10と、サーバ装置20とが有線又は無線でネットワークN1に接続されている。
【0013】
端末装置10は、ユーザの入力操作に応じて、サーバ装置20に対して処理要求を行い、この処理要求に対する処理応答をサーバ装置20から受け取る。また、端末装置10は、ユーザが入力操作を行ってから処理応答に対応する結果がディスプレイ等に表示されるまでの応答時間を測定する。端末装置10は、情報処理装置の一例であり、例えば、ノートPC(Personal Computer)、デスクトップPC、タブレット端末、スマートフォン等である。また、端末装置10は、例えば、ゲーム機、PDA、カーナビケーション端末等の種々の電子機器であってもよい。
【0014】
サーバ装置20は、端末装置10から処理要求を受け取り、この受け取った処理要求に対応する各種処理を実行した後、処理応答を端末装置10に行う。サーバ装置20は、サーバ装置の一例であり、例えば、ノートPC、デスクトップPC、メインフレーム等の汎用系システム等である。
【0015】
なお、
図1に示される応答時間測定システム1は、端末装置10及びサーバ装置20をそれぞれ1台ずつ有する構成を一例として示したが、これに限られず、端末装置10及び/又はサーバ装置20を2台以上有する構成であってもよい。
【0016】
また、端末装置10及びサーバ装置20は、1台の情報処理装置で構成されていてもよい。すなわち、本実施形態に係る応答時間測定システム1は、ネットワークN1を介して接続された端末装置10とサーバ装置20との間の応答時間を測定する場合に限られず、1つの情報処理装置内における処理要求に対する応答時間を測定する場合にも適用され得る。
【0017】
<ハードウェア構成>
次に、本実施形態に係る端末装置10のハードウェア構成について説明する。
【0018】
図2は、本実施形態に係る端末装置の一例のハードウェア構成図である。端末装置10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14と、ROM(Read Only Memory)15と、CPU(Central Processing Unit)16と、通信I/F17と、HDD(Hard Disk Drive)18とを備え、それぞれがバスBで相互に接続されている。
【0019】
入力装置11は、キーボードやマウス、タッチパネル等を含み、端末装置10に各操作信号を入力するのに用いられる。表示装置12は、LCD(Liquid Crystal Display)又はCRT(Cathode Ray Tube)等を含み、端末装置10による処理結果を表示する。
【0020】
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。記憶媒体13aには、本実施形態を実現するプログラムを格納することができる。端末装置10は外部I/F103を介して、記録媒体13aの読み取り及び/又は書き込みを行うことができる。
【0021】
記録媒体13aにはUSBメモリ(Universal Serial Bus memory)、SDメモリカード(SD Memory card)、DVD(Digital Versatile Disk)、CD(Compact Disk)、フレキシブルディスク等の記録媒体を用いることができる。
【0022】
RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM15には、端末装置10の起動時に実行されるBIOS(Basic Input/Output System)、OS(Operating System)設定、及びネットワーク設定等のプログラムやデータが格納されている。
【0023】
CPU16は、ROM15やHDD18等の記憶装置からプログラムやデータをRAM14上に読み出し、処理を実行することで、端末装置10全体の制御や機能を実現する演算装置である。
【0024】
通信I/F17は、ネットワークに接続するインタフェースである。端末装置10は、通信I/F17を介してデータ通信を行うことができる。なお、通信I/F107による通信は有線通信であっても無線通信であってもよい。
【0025】
HDD18は、プログラム及び/又はデータを格納している不揮発性の記憶装置である。格納されるプログラム及び/又はデータには、例えば、端末装置10全体を制御する基本ソフトウェアであるOS、OS上において各種機能を提供するアプリケーションソフトウェア等がある。HDD18は、格納しているプログラム及び/又はデータを所定のファイルシステム及び/又はDB(Data Base)により管理している。なお、端末装置10は、HDD18に代えて、例えばSSD(Solid State Drive)等を有していてもよい。
【0026】
本実施形態に係る端末装置10は、例えば上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
【0027】
<ソフトウェア構成>
次に、本実施形態に係る端末装置10のソフトウェア構成について説明する。
【0028】
図3は、本実施形態に係る端末装置の一例の機能ブロック図である(第1の実施例)。端末装置10は、基準画像登録部101と、入力情報記録部102と、時刻取得部103と、データ生成部104と、画像解析部105と、応答時間算出部106と、表示部107とを有する。また、端末装置10は、基準画像データ記憶部108と、入力情報時刻データ記憶部109と、データ記憶部110とを利用する。なお、これらの各記憶部の全部又は一部は、HDD108又は端末装置10とネットワークN1を介して接続される記憶装置により実現される。
【0029】
基準画像登録部101は、応答時間を測定するための基準画像データを基準画像データ記憶部108に記憶させる。ここで、本実施例において、基準画像データ記憶部108に記憶される基準画像データは、例えば、終了時刻を特定するための画像データであり、端末装置10がサーバ装置20から処理応答を受け取ったときに表示装置12に表示される画面の画像データである。
【0030】
入力情報記録部102は、ユーザが入力装置11を介して入力した入力操作に関する情報(入力操作情報)を入力情報時刻データ記憶部109に記憶させる。換言すれば、入力情報記録部102は、例えば、いわゆるキーロガーであり、ユーザが入力装置11を介して入力した入力操作情報をログとして記録する。このとき、入力情報記録部102は、時刻取得部103から入力操作が行われた時刻情報を取得し、入力操作情報と、この入力操作に対応する時刻情報とを入力情報時刻データ記憶部109に記憶させる。すなわち、入力情報時刻データは、ユーザが入力装置11を介して入力した入力操作情報と、この入力操作が行われた時刻情報とを含むデータである。
【0031】
時刻取得部103は、他の各部からの要求に応じて時刻情報を返信する。例えば、時刻取得部103は、入力情報記録部102又はデータ生成部104からの要求に応じて、現在時刻の情報を返信する。
【0032】
データ生成部104は、ユーザからの要求に応じて、端末装置10の表示装置12に表示された情報から動画データを生成し、データ記憶部110に記憶させる。例えば、データ生成部104は、いわゆる動画キャプチャであり、ユーザ又はプログラム等からの動画キャプチャ開始指示を受け付けてから動画キャプチャ終了指示を受け付けるまでの間において表示部107が表示装置12に表示させた情報(画像データ)を録画(取得)して、動画データを生成する。なお、このとき、データ生成部104は、各フレーム(画像データ)毎に、フレームを取得した時刻を時刻取得部103から取得して、動画データを生成する。すなわち、データ生成部104により生成される動画データは、複数のフレーム(画像データ)と、これらのフレームを取得した時刻情報とを含むデータである。
【0033】
なお、データ生成部104は、動画データに限られず、静止画データを生成し、データ記憶部110に記憶させてもよい。例えば、データ生成部104は、ユーザ又はプログラム等からの指示を受け付けて、表示部107が表示装置12に表示させた情報(画像データ)を取得して、静止画データを生成する。このとき、上記と同様に、データ生成部104は、画像データを取得した時刻を時刻取得部103から取得して、静止画データを生成する。すなわち、データ生成部104により生成される静止画データは、一の画像データと、この画像データを取得した時刻情報とを含むデータである。以降では、データ生成部104は、動画データを生成するものとして説明するが、静止画データに対しても本実施形態は同様に適用される。
【0034】
画像解析部105は、基準画像データと、動画データに含まれる各フレームとが一致するか否かを判定する。
【0035】
応答時間算出部106と、入力情報時刻データ記憶部109から取得した該当の入力操作に対応する時刻情報(開始時刻)と、画像解析部105により基準画像データと一致するフレームを取得した時刻情報(終了時刻)とから処理要求に対する応答時間を算出する。
【0036】
表示部107は、各種入力操作や処理応答等に基づき、表示装置12に各種画面を表示させる。例えば、表示部107は、サーバ装置20から処理応答を受け取ると、この処理応答に対応する画面を表示装置12に表示させる。
【0037】
<概略>
次に、本実施形態に係る応答測定システム1の概略について説明する。
【0038】
図4は、本実施形態の概略の一例を説明するための図である(第1の実施例)。まず、端末装置10のディスプレイ等には、入力操作を受け付けるための画面Aが表示されているものとする。
【0039】
ステップS1において、ユーザが入力装置11を介してサーバ装置20に処理要求を行うための入力操作を行う。
【0040】
ステップS2において、端末装置10は、ユーザにより行われた入力操作に対応する処理要求をサーバ装置20に送信する。
【0041】
ステップS3において、サーバ装置20は、端末装置10から処理要求を受け取ると、受け取った処理要求に対応する処理を実行する。
【0042】
ステップS4において、サーバ装置20は、処理応答を端末装置10に返す。
【0043】
ステップS5において、端末装置10は、サーバ装置20から処理応答を受け取ると、処理結果を表す画面Bに画面遷移する。これにより、ユーザが入力操作を行ってからこの入力操作に対する結果が表示されるまでの一連の動作が完了する。
【0044】
第1の実施例に係る応答時間測定システム1では、上記で説明した一連動作に要した時間、すなわち、ユーザが入力操作を行ってから画面Bが表示されるまでの時間(応答時間)を測定する。これにより、ユーザが実際に体感する処理待ち時間により近い応答時間が測定される。
【0045】
<処理の詳細>
次に、第1の実施例に係る応答時間測定システム1の処理の詳細について説明する。
【0046】
≪全体処理≫
図5は、本実施形態に係る全体処理の一例のシーケンス図である(第1の実施例)。
【0047】
ステップS501において、ユーザは、端末装置10の入力装置11を介して基準画像データの登録を指示する。すると、端末装置10の基準画像登録部101は、ユーザにより指示された基準画像データを基準画像データ記憶部108に記憶させる。
【0048】
ここで、基準画像データは、例えば、上記の概略で説明した「画面B」を表す画像データであり、端末装置10が処理応答を受け取ったときに表示装置12に表示される処理結果を表す画面の画像データである。このような基準画像データは、例えば、前述した「画面B」の場合、ハードコピーや画面キャプチャにより生成することができる。なお、基準画像データは、表示装置12の全体に表示される画像データ(すなわち、画面全体)に限られず、表示装置12に表示される画像データの一部(すなわち、画面の一部)であってもよい。あるいは、基準画像データは、表示部107により表示される画面全体の所定の領域に表示される画像データであってもよい。例えば、端末装置10が処理応答を受け取ると、「画面A」の所定の領域に処理が完了したことを示す「メッセージ」が表示される場合、基準画像データは、この「メッセージ」の画像データであってもよい。
【0049】
ステップS502において、ユーザは、端末装置10の入力装置11を介して、動画データを生成するための動画キャプチャ開始指示を行う。すると、データ生成部104は、表示部107が端末装置10の表示装置12に表示させる情報の録画(取得)を開始する。このとき、データ生成部104は、動画データを構成するフレームを取得する毎に、フレームが取得された時刻情報を時刻取得部103から取得して、この時刻情報を各フレームと対応付けて動画データを生成する。なお、生成される動画データのフレームレートは、任意の値を用いてよい。ただし、生成される動画データのフレームレート値が高い程、高精度で応答時間の測定が可能であるため、30fps以上であることが好ましい。なお、動画キャプチャの開始指示は、ユーザが入力装置11を介して行うことに限定されず、例えば、所定のプログラム等が行ってもよい。
【0050】
ステップS503において、ユーザは、端末装置10の入力装置11を介して、サーバ装置20に処理要求を行うための入力操作を行う。すると、入力情報記録部102は、ユーザが入力操作を行った時刻情報を時刻取得部103から取得し、この時刻情報をユーザが入力した入力操作情報と関連付けて入力情報時刻データ記憶部109に記憶させる。ユーザがプログラムAのユーザインタフェース画面Aにおいて、14時01分56秒にエンターキーを押下した場合、入力情報時刻データ記憶部109に記憶される情報は、例えば、「プログラムA,画面A,Enter 14:01:56」といった情報である。このように記録された時刻情報が開始時刻であり、後述する終了時刻との差分を計算することで、応答時間が算出される。
【0051】
なお、上記において、端末装置10がサーバ装置20に対して送信する処理要求はどのような処理要求であってもよい。一例としては、端末装置10上で動作するサーバ装置20の仮想端末プログラムがサーバ装置20の機能を利用するための処理要求などが挙げられる。
【0052】
ステップS504において、ユーザにより処理要求を行うための入力操作がなされると、端末装置10は、この入力操作に応じた処理要求をサーバ装置20に送信する。なお、端末装置10は、処理要求をサーバ装置20に送信した時刻情報と、後述するステップS506においてサーバ装置20から送信される処理応答を受信した時刻情報とを時刻取得部103から取得して、記憶装置等に記憶させてもよい(すなわち、処理要求及び処理応答のネットワークログを記録してもよい)。これにより、ネットワーク通信に通信に要した時間を測定することができるため、例えば、測定された応答時間が大きかった場合等において、端末装置10の処理に時間が掛かっているのか、又はネットワーク通信で時間が掛かっているのか等の特定を行うことができる。
【0053】
ステップS505において、サーバ装置20は、端末装置10から処理要求を受け取ると、この処理要求に対応する処理を実行する。例えば、サーバ装置20は、処理要求を受け取ると、対応するアプリケーションプログラムを実行する。また、サーバ装置20は、処理要求を受け取ると、さらに他の装置等に処理を依頼してもよい。
【0054】
ステップS506において、サーバ装置20は、受け取った処理要求に対応する処理が完了すると、処理応答を端末装置10に送信する。
【0055】
ステップS507において、サーバ装置20から処理応答を受け取ると、端末装置10の表示部107は、処理結果を表す画面に画面遷移させる。例えば、表示部107は、上記の概略で説明したように、「画面A」から「画面B」に画面を遷移させる。これにより、ユーザは、自身が行った入力操作に対する処理が完了したことを認識する。
【0056】
ステップS508において、ユーザは、端末装置10の入力装置11を介して、動画キャプチャ終了指示を行う。すると、データ生成部104は、動画データの生成を終了させ、生成した動画データをデータ記憶部110に記憶させる。これにより、動画キャプチャ開始指示後から動画キャプチャ終了指示がなされる間において端末装置10の表示装置12に表示された情報が動画データとして記録される。後述する処理において、この動画データから終了時刻が取得され、前述した開始時刻との差分を計算することで、応答時間が算出される。
【0057】
ステップS509において、端末装置10の画像解析部105及び応答時間算出部106は、応答時間算出処理を実行し、応答時間を算出する。算出された応答時間は、例えば、表示部107により表示装置12に表示される。これにより、ユーザは、自身が行った入力操作を行った後、この入力操作に対応する処理が完了するまでに掛かった時間(すなわち、応答時間)を知ることができる。このように算出された応答時間は、例えば、応答時間を短縮するための資料やサービスに対するSLA(Service Level Agreement)を規定するための資料等に用いることができる。
【0058】
≪応答時間の算出処理≫
図5におけるステップS509の「応答時間算出処理」について説明する。
【0059】
図6は、本実施形態に係る応答時間の算出処理の一例のフローチャートである(第1の実施例)。
【0060】
ステップS601において、端末装置10の応答時間算出部106は、入力情報時刻データ記憶部109から該当の入力操作情報の時刻情報を取得する。すなわち、応答時間算出部106は、
図5のステップS503で説明した、サーバ装置20に処理要求を行うための入力操作が行われた時刻情報を取得する。これは、例えば、サーバ装置20に処理要求を行うためのプログラム名、このプログラムにおけるユーザインタフェース画面、この画面において行われた操作キーの情報等に基づき取得することができる。この処理において取得された時刻情報を「開始時刻」と表す。
【0061】
ステップS602において、端末装置10の画像解析部105は、データ記憶部110に記憶されている動画データの各フレーム毎に、基準画像データ記憶部108に記憶されている基準画像データと一致するか否かを判定する。
【0062】
ここで、動画データに含まれるある1つのフレーム(以降、「フレームデータ」と表す)と、基準画像データとが一致するか否かの判定方法は、例えば、以下のようなものが挙げられる。このような判定は、各フレームデータに対応付けられた時刻情報の順に行えばよい。なお、基準画像データが表示装置12に表示される画面の一部の範囲に対応する画像データである場合は、フレームデータの対応する範囲の部分を切り出した画像データと、基準画像データとが一致するか否かを判定する。以降では、フレームデータの一部の範囲を切り出した画像データも「フレームデータ」と表す。
(1)フレームデータの各画素値と、基準画像データの対応する各画素値とが一致するか否かを判定する。なお、フレームデータの各画素値と、基準画像データの対応する各画素値とが完全に一致する場合だけでなく、所定の範囲内にある場合にも一致すると判定してもよい。例えば、フレームデータと基準画像データとがRGB色空間である場合、基準画像データのR成分の値とフレームデータのR成分の値とが−3から+3の範囲内ある場合は一致すると判定してもよいし、さらに、それぞれのG成分の値又は/及びB成分の値が−5から+5の範囲内にある場合は一致すると判定してもよい。
(2)フレームデータの特定の部分と、基準画像データの特定の部分とが一致するか否かを判定する。ここで、特定の部分とは、例えば、フレームデータ及び基準画像データにおける画素値の位置をXY座標で表した場合に、予め定められたa
1<X<a
2及びb
1<Y<b
2の範囲にある各画素値である。したがって、フレームデータ及び基準画像データそれぞれ特定の部分の各画素値が、一致する又は所定の範囲内にある場合は、一致すると判定すればよい。
(3)パターンマッチングによりフレームデータと、基準画像データとが一致するか否かを判定する。例えば、基準画像データとフレームデータとを重ねて2つの画像データの相関を調べて、所定の範囲内の相関である場合に、一致すると判定する。
(4)統計的識別法によりフレームデータと、基準画像データとが一致するか否かを判定する。例えば、フレームデータ及び基準画像データそれぞれの特徴ベクトルに基づき、あるカテゴリの同時生起確率を算出し、フレームデータ及び基準画像データのそれぞれが属するカテゴリを決定する。そして、フレームデータと基準画像データとが同一のカテゴリに属するか否かにより、一致するか否かを判定する。なお、特徴ベクトルは、フレームデータ及び基準画像データの一部の特徴を示す局所的な特徴ベクトルであってもよい。
(5)構造識別法によりフレームデータと、基準画像データとが一致するか否かを判定する。例えば、フレームデータ及び基準画像データの構造解析を行い、それぞれの構造をグラフ化する。そして、それぞれのグラフの類似度が所定の範囲内である場合に、一致すると判定する。フレームデータ及び基準画像データの構造としては、例えば、エッジや特徴点等が挙げられる。なお、構造識別法は、分岐点主導型や線分主導型などのいずれの方法を用いてもよい。
【0063】
フレームデータと基準画像データとが一致するか否かの判定方法は、上記に述べた(1)〜(5)の方法に限られものではなく、複数の画像データの一致度あるいは類似度等を判定する種々の方法を用いることができる。
【0064】
ステップS603において、端末装置10は、基準画像データと一致するフレームが存在する場合、ステップS604の処理に進む一方、一致するフレームが存在しない場合、処理を終了させる。なお、一致するフレームが存在しないと判定された場合、表示部107は、表示装置12にエラーを示す画面等を表示させてもよい。
【0065】
ステップS604において、端末装置10の応答時間算出部106は、上記のステップS602において基準画像データと一致すると判定されたフレームデータを取得した時刻情報を動画データから取得する。ここで、基準画像データと一致すると判定されたフレームデータは、端末装置10がサーバ装置20から処理応答を受け取った後に表示させる処理結果を表す画面の画像データである。したがって、基準画像データと一致すると判定されたフレームデータが取得された時刻情報を「終了時刻」と表す。
【0066】
ここで、上記のステップS602で説明したように、例えばそれぞれの画素値が所定の範囲内にあるときにも一致すると判定する場合、基準画像データと一致すると判定されたフレームデータが複数存在する場合もある。このような場合、一致すると判定された複数のフレームデータに対応付けられている複数の時刻情報のうち、最も古い時刻情報(すなわち、複数のフレームデータのうち最初に取得されたフレームデータの時刻情報)を取得すればよい。
【0067】
ステップS605において、端末装置10の応答時間算出部106は、開始時刻と終了時刻から応答時間を算出する。すなわち、応答時間算出部106は、終了時刻と開始時刻の差分を計算することで、応答時間を算出する。これにより、ユーザがサーバ装置20に対して処理要求を行うための入力操作を行った後、この処理要求に対す処理結果を表す画面が表示されるまでの時間(応答時間)が測定される。このように測定された応答時間は、ユーザが実際に入力操作を行ってから、処理結果を表す画面が表示されるまでの応答時間であるため、ユーザが体感する待ち時間をより適切に表したものであるということができる。
【0068】
なお、本実施形態では、動画データを生成した後、応答時間の算出処理を行っているが、動画データの生成と応答時間の算出とは並列して処理を行うようにしてもよい。すなわち、動画キャプチャで動画データを生成しつつ、この動画データの生成されたフレームに対して逐次、
図6の応答時間の算出処理を実行してもよい。
【0069】
さらに、動画データを生成することは、必ずしも要しない。すなわち、画面の所定の領域(画面全体であっても、画面の一部であってもよい)と、基準画像データとに対して、逐次、
図6の応答時間の算出処理を実行してもよい。
【0070】
以上のように本実施例では、入力操作と処理結果の表示、すなわち、ユーザインタフェースを基準に応答時間が算出される。したがって、動作ログのみに基づき応答時間が算出される場合と比べて、ユーザが実際に体感する待ち時間により近い応答時間を算出することができる。このことは、例えば、処理応答をサーバ装置20から受け取った後、端末装置10において処理結果が表示装置12に表示されるまでに時間を要する場合などにおいてより顕著である。
【0071】
(第2の実施例)
次に、本実施形態に係る応答時間測定システム1の第2の実施例について説明する。第2の実施例においては、開始時刻をユーザが入力操作を行った時刻とするのではなく、基準画像データ(開始基準画像データ)と異なる画面に遷移した場合に、この異なる画面を表す画像データを取得した時刻情報を開始時刻とする点が第1の実施例と異なる。なお、第2の実施例のシステム構成及びハードウェア構成は、第1の実施例と同様であるため、説明を省略する。
【0072】
<ソフトウェア構成>
第2の実施例に係る端末装置10のソフトウェア構成について説明する。
【0073】
図7は、本実施形態に係る端末装置の一例の機能ブロック図である(第2の実施例)。
図3に示される端末装置10は、入力情報記録部102を有しない点、基準画像登録部111の機能、及び基準画像データ記憶部112に2つの基準画像データが記憶される点が第1の実施例と異なる。
【0074】
基準画像登録部111は、開始時刻を特定するための開始基準画像データと、終了時刻を特定するための終了基準画像データとを基準画像データ記憶部112に記憶させる。ここで、終了基準画像データは、第1の実施例における「基準画像データ」と同様であり、終了時刻を特定するための画像データであり、例えば、端末装置10がサーバ装置20から処理応答を受け取ったときに表示装置12に表示される画面の画像データである。他方、開始基準画像データは、開始時刻を特定するための画像データであり、端末装置10がサーバ装置20に処理要求を行うための入力操作を受け付ける画面の画像データである。
【0075】
<概略>
次に、第2の実施例の応答測定システム1の概略について説明する。
【0076】
図8は、本実施形態の概略の一例を説明するための図である(第2の実施例)。まず、端末装置10のディスプレイ等には、入力操作を受け付けるための画面Aが表示されているものとする。
【0077】
ステップS11において、ユーザが入力装置11を介してサーバ装置20に処理要求を行うための入力操作を行う。
【0078】
ステップS12において、端末装置10は、ユーザにより行われた入力操作に対応する処理要求をサーバ装置20に送信する。
【0079】
ステップS13において、端末装置10は、入力操作を受け付けたことを表す画面A’に画面遷移する。ここで、画面A’は、画面Aとは全く異なる画面であってもよいし、例えば画面Aの所定の領域に入力操作を受け付けたことを示す「メッセージ」が表示されたような画面であってもよい。
【0080】
ステップS14において、サーバ装置20は、端末装置10から処理要求を受け取ると、受け取った処理要求に対応する処理を実行する。
【0081】
ステップS15において、サーバ装置20は、処理応答を端末装置10に返す。
【0082】
ステップS16において、端末装置10は、サーバ装置20から処理応答を受け取ると、処理結果を表す画面Bに画面遷移する。これにより、ユーザが入力操作を行ってからこの入力操作に対する結果が表示されるまでの一連の動作が完了する。
【0083】
第2の実施例に係る応答時間測定システム1では、上記で説明した一連動作に要した時間、すなわち、ユーザが入力操作を行って画面A’に画面遷移してから画面Bが表示されるまでの時間(応答時間)を測定する。これにより、ユーザが実際に体感する処理待ち時間により近い応答時間が測定される。
【0084】
<処理の詳細>
次に、第2の実施例に係る応答時間測定システム1の処理の詳細について説明する。なお、以降では、第1の実施例と同様の処理を行う箇所については、適宜説明を省略又は簡略化する。
【0085】
≪全体処理≫
図9は、本実施形態に係る全体処理の一例のシーケンス図である(第1の実施例)。
【0086】
ステップS901において、端末装置10の入力装置11を介して開始基準画像データ及び終了基準画像データの登録を指示する。すると、端末装置10の基準画像登録部111は、ユーザにより指示された開始基準画像データ及び終了基準画像データを基準画像データ記憶部112に記憶させる。
【0087】
ここで、開始基準画像データは、例えば、上記の概略で説明した「画面A」を表す画像であり、端末装置10から処理要求を送信するための入力操作を受け付ける画面の画像データである。
【0088】
ステップS902において、ユーザは、端末装置10の入力装置11を介して、動画データを生成するための動画キャプチャ開始指示を行う。第2の実施例では、この動画キャプチャ開始指示は、表示装置12に、端末装置10からサーバ装置20に対しての処理要求を送信するための入力操作を受け付ける画面が表示されている状態で行う。すると、データ生成部104は、表示部107が端末装置10の表示装置12に表示させる情報の録画を開始する。
【0089】
ステップS903において、ユーザは、端末装置10の入力装置11を介して、サーバ装置20に処理要求を行うための入力操作を行う。
【0090】
ステップS904において、ユーザにより入力装置11を介してサーバ装置20に処理要求を行うための入力操作がされると、端末装置10の表示部107は、入力操作を受け付けたこと表す画面に画面遷移させる。
【0091】
ステップS905において、端末装置10は、上記のステップS903においてされた入力操作に応じた処理要求をサーバ装置20に送信する。
【0092】
ステップS906において、サーバ装置20は、端末装置10から処理要求を受け取ると、この処理要求に対応する処理を実行する。
【0093】
ステップS907において、サーバ装置20は、受け取った処理要求に対応する処理が完了すると、処理応答を端末装置10に送信する。
【0094】
ステップS908において、サーバ装置20から処理応答を受け取ると、端末装置10の表示部107は、処理結果を表す画面に画面遷移させる。これにより、ユーザは、自身が行った入力操作に対する処理が完了したことを認識する。
【0095】
ステップS909において、ユーザは、端末装置10の入力装置11を介して、動画キャプチャ終了指示を行う。すると、データ生成部104は、動画データの生成を終了させ、生成した動画データをデータ記憶部110に記憶させる。
【0096】
ステップS910において、端末装置10の画像解析部105及び応答時間算出部106は、応答時間算出処理を実行し、応答時間を算出する。
【0097】
≪応答時間の算出処理≫
図9におけるステップS910の「応答時間算出処理」について説明する。
【0098】
図10は、本実施形態に係る応答時間の算出処理の一例のフローチャートである(第2の実施例)。
【0099】
ステップS1001において、端末装置10の画像解析部105は、データ記憶部110に記憶されている動画データの各フレーム毎に、基準画像データ記憶部112に記憶されている開始基準画像データと一致するか否かを判定する。なお、ここでの判定方法は、第1の実施例で説明したものと同様の方法を用いればよい。
【0100】
ステップS1002において、端末装置10は、開始基準画像データと一致しないフレームが存在する場合、ステップS1002の処理に進む一方、一致しないフレームが存在しない場合、処理を終了させる。
【0101】
ステップS1003において、端末装置10の応答時間算出部106は、上記のステップS1002において開始基準画像データと一致しないと判定された1以上のフレームデータのうち、最も古い時刻(最初の時刻)に取得されたフレームデータの時刻情報を動画データから取得する。ここで、開始基準画像データと一致しないと判定されたフレームデータのうち最も古い時刻に取得されたフレームデータは、端末装置10の表示部107が入力操作を受け付けたことを表す画面(すなわち、「画面A’」)の画像データである。したがって、開始基準画像データと一致しないと判定された1以上のフレームデータのうち、最も古い時刻に取得されたフレームデータの時刻情報が「開始時刻」である。
【0102】
ステップS1004において、端末装置10の画像解析部105は、データ記憶部110に記憶されている動画データの各フレーム毎に、基準画像データ記憶部112に記憶されている終了基準画像データと一致するか否かを判定する。なお、ここでの判定方法は、第1の実施例で説明したものと同様の方法を用いればよい。
【0103】
ステップS1005において、端末装置10は、終了基準画像データと一致するフレームが存在する場合、ステップS1006の処理に進む一方、一致するフレームが存在しない場合、処理を終了させる。
【0104】
ステップS1006において、端末装置10の応答時間算出部106は、上記のステップS1004において終了基準画像データと一致すると判定されたフレームデータが取得された時刻情報を動画データから取得する。終了基準画像データと一致すると判定されたフレームデータが取得された時刻情報が「終了時刻」である。
【0105】
ステップS1007において、端末装置10の応答時間算出部106は、開始時刻と終了時刻から応答時間を算出する。これにより、ユーザがサーバ装置20に対して処理要求を行うための入力操作を行って、入力操作を受け付けたことを表す画面が表示された後、この処理要求に対す処理結果を表す画面が表示されるまでの時間(応答時間)が測定される。このように測定された応答時間は、ユーザが実際に入力操作を行ってから、処理結果を表す画面が表示されるまでの応答時間であるため、ユーザが体感する待ち時間をより適切に表したものであるということができる。
【0106】
なお、本実施例において、基準画像データは、開始基準画像データと終了基準画像データの2つの画像データを用いたが、これに限られず、任意の個数の画像データを基準画像データとすることもできる。例えば、3つの基準画像データを用いる場合、基準画像データAと基準画像データBとに基づき画面Aから画面Bに画面遷移するまでの応答時間を測定するとともに、基準画像データBと基準画像データCとに基づき画面Bから画面Cに画面遷移するまでの応答時間を、上記で説明した処理により測定することができる。このように、開始時刻を所定の基準画像データと一致しないと判定された最初の時刻とする一方で、終了時刻を所定の基準画像データと一致した時刻とすることで、任意の画面構成を有するプログラムの応答時間を算出することができる。
【0107】
(応用例)
以上で説明した応答時間測定システム1は、基準画像データが音声データ等である場合についても応用することができる。この応用例について、第1の実施例を以下の条件の下で、端末装置10において、サーバ装置20に保存されている動画データを例えばストリーミング再生する場合について簡単に説明する。
・基準画像データを「基準音声データ」と読み替える
・動画データには、画像データと、音声データと、画像データ毎に音声データを対応付けるための時間情報とが含まれる
このとき、端末装置10において、基準音声データと、サーバ装置20から取得した動画データに含まれる音声データとが一致するか否かを判定する。そして、一致すると判定された音声データの時刻情報(これは時刻取得部103により取得される)と、動画データに含まれる時間情報とに基づいて、音声データの受信が画像データの受信に対して遅れているか否か(又は進んでいるか否か)の情報を得ることができる。ここで、基準音声データと、動画データに含まれる音声データとが一致するか否かは、例えば、特定周波数のスペクトル解析を用いて判定することができる。
【0108】
<まとめ>
以上のように本実施形態に係る応答時間測定システム1では、ユーザが行った入力操作に基づいて開始時刻を特定する一方、入力操作に対応する処理要求の処理結果を表す画面に基づいて終了時刻を特定する。そして、これらの特定された開始時刻と終了時刻とから応答時間を算出する。換言すれば、ユーザからの入力操作及びユーザに対する画面表示を基準として応答時間を算出するものである。したがって、ユーザが入力操作を行った後、処理結果が表示されまでに実際に体感する待ち時間に近い応答時間を測定することができる。
【0109】
さらには、終了時刻を基準画像データと表示画面(表示画面の一部を含む)との一致により判定することで、様々な画面構成を有するアプリケーションの応答時間を測定することができる。
【0110】
なお、データ生成部104は、画像取得手段の一例である。入力情報記録部102は、操作時刻記録手段の一例である。画像解析部105は、判定手段の一例である。応答時間算出部106は、応答時間算出手段の一例である。
【0111】
なお、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。