(57)【要約】【課題】スローダウン前後のログを採取すること。【解決手段】第２コンピュータ１０２は、各時刻において記憶部１１３に所定情報を記憶させる。第１コンピュータ１０１は、操作が行われない第１時刻と、第２コンピュータ１０２から出力情報を受信しない第２時刻とに基づいて、第１コンピュータ１０１と第２コンピュータ１０２との間におけるスローダウンの発生を判断する。第１コンピュータ１０１は、スローダウンが発生したと判断した場合に、スローダウンが発生した時刻を含む該時刻の前後の所定時間に記憶部１１３に記憶させた所定情報を第３コンピュータ１０３に出力させる制御を行う。【選択図】図１
2016167122.tif 000002
【特許請求の範囲】
【請求項１】
第１コンピュータが有する入力装置への操作に関する操作情報を前記第１コンピュータから受信する第２コンピュータであって、前記操作情報について前記第１コンピュータが有する出力装置に出力させる出力情報を前記第１コンピュータに送信する前記第２コンピュータの所定情報を各時刻において記憶部に記憶させる場合において、前記第１コンピュータに、
前記操作が行われない第１時刻と、前記第２コンピュータから前記出力情報を受信しない第２時刻とに基づいて、前記第１コンピュータと前記第２コンピュータとの間におけるスローダウンの発生を判断し、
前記スローダウンが発生したと判断した場合に、前記スローダウンが発生した時刻を含む前記発生した時刻の前後の所定時間に前記記憶部に記憶させた前記所定情報を前記第２コンピュータまたは前記第１コンピュータと異なる第３コンピュータに出力させる制御を行う、
処理を実行させることを特徴とするログ採取プログラム。
【請求項２】
前記判断する処理では、
前記第１時刻と前記第２時刻との間の時間が特定値以上である場合に、前記スローダウンが発生したと判断し、前記第１時刻と前記第２時刻との間の時間が前記特定値以上でない場合に、前記スローダウンが発生していないと判断する、
ことを特徴とする請求項１に記載のログ採取プログラム。
【請求項３】
前記第１時刻とは、前記操作情報を送信した時刻からつぎに前記操作情報を送信する時刻までの時間間隔が第１閾値以内でない場合の前記送信した時刻であり、
前記第２時刻とは、前記出力情報を受信した時刻からつぎに前記出力情報を受信する時刻までの時間間隔が第２閾値以内でない場合の前記受信した時刻である、
ことを特徴とする請求項１または２に記載のログ採取プログラム。
【請求項４】
前記第１時刻は、前記送信した時刻が複数ある場合、前記送信した時刻のうち前記受信した時刻に最も近い時刻であることを特徴とする請求項３に記載のログ採取プログラム。
【請求項５】
前記判断する処理では、
単位時間のうちの前記操作が行われない各第１時刻のうちの前記出力情報を受信する時間と、前記単位時間のうちの前記出力情報を受信しない各第２時刻のうちの前記操作が行われる時間と、の合計値に基づいて、前記スローダウンが発生したか否かを判断する、
ことを特徴とする請求項１に記載のログ採取プログラム。
【請求項６】
操作を受け付ける入力装置と、
前記入力装置が受け付けた前記操作に関する操作情報についての出力情報であって、前記操作情報の送信先の装置から受信する出力情報を出力する出力装置と、
前記操作が行われない第１時刻と、前記送信先の装置から前記出力情報を受信しない第２時刻とに基づいて、自装置と前記送信先の装置との間におけるスローダウンの発生を判断する判断部と、
前記スローダウンが発生したと前記判断部が判断した場合に、前記送信先の装置の所定情報を各時刻において記憶する記憶部から、前記スローダウンが発生した時刻を含む前記発生した時刻の前後の所定時間に記憶させた前記所定情報を前記送信先の装置または自装置と異なる装置に出力させる制御を行う制御部と、
を有することを特徴とする情報処理装置。
【請求項７】
第１コンピュータが有する入力装置への操作に関する操作情報を前記第１コンピュータから受信する第２コンピュータであって、前記操作情報について前記第１コンピュータが有する出力装置に出力させる出力情報を前記第１コンピュータに送信する前記第２コンピュータの所定情報を各時刻において記憶部に記憶させる場合において、前記第１コンピュータが、
前記操作が行われない第１時刻と、前記第２コンピュータから前記出力情報を受信しない第２時刻とに基づいて、前記第１コンピュータと前記第２コンピュータとの間におけるスローダウンの発生を判断し、
前記スローダウンが発生したと判断した場合に、前記スローダウンが発生した時刻を含む前記発生した時刻の前後の所定時間に前記記憶部に記憶させた前記所定情報を前記第２コンピュータまたは前記第１コンピュータと異なる第３コンピュータに出力させる制御を行う、
処理を実行することを特徴とするログ採取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログ採取プログラム、情報処理装置、およびログ採取方法に関する。
【背景技術】
【０００２】
従来、クライアント装置がサーバと通信を行う際に、スローダウンが発生する場合がある。スローダウンは、例えば、クライアント装置におけるマウス操作やキー入力に対するサーバからの応答が遅いという状態である。
【０００３】
例えば、クライアント装置がサーバとＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信を行った場合において、スローダウンを判定する技術が公知である（例えば、以下特許文献１参照。）。
【０００４】
例えば、従来、実行履歴情報を時刻情報と関連付けてリングバッファメモリに連続的に書き込んでおき、実行履歴情報と時刻情報のうち、予め特定された事象が発生したタイミングから所定時間だけ遡及した部分のみをログファイルに書き込む技術が公知である（例えば、以下特許文献２参照。）。
【０００５】
例えば、従来、被擬対象の仮想マシンの仮想ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の使用率と、物理的な計算機資源を共有する他の仮想マシンの仮想ＣＰＵの使用率とを抽出し、各仮想ＣＰＵの使用率が増加したか否かを判定する技術が公知である（例えば、以下特許文献３参照。）。例えば、使用率が増加したかの判定においては、仮想ＣＰＵの使用率を時系列的に比較して使用率の増加を判定したり、仮想ＣＰＵの使用率が所定の閾値を超えているか否かによって使用率の増加を判定する。
【０００６】
また、例えば、従来、Ｗｅｂサーバ、アプリケーションサーバからログの収集を行った際に、エラーが検出された場合には、当該エラーが発生した時刻から例えば１時間遡ってログを読み出し、読み出したログの分析を行う技術が公知である（例えば、以下特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２３１３６８号公報
【特許文献２】特開２０１２−１８６１７号公報
【特許文献３】特開２０１１−２５８０９８号公報
【特許文献４】特開２００９−９８７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、クライアント端末装置とサーバとの間においてスローダウンが発生した場合に、サーバの監視者がスローダウンの発生前後のサーバの情報を収集することが困難である。例えば、クライアント端末装置の利用者からスローダウンが発生したとサーバの監視者が連絡を受けてからサーバの調査のための状況を把握するまでにタイムラグがあると、サーバの稼働状況などの詳細なログが存在しない場合などがある。
【０００９】
１つの側面では、本発明は、スローダウン前後のログを採取できるログ採取プログラム、情報処理装置、およびログ採取方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一側面によれば、第１コンピュータが有する入力装置への操作に関する操作情報を前記第１コンピュータから受信する第２コンピュータであって、前記操作情報について前記第１コンピュータが有する出力装置に出力させる出力情報を前記第１コンピュータに送信する前記第２コンピュータの所定情報を各時刻において記憶部に記憶させる場合において、前記第１コンピュータに、前記操作が行われない第１時刻と、前記第２コンピュータから前記出力情報を受信しない第２時刻とに基づいて、前記第１コンピュータと前記第２コンピュータとの間におけるスローダウンの発生を判断し、前記スローダウンが発生したと判断した場合に、前記スローダウンが発生した時刻を含む前記発生した時刻の前後の所定時間に前記記憶部に記憶させた前記所定情報を前記第２コンピュータまたは前記第１コンピュータと異なる第３コンピュータに出力させる制御を行うログ採取プログラム、情報処理装置、およびログ採取方法が提案される。
【発明の効果】
【００１１】
本発明の一態様によれば、スローダウン前後のログを採取できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、システムの一動作例を示す説明図である。
【図２】図２は、監視システム例を示す説明図である。
【図３】図３は、クライアント端末装置のハードウェア構成例を示す説明図である。
【図４】図４は、サーバ等のハードウェア構成例を示す説明図である。
【図５】図５は、監視システムに含まれる各装置の機能的構成例を示すブロック図である。
【図６】図６は、サーバからの応答に要する時間を示す説明図である。
【図７】図７は、各パケットのデータ量と時間変化例を示す説明図である。
【図８】図８は、パケット量の詳細例を示す説明図である。
【図９】図９は、判断例１の応用例を示す説明図である。
【図１０】図１０は、判断例１に係るクライアント端末装置が行う処理手順例を示すフローチャートである。
【図１１】図１１は、判断例２を示す説明図である。
【図１２】図１２は、パケット量記憶テーブル例を示す説明図である。
【図１３】図１３は、判断例２に係るクライアント端末装置が行う処理手順例を示すフローチャートである。
【図１４】図１４は、ログ情報の出力例を示す説明図である。
【図１５】図１５は、提示例を示す説明図である。
【図１６】図１６は、監視サーバが行うログ出力処理手順例を示すフローチャートである。
【図１７】図１７は、監視サーバが行う提示処理手順例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、本発明に係るログ採取プログラム、情報処理装置、およびログ採取方法の実施の形態を詳細に説明する。
【００１４】
図１は、システムの一動作例を示す説明図である。システム１００は、第１コンピュータ１０１と、第２コンピュータ１０２と、第３コンピュータ１０３と、を有する。システム１００では、第１コンピュータ１０１と第２コンピュータ１０２との間におけるスローダウンの発生を検出してスローダウン前後のログを採取する。スローダウンとは、マウス操作やキー入力に対するサーバからの応答が遅いという状態である。システム１００は、例えば、後述する図２に示すようなＤａａＳ（Ｄｅｓｋ  ｔｏｐ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）センターを監視する監視システムである。
【００１５】
第１コンピュータ１０１は、例えば、スローダウンの発生を検出してスローダウン前後のログを出力させる情報処理装置である。また、第１コンピュータ１０１は、例えば、クライアント端末装置である。第２コンピュータ１０２は、例えば、サーバであり、第１コンピュータ１０１からの操作情報に対する応答を行う。第３コンピュータ１０３は、例えば、第１コンピュータ１０１と異なるサーバであり、第２コンピュータ１０２を監視するためのサーバである。
【００１６】
従来、クライアント端末装置がサーバと通信を行う際に、スローダウンが発生する場合がある。クライアント端末装置がサーバと通信を行う例としては、上述したＤａａＳなどが挙げられる。スローダウンは、例えば、クライアント装置におけるマウス操作やキー入力に対するサーバからの応答が遅いという状態である。
【００１７】
例えば、スローダウンなどの不具合が発生した場合の調査のために、サーバは、サーバの実行の詳細なログを常時保存してもよい。しかし、詳細なログを記憶するための記憶装置は有限であるため、監視者が実際にスローダウンの原因を調査する際には、スローダウン時の詳細なログは記憶装置から消去されている場合がある。また、クライアント端末装置の利用者が監視サーバを利用する監視者にスローダウンが発生したことを連絡した際に、スローダウンの発生時と監視者が調査する時との間にタイムラグがある場合がある。このような場合、すでにスローダウンの状況が解消されており、原因が特定できない場合がある。
【００１８】
そこで、本実施の形態では、クライアント端末装置が、入力装置１１１への操作が途切れた時刻と出力装置１１２へのデータがサーバから途切れた時刻に基づくスローダウンの発生時刻の前後にサーバが記憶したログを監視サーバに出力させる。これにより、スローダウン前後のログを採取することができる。したがって、スローダウンの原因の特定の容易化を図ることができる。
【００１９】
第１コンピュータ１０１は、入力装置１１１と、出力装置１１２と、を有する。入力装置１１１は、例えばマウスである。出力装置１１２は、例えばディスプレイである。第２コンピュータ１０２は、入力装置１１１への操作に関する操作情報を第１コンピュータ１０１から受信して操作情報についての出力装置１１２に出力させる出力情報を第１コンピュータ１０１に送信する。図１の例では、操作はマウス操作である。出力情報は、例えば、ディスプレイに表示させる画像データである。
【００２０】
第２コンピュータ１０２は、記憶部１１３を有する。第２コンピュータ１０２は、各時刻において記憶部１１３に所定情報を記憶させる。記憶部１１３は、例えば、記憶領域が足りない場合、最も古い情報から順に上書きされることとする。所定情報は、例えば、ディスクＩ／Ｏ、メモリの不足状態、ＣＰＵの利用状態、ネットワーク１０４の利用状態、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）の書き込みや読み出し速度などを示す情報である。
【００２１】
第１コンピュータ１０１は、操作が行われない第１時刻と、第２コンピュータ１０２から出力情報を受信しない第２時刻とに基づいて、第１コンピュータ１０１と第２コンピュータ１０２との間におけるスローダウンの発生を判断する。
【００２２】
操作が行われない第１時刻とは、例えば、操作が途切れた時刻である。図１下側に示すように、操作が途切れたか否かは、第１コンピュータ１０１が第２コンピュータ１０２に送信する操作情報についてのパケットによって判定することが可能である。第１時刻は、例えば、ｔ１である。また、受信しない第２時刻とは、例えば、出力情報の受信が途切れた時刻である。図１下側に示すように、出力情報の受信が途切れたか否かは、第１コンピュータ１０１が第２コンピュータ１０２から受信する出力情報についてのパケットによって判定することが可能である。第２時刻は、例えば、ｔ２である。例えば、第１コンピュータは、各時刻においてパケットの各々についてパケット量を記憶装置に記憶させておく。
【００２３】
第１コンピュータ１０１は、例えば、第１時刻ｔ１と第２時刻ｔ２との間の時間が特定値以上であるか否かによってスローダウンの発生を判断する。第１コンピュータ１０１は、例えば、特定値以上である場合、スローダウンが発生したと判断する。一方、第１コンピュータ１０１は、例えば、特定値以上でない場合、スローダウンが発生していないと判断する。この判断の具体例については、判断例１として後述する。
【００２４】
また、操作が行われない時刻とは、操作が行われない複数の時刻であり、操作が行われない時間である。また、受信しない時刻とは、受信しない複数の時刻であり、受信しない時間である。具体的に、第１コンピュータ１０１が、例えば、単位時間のうち操作が行われない時間と受信しない時間とが重ならない時間が所定の割合以上であれば、スローダウンが発生していると判断する。
【００２５】
第１コンピュータ１０１は、例えば、操作が行われない時間と、受信しない時間と、に基づいてスローダウンの発生を判断する。第１コンピュータ１０１は、例えば、単位時間の中で操作が行われない時間のうちの受信する時間と、単位時間の中で受信しない時間のうちの操作が行われる時間と、の合計値に基づいて、スローダウンの発生を判断する。
【００２６】
より具体的に、第１コンピュータ１０１は、例えば、合計値が単位時間のうちの特定割合以上であれば、スローダウンが発生したと判断する。一方、第１コンピュータ１０１は、例えば、合計値が単位時間のうちの特定割合以上でなければ、スローダウンが発生していないと判断する。単位時間や特定割合は、例えば、第１コンピュータ１０１が利用するアプリケーションの種類などに応じて定まる。この判断の具体例については、判断例２として後述する。
【００２７】
つぎに、第１コンピュータ１０１は、スローダウンが発生したと判断した場合に、スローダウンが発生した時刻を含む該時刻の前後の所定時間に記憶部１１３に記憶させた所定情報を第２コンピュータ１０２または第３コンピュータ１０３に出力させる制御を行う。第１コンピュータ１０１は、例えば、スローダウンが発生したことと、スローダウンが発生した時刻と、を含むパケットを送信することによって第２コンピュータ１０２または第３コンピュータ１０３を制御する。本実施の形態では、記憶部１１３から所定情報を第３コンピュータ１０３が出力する例を挙げて説明するが、第２コンピュータ１０２であってもよい。
【００２８】
また、スローダウンが発生した時刻は、例えば、上述した第１時刻ｔ１であってもよいし、第２時刻ｔ２であってもよい。または、スローダウンが発生した時刻は、スローダウンが発生した時間であってもよい。例えば、第１時刻ｔ１から第２時刻ｔ２の間の時間であってもよい。例えば、スローダウンが発生した時間を含む前後の所定時間であってもよい。所定時間は、例えば、監視サーバを利用する監視者によって定められてもよい。
【００２９】
前後の所定時間は、例えば、発生した時刻の前の時間が長くてもよいし、発生した時刻の後ろの時間が長くてもよい。または、前の時間と後ろの時間とが両方同じ長さであってもよい。
【００３０】
第３コンピュータ１０３は、例えば、第１コンピュータ１０１から、スローダウンが発生したことと、スローダウンが発生した時刻と、を含むパケットを受け付ける。そして、第３コンピュータ１０３は、記憶部１１３から、スローダウンが発生した時刻を含む発生した時刻の前後の所定時間に記憶された情報を出力する。ここでは、ログ情報１２１が出力される。
【００３１】
これにより、スローダウン前後のログを採取することができる。したがって、スローダウンの原因の特定の容易化を図ることができる。
【００３２】
図２は、監視システム例を示す説明図である。本実施の形態では、システム１００の一例として、ＤａａＳセンター２０１を利用する際の監視システム２００を挙げる。監視システム２００は、クライアント端末装置２０３と、ＤａａＳセンター２０１と、監視サーバ２０４と、を有する。図２において図示省略するが、ＤａａＳセンター２０１と、クライアント端末装置２０３と、監視サーバ２０４とは、例えば、ネットワーク１０４を介して接続される。
【００３３】
クライアント端末装置２０３は、第１コンピュータ１０１であり、ＤａａＳセンター２０１を利用する利用者が有する装置である。クライアント端末装置２０３は、例えば、ノート型のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）であってもよいし、デスクトップ型のＰＣであってもよいし、携帯端末装置であってもよい。
【００３４】
ＤａａＳセンター２０１には、複数のサーバ２０２が設けられてある。複数のサーバ２０２の各々は第２コンピュータ１０２である。複数のサーバ２０２の各々は、例えば、複数のＶＭ２１１を動作させる。ここで、ＶＭ２１１とは、ＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）が動作する実際のコンピュータをソフトウェアによって仮想的に構築したものである。例えば、ＤａａＳセンター２０１は、例えば、サーバ２０２−１とサーバ２０２−２などを有する。サーバ２０２−１は、例えば、ＶＭ２１１−１、ＶＭ２１１−２などを動作させる。
【００３５】
クライアント端末装置２０３は、ＶＭ２１１によって所望のソフトウェアやＯＳを利用することができる。例えば、ＶＭ２１１が３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）を実行することによって、クライアント端末装置２０３は、３次元ＣＡＤを自装置にインストールせずにＶＭ２１１によって利用することができる。
【００３６】
監視サーバ２０４は、第３コンピュータ１０３である。監視サーバ２０４は、例えば、ＤａａＳセンター２０１を監視するためのサーバである。監視サーバ２０４は、監視ＤＢ（ＤａｔａＢａｓｅ）２２０を有する。監視ＤＢ２２０には、ＶＭ２１１などのログ情報１２１が登録される。監視ＤＢ２２０は、ログ情報１２１をスローダウンが発生した時刻や時間帯などと関連付けて記憶する。
【００３７】
図３は、クライアント端末装置のハードウェア構成例を示す説明図である。クライアント端末装置２０３は、ＣＰＵ３０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。
【００３８】
クライアント端末装置２０３は、Ｉ／Ｆ（Ｉｎｔｅｒ／Ｆａｃｅ）３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９と、を有する。また、ＣＰＵ３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、ディスクドライブ３０４と、Ｉ／Ｆ３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９とは、バス３００によってそれぞれ接続される。
【００３９】
ここで、ＣＰＵ３０１は、クライアント端末装置２０３の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶する。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００４０】
Ｉ／Ｆ３０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク１０４に接続され、このネットワーク１０４を介して他の装置に接続される。そして、Ｉ／Ｆ３０６は、ネットワーク１０４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００４１】
キーボード３０７やマウス３０８は、例えば、入力装置１１１である。利用者の操作により、各種データの入力を行うインターフェースである。ディスプレイ３０９は、例えば、出力装置１１２である。ＣＰＵ３０１の指示により、データを出力するインターフェースである。
【００４２】
また、図示を省略するが、クライアント端末装置２０３には、カメラから画像や動画を取り込む入力装置１１１やマイクから音声を取り込む入力装置１１１が設けられていてもよい。また、図示を省略するが、クライアント端末装置２０３には、プリンタなどの出力装置１１２が設けられていてもよい。また、図示を省略するが、クライアント端末装置２０３には、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やフラッシュＲＯＭなどが設けられていてもよい。
【００４３】
また、クライアント端末装置２０３は、上述した構成部のうち、例えば、ディスクドライブ３０４、ディスク３０５などを有さないことにしてもよい。
【００４４】
（サーバ２０２のハードウェア構成例）
つぎに、サーバ２０２、監視サーバ２０４のハードウェア構成例について説明する。ここでは、サーバ２０２、監視サーバ２０４を「サーバ２０２等」と表記する。
【００４５】
図４は、サーバ等のハードウェア構成例を示す説明図である。サーバ２０２等は、ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、ディスクドライブ４０４と、ディスク４０５と、Ｉ／Ｆ４０６と、を有する。
【００４６】
ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、ディスクドライブ４０４と、Ｉ／Ｆ４０６とは、バス４００によってそれぞれ接続される。
【００４７】
ここで、ＣＰＵ４０１は、サーバ２０２等の全体の制御を司る。ＲＯＭ４０２は、各種プログラムを記憶する。ＲＯＭ４０２に記憶されるプログラムは、ＣＰＵ４０１にロードされることで、コーディングされている処理をＣＰＵ４０１に実行させる。ＲＡＭ４０３はＣＰＵ４０１のワークエリアとして使用される。
【００４８】
Ｉ／Ｆ４０６は、通信回線を通じてネットワーク１０４に接続され、ネットワーク１０４を介して他の装置に接続される。そして、Ｉ／Ｆ４０６は、ネットワーク１０４と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ４０６には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４９】
ディスクドライブ４０４は、ＣＰＵ４０１の制御に従ってディスク４０５に対するデータのリード／ライトを制御する。ディスク４０５は、ディスクドライブ４０４の制御で書き込まれたデータを記憶する。ディスク４０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００５０】
また、サーバ２０２等は、上述した構成部のほか、例えば、ＳＳＤ、キーボード、マウス、ディスプレイなどを有することにしてもよい。
【００５１】
（各装置の機能的構成例）
図５は、監視システムに含まれる各装置の機能的構成例を示すブロック図である。上述したように、監視システム２００には、クライアント端末装置２０３と、ＤａａＳセンター２０１のサーバ２０２群と、監視サーバ２０４と、を含む。サーバ２０２の各々は、複数のＶＭ２１１を実行する。
【００５２】
クライアント端末装置２０３は、判断部５０１と、制御部５０２と、を有する。判断部５０１から制御部５０２の各処理は、例えば、図３に示すＣＰＵ３０１がアクセス可能なＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ３０１が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、各部の処理が実現される。また、各部の処理結果は、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶される。
【００５３】
本実施の形態では、第２コンピュータ１０２は、ＶＭ２１１としているが、これに限らず、サーバ２０２そのものであってもよい。ＶＭ２１１は、記憶部１１３を有する。ＶＭ２１１は、ＶＭ２１１の所定情報を各時刻において記憶部１１３に記憶させる。所定情報は、上述したように、例えば、ディスクＩ／Ｏの状態、メモリの使用率、ＣＰＵの利用状況、ネットワーク１０４の利用状態、ＮＦＳの書き込み、読み出し速度などを示す情報である。また、記憶部１１３は、ＲＯＭ４０２、ＲＡＭ４０３、ディスク４０５などによって実現される。
【００５４】
監視サーバ２０４は、受け付け部５１１と、出力部５１２と、提示部５１３と、を有する。受け付け部５１１から提示部５１３までの各処理は、例えば、図３に示すＣＰＵ３０１がアクセス可能なＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ３０１が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、各部の処理が実現される。また、各部の処理結果は、例えば、ＲＯＭ４０２、ＲＡＭ４０３、ディスク４０５などの記憶装置に記憶される。
【００５５】
判断部５０１は、例えば、入力装置１１１への操作が行われない第１時刻と、ＶＭ２１１から出力情報を受信しない第２時刻とに基づいて、クライアント端末装置２０３とＶＭ２１１との間におけるスローダウンの発生を判断する。スローダウンは、入力装置１１１への操作に対するＶＭ２１１からの応答が遅くなった状態である。
【００５６】
（スローダウンの判断例１）
判断例１では、判断部５０１は、操作が行われない時刻と、出力情報を受信しない時刻と、の間の時間が特定値以上であるか否かによってスローダウンの発生を判断する。
【００５７】
図６は、サーバからの応答に要する時間を示す説明図である。クライアント端末装置２０３がマウス操作に関する操作情報を送信してサーバ２０２からディスプレイ３０９に出力する出力データを受信するのに要する時間Ｔｘは「Ｐ２＋Ｐ３＋Ｐ４」である。
【００５８】
時間Ｐ２は、クライアント端末装置２０３がマウス操作に関する操作情報を送信してＶＭ２１１が受信するまでの時間である。時間Ｐ３は、ＶＭ２１１が受信した操作情報についてクライアント端末装置２０３のディスプレイ３０９に出力する出力情報の生成に要する時間である。時間Ｐ４は、ＶＭ２１１が生成した出力情報をクライアント端末装置２０３に送信してクライアント端末装置２０３が出力情報を受信するまでに要する時間である。
【００５９】
判断例１では、時間Ｔｘが特定値以上となった場合に、スローダウンが発生したと判断する。特定値については、例えば、クライアント端末装置２０３で利用されるアプリケーションの種類に応じて設定されてもよいし、利用者によって設定されてもよい。
【００６０】
また、例えば、ＨＴＴＰ通信であれば、セッションごとの送信時刻や受信時刻を特定することが可能であるが、ＨＴＴＰ通信でない場合には、単に時間Ｔｘを「Ｐ２＋Ｐ３＋Ｐ４」によって算出することができない。そこで、本実施の形態では、判断部５０１は、時間Ｔｘを操作の途切れた時刻と出力情報の途切れた時刻との間の時間によって推定する。
【００６１】
図７は、各パケットのデータ量と時間変化例を示す説明図である。図７の上側には、マウス操作に関する操作情報についてのパケットのデータ量についての時間的変化を示す。図７の下側には、ディスプレイに出力させる出力情報についてのパケット量についての時間的変化を示す。
【００６２】
判断部５０１は、例えば、操作情報についてのパケットが途切れた第１時刻ｍと、出力情報についてのパケットが途切れた第２時刻ｖと、の間の時間Ｔ１が特定値以上であるか否かによってスローダウンの発生を判断する。ここで、パケットが途切れた時刻を判定する説明のために、丸印の箇所の詳細例を図８に示す。特定値は、例えば、クライアント端末装置２０３の利用者が決定してもよいし、ＶＭ２１１によって実行されるアプリケーションの種類に応じて定められてもよい。
【００６３】
図８は、パケット量の詳細例を示す説明図である。クライアント端末装置２０３は、実際には、パケットを離散的に受信したり送信したりする。
【００６４】
そこで、判断部５０１は、操作情報についてのパケットの時間間隔が第１閾値以内である場合に、操作情報についてのパケットが連続したと判断する。一方、判断部５０１は、操作情報についてのパケットの時間間隔が一定の第１閾値以内でない場合に、操作情報についてのパケットが途切れたと判断する。途切れたと判断された場合に操作情報についてのパケットの時間間隔の早いほうの時刻を第１時刻とする。第１閾値については、例えば、クライアント端末装置２０３ごとに、パケットを送信するまでの過去の時間間隔の平均値などに基づいて決定してもよい。
【００６５】
また、判断部５０１は、出力情報についてのパケットの時間間隔が第２閾値以内である場合に、出力情報についてのパケットが連続したと判断する。一方、判断部５０１は、出力情報についてのパケットの時間間隔が一定の第２閾値以内でない場合に、出力情報についてのパケットが途切れたと判断する。第２閾値については、例えば、クライアント端末装置２０３ごとに、パケットを受信するまでの過去の時間間隔の平均値などに基づいて決定してもよい。途切れたと判断された場合に出力情報についてのパケットの時間間隔の早いほうの時刻を第２時刻とする。
【００６６】
判断部５０１は、例えば、時間Ｇ１は第１閾値以内であるため、パケットが連続していると判断する。一方、判断部５０１は、例えば、時間Ｇ２は第２閾値以内でないため、パケットが途切れたと判断する。そして、判断部５０１は、操作情報についてのパケットが途切れたと判断した第１時刻と、出力情報についてのパケットが途切れたと判断した第２時刻と、の間の時間Ｔｘが特定値以上であるか否かによってスローダウンが発生したか否かを判断する。
【００６７】
また、判断部５０１は、時間Ｔｘが特定値以上である場合に、スローダウンが発生したと判断する。一方、判断部５０１は、時間Ｔｘが特定値以上でない場合に、スローダウンが発生していないと判断する。
【００６８】
制御部５０２は、スローダウンが発生したと判断部５０１によって判断された場合に、スローダウンが発生した時刻を含む発生した時刻の前後の所定時間に記憶部１１３に記憶させた所定情報を監視サーバ２０４に出力させる制御を行う。スローダウンが発生した時刻は、例えば、第１時刻であってもよい。また、スローダウンが発生した時刻は、例えば、複数の時刻であり、第１時刻から第２時刻までの時間であってもよい。
【００６９】
スローダウンが発生した時間の場合、制御部５０２は、例えば、当該時間を含む時間の前後の所定時間に記憶部１１３に記憶させてもよい。ここで、所定時間については、監視サーバ２０４を利用する監視者が決定してもよい。具体的には、制御部５０２は、例えば、スローダウンが発生したことを、ネットワーク１０４を介して監視サーバ２０４に通知することによって監視サーバ２０４に出力させる制御を行う。
【００７０】
また、マウス操作やディスプレイへの出力についてのパケットの連続が図９に示すように単純に対応しない場合がある。
【００７１】
図９は、判断例１の応用例を示す説明図である。マウス操作について途切れた時刻の後に、ディスプレイについて途切れた時刻よりも前につぎのマウス操作について途切れた時刻となる場合がある。このような場合、判断部５０１は、操作情報についてのパケットの途切れた時刻のうち、出力情報についてのパケットの途切れた第２時刻に最も近い時刻を第１時刻として時間Ｔｘを導出する。図９の例では、第１時刻を時刻ｍ３とし、出力情報についてのパケットの途切れた時刻との間の時間をＴ１とする。
【００７２】
つぎに、判断部５０１は、上述したように、時間Ｔ１が特定値以上であるか否かを判断することによってスローダウンの発生を判断する。そして、上述したように、制御部５０２は、スローダウンが発生したと判断部５０１によって判断された場合に、スローダウンが発生した時刻から所定時間前後に記憶部１１３に記憶させた所定情報を監視サーバ２０４に出力させる制御を行う。所定時間については、予め定められた時刻であってよく、例えばＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶されてある。
【００７３】
（判断例１に係るクライアント端末装置２０３が行う処理手順例）
図１０は、判断例１に係るクライアント端末装置が行う処理手順例を示すフローチャートである。クライアント端末装置２０３は、時刻の各々について以下の処理を行う。まず、クライアント端末装置２０３は、出力情報が連続しているか否かを判断する（ステップＳ１００１）。ここで、出力情報が連続しているとは、ディスプレイに出力される出力情報についてのパケットが途切れていないことである。
【００７４】
出力情報が連続していると判断された場合（ステップＳ１００１：Ｙｅｓ）、クライアント端末装置２０３は、マウス操作が連続しているか否かを判断する（ステップＳ１００２）。マウス操作が連続しているとは、マウス操作に関する操作情報についてのパケットが途切れていないことである。マウス操作が連続していると判断された場合（ステップＳ１００２：Ｙｅｓ）、クライアント端末装置２０３は、ステップＳ１００１へ戻る。
【００７５】
一方、マウス操作が連続していないと判断された場合（ステップＳ１００２：Ｎｏ）、クライアント端末装置２０３は、ｍｘ＝ｃｔとし（ステップＳ１００３）、ステップＳ１００１へ戻る。
【００７６】
ステップＳ１００１において、出力情報が連続していないと判断された場合（ステップＳ１００１：Ｎｏ）、クライアント端末装置２０３は、Ｔｘ＝ｃｔ−ｍｘとする（ステップＳ１００４）。そして、クライアント端末装置２０３は、Ｔｘ＞特定値であるか否かを判断する（ステップＳ１００５）。Ｔｘ＞特定値でないと判断された場合（ステップＳ１００５：Ｎｏ）、クライアント端末装置２０３は、ステップＳ１００１へ戻る。Ｔｘ＞特定値であると判断された場合（ステップＳ１００５：Ｙｅｓ）、クライアント端末装置２０３は、スローダウン通知処理を行い（ステップＳ１００６）、ステップＳ１００１へ戻る。
【００７７】
（判断例２）
例えば、３ＤＣＡＤの画面操作では、マウス操作についてのパケットの連続領域と画面描画についてのパケットの連続領域とが重なると、良好な応答状態と言える。そこで、判断例２では、単位時間のうちの、（ａ）操作ありであるが、描画無しである期間、および（ｂ）操作無しであるが、描画ありの期間の比率に基づいて、スローダウンの発生を判断する。操作ありと操作無しとは、マウス操作についてのパケットの有無である。描画ありと描画無しとは、画面描画用のパケットの有無である。
【００７８】
図１１は、判断例２を示す説明図である。判断部５０１は、単位時間ＴＢのうちの、（ａ）操作ありの領域と描画無しとの時間および（ｂ）操作無し領域と描画ありとの時間の比率に基づいて、スローダウンの発生を判断する。
【００７９】
時間Ｔ１および時間Ｔ４は、マウス操作についてのパケットがあり、ディスプレイ３０９への出力情報についてのパケットがない期間である。また、時間Ｔ２および時間Ｔ３は、マウス操作についてのパケットがなく、ディスプレイ３０９への出力情報についてのパケットがある期間である。
【００８０】
図１２は、パケット量記憶テーブル例を示す説明図である。具体的に、判断部５０１は、例えば、単位時間ＴＢにおける時刻の各々について、マウス操作の操作情報についてのパケット量Ｐｍと、ディスプレイへ出力する出力情報についてのパケット量Ｐｎと、をパケット量記憶テーブル１２００に記憶させる。
【００８１】
パケット量記憶テーブル１２００は、時刻、マウス操作パケット量、出力情報パケット量のフィールドを有する。各フィールドに情報が設定されることによってレコード（例えば、１２０１−１〜１２０１−ｎ）として記憶される。パケット量記憶テーブル１２００は、例えば、ＲＡＭ３０３、ＲＯＭ３０２、ディスク３０５などの記憶装置によって実現される。ここでは、パケット量記憶テーブル１２００のレコード数をＴｎとする。
【００８２】
そして、判断部５０１は、例えば、単位時間ＴＢごとに、パケット量記憶テーブル１２００に記憶されたレコード１２０１の各々について、パケット量Ｐｍとパケット量Ｐｎとのうち、いずれか一方だけが０であるか否かを判断する。そして、判断部５０１は、例えば、いずれか一方だけが０である場合に、Ｔｄに特定の時間を加算する。パケット量記憶テーブル１２００に示すように時刻が１刻みである場合には特定の時間を１として、判断部５０１は、Ｔｄに１を加算する。
【００８３】
そして、判断部５０１は、以下判定式（１）を満たす場合にスローダウンが発生したと判断する。一方、判断部５０１は、以下判定式（１）を満たさない場合に、スローダウンが発生していないと判断する。
【００８４】
Ｔｄ／ＴＢ＞特定割合・・・（１）
【００８５】
図１１の例では、時間Ｔ１〜Ｔ４の合計値がＴｄとなる。ここでの単位時間ＴＢや特定値については、アプリケーションなどの種類や特性に応じて決定される。例えば、ＴＢを３秒として、特定割合を５０［％］（１／２）とする。そのため、Ｔｄが１．５秒より大きい場合には、スローダウンが発生したと判断される。
【００８６】
このように、判断部５０１は、マウス操作についてのパケット量と、ディスプレイ３０９への出力情報についてのパケット量と、が一致していない状態が長い場合には、スローダウンが発生していると判断する。
【００８７】
制御部５０２は、スローダウンが発生したと判断部５０１によって判断された場合に、スローダウンが発生した時刻を含む該時刻の前後の所定時間に記憶部１１３に記憶させた所定情報を監視サーバ２０４に出力させる制御を行う。具体的には、制御部５０２は、例えば、スローダウンが発生したことを、ネットワーク１０４を介して監視サーバ２０４に通知することによって監視サーバ２０４に出力させる制御を行う。また、スローダウンが発生した時刻とは、スローダウンが発生したと判定された時間帯に含まれるいずれかの時刻であってもよい。具体的に、スローダウンが発生した時刻とは、例えば、パケット量Ｐｍとパケット量Ｐｎとの少なくとも一方だけが０であると最初に判断した時刻であってもよい。または、スローダウンが発生した時刻とは、スローダウンが発生したと判定された時間帯のうちの中央の時刻であってもよい。また、スローダウンが発生した時刻は、例えば、スローダウンが発生した時間であってもよい。例えば、スローダウンが発生したと判定された時間帯をスローダウンが発生した時間としてもよい。
【００８８】
（判断例２に係るクライアント端末装置２０３が行う処理手順例）
図１３は、判断例２に係るクライアント端末装置が行う処理手順例を示すフローチャートである。まず、クライアント端末装置２０３は、例えば、単位時間ＴＢが経過したか否かを判断する（ステップＳ１３０１）。
【００８９】
単位時間ＴＢが経過していないと判断された場合（ステップＳ１３０１：Ｎｏ）、クライアント端末装置２０３は、時刻ごとにパケット量Ｐｍとパケット量Ｐｎとを上述したパケット量記憶テーブル１２００に記録し（ステップＳ１３０２）、ステップＳ１３０１へ戻る。
【００９０】
単位時間ＴＢが経過したと判断された場合（ステップＳ１３０１：Ｙｅｓ）、クライアント端末装置２０３は、ｉ＝１とする（ステップＳ１３０３）。クライアント端末装置２０３は、ｉ＞Ｔｎであるか否かを判断する（ステップＳ１３０４）。Ｔｎは、上述したように前回の処理終了から今回単位時間経過するまでの間にパケット量記憶テーブル１２００に記憶されたレコード１２０１の数である。
【００９１】
ｉ＞Ｔｎでないと判断された場合（ステップＳ１３０４：Ｎｏ）、クライアント端末装置２０３は、ｉ番目のレコード１２０１について、パケット量Ｐｍとパケット量Ｐｎとのうち、いずれか一方だけが０であるか否かを判断する（ステップＳ１３０５）。また、ここでは、対象となるレコード１２０１は、前回の処理終了から今回単位時間経過するまでの間にパケット量記憶テーブル１２００に記憶されたレコード１２０１である。
【００９２】
両方０またはいずれも０でないと判断された場合に（ステップＳ１３０５：Ｎｏ）、クライアント端末装置２０３は、ステップＳ１３０７へ移行する。いずれか一方だけが０であると判断された場合（ステップＳ１３０５：Ｙｅｓ）、クライアント端末装置２０３は、Ｔｄ＝Ｔｄ＋１を行う（ステップＳ１３０６）。そしてクライアント端末装置２０３は、ｉ＝ｉ＋１とし（ステップＳ１３０７）、ステップＳ１３０４へ戻る。
【００９３】
ｉ＞Ｔｎであると判断された場合（ステップＳ１３０４：Ｙｅｓ）、クライアント端末装置２０３は、Ｔｄ／ＴＢ＞特定割合であるか否かを判断する（ステップＳ１３０８）。Ｔｄ／ＴＢ＞特定割合であると判断された場合（ステップＳ１３０８：Ｙｅｓ）、クライアント端末装置２０３は、スローダウン通知処理を行い（ステップＳ１３０９）、ステップＳ１３０１へ戻る。Ｔｄ／ＴＢ＞特定割合でないと判断された場合（ステップＳ１３０８：Ｎｏ）、クライアント端末装置２０３は、ステップＳ１３０１へ戻る。
【００９４】
図５の説明に戻って、監視サーバ２０４が有する機能部について説明する。受け付け部５１１は、制御部５０２によってスローダウンの通知を受け付ける。そして、出力部５１２は、受け付け部５１１によってスローダウンの通知を受け付けると、スローダウンが発生した時刻を含む当該時刻の前後の所定時間に記憶部１１３に記憶させた所定情報を出力する。スローダウンが発生した時刻とは、例えば、第１時刻であってもよいし、第２時刻であってもよい。また、スローダウンが発生した時刻は、スローダウンが発生しと判断された時間であってもよい。また、ここでは、スローダウンの通知には、スローダウンが発生した時刻を示す情報が含まれることとする。
【００９５】
図１４は、ログ情報の出力例を示す説明図である。具体的に、出力部５１２は、スローダウンが発生した時刻ＥＴを含む当該時刻の前後の所定時間ＷＴに記憶部１１３に記憶された所定情報をログ情報１２１として出力する。前後の所定時間ＷＴは、例えば、発生した時刻の前の時間が長くてもよいし、発生した時刻の後ろの時間が長くてもよい。または、前の時間と後ろの時間とが両方同じ長さであってもよい。
【００９６】
図１５は、提示例を示す説明図である。提示部５１３は、例えば、時間帯別にＶＭ２１１についてスローダウンの発生の有無を特定する。提示部５１３は、例えば、時間帯を、時刻を数分や数時間などで区切ってもよい。また、提示部５１３は、例えば、時間帯を、監視サーバ２０４を操作可能な監視者によって予め定められたように区切ってもよい。また、提示部５１３は、例えば、時間帯を、平日や休日ごとに時間帯を区切ってもよいし、曜日ごとに時間帯を区切ってもよい。そして、提示部５１３は、例えば、特定結果を提示する。提示部５１３は、例えば、特定結果をＲＯＭ４０２と、ＲＡＭ４０３と、ディスク４０５と、などの記憶装置に記憶してもよい。また、監視サーバ２０４がディスプレイを有する場合には、提示部５１３は、時間帯別にＶＭ２１１についてのスローダウンの発生の有無を表示してもよい。
【００９７】
ＳＴ１〜ＳＴ６は、時系列に並べた時間帯である。×印はスローダウンが発生したことを示す。×印がない箇所はスローダウンが発生していないことを示す。ここでは、ＤａａＳセンター２０１においてサーバ２０２としてサーバＡとサーバＢとがあり、サーバＡはＶＭ２１１としてＶ１〜Ｖ３を処理し、サーバＢはＶＭ２１１としてＶａ〜Ｖｃを処理する例である。Ｖ１〜Ｖ３とＶａとはネットワーク装置ＳＷ１と接続され、ＶｂとＶｃとはネットワーク装置ＳＷ２と接続される。
【００９８】
監視サーバ２０４を操作可能な監視者が、提示された情報に基づいて、不具合が発生していると推定される箇所を特定する。例えば、時間帯ＳＴ３のように、ネットワーク装置ＳＷ１に接続される各ＶＭ２１１においてスローダウンが発生している場合、監視者は、ネットワーク装置ＳＷ１を調査する必要があると判断する。また、例えば、時間帯ＳＴ５のように、サーバＢが処理するＶａ〜Ｖｃにおいてスローダウンが発生している場合、監視者は、サーバＢを調査する必要があると判断する。このように、不具合が発生していると推定される箇所を特定することができる。
【００９９】
上述したように、ログ情報を出力させる各構成部の処理は、監視サーバ２０４でなく、第２コンピュータ１０２であるサーバ２０２やＶＭ２１１が行ってもよい。
【０１００】
（監視サーバ２０４が行う処理手順例）
図１６は、監視サーバが行うログ出力処理手順例を示すフローチャートである。監視サーバ２０４は、スローダウン通知を受け付けたか否かを判断する（ステップＳ１６０１）。スローダウン通知を受け付けていないと判断された場合（ステップＳ１６０１：Ｎｏ）、監視サーバ２０４は、ステップＳ１６０１へ戻る。
【０１０１】
スローダウン通知を受け付けたと判断された場合（ステップＳ１６０１：Ｙｅｓ）、監視サーバ２０４は、記憶部１１３から、スローダウンが発生した時刻を含む該時刻の前後の所定時間のログを出力し（ステップＳ１６０２）、一連の処理を終了する。スローダウンの発生した時刻は、スローダウン通知に含まれる。
【０１０２】
図１７は、監視サーバが行う提示処理手順例を示すフローチャートである。監視サーバ２０４は、監視ＤＢ２２０に基づいて、時間帯別にＶＭ２１１の各々についてスローダウンの発生の有無を特定する（ステップＳ１７０１）。そして、監視サーバ２０４は、特定結果を提示し（ステップＳ１７０２）、一連の処理を終了する。
【０１０３】
以上説明したように、クライアント端末装置２０３は、入力装置への操作が行われない第１時刻と出力装置へのデータをサーバ２０２から受信しない第２時刻に基づくスローダウンの発生時刻の前後にサーバ２０２が記憶したログを監視サーバ２０４に出力させる。これにより、スローダウン前後のログを採取できる。したがって、スローダウンの発生要因の特定の容易化を図ることができる。
【０１０４】
また、クライアント端末装置２０３は、第１時刻と第２時刻との間の時間が特定値以上である場合に、スローダウンが発生したと判断し、第１時刻と第２時刻との間の時間が特定値以上でない場合に、スローダウンが発生していないと判断する。このように、操作が行われていない時刻と、受信が行われていない時間とが離れている場合に、スローダウンが発生したと判断される。これにより、スローダウンの検出精度の向上を図ることができる。
【０１０５】
また、第１時刻は、操作情報を送信した時刻からつぎに操作情報を送信する時刻までの時間間隔が第１閾値以内でない場合の送信した時刻である。また、第２時刻は、出力情報を受信した時刻からつぎに出力情報を受信する時刻までの時間間隔が第２閾値以内でない場合の受信した時刻である。このように、操作が途切れた時刻と、受信が途切れた時刻とによってスローダウンの発生が判断される。
【０１０６】
送信した時刻が複数ある場合、第１時刻は、第２時刻に最も近い時刻である。これにより、操作が不連続に繋がっていてもスローダウンの発生を判定することができる。したがって、スローダウンの検出精度の向上を図ることができる。
【０１０７】
また、クライアント端末装置２０３は、単位時間のうちの各第１時刻のうちの出力情報を受信する時間と、単位時間のうちの出力情報を受信しない各第２時刻のうちの前記操作が行われる時間と、合計値に基づいて、スローダウンが発生したか否かを判断する。操作の状態と、出力情報の受信の状態とが不一致の状態によって、マウス操作に対して出力情報である画像が追随していない、すなわちスローダウンが発生したと判断できる。したがって、スローダウンの検出精度の向上を図ることができる。
【０１０８】
また、クライアント端末装置２０３は、単位時間のうちの合計値の割合が閾値を超える場合には、スローダウンが発生したと判断し、割合が前記閾値を超えない場合には、スローダウンが発生していないと判断する。このように、不一致の状態が長い場合にスローダウンが発生したと判断できる。したがって、スローダウンの検出精度の向上を図ることができる。
【０１０９】
また、監視サーバ２０４は、クライアント端末装置からのスローダウンの通知に基づいて、スローダウンが発生した時刻を含む該時刻の前後の所定時間の情報を出力する。これにより、スローダウン前後のログを収集することができる。したがって、スローダウンの発生要因の特定の容易化を図ることができる。また、ＶＭ環境の監視精度の向上を図ることができる。
【０１１０】
また、監視サーバ２０４は、時間帯別に複数のサーバのうちのスローダウンの発生の有無を特定して提示する。これにより、スローダウンの発生要因の特定の容易化を図ることができる。
【０１１１】
なお、本実施の形態で説明したログ採取方法は、予め用意されたログ採取プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本ログ採取プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、ログ採取プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１１２】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１１３】
（付記１）第１コンピュータが有する入力装置への操作に関する操作情報を前記第１コンピュータから受信する第２コンピュータであって、前記操作情報について前記第１コンピュータが有する出力装置に出力させる出力情報を前記第１コンピュータに送信する前記第２コンピュータの所定情報を各時刻において記憶部に記憶させる場合において、前記第１コンピュータに、
前記操作が行われない第１時刻と、前記第２コンピュータから前記出力情報を受信しない第２時刻とに基づいて、前記第１コンピュータと前記第２コンピュータとの間におけるスローダウンの発生を判断し、
前記スローダウンが発生したと判断した場合に、前記スローダウンが発生した時刻を含む前記発生した時刻の前後の所定時間に前記記憶部に記憶させた前記所定情報を前記第２コンピュータまたは前記第１コンピュータと異なる第３コンピュータに出力させる制御を行う、
処理を実行させることを特徴とするログ採取プログラム。
【０１１４】
（付記２）前記判断する処理では、
前記第１時刻と前記第２時刻との間の時間が特定値以上である場合に、前記スローダウンが発生したと判断し、前記第１時刻と前記第２時刻との間の時間が前記特定値以上でない場合に、前記スローダウンが発生していないと判断する、
ことを特徴とする付記１に記載のログ採取プログラム。
【０１１５】
（付記３）前記第１時刻とは、前記操作情報を送信した時刻からつぎに前記操作情報を送信する時刻までの時間間隔が第１閾値以内でない場合の前記送信した時刻であり、
前記第２時刻とは、前記出力情報を受信した時刻からつぎに前記出力情報を受信する時刻までの時間間隔が第２閾値以内でない場合の前記受信した時刻である、
ことを特徴とする付記１または２に記載のログ採取プログラム。
【０１１６】
（付記４）前記第１時刻は、前記送信した時刻が複数ある場合、前記送信した時刻のうち前記受信した時刻に最も近い時刻であることを特徴とする付記３に記載のログ採取プログラム。
【０１１７】
（付記５）前記判断する処理では、
単位時間のうちの前記操作が行われない各第１時刻のうちの前記出力情報を受信する時間と、前記単位時間のうちの前記出力情報を受信しない各第２時刻のうちの前記操作が行われる時間と、の合計値に基づいて、前記スローダウンが発生したか否かを判断する、
ことを特徴とする付記１に記載のログ採取プログラム。
【０１１８】
（付記６）前記判断する処理では、
前記単位時間のうちの前記合計値の割合が特定値を超える場合には、スローダウンが発生したと判断し、前記割合が前記特定値を超えない場合には、スローダウンが発生していないと判断することを特徴とする付記５に記載のログ採取プログラム。
【０１１９】
（付記７）第１コンピュータが有する入力装置への操作に関する操作情報を前記第１コンピュータから受信する第２コンピュータであって、前記操作情報について前記第１コンピュータが有する出力装置に出力させる出力情報を前記第１コンピュータに送信する前記第２コンピュータの所定情報を各時刻において記憶部に記憶させ、前記第１コンピュータが、前記操作が行われない第１時刻と、前記第２コンピュータから前記出力情報を受信しない第２時刻とに基づいて、前記第１コンピュータと前記第２コンピュータとの間におけるスローダウンの発生を判断した場合に、前記第２コンピュータまたは前記第１コンピュータと異なる第３コンピュータに、
前記スローダウンが発生した時刻を含む前記スローダウンの発生を示す通知情報を前記第１コンピュータから受け付けると、前記通知情報に含まれる前記時刻を含む前記時刻の前後の所定時間に前記記憶部に記憶させた前記所定情報を出力する、
処理を実行させることを特徴とするログ採取プログラム。
【０１２０】
（付記８）前記第２コンピュータが複数ある場合に、
前記第３コンピュータに、
時間帯別に複数の前記第２コンピュータのうちの前記スローダウンの発生の有無を特定し、
前記時間帯別の前記スローダウンの発生の有無の特定結果を提示する、
処理を実行させることを特徴とする付記７に記載のログ採取プログラム。
【０１２１】
（付記９）操作を受け付ける入力装置と、
前記入力装置が受け付けた前記操作に関する操作情報についての出力情報であって、前記操作情報の送信先の装置から受信する出力情報を出力する出力装置と、
前記操作が行われない第１時刻と、前記送信先の装置から前記出力情報を受信しない第２時刻とに基づいて、自装置と前記送信先の装置との間におけるスローダウンの発生を判断する判断部と、
前記スローダウンが発生したと前記判断部が判断した場合に、前記送信先の装置の所定情報を各時刻において記憶する記憶部から、前記スローダウンが発生した時刻を含む前記発生した時刻の前後の所定時間に記憶させた前記所定情報を前記送信先の装置または自装置と異なる装置に出力させる制御を行う制御部と、
を有することを特徴とする情報処理装置。
【０１２２】
（付記１０）第１コンピュータが有する入力装置への操作に関する操作情報を前記第１コンピュータから受信する第２コンピュータであって、前記操作情報について前記第１コンピュータが有する出力装置に出力させる出力情報を前記第１コンピュータに送信する前記第２コンピュータの所定情報を各時刻において記憶部に記憶させる場合において、前記第１コンピュータが、
前記操作が行われない第１時刻と、前記第２コンピュータから前記出力情報を受信しない第２時刻とに基づいて、前記第１コンピュータと前記第２コンピュータとの間におけるスローダウンの発生を判断し、
前記スローダウンが発生したと判断した場合に、前記スローダウンが発生した時刻を含む前記発生した時刻の前後の所定時間に前記記憶部に記憶させた前記所定情報を前記第２コンピュータまたは前記第１コンピュータと異なる第３コンピュータに出力させる制御を行う、
処理を実行することを特徴とするログ採取方法。
【０１２３】
（付記１１）操作を受け付ける入力装置と、前記操作に関する操作情報についての出力情報を出力する出力装置と、を有する第１コンピュータと、
前記操作情報を前記第１コンピュータから受信し、前記出力情報を前記第１コンピュータに送信する第２コンピュータであって、所定情報を各時刻において記憶部に記憶させる第２コンピュータと、
前記第１コンピュータと異なる第３コンピュータと、
を有するシステムであって、
前記第１コンピュータが、
前記操作が行われない第１時刻と、前記第２コンピュータから前記出力情報を受信しない第２時刻とに基づいて、前記第１コンピュータと前記第２コンピュータとの間におけるスローダウンの発生を判断し、前記スローダウンが発生したと判断した場合に、前記スローダウンが発生した時刻を含む前記発生した時刻の前後の所定時間に前記記憶部に記憶させた前記所定情報を前記第３コンピュータに出力させる制御を行い、
前記第３コンピュータが、
前記第１コンピュータによる制御に基づいて前記スローダウンが発生した時刻から所定時間前後に前記記憶部に記憶させた前記所定情報を出力する、
ことを特徴とするシステム。
【０１２４】
（付記１２）前記第２コンピュータが複数ある場合に、
前記第３コンピュータに、
時間帯別に複数の前記第２コンピュータのうちの前記スローダウンの発生の有無を特定し、
前記時間帯別の前記スローダウンの発生の有無の特定結果を提示する、
処理を実行させることを特徴とする付記１１に記載のシステム。
【符号の説明】
【０１２５】
１００  システム
１０１  第１コンピュータ
１０２  第２コンピュータ
１０３  第３コンピュータ
１０４  ネットワーク
１１１  入力装置
１１２  出力装置
１１３  記憶部
１２１  ログ情報
２００  監視システム
２０２  サーバ
２０３  クライアント端末装置
２０４  監視サーバ
２１１  ＶＭ
２２０  監視ＤＢ
５０１  判断部
５０２  制御部
５１１  受け付け部
５１２  出力部
５１３  提示部
ｔ１  第１時刻
ｔ２  第２時刻
【図１】
2016167122.tif 000003
【図２】
2016167122.tif 000004
【図３】
2016167122.tif 000005
【図４】
2016167122.tif 000006
【図５】
2016167122.tif 000007
【図６】
2016167122.tif 000008
【図７】
2016167122.tif 000009
【図８】
2016167122.tif 000010
【図９】
2016167122.tif 000011
【図１０】
2016167122.tif 000012
【図１１】
2016167122.tif 000013
【図１２】
2016167122.tif 000014
【図１３】
2016167122.tif 000015
【図１４】
2016167122.tif 000016
【図１５】
2016167122.tif 000017
【図１６】
2016167122.tif 000018
【図１７】
2016167122.tif 000019