(57)【特許請求の範囲】
【請求項１】
複数の情報処理装置のうちの１つの情報処理装置のみを周辺装置に接続するように接続状態を切り替える切替装置と、前記周辺装置と接続された前記１つの情報処理装置と、の通信を検出する検出部と、
前記検出部により検出された通信を分析して通信が正常に行われているか否かを通信のフェーズ毎に判定する分析部と、
前記通信のフェーズ毎に復旧動作を記憶する分析情報記憶部と、
前記分析部により通信が正常に行われていないと判定された場合に前記分析情報記憶部に基づいて復旧動作を行う復旧部と
を備えたことを特徴とする監視装置。
【請求項２】
前記分析部は、前記復旧部による復旧動作が成功したか否かを判定し、成功した場合には前記通信の監視を継続し、成功しなかった場合には当該監視装置の動作を停止するように制御することを特徴とする請求項１に記載の監視装置。
【請求項３】
前記分析部により通信が正常に行われていないと判定された場合に、発生した問題と復旧動作の結果を記録する記録部をさらに備えたことを特徴とする請求項１又は２に記載の監視装置。
【請求項４】
前記検出部は、前記切替装置と前記情報処理装置との接続互換性の検証の際に行われる通信を検出することを特徴とする請求項１、２又は３に記載の監視装置。
【請求項５】
前記フェーズは、前記切替装置が省電力の状態にある省電力フェーズを含み、
前記分析部は、前記省電力フェーズにおいて、前記切替装置から前記情報処理装置への省電力状態の解除要求、及び、前記情報処理装置から前記切替装置への省電力状態の解除指示に基づいて、前記通信が正常に行われているか否か及び前記復旧動作が成功したか否かを判定することを特徴とする請求項２に記載の監視装置。
【請求項６】
前記フェーズは、前記情報処理装置が接続デバイスを認識する状態にあるデバイス認識フェーズと、前記情報処理装置と前記切替装置との間で通常の通信が行われている状態である通常使用フェーズとを含み、
前記分析部は、前記デバイス認識フェーズにおいて、前記情報処理装置から前記切替装置への前記通常使用フェーズへの移行指示、及び、前記デバイス認識フェーズに移行してからの経過時間に基づいて、前記通信が正常に行われているか否か及び前記復旧動作が成功したか否かを判定することを特徴とする請求項２に記載の監視装置。
【請求項７】
複数の情報処理装置、周辺装置、及び、前記複数の情報処理装置のうちの１つの情報処理装置のみを前記周辺装置に接続するように接続状態を切り替える切替装置を有する情報処理システムにおいて、
前記切替装置と、前記周辺装置と接続された前記１つの情報処理装置との間の通信を監視する監視装置をさらに備え、
前記監視装置は、
前記通信を検出する検出部と、
前記検出部により検出された通信を分析して通信が正常に行われているか否かを通信のフェーズ毎に判定する分析部と、
前記通信のフェーズ毎に復旧動作を記憶する分析情報記憶部と、
前記分析部により通信が正常に行われていないと判定された場合に前記分析情報記憶部に基づいて復旧動作を行う復旧部と
を備えたことを特徴とする情報処理システム。
【請求項８】
複数の情報処理装置のうちの１つの情報処理装置のみを周辺装置に接続するように接続状態を切り替える切替装置と、前記周辺装置と接続された前記１つの情報処理装置と、の通信を監視する監視装置が、
前記通信を検出し、
検出した通信を分析して通信が正常に行われているか否かを通信のフェーズ毎に判定し、
通信が正常に行われていないと判定した場合に通信のフェーズ毎に復旧動作を記憶する分析情報記憶部に基づいて復旧動作を行う
ことを特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置、情報処理システム及び監視方法に関する。
【背景技術】
【０００２】
１組のモニター、キーボード及びマウスを用いて複数のサーバの監視及び操作を可能とするＫＶＭスイッチがある。ここで、サーバとは、情報処理サービスを提供するコンピュータであり、ＫＶＭは、KeyboardのＫとVisual  UnitのＶとMouseのＭを表す。
【０００３】
図９は、ＫＶＭスイッチを説明するための図である。図９に示すように、ＫＶＭスイッチ２には、サーバ＃１〜サーバ＃８として示される８台のサーバ１とキーボード３とマウス４とモニター５が接続される。ＫＶＭスイッチ２は、キーボード３、マウス４及びモニター５と、８台のサーバ１のうちの１台のサーバ１との接続を切り替える。
【０００４】
各サーバ１とＫＶＭスイッチ２とはＫＶＭスイッチケーブルで接続される。ＫＶＭスイッチケーブルには、キーボード３、マウス４及びモニター５の信号ケーブルが含まれる。キーボード３及びマウス４とＫＶＭスイッチ２とはＵＳＢ（Universal  Serial  Bus）で接続され、モニター５とＫＶＭスイッチ２とはＶＧＡ（Video  Graphics  Array）で接続される。
【０００５】
なお、ＫＶＭスイッチを周辺機器共有スイッチと組み合わせた信号スイッチにより、信号スイッチに接続される全てのコンピュータが信号スイッチに接続される全てのＵＳＢ周辺デバイスを共有する従来技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００５−５０９９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
新規のＫＶＭスイッチ開発では、既存のサーバ機種との接続互換性の検証が行われる。接続互換性の検証では、問題が発生するとＫＶＭスイッチのファームウェアをチューニングする作業が行われるため、作業の間、検証作業が停止される。したがって、検証中に接続問題が発生すると、作業が停止され、検証期間が長くなるという問題がある。
【０００８】
なお、ＵＳＢでは、どのように通信を行うかを定めるプロトコルについては規格で規定されているが、プロトコル以外の点でメーカーが独自の仕様を定めている部分がある。このため、ＵＳＢ規格に準拠したキーボードやマウスを使用する場合にも、接続互換性の検証が行われる。また、接続互換性の検証では、多様な状況下において問題が発生しないことを確認するために、一定の検証動作が繰り返し行われる。このため、検証作業が停止されると、検証動作を最初から繰り返し行う必要があり、検証期間が長くなる。
【０００９】
本発明は、１つの側面では、新規のＫＶＭスイッチ開発における接続互換性の検証作業にかかる期間の短縮を図ることを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する監視装置は、１つの態様において、検出部と、分析部と、分析情報記憶部と、復旧部とを備える。前記検出部は、複数の情報処理装置のうちの１つの情報処理装置のみを周辺装置に接続するように接続状態を切り替える切替装置と、前記周辺装置と接続された前記１つの情報処理装置との通信を検出する。前記分析部は、前記検出部により検出された通信を分析して通信が正常に行われているか否かを通信のフェーズ毎に判定する。前記分析情報記憶部は、前記通信のフェーズ毎に復旧動作を記憶する。前記復旧部は、前記分析部により通信が正常に行われていないと判定された場合に前記分析情報記憶部に基づいて復旧動作を行う。
【発明の効果】
【００１１】
１実施態様によれば、接続互換性の検証作業にかかる期間を短縮することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例に係る情報処理システムの構成を示す図である。
【図２Ａ】図２Ａは、コマンドバッファの一例を示す図である。
【図２Ｂ】図２Ｂは、履歴テーブルの一例を示す図である。
【図２Ｃ】図２Ｃは、分析テーブルの一例を示す図である。
【図３】図３は、サーバとＫＶＭスイッチとの間の接続互換性の検証処理のフローを示すフローチャートである。
【図４】図４は、監視装置の処理のフローを示すフローチャートである。
【図５Ａ】図５Ａは、フェーズ判定処理のフローを示すフローチャートである。
【図５Ｂ】図５Ｂは、対応処理のフローを示すフローチャートである。
【図６Ａ】図６Ａは、省電力フェーズの問題検出処理のフローを示すフローチャートである。
【図６Ｂ】図６Ｂは、省電力フェーズの復旧処理のフローを示すフローチャートである。
【図７Ａ】図７Ａは、デバイス認識フェーズの問題検出処理のフローを示すフローチャートである。
【図７Ｂ】図７Ｂは、デバイス認識フェーズの復旧処理のフローを示すフローチャートである。
【図８】図８は、記録部及び分析部が有する機能をソフトウェアで実現する監視装置の構成を示す図である。
【図９】図９は、ＫＶＭスイッチを説明するための図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する監視装置、情報処理システム及び監視方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１４】
まず、実施例に係る情報処理システムの構成について説明する。図１は、実施例に係る情報処理システムの構成を示す図である。図１に示すように、情報処理システム１０は、サーバ＃１〜サーバ＃８として示される８台のサーバ１と、ＫＶＭスイッチ２と、キーボード３と、マウス４と、モニター５と、監視装置６とを有する。なお、ここでは説明の便宜上、８台のサーバ１を示したが、情報処理システム１０は、例えば、４台、１６台、３２台など任意の台数のサーバ１を有してよい。
【００１５】
サーバ１は、情報処理サービスを提供するコンピュータである。サーバ１は、ＫＶＭスイッチ２との接続互換性の検証の際に、再起動スクリプト１１を用いて、自身を所定の回数だけ再起動する。
【００１６】
ＫＶＭスイッチ２は、キーボード３、マウス４及びモニター５と、８台のサーバ１のうちの１台のサーバ１との接続を切り替えるスイッチである。ＫＶＭスイッチ２を用いることによって情報処理システム１０は、１組のキーボード３、マウス４及びモニター５を８台のサーバ１で共有することができる。
【００１７】
ＫＶＭスイッチ２は、サーバ＃１〜サーバ＃８にそれぞれ対応付けられたポートコントローラ＃１〜ポートコントローラ＃８で示される８つのポートコントローラ２１と、メインコントローラ２２とを有する。ポートコントローラ２１は、対応するサーバ１とＫＶＭスイッチケーブルで接続される。
【００１８】
メインコントローラ２２は、キーボード３、マウス４及びモニター５とポートコントローラ２１のいずれかとの接続を切り替える。メインコントローラ２２の切り替えにより、キーボード３、マウス４及びモニター５がいずれかのサーバ１に接続される。なお、ここでは、説明の便宜上、８台のサーバ１をＫＶＭスイッチ２で切り替える場合を示したが、ＫＶＭスイッチ２はより多くの、あるいはより少ないサーバ１を切り替えてもよい。
【００１９】
キーボード３は、ＫＶＭスイッチ２により接続されたサーバ１への文字等の入力に用いられる入力装置である。マウス４は、モニター５に表示された項目の選択、画面のスクロール等に用いられる指示装置である。モニター５は、ＫＶＭスイッチ２により接続されたサーバ１が出力する画面を表示する表示装置である。
【００２０】
監視装置６は、サーバ１とＫＶＭスイッチ２との接続互換性の検証の際に、監視用ケーブルＡを用いてサーバ１とＫＶＭスイッチ２との通信すなわちＫＶＭスイッチケーブルにおける通信を監視し、通信が正常に行われているか否かを判定する。なお、監視用ケーブルＡは、ＫＶＭスイッチケーブルとＴ分岐するように接続される。
【００２１】
そして、監視装置６は、通信が正常に行われていないと判定すると、監視用ケーブルＡを用いてサーバ１又はポートコントローラ２１に復旧のための指示を出す。あるいは、監視装置６は、通信が正常に行われていないと判定すると、監視用ケーブルＢを用いてメインコントローラ２２に復旧のための指示を出す。
【００２２】
監視装置６は、記録部６１と、検出部６５と、分析部６６と、第１命令部６７と、第２命令部６８とを有する。記録部６１は、監視結果を記録するとともに、監視及び復旧に用いる情報を記憶する。記録部６１は、コマンドバッファ６２と、履歴テーブル６３と、分析テーブル６４とを有する。
【００２３】
コマンドバッファ６２は、サーバ１とＫＶＭスイッチ２との間で送受信されたコマンドを記憶する。図２Ａは、コマンドバッファ６２の一例を示す図である。図２Ａに示すように、コマンドバッファ６２は、ポート番号と、パケットＩＤと、受信後の時間とをコマンド毎に対応付けて記憶する。
【００２４】
ポート番号は、ＫＶＭスイッチ２でコマンドを送受信したポートの番号である。パケットＩＤは、送受信したコマンドのパケットを識別する識別子である。受信後の時間は、監視装置６がコマンドを受信してからの経過時間である。例えば、ポートコントローラ＃１で受信されたコマンドは、パケットの識別子が「１２８」であり、受信されてから「２００ｍｓ（ミリ秒）」が経過している。
【００２５】
履歴テーブル６３は、サーバ１とＫＶＭスイッチ２との通信で発生した異常及び復旧に関する情報を記憶する。図２Ｂは、履歴テーブル６３の一例を示す図である。図２Ｂに示すように、履歴テーブル６３は、発生した異常毎に、発生ＫＶＭポートと、発生フェーズと、発生問題と、復旧処理結果とを記憶する。
【００２６】
発生ＫＶＭポートは、ＫＶＭスイッチ２で通信異常が発生したポートの番号である。発生フェーズは、通信異常が発生したフェーズである。フェーズとしては、接続確認フェーズ、デバイス認識フェーズ、通常使用フェーズ及び省電力フェーズがある。
【００２７】
接続確認フェーズでは、サーバ１は、ＵＳＢポートの状態を確認し、空きポートであるのかＵＳＢ機器がつながっているかを確認する。接続確認フェーズにおいて接続が確認されると、サーバ１とＫＶＭスイッチ２との通信は、デバイス認識フェーズに移行する。デバイス認識フェーズでは、サーバ１は、接続確認フェーズで接続を確認したＵＳＢ機器に対し、どのような機能を有するかの問合せ及び必要な設定を行う。
【００２８】
通常使用フェーズでは、サーバ１は、デバイス認識フェーズで行った設定に基づいてデバイス固有の動作を行う。サーバ１は、つながっているＵＳＢ機器はＫＶＭスイッチ２として認識しているので、ＫＶＭスイッチ２との間で、主に、ポーリング（一定間隔での状態問合せ）コマンドと、その応答のコマンドのやりとりを行う。
【００２９】
省電力フェーズは、ＵＳＢ機器においては、ＫＶＭスイッチ２、キーボード３、マウス４等、人が操作する機器にのみ存在するフェーズである。サーバ１は、通常使用フェーズでのポーリングにおいて３ｍｓの間「機器の状態に変化がない」という応答のみ返ってくる場合には、ＫＶＭスイッチ２に省電力フェーズに移行するように指示する。
【００３０】
発生問題は、通信中に発生した問題である。復旧処理結果は、発生した問題に対して行った復旧処理の結果であり、復旧した場合には「正常」が記録され、復旧に失敗した場合には「異常」が記録される。
【００３１】
例えば、図２Ｂにおいて最初のエントリは、ポートコントローラ＃１において通常使用フェーズでコマンド応答タイムアウトが発生し、復旧処理を行った結果、復旧したことを示す。
【００３２】
分析テーブル６４は、通信の分析及び異常発生時の復旧処理に用いられる情報を記憶する。分析テーブル６４は、過去の検証時に発生した異常及び復旧処理に基づいて作成される。図２Ｃは、分析テーブル６４の一例を示す図である。図２Ｃに示すように、分析テーブル６４は、対象フェーズと、フェーズ判定条件と、問題判定基準と、復旧処理とを記憶する。
【００３３】
対象フェーズは、分析の対象となるフェーズである。フェーズ判定条件は、対象フェーズであることを判定するために使用される条件である。問題判定基準は、通信に異常が発生したか否かを判定するために使用される基準である。復旧処理は、通信に異常が発生した場合に復旧のために行われる処理である。
【００３４】
例えば、図２Ｃにおいて最初のエントリは、ポート電源を投入後のフェーズである接続確認フェーズに移行後、１分経過してもサーバ１からConfigコマンドが発行されないと受信タイムアウトという異常が発生し、復旧処理が行われることを示す。復旧処理としては、ポートコントローラ２１のＵＳＢ信号を、１００ｍｓ間Pull-Downし、未初期化状態をつくることが行われる。なお、Configコマンドはサーバ１からＵＳＢ機器に送信されるコマンドで、ＵＳＢ機器の情報の問合せ、ＵＳＢ機器の設定などに用いられるコマンドである。
【００３５】
２番目のエントリは、サーバ１からの初期化コマンド発行後のフェーズであるデバイス認識フェーズで、３分経過してもサーバ１からIntコマンドが発行されないとタイムアウトの異常が発生し、復旧処理が行われることを示す。復旧処理としては、ポートコントローラ２１のＵＳＢ信号を、１００ｍｓ間Pull-Downし、未初期化状態をつくることが行われる。
【００３６】
３番目のエントリは、サーバ１からのポーリングコマンド発行後のフェーズである通常使用フェーズで、サーバ１のポーリングから５００ｍｓ経過するとＫＶＭスイッチ２のＡＣＫ／ＮＡＣＫ発行タイムアウトという異常が発生し、復旧処理が行われることを示す。復旧処理としては、サーバ１に対しＫＶＭスイッチ２の代わりに、ＮＡＣＫを発行することが行われる。ここで、ＮＡＣＫは、Busyにつき応答できないことを示す。
【００３７】
４番目のエントリは、サーバ１からＫＶＭスイッチ２へ、Configコマンド「省電力フェーズ移行」発行後のフェーズである省電力フェーズにおける異常の発生と復旧処理を示す。ＫＶＭスイッチ２からの応答が「省電力フェーズ終了」の時、サーバ１の応答が「省電力フェーズ移行」の再発行という異常が発生すると、ＫＶＭスイッチ２のメインコントローラ２２に５００ｍｓ間「省電力モード終了」の応答を抑止させる復旧処理が行われる。
【００３８】
図１に戻って、検出部６５は、サーバ１とＫＶＭスイッチ２との間の通信を受信し、受信内容を分析部６６に渡す。分析部６６は、受信内容を分析テーブル６４の問題判定基準に基づいて分析し、通信に異常があるか否かを判定する。そして、分析部６６は、通信に異常があると判定すると、異常に対して分析テーブル６４が記憶する復旧処理の実行を第１命令部６７又は第２命令部６８に指示する。
【００３９】
また、分析部６６は、復旧が成功したか否かを判定し、成功した場合には監視装置６が監視を継続するように制御し、成功しなかった場合には監視装置６が動作を停止するように制御する。また、分析部６６は、発生した異常、復旧処理結果等を履歴テーブル６３に記録するように記録部６１に指示する。
【００４０】
第１命令部６７は、分析部６６の指示に基づいて、監視用ケーブルＡを介してＫＶＭスイッチ２の代わりにサーバ１に応答する。あるいは、第１命令部６７は、分析部６６の指示に基づいて、監視用ケーブルＡを介してポートコントローラ２１に指示を出す。第２命令部６８は、分析部６６の指示に基づいて、監視用ケーブルＢを介してメインコントローラ２２に指示を出す。
【００４１】
次に、サーバ１とＫＶＭスイッチ２との間の接続互換性の検証処理のフローについて説明する。図３は、サーバ１とＫＶＭスイッチ２との間の接続互換性の検証処理のフローを示すフローチャートである。図３に示すように、サーバ１は、一定回数再起動を繰り返し、再起動毎にステップＳ１とステップＳ９で挟まれた処理を行う。
【００４２】
再起動毎に行う処理として、まず接続確認フェーズにおいて、サーバ１は、サーバ１のＵＳＢポートにＵＳＢ機器が接続されている否かを判定する（ステップＳ２）。その結果、ＵＳＢ機器が接続されていない場合には、サーバ１は、通信制御上の問題発生と判定し（ステップＳ１０）、処理を終了する。
【００４３】
一方、サーバ１のＵＳＢポートにＵＳＢ機器が接続されている場合には、デバイス認識フェーズに移行し、デバイス認識フェーズにおいて、サーバ１は、接続されたＵＳＢ機器をＫＶＭスイッチ２と認識できたか否かを判定する（ステップＳ３）。その結果、ＫＶＭスイッチ２と認識できなかった場合には、サーバ１は、通信制御上の問題発生と判定し（ステップＳ１０）、処理を終了する。
【００４４】
一方、接続されたＵＳＢ機器をＫＶＭスイッチ２と認識できた場合には、サーバ１は、サーバ１−ＫＶＭスイッチ２間の通信を初期化し、コマンド通信を開始する（ステップＳ４）。そして、通常使用フェーズにおいて、サーバ１は、サーバ１−ＫＶＭスイッチ２間で一定間隔でコマンドの送信と応答の受信を実行する（ステップＳ５）。
【００４５】
そして、サーバ１は、省電力フェーズへ移行する条件として、３ｍｓ間ＫＶＭスイッチ２の状態に変化なしであるかを判定する（ステップＳ６）。その結果、３ｍｓ間ＫＶＭスイッチ２の状態に変化なしでない場合には、サーバ１は、ステップＳ５に戻る。
【００４６】
一方、３ｍｓ間ＫＶＭスイッチ２の状態に変化なしである場合には、サーバ１は、ＫＶＭスイッチ２に省電力状態になるように指示する（ステップＳ７）。そして、サーバ１は、再起動する条件として、初回の通常使用フェーズ移行から３分経過したか否かを判定し（ステップＳ８）、３分経過した場合には再起動し、３分経過していない場合にはステップＳ７へ戻る。
【００４７】
このように、サーバ１は、再起動を繰り返しながらＫＶＭスイッチ２との間で通信を行う。その間、監視装置６は、サーバ１とＫＶＭスイッチ２との間の通信を監視する。図４は、監視装置６の処理のフローを示すフローチャートである。
【００４８】
図４に示すように、監視装置６の検出部６５は、サーバ１とＫＶＭスイッチ２間の通信を受信し（ステップＳ１１）、分析部６６に渡す。分析部６６は、検出部６５の受信した通信が正常か否かを判定する（ステップＳ１２）。その結果、正常である場合には、監視装置６は、ステップＳ１１に戻る。
【００４９】
一方、異常である場合には、第１命令部６７又は第２命令部６８は、調整方法が確立している既知問題については復旧を試行し（ステップＳ１３）、分析部６６は、復旧したか否かを判定する（ステップＳ１４）。その結果、復旧した場合には、記録部６１は、正常動作に復旧したことを記録し（ステップＳ１５）、監視装置６は、ステップＳ１１に戻る。一方、復旧しなかった場合には、記録部６１は、正常動作に復旧しなかったことを記録し（ステップＳ１６）、監視装置６は動作を停止する（ステップＳ１７）。
【００５０】
このように、監視装置６が、サーバ１とＫＶＭスイッチ２間の通信に異常が発生した場合に、調整方法が確立している既知問題については復旧を試行することによって、復旧が成功した場合に、サーバ１は、接続互換性の検証処理を継続することができる。
【００５１】
次に、監視装置６の処理のフローの詳細について説明する。図５Ａは、フェーズ判定処理のフローを示すフローチャートであり、図５Ｂは、対応処理のフローを示すフローチャートである。なお、ここでは、監視装置６がポートコントローラ＃１に対応するポート＃１とサーバ＃１との間の通信を監視する場合について説明する。
【００５２】
図５Ａに示すように、監視装置６はポート＃１の監視を開始し（ステップＳ２１）、監視装置６の検出部６５はポート＃１の信号を取得する（ステップＳ２２）。そして、検出部６５は、Configコマンドを受信したか否かを判定し（ステップＳ２３）、Configコマンドを受信した場合には、Configコマンドの内容がSet  Feature（Remote  Wake  Up）であるか否かを判定する（ステップＳ２４）。ここで、Set  Feature（Remote  Wake  Up）は、ＵＳＢ機器に省電力フェーズ移行を指示する。
【００５３】
そして、Configコマンドの内容がSet  Feature（Remote  Wake  Up）である場合には、分析部６６はＫＶＭスイッチ２の状態を「省電力フェーズ」と判定する（ステップＳ２５）。一方、Configコマンドの内容がSet  Feature（Remote  Wake  Up）でない場合には、分析部６６はＫＶＭスイッチ２の状態を「デバイス認識フェーズ」と判定する（ステップＳ２６）。
【００５４】
また、Configコマンドを受信していない場合には、検出部６５は、Intコマンドを受信したか否かを判定し（ステップＳ２７）、受信した場合には、分析部６６は、ＫＶＭスイッチ２の状態を「通常使用フェーズ」と判定する（ステップＳ２８）。
【００５５】
一方、Intコマンドを受信していない場合には、検出部６５は、ＵＳＢ電源は入ったか否かを判定する（ステップＳ２９）。その結果、分析部６６は、ＵＳＢ電源が入った場合には、ＫＶＭスイッチ２の状態を「接続確認フェーズ」と判定し（ステップＳ３０）、入っていない場合には、図５Ｂに示すように、ＫＶＭスイッチ２の状態を「無接続」と判定する（ステップＳ４４）。そして、記録部６１が履歴テーブル６３にポート＃１、接続なしと記録し（ステップＳ４５）、監視装置６は処理を終了する。
【００５６】
また、分析部６６は、図５Ｂに示すように、「接続確認フェーズ」と判定した場合には、「接続確認フェーズ」の問題を監視し（ステップＳ３１）、接続確認フェーズで固有の問題は発生したか否かを判定する（ステップＳ３２）。その結果、問題が発生しなかった場合には、監視装置６は、ステップＳ２１に戻る。一方、問題が発生した場合には、監視装置６は、分析テーブル６３に記憶された「接続確認フェーズ」の復旧処理を試行し（ステップＳ３３）、分析部６６は、復旧したか否かを判定する（ステップＳ３４）。
【００５７】
その結果、復旧した場合には、監視装置６はステップＳ５１に進み、復旧しなかった場合には、監視装置６は、分析テーブル６３に記憶された「接続確認フェーズ」の復旧処理を再試行し（ステップＳ４６）、分析部６６は、復旧したか否かを判定する（ステップＳ４７）。その結果、復旧した場合には、監視装置６はステップＳ５１に進み、復旧しなかった場合には、分析部６６は故障の可能性ありと判定し（ステップＳ４８）、記録部６１が履歴テーブル６３に記録する（ステップＳ４９）。そして、監視装置６は処理を終了する。
【００５８】
また、分析部６６は、「デバイス認識フェーズ」と判定した場合には、「デバイス認識フェーズ」の問題を監視し（ステップＳ３５）、デバイス認識フェーズで固有の問題は発生したか否かを判定する（ステップＳ３６）。その結果、問題が発生しなかった場合には、監視装置６は、ステップＳ２１に戻る。一方、問題が発生した場合には、監視装置６は、分析テーブル６３に記憶された「デバイス認識フェーズ」の復旧処理を試行し（ステップＳ３７）、分析部６６は、復旧したか否かを判定する（ステップＳ５０）。
【００５９】
その結果、復旧した場合には、分析部６６は、既知問題と判定し（ステップＳ５１）、記録部６１が履歴テーブル６３に記録する（ステップＳ５２）。そして、監視装置６はステップＳ２１に戻る。一方、復旧しなかった場合には、分析部６６は未知問題と判定し（ステップＳ５３）、記録部６１が履歴テーブル６３に記録する（ステップＳ５４）。そして、監視装置６は処理を終了する。
【００６０】
また、分析部６６は、「通常使用フェーズ」と判定した場合には、「通常使用フェーズ」の問題を監視し（ステップＳ３８）、通常使用フェーズで固有の問題は発生したか否かを判定する（ステップＳ３９）。その結果、問題が発生しなかった場合には、監視装置６は、ステップＳ２１に戻る。一方、問題が発生した場合には、監視装置６は、分析テーブル６３に記憶された「通常使用フェーズ」の復旧処理を試行する（ステップＳ４０）。そして、監視装置６は、ステップＳ５０へ進む。
【００６１】
また、分析部６６は、「省電力フェーズ」と判定した場合には、「省電力フェーズ」の問題を監視し（ステップＳ４１）、省電力フェーズで固有の問題は発生したか否かを判定する（ステップＳ４２）。その結果、問題が発生しなかった場合には、監視装置６は、ステップＳ２１に戻る。一方、問題が発生した場合には、監視装置６は、分析テーブル６３に記憶された「省電力フェーズ」の復旧処理を試行する（ステップＳ４３）。そして、監視装置６は、ステップＳ５０へ進む。
【００６２】
このように、監視装置６は、サーバ１とＫＶＭスイッチ２との間の通信のフェーズ特定し、問題が発生すると、特定したフェーズ及び分析テーブル６３に基づいて復旧処理を行うことによって、既知問題に対して復旧処理を行うことができる。
【００６３】
次に、省電力フェーズの問題検出処理のフローについて説明する。図６Ａは、省電力フェーズの問題検出処理のフローを示すフローチャートである。なお、図６Ａの処理は、図５Ｂに示したステップＳ４２の処理に対応する。
【００６４】
図６Ａに示すように、分析部６６は、ＫＶＭスイッチ２からサーバ１へのResume要求を検出しているか否かを判定する（ステップＳ６１）。ここで、Resume要求とは、ＫＶＭスイッチ２からサーバ１への省電力フェーズ終了の要求である。そして、Resume要求を検出していない場合には、分析部６６は、Resume要求の検出を繰り返す。
【００６５】
一方、Resume要求を検出している場合には、分析部６６は、サーバ１からＫＶＭスイッチ２へのConfigコマンドはSet  Feature（Resume）か否かを判定する（ステップＳ６２）。ここで、Set  Feature（Resume）は、サーバ１からＫＶＭスイッチ２へのResume指示すなわち省電力フェーズ終了許可である。そして、ConfigコマンドがSet  Feature（Resume）である場合には、分析部６６は、問題発生なしと判定し（ステップＳ６３）、処理を終了する。
【００６６】
ＫＶＭスイッチ２は、サーバ１から省電力フェーズの終了許可が来ることを期待するが、サーバ１はすぐにResume指示を出せない場合もある。このとき、ＫＶＭスイッチ２の動作によっては、即座に（図６Ａでは１０ｍｓ）再度サーバ１へ省電力フェーズ終了を要求する場合がある。このような場合、ＫＶＭスイッチ２及びサーバ１によっては、このＫＶＭスイッチ２からのResume要求（通常使用フェーズへの復帰要求）とサーバ１からのRemote  Wake  Up要求（省電力モード維持の要求）が繰り返される。その結果、ＫＶＭスイッチ２はサーバ１と通信ができなくなる。
【００６７】
そこで、ConfigコマンドがSet  Feature（Resume）でない場合には、分析部６６は、サーバ１からＫＶＭスイッチ２へのConfigコマンドはSet  Feature（Remote  Wake  Up）か否かを判定する（ステップＳ６４）。その結果、Set  Feature（Remote  Wake  Up）でない場合には、分析部６６は、ステップＳ６１に戻る。
【００６８】
一方、Set  Feature（Remote  Wake  Up）である場合には、分析部６６は、ＫＶＭスイッチ２からサーバ１へのResume要求を１０ｍｓ以内に再度検出しているか否かを判定する（ステップＳ６５）。その結果、分析部６６は、Resume要求を１０ｍｓ以内に再度検出している場合には、問題発生と判定し（ステップＳ６６）、Resume要求を１０ｍｓ以内に再度検出していない場合には、問題発生なしと判定する（ステップＳ６３）。
【００６９】
このように、分析部６６は、ＫＶＭスイッチ２からサーバ１へのResume要求とサーバ１からＫＶＭスイッチ２への省電力フェーズ終了許可に基づいて、省電力フェーズで発生する問題を検出することができる。
【００７０】
次に、省電力フェーズの復旧処理のフローについて説明する。図６Ｂは、省電力フェーズの復旧処理のフローを示すフローチャートである。なお、図６Ｂの処理は、図５Ｂに示したステップＳ４３の処理に対応する。
【００７１】
図６Ｂに示すように、分析部６６は分析テーブル６４の復旧処理を第２命令部６８へ通知し（ステップＳ７１）、第２命令部６８はＫＶＭスイッチ２のメインコントローラ２２へ、Resume要求を５００ｍｓ間発行しない様に命令する（ステップＳ７２）。そして、分析部６６は、ＫＶＭスイッチ２からサーバ１へのResume要求を検出しているか否かを判定し（ステップＳ７３）、検出していない場合には、検出を繰り返す。
【００７２】
一方、Resume要求を検出している場合には、分析部６６は、サーバ１からＫＶＭスイッチ２へのConfigコマンドはSet  Feature（Resume）か否かを判定する（ステップＳ７４）。その結果、ConfigコマンドがSet  Feature（Resume）である場合には、分析部６６は、問題は復旧したと判定する（ステップＳ７５）。そして、記録部６１が、履歴テーブル６３へ、ポート番号、問題発生フェーズすなわち「省電力フェーズ」、発生問題、「正常」を記録する（ステップＳ７６）。
【００７３】
一方、ConfigコマンドがSet  Feature（Resume）でない場合には、分析部６６は、問題は復旧していないと判定する（ステップＳ７７）。そして、記録部６１が、履歴テーブル６３へ、ポート番号、問題発生フェーズすなわち「省電力フェーズ」、発生問題、「異常」を記録し（ステップＳ７８）、監視装置６は動作を停止する（ステップＳ７９）。
【００７４】
このように、第２命令部６８が分析テーブル６４に記憶された復旧処理を実行することによって、復旧が成功した場合には、サーバ１は接続互換性の検証処理を継続することができる。
【００７５】
次に、デバイス認識フェーズの問題検出処理のフローについて説明する。図７Ａは、デバイス認識フェーズの問題検出処理のフローを示すフローチャートである。なお、図７Ａの処理は、図５Ｂに示したステップＳ３６の処理に対応する。
【００７６】
図７Ａに示すように、分析部６６は、サーバ１からIntコマンドが発行されたか否かを判定し（ステップＳ８１）、Intコマンドが発行された場合には、通常使用フェーズへ移行するので、問題なしと判定する（ステップＳ８２）。
【００７７】
一方、Intコマンドが発行されない場合には、分析部６６は、デバイス認識フェーズに入って、３分間経過したか否かを判定し（ステップＳ８３）、３分間経過していない場合には、ステップＳ８１に戻る。
【００７８】
一方、デバイス認識フェーズに入って３分間経過した場合には、３分間経過しても通常使用フェーズへ移行しないので、分析部６６は、問題発生と判定する（ステップＳ８４）。
【００７９】
このように、分析部６６は、デバイス認識フェーズに入って３分間経過する前にIntコマンドが発行されたか否かを判定することによって、デバイス認識フェーズでの問題発生を検出することができる。
【００８０】
次に、デバイス認識フェーズの復旧処理のフローについて説明する。図７Ｂは、デバイス認識フェーズの復旧処理のフローを示すフローチャートである。なお、図７Ｂの処理は、図５Ｂに示したステップＳ３７の処理に対応する。
【００８１】
図７Ｂに示すように、分析部６６は分析テーブル６４の復旧処理を第１命令部６７へ通知し（ステップＳ９１）、第１命令部６７は復旧処理を指示する（ステップＳ９２）。具体的には、第１命令部６７は、サーバ１−ＫＶＭスイッチ２間の信号（Ｄ＋，Ｄ−）を１００ｍｓ間、Lowとするように指示することによって、再初期化を促し、再度デバイス認識フェーズを最初から実行させる。
【００８２】
そして、分析部６６は、サーバ１からConfigコマンドは発行されたか否かを判定し（ステップＳ９３）、Configコマンドが発行された場合には、サーバ１からIntコマンドが発行されたか否かを判定する（ステップＳ９４）。その結果、サーバ１からIntコマンドが発行された場合には、分析部６６は、問題は復旧したと判定する（ステップＳ９５）。そして、記録部６１が、履歴テーブル６３へ、ポート番号、問題発生フェーズすなわち「デバイス認識フェーズ」、発生問題、「正常」を記録する（ステップＳ９６）。
【００８３】
一方、Intコマンドが発行されない場合には、分析部６６は、デバイス認識フェーズに入って、３分間経過したか否かを判定し（ステップＳ９７）、３分間経過していない場合には、ステップＳ９４に戻る。
【００８４】
一方、デバイス認識フェーズに入って３分間経過した場合には、３分間経過しても通常使用フェーズへ移行しないので、分析部６６は、ステップＳ９９へ進む。また、サーバ１からConfigコマンドが発行されていない場合には、分析部６６は、復旧処理の実行から１分経過したか否かを判定し（ステップＳ９８）、１分経過していない場合には、ステップＳ９３に戻る。
【００８５】
一方、１分経過した場合には、分析部６６は、問題は復旧していないと判定する（ステップＳ９９）。そして、記録部６１が、履歴テーブル６３へ、ポート番号、問題発生フェーズすなわち「デバイス認識フェーズ」、発生問題、「異常」を記録し（ステップＳ１００）、監視装置６は動作を停止する（ステップＳ１０１）。
【００８６】
このように、第１命令部６７が分析テーブル６４に記憶された復旧処理を実行することによって、復旧が成功した場合には、サーバ１は接続互換性の検証処理を継続することができる。
【００８７】
上述してきたように、実施例では、分析テーブル６４にサーバ１とＫＶＭスイッチ２との間の通信について既知問題に対する復旧処理を記憶する。そして、検出部６５がサーバ１とＫＶＭスイッチ２との間の通信を検出し、分析部６６が通信が正常に行われているか否かを判定する。そして、通信に異常がある場合に、第１命令部６７又は第２命令部６８が分析テーブル６４に基づいて復旧処理を行う。したがって、復旧処理が成功した場合には、サーバ１は接続互換性の検証を継続して行うことができ、検証の作業期間を短縮することができる。
【００８８】
また、実施例では、分析部６６は、通信のフェーズ毎に異常検出と復旧処理を行う。したがって、監視装置６は、正確な異常検出と適切な復旧処理を行うことができる。
【００８９】
なお、実施例では、記録部６１及び分析部６６について説明したが、記録部６１及び分析部６６が有する機能をソフトウェアで実現することもできる。そこで、記録部６１及び分析部６６が有する機能をソフトウェアで実現する監視装置について説明する。
【００９０】
図８は、記録部６１及び分析部６６が有する機能をソフトウェアで実現する監視装置７の構成を示す図である。図８に示すように、監視装置７は、起動用ＲＯＭ（Read  Only  Memory）７１と、ＣＰＵ（Central  Processing  Unit）７２と、ＲＡＭ（Random  Access  Memory）７３と、Ｆｌａｓｈメモリ７４と、検出部７５と、第１命令部７６と、第２命令部７７とを有する。
【００９１】
起動用ＲＯＭ７１は、記録部６１及び分析部６６が有する機能を実現する監視プログラムを記憶する読出し専用メモリである。ＣＰＵ７２は、起動用ＲＯＭ７１から監視プログラムを読み出して実行する中央処理装置である。ＲＡＭ７３は、監視プログラムの実行途中結果などを記憶するメモリである。ＲＡＭ７３は、コマンドバッファ６２としても用いられる。
【００９２】
Ｆｌａｓｈメモリ７４は、分析テーブル６４及び履歴テーブル６３を記憶する不揮発性メモリである。検出部７５、第１命令部７６及び第２命令部７７は、それぞれ図１に示した検出部６５、第１命令部６７及び第２命令部６８に対応する。起動用ＲＯＭ７１、ＣＰＵ７２、ＲＡＭ７３、Ｆｌａｓｈメモリ７４、検出部７５、第１命令部７６及び第２命令部７７はバス７８で接続される。
【００９３】
また、実施例では、ＫＶＭスイッチ２にキーボード３、マウス４及びモニター５を接続する場合について説明したが、本発明はこれに限定されるものではなく、同様のスイッチに録画装置など他の周辺装置を接続する場合にも同様に適用することができる。
【００９４】
また、実施例では、ＫＶＭスイッチ２でサーバ１を切り替える場合について説明したが、本発明はこれに限定されるものではなく、ＫＶＭスイッチ２で他のコンピュータを切り替える場合にも同様に適用することができる。
【符号の説明】
【００９５】
１    サーバ
２    ＫＶＭスイッチ
３    キーボード
４    マウス
５    モニター
６，７    監視装置
１０    情報処理システム
１１    再起動スクリプト
２１    ポートコントローラ
２２    メインコントローラ
６１    記録部
６２    コマンドバッファ
６３    履歴テーブル
６４    分析テーブル
６５，７５    検出部
６６    分析部
６７，７６    第１命令部
６８，７７    第２命令部
７１    起動用ＲＯＭ
７２    ＣＰＵ
７３    ＲＡＭ
７４    Ｆｌａｓｈメモリ
７８    バス
【図１】
0006369162.tif 000002
【図２Ａ】
0006369162.tif 000003
【図２Ｂ】
0006369162.tif 000004
【図２Ｃ】
0006369162.tif 000005
【図３】
0006369162.tif 000006
【図４】
0006369162.tif 000007
【図５Ａ】
0006369162.tif 000008
【図５Ｂ】
0006369162.tif 000009
【図６Ａ】
0006369162.tif 000010
【図６Ｂ】
0006369162.tif 000011
【図７Ａ】
0006369162.tif 000012
【図７Ｂ】
0006369162.tif 000013
【図８】
0006369162.tif 000014
【図９】
0006369162.tif 000015