(57)【要約】【課題】障害の一次切り分けができること。【解決手段】画面データ障害切り分けプログラムは、サーバが生成した、識別子を有する第１画面データと、クライアントの画面に表示された、識別子を有する第２画面データと、サーバが送信した、識別子を有する第３画面データと、クライアントで受信された、識別子を有する第４画面データとを取得する処理をコンピュータに実行させる。当該プログラムは、識別子が一致する第１画面データと第２画面データとを比較し、第１画面データが第２画面データと異なる場合、識別子が一致する第３画面データと第４画面データとを比較する処理をコンピュータに実行させる。当該プログラムは、第３画面データが第４画面データと同じであれば、サーバまたはクライアントで障害が発生したと判定し、第３画面データが第４画面データと異なれば、ネットワークで障害が発生したと判定する処理をコンピュータに実行させる。【選択図】図１
2019144615.tif 000002
【特許請求の範囲】
【請求項１】
サーバが生成した、識別子を有する第１画面データを前記サーバから取得し、前記サーバから送られクライアントの画面に表示された、前記識別子を有する第２画面データを前記クライアントから取得し、前記サーバが送信した、前記識別子を有する第３画面データを前記サーバから取得し、前記サーバから送られ前記クライアントで受信された、前記識別子を有する第４画面データを前記クライアントから取得し、
前記識別子が一致する前記第１画面データと前記第２画面データとを比較し、前記第１画面データが前記第２画面データと異なる場合、前記識別子が一致する前記第３画面データと前記第４画面データとを比較し、前記第３画面データが前記第４画面データと同じであれば、前記サーバまたは前記クライアントで障害が発生したと判定し、前記第３画面データが前記第４画面データと異なれば、ネットワークで障害が発生したと判定する、
処理をコンピュータに実行させることを特徴とする画面データ障害切り分けプログラム。
【請求項２】
前記判定する処理は、前記第３画面データと前記識別子が一致する前記第４画面データが存在しない場合、前記ネットワークで障害が発生したと判定する、
ことを特徴とする請求項１に記載の画面データ障害切り分けプログラム。
【請求項３】
前記判定する処理は、前記第１画面データと前記第２画面データとの比較、および、前記第３画面データと前記第４画面データとの比較について、データが異なる回数が所定時間当たりの閾値を超えた場合に、障害が発生したと判定する、
ことを特徴とする請求項１または２に記載の画面データ障害切り分けプログラム。
【請求項４】
前記取得する処理は、前記第１画面データ、前記第２画面データ、前記第３画面データ、および、前記第４画面データについて、それぞれ直前を表す識別子が付与されたデータとの差分を取得し、
前記判定する処理は、それぞれの前記差分を比較することで、障害の発生を判定する、
ことを特徴とする請求項１〜３のいずれか１つに記載の画面データ障害切り分けプログラム。
【請求項５】
前記取得する処理は、前記第１画面データ、前記第２画面データ、前記第３画面データ、および、前記第４画面データについて、それぞれ直前を表す識別子が付与されたデータとの差分のサイズを取得し、
前記判定する処理は、それぞれの前記差分のサイズを比較することで、障害の発生を判定する、
ことを特徴とする請求項１〜３のいずれか１つに記載の画面データ障害切り分けプログラム。
【請求項６】
さらに、障害が発生したと判定した場合に、前記クライアントに現象の報告を促すメッセージを送信する、
ことを特徴とする請求項１〜５のいずれか１つに記載の画面データ障害切り分けプログラム。
【請求項７】
サーバが生成した、識別子を有する第１画面データを前記サーバから取得し、前記サーバから送られクライアントの画面に表示された、前記識別子を有する第２画面データを前記クライアントから取得し、前記サーバが送信した、前記識別子を有する第３画面データを前記サーバから取得し、前記サーバから送られ前記クライアントで受信された、前記識別子を有する第４画面データを前記クライアントから取得し、
前記識別子が一致する前記第１画面データと前記第２画面データとを比較し、前記第１画面データが前記第２画面データと異なる場合、前記識別子が一致する前記第３画面データと前記第４画面データとを比較し、前記第３画面データが前記第４画面データと同じであれば、前記サーバまたは前記クライアントで障害が発生したと判定し、前記第３画面データが前記第４画面データと異なれば、ネットワークで障害が発生したと判定する、
処理をコンピュータが実行することを特徴とする画面データ障害切り分け方法。
【請求項８】
識別子を有する第１画面データを生成するサーバと、前記識別子を有する第２画面データを表示するクライアントと、運用管理装置とを有する画面データ障害切り分けシステムであって、
前記サーバは、
前記第１画面データを生成する生成部と、
生成した前記第１画面データに対応する送信データを前記クライアントに送信するとともに、前記第１画面データ、および、前記送信データである第３画面データを前記運用管理装置に送信する送信部と、を有し、
前記クライアントは、
前記サーバから前記送信データに対応する受信データを受信する受信部と、
受信した前記受信データに基づく前記第２画面データを画面に表示する表示部と、
前記第２画面データ、および、前記受信データである第４画面データを前記運用管理装置に送信する送信部と、を有し、
前記運用管理装置は、
前記サーバが生成した前記第１画面データを前記サーバから取得し、前記クライアントの画面に表示された前記第２画面データを前記クライアントから取得し、前記サーバが送信した前記第３画面データを前記サーバから取得し、前記クライアントで受信された前記第４画面データを前記クライアントから取得する取得部と、
前記識別子が一致する前記第１画面データと前記第２画面データとを比較し、前記第１画面データが前記第２画面データと異なる場合、前記識別子が一致する前記第３画面データと前記第４画面データとを比較し、前記第３画面データが前記第４画面データと同じであれば、前記サーバまたは前記クライアントで障害が発生したと判定し、前記第３画面データが前記第４画面データと異なれば、ネットワークで障害が発生したと判定する判定部と、
を有することを特徴とする画面データ障害切り分けシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面データ障害切り分けプログラム、画面データ障害切り分け方法および画面データ障害切り分けシステムに関する。
【背景技術】
【０００２】
従来、一般的なクライアント−サーバ型のシステムでは、サーバ側で処理した結果をクライアント側に送信し、クライアント側で画面を生成して処理結果を表示している。この場合、送信データと受信データとが一致しているか否かはチェックされているが、クライアント側で表示されている画面についてサーバ側が意図する画面となっているかは、人が確認することになる。また、監視対象装置とその表示装置との間に接続した装置を用いて、ディスプレイ信号を画像データに変換してサーバに送信することが提案されている。
【０００３】
また、ネットワークを用いてサーバからクライアント端末にデスクトップ環境を提供する仮想デスクトップ環境（ＶＤＩ：Virtual  Desktop  Infrastructure）というサービス提供形態がある。ＶＤＩでは、サーバ側の停止やリソースの枯渇を監視することで、障害を検出することが行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２８３４１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、表示装置へのディスプレイ信号に基づく画像データを取得しても、障害が発生していることは判断できるが、障害の発生箇所を特定することは難しい。同様に、ＶＤＩにおいても監視対象のサーバ以外が原因である場合には、障害の発生箇所を特定することは難しい。すなわち、障害の発生箇所がクライアントやサーバの装置側であるのか、クライアントとサーバ間のネットワークであるのかを切り分けることが困難である。
【０００６】
一つの側面では、障害の一次切り分けができる画面データ障害切り分けプログラム、画面データ障害切り分け方法および画面データ障害切り分けシステムを提供することにある。
【課題を解決するための手段】
【０００７】
一つの態様では、画面データ障害切り分けプログラムは、サーバが生成した、識別子を有する第１画面データを前記サーバから取得する処理をコンピュータに実行させる。画面データ障害切り分けプログラムは、前記サーバから送られクライアントの画面に表示された、前記識別子を有する第２画面データを前記クライアントから取得する処理をコンピュータに実行させる。画面データ障害切り分けプログラムは、前記サーバが送信した、前記識別子を有する第３画面データを前記サーバから取得する処理をコンピュータに実行させる。画面データ障害切り分けプログラムは、前記サーバから送られ前記クライアントで受信された、前記識別子を有する第４画面データを前記クライアントから取得する処理をコンピュータに実行させる。画面データ障害切り分けプログラムは、前記識別子が一致する前記第１画面データと前記第２画面データとを比較する処理をコンピュータに実行させる。画面データ障害切り分けプログラムは、前記第１画面データが前記第２画面データと異なる場合、前記識別子が一致する前記第３画面データと前記第４画面データとを比較する処理をコンピュータに実行させる。画面データ障害切り分けプログラムは、前記第３画面データが前記第４画面データと同じであれば、前記サーバまたは前記クライアントで障害が発生したと判定する処理をコンピュータに実行させる。画面データ障害切り分けプログラムは、前記第３画面データが前記第４画面データと異なれば、ネットワークで障害が発生したと判定する処理をコンピュータに実行させる。
【発明の効果】
【０００８】
障害の一次切り分けができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１の画面データ障害切り分けシステムの構成の一例を示すブロック図である。
【図２】図２は、実施例１の運用管理装置の構成の一例を示すブロック図である。
【図３】図３は、画面データの一例を示す図である。
【図４】図４は、実施例１の障害切り分け処理の一例を示すフローチャートである。
【図５】図５は、実施例２の画面データ障害切り分けシステムの構成の一例を示すブロック図である。
【図６】図６は、実施例２の運用管理装置の構成の一例を示すブロック図である。
【図７】図７は、メッセージの表示の一例を示す図である。
【図８】図８は、実施例２の障害切り分け処理の一例を示すフローチャートである。
【図９】図９は、画面データ障害切り分けプログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本願の開示する画面データ障害切り分けプログラム、画面データ障害切り分け方法および画面データ障害切り分けシステムの実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例１】
【００１１】
図１は、実施例１の画面データ障害切り分けシステムの構成の一例を示すブロック図である。図１に示す画面データ障害切り分けシステム１は、サーバ１０と、クライアント端末２０と、運用管理装置１００とを有する。なお、画面データ障害切り分けシステム１では、クライアント端末２０の数は限定されず、任意の数のクライアント端末２０を有するようにしてもよい。サーバ１０とクライアント端末２０との間は、ネットワークＮ１を介して、相互に通信可能に接続される。また、サーバ１０と運用管理装置１００との間は、ネットワークＮ２を介して、相互に通信可能に接続される。また、クライアント端末２０と運用管理装置１００との間は、ネットワークＮ３を介して、相互に通信可能に接続される。なお、ネットワークＮ１〜Ｎ３は、同じネットワークを用いてもよいし、異なるネットワークを用いてもよい。
【００１２】
かかるネットワークＮ１〜Ｎ３には、有線または無線を問わず、インターネットを始め、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。また、ネットワークＮ１〜Ｎ３を介するサーバ１０と、クライアント端末２０と、運用管理装置１００との間のそれぞれの通信は、例えば、ＴＬＳ（Transport  Layer  Security）／ＳＳＬ（Secure  Sockets  Layer）等によって暗号化されてもよい。
【００１３】
画面データ障害切り分けシステム１は、サーバ１０が提供するＶＤＩをクライアント端末２０でユーザが操作するシステムの一例である。画面データ障害切り分けシステム１では、サーバ１０で生成した画面がそのままクライアント端末２０に表示されるため、サーバ１０側とクライアント端末２０側の画面が同一か否かを判定することで、特定の原因にとらわれずに障害を検出することができる。障害の発生箇所としては、サーバ１０、クライアント端末２０およびネットワークＮ１の３種類があり得る。なお、ネットワークＮ１は、サーバ１０とクライアント端末２０との間の経路ネットワークである。障害調査を行う場合には、障害の発生箇所がサーバ１０またはクライアント端末２０であるのか、ネットワークＮ１であるのかが予め判明していれば、障害調査を効率的に行うことができる。
【００１４】
このため、運用管理装置１００は、サーバ１０およびクライアント端末２０から、生成および表示した画面データと、送受信した画面データとを取得して比較する。運用管理装置１００は、生成した画面データと表示した画面データとが同一でない場合に、送受信した画面データが同一であれば、サーバ１０またはクライアント端末２０の障害であり、同一でなければ、ネットワークＮ１の障害であると判定できる。
【００１５】
サーバ１０は、ＶＤＩを提供するための制御部１１を有する。制御部１１は、画面キャプチャ部１２と、送信部１３とを有する。画面キャプチャ部１２は、ＶＤＩにおけるデスクトップ画面をキャプチャして、画面データを識別する識別子、例えば、所定の桁数を有するデータ番号を付与した第１画面データを生成する。画面キャプチャ部１２は、第１画面データを、例えばＭＰＥＧ−４等の各種コーデックによりエンコードした第３画面データを送信部１３に出力する。画面キャプチャ部１２は、第３画面データのエンコードの際に、対応する第１画面データと同じ識別子を付与する。また、画面キャプチャ部１２は、ネットワークＮ２を介して、第１画面データを運用管理装置１００に送信する。送信部１３は、画面キャプチャ部１２から入力された第３画面データを、ネットワークＮ１を介してクライアント端末２０に送信する。また、送信部１３は、ネットワークＮ２を介して、第３画面データを運用管理装置１００に送信する。
【００１６】
クライアント端末２０は、ユーザにＶＤＩを提供するための制御部２１を有する。制御部２１は、受信部２２と、画面描画部２３とを有する。受信部２２は、ネットワークＮ１を介して、サーバ１０が送信した第３画面データに対応する第４画面データを受信すると、受信した第４画面データを画面描画部２３に出力する。また、受信部２２は、ネットワークＮ３を介して、第４画面データを運用管理装置１００に送信する。なお、第４画面データは、対応する第３画面データと同じ識別子が付与されている。画面描画部２３は、受信部２２から第４画面データが入力されると、第４画面データをデコードして第２画面データを生成する。画面描画部２３は、第２画面データの生成の際に、対応する第４画面データと同じ識別子を付与する。画面描画部２３は、生成した第２画面データを図示しない表示部に表示する。また、画面描画部２３は、ネットワークＮ３を介して、第２画面データを運用管理装置１００に送信する。
【００１７】
なお、サーバ１０およびクライアント端末２０は、運用管理装置１００に送信する各画面データについて、それぞれ直前を表すデータ番号が付与された画面データとの差分を送信するようにしてもよい。また、サーバ１０およびクライアント端末２０は、同様に、それぞれ直前を表すデータ番号が付与された画面データとの差分のサイズを送信するようにしてもよい。これにより、サーバ１０およびクライアント端末２０から運用管理装置１００に送信するデータ量を抑制することができる。
【００１８】
運用管理装置１００は、第１取得部１０１、第２取得部１０２、記憶部１０３、判定部１０４および表示部１０５を有する。第１取得部１０１は、ネットワークＮ２を介して、サーバ１０から第１画面データおよび第３画面データを受信して取得する。第１取得部１０１は、取得した第１画面データおよび第３画面データを記憶部１０３に記憶する。第２取得部１０２は、ネットワークＮ３を介して、クライアント端末２０から第２画面データおよび第４画面データを受信して取得する。第２取得部１０２は、取得した第２画面データおよび第４画面データを記憶部１０３に記憶する。
【００１９】
判定部１０４は、記憶部１０３を参照し、識別子が一致する、つまりデータ番号が一致する第１画面データと第２画面データとを比較する。判定部１０４は、第１画面データと第２画面データとが異なる場合、データ番号が一致する第３画面データと第４画面データとを比較する。判定部１０４は、第３画面データが第４画面データと同じであれば、サーバ１０またはクライアント端末２０で障害が発生したと判定し、第３画面データが第４画面データと異なれば、ネットワークＮ１で障害が発生したと判定する。判定部１０４は、判定結果を表示部１０５に出力して表示させる。
【００２０】
すなわち、運用管理装置１００は、サーバ１０が生成した、識別子を有する第１画面データをサーバ１０から取得し、サーバ１０から送られクライアント端末２０の画面に表示された、識別子を有する第２画面データをクライアント端末２０から取得する。また、運用管理装置１００は、サーバ１０が送信した、識別子を有する第３画面データをサーバ１０から取得し、サーバ１０から送られクライアント端末２０で受信された、識別子を有する第４画面データをクライアント端末２０から取得する。運用管理装置１００は、識別子が一致する第１画面データと第２画面データとを比較し、第１画面データが第２画面データと異なる場合、識別子が一致する第３画面データと第４画面データとを比較する。運用管理装置１００は、第３画面データが第４画面データと同じであれば、サーバ１０またはクライアント端末２０で障害が発生したと判定し、第３画面データが第４画面データと異なれば、ネットワークＮ１で障害が発生したと判定する。これにより、運用管理装置１００は、障害の一次切り分けができる。
【００２１】
次に、運用管理装置１００の構成について説明する。図２は、実施例１の運用管理装置の構成の一例を示すブロック図である。図２に示すように、運用管理装置１００は、通信部１１０と、表示部１１１と、操作部１１２と、記憶部１２０と、制御部１３０とを有する。なお、運用管理装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００２２】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、ネットワークＮ２を介してサーバ１０と有線または無線で接続され、サーバ１０との間で情報の通信を司る通信インタフェースである。また、通信部１１０は、ネットワークＮ３を介してクライアント端末２０と有線または無線で接続され、クライアント端末２０との間で情報の通信を司る通信インタフェースである。通信部１１０は、サーバ１０から受信した第１画面データおよび第３画面データを制御部１３０に出力する。また、通信部１１０は、クライアント端末２０から受信した第２画面データおよび第４画面データを制御部１３０に出力する。
【００２３】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、第１画面記憶部１２１と、第２画面記憶部１２２と、第３画面記憶部１２３と、第４画面記憶部１２４とを有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００２４】
第１画面記憶部１２１は、取得した第１画面データを記憶する。第２画面記憶部１２２は、取得した第２画面データを記憶する。第３画面記憶部１２３は、取得した第３画面データを記憶する。第４画面記憶部１２４は、取得した第４画面データを記憶する。
【００２５】
ここで、図３を用いて画面データについて説明する。図３は、画面データの一例を示す図である。図３に示すように、画面３０は、ＶＤＩにおけるデスクトップ画面の一例であり、例えば、１０２４×７６８ピクセルである。画面３０は、各ピクセルについて、画面３０の左上から順に、縦軸（Ｙ）と横軸（Ｘ）を（１，１）、（１，２）・・・と表すとする。このとき、各ピクセルには、ＲＧＢの三色それぞれの情報が含まれ、例えば、各色８ビットのデータとすると、１ピクセル当たり２４ｂｉｔ、つまり３ｂｙｔｅｓのデータで表すことができる。従って、画面３０に対応する第１画面データ３１は、データ番号と画面３０の全ピクセル（７８６，４３２ピクセル）分のデータとを有する約２．４ＭＢのデータとなる。なお、データ番号は、所定の桁数、例えば、２進数で１６桁（１６ビット）に対応する０〜６５５３５を繰返し用いるものとする。
【００２６】
図２の説明に戻って、制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３０は、第１取得部１３１と、第２取得部１３２と、判定部１３３とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図２に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００２７】
第１取得部１３１は、図１の第１取得部１０１に対応する。第１取得部１３１は、ネットワークＮ２および通信部１１０を介して、サーバ１０から画面キャプチャ部１２に対応する第１画面データ、および、送信部１３に対応する第３画面データを受信して取得する。第１取得部１３１は、取得した第１画面データを第１画面記憶部１２１に記憶する。また、第１取得部１３１は、取得した第３画面データを第３画面記憶部１２３に記憶する。第１取得部１３１は、例えば、運用管理装置１００の管理者の操作に基づいて、第１画面データおよび第３画面データの取得を開始する。
【００２８】
第２取得部１３２は、図１の第２取得部１０２に対応する。第２取得部１３２は、ネットワークＮ３および通信部１１０を介して、クライアント端末２０から画面描画部２３に対応する第２画面データ、および、受信部２２に対応する第４画面データを受信して取得する。第２取得部１３２は、取得した第２画面データを第２画面記憶部１２２に記憶する。また、第２取得部１３２は、取得した第４画面データを第４画面記憶部１２４に記憶する。第２取得部１３２は、例えば、運用管理装置１００の管理者の操作に基づいて、第２画面データおよび第４画面データの取得を開始する。
【００２９】
なお、第１取得部１３１および第２取得部１３２は、サーバ１０およびクライアント端末２０から各画面データについて、それぞれ直前を表すデータ番号が付与された画面データとの差分を受信するようにしてもよい。また、第１取得部１３１および第２取得部１３２は、同様に、それぞれ直前を表すデータ番号が付与された画面データとの差分のサイズを受信するようにしてもよい。この場合、第１画面記憶部１２１から第４画面記憶部１２４には、１枚目の画像データと、２枚目以降の差分を表すデータ、または、差分のサイズを表すデータとが記憶される。
【００３０】
判定部１３３は、図１の判定部１０４に対応する。判定部１３３は、第１画面記憶部１２１と第２画面記憶部１２２とを参照し、データ番号が一致する、つまり同じデータ番号の第１画面データと第２画面データとを比較する。判定部１３３は、比較の結果、第１画面データと第２画面データとが同一であると判定した場合には、当該データ番号の画面データは正常であるとして、次のデータ番号の画面データの比較に移る。
【００３１】
判定部１３３は、比較の結果、第１画面データと第２画面データとが同一でないと判定した場合には、第３画面記憶部１２３と第４画面記憶部１２４とを参照し、第１画面データおよび第２画面データとデータ番号が同じである第３画面データと第４画面データとを比較する。判定部１３３は、比較の結果、第３画面データと第４画面データとが同一であると判定した場合には、サーバ１０またはクライアント端末２０の異常回数を１つカウントする。
【００３２】
判定部１３３は、比較の結果、第３画面データと第４画面データとが同一でないと判定した場合には、ネットワークＮ１の異常回数を１つカウントする。なお、判定部１３３は、第３画面データと同じデータ番号の第４画面データが第４画面記憶部１２４にない場合には、ネットワークＮ１において第４画面データが欠落していると考えられるので、ネットワークＮ１の異常回数を１つカウントする。同様に、判定部１３３は、第１画面データと同じデータ番号の第２画面データが第２画面記憶部１２２にない場合には、サーバ１０またはクライアント端末２０の異常回数を１つカウントするようにしてもよい。また、判定部１３３は、各画面データが差分、または、差分のサイズを表すデータである場合には、それぞれ差分同士、差分のサイズ同士を比較することで判定を行う。
【００３３】
判定部１３３は、サーバ１０またはクライアント端末２０の異常回数、あるいは、ネットワークＮ１の異常回数が所定時間当たりの閾値を超えたか否かを判定する。ここで、例えば、所定時間は１分間とし、閾値は１０回とすることができる。判定部１３３は、異常回数が所定時間当たりの閾値を超えていないと判定した場合には、次のデータ番号の画面データの比較に移る。
【００３４】
判定部１３３は、異常回数が所定時間当たりの閾値を超えたと判定した場合には、異常回数が閾値を超えた箇所で障害が発生したと判定する。なお、異常回数が閾値を超えた箇所は、サーバ１０またはクライアント端末２０、あるいは、ネットワークＮ１のいずれかである。判定部１３３は、判定結果、つまり障害が発生したと判定した箇所に応じた障害発生情報を表示部１１１に表示して、運用管理装置１００の管理者に通知する。なお、判定部１３３は、異常回数が所定時間当たりの閾値を超えたか否かの判定を行わず、サーバ１０またはクライアント端末２０の異常回数、あるいは、ネットワークＮ１の異常回数がカウントされた時点で障害が発生したと判定するようにしてもよい。
【００３５】
次に、実施例１の画面データ障害切り分けシステム１の動作について説明する。図４は、実施例１の障害切り分け処理の一例を示すフローチャートである。
【００３６】
運用管理装置１００の第１取得部１３１および第２取得部１３２は、例えば、運用管理装置１００の管理者の操作に基づいて、サーバ１０およびクライアント端末２０から、各画面データの取得を開始する（ステップＳ１）。第１取得部１３１は、取得した第１画面データを第１画面記憶部１２１に記憶する。また、第１取得部１３１は、取得した第３画面データを第３画面記憶部１２３に記憶する。第２取得部１３２は、取得した第２画面データを第２画面記憶部１２２に記憶する。また、第２取得部１３２は、取得した第４画面データを第４画面記憶部１２４に記憶する。
【００３７】
判定部１３３は、各画面データの取得が開始されると、第１画面記憶部１２１と第２画面記憶部１２２とを参照し、同じデータ番号の第１画面データと第２画面データとが同一か否かを判定する（ステップＳ２）。判定部１３３は、第１画面データと第２画面データとが同一であると判定した場合には（ステップＳ２：肯定）、当該データ番号の画面データは正常であるとして、ステップＳ２に戻り、次のデータ番号の画面データの比較に移る。
【００３８】
判定部１３３は、第１画面データと第２画面データとが同一でないと判定した場合には（ステップＳ２：否定）、第３画面記憶部１２３と第４画面記憶部１２４とを参照し、同じデータ番号の第３画面データと第４画面データとが同一か否かを判定する（ステップＳ３）。判定部１３３は、第３画面データと第４画面データとが同一であると判定した場合には（ステップＳ３：肯定）、サーバ１０またはクライアント端末２０の異常回数を１つカウントする（ステップＳ４）。
【００３９】
判定部１３３は、第３画面データと第４画面データとが同一でないと判定した場合には（ステップＳ３：否定）、ネットワークＮ１の異常回数を１つカウントする（ステップＳ５）。
【００４０】
判定部１３３は、サーバ１０またはクライアント端末２０の異常回数、あるいは、ネットワークＮ１の異常回数が所定時間当たりの閾値を超えたか否かを判定する（ステップＳ６）。判定部１３３は、異常回数が所定時間当たりの閾値を超えていないと判定した場合には（ステップＳ６：否定）、ステップＳ２に戻り、次のデータ番号の画面データの比較に移る。
【００４１】
判定部１３３は、異常回数が所定時間当たりの閾値を超えたと判定した場合には（ステップＳ６：肯定）、異常回数が閾値を超えた箇所で障害が発生したと判定する（ステップＳ７）。判定部１３３は、障害が発生したと判定した箇所に応じた障害発生情報を表示部１１１に表示して、運用管理装置１００の管理者に障害発生を通知し（ステップＳ８）ステップＳ２に戻る。運用管理装置１００は、ＶＤＩサービスが実行されている間、ステップＳ２〜Ｓ８を繰り返す。これにより、運用管理装置１００は、障害の一次切り分けができる。
【００４２】
このように、運用管理装置１００は、サーバ１０が生成した、識別子を有する第１画面データをサーバ１０から取得し、サーバ１０から送られクライアント端末２０の画面に表示された、識別子を有する第２画面データをクライアント端末２０から取得する。また、運用管理装置１００は、サーバ１０が送信した、識別子を有する第３画面データをサーバ１０から取得し、サーバ１０から送られクライアント端末２０で受信された、識別子を有する第４画面データをクライアント端末２０から取得する。また、運用管理装置１００は、識別子が一致する第１画面データと第２画面データとを比較し、第１画面データが第２画面データと異なる場合、識別子が一致する第３画面データと第４画面データとを比較する。また、運用管理装置１００は、第３画面データが第４画面データと同じであれば、サーバ１０またはクライアント端末２０で障害が発生したと判定し、第３画面データが第４画面データと異なれば、ネットワークＮ１で障害が発生したと判定する。その結果、運用管理装置１００は、障害の一次切り分けができる。
【００４３】
また、運用管理装置１００は、第３画面データと識別子が一致する第４画面データが存在しない場合、ネットワークＮ１で障害が発生したと判定する。その結果、運用管理装置１００は、ネットワーク障害であることを切り分けることができる。
【００４４】
また、運用管理装置１００は、第１画面データと第２画面データとの比較、および、第３画面データと第４画面データとの比較について、データが異なる回数が所定時間当たりの閾値を超えた場合に、障害が発生したと判定する。その結果、運用管理装置１００は、許容可能なエラーと障害とを切り分けることができる。
【００４５】
また、運用管理装置１００は、第１画面データ、第２画面データ、第３画面データ、および、第４画面データについて、それぞれ直前を表す識別子が付与されたデータとの差分を取得する。また、運用管理装置１００は、それぞれの差分を比較することで、障害の発生を判定する。その結果、運用管理装置１００は、サーバ１０およびクライアント端末２０から取得するデータ量を削減できる。
【００４６】
また、運用管理装置１００は、第１画面データ、第２画面データ、第３画面データ、および、第４画面データについて、それぞれ直前を表す識別子が付与されたデータとの差分のサイズを取得する。また、運用管理装置１００は、それぞれの差分のサイズを比較することで、障害の発生を判定する。その結果、運用管理装置１００は、サーバ１０およびクライアント端末２０から取得するデータ量をより削減できる。
【実施例２】
【００４７】
上記実施例１では、障害の発生を運用管理装置１００の管理者に通知したが、クライアント端末２０のユーザに通知してもよく、この場合の実施の形態につき、実施例２として説明する。図５は、実施例２の画面データ障害切り分けシステムの構成の一例を示すブロック図である。図５に示す画面データ障害切り分けシステム２は、サーバ１０と、クライアント端末４０と、運用管理装置２００とを有する。なお、実施例１の画面データ障害切り分けシステム１と同一の構成には同一符号を付すことで、その重複する構成および動作の説明については省略する。
【００４８】
実施例２のクライアント端末４０は、実施例１のクライアント端末２０と比較して、メッセージ通信部４４をさらに有する。また、実施例２の運用管理装置２００は、実施例１の運用管理装置１００と比較して、メッセージ通信部２０６をさらに有する。なお、メッセージ通信部２０６の説明は、対応する図６のメッセージ通信部２３４として説明する。
【００４９】
メッセージ通信部４４は、運用管理装置２００で検知された障害の発生に対応するメッセージを、ネットワークＮ３を介して、メッセージ通信部２０６から受信する。メッセージ通信部４４は、受信したメッセージを、例えば、デスクトップ画面のインスタントメッセージ表示欄に表示する。また、メッセージ通信部４４は、表示したメッセージに対する返信が出来るように、ユーザからのメッセージの入力を受け付ける。メッセージ通信部４４は、メッセージの入力を受け付けると、受け付けたメッセージを、ネットワークＮ３を介して、運用管理装置２００のメッセージ通信部２０６に送信する。
【００５０】
図６は、実施例２の運用管理装置の構成の一例を示すブロック図である。図６に示すように、運用管理装置２００の制御部２３０は、第１取得部１３１と、第２取得部１３２と、判定部１３３と、メッセージ通信部２３４とを有する。図６に示すメッセージ通信部２３４は、図５のメッセージ通信部２０６に対応する。なお、判定部１３３は、実施例１の判定部１３３に加えて、障害の発生時に障害発生情報をメッセージ通信部２３４に出力する。
【００５１】
メッセージ通信部２３４は、判定部１３３から障害発生情報が入力されると、入力された障害発生情報に基づいてメッセージを生成する。生成するメッセージは、例えば、現象の報告を促すメッセージが挙げられる。メッセージ通信部２３４は、生成したメッセージを、通信部１１０およびネットワークＮ３を介して、クライアント端末４０のメッセージ通信部４４に送信する。また、メッセージ通信部２３４は、判定部１３３が表示部１１１に表示する障害発生情報とともに、生成したメッセージを表示する。その後、メッセージ通信部２３４は、クライアント端末４０のメッセージ通信部４４からメッセージを受信した場合には、受信したメッセージを表示する。すなわち、メッセージ通信部４４およびメッセージ通信部２３４は、ユーザと管理者との間でのチャットサービスを提供することができる。
【００５２】
ここで、図７を用いてメッセージの表示について説明する。図７は、メッセージの表示の一例を示す図である。図７の例では、ユーザＡがクライアント端末４０を用いているとする。クライアント端末４０のデスクトップ画面４５には、インスタントメッセージ表示欄４６と、ＶＤＩのデスクトップ画面４７とが表示される。このとき、クライアント端末４０は、運用管理装置２００からメッセージを受信すると、インスタントメッセージ表示欄４６に、メッセージ４８として表示する。
【００５３】
メッセージ４８を見たユーザＡによって返信メッセージが入力されると、クライアント端末４０は、入力されたメッセージを運用管理装置２００に送信する。運用管理装置２００は、クライアント端末４０からメッセージを受信して表示する。受信したメッセージを見た運用管理装置２００の管理者によって、さらに返信メッセージが入力される。このように、クライアント端末４０のユーザＡと運用管理装置２００の管理者との間で、メッセージ４９に示すようにやり取りが行われる。
【００５４】
次に、実施例２の画面データ障害切り分けシステム２の動作について説明する。図８は、実施例２の障害切り分け処理の一例を示すフローチャートである。以下の説明では、障害切り分け処理のステップＳ１〜Ｓ８の処理は、実施例１と同様であるので、その説明を省略する。
【００５５】
判定部１３３は、ステップＳ８において、運用管理装置２００の管理者に障害発生を通知するとともに、障害発生情報をメッセージ通信部２３４に出力する。
【００５６】
メッセージ通信部２３４は、判定部１３３から障害発生情報が入力されると、入力された障害発生情報に基づいてメッセージを生成する。メッセージ通信部２３４は、生成したメッセージを、クライアント端末４０に送信し（ステップＳ９）、メッセージを表示させる。また、メッセージ通信部２３４は、生成したメッセージを表示する。メッセージ通信部２３４は、メッセージの送信を行うと、ステップＳ２に戻る。これにより、運用管理装置２００は、クライアント端末４０のユーザが問い合わせ先等を見つける手間を省いて、すぐにサポートが受けられるようにすることができる。
【００５７】
このように、運用管理装置２００は、障害が発生したと判定した場合に、クライアント端末４０に現象の報告を促すメッセージを送信する。その結果、運用管理装置２００は、クライアント端末４０のユーザから障害に関する現象の情報を取得できる。また、運用管理装置２００は、クライアント端末４０のユーザに対して迅速にサポートを提供することができる。
【００５８】
なお、上記各実施例では、各画像データの比較に、画像データ自体、直前の画像データとの差分または差分のサイズを用いたが、これに限定されない。例えば、画像データのチェックサムやハッシュ値を算出し、チェックサムやハッシュ値を比較するようにしてもよい。なお、チェックサムやハッシュ値の算出は、例えば、ＣＲＣ（Cyclic  Redundancy  Check）−３２、ＭＤ５（Message  Digest  Algorithm  5）、ＳＨＡ（Secure  Hash  Algorithm）−１、ＳＨＡ−２５６といった各種アルゴリズムを用いることができる。
【００５９】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第１取得部１３１と第２取得部１３２とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００６０】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００６１】
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図９は、画面データ障害切り分けプログラムを実行するコンピュータの一例を示す図である。
【００６２】
図９に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、データ入力を受け付ける入力装置３０２と、モニタ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る媒体読取装置３０４と、各種装置と接続するためのインタフェース装置３０５と、他の情報処理装置等と有線または無線により接続するための通信装置３０６とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０７と、ハードディスク装置３０８とを有する。また、各装置３０１〜３０８は、バス３０９に接続される。
【００６３】
ハードディスク装置３０８には、図２に示した第１取得部１３１、第２取得部１３２および判定部１３３の各処理部と同様の機能を有する画面データ障害切り分けプログラムが記憶される。また、ハードディスク装置３０８には、図６に示した第１取得部１３１、第２取得部１３２、判定部１３３およびメッセージ通信部２３４の各処理部と同様の機能を有する画面データ障害切り分けプログラムが記憶されるようにしてもよい。
【００６４】
また、ハードディスク装置３０８には、第１画面記憶部１２１、第２画面記憶部１２２、第３画面記憶部１２３、第４画面記憶部１２４、および、画面データ障害切り分けプログラムを実現するための各種データが記憶される。入力装置３０２は、例えば、コンピュータ３００の管理者から操作情報等の各種情報の入力を受け付ける。モニタ３０３は、例えば、コンピュータ３００の管理者に対して表示画面等の各種画面を表示する。インタフェース装置３０５は、例えば印刷装置等が接続される。通信装置３０６は、例えば、図２および図６に示した通信部１１０と同様の機能を有しネットワークＮ２およびＮ３と接続され、サーバ１０ならびにクライアント端末２０またはクライアント端末４０と各種情報をやりとりする。
【００６５】
ＣＰＵ３０１は、ハードディスク装置３０８に記憶された各プログラムを読み出して、ＲＡＭ３０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ３００を図２に示した第１取得部１３１、第２取得部１３２および判定部１３３として機能させることができる。また、これらのプログラムは、コンピュータ３００を図６に示した第１取得部１３１、第２取得部１３２、判定部１３３およびメッセージ通信部２３４として機能させることができる。
【００６６】
なお、上記の画面データ障害切り分けプログラムは、必ずしもハードディスク装置３０８に記憶されている必要はない。例えば、コンピュータ３００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ３００が読み出して実行するようにしてもよい。コンピュータ３００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの画面データ障害切り分けプログラムを記憶させておき、コンピュータ３００がこれらから画面データ障害切り分けプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００６７】
１，２  画面データ障害切り分けシステム
１０  サーバ
１１  制御部
１２  画面キャプチャ部
１３  送信部
２０，４０  クライアント端末
２１  制御部
２２  受信部
２３  画面描画部
４４  メッセージ通信部
１００，２００  運用管理装置
１０１，１３１  第１取得部
１０２，１３２  第２取得部
１０３，１２０  記憶部
１０４，１３３  判定部
１０５，１１１  表示部
１１０  通信部
１１２  操作部
１２１  第１画面記憶部
１２２  第２画面記憶部
１２３  第３画面記憶部
１２４  第４画面記憶部
１３０，２３０  制御部
２０６，２３４  メッセージ通信部
Ｎ１，Ｎ２，Ｎ３  ネットワーク
【図１】
2019144615.tif 000003
【図２】
2019144615.tif 000004
【図３】
2019144615.tif 000005
【図４】
2019144615.tif 000006
【図５】
2019144615.tif 000007
【図６】
2019144615.tif 000008
【図７】
2019144615.tif 000009
【図８】
2019144615.tif 000010
【図９】
2019144615.tif 000011