(57)【要約】【課題】マスターと各スレーブ間にスイッチングデバイスを配置した構成の場合に、適切な障害箇所の特定をより低コストで行うための技術を提供する。【解決手段】ＰＬＤ２５とスイッチングデバイス２３間は、Ｉ２Ｃバス２６、及びデータ線２７により接続され、データ線２７を介して、スイッチングデバイス２３がＩ２Ｃバス２６を介して受信するデータ、及び送信するデータがＰＬＤ２５に送信される。ＰＬＤ２５は、Ｉ２Ｃバス２６を介して送受信するデータの整合性、データ線２７を介して受信したデータの整合性、及びＩ２Ｃバス２６とデータ線２７がそれぞれ受信したデータ間の整合性を確認する。その確認を通して、ＰＬＤ２５は、ＰＬＤ２５とスイッチングデバイス２３間、スイッチングデバイス２３、スイッチングデバイスとスレーブ間、及びスレーブのなかで障害が発生した可能性のある箇所を特定する。【選択図】図２
2014186376.tif 000002
【特許請求の範囲】
【請求項１】
制御する側であるマスターとの接続用のインターフェース、及び制御される側であるスレーブとの接続用の複数のポートを備えたスイッチング装置に、前記スイッチング装置の動作、及び受信したデータを表す情報の出力に用いる他のインターフェースを設け、前記他のインターフェースを介して前記情報を送信させ、
前記他のインターフェースを介して送信される前記情報を取得可能な装置に、前記マスターからのコマンドによる前記スイッチング装置の動作、及び受信したデータを、前記情報を用いて確認させることにより、障害が発生した可能性が考えられる箇所を特定させる、
ことを特徴とする障害箇所特定方法。
【請求項２】
前記情報は、前記スイッチング装置が前記複数のポートのなかで通信を可能とするポートを表す識別情報、並びに前記スイッチング装置が前記マスター、及び前記スレーブの少なくとも一方から受信したデータの一部を少なくとも含む、
ことを特徴とする請求項１記載の障害箇所特定方法。
【請求項３】
前記装置は、前記マスターと前記スイッチングデバイス間、前記スイッチングデバイス、前記スイッチングデバイスと前記スレーブ間、及び前記スレーブのなかで障害が発生した可能性が考えられる箇所を特定する、
ことを特徴とする請求項１、または２記載の障害箇所特定方法。
【請求項４】
制御する側であるマスターとの接続用のインターフェース、及び制御される側であるスレーブとの接続用の複数のポートと、
他のインターフェースと、
前記インターフェースを用いた前記マスターとの通信を行う場合に、前記他のインターフェースを用いて、障害箇所を特定するための情報を送信させる情報出力部と、
を有することを特徴とするスイッチング装置。
【請求項５】
前記複数のポートのなかで通信を可能とするポートを切り替える切替部、を有し、
前記情報出力部は、前記情報として、前記切替部が前記複数のポートのなかで通信を可能とするポートを表す識別情報、並びに前記スイッチング装置が前記マスター、及び前記スレーブの少なくとも一方から受信したデータの一部を少なくとも送信させる、
ことを特徴とする請求項４記載のスイッチング装置。
【請求項６】
前記情報出力部は、前記マスターから受信するコマンドの種類に応じて、前記情報として出力するデータを変更する、
ことを特徴とする請求項４、または５記載のスイッチング装置。
【請求項７】
制御する側であるマスターとの接続用のインターフェース、制御される側であるスレーブとの接続用の複数のポート、及び他のインターフェースを備えたスイッチング装置から、前記他のインターフェースを介して送信される、障害箇所を特定するための情報を受信する受信部と、
前記マスターと前記スイッチングデバイスとの間で送受信されるデータを取得する取得部と、
前記取得部が取得した前記データ、及び前記受信部が受信した前記情報を用いて、障害が発生した可能性が考えられる箇所を特定する特定部と、
を有することを特徴とする障害箇所特定装置。
【請求項８】
前記特定部は、前記マスターと前記スイッチングデバイス間、前記スイッチングデバイス、前記スイッチングデバイスと前記スレーブ間、及び前記スレーブのなかから障害が発生した可能性が考えられる箇所を特定する、
ことを特徴とする請求項７記載の障害箇所特定装置。
【請求項９】
制御する側であるマスターとの接続用のインターフェース、制御される側であるスレーブとの接続用の複数のポートを備えたスイッチング装置と、障害の発生箇所を特定する障害発生箇所特定装置と、を有し、
前記スイッチング装置は、
他のインターフェースと、
前記インターフェースを用いた前記マスターとの通信を行う場合に、前記他のインターフェースを用いて、障害箇所を特定するための情報を送信させる情報出力部と、を有し、
前記障害箇所特定装置は、
前記スイッチング装置から前記他のインターフェースを介して送信される前記情報を受信する受信部と、
前記マスターと前記スイッチングデバイスとの間で送受信されるデータを取得する取得部と、
前記取得部が取得した前記データ、及び前記受信部が受信した前記情報を用いて、障害が発生した可能性が考えられる箇所を特定する特定部と、を有する、
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、制御する側であるマスターと、制御される側であるスレーブとの間にスイッチング装置を配置した構成において、障害の発生に対応するための技術に関する。
【背景技術】
【０００２】
情報処理装置（例えばコンピュータ）は、通常、制御対象とする外部装置（以降「デバイス」）を接続することが可能になっている。制御対象とするデバイスは「スレーブ」と呼ばれ、デバイスを制御する側は「マスター」と呼ばれる。マスターは、スレーブに対し、各種コマンドを必要に応じて送信する。現在、電子機器の大部分には、情報処理装置が搭載されていることから、大部分の電子機器もマスターに相当する。
【０００３】
マスターと接続される各スレーブには、通信用のアドレス（以降「デバイスアドレス」と表記）が割り当てられる。それにより、マスターは、スレーブが複数台、接続されている場合であっても、デバイスアドレスを用いて、コマンドを送信すべきスレーブに送信させることができる。
【０００４】
デバイスアドレスの値の範囲、つまり接続可能なスレーブの台数は、仕様により定められたビット数により制限される。そのため、定められたビット数による制限を超える台数のスレーブをマスターに接続させる場合、スイッチングデバイスが用いられる。
【０００５】
このスイッチングデバイスは、マスターとの接続用のインターフェース、及びスレーブとの接続用のポートを複数、備えている。スイッチングデバイスは、マスターからの指示に従い、通信に用いるポートを選択する。そのため、スイッチングデバイスを用いた場合、そのスイッチングデバイスが備えたポート毎に、定められたビット数によって決定される制限台数までのスレーブを接続させることができる。
【０００６】
高信頼性が要求されるシステムでは、マスターとスレーブ間で送受信されるデータの整合性を確認することが必要である。エラー検出、及び訂正は、送受信するデータに対し、ＣＲＣ（Cyclic Redundancy Check）コード等を付加することで可能である。しかし、エラー検出・訂正機能をマスター、及び各スレーブがそれぞれ搭載しているとしても、マスター側は、障害の発生箇所を適切に特定することはできない。これは、例えマスター、スイッチングデバイス、及び各スレーブがそれぞれ適切に動作していると想定したとしても、データの送受信は、マスターとスイッチングデバイス間、及びスイッチングデバイスとスレーブ間で行われるからである。
【０００７】
マスターと各スレーブ間にスイッチングデバイスを配置したシステム構成で障害の発生箇所を適切に特定する従来の方法としては、スイッチングデバイスと各スレーブ間に帰還回路を設けるというものがある。この従来の方法では、マスターとスイッチングデバイス間で送受信するデータを、帰還回路を用いて取得する、スイッチングデバイスとスレーブ間で送受信するデータと比較することにより、障害箇所を特定することができる。
【０００８】
この従来の方法において、スイッチングデバイスと各スレーブ間に帰還回路を設けるのは、スイッチングデバイスが実際に通信を行うスレーブを特定するためである。そのため、データを比較する比較回路等も、帰還回路毎に用意される。このようなことから、この従来の方法では、配線数、及び回路規模が共に増大し、障害箇所特定用のコストが高くなる。システム全体のコストを抑えるためには、障害箇所の特定もより低コストで行えるようにすることが重要と思われる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−１４８５９２号公報
【特許文献２】特開２０１１−２４４３２６号公報
【特許文献３】特開２００２−３６６４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
１側面では、本発明は、マスターと各スレーブ間にスイッチングデバイスを配置した構成の場合に、適切な障害箇所の特定をより低コストで行うための技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明を適用した１システムでは、制御する側であるマスターとの接続用のインターフェース、及び制御される側であるスレーブとの接続用の複数のポートを備えたスイッチング装置に、スイッチング装置の動作、及び受信したデータを表す情報の出力に用いる他のインターフェースを設け、他のインターフェースを介して情報を送信させ、他のインターフェースを介して送信される情報を取得可能な装置に、マスターからのコマンドによるスイッチング装置の動作、及び受信したデータを、情報を用いて確認させることにより、障害が発生した可能性が考えられる箇所を特定させる。
【発明の効果】
【００１２】
本発明を適用した場合には、マスターと各スレーブ間にスイッチングデバイスを配置した構成での適切な障害箇所の特定をより低コストで行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態による情報処理装置の構成例を説明する図である。
【図２】ＰＬＤ、及びスイッチングデバイスの各構成例を説明する図である。
【図３Ａ】セレクタにＳＥＬ１〜ＳＥＬ４として入力されるデータを説明する図である。
【図３Ｂ】セレクタにＳＥＬ１’〜ＳＥＬ４’として入力されるデータを説明する図である。
【図４Ａ】スイッチングデバイスにポートアドレスを指定する場合に、ＰＬＤとスイッチングデバイス間で送受信されるデータの例を説明する図である。
【図４Ｂ】スイッチングデバイスに指定したポートアドレスを読み出す場合に、ＰＬＤとスイッチングデバイス間で送受信されるデータの例を説明する図である。
【図４Ｃ】スレーブにデータを書き込む場合に、ＰＬＤとスイッチングデバイス間で送受信されるデータの例を説明する図である。
【図４Ｄ】スレーブからデータを読み出す場合に、ＰＬＤとスイッチングデバイス間で送受信されるデータの例を説明する図である。
【図５】スイッチングデバイスの監視データ切替部の動作を表すフローチャートである。
【図６】ライトコマンドを送信する場合に、ＰＬＤの動作を表すフローチャートである。
【図７】リードコマンドを送信する場合に、ＰＬＤの動作を表すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態による情報処理装置の構成例を説明する図である。図１に表すように、本実施形態による情報処理装置１は、例えばサーバとして用いられるものであり、本体２と、及び複数のＰＣＩ（Peripheral Components Interconnect bus）ボックス３（３−０〜３−Ｆ）を備えている。
【００１５】
本体２は、サーバとしてサービスを提供するための処理を行う部分である。図１には、本体２の構成要素として、コネクタボード２１、及びＳＶＰ（SerVice Processor）ボード２２のみを表している。他には、例えば１つ以上のシステムボード、及び１つ以上のＩ／Ｏ（Input/Output）ユニットが本体２に搭載されている。
【００１６】
コネクタボード２１は、各ＰＣＩボックス３と本体２を接続するために用いられる。このコネクタボード２１上には、Ｉ２Ｃ（Inter-Integrated Circuit）スイッチングデバイス（以降「スイッチングデバイス」と略記）２３が搭載されている。スイッチングデバイス２３の括弧内に表記した１６進数の数字（＝０ｘ０１）は、割り当てられたデバイスアドレスの例を表している。
【００１７】
ＳＶＰボード２２は、情報処理装置１全体の制御、及び監視を行うための処理ユニットである。このＳＶＰボード２２上には、ＭＰＵ（Micro-Processing Unit）２４、及びデータ比較部として用いられるＰＬＤ（Programmable Logic Device）２５が搭載されている。
【００１８】
Ｉ２Ｃバスは、データが転送されるＳＤＬ（Serial Data Line）、及びクロックが転送されるＳＣＬ（Serial Clock Line）を有する２線式シリアルインターフェースである。ＰＬＤ２５とスイッチングデバイス２３間はＩ２Ｃバス２６、スイッチングデバイス２３と各ＰＣＩボックス３間は、Ｉ２Ｃバス４（４−０〜４−Ｆ）により接続されている。ＰＬＤ２５とスイッチングデバイス２３間は、Ｉ２Ｃバス２６の他に、データ線２７により接続されている。
【００１９】
各ＰＣＩボックス３は、本体２にＰＣＩスロットを増設するためのデバイスである。各ＰＣＩボックス３には、電源制御デバイス３１、ファン（ＦＡＮ）制御デバイス３２、２台の電源ユニット３３（３３−０、３３−１）、複数のＤＤＣ（Direct Current - Direct Current Converter）３４、及び複数のファン３５が搭載されている。各ＰＣＩボックス３に搭載された電源制御デバイス３１、ファン制御デバイス３２、２台の電源ユニット３３に括弧内に表記した１６進数の数字も、割り当てられたデバイスアドレスの例を表している。
【００２０】
２台の電源ユニット３３は、自ＰＣＩボックス３のＰＣＩスロットに接続されたデバイスへの電力供給用であり、例えば商用のＡＣ（Alternating Current）電力をＤＣ電力に変換する。電源制御デバイス３１配下の各ＤＤＣ３４は、電源ユニット３３から供給されるＤＣ電力を異なる電圧のＤＣ電力に変換する。ファン制御デバイス３２は、配下のファン３５を制御し、自ＰＣＩボックス３の冷却を行う。
【００２１】
ＳＶＰボード２４上のＭＰＵ２４は、外部からの指示に従い、本体２および各ＰＣＩボックス３を起動させる。各ＰＣＩボックス３を起動させる前に、ＭＰＵ２４は、各ＰＣＩボックス３に搭載された電源ユニット３３のなかで起動させるべき電源ユニット３３を起動させ、各電源制御デバイス３１にＤＤＣ２４への必要な制御を行わせる。それにより、ＭＰＵ２４は、各ＰＣＩボックス３への電力供給を開始させる。
【００２２】
その各ＰＣＩボックス３には、複数の温度センサ（不図示）が配置されている。ＭＰＵ２４は、各温度センサが計測する温度を本体２から監視し、各ＰＣＩボックス３に搭載されたファン制御デバイス３２を制御して、各ＰＣＩボックス３内を適切な温度の範囲内に維持させる。
【００２３】
図２は、ＰＬＤ、及びスイッチングデバイスの各構成例を説明する図である。図２を参照し、ＰＬＤ２５、及びスイッチングデバイス２３の各構成、及び動作について詳細に説明する。
【００２４】
図２に表すように、ＰＬＤ２５には、送受信部２５１、送信データ記憶部２５２、送受信データ比較部２５３、受信バッファ２５４、監視データ比較部２５５、ポートアドレス比較部２５６、ポートアドレス比較部２５７、及び判定部２５８を備えている。他方のスイッチングデバイス２３は、図２に表すように、送受信部２３１、複数のポート２３２（２３２−０〜２３２−Ｆ）、受信セレクタ２３３、ポートアドレスセレクタ２３４、ＡＣＫ（ACKnowledgement）／ＮＡＣＫ（Negative ACKnowledgement）生成部２３５、セレクタ２３６、送受信データ切替部２３７、監視データ切替部２３８、セレクタ２３９、及び送信バッファ２４０を備えている。
【００２５】
始めに、スイッチングデバイス２３について詳細に説明する。このスイッチングデバイス２３は、本実施形態によるスイッチング装置に相当する。
【００２６】
送受信部２３１は、ＰＬＤ２５との通信用のインターフェースである。送受信部２３１は、ＰＬＤ２５からデータを受信するための受信バッファ２３１ａ、及びＰＬＤ２５にデータを送信するための送信バッファ２３１ｂを備えている。受信バッファ２３１ａが受信したデータは受信セレクタ２３３、送受信データ切替部２３７、及び監視データ切替部２３８にそれぞれ出力される。ＰＬＤ２５から受信するデータには、各種コマンド、デバイスアドレス、等が含まれる。
【００２７】
マスターは、コマンドを送信する前に、デバイスアドレスを送信する。受信セレクタ２３３は、受信バッファ２３１ａから入力するデバイスアドレスを監視し、そのデバイスアドレスの後に入力されるデータの出力先を自律的に選択するセレクタである。受信セレクタ２３３は、入力したデバイスアドレスがスイッチングデバイス２３に割り当てられたデバイスアドレスであった場合、そのデバイスアドレス、及びその後に入力するデータをポートアドレスセレクタ２３４、及びＡＣＫ／ＮＡＣＫ生成部２３５に出力する。入力したデバイスアドレスがスイッチングデバイス２３に割り当てられたデバイスアドレスでない場合、受信セレクタ２３３は、入力したデバイスアドレス、及びその後に入力するデータを更に各ポート２３２に出力する。
【００２８】
スイッチングデバイス２３が備える各ポート２３２には、それぞれ識別情報（以降「ポートアドレス」或いは「ポート番号」と表記）が割り当てられている。スイッチングデバイス２３は、マスターからポートアドレスにより指定されたポート２３２を介した通信を可能にさせる。通信を可能にさせるポート２３２は、マスターから新たにポートアドレスが指定されない限り、変更されない。図１、及び図２に表記の「０」〜「Ｆ」はポートアドレス（ポート番号）を表している。
【００２９】
通信を可能にするか否かは、ポートアドレスセレクタ２３４がポート２３２毎に出力する信号（以降「ポート選択信号」と表記）により制御される。そのポート選択信号がイネーブルとされたポート２３２では、そのポート２３２が備えた送信バッファ２３２ａ、及び受信バッファ２３２ｂが動作することで、通信が可能となる。一方、そのポート選択信号がディセーブルとされたポート２３２では、送信バッファ２３２ａ、及び受信バッファ２３２ｂが動作しないことから、通信は不可能となる。
【００３０】
ＡＣＫ／ＮＡＣＫ生成部２３５は、スイッチングデバイス２３宛のデータを適切に受信したか否かによりＡＣＫ、或いはＮＡＣＫを生成する。ＡＣＫ／ＮＡＣＫ生成部２３５が生成するＡＣＫ、或いはＮＡＣＫはセレクタ２３６に出力される。
【００３１】
セレクタ２３６には、ハイインピーダンス（図２中「Hi-Z」と表記。電圧はプルアップされたレベル）、各ポート２３２、ポートアドレスセレクタ２３４、及びＡＣＫ／ＮＡＣＫ生成部２３５が接続されている。図２では、それらから入力するデータをＳＥＬ１〜ＳＥＬ４と表記している。セレクタ２３６は、送受信データ切替部２３７からの指示に従い、ＳＥＬ１〜ＳＥＬ４のうちの一つを出力する。セレクタ２３６が出力するデータは、送受信部２３１の送信バッファ２３１ｂ、送受信データ切替部２３７、監視データ切替部２３８にそれぞれ出力される。
【００３２】
図３Ａは、セレクタにＳＥＬ１〜ＳＥＬ４として入力されるデータを説明する図である。図３Ａに表すように、ＳＥＬ１は、ハイインピーダンスである。ハイインピーダンスは、ポート２３２を例にとれば、双方向のデータ通信（ＩＯ）が可能な状態のことである。
【００３３】
ＳＥＬ２は、スレーブ（何れかのＰＣＩボックス３）からの受信データ（ＡＣＫ、或いはＮＡＣＫが含まれる）である。ＳＥＬ３は、ＡＣＫ／ＮＡＣＫ生成部２３５が出力するＡＣＫ、或いはＮＡＣＫである。このＡＣＫ、或いはＮＡＣＫは、スイッチングデバイス２３からの送信データ（応答）である。ＳＥＬ４は、ポートアドレスセレクタ２３４からの送信データである。その送信データとしては、具体的には、例えば現在、通信を有効とさせているポート２３２のポートアドレス、デバイスアドレス等がある。
【００３４】
上記ＳＥＬ２〜ＳＥＬ４は、ＳＥＬ２’〜ＳＥＬ４’としてセレクタ２３９に入力される。送受信部２３１の受信バッファ２３１ａから出力されたデータはＳＥＬ１’としてセレクタ２３９に入力される。それにより、セレクタ２３９にＳＥＬ１’〜ＳＥＬ４’として入力されるデータは、図３Ｂに表すものとなる。セレクタ２３９は、監視データ切替部２３８からの指示に従い、ＳＥＬ１’〜ＳＥＬ４’のうちの一つを選択する。セレクタ２３９から出力されたデータは、送信バッファ２４０、及び監視データ切替部２３８にそれぞれ入力される。送信バッファ２４０に入力されたデータは、データ線２７を介してＰＬＤ２５に送信される。
【００３５】
上記のように、本実施形態では、図３Ｂに表すＳＥＬ１’〜ＳＥＬ４’を状況に応じてＰＬＤ２５に送信する。ＳＥＬ１’は、スイッチングデバイス２３がＰＬＤ２５から送信されたデータを適切に受信したか否かの確認を可能にさせる。ＳＥＬ２’は、Ｉ２Ｃバス２６を介してＰＬＤ２５に送信されたデータが、データ線２７を介してＰＬＤ２５に送信されたデータと一致するか否かの確認を可能にさせる。ＳＥＬ３’及びＳＥＬ４’も同様に、Ｉ２Ｃバス２６を介してＰＬＤ２５に送信されたデータが、データ線２７を介してＰＬＤ２５に送信されたデータと一致するか否かの確認を可能にさせる。
【００３６】
次に、ＰＬＤ２５について詳細に説明する。
ＰＬＤ２５は、スイッチングデバイス２３から見てマスター側の装置であり、本実施形態による障害箇所特定装置に相当する。送受信部２５１は、スイッチングデバイス２３との通信用のインターフェースである。その送受信部２５１は、スイッチングデバイス２３にデータを送信するための送信バッファ２５１ａ、及びスイッチングデバイス２３からデータを受信するための受信バッファ２５１ｂを備えている。
【００３７】
送信データ記憶部２５２は、ＰＬＤ２５がスイッチングデバイス２３に送信するデータを記憶させるメモリである。送受信データ比較部２５３は、送信データ記憶部２５２に記憶されたデータと、送受信部２５１がスイッチングデバイス２３から受信したデータとを比較する比較回路である。
【００３８】
スイッチングデバイス２３から受信したデータと比較すべきデータを送受信データ比較部２５３が特定できるように、送信データ記憶部２５２には、デバイスアドレス、データを格納したアドレス（以降、デバイスアドレスと区別するために「データアドレス」と表記）と共にデータが格納される。送受信データ記憶部２５２に記憶されたデータと同じデータをスレーブが送信するのは、そのデータが、マスターからスレーブに対してリード・ライト可能なデータの場合である。そのため、図１に表すように、各ＰＣＩボックス３に搭載された電源制御デバイス３１の電圧情報や、ファン制御デバイス３２のファン回転数情報等のようないわゆるリードオンリーのデータの場合、送受信データ比較部２５３は、データの比較を事実上、行わない。
【００３９】
ＰＬＤ２５とスイッチングデバイス２３間は、上記データ線２７によって接続されている。受信バッファ２５４は、データ線２７を介してスイッチングデバイス２３から送信される図３Ｂに表すようなデータを受信するためのものである。監視データ比較部２５５は、受信バッファ２５４が受信したデータを、送信データ記憶部２５２と比較する比較回路である。
【００４０】
ポートアドレス記憶部２５７は、送受信部２５１を介してスイッチングデバイス２３に送信されたデータのなかでポートアドレスのみを記憶するメモリである。ポートアドレス比較部２５６は、受信バッファ２５４がデータとして受信したポートアドレスを、ポートアドレス記憶部２５７に記憶されたポートアドレスと比較する比較回路である。ポートアドレスの比較はポートアドレス比較部２５６が行うことから、監視データ比較部２５５は、ポートアドレス以外のデータを対象にする。
【００４１】
判定部２５８は、送受信データ比較部２５３、監視データ比較部２５５、及びポートアドレス比較部２５６からそれぞれ比較結果を入力し、入力した比較結果の組合せから、障害の発生箇所を判定する。その判定結果は、ＰＬＤ２５からＭＰＵ２４に送信される。
【００４２】
ここで、図４Ａ〜図４Ｄを参照し、ＰＬＤ２５とスイッチングデバイス２３間で送受信されるデータについて具体的に説明する。
【００４３】
図４Ａ〜図４Ｄにおいて、クロック、及び送信データは、Ｉ２Ｃバス２６を介してＰＬＤ２５から送信されるクロック、及びデータを表している。受信データは、Ｉ２Ｃバス２６を介して、ＰＬＤ２５がスイッチングデバイス２３から受信されるデータを表している。受信データは、セレクタ２３６により選択されたデータである。そのため、受信データは送受信データ切替部２３７によるセレクタ２３６に対する選択制御の内容を表している。図４Ａ〜図４Ｄに表記のＳＥＬ１〜ＳＥＬ４は、送受信データ切替部２３７がセレクタ２３６に選択させるデータの種類、及びその選択を切り替えるタイミングを表している。
【００４４】
監視データは、データ線２７を介して、ＰＬＤ２５がスイッチングデバイス２３から受信されるデータを表している。監視データは、セレクタ２３９により選択されたデータである。そのため、監視データは監視データ切替部２３８によるセレクタ２３９に対する選択制御の内容を表している。図４Ａ〜図４Ｄに表記のＳＥＬ１’〜ＳＥＬ４’は、監視データ切替部２３８がセレクタ２３９に選択させるデータの種類、及びその選択を切り替えるタイミングを表している。図４Ａ〜図４Ｄでは、監視データとしてＰＬＤ２５に送信されるデータには「’」を付している。
【００４５】
また、「／ｓ／」は、スタートコード、「／ｐ／」はストップコード、「Ｗ」はライトコマンド、「Ｒ」はリードコマンド、をそれぞれ表している。スタートコード、及びストップコードは、共に信号レベルはＬ（Low）である。クロックに表記の１〜９の数字は、スタートコードの送信後のクロック数、或いは応答（ＡＣＫ、或いはＮＡＣＫ）をＰＬＤ２５が受信後のクロック数を表している。
【００４６】
図４Ａは、スイッチングデバイスにポートアドレスを指定する場合に、ＰＬＤとスイッチングデバイス間で送受信されるデータの例を説明する図である。
【００４７】
この場合、ＭＰＵ２４は、ＰＬＤ２５を介して、スタートコード、スイッチングデバイス２３のデバイスアドレス（＝０ｘ０１）、ライトコマンド、新たに指定するポートアドレス、及びストップコード、の順序でデータを順次、送信する。スイッチングデバイス２３の送受信データ切替部２３７は、ライトコマンドを受信するまでＳＥＬ１をセレクタ２３６に選択させ、ライトコマンドの受信後は、セレクタ２３６に、クロックの１周期の期間、ＳＥＬ４を選択させる。１周期の期間の経過後、送受信データ切替部２３７は、ポートアドレスの受信を完了するまでセレクタ２３６にＳＥＬ１を選択させ、ポートアドレスの受信完了後は、セレクタ２３６に、クロックの１周期の期間、ＳＥＬ４を選択させる。その後、送受信データ切替部２３７は、セレクタ２３６にＳＥＬ１を選択させる。
【００４８】
ＡＣＫ／ＮＡＣＫ生成部２３５が生成したＡＣＫは、セレクタ２３６がＳＥＬ４を選択することにより、ＰＬＤ２５に送信される。ＭＰＵ２４は、そのＡＣＫを確認した場合、次に有効とさせるポート２３２を指定するポートアドレスを出力する。
【００４９】
ポートアドレスセレクタ２３４は、例えば受信セレクタ２３３を介してスタートコードを入力すると、現在、通信を有効とさせているポート２３２のポートアドレスを出力する。出力するポートアドレスは、１６進数の１桁分である。
【００５０】
監視データ切替部２３８は、スタートコードを受信した後、セレクタ２３９に選択させるデータをＳＥＬ１’からＳＥＬ３’に切り替える。ポートアドレスセレクタ２３４が１６進数１桁分のポートアドレスの出力が終了した後、監視データ切替部２３８は、セレクタ２３９に選択させるデータをＳＥＬ３’からＳＥＬ１’に切り替える。それにより、受信したデバイスアドレスの１６進数の１桁分、及びライトコマンドをＰＬＤ２５に折り返して送信させる。
【００５１】
監視データ切替部２３８は、ライトコマンドを受信した後、セレクタ２３９に選択させるデータをＳＥＬ１’からＳＥＬ４’にクロックの１周期の期間、切り替え、その後、セレクタ２３９に再度、ＳＥＬ１’を選択させる。それにより、監視データ切替部２３８は、受信したポートアドレスを折り返してＰＬＤ２５に送信する。ポートアドレスの送信後、監視データ切替部２３８は、クロックの１周期の期間、セレクタ２３９にＳＥＬ４’を選択させ、その後、セレクタ２３９にＳＥＬ１’を選択させる。
【００５２】
図４Ｂは、スイッチングデバイスに指定したポートアドレスを読み出す場合に、ＰＬＤとスイッチングデバイス間で送受信されるデータの例を説明する図である。ここでは、ポートアドレスの読み出しは、図４Ａに表すようにポートアドレス（＝０ｘ０５）をスイッチングデバイス２３に対して指定（書き込み）した後に行われると想定している。
【００５３】
この場合、ＭＰＵ２４は、ＰＬＤ２５を介して、スタートコード、スイッチングデバイス２３のデバイスアドレス（＝０ｘ０１）、リードコマンド、ＮＡＣＫ、及びストップコード、の順序でデータを送信する。スイッチングデバイス２３の送受信データ切替部２３７は、リードコマンドを受信するまでＳＥＬ１をセレクタ２３６に選択させ、リードコマンドの受信後は、セレクタ２３６に、クロックの１周期の期間、ＳＥＬ４を選択させる。
【００５４】
ポートアドレスセレクタ２３４は、例えば受信セレクタ２３３を介してスタートコードを入力すると、現在、通信を有効とさせているポート２３２のポートアドレスを出力する。ポートアドレスセレクタ２３４は、リードコマンドの受信により、現在、通信を有効とさせているポート２３２のポートアドレスをセレクタ２３６、及び２３９に出力する。このことから、送受信データ切替部２３７は、ＳＥＬ４を選択させてからクロックの１周期の期間が経過した後、ポートアドレスの出力が完了するまでセレクタ２３６にＳＥＬ３を選択させ、ポートアドレスの出力完了後、送受信データ切替部２３７は、セレクタ２３６にＳＥＬ１を選択させる。
【００５５】
ＭＰＵ２４は、ポートアドレスを受信すると、ＮＡＣＫを送信し、そのＮＡＣＫに続けてストップコードを送信する。それにより、リードコマンドの後のＮＡＣＫは、ポートアドレスの受信により送信される。
【００５６】
監視データ切替部２３８は、スタートコードを受信した後、セレクタ２３９に選択させるデータをＳＥＬ１’からＳＥＬ３’に切り替える。ポートアドレスセレクタ２３４が１６進数１桁分のポートアドレスの出力が終了した後、監視データ切替部２３８は、セレクタ２３９に選択させるデータをＳＥＬ３’からＳＥＬ１’に切り替える。それにより、受信したデバイスアドレスの１６進数の１桁分、及びライトコマンドをＰＬＤ２５に折り返して送信する。
【００５７】
上記のように、本実施形態では、スタートコードからコマンドまでのデータを受信したスイッチングデバイス２３に、データ線２７を介して、受信したデータ、及びポートアドレスを送信させるようにしている。これは、ＰＬＤ２５からスイッチングデバイス２３へのデータ通信が適切に行われているか否かの確認、及びスイッチングデバイス２３が適切に動作しているか否かの確認を行うためである。それらの確認を行うために、図４Ｃ、及び図４Ｄに表すケースでも、データ線２７を介したスイッチングデバイス２３からＰＬＤ２５へのデータの送信が行われる。
【００５８】
監視データ切替部２３８は、リードコマンドを受信した後、セレクタ２３９に選択させるデータをＳＥＬ１’からＳＥＬ４’にクロックの１周期の期間、切り替え、その後、セレクタ２３９にＳＥＬ３’を選択させる。それにより、監視データ切替部２３８は、ポートアドレスセレクタ２３４が出力するポートアドレスをＰＬＤ２５に送信させる。ポートアドレスの送信後、監視データ切替部２３８は、セレクタ２３９にＳＥＬ１’を選択させる。
【００５９】
監視データ切替部２３８がセレクタ２３９にＳＥＬ４’を選択させることにより、スイッチングデバイス２３からＰＬＤ２５に、Ｉ２Ｃバス２６、及びデータ線２７を介して同じデータ（図４Ａ、及び図４Ｂに表すケースではＡＣＫ）が送信される。そのように同じデータをＩ２Ｃバス２６、及びデータ線２７により送信させるのは、スイッチングデバイス２３からＰＬＤ２５へのデータ通信が適切に行われているか否かの確認、及びスイッチングデバイス２３が適切に動作しているか否かの確認を可能にするためである。
【００６０】
図４Ｃは、スレーブにデータを書き込む場合に、ＰＬＤとスイッチングデバイス間で送受信されるデータの例を説明する図である。図４Ｄは、スレーブからデータを読み出す場合に、ＰＬＤとスイッチングデバイス間で送受信されるデータの例を説明する図である。図４Ｃ、及び図４Ｄに表すケースでは、図４Ａ、及び図４Ｂに表すケースから相違する箇所についてのみ説明する。
【００６１】
スイッチングデバイス２３を対象にした図４Ａ、及び図４Ｂに表すケースでは、セレクタ２３６、及び２３９は、ＳＥＬ２、及びＳＥＬ２’を選択しない。しかし、スレーブを対象にした図４Ｃ、及び図４Ｄに表すケースでは、セレクタ２３６、及び２３９は、ＳＥＬ２、及びＳＥＬ２’を選択する。図４Ｃ、及び図４Ｄに表すケースでは、図４Ａ、及び図４Ｂに表すケースで例えばセレクタ２３６がＳＥＬ３、或いはＳＥＬ４を選択する状況時に、セレクタ２３６にＳＥＬ２を選択させるようになっている。
【００６２】
図４Ｃに表すケースでは、送受信データ切替部２３７は、ライトコマンドを受信した後、セレクタ２３６にＳＥＬ２を選択させる。監視データ切替部２３８は、ライトコマンドを受信した後、セレクタ２３９にＳＥＬ２’を選択させる。
【００６３】
ＳＥＬ２の選択により、スレーブから送信されたＡＣＫを確認したＭＰＵ２４は、スレーブに書き込むべきデータ（ライトデータ）を送信する。送受信データ切替部２３７は、ライトデータの受信（転送）完了後、セレクタ２３６にＳＥＬ２を選択させる。監視データ切替部２３８は、ライトデータの受信完了後、セレクタ２３９にＳＥＬ２’を選択させる。
【００６４】
図４Ｄに表すケースでは、送受信データ切替部２３７は、リードコマンドを受信した後、セレクタ２３６にＳＥＬ２を選択させる。監視データ切替部２３８は、リードコマンドを受信した後、セレクタ２３９にＳＥＬ２’を選択させる。
【００６５】
スレーブ宛のデータは、受信セレクタ２３３を介して各ポート２３２に出力される。このとき、ポートアドレスセレクタ２３４は、ポートアドレスで指定されたポート２３２のみ、ポート選択信号をイネーブルとさせている。そのため、デバイスアドレスで指定されたスレーブは、イネーブルとなっているポート選択信号が出力されたポート２３２を介してデータを受信し、要求されたデータを送信する。送受信データ切替部２３７は、スレーブからのデータの受信（転送）完了後、セレクタ２３６に選択させるデータをＳＥＬ２からＳＥＬ１に切り替える。監視データ切替部２３８は、スレーブからのデータの受信（転送）完了後、セレクタ２３９に選択させるデータをＳＥＬ２’からＳＥＬ１’に切り替える。
【００６６】
上記のように、データ線２７は、図３Ｂに表すようなデータをスイッチングデバイス２３からＰＬＤ２５に送信するのに用いられる。そのデータは、ＭＰＵ２４がＰＬＤ２５を介して通信を行う対象に係わらず、送信される。そのため、ＰＬＤ２５は、通信対象に係わらず、データ線２７を介して、障害の発生箇所を特定するためのデータを取得することができる。それにより、各ポート２３２とスレーブとを接続するＩ２Ｃバス４を介した通信を監視するための帰還回路を設けることなく、障害の発生箇所を特定できるようになっている。帰還回路、及び帰還回路毎に設けるべき回路等が不要となることから、障害の発生箇所の特定に要するコストはより抑えることができる。
【００６７】
次に、図５〜図７に表す各フローチャートを参照し、スイッチングデバイス２３、及びＰＬＤ２５の動作について詳細に説明する。
【００６８】
図５は、スイッチングデバイスに搭載された監視データ切替部の動作の流れを表すフローチャートである。始めに図５を参照し、監視データ切替部２３８の動作について詳細に説明する。図５中、セレクタ２３９は「セレクタ２」と表記している。また、「（送信データ）」「（受信データ）」及び「（監視データ）」は、それぞれ、送受信部２３１から出力されたデータ、セレクタ２３６から出力されたデータ、及びセレクタ２３９から出力されたデータを表している。
【００６９】
データ線２７を介したデータの送信は、監視データ切替部２３８の制御によって行われる。このことから、フローチャートを参照してのスイッチングデバイス２３の動作説明は監視データ切替部２３８に着目して行う。
【００７０】
監視データ切替部２３８は、通常、セレクタ２３９にＳＥＬ１’を選択させている（ＳＳ１→ＳＳ２：ＮＯ→ＳＳ１）。その状態で送受信部２３１がスタートコードを受信すると（ＳＳ２：ＹＥＳ）、監視データ切替部２３８は、セレクタ２３９にＳＥＬ３’を選択させる（ＳＳ３）。監視データ切替部２３８は、セレクタ２３９にＳＥＬ３’を選択させる状態を、ポートアドレスセレクタ２３４がポートアドレスの出力を終了するまで（ＳＳ４：ＹＥＳ）維持させる。
【００７１】
監視データ切替部２３８は、ポートアドレスセレクタ２３４がポートアドレスの出力を終了すると（ＳＳ４：ＹＥＳ）、セレクタ２３９にＳＥＬ１’を選択させる（ＳＳ５）。監視データ切替部２３８は、セレクタ２３９にＳＥＬ１’を選択させる状態を、送受信部２３１がコマンド（図５中「命令コード」と表記）を出力するまで（ＳＳ６：ＹＥＳ）、維持させる。
【００７２】
コマンドを入力した後、監視データ切替部２３８は、コマンドの前に入力したデバイスアドレスが割り当てられたデバイスを判定する（ＳＳ７）。そのデバイスアドレスが自身のスイッチングデバイス２３に割り当てられたものであった場合、ＳＳ７ではその旨が判定され、ＳＳ８に移行する。そのデバイスアドレスが自身のスイッチングデバイス２３に割り当てられていないものであった場合、つまり、そのデバイスアドレスが何れかのスレーブに割り当てられたものであった場合、ＳＳ７ではその旨が判定され、ＳＳ１８に移行する。
【００７３】
ＳＳ８では、監視データ切替部２３８は、セレクタ２３９にＳＥＬ４’を選択させる。次に、監視データ切替部２３８は、受信したコマンドの種類を判定する（ＳＳ９）。ライトコマンドを送受信部２３１が受信した場合、ＳＳ９ではその旨が判定され、ＳＳ１０に移行する。リードコマンドを送受信部２３１が受信した場合、ＳＳ９ではその旨が判定され、ＳＳ１４に移行する。
【００７４】
ＳＳ１０では、監視データ切替部２３８は、セレクタ２３９にＳＥＬ４’を選択させてからクロックの１周期の期間が経過するのを待って、セレクタ２３９にＳＥＬ１’を選択させる。監視データ切替部２３８は、セレクタ２３９にＳＥＬ１’を選択させた状態を、クロックの８周期の期間、維持させる（ＳＳ１１）。その期間が経過すると、監視データ切替部２３８は、セレクタ２３９にＳＥＬ４’を選択させる（ＳＳ１２）。その後、監視データ切替部２３８は、送受信部２３１がセレクタ２３６からＮＡＣＫを入力したか否か判定する（ＳＳ１３）。ＮＡＣＫを送受信部２３１がセレクタ２３６から入力しなかった場合、ＳＳ１３の判定はＮＯとなり、上記ＳＳ１０に戻る。それにより、監視データ切替部２３８は、送受信部２３１による更なるデータの受信に備える。一方、ＮＡＣＫを送受信部２３１がセレクタ２３６から入力した場合、ＳＳ１３の判定はＹＥＳとなり、上記ＳＳ１に戻る。それにより、監視データ切替部２３８は、送受信部２３１による次のスタートコードの受信に備える。
【００７５】
上記ＳＳ９でリードコマンドを判定した場合に移行するＳＳ１４では、監視データ切替部２３８は、セレクタ２３９にＳＥＬ４’を選択させてからクロックの１周期の期間が経過するのを待って、セレクタ２３９にＳＥＬ３’を選択させる。監視データ切替部２３８は、セレクタ２３９にＳＥＬ３’を選択させた状態を、クロックの８周期の期間、維持させる（ＳＳ１５）。その期間が経過すると、監視データ切替部２３８は、セレクタ２３９にＳＥＬ１’を選択させる（ＳＳ１６）。その後、監視データ切替部２３８は、送受信部２３１がＮＡＣＫを出力したか否か判定する（ＳＳ１７）。ＮＡＣＫを送受信部２３１がＰＬＤ２５から受信しなかった場合、ＳＳ１７の判定はＮＯとなり、上記ＳＳ１４に戻る。それにより、監視データ切替部２３８は、ＰＬＤ２５を介したＭＰＵ２４による更なるデータの送信に備える。一方、ＮＡＣＫを送受信部２３１が受信した場合、ＳＳ１７の判定はＹＥＳとなり、上記ＳＳ１に戻る。それにより、監視データ切替部２３８は、送受信部２３１による次のスタートコードの受信に備える。
【００７６】
上記ＳＳ７でデバイスアドレスが何れかのスレーブに割り当てられたものと判定した場合に移行するＳＳ１８では、監視データ切替部２３８は、セレクタ２３９にＳＥＬ２’を選択させる。次に、監視データ切替部２３８は、受信したコマンドの種類を判定する（ＳＳ１９）。ライトコマンドを送受信部２３１が受信した場合、ＳＳ１９ではその旨が判定され、ＳＳ２０に移行する。リードコマンドを送受信部２３１が受信した場合、ＳＳ１９ではその旨が判定され、ＳＳ２４に移行する。
【００７７】
ＳＳ２０では、監視データ切替部２３８は、セレクタ２３９にＳＥＬ２’を選択させてからクロックの１周期の期間が経過するのを待って、セレクタ２３９にＳＥＬ１’を選択させる。監視データ切替部２３８は、セレクタ２３９にＳＥＬ１’を選択させた状態を、クロックの８周期の期間、維持させる（ＳＳ２１）。その期間が経過すると、監視データ切替部２３８は、セレクタ２３９にＳＥＬ２’を選択させる（ＳＳ２２）。その後、監視データ切替部２３８は、送受信部２３１がセレクタ２３６からＮＡＣＫを入力したか否か判定する（ＳＳ２３）。ＮＡＣＫを送受信部２３１がセレクタ２３６から入力しなかった場合、ＳＳ２３の判定はＮＯとなり、上記ＳＳ２０に戻る。それにより、監視データ切替部２３８は、ポート２３２を介したスレーブからの更なるデータの受信に備える。一方、ＮＡＣＫを送受信部２３１がセレクタ２３６から入力した場合、ＳＳ２３の判定はＹＥＳとなり、上記ＳＳ１に戻る。それにより、監視データ切替部２３８は、送受信部２３１による次のスタートコードの受信に備える。
【００７８】
上記ＳＳ１９でリードコマンドを判定した場合に移行するＳＳ２４では、監視データ切替部２３８は、セレクタ２３９へのＳＥＬ２’の選択を維持させる。監視データ切替部２３８は、セレクタ２３９にＳＥＬ２’を選択させた状態を、セレクタ２３９にＳＥＬ２’を選択させてからクロックの１周期の期間に加えて、更にクロックの８周期の期間、維持させる（ＳＳ２５）。その期間が経過すると、監視データ切替部２３８は、セレクタ２３９にＳＥＬ１’を選択させる（ＳＳ２６）。その後、監視データ切替部２３８は、送受信部２３１がＮＡＣＫを出力したか否か判定する（ＳＳ２７）。ＮＡＣＫを送受信部２３１がＰＬＤ２５から受信しなかった場合、ＳＳ２７の判定はＮＯとなり、上記ＳＳ２４に戻る。それにより、監視データ切替部２３８は、ＰＬＤ２５を介したＭＰＵ２４による更なるデータの送信に備える。一方、ＮＡＣＫを送受信部２３１が受信した場合、ＳＳ２７の判定はＹＥＳとなり、上記ＳＳ１に戻る。それにより、監視データ切替部２３８は、送受信部２３１による次のスタートコードの受信に備える。
【００７９】
上記のように、監視データ切替部２３８は動作する。その結果、図４Ａ〜図４Ｄに表すようなデータがスイッチングデバイス２３からＰＬＤ２５にデータ線２７を介して送信されることとなる。
【００８０】
図６は、ライトコマンドを送信する場合に、ＰＬＤの動作を表すフローチャートである。この図６では、ＰＬＤ２５に搭載された送受信データ比較部２５３、監視データ比較部２５５、ポートアドレス比較部２５６、及び判定部２５８に着目して動作の流れを表している。次に、図６を参照し、ライトコマンドの送信時におけるＰＬＤ２５の動作について詳細に説明する。この図６、及び後述する図７に表記の「（受信データ）」及び「（監視データ）」は、それぞれ、送受信部２３１から出力されたデータ、受信バッファ２５４から出力されたデータを表している。
【００８１】
ＰＬＤ２５からスイッチングデバイス２３に送信されたスタートコードは、図４Ａ〜図４Ｄに表すように、データ線２７を介してスイッチングデバイス２３からＰＬＤ２５に折り返して送信される。例えばＰＬＤ２５に搭載された送受信データ比較部２５３、監視データ比較部２５５、ポートアドレス比較部２５６、及び判定部２５８を含む各部２５２、２５３、及び２５５〜２５８は、例えばスタートコードの送信を契機に動作を開始する。それにより、送信データ記憶部２５２、及びポートアドレス記憶部２５７は、記憶すべきデータを記憶する。
【００８２】
送受信データ比較部２５３、監視データ比較部２５５、ポートアドレス比較部２５６、及び判定部２５８は、それぞれ独立して動作する。しかし、図６、及び後述する図７では、送受信データ比較部２５３、監視データ比較部２５５、及びポートアドレス比較部２５６の各判定結果により判定部２５８が特定する障害箇所が分かりやすくなるように、フローチャートの形で動作の流れを表している。
【００８３】
監視データ比較部２５５は、受信バッファ２５４から出力されるスタートコードを監視し、そのスタートコードが受信バッファ２５４から出力されたか否か判定する（ＳＭ１）。そのスタートコードを受信バッファ２５４が受信した場合、受信されたスタートコードは監視データ比較部２５５に出力されることから、ＳＭ１での監視データ比較部２５５の判定はＹＥＳとなってＳＭ２に移行する。そのスタートコードを受信バッファ２５４が受信しなかった場合、ＳＭ１での監視データ比較部２５５の判定はＮＯとなってＳＭ１５に移行する。
【００８４】
スタートコードが受信バッファ２５４から出力されなかった旨は、監視データ比較部２５５から判定部２５８に通知される。Ｉ２Ｃバス２６、及びデータ線２７のうちの少なくとも一方でデータの送受信が適切に行えないか、或いはスイッチングデバイス２３内部に障害が発生していた場合、スタートコードが受信バッファ２５４から出力されない事象が発生する。このことから、ＳＭ１５では、判定部２５８は、Ｉ２Ｃバス２６、或いはデータ線２７を介した通信を行ううえでの障害（図６中「マスター⇔スイッチングデバイス間ＩＦ故障」と表記）、及びスイッチングデバイス２３内部の障害のうちの少なくとも一方が発生していている旨をＭＰＵ２４に通知する。その通知により、障害箇所の特定に係る一連の動作が終了する。
【００８５】
ＳＭ２では、ポートアドレス比較部２５６は、スタートコードに続けて受信バッファ２５４が出力するポートアドレスがポートアドレス記憶部２５７に記憶されているポートアドレスと一致するか否か判定する。それらが一致する場合、ＳＭ２でのポートアドレス比較部２５６の判定はＹＥＳとなってＳＭ３に移行する。それらが一致しない場合、ＳＭ２でのポートアドレス比較部２５６の判定はＮＯとなって上記ＳＭ１５に移行する。それにより、Ｉ２Ｃバス２６、或いはデータ線２７を介した通信を行ううえでの障害、及びスイッチングデバイス２３内部の障害のうちの少なくとも一方が発生していている旨が判定部２５８からＭＰＵ２４に通知される。
【００８６】
ＳＭ３では、監視データ比較部２５５は、ポートアドレスに続けて受信バッファ２５４が出力するデバイスアドレスが、送信データ記憶部２５２に直前に記憶されたデバイスアドレスと一致するか否か判定する。それらが一致する場合、ＳＭ３での監視データ比較部２５５の判定はＹＥＳとなってＳＭ４に移行する。それらが一致しない場合、ＳＭ３での監視データ比較部２５５の判定はＮＯとなって上記ＳＭ１５に移行する。
【００８７】
ＳＭ４では、監視データ比較部２５５は、デバイスアドレスに続けて受信バッファ２５４がライトコマンドを出力したか否か判定する。受信バッファ２５４がデバイスアドレスに続けてライトコマンドを出力した場合、ＳＭ４での監視データ比較部２５５の判定はＹＥＳとなってＳＭ５に移行する。受信バッファ２５４がデバイスアドレスに続けてライトコマンドを出力しなかった場合、ＳＭ４での監視データ比較部２５５の判定はＮＯとなって上記ＳＭ１５に移行する。
【００８８】
ＳＭ５では、送受信データ比較部２５３は、送受信部２５１がＡＣＫを出力したか否か判定する。スイッチングデバイス２３からＩ２Ｃバス２６を介してＡＣＫが送信された場合、送受信部２５１はＡＣＫを出力することから、ＳＭ５での送受信データ比較部２５３の判定はＹＥＳとなってＳＭ６に移行する。送受信部２５１がＡＣＫを受信しなかった場合、ＳＭ５での送受信データ比較部２５３の判定はＮＯとなってＳＭ１４に移行する。
【００８９】
ＳＭ１４では、監視データ比較部２５５は、受信バッファ２５４がＡＣＫを出力したか否か判定する。スイッチングデバイス２３からデータ線２７を介してＡＣＫが送信された場合、受信バッファ２５４はＡＣＫを出力することから、ＳＭ１４での監視データ比較部２５５の判定はＹＥＳとなって上記ＳＭ１５に移行する。受信バッファ２５４がＡＣＫを受信しなかった場合、ＳＭ１４での監視データ比較部２５５の判定はＮＯとなってＳＭ１３に移行する。
【００９０】
ＳＭ１４でのＹＥＳの判定は、Ｉ２Ｃバス２６、及びデータ線２７を介してそれぞれスイッチングデバイス２３から送信された同じはずのデータが一致しない事象が発生したことを意味する。この事象は、Ｉ２Ｃバス２６、或いはデータ線２７を介した通信を行ううえでの障害、及びスイッチングデバイス２３内部の障害のうちの少なくとも一方が発生していている可能性を表している。その事象は、スイッチングデバイス２３の誤動作によっても発生しうる。そのため、ＳＭ１４でのＹＥＳの判定により、上記ＳＭ１５に移行する。
【００９１】
一方、ＳＭ１４でのＮＯの判定は、Ｉ２Ｃバス２６、及びデータ線２７を介してそれぞれスイッチングデバイス２３から送信された同じはずのデータが一致していることを表している。そのため、Ｉ２Ｃバス２６、及びデータ線２７を介した通信を行ううえでの障害が発生している可能性は低い。また、スイッチングデバイス２３自体も適切に動作している可能性が高い。これに対し、スイッチングデバイス２３とスレーブ間のＩ２Ｃバス４を介した通信に障害が発生しているか、或いはスレーブ自体に障害が発生していれば、スイッチングデバイス２３がスレーブからＡＣＫを受信できない可能性が高い。このようなことから、ＳＭ１３では、判定部２５８は、スイッチングデバイス２３とスレーブ間のＩ２Ｃバス４を介した通信を行ううえでの障害（図６中「スイッチングデバイス⇔スレーブ間ＩＦ故障」と表記）、及びスレーブ自体の障害のうちの少なくとも一方が発生していている旨をＭＰＵ２４に通知する。その通知により、障害箇所の特定に係る一連の動作が終了する。
【００９２】
ＳＭ６では、監視データ比較部２５５は、ＳＭ１４と同様に、受信バッファ２５４がＡＣＫを出力したか否か判定する。スイッチングデバイス２３からデータ線２７を介してＡＣＫが送信された場合、受信バッファ２５４はＡＣＫを出力することから、ＳＭ６での監視データ比較部２５５の判定はＹＥＳとなってＳＭ７に移行する。受信バッファ２５４がＡＣＫを受信しなかった場合、ＳＭ６での監視データ比較部２５５の判定はＮＯとなって上記ＳＭ１５に移行する。ＳＭ１５への移行は、ＳＭ１４でＹＥＳと判定した場合と同様の障害が発生していると見なすことができるためである。
【００９３】
ＰＬＤ２５からスイッチングデバイス２３に送信したコマンドがライトコマンドの場合、受信バッファ２５４は、ＡＣＫに続けてライトデータを受信する。ＳＭ７では、監視データ比較部２５５は、受信バッファ２５４が出力するライトデータが、送信データ記憶部２５２に記憶されたライトデータと一致するか否か判定する。それらのライトデータが一致した場合、ＳＭ７での監視データ比較部２５５の判定はＹＥＳとなってＳＭ８に移行する。それらのライトデータが一致しなかった場合、ＳＭ７での監視データ比較部２５５の判定はＮＯとなって上記ＳＭ１５に移行する。
【００９４】
ＳＭ７でのＮＯの判定は、Ｉ２Ｃバス２６を介したＰＬＤ２５からスイッチングデバイス２５への通信、及びデータ線２７を介したスイッチングデバイス２３からＰＬＤ２５への通信の何れかに障害が発生した可能性を表している。また、スイッチングデバイス２３がライトデータを適切に送信できなかった可能性もある。このことから、ＳＭ７でのＮＯの判定により、上記ＳＭ１５に移行する。
【００９５】
スイッチングデバイス２３は、上記のように、ライトデータの受信を完了した後、Ｉ２Ｃバス２６を介してＮＡＣＫを送信する。ＳＭ８では、送受信データ比較部２５３は、送受信部２５１がＮＡＣＫを出力したか否か判定する。送受信部２５１がＮＡＣＫを受信した場合、受信したＮＡＣＫを出力することから、ＳＭ８での送受信データ比較部２５３の判定はＹＥＳとなってＳＭ９に移行する。送受信部２５１がＮＡＣＫを受信しなかった場合、ＳＭ８での送受信データ比較部２５３の判定はＮＯとなってＳＭ１２に移行する。
【００９６】
ＳＭ１２では、監視データ比較部２５５は、受信バッファ２５４がＮＡＣＫを出力したか否か判定する。受信バッファ２５４がＮＡＣＫを受信した場合、受信したＮＡＣＫを出力することから、ＳＭ１２での監視データ比較部２５５の判定はＹＥＳとなって上記ＳＭ１５に移行する。受信バッファ２５４がＮＡＣＫを受信しなかった場合、ＳＭ１２での監視データ比較部２５５の判定はＮＯとなって上記ＳＭ１３に移行する。
【００９７】
ＳＭ９では、監視データ比較部２５５は、受信バッファ２５４がＮＡＣＫを出力したか否か判定する。受信バッファ２５４がＮＡＣＫを受信した場合、受信したＮＡＣＫを出力することから、ＳＭ９での監視データ比較部２５５の判定はＹＥＳとなってＳＭ１０に移行する。受信バッファ２５４がＮＡＣＫを受信しなかった場合、ＳＭ９での監視データ比較部２５５の判定はＮＯとなって上記ＳＭ１５に移行する。
【００９８】
上記ＳＭ１２でのＹＥＳの判定、及び上記ＳＭ９でのＮＯの判定は、Ｉ２Ｃバス２６を介したスイッチングデバイス２５からＰＬＤ２５への通信、及びデータ線２７を介したスイッチングデバイス２３からＰＬＤ２５への通信の何れかに障害が発生した可能性を表している。また、スイッチングデバイス２３がセレクタ２３６、及び２３９の何れかにＮＡＣＫを適切に選択させることができなかった可能性もある。このことから、ＳＭ１２でのＹＥＳの判定、或いはＳＭ９でのＮＯの判定により、上記ＳＭ１５に移行する。
【００９９】
上記ＳＭ１２でのＮＯの判定は、Ｉ２Ｃバス２６を介したスイッチングデバイス２５からＰＬＤ２５への通信、及びデータ線２７を介したスイッチングデバイス２３からＰＬＤ２５への通信には障害が発生した可能性が低いことを表している。また、スイッチングデバイス２３も適切に動作している可能性が高い。それにより、スイッチングデバイス２３がＮＡＣＫを受信できなかった可能性が高いと考えられる。スイッチングデバイス２３がＮＡＣＫを受信できないケースとしては、スイッチングデバイス２３とスレーブ間で適切な通信を行えなかった、スレーブ自体に障害（故障）が発生している、等が考えられる。このことから、ＳＭ１２でのＮＯの判定により、上記ＳＭ１３に移行する。
【０１００】
ＳＭ１０では、監視データ比較部２５５は、受信バッファ２５４がストップコードを出力したか否か判定する。受信バッファ２５４がストップコードを出力した場合、ＳＭ１０での監視データ比較部２５５の判定はＹＥＳとなってＳＭ１１に移行する。受信バッファ２５４がストップコードを出力しなかった場合、ＳＭ１０での監視データ比較部２５５の判定はＮＯとなって上記ＳＭ１５に移行する。
【０１０１】
図４Ａ〜図４Ｄに表すように、ストップコードのスイッチングデバイス２３からＰＬＤ２５への送信は、データ線２７を介してのみ行われる。このことから、ＳＭ１０でのＮＯの判定により、データ線２７を介したスイッチングデバイス２３からＰＬＤ２５への通信、及びスイッチングデバイス２３の何れかに障害が発生した可能性が高いとして、上記ＳＭ１５に移行させる。
【０１０２】
ＳＭ１１への移行は、障害が発生したとは考えにくい状況であることを表している。それにより、ＳＭ１１では、判定部２５８は、ライトコマンドの送信、送信したライトコマンドの処理が全て正常に終了したと判定し、その判定結果をＭＰＵ２４に通知する。その通知により、障害箇所の特定に係る一連の動作が終了する。
【０１０３】
図７は、リードコマンドを送信する場合に、ＰＬＤの動作を表すフローチャートである。この図７でも、図６と同様に、ＰＬＤ２５に搭載された送受信データ比較部２５３、監視データ比較部２５５、ポートアドレス比較部２５６、及び判定部２５８に着目して動作の流れを表している。最後に、図７を参照し、リードコマンドの送信時におけるＰＬＤ２５の動作について詳細に説明する。
【０１０４】
図７において、ＳＭ２１〜ＳＭ２３、ＳＭ２５、ＳＭ２６、ＳＭ３０、ＳＭ３１、ＳＭ３３〜ＳＭ３５の各処理内容は、図６におけるＳＭ１〜ＳＭ３、ＳＭ５、ＳＭ６、ＳＭ１０、ＳＭ１１、ＳＭ１３〜ＳＭ１５と基本的に同じである。このことから、図７は、図６から異なる部分に着目する形で説明する。
【０１０５】
ＳＭ２３での監視データ比較部２５５の判定がＹＥＳとなって移行するＳＭ２４では、監視データ比較部２５５は、受信バッファ２５４がリードコマンドを出力したか否か判定する。受信バッファ２５４がリードコマンドを出力した場合、ＳＭ２４での監視データ比較部２５５の判定はＹＥＳとなってＳＭ２５に移行する。受信バッファ２５４がリードコマンドを出力しなかった場合、ＳＭ２４での監視データ比較部２５５の判定はＮＯとなってＳＭ３５に移行する。
【０１０６】
図４Ｂ及び図４Ｄに表すように、ＰＬＤ２５からスイッチングデバイス２３に送信されたリードコマンドは、データ線２７を介して、スイッチングデバイス２３からＰＬＤ２５に折り返して送信される。このことから、Ｉ２Ｃ２６を介したＰＬＤ２５からスイッチングデバイス２３への通信、及びデータ線２７を介したスイッチングデバイス２３からＰＬＤ２５への通信の何れかに障害が発生した可能性が考えられる。スイッチングデバイス２３自体に障害が発生した可能性も考えられる。このことから、ＳＭ３５では、判定部２５８は、その旨をＭＰＵ２４に通知する。その通知により、障害箇所の特定に係る一連の動作が終了する。
【０１０７】
ＳＭ２７には、ＳＭ２６で監視データ比較部２５５がＹＥＳと判定することによって移行する。ＳＭ２７では、送受信データ比較部２５３は、送受信部２５１から出力されたリードデータが、送信データ記憶部２５２に記憶されている対応するデータと一致するか否か判定する。それらが一致する場合、ＳＭ２７での送受信データ比較部２５３の判定はＹＥＳとなってＳＭ２８に移行する。それらが一致しない場合、ＳＭ２７での送受信データ比較部２５３の判定はＮＯとなってＳＭ３２に移行する。
【０１０８】
ＳＭ３２では、監視データ比較部２５５は、受信バッファ２５４から出力されたリードデータが、送信データ記憶部２５２に記憶されている対応するデータと一致するか否か判定する。それらが一致する場合、ＳＭ３２での監視データ比較部２５５の判定はＹＥＳとなって上記ＳＭ３５に移行する。それらが一致しない場合、ＳＭ３２での監視データ比較部２５５の判定はＮＯとなってＳＭ３３に移行する。
【０１０９】
ＳＭ２８では、監視データ比較部２５５は、受信バッファ２５４から出力されたリードデータが、送信データ記憶部２５２に記憶されている対応するデータと一致するか否か判定する。それらが一致する場合、ＳＭ２８での監視データ比較部２５５の判定はＹＥＳとなってＳＭ２９に移行する。それらが一致しない場合、ＳＭ２８での監視データ比較部２５５の判定はＮＯとなって上記ＳＭ３５に移行する。
【０１１０】
ＳＭ３２でのＹＥＳの判定、及びＳＭ２８でのＮＯの判定は、何れも、Ｉ２Ｃバス２６、及びデータ線２７を介してスイッチングデバイス２３からＰＬＤ２５にそれぞれ送信されたリードデータが異なっていることを表している。それにより、Ｉ２Ｃバス２６、及びデータ線２７を介した通信の少なくとも一方に障害が発生している可能性をある。それぞれ送信されたリードデータは、スイッチングデバイス２３が２つのリードデータを適切に送信できなかった場合も異なることになる。このことから、ＳＭ３２でのＹＥＳの判定、及びＳＭ２８でのＮＯの判定により、上記ＳＭ３５に移行させる。
【０１１１】
ＳＭ３２でのＮＯの判定は、Ｉ２Ｃバス２６を介したスイッチングデバイス２５からＰＬＤ２５への通信、及びデータ線２７を介したスイッチングデバイス２３からＰＬＤ２５への通信には障害が発生した可能性が低いことを表している。また、スイッチングデバイス２３も適切に動作している可能性が高い。それにより、スイッチングデバイス２３がリードデータを受信できなかった可能性が高いと考えられる。スイッチングデバイス２３がリードデータを受信できないケースとしては、スイッチングデバイス２３とスレーブ間で適切な通信を行えなかった、スレーブ自体に障害（故障）が発生している、等が考えられる。このことから、ＳＭ３２でのＮＯの判定により移行するＳＭ３３では、判定部２５８は、その旨をＭＰＵ２４に通知する。その通知により、障害箇所の特定に係る一連の動作が終了する。
【０１１２】
ＳＭ２９では、監視データ比較部２５５は、受信バッファ２５４がＮＡＣＫを出力したか否か判定する。受信バッファ２５４がＮＡＣＫを出力した場合、ＳＭ２９での監視データ比較部２５５の判定はＹＥＳとなってＳＭ３０に移行する。受信バッファ２５４がＮＡＣＫを出力しなかった場合、ＳＭ２９での監視データ比較部２５５の判定はＮＯとなって上記ＳＭ３５に移行する。
【０１１３】
図４Ｂ、及び図４Ｄに表すように、受信バッファ２５４が受信するＮＡＣＫは、スイッチングデバイス２３が折り返して送信するデータである。そのため、ＳＭ２９でのＮＯの判定は、Ｉ２Ｃ２６を介したＰＬＤ２５からスイッチングデバイス２３への通信、或いはデータ線２７を介したスイッチングデバイス２３からＰＬＤ２５への通信に障害が発生している可能性を表している。結果として、スイッチングデバイス２３がＮＡＣＫを適切に折り返して送信できなかった場合も、受信バッファ２５４はＮＡＣＫを出力できない。このようなことから、ＳＭ２９でのＮＯの判定により、上記ＳＭ３５に移行する。
【０１１４】
上記のように、本実施形態では、Ｉ２Ｃバス２６を介して送受信するデータを用いた整合性の確認、データ線２７を介して受信するデータを用いた整合性の確認、及びＩ２Ｃバス２６とデータ線２７を介して送受信するデータ間の整合性の確認を行う。それら３種類の整合性の確認により、障害が発生している可能性のある箇所を適切に特定することができる。
【０１１５】
なお、本実施形態では、インターフェース規格としてＩ２Ｃ規格を採用しているが、採用するインターフェース規格はＩ２Ｃ規格に限定されない。Ｉ２Ｃ規格とは異なるインターフェース規格を採用しても良い。
【０１１６】
また、本実施形態では、マスター（ＰＬＤ２５）が実際に通信を行う対象は、スイッチングデバイス２３と、そのスイッチングデバイス２３を介して接続されたスレーブと、に大別することができる。障害が発生したと見なすべき箇所の範囲は、通信対象によって制限することができる。このことから、障害箇所の特定は、通信対象がスイッチングデバイス２３か否かの判定結果を反映させた形で行うようにしても良い。このこともあり、障害箇所の特定方法、つまりＰＬＤ２５の機能構成は、図２に表すようなものに限定されない。
【０１１７】
また、本実施形態では、ＰＬＤ２５は障害箇所の特定を行う障害箇所特定装置に相当するが、その障害箇所特定装置は、スイッチングデバイス２３に搭載させても良い。これは、スイッチングデバイス２３は、ＰＬＤ２５が取得可能なデータを全て取得できる装置だからである。障害箇所の特定は、必要なデータを取得すれば行えることから、障害箇所特定装置は、ＰＬＤ２５、及びスイッチングデバイス２３以外の装置、或いは場所に設けても良い。例えばスイッチングデバイス２３のようなスイッチングデバイスを複数台、カスケード接続させたシステム構成では、スイッチングデバイス毎に障害箇所特定装置を設け、各障害箇所特定装置による特定結果を処理して、最終的に障害箇所を特定する、より上位の障害箇所特定装置を設けても良い。このこともあり、情報処理装置は、図１、及び図２に表すような構成に限定されない。
【符号の説明】
【０１１８】
１    情報処理装置
２    本体
３、３−０〜３−Ｆ    ＰＣＩボックス
４、４−０〜４−Ｆ、２６    Ｉ２Ｃバス
２３    スイッチングデバイス
２４    ＭＰＵ
２５    ＰＬＤ
２７    データ線
３１    電源制御デバイス
３２    ファン制御デバイス
３３、３３−０、３３−１    電源ユニット
２３１、２５１    送受信部
２３２、２３２−０〜２３２−Ｆ    ポート
２３３    受信セレクタ
２３４    ポートアドレスセレクタ
２３５    ＡＣＫ／ＮＡＣＫ生成部
２３６、２３９    セレクタ
２３７    送受信データ切替部
２３８    監視データ切替部
２５２    送信データ記憶部
２５３    送受信データ比較部
２５５    監視データ比較部
２５６    ポートアドレス比較部
２５７    ポートアドレス記憶部
２５８    判定部
【図１】
2014186376.tif 000003
【図２】
2014186376.tif 000004
【図３Ａ】
2014186376.tif 000005
【図３Ｂ】
2014186376.tif 000006
【図４Ａ】
2014186376.tif 000007
【図４Ｂ】
2014186376.tif 000008
【図４Ｃ】
2014186376.tif 000009
【図４Ｄ】
2014186376.tif 000010
【図５】
2014186376.tif 000011
【図６】
2014186376.tif 000012
【図７】
2014186376.tif 000013
【手続補正書】
【提出日】平成26年1月27日(2014.1.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御する側であるマスターとの接続用のインターフェース、及び制御される側であるスレーブとの接続用の複数のポートを備えたスイッチング装置に、前記スイッチング装置の動作、及び受信したデータを表す情報の出力に用いる他のインターフェースを設け、前記他のインターフェースを介して前記情報を送信させ、
前記他のインターフェースを介して送信される前記情報を取得可能な装置に、前記マスターからのコマンドによる前記スイッチング装置の動作、及び受信したデータを、前記情報を用いて確認させることにより、障害が発生した可能性が考えられる箇所を特定させる、
ことを特徴とする障害箇所特定方法。
【請求項２】
前記情報は、前記スイッチング装置が前記複数のポートのなかで通信を可能とするポートを表す識別情報、並びに前記スイッチング装置が前記マスター、及び前記スレーブの少なくとも一方から受信したデータの一部を少なくとも含む、
ことを特徴とする請求項１記載の障害箇所特定方法。
【請求項３】
前記装置は、前記マスターと前記スイッチング装置間、前記スイッチング装置、前記スイッチング装置と前記スレーブ間、及び前記スレーブのなかで障害が発生した可能性が考えられる箇所を特定する、
ことを特徴とする請求項１、または２記載の障害箇所特定方法。
【請求項４】
制御する側であるマスターとの接続用のインターフェース、及び制御される側であるスレーブとの接続用の複数のポートと、
他のインターフェースと、
前記インターフェースを用いた前記マスターとの通信を行う場合に、前記他のインターフェースを用いて、障害箇所を特定するための情報を送信させる情報出力部と、
を有することを特徴とするスイッチング装置。
【請求項５】
前記複数のポートのなかで通信を可能とするポートを切り替える切替部、を有し、
前記情報出力部は、前記情報として、前記切替部が前記複数のポートのなかで通信を可能とするポートを表す識別情報、並びに前記スイッチング装置が前記マスター、及び前記スレーブの少なくとも一方から受信したデータの一部を少なくとも送信させる、
ことを特徴とする請求項４記載のスイッチング装置。
【請求項６】
前記情報出力部は、前記マスターから受信するコマンドの種類に応じて、前記情報として出力するデータを変更する、
ことを特徴とする請求項４、または５記載のスイッチング装置。
【請求項７】
制御する側であるマスターとの接続用のインターフェース、制御される側であるスレーブとの接続用の複数のポート、及び他のインターフェースを備えたスイッチング装置から、前記他のインターフェースを介して送信される、障害箇所を特定するための情報を受信する受信部と、
前記マスターと前記スイッチング装置との間で送受信されるデータを取得する取得部と、
前記取得部が取得した前記データ、及び前記受信部が受信した前記情報を用いて、障害が発生した可能性が考えられる箇所を特定する特定部と、
を有することを特徴とする障害箇所特定装置。
【請求項８】
前記特定部は、前記マスターと前記スイッチング装置間、前記スイッチング装置、前記スイッチング装置と前記スレーブ間、及び前記スレーブのなかから障害が発生した可能性が考えられる箇所を特定する、
ことを特徴とする請求項７記載の障害箇所特定装置。
【請求項９】
制御する側であるマスターとの接続用のインターフェース、制御される側であるスレーブとの接続用の複数のポートを備えたスイッチング装置と、障害の発生箇所を特定する障害発生箇所特定装置と、を有し、
前記スイッチング装置は、
他のインターフェースと、
前記インターフェースを用いた前記マスターとの通信を行う場合に、前記他のインターフェースを用いて、障害箇所を特定するための情報を送信させる情報出力部と、を有し、
前記障害箇所特定装置は、
前記スイッチング装置から前記他のインターフェースを介して送信される前記情報を受信する受信部と、
前記マスターと前記スイッチング装置との間で送受信されるデータを取得する取得部と、
前記取得部が取得した前記データ、及び前記受信部が受信した前記情報を用いて、障害が発生した可能性が考えられる箇所を特定する特定部と、を有する、
ことを特徴とする情報処理装置。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2014186376.tif 000014