(57)【特許請求の範囲】
【請求項１】
ＩＯカードを介して外部装置との通信処理を実行する通信処理実行手段と前記ＩＯカードとを、互いに信号の伝送特性が異なる複数の通信経路の何れかを、前記通信経路が確立される際に外部からの指示により選択することによって通信可能に接続するＩＯカード接続手段と、
前記複数の通信経路の何れかによって前記通信処理実行手段と前記ＩＯカードとが接続されているときに、前記通信処理におけるエラーの発生状況を取得して、前記発生状況が所定の条件を満たすか否かを判定する判定手段と、
前記通信経路ごとに、前記判定手段による判定実績を表す状態管理情報を記憶する記憶手段と、
前記記憶手段に記憶された前記状態管理情報に基づいて、前記通信処理におけるエラーの発生状況が前記所定の条件を満たすことが発生していない前記通信経路を選択するように前記ＩＯカード接続手段を制御する制御手段と、
を備える入出力制御装置。
【請求項２】
前記ＩＯカード接続手段は、互いに長さが異なる前記複数の通信経路の何れかを選択する、
請求項１に記載の入出力制御装置。
【請求項３】
前記判定手段は、前記通信処理に関する動作環境を示す設定情報が前記通信処理実行手段に対して設定されている場合に、前記発生状況が所定の条件を満たすか否かを判定し、
前記記憶手段は、前記設定情報の内容と、前記判定実績とを関連付けた前記状態管理情報を記憶し、
前記制御手段は、前記通信処理におけるエラーの発生状況が前記所定の条件を満たすことが発生していない前記設定情報を、前記通信経路が確立される際に、前記通信処理実行手段に設定する、
請求項１または２に記載の入出力制御装置。
【請求項４】
自装置内の温度を測定する温度測定手段をさらに備え、
前記記憶手段は、前記判定手段が前記発生状況が所定の条件を満たすか否かを判定したときの、前記温度測定手段による温度測定結果と、前記判定実績とを関連付けた前記状態管理情報を記憶し、
前記制御手段は、前記通信経路が確立される際に温度測定手段によって測定された温度において、前記通信処理におけるエラーの発生状況が前記所定の条件を満たすことが発生していない前記通信経路を選択するように前記ＩＯカード接続手段を制御する、
請求項３に記載の入出力制御装置。
【請求項５】
前記制御手段は、前記通信経路が確立される際に温度測定手段によって測定された温度において、前記通信処理におけるエラーの発生状況が前記所定の条件を満たすことが発生していない前記設定情報を、前記通信経路が確立される際に、前記通信処理実行手段に設定する、
請求項４に記載の入出力制御装置。
【請求項６】
前記制御手段は、前記判定手段が前記所定の条件を満たす前記通信処理におけるエラーが発生したと判定した場合に、前記ＩＯカード接続手段に対して前記通信経路を順次変更するように制御するとともに、前記ＩＯカードに内容が異なる前記設定情報を順次設定することによって、前記通信経路と前記設定情報の内容との組み合わせごとに、前記通信処理実行手段に前記通信処理を行うように制御し、
前記記憶手段は、前記通信経路と前記設定情報の内容との組み合わせごとに、前記判定手段による判定結果を、前記温度測定手段による温度測定結果と関連付けて、前記状態管理情報として記憶する、
請求項５に記載の入出力制御装置。
【請求項７】
前記制御手段は、前記記憶手段に記憶された前記状態管理情報において、前記通信処理におけるエラーの発生状況が前記所定の条件を満たすことが発生していない前記通信経路と前記設定情報の内容との組み合わせを選択し、選択した組み合わせについて、前記通信処理実行手段に前記通信処理を行うように制御する、
請求項６に記載の入出力制御装置。
【請求項８】
前記判定手段は、送信機能及び受信機能ごとに前記設定情報が設定された前記ＩＯカードと前記通信処理実行手段とが接続されている場合に、前記送信機能及び前記受信機能ごとに前記発生状況が所定の条件を満たすか否かを判定し、
前記記憶手段は、前記送信機能及び前記受信機能ごとに、前記設定情報と、前記判定実績と、を関連付けた前記状態管理情報を記憶する、
請求項３乃至７のいずれか一項に記載の入出力制御装置。
【請求項９】
情報処理装置によって、
ＩＯカードを介して外部装置との通信処理を実行する通信処理実行手段と前記ＩＯカードとを、互いに信号の伝送特性が異なる複数の通信経路の何れかを、前記通信経路が確立される際に選択することによって通信可能に接続し、
前記複数の通信経路の何れかによって前記通信処理実行手段と前記ＩＯカードとが接続されているときに、前記通信処理におけるエラーの発生状況を取得して、前記発生状況が所定の条件を満たすか否かを判定し、
前記通信経路ごとに、前記発生状況に関する判定実績を表す状態管理情報を記憶手段に記憶し、
前記記憶手段に記憶された前記状態管理情報に基づいて、前記通信処理におけるエラーの発生状況が前記所定の条件を満たすことが発生していない前記通信経路を、前記通信経路が確立される際に選択する、
入出力制御方法。
【請求項１０】
ＩＯカードを介して外部装置との通信処理を実行する通信処理実行手段と前記ＩＯカードとを、互いに信号の伝送特性が異なる複数の通信経路の何れかを、前記通信経路が確立される際に外部からの指示により選択することによって通信可能に接続するＩＯカード接続処理と、
前記複数の通信経路の何れかによって前記通信処理実行手段と前記ＩＯカードとが接続されているときに、前記通信処理におけるエラーの発生状況を取得して、前記発生状況が所定の条件を満たすか否かを判定する判定処理と、
前記通信経路ごとに、前記判定処理による判定実績を表す状態管理情報を記憶手段に記憶する記憶処理と、
前記記憶手段に記憶された前記状態管理情報に基づいて、前記通信処理におけるエラーの発生状況が前記所定の条件を満たすことが発生していない前記通信経路を選択するように前記ＩＯカード接続処理を制御する制御処理と、
をコンピュータに実行させるための入出力制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、入出力制御装置によって、ＩＯ（Input Output）カードとの間でデータを送受信することを制御する技術に関する。
【背景技術】
【０００２】
近年、PCI Express（登録商標）インタフェースの高速化（Gen3（第３世代）の場合、８Gbps（Giga bit per second)／レーン）等、ＩＯインタフェースの高速化が進んでいる。このような高速ＩＯインタフェースにおいては、データを高品質に送受信することを効率的に実現する技術が期待されている。
【０００３】
このような技術の一例として、特許文献１には、通信ネットワークにより互いに接続されたシステムにおいて、通信経路に異常が発生した場合に、代替えの通信経路を使用することによってコネクションを継続できるようにしたシステムが開示されている。
【０００４】
また、特許文献２には、未使用のスロットに物理的に接続された通信リンク用の配線を、有効活用するようにしたシステムが開示されている。このシステムは、基板の上に配置されたスイッチ回路と、コネクタを有するモジュールと、を備えている。このスイッチ回路は、２つの上位側ポートと少なくとも１つの下位側ポートの間でデータ中継を行なうことを可能とする。当該コネクタは、当該スイッチ回路を含む基板上の複数の回路のいずれかに、通信リンク用の配線により接続されている。
【０００５】
また、特許文献３には、画像データ処理用デバイスの実装状態の相違がその出力信号の特性に与える影響を抑制するようにした装置が開示されている。この装置が備える特性調整回路は、例えばバッファアンプを有する。この特性調整回路は、バッファアンプの周辺素子の接続状態、あるいは、周辺素子の素子定数等を変化させることによって、当該特性調整回路から出力される信号伝送線に対する出力特性を調整する。
【０００６】
また、特許文献４には、ケーブルの特性が変わってしまった場合でも、適切な値を設定する装置が開示されている。この装置は、シリアルデータとパラレルデータとを相互変換する機能を備える通信回路を用いて付加装置と接続するケーブルの種類毎に定められたケーブル特性値を予め記憶する。この装置は、当該付加装置と行う通信を最適状態に設定する通信パラメータ値をケーブル特性値と関連付けて記憶する。この装置は、付加装置と接続するケーブルのケーブル特性値から決定する通信パラメータ値を、当該通信回路に設定する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平07-240756号公報
【特許文献２】特開2010-79383号公報
【特許文献３】特開2011-61641号公報
【特許文献４】特開2015-156576号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
PCI Express インタフェース等のＩＯインタフェースでは、リンクトレーニング（リンクテスト）中に、データの送受信に関する入出力特性を調整することによって、データを送受信する環境を最適化している。しかしながら、ＩＯカードごとの特性のばらつきによって、コレクタブルエラー（以降、エラーと称する）が多発する場合がある。このような場合、情報処理装置において、エラーが発生したＩＯカードを実装するスロットを、例えば別のスロットに変更することによって、エラーの発生が改善されることが多い。すなわちこの場合、発生したエラーは、当該ＩＯカードの固定故障に起因するのではなく、当該ＩＯカードが有する特性と情報処理装置におけるＩＯカードを実装する環境（実装環境）との関係に起因すると考えられる。このような実装環境としては、例えば、情報処理装置においてＩＯコントローラとＩＯカードとを接続する通信経路が有する信号の伝送特性（例えば当該通信経路の長さ等）、あるいは、情報処理装置内の温度等が考えられる。
【０００９】
このように、個々のＩＯカードが有する特性と、実装環境との関係によって、ＩＯインタフェースにおけるエラーが多発することがあるので、このようなエラーが発生することを回避することが課題である。特許文献１乃至４は、この課題について言及していない。本願発明の主たる目的は、この問題を解決した入出力制御装置等を提供することである。
【課題を解決するための手段】
【００１０】
本願発明の一態様に係る入出力制御装置は、ＩＯカードを介して外部装置との通信処理を実行する通信処理実行手段と前記ＩＯカードとを、互いに信号の伝送特性が異なる複数の通信経路の何れかを、前記通信経路が確立される際に外部からの指示により選択することによって通信可能に接続するＩＯカード接続手段と、前記複数の通信経路の何れかによって前記通信処理実行手段と前記ＩＯカードとが接続されているときに、前記通信処理におけるエラーの発生状況を取得して、前記発生状況が所定の条件を満たすか否かを判定する判定手段と、前記通信経路ごとに、前記判定手段による判定実績を表す状態管理情報を記憶する記憶手段と、前記記憶手段に記憶された前記状態管理情報に基づいて、前記所定の条件を満たす前記通信処理におけるエラーが発生していない前記通信経路を選択するように前記ＩＯカード接続手段を制御する制御手段と、を備える。
【００１１】
上記目的を達成する他の見地において、本願発明の一態様に係る入出力制御方法は、情報処理装置によって、ＩＯカードを介して外部装置との通信処理を実行する通信処理実行手段と前記ＩＯカードとを、互いに信号の伝送特性が異なる複数の通信経路の何れかを、前記通信経路が確立される際に選択することによって通信可能に接続し、前記複数の通信経路の何れかによって前記通信処理実行手段と前記ＩＯカードとが接続されているときに、前記通信処理におけるエラーの発生状況を取得して、前記発生状況が所定の条件を満たすか否かを判定し、前記通信経路ごとに、前記発生状況に関する判定実績を表す状態管理情報を記憶手段に記憶し、前記記憶手段に記憶された前記状態管理情報に基づいて、前記所定の条件を満たす前記通信処理におけるエラーが発生していない前記通信経路を、前記通信経路が確立される際に選択する。
【００１２】
また、上記目的を達成する更なる見地において、本願発明の一態様に係る入出力制御プログラムは、ＩＯカードを介して外部装置との通信処理を実行する通信処理実行手段と前記ＩＯカードとを、互いに信号の伝送特性が異なる複数の通信経路の何れかを、前記通信経路が確立される際に外部からの指示により選択することによって通信可能に接続するＩＯカード接続処理と、前記複数の通信経路の何れかによって前記通信処理実行手段と前記ＩＯカードとが接続されているときに、前記通信処理におけるエラーの発生状況を取得して、前記発生状況が所定の条件を満たすか否かを判定する判定処理と、前記通信経路ごとに、前記判定処理による判定実績を表す状態管理情報を記憶手段に記憶する記憶処理と、前記記憶手段に記憶された前記状態管理情報に基づいて、前記所定の条件を満たす前記通信処理におけるエラーが発生していない前記通信経路を選択するように前記ＩＯカード接続処理を制御する制御処理と、をコンピュータに実行させるためのプログラムである。
【００１３】
更に、本願発明は、係る入出力制御プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【００１４】
本願発明は、ＩＯカードが有する特性と、当該ＩＯカードを実装する環境との関係に起因して、データを送受信する際に発生するエラーを回避することを可能とする。
【図面の簡単な説明】
【００１５】
【図１】本願発明の第１の実施形態に係る入出力制御装置１０の構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係る判定部１３の構成を示すブロック図である。
【図３】本願発明の第１の実施形態に係る状態管理テーブル１４０−０の構成を例示する図である。
【図４】本願発明の第１の実施形態に係る送受信プリセットレジスタ１４１に設定する値を例示する図である。
【図５Ａ】本願発明の第１の実施形態に係る入出力制御装置１０の動作を示すフローチャート（１／４）である。
【図５Ｂ】本願発明の第１の実施形態に係る入出力制御装置１０の動作を示すフローチャート（２／４）である。
【図５Ｃ】本願発明の第１の実施形態に係る入出力制御装置１０の動作を示すフローチャート（３／４）である。
【図５Ｄ】本願発明の第１の実施形態に係る入出力制御装置１０の動作を示すフローチャート（４／４）である。
【図６】本願発明の第２の実施形態に係る入出力制御装置３０の構成を示すブロック図である。
【図７】本願発明の各実施形態に係る入出力制御装置を実行可能な情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
＜第１の実施形態＞
図１は、本願発明の第１の実施の形態に係る入出力制御装置１０を概念的に示すブロック図である。入出力制御装置１０は、例えば、サーバ装置等のホスト装置（情報処理装置）に搭載された、ＩＯカード２０との間で送受信するデータを処理するＩＯコントローラである。ＩＯカード２０は、例えば、PCI Expressカードであり、ストレージ装置等の周辺装置（不図示）を当該ホスト装置に接続する。ＩＯカード２０は、PCI Expressとは異なる仕様のＩＯインタフェースを制御するデバイスであってもよい。
【００１８】
入出力制御装置１０は、大別して、通信処理実行部１１、ＩＯカード接続部１２、判定部１３、記憶部１４、制御部１５、タイマー部１６、及び、温度センサ１７を備えている。
【００１９】
通信処理実行部１１は、専用リクエスト発行部１１０、リクエスト切り替え部１１１、トランザクション層処理部１１２、データリンク層処理部１１３、及び、物理層処理部１１４を備えている。
【００２０】
専用リクエスト発行部１１０は、入出力制御装置１０がＩＯカード２０との間のリンク状態を診断する際に動作する。専用リクエスト発行部１１０は、この際、入出力制御装置１０とＩＯカード２０との間において行われるデータの送受信を高負荷な状態にするように、発行元を自装置とした専用リクエスト（診断用のリクエスト）を連続して発行する。この専用リクエストに対する自装置宛のリプライは、通信処理実行部１１によって刈り取られる（処理される）。
【００２１】
この専用リクエストの発行を継続する時間は、タイマー部１６に備えられた専用リクエストタイマー１６１に設定されている。専用リクエストタイマー１６１は、専用リクエスト発行部１１０が専用リクエストを発行し始めてからの経過時間を計時する。専用リクエスト発行部１１０は、その経過時間がタイムアウト時間に達したときに、専用リクエストの発行を終了する。
【００２２】
リクエスト切り替え部１１１は、入出力制御装置１０を搭載するホスト装置によって発行された通常リクエストと、専用リクエスト発行部１１０によって発行された専用リクエストとを、外部からの指示を受けることによって、切り替えて出力する。すなわち、リクエスト切り替え部１１１は、入出力制御装置１０がＩＯカード２０との間のリンク状態を診断するときは専用リクエストを出力し、それ以外のときは通常リクエストを出力する。
【００２３】
トランザクション層処理部１１２、データリンク層処理部１１３、及び、物理層処理部１１４は、順に、PCI Express規格において規定されている、トランザクションレイヤ、データリンクレイヤ、及び、フィジカルレイヤにおける通信処理を行う。物理層処理部１１４は、リンクトレーニングに関する処理を行う。尚、これらレイヤの仕様については、一般的に知られているので、その詳細の説明は省略する。
【００２４】
ＩＯカード接続部１２は、ポート選択部１２０及び１２１と、ポート選択部１２０とポート選択部１２１とを接続する２つのポート（通信経路）とを備えている。ポート選択部１２０は、通信処理実行部１１０と接続され、ポート選択部１２１は、ＩＯカード２０と接続されている。ポート選択部１２０及び１２１は、外部からの指示によって、通信処理実行部１１０とＩＯカード２０との間の通信経路として、２つのポート０及び１の何れかを選択する。ポート０及び１は、互いに信号の伝送特性が異なる通信経路であり、本実施形態では、その長さが異なるとする。本実施形態では、例えば、ポート０の長さは、PCI Express規格により規定される最長及び最短の線長の平均値よりも短くし、ポート１の長さは、当該平均値よりも長くすることとする。
【００２５】
なお、ポート０及び１は、例えば、ポートを形成するプリント基板上のパターン線あるいはケーブルの太さ、あるいは、ポートを形成する材質等が異なることによって、互いに信号の伝送特性が異なるようにしてもよい。また、ＩＯカード接続部１２が備えるポートの数は２つに限定されず、ＩＯカード接続部１２は、互いに信号の伝送特性が異なる３つ以上のポートを備えてもよい。
【００２６】
判定部１３は、通信処理実行部１１によって検出された、ＩＯカード２０との間の通信処理において発生したエラーの発生状況が、所定の条件を満たすか否かを判定する。図２は、本実施形態に係る判定部１３の構成を例示するブロック図である。図２に示す通り、判定部１３は、送信エラーカウンタ１３１、受信エラーカウンタ１３２、エラー閾値格納部１３３、比較回路１３４及び１３５、及びＯＲ（論理和）回路１３６と、を備えている。
【００２７】
本実施形態では、ＩＯカード２０との間の通信処理において発生した送信エラーは、トランザクション層処理部１１２によって検出される。したがって、送信エラーカウンタ１３１は、トランザクション層処理部１１２から出力された、送信エラーを通知する信号を受信するごとに、カウントアップすることによって、送信エラーの発生回数を記憶する。
【００２８】
本実施形態では、ＩＯカード２０との間の通信処理において発生した受信エラーは、トランザクション層処理部１１２と、データリンク層処理部１１３と、物理層処理部１１４とによって検出される。トランザクション層処理部１１２、データリンク層処理部１１３、及び、物理層処理部１１４からそれぞれ出力された受信エラーを通知する信号は、図１に示すＯＲ回路１３０を介して、受信エラーカウンタ１３２に入力される。したがって、受信エラーカウンタ１３２は、ＯＲ回路１３０から出力された、受信エラーを通知する信号を受信するごとに、カウントアップすることによって、受信エラーの発生回数を記憶する。
【００２９】
エラー閾値格納部１３３には、判定部１３がＩＯカード２０との間の通信処理において発生したエラーの発生状況が所定の条件を満たすか否かを判定する際の基準となる、エラーの発生回数に関するエラー閾値が記憶されている。このエラー閾値は、例えば、入出力制御装置１０を管理する管理者等によって決められた値である。エラー閾値格納部１３３は、送信エラー及び受信エラーに関して、互いに異なるエラー閾値を記憶してもよい。
【００３０】
比較回路１３４は、送信エラーカウンタ１３１から出力された値と、エラー閾値格納部１３３に記憶されたエラー閾値とを比較して、これらの値が等しくなったことを示す信号を出力する。比較回路１３５は、受信エラーカウンタ１３２から出力された値と、エラー閾値格納部１３３に記憶されたエラー閾値とを比較して、これらの値が等しくなったことを示す信号を出力する。ＯＲ回路１３６は、比較回路１３４及び１３５から出力された信号の論理和を、制御部１５に入力する。
【００３１】
判定部１３は、所定の時間ごとに、送信エラーカウンタ１３１及び受信エラーカウンタ１３２の値をリセットする。この所定の時間は、図１に示すタイマー部１６に備えられたエラーカウンタタイマー１６２によって計時される。すなわち、本実施形態に係る判定部１３は、この所定の時間内に発生した送信エラー及び受信エラーの回数が、エラー閾値に達したか否かを判定する。
【００３２】
判定部１３は、また、入出力制御装置１０によるリンクアップ（入出力制御装置１０とＩＯカード２０との間で接続経路が確立される）が行われる際に、タイムアウトが発生したか否かを判定する。このタイムアウトを判定する際の基準となるタイムアウト時間は、タイマー部１６に備えられたリンクチェックタイマー１６０に設定されている。リンクチェックタイマー１６０は、リンクトレーニング開始からの経過時間を計時し、その経過時間がタイムアウト時間に達したときに、タイムアウト時間に達したことを判定部１３に通知する。判定部１３は、経過時間がタイムアウト時間に達したときにリンクアップが完了していない場合、入出力制御装置１０とＩＯカード２０との間でリンクエラーが発生したと判定する。
【００３３】
温度センサ（温度測定手段）１７は、入出力制御装置１０における適切な場所に設置され、入出力制御装置の温度を測定する。温度センサ１７は、その測定結果を、随時、制御部１５へ通知する。
【００３４】
記憶部１４は、電子メモリあるいは磁気ディクス等の記憶デバイスである。記憶部１４は、状態管理テーブル１４０−０及び１４０−１、送受信プリセットレジスタ１４１、診断指示フラグ１４２、専用リクエスト有効フラグ１４３、リトレーニング指示フラグ１４４、及び、ポート選択フラグ１４５を記憶している。記憶部１４に記憶されたこれらのデータ（情報）は、制御部１５によって更新される。
【００３５】
診断指示フラグ１４２は、入出力制御装置１０を搭載するホスト装置が立ち上がる際に当該ホスト装置から発行された、診断実行指示を示す１ビットのフラグである。診断指示フラグ１４２は、「１」が設定されたときに、入出力制御装置１０が自装置を診断する処理を開始することを表す。
【００３６】
専用リクエスト有効フラグ１４３は、専用リクエスト発行部１１０に対して、専用リクエストの発行を指示する１ビットのフラグである。専用リクエスト有効フラグ１４３は、「１」が設定されたときに、専用リクエスト発行部１１０が専用リクエストの発行を開始することを表す。専用リクエスト有効フラグ１４３が示す値は、リクエスト切り替え部１１１へ入力される。専用リクエスト有効フラグ１４３は、「１」が設定されている場合に、リクエスト切り替え部１１１が専用リクエストを出力することを表す。
【００３７】
リトレーニング指示フラグ１４４は、物理層処理部１１４に対して、リンクのリトレーニングの実行を指示する１ビットのフラグである。リトレーニング指示フラグ１４４は、入出力制御装置１０が自装置を診断中に、ＩＯカード接続部１２によるポートの切り替えが行われた場合、あるいは、送受信プリセットレジスタ１４１が更新された場合に、制御部１５によって「１」から「０」に設定される。
【００３８】
ポート選択フラグ１４５は、ポート選択部１２０及び１２１に対して、通信処理実行部１１とＩＯカード２０とを接続するポートの選択を指示する１ビットのフラグである。ポート選択フラグ１４５は、「０」が設定されている場合に、ポート選択部１２０及び１２１がポート０を選択し、「１」が設定されている場合に、ポート選択部１２０及び１２１がポート１を選択することを表す。
【００３９】
状態管理テーブル１４０−０及び１４０−１は、順に、ポート０及び１について、判定部１３によるエラーの発生状況に関する判定実績を管理するテーブルである。図３は、本実施形態に係る状態管理テーブル１４０−０の構成を例示する図である。尚、状態管理テーブル１４０−１の構成も、状態管理テーブル１４０−０と同様である。
【００４０】
図３に例示する通り、状態管理テーブル１４０−０は、エントリ番号１４０−０−１、送信側プリセット値１４０−０−２、受信側プリセット値１４０−０−３、ステータス情報１４０−０−４、及び、運用中フラグ１４０−０−５という項目を含む複数（９個）のエントリによって構成されている。尚、状態管理テーブル１４０−０が含むエントリの数は９個に限定されない。また、これらのエントリは、図３に示す項目以外の情報を含んでもよい。
【００４１】
エントリ番号１４０−０−１は、エントリを識別可能な識別子である。送信側プリセット値１４０−０−２及び受信側プリセット値１４０−０−３は、PCI Express規格において規定されている、リンクトレーニング時において通信処理実行部１１に対して入出力特性を調整する際に使用される値（設定情報）を示す。この入出力特性を調整する際に使用される値は、記憶部１４における送受信プリセットレジスタ１４１に記憶されている。通信処理実行部１１における物理層処理部１１４は、リンクトレーニングを行う際に、送受信プリセットレジスタ１４１に記憶された値を読み込むことによって、当該入出力特性を調整する。
【００４２】
図４は、本実施形態に係る送受信プリセットレジスタ１４１に設定する値を例示する図である。図４に例示する通り、送受信プリセットレジスタ１４１は、送信プリセットレジスタ１４１−１、及び、受信プリセットレジスタ１４１−２を含んでいる。送信プリセットレジスタ１４１−１は、送信プリセット値一覧表１４１１に示す、通信処理実行部１１の送信機能に関する特性（送信レベル）を調整する値を記憶する４ビットのレジスタである。受信プリセットレジスタ１４１−２は、受信プリセット値一覧表１４１２に示す、通信処理実行部１１の受信機能に関する特性（受信レベル）を調整する値を記憶する３ビットのレジスタである。
【００４３】
図３に示す送信側プリセット値１４０−０−２として設定される推奨値は、図４における送信プリセット値一覧表１４１１が示す、４ビットの送信プリセット値の何れかである。例えば、この送信側の推奨値を「−４．５ｄｂ（デシベル）」とする場合、送信側プリセット値１４０−０−２として設定される推奨値は、「００１０」となるので、図３に示すエントリ１、４、５における送信側プリセット値１４０−０−２は、「００１０」となる。
この場合、「推奨値−１」が格納されるエントリ３、８、９における送信側プリセット値１４０−０−２は「０００１」（−３．５ｄｂ）となる。同様に、「推奨値＋１」が格納されるエントリ２、６、７における送信側プリセット値１４０−０−２は「００１１」（−２．５ｄｂ）となる。
【００４４】
図３に示す受信側プリセット値１４０−０−３として設定される推奨値は、図４における受信プリセット値一覧表１４１２が示す、３ビットの送信プリセット値の何れかである。例えば、この受信側の推奨値を「−８ｄｂ」とする場合、受信側プリセット値１４０−０−３として設定される推奨値は、「０１０」となるので、図３に示すエントリ１、２、３における受信側プリセット値１４０−０−３は、「０１０」となる。この場合、「推奨値−１」が格納されるエントリ５、７、９における受信側プリセット値１４０−０−３は「００１」（−７ｄｂ）となり、「推奨値＋１」が格納されるエントリ４、６、８における受信側プリセット値１４０−０−３は「０１１」（−９ｄｂ）となる。
【００４５】
図３に示すステータス情報１４０−０−４は、温度センサ１７によって測定された温度ごとの判定部１３による判定実績を示す２ビットの情報である。ステータス情報１４０−０−４において、「００」は、判定部１３による判定実績がないことを示す。「０１」は、入出力制御装置１０による診断動作中に、所定の条件を満たすエラーが発生せず、正常動作可能であることを示す。「１０」は、診断動作中あるいは通常運用中に、所定の条件を満たすエラーが発生したことを示す。例えば、図３に示す例の場合、エントリ番号が「１」であるレコードは、「通信処理実行部１１とＩＯカード２０とがポート０により接続され、送信側及び受信側のプリセット値がいずれも推奨値に設定された状態において、入出力制御装置１０の温度が２０〜３０℃の場合に正常動作可能であり、それ以外の温度については、判定部１３による判定実績がない」ことを示している。
【００４６】
図３に示す運用中フラグ１４０−０−５は、入出力制御装置１０の現在の運用状態を示す１ビットの情報である、例えば、図３に示す例の場合、入出力制御装置１０は、現在、状態管理テーブル１４０−０におけるエントリ番号が「１」であるレコードが示す状態で運用されていることを示している。すなわち、入出力制御装置１０は、現在、通信処理実行部１１とＩＯカード２０とがポート０により接続され、送信側及び受信側のプリセット値がいずれも推奨値に設定されている状態にある。
【００４７】
図１に示す制御部１５は、判定部１３による判定結果、及び、温度センサ１７による温度測定結果に基づいて、記憶部１４に記憶された、状態管理テーブル１４０−０及び１４０−１等のデータを更新する。
【００４８】
制御部１５は、入出力制御装置１０による診断動作の後、あるいは、通常運用中に判定部１３が所定の条件を満たすエラーが発生したと判定した後、状態管理テーブル１４０−０及び１４０−１、及び、温度センサ１７による温度測定結果に基づいて、入出力制御装置１０の運用状態を、正常動作可能な状態に変更する。
【００４９】
制御部１５は、この際、記憶部１４に記憶されたポート選択フラグ１４５を更新することによって、正常動作可能なポートを選択するように、ＩＯカード接続部１２を制御する。制御部１５は、この際、記憶部１４に記憶された送受信プリセットレジスタ１４１を更新することによって、通信処理実行部１１が正常動作可能に入出力特性を調整するように制御する。
【００５０】
次に図５Ａ乃至５Ｄのフローチャートを参照して、本実施形態に係る入出力制御装置１０の動作（処理）について詳細に説明する。
【００５１】
制御部１５は、診断指示フラグ１４２の値を確認する（ステップＳ１０１）。診断指示フラグ１４２の値が「１」でない場合（ステップＳ１０２でＮｏ）、判定部１３は、エラー発生回数が閾値以上か否か確認する（ステップＳ１０３）。エラー発生回数が閾値以上でない場合（ステップＳ１０４でＮｏ）、処理はステップＳ１０１へ戻る。エラー発生回数が閾値以上である場合（ステップＳ１０４でＹｅｓ）、処理はステップＳ１２９へ進む。
【００５２】
制御部１５は、温度センサ１７が示す温度Ｔを確認する（ステップＳ１２９）。制御部１５は、運用中のポートに関する状態管理テーブルにおける温度Ｔに関する、運用中フラグが「１」であるエントリのステータス情報の値を「１０」に設定し、当該運用中フラグを「０」に設定する（ステップＳ１３０）。
【００５３】
判定部１３は、発生回数が閾値以上となったエラーが送信側か受信側かを確認する（ステップＳ１３１）。当該エラーが送信側でない（すなわち、受信側である）場合（ステップＳ１３２でＮｏ）、制御部１５は、運用中のポートに関する状態管理テーブルにおける温度Ｔに関する、エラーのエントリと受信側プリセット値が等しいエントリのステータス情報の値を「１０」に設定し（ステップＳ１３３）、処理はステップＳ１３５へ進む。当該エラーが送信側である場合（ステップＳ１３２でＹｅｓ）、制御部１５は、運用中のポートに関する状態管理テーブルにおける温度Ｔに関する、エラーのエントリと送信側プリセット値が等しいエントリのステータス情報の値を「１０」に設定する（ステップＳ１３４）。
【００５４】
制御部１５は、状態管理テーブル１４０−０及び１４０−１における温度Ｔに関する全てのエントリのステータス情報の値を確認する（ステップＳ１３５）。ステータス情報の値が「１０」でないエントリが存在する場合（ステップＳ１３６でＮｏ）、処理はステップＳ１３８へ進む。全てのエントリのステータス情報の値が「１０」である場合（ステップＳ１３６でＹｅｓ）、制御部１５は、ＩＯカード２０の交換を指示する情報を出力するとともに、状態管理テーブル１４０−０及び１４０−１における温度Ｔに関する全てのエントリのステータス情報の値を「００」に設定する（ステップＳ１３７）。制御部１５は、リトレーニングフラグ１４４を「１」から「０」に設定するとともに、ポート選択フラグ１４５の値を「０」に設定し（ステップＳ１３８）、処理は、ステップＳ１０６へ戻る。
【００５５】
診断指示フラグ１４２の値が「１」である場合（ステップＳ１０２でＹｅｓ）、制御部１５は、温度センサ１７が示す温度Ｔを確認する（ステップＳ１０５）。制御部１５は、処理において使用する変数Ｘ（ポート番号）を０に、変数Ｙ（エントリ番号）を「１」に初期化する（ステップＳ１０６）。
【００５６】
Ｙが「１０」でない場合（ステップＳ１０７でＮｏ）、制御部１５は、状態管理テーブル１４０−Ｘにおける温度Ｔに関するエントリＹのステータス情報１４０−Ｘ−４の値が「１０」であるか否か確認する（ステップＳ１１０）。エントリＹのステータス情報１４０−Ｘ−４の値が「１０」である場合（ステップＳ１１１でＹｅｓ）、制御部１５は、Ｙに１を加算して（ステップＳ１１２）、処理はステップＳ１０７へ戻る。エントリＹのステータス情報１４０−Ｘ−４の値が「１０」でない場合（ステップＳ１１１でＮｏ）、制御部１５は、当該エントリＹの送信側及び受信側のプリセット値を送受信プリセットレジスタ１４１に設定するとともに、リトレーニングフラグ１４４を「１」から「０」に設定する（ステップＳ１１３）。
【００５７】
判定部１３は、送信エラーカウンタ１３１及び受信エラーカウンタ１３２をリセットする（ステップＳ１１４）。通信処理実行部１１は、リンクアップを開始する（ステップＳ１１５）。判定部１３は、リンクアップが完了したか確認する（ステップＳ１１６）。リンクアップが完了していない場合（ステップＳ１１７でＮｏ）、判定部１３は、リンクチェックタイマー１６０がタイムアウトしたか確認する（ステップＳ１１８）。リンクチェックタイマー１６０がタイムアウトしていない場合（ステップＳ１１９でＮｏ）、処理はステップＳ１１６へ戻る。リンクチェックタイマー１６０がタイムアウトした場合（ステップＳ１１９でＹｅｓ）、制御部１５は、状態管理テーブル１４０−Ｘにおける温度Ｔに関するエントリＹのステータス情報１４０−Ｘ−４の値を「１０」に設定し（ステップＳ１２０）、処理はステップＳ１１２へ戻る。
【００５８】
リンクアップが完了した場合（ステップＳ１１７でＹｅｓ）、制御部１５は、専用リクエスト有効フラグ１４３を「１」に設定する（ステップＳ１２１）。通信処理実行部１１は、専用リクエストの送信処理及びそのリプライの受信処理を開始する（ステップＳ１２２）。判定部１３は、エラー発生回数が閾値以上か確認する（ステップＳ１２３）。エラー発生回数が閾値以上である場合（ステップＳ１２４でＹｅｓ）、制御部１５は、専用リクエスト有効フラグ１４３を「０」に設定するとともに、状態管理テーブル１４０−Ｘにおける温度Ｔに関するエントリＹのステータス情報１４０−Ｘ−４の値を「１０」に設定し（ステップＳ１２５）、処理はステップＳ１１２へ戻る。
【００５９】
エラー発生回数が閾値以上でない場合（ステップＳ１２４でＮｏ）、判定部１３は、リンクチェックタイマー１６０がタイムアウトしたか確認する（ステップＳ１２６）。リンクチェックタイマー１６０がタイムアウトしていない場合（ステップＳ１２７でＮｏ）、処理はステップＳ１２３へ戻る。リンクチェックタイマー１６０がタイムアウトした場合（ステップＳ１２７でＹｅｓ）、制御部１５は、専用リクエスト有効フラグ１４３を「０」に設定するとともに、状態管理テーブル１４０−Ｘにおける温度Ｔに関するエントリＹのステータス情報１４０−Ｘ−４の値を「０１」に設定し（ステップＳ１２８）、処理はステップＳ１１２へ戻る。
【００６０】
Ｙが「１０」である場合（ステップＳ１０７でＹｅｓ）、処理はステップＳ１０８へ進む。Ｘが「０」である場合（ステップＳ１０８でＹｅｓ）、制御部１５は、Ｘを「１」に、Ｙを「１」に設定し、リトレーニングフラグ１４４を「１」から「０」に設定し、ポート選択フラグ１４５を「１」に設定して（ステップＳ１０９）、処理はステップＳ１０７へ戻る。
【００６１】
Ｘが「０」でない（すなわち「１」である）場合（ステップＳ１０８でＮｏ）、制御部１５は、状態管理テーブル１４０−０及び１４０−１における温度Ｔに関する全てのエントリのステータス情報の値を確認する（ステップＳ１３９）。全てのエントリのステータス情報の値が「１０」である場合（ステップＳ１４０でＹｅｓ）、制御部１５は、システム停止を指示する情報を出力して（ステップＳ１４１）、全体の処理は終了する。
【００６２】
ステータス情報の値が「１０」でないエントリが存在する場合（ステップＳ１４０でＮｏ）、制御部１５は、温度Ｔに関して、ステータス情報が「０１」であるエントリが、状態管理テーブル１４０−０及び１４０−１のうち、どちらが多いか確認する（ステップＳ１４２）
状態管理テーブル１４０−０の方が多い場合（ステップＳ１４３でＹｅｓ）、制御部１５は、状態管理テーブル１４０−０における温度Ｔに関して、ステータス情報が「０１」であるいずれかのエントリの運用中フラグを「１」に設定する。制御部１５は、当該エントリの送信側／受信側プリセット値を送受信プリセットレジスタ１４１に設定する。制御部１５は、リトレーニングフラグ１４４を「１」から「０」に設定する。制御部１５は、ポート選択フラグ１４５を「１」から「０」に設定し（ステップＳ１４４）、全体の処理は終了する。
【００６３】
状態管理テーブル１４０−１の方が多い場合（ステップＳ１４３でＮｏ）、制御部１５は、状態管理テーブル１４０−１における温度Ｔに関して、ステータス情報が「０１」であるいずれかのエントリの運用中フラグを「１」に設定する。制御部１５は、当該エントリの送信側／受信側プリセット値を送受信プリセットレジスタ１４１に設定する。制御部１５は、リトレーニングフラグ１４４を「１」から「０」に設定し（ステップＳ１４５）、全体の処理は終了する。
【００６４】
本実施形態に係る入出力制御装置１０は、ＩＯカードが有する特性と、当該ＩＯカードを実装する環境との関係に起因して、データを送受信する際に発生するエラーを回避することができる。その理由は、互いに信号の伝送特性（線長）が異なる２つのポートの何れかを選択可能なＩＯカード接続部１２に対して、制御部１５は、判定部１３によるエラーの判定実績に基づいて、正常動作可能なポートを選択するように制御するからである。
【００６５】
以下に、本実施形態に係る入出力制御装置１０によって実現される効果について、詳細に説明する。
【００６６】
PCI Express インタフェース等のＩＯインタフェースでは、リンクトレーニング中に、データの送受信に関する入出力特性を調整することによって、データを送受信する環境を最適化している。しかしながら、ＩＯカードごとの特性のばらつきによって、エラーが多発する場合がある。このような場合、発生したエラーは、当該ＩＯカードの固定故障に起因するのではなく、当該ＩＯカードが有する特性と情報処理装置におけるＩＯカードを実装する実装環境との関係に起因することが多い。このような、個々のＩＯカードが有する特性と、実装環境との関係によって、ＩＯインタフェースにおけるエラーが発生することを回避することが課題である。
【００６７】
これに対して、本実施形態に係る入出力制御装置１０では、ＩＯカード接続部１２は、ＩＯカード２０を介して外部装置との通信処理を実行する通信処理実行部１１とＩＯカード２０とを、互いに信号の伝送特性（例えば線長）が異なる複数（例えば２つ）の通信経路（例えばポート）の何れかを、通信経路が確立される際に外部からの指示により選択することによって通信可能に接続する。判定部１３は、複数の通信経路の何れかによって通信処理実行部１１とＩＯカード２０とが接続されているときに、通信処理におけるエラーの発生状況を取得して、その発生状況が所定の条件を満たすか否かを判定する。記憶部１４は、通信経路ごとに、判定部１３による判定実績を表す状態管理テーブル１４０−０及び１４０−１を記憶する。制御部１５は、記憶部１４に記憶された状態管理テーブル１４０−０及び１４０−１に基づいて、所定の条件を満たす通信処理におけるエラーが発生していない通信経路を選択するようにＩＯカード接続部１２を制御する。これにより、本実施形態に係る入出力制御装置１０は、ＩＯカードが有する特性と、当該ＩＯカードを実装する環境との関係に起因して、データを送受信する際に発生するエラーを回避することができる。
【００６８】
また、本実施形態に係る入出力制御装置１０では、記憶部１４は、入出力制御装置１０の温度ごとに、判定部１３による判定実績と、通信処理実行部１１に対して入出力特性を調整する際に使用されるプリセット値とを関連付けた状態管理テーブル１４０−０及び１４０−１を記憶する。そして、制御部１５は、この状態管理テーブル１４０−０及び１４０−１に基づいて、入出力制御装置１０の温度をふまえて、通信処理実行部１１が正常動作可能に入出力特性を調整するように制御する。これにより、本実施形態に係る入出力制御装置１０は、データを送受信する際に発生するエラーを回避することを実現する環境設定を、より柔軟に行うことができる。
【００６９】
また、本実施形態に係る入出力制御装置１０は、状態管理テーブル１４０−０及び１４０−１において、通信処理実行部１１に対して入出力特性を調整する際に使用されるプリセット値を、送信機能と受信機能とに分けて管理する。これにより、本実施形態に係る入出力制御装置１０は、データを送受信する際に発生するエラーを回避することを実現する環境設定を、さらに柔軟に行うことができる。
【００７０】
また、本実施形態に係る入出力制御装置１０は、自装置を診断する際に、通信経路と入出力特性を調整する際に使用されるプリセット値との全ての組み合わせのうち、判定部１３によってエラーが発生したと判定された実績が無い組み合わせについて、網羅的に診断を行う。これにより、本実施形態に係る入出力制御装置１０は、データを送受信する際に発生するエラーを回避することを実現する環境設定を、より確実に、かつ、効率的に行うことができる。
【００７１】
＜第２の実施形態＞
図６は、第２の実施形態に係る入出力制御装置３０の構成を概念的に示すブロック図である。
【００７２】
本実施形態に係る入出力制御装置３０は、ＩＯカード接続部３２、判定部３３、記憶部３４、及び、制御部３５を備えている。
【００７３】
ＩＯカード接続部３２は、ＩＯカード４０を介して外部装置（不図示）との通信処理を実行する通信処理実行部３１とＩＯカード４０とを、互いに信号の伝送特性が異なる複数の通信経路３２０−１乃至３２０−ｎ（ｎは２以上の任意の整数）の何れかを、通信経路が確立される際に外部からの指示により選択することによって通信可能に接続する。
【００７４】
判定部３３は、複数の通信経路３２０−１乃至３２０−ｎの何れかによって通信処理実行部３１とＩＯカード４０とが接続されているときに、その通信処理におけるエラーの発生状況を取得して、当該発生状況が所定の条件を満たすか否かを判定する。
【００７５】
記憶部３４は、通信経路ごとに、判定部３３による判定実績を表す状態管理情報３４０−１乃至３４０−ｎを記憶する。
【００７６】
制御部３５は、記憶部３４に記憶された状態管理情報３４０−１乃至３４０−ｎに基づいて、所定の条件を満たす通信処理におけるエラーが発生していない通信経路を選択するようにＩＯカード接続部３２を制御する。
【００７７】
本実施形態に係る入出力制御装置３０は、ＩＯカードが有する特性と、当該ＩＯカードを実装する環境との関係に起因して、データを送受信する際に発生するエラーを回避することができる。その理由は、互いに信号の伝送特性が異なる複数の通信経路の何れかを選択可能なＩＯカード接続部３２に対して、制御部３５は、判定部３３によるエラーの判定実績に基づいて、正常動作可能な通信経路を選択するように制御するからである。
【００７８】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図６に示した入出力制御装置における各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、図１及び図６において、少なくとも、下記構成は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。
・ＩＯカード接続部１２及び３２における接続制御機能、
・判定部１３及び３３、
・記憶部１４及び３４における記憶制御機能、
・制御部１５及び３５。
【００７９】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図７を参照して説明する。
【００８０】
図７は、本願発明の各実施形態に係る入出力制御装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図７は、図１及び図６に示した入出力制御装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００８１】
図７に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク（記憶装置）９０４、
・外部装置との通信インタフェース９０５、
・バス９０６（通信線）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・入出力インタフェース９０９。
【００８２】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。情報処理装置９００は、ＣＰＵ９０１を複数備える場合もあれば、マルチコアにより構成されたＣＰＵ９０１を備える場合もある。
【００８３】
そして、上述した実施形態を例に説明した本願発明は、図７に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１及び図６）における上述した構成、或いはフローチャート（図５Ａ乃至５Ｄ）の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ（ＲＡＭ９０３）またはハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００８４】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【００８５】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００８６】
１０    入出力制御装置
１１    通信処理実行部
１１０    専用リクエスト発行部
１１１    リクエスト切り替え部
１１２    トランザクション層処理部
１１３    データリンク層処理部
１１４    物理層処理部
１２    ＩＯカード接続部
１２０及び１２１    ポート選択部
１３    判定部
１３０    ＯＲ回路
１３１    送信エラーカウンタ
１３２    受信エラーカウンタ
１３３    エラー閾値格納部
１３４    比較回路
１３５    比較回路
１３６    ＯＲ回路
１４    記憶部
１４０−０及び１４０−１    状態管理テーブル
１４０−０−１    エントリ番号
１４０−０−２    送信側プリセット値
１４０−０−３    受信側プリセット値
１４０−０−４    ステータス情報
１４０−０−５    運用中フラグ
１４１    送受信プリセットレジスタ
１４１−１    送信プリセットレジスタ
１４１−２    受信プリセットレジスタ
１４１１    送信プリセット値一覧表
１４１２    受信プリセット値一覧表
１４２    診断指示フラグ
１４３    専用リクエスト有効フラグ
１４４    リトレーニング指示フラグ
１４５    ポート選択フラグ
１５    制御部
１６    タイマー部
１６０    リンクチェックタイマー
１６１    専用リクエストタイマー
１６２    エラーカウンタタイマー
１７    温度センサ
２０    ＩＯカード
３０    入出力制御装置
３１    通信処理実行部
３２    ＩＯカード接続部
３３    判定部
３４    記憶部
３４０−１乃至３４０−ｎ    状態管理情報
４０    ＩＯカード
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク（記憶装置）
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
0006654465.tif 000002
【図２】
0006654465.tif 000003
【図３】
0006654465.tif 000004
【図４】
0006654465.tif 000005
【図５Ａ】
0006654465.tif 000006
【図５Ｂ】
0006654465.tif 000007
【図５Ｃ】
0006654465.tif 000008
【図５Ｄ】
0006654465.tif 000009
【図６】
0006654465.tif 000010
【図７】
0006654465.tif 000011