(57)【要約】【課題】データの送受信を行うハードウェアに故障が発生した場合に、送信側のハードウェアと受信側のハードウェアとの何れに故障が発生したのかを特定する。【解決手段】対向装置に接続され、通常データ、テストデータ、及び制御データを表す信号を送信する送信部と、通常データ及び制御データを表す信号を受信する受信部と、受信機能に関する故障が発生した可能性があることを示すレシーバエラー検出通知信号を、受信部によって対向装置から受信した際に、送信部テストデータを表す信号を入力することを実行させ、送信部に入力されたテストデータを表す信号に応じて送信部によって出力された出力信号が正常であるか否かを検証するループバックテストを実行するループバックテスト部とを備える。【選択図】      図１
2019165273.tif 000002
【特許請求の範囲】
【請求項１】
対向装置、及び
前記対向装置に接続され、
通常データ、テストデータ、及び制御データを表す信号を送信する送信部と、
前記通常データ及び前記制御データを表す信号を受信する受信部と、
受信機能に関する故障が発生した可能性があることを示す前記制御データを表す信号であるレシーバエラー検出通知信号を、前記受信部によって前記対向装置から受信した際に、
前記送信部が前記テストデータを表す信号を入力することを実行させ、
前記送信部に入力された前記テストデータを表す信号に応じて前記送信部によって出力された出力信号が正常であるか否かを検証するループバックテストを実行する
ループバックテスト部と
を含む通信装置
を備えた通信システム。
【請求項２】
前記対向装置は、前記レシーバエラー検出通知信号を前記通信装置へ送信する際に、前記通常データを表す信号の受信を中止し、
前記ループバックテスト部は、前記レシーバエラー検出通知信号を受信した際に、前記送信部に前記通常データを表す信号の送信を中止させる
請求項１に記載の通信システム。
【請求項３】
前記ループバックテスト部は、前記ループバックテストにおいて前記出力信号が正常である場合に、前記送信部に前記通常データを表す信号の送信を再開させる
請求項２に記載の通信システム。
【請求項４】
前記ループバックテスト部は、前記ループバックテストにおいて前記出力信号が正常でない場合に、前記送信部において故障が発生したことを示す前記制御データを表す信号であるドライバエラー検出通知信号を前記対向装置へ送信し、
前記対向装置は、前記ドライバエラー検出通知信号を受信した際に、故障が発生していない前記通信装置から、前記通常データを表す信号の受信を再開する
請求項２又は３に記載の通信システム。
【請求項５】
第１のＣＰＵ（Central Processing Unit）と、第１の主記憶と、前記通信装置であり且つ前記対向装置である第１のエラー検出部とを含む第１のＣＰＵサブシステムと、
第２のＣＰＵと、第２の主記憶と、前記通信装置であり且つ前記対向装置である第２のエラー検出部とを含む第２のＣＰＵサブシステムと、
第１のＩＯ（Input and Output）デバイスと、前記通信装置であり且つ前記対向装置である第３のエラー検出部とを含む第１のＩＯサブシステムと、
第２のＩＯデバイスと、前記通信装置であり且つ前記対向装置である第４のエラー検出部とを含む第２のＩＯサブシステムと
を含む請求項１乃至４の何れか１項に記載の通信システム。
【請求項６】
対向装置に接続され、
通常データ、テストデータ、及び制御データを表す信号を送信する送信部と、
前記通常データ及び前記制御データを表す信号を受信する受信部と、
受信機能に関する故障が発生した可能性があることを示すレシーバエラー検出通知信号を、前記受信部によって前記対向装置から受信した際に、
前記送信部がテストデータを表す信号を入力することを実行させ、
前記送信部に入力された前記テストデータを表す信号に応じて前記送信部によって出力された出力信号が正常であるか否かを検証するループバックテストを実行する
ループバックテスト部と
を備えた通信装置。
【請求項７】
前記ループバックテストにおいて前記出力信号が伝送されるループバック経路は、前記ループバックテストが行われていない場合に、前記送信部から電気的に切断されている
請求項６に記載の通信装置。
【請求項８】
前記ループバック経路は、前記ループバック経路における前記出力信号の信号品質の低下が発生しないほど短い
請求項７に記載の通信装置。
【請求項９】
対向装置に接続され、
通常データ、テストデータ、及び制御データを表す信号を送信する送信部と、
前記通常データ及び前記制御データを表す信号を受信する受信部と
を備えた通信装置のテスト制御方法であって、
受信機能に関する故障が発生した可能性があることを示すレシーバエラー検出通知信号を、前記受信部によって前記対向装置から受信した際に、
前記送信部がテストデータを表す信号を入力することを実行させ、
前記送信部に入力された前記テストデータを表す信号に応じて前記送信部によって出力された出力信号が正常であるか否かを検証するループバックテストを実行する
通信装置のテスト制御方法。
【請求項１０】
対向装置に接続され、
通常データ、テストデータ、及び制御データを表す信号を送信する送信部と、
前記通常データ及び前記制御データを表す信号を受信する受信部と
を備えた通信装置が備えるコンピュータに、
受信機能に関する故障が発生した可能性があることを示すレシーバエラー検出通知信号を、前記受信部によって前記対向装置から受信した際に、
前記送信部がテストデータを表す信号を入力することを実行させ、
前記送信部に入力された前記テストデータを表す信号に応じて前記送信部によって出力された出力信号が正常であるか否かを検証するループバックテストを実行する
ループバックテスト処理を実行させる、
通信装置のテスト制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置における故障を特定する技術に関する。
【背景技術】
【０００２】
交通管制、金融、証券、医療等の基幹業務において使用されるサーバは、社会生活の基盤を担っており、高い信頼性と高い耐故障性とが求められる。又、企業の業務サーバにおいても故障によるサービスの停止が大きな営業的損失を招く恐れがある。このように、幅広い分野において、高信頼性サーバの需要が高まっている。
【０００３】
サーバのシリアルバスにおいてエラーが多発すると、サーバの性能が低下することがある。高速シリアルバスの規格であるＰＣＩ−Ｅｘｐｒｅｓｓでは、コレクタブルエラーについてはハードウェア等によって自動的に回復処理が行われる。又、ＰＣＩ−Ｅｘｐｒｅｓｓでは、ノンフェイタルエラーについてはソフトウェア等によって自動的に回復処理が行われる。そのため、ユーザがこれらのエラーの多発に気づかない結果、サーバの性能低下が発生することがある。
【０００４】
サーバの性能低下を防止する技術の一例が、特許文献１に開示されている。特許文献１の画像形成装置は、ユーザ回路と、割り込みメイン回路とを含む。ユーザ回路は、カウンタ回路を含む。ユーザ回路は、コレクタブルエラー及びノンフェイタルエラーをカウンタ回路によってカウントする。割り込みメイン回路は、所定の回数のエラーが発生した場合に、割り込み通知を行う。上記構成の結果、特許文献１の画像形成装置では、割り込み通知によってユーザにパフォーマンスの低下を通知する。
【０００５】
特許文献１の技術では、ＰＣＩ−Ｅｘｐｒｅｓｓにおけるフェイタルエラー等の、ハードウェアに起因するエラーには対処できない。
【０００６】
一方、フォールトトレラント（ＦＴ）サーバは、ＣＰＵ（Central Processing Unit）、メモリ、ハードディスク、及び電源等の大部分のハードウェアを冗長化し、何れかのハードウェアが故障してもサービスを継続できる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１４０２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところが、ハードウェアを冗長化したサーバであっても、ハードウェアにおいて故障が発生したために冗長性が失われた際に、故障したハードウェアの交換やシステムの再構成のために人手を必要とする。そのため、ハードウェアを冗長化したサーバであっても、冗長性を失った状態でシステムを稼動させなければならないことがある。冗長性を失った状態におけるサーバの稼動は、サーバがダウンする危険性を有するので、可能な限り避けられるべきである。
【０００９】
ＦＴサーバでは、例えば、ハードウェアが二重化された、ＣＰＵサブシステムとＩＯ（Input and Output）サブシステムとの間が高速なシリアルバスによって接続される。例えば、ＰＣＩ−Ｅｘｐｒｅｓｓでは、データの送受信におけるエラーの検出は、レシーバ側（受信側）で行われ、ドライバ側（送信側）では行われない。そのため、データの送受信においてエラーが検出された際に、ドライバ側とレシーバ側とのどちらが故障しているかを判別することができない。つまり、故障が疑われる（被疑）ハードウェアとして切り離されたサブシステムが実際には故障していないことがある。従って、ＰＣＩ−Ｅｘｐｒｅｓｓを利用するＦＴサーバでは、被疑サブシステムが交換されるまでの間、二重化されていない状態が不必要に継続する可能性がある。
【００１０】
一般的に、高速化されたシリアルデータ通信線では、負荷が信号品質に重大な影響を及ぼすため、ドライバとレシーバとの間は一対一で接続され、且つ差動信号が用いられる。そのため、ドライバに故障検出用の回路を別途接続できず、ドライバ側における物理的又は電気的な故障は、レシーバ側でしか検出されない。
【００１１】
本発明は、上記の課題に鑑みてなされたもので、データの送受信を行うハードウェアに故障が発生した場合に、送信側のハードウェアと受信側のハードウェアとの何れに故障が発生したのかを特定することを主たる目的とする。
【課題を解決するための手段】
【００１２】
本発明の一態様において、通信システムは、対向装置、及び対向装置に接続され、通常データ、テストデータ、及び制御データを表す信号を送信する送信部と、通常データ及び制御データを表す信号を受信する受信部と、受信機能に関する故障が発生した可能性があることを示す制御データを表す信号であるレシーバエラー検出通知信号を、受信部によって対向装置から受信した際に、送信部がテストデータを表す信号を入力することを実行させ、送信部に入力されたテストデータを表す信号に応じて送信部によって出力された出力信号が正常であるか否かを検証するループバックテストを実行するループバックテスト部とを含む通信装置を備える。
【００１３】
本発明の一態様において、通信装置は、対向装置に接続され、通常データ、テストデータ、及び制御データを表す信号を送信する送信部と、通常データ及び制御データを表す信号を受信する受信部と、受信機能に関する故障が発生した可能性があることを示すレシーバエラー検出通知信号を、受信部によって対向装置から受信した際に、送信部がテストデータを表す信号を入力することを実行させ、送信部に入力されたテストデータを表す信号に応じて送信部によって出力された出力信号が正常であるか否かを検証するループバックテストを実行するループバックテスト部とを備える。
【００１４】
本発明の一態様において、通信装置のテスト制御方法は、対向装置に接続され、通常データ、テストデータ、及び制御データを表す信号を送信する送信部と、通常データ及び制御データを表す信号を受信する受信部とを備えた通信装置のテスト制御方法であって、受信機能に関する故障が発生した可能性があることを示すレシーバエラー検出通知信号を、受信部によって対向装置から受信した際に、送信部がテストデータを表す信号を入力することを実行させ、送信部に入力されたテストデータを表す信号に応じて送信部によって出力された出力信号が正常であるか否かを検証するループバックテストを実行する。
【００１５】
本発明の一態様において、通信装置のテスト制御プログラムは、対向装置に接続され、通常データ、テストデータ、及び制御データを表す信号を送信する送信部と、通常データ及び制御データを表す信号を受信する受信部とを備えた通信装置が備えるコンピュータに、受信機能に関する故障が発生した可能性があることを示すレシーバエラー検出通知信号を、受信部によって対向装置から受信した際に、送信部がテストデータを表す信号を入力することを実行させ、送信部に入力されたテストデータを表す信号に応じて送信部によって出力された出力信号が正常であるか否かを検証するループバックテストを実行するループバックテスト処理を実行させる。
【発明の効果】
【００１６】
本発明によれば、データの送受信を行うハードウェアに故障が発生した場合に、送信側のハードウェアと受信側のハードウェアとの何れに故障が発生したのかを特定できるという効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態における通信システムの構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態における通信システムの動作を示すフローチャートである。
【図３】本発明の第２の実施形態におけるＦＴサーバの構成の一例を示すブロック図である。
【図４】本発明の第２の実施形態におけるエラー検出部の構成の一例を示すブロック図である。
【図５】本発明の第２の実施形態におけるエラー検出部の動作を示すフローチャートである。
【図６】本発明の各実施形態における切替部を実現可能なハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について、図面を参照して詳細に説明する。尚、全ての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
（第１の実施形態）
本発明の各実施形態の基本である、本発明の第１の実施形態について説明する。
【００１９】
本実施形態における構成について説明する。
【００２０】
図１は、本発明の第１の実施形態における通信システムの構成の一例を示すブロック図である。
【００２１】
本実施形態における通信システム３０５は、１対以上の、通信装置１０５と対向装置１２５との対を含む。
【００２２】
通信装置１０５は、対向装置１２５に接続される。通信装置１０５は、送信部２５０と、受信部２７０と、ループバックテスト部２６０とを含む。
【００２３】
送信部２５０は、通常データ、テストデータ、及び制御データを表す信号を送信する。
【００２４】
受信部２７０は、通常データ及び前記制御データを表す信号を受信する。
【００２５】
ループバックテスト部２６０は、レシーバエラー検出通知信号を、受信部２７０によって対向装置１２５から受信した際に、以下のループバックテストを実行する。ここで、レシーバエラー検出通知信号とは、受信機能に関する故障が発生した可能性があることを示す制御データを表す信号であることとする。
【００２６】
（ｉ）ループバックテスト部２６０は、送信部２５０がテストデータを表す信号を入力することを実行させる（指示する）。
【００２７】
（ｉｉ）ループバックテスト部２６０は、送信部２５０に入力されたテストデータを表す信号に応じて送信部２５０によって出力された出力信号が、正常であるか否かを検証する。
【００２８】
本実施形態における動作について説明する。
【００２９】
図２は、本発明の第１の実施形態における通信システムの動作を示すフローチャートである。具体的には、図２は、対向装置１２５が受信におけるエラーを検出してから、通信装置１０５がループバックテストを実行するまでの動作を表す。尚、図２に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【００３０】
まず、対向装置１２５は、通信装置１０５からのデータ受信において、エラーを検出する（ステップＳ１１０）。
【００３１】
次に、対向装置１２５は、レシーバエラー検出通知信号を通信装置１０５へ送信する（ステップＳ１２０）。
【００３２】
続いて、通信装置１０５の受信部２７０は、対向装置１２５からレシーバエラー検出通知信号を受信する（ステップＳ１３０）。
【００３３】
続いて、通信装置１０５のループバックテスト部２６０は、通信装置１０５の送信部２５０に関するループバックテストを実行する（ステップＳ１４０）。
【００３４】
以上説明したように、本実施形態における通信システム３０５では、対向装置１２５は、通信装置１０５からのデータ受信において、エラーを検出すると（ステップＳ１１０）、レシーバエラー検出通知信号を通信装置１０５へ送信する（ステップＳ１２０）。そして、通信装置１０５は、対向装置１２５からレシーバエラー検出通知信号を受信すると（ステップＳ１３０）、通信装置１０５の送信部２５０に関するループバックテストを実行する（ステップＳ１４０）。そして、ループバックテストにおいてエラーが発生すれば、通信装置１０５の送信部２５０において故障が発生したことを特定でき、ループバックテストにおいてエラーが発生しなければ、対向装置１２５において故障が発生したことを特定できる。従って、本実施形態における通信システム３０５には、データの送受信を行うハードウェア（通信装置１０５の送信部２５０、又は対向装置１２５）に故障が発生した場合に、送信側のハードウェア（送信部２５０）と受信側のハードウェア（対向装置１２５）との何れに故障が発生したのかを特定できるという効果がある。
【００３５】
尚、本実施形態における通信システム３０５では、対向装置１２５は、レシーバエラー検出通知信号を通信装置１０５へ送信する際に、通常データを表す信号の受信を中止してもよい。そして、ループバックテスト部２６０は、レシーバエラー検出通知信号を受信した際に、送信部２５０に通常データを表す信号の送信を中止させてもよい。受信と送信との両方を中止させた場合には、通信システム３０５では、故障が発生した可能性がある、対向装置１２５における通常データを表す信号の受信と、送信部２５０における通常データを表す信号の送信に起因する、更なるエラーの発生を抑制できるという効果がある。
【００３６】
又、本実施形態における通信システム３０５では、ループバックテスト部２６０は、ループバックテストにおいて出力信号が正常である場合に、送信部２５０に通常データを表す信号の送信を再開させてもよい。この場合には、通信システム３０５には、故障していない送信部２５０が不必要に切り離されている時間を短縮できるという効果がある。
【００３７】
又、本実施形態における通信システム３０５では、ループバックテスト部２６０は、ループバックテストにおいて出力信号が正常でない場合に、送信部２５０において故障が発生したことを示す制御データを表す信号であるドライバエラー検出通知信号を対向装置１２５へ送信してもよい。そして、対向装置１２５は、ドライバエラー検出通知信号を受信した際に、故障が発生していない他の通信装置１０５から、通常データを表す信号の受信を再開してもよい。この場合には、通信システム３０５には、故障していない対向装置１２５が不必要に切り離されている時間を短縮できるという効果がある。
【００３８】
又、本実施形態における通信システム３０５では、ループバックテストにおいて出力信号が伝送されるループバック経路は、ループバックテストが行われていない場合に、送信部２５０から電気的に切断されていることが望ましい。この場合には、通信システム３０５には、ループバック経路が、通常データを表す信号の品質を低下させ難いという効果がある。
【００３９】
又、本実施形態における通信システム３０５では、ループバック経路は、ループバック経路における出力信号の信号品質の低下（信号における歪やノイズ等）が発生しないほど短いことが望ましい。この場合には、通信システム３０５には、送信部２５０における故障を誤検出し難いという効果がある。
（第２の実施形態）
次に、本発明の第１の実施形態を基本とする、本発明の第２の実施形態について説明する。本実施形態の通信システムは、各々が通信装置と対向装置との対であるエラー検出部を含む４つのサブシステムを含む、フォールトトレラント（ＦＴ）サーバである。又、本実施形態では、通信システムの構成及び動作についてより詳細に説明する。
【００４０】
本実施形態における構成について説明する。
【００４１】
図３は、本発明の第２の実施形態におけるＦＴサーバの構成の一例を示すブロック図である。
【００４２】
本実施形態におけるＦＴサーバ３００は、ハードウェアが二重化されている。ＦＴサーバ３００は、第１系を構成する、ＣＰＵサブシステム１００及びＩＯサブシステム１１０、並びに第２系を構成する、ＣＰＵサブシステム１２０及びＩＯサブシステム１３０を含む。ＣＰＵサブシステム１００とＩＯサブシステム１３０との間、及びＣＰＵサブシステム１２０とＩＯサブシステム１１０との間のそれぞれは、第１系と第２系との間（以下、「系間」と称す）の双方向データ転送用の高速シリアル通信経路１４０と、系間の制御に利用される低速通信用経路１４１との両方によって接続される。ＣＰＵサブシステム１００とＩＯサブシステム１１０との間、及びＣＰＵサブシステム１２０とＩＯサブシステム１３０との間のそれぞれは、第１系又は第２系内（以下、「系内」と称す）の双方向データ転送用の高速シリアル通信経路１５１又は１５２によって接続される。ＣＰＵサブシステム１００、ＩＯサブシステム１１０、ＣＰＵサブシステム１２０、及びＩＯサブシステム１３０のそれぞれを「サブシステム」と称することとする。
【００４３】
ＣＰＵサブシステム１００は、主記憶１０１と、ＣＰＵ１０２と、ＣＰＵ側ＦＴ制御部１０３と、エラー検出部１０４とを含む。
【００４４】
ＩＯサブシステム１１０は、ＩＯ側ＦＴ制御部１１１と、ＩＯデバイス１１２と、エラー検出部１０４とを含む。
【００４５】
ＣＰＵサブシステム１２０は、主記憶１０１と、ＣＰＵ１０２と、ＣＰＵ側ＦＴ制御部１０３と、エラー検出部１０４とを含む。
【００４６】
主記憶１０１は、ＣＰＵ１０２によってデータを読み書きされる。
【００４７】
ＣＰＵ１０２は、ＣＰＵサブシステム１００又は１２０の全体を管理する。
【００４８】
ＣＰＵ側ＦＴ制御部１０３は、ＣＰＵ１０２とＩＯデバイス１１２との間におけるデータの送受信を行う。又、ＣＰＵ側ＦＴ制御部１０３は、ＩＯサブシステム１１０とＩＯサブシステム１３０との間で、ＣＰＵ１０２によって利用されるＩＯサブシステムの切替を行う。
【００４９】
ＩＯサブシステム１３０は、ＩＯ側ＦＴ制御部１１１と、ＩＯデバイス１１２と、エラー検出部１０４とを含む。
【００５０】
ＩＯ側ＦＴ制御部１１１は、ＣＰＵサブシステム１００とＣＰＵサブシステム１２０との間で、ＩＯ側ＦＴ制御部１１１が利用されるＣＰＵサブシステムの切替を行う。
【００５１】
ＩＯデバイス１１２は、ＣＰＵサブシステム１００又はＣＰＵサブシステム１２０によるＩＯ命令を処理する。ＩＯデバイス１１２は、例えば、ハードディスクドライブ、ディスプレイ、又はネットワークカードである。
【００５２】
ＣＰＵサブシステム１００のエラー検出部１０４とＩＯサブシステム１３０のエラー検出部１０４との間、及びＣＰＵサブシステム１２０のエラー検出部１０４とＩＯサブシステム１１０のエラー検出部１０４との間はそれぞれ、双方向データ転送用の高速シリアル通信経路１４０と系間の制御に利用される低速通信用経路１４１との両方によって接続される。
【００５３】
図４は、本発明の第２の実施形態におけるエラー検出部の構成の一例を示すブロック図である。
【００５４】
エラー検出部１０４は、データ送信側エラー検出部２００と、データ受信側エラー検出部２２０とを含む。但し、図４の右端における、データ送信側エラー検出部２００とデータ受信側エラー検出部２２０との間の接続関係（「外部接続」間を繋ぐ線）は、異なるサブシステム間の接続関係（図３における経路１４０、１４１等）を示している。即ち、図４において、外部接続は、対向するサブシステムとの接続を意味する。外部接続間を繋ぐ線は、本来、同じサブシステム内における接続関係ではない。信号の流れを説明する都合上、１つのサブシステムにおける１つのエラー検出部１０４を図示した図４を流用して、外部接続間を繋ぐ線も合わせて図示している。
【００５５】
データ送信側エラー検出部２００は、エラー検出制御部２０２と、ドライバ２０９と、切断及び接続部２０３と、レシーバ２０８と、テストパタン送出部２０４と、データ送信切替部２０５と、テストパタン検出部２０６とを含む。
【００５６】
エラー検出制御部２０２は、データ受信側エラー検出部２２０から送信されたレシーバエラー検出通知信号２０１を受信し、受信したレシーバエラー検出通知信号２０１に基づいて、データ送信側におけるテスト（エラーチェック）を制御する。
【００５７】
ドライバ２０９は、入力に応じて、通常データ信号又はデストデータ信号を送信する。
【００５８】
切断及び接続部２０３は、通常時に通常データ信号と電気的に切断されており、エラーが検出された際の制御（エラー検出制御）時にレシーバ２０８に電気的に接続される。つまり、通常時に、切断及び接続部２０３に接続された信号路は、通常データ信号に影響を与えない。
【００５９】
レシーバ２０８は、切断及び接続部２０３によって切り替えられたテストデータ信号を受信する。
【００６０】
テストパタン送出部２０４は、ドライバ２０９へテストデータ信号を出力する。
【００６１】
データ送信切替部２０５は、テストデータ信号と通常データ信号とを切り替える。
【００６２】
テストパタン検出部２０６は、ドライバ２０９を経由した後に内部に戻されたテストデータ信号を検証し、ドライバエラー検出通知信号２０７を出力する。ここで、ドライバエラー検出通知信号２０７は、ドライバ２０９におけるエラー検出をデータ受信側へ通知するための信号である。
【００６３】
つまり、データ送信側エラー検出部２００は、テストパタン送出部２０４と、データ送信切替部２０５と、ドライバ２０９と、切断及び接続部２０３と、レシーバ２０８と、テストパタン検出部２０６とによって、ドライバ２０９からテストパタン検出部２０６へのループバック経路を実現する。データ送信側エラー検出部２００は、このループバック経路においてテストデータ信号におけるエラーの有無を検出すること（ループバックテスト）によって、ドライバ２０９における故障を検出する。尚、ループバック経路を構成する各要素は、テストデータ信号の品質が低下しないために十分なだけ経路が短くなるように、互いに近くに配置されることとする。
【００６４】
データ受信側エラー検出部２２０は、レシーバ２２３と、エラー検出制御部２２１とを含む。
【００６５】
レシーバ２２３は、データ送信側エラー検出部２００から通常データ信号及びドライバエラー検出通知信号２０７を受信する。
【００６６】
エラー検出制御部２２１は、受信データにおけるエラーを検出した際に、レシーバエラー検出通知信号２２２を送信する。ここで、レシーバエラー検出通知信号２２２は、レシーバ２２３におけるエラー検出をデータ送信側へ通知するための信号である。
【００６７】
ＦＴサーバ３００の他の構成については、当業者に広く知られているので、ここでは詳述しない。
【００６８】
本実施形態における他の構成は、第１の実施形態における構成と同じである。即ち、エラー検出部１０４は、第１の実施形態における、通信装置１０５の機能と、対向装置１２５の機能とを含む。
【００６９】
本実施形態における動作について説明する。
【００７０】
データ受信側エラー検出部２２０が受信データエラーを検出した場合におけるエラー検出部１０４の動作の一例について説明する。
【００７１】
図５は、本発明の第２の実施形態におけるエラー検出部の動作を示すフローチャートである。尚、図５に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【００７２】
まず、エラー検出制御部２２１は、レシーバ２２３によって受信データにおけるエラーを検出する（ステップＳ２１０）。
【００７３】
次に、エラー検出制御部２２１は、レシーバエラー検出通知信号２０１をデータ送信側エラー検出部２００へ送信し、通常データの受信を停止する（ステップＳ２２０）。
【００７４】
続いて、エラー検出制御部２０２は、レシーバエラー検出通知信号２０１を受信する（ステップＳ２３０）。
【００７５】
続いて、エラー検出制御部２０２は、切断及び接続部２０３に通常データ信号の外部接続を切断させ、切断及び接続部２０３にドライバ２０９の出力をレシーバ２０８へ接続させることによって、テストパタン検出部２０６へのループバックテストを可能にする（ステップＳ２４０）。
【００７６】
続いて、エラー検出制御部２０２は、データ送信切替部２０５に、通常データ信号の出力を、テストパタン送出部２０４からのテストデータ信号の出力へ切り替えさせる（ステップＳ２５０）。
【００７７】
続いて、エラー検出制御部２０２は、テストパタン送出部２０４に、テストデータ信号をドライバ２０９へ送信させる（ステップＳ２６０）。
【００７８】
続いて、エラー検出制御部２０２は、テストパタン検出部２０６に、ドライバ２０９を経由したテストデータ信号を検証させる（ステップＳ２７０）。
【００７９】
ドライバエラーが発生すれば（ステップＳ２８０におけるＹｅｓ）、エラー検出制御部２０２は、ドライバエラー検出通知信号２０７をデータ受信側エラー検出部２２０へ送信させる（ステップＳ２９０）。
【００８０】
そして、エラー検出制御部２２１は、ドライバエラー検出通知信号２０７を受信すると、故障が発生していないデータ送信側エラー検出部２００から、通常データ信号の受信を再開し（ステップＳ３００）、処理を終了する。
【００８１】
一方、ドライバエラーが発生しなければ（ステップＳ２８０におけるＮｏ）、エラー検出制御部２０２は、ループバックテストを終了し、切断及び接続部２０３に通常データ信号の外部接続を接続させ（ステップＳ３１０）、処理を終了する。
【００８２】
つまり、各ＣＰＵサブシステム１００、１２０及びＩＯサブシステム１１０、１３０のそれぞれ（サブシステム）におけるエラー検出部１０４は、エラーの発生を検出し、ドライバエラーが検出された場合に、データ送信側のサブシステムを切り離す。一方、サブシステムにおけるエラー検出部１０４はそれぞれ、ドライバエラーが検出されなかった場合に、データ受信側のサブシステムを切り離す。つまり、ＦＴサーバ３００は、故障していないサブシステムが不必要に切り離されている時間を短縮できる。
【００８３】
本実施形態における他の動作は、第１の実施形態における動作と同じである。
【００８４】
以上説明したように、本実施形態におけるＦＴサーバ３００では、各サブシステムはエラー検出部１０４を含む。エラー検出部１０４は、データ送信側エラー検出部２００と、データ受信側エラー検出部２２０とを含む。データ送信側エラー検出部２００は、ループバック経路においてループバックテストを実行することによって、ドライバ２０９における故障の有無を検出可能である。そして、データ送信側エラー検出部２００は、データ受信側エラー検出部２２０においてエラーが検出された際に、データ送信側エラー検出部２００自身における故障の有無を検出する。ここで、ループバックは、通常時には、ドライバ２０９に対して電気的に切断されており、通常データ信号に影響を与えない。従って、本実施形態におけるＦＴサーバ３００には、データの送受信を行うハードウェアに故障が発生した場合に、送信側のハードウェアと受信側のハードウェアとの何れに故障が発生したのかを特定できるという効果がある。
【００８５】
又、本実施形態におけるＦＴサーバ３００では、各サブシステムのエラー検出部１１４は、通常データの送受信を行う。そして、データ受信側エラー検出部２２０においてエラーを検出し、更にデータ送信側エラー検出部２００においてドライバエラーが検出された場合に、データ送信側のサブシステムを切り離し、ドライバエラーが検出されなかった場合に、データ受信側のサブシステムを切り離す。従って、本実施形態におけるＦＴサーバ３００には、故障していないサブシステムが不必要に切り離されている時間を短縮できるという効果がある。即ち、本実施形態におけるＦＴサーバ３００では、ハードウェアの冗長性が失われている時間を短縮し、システムの可用性を向上できる。
【００８６】
尚、上述の説明では、エラー検出部１０４が各サブシステム内に設置される場合について説明した。しかしながら、本実施形態におけるＦＴサーバ３００では、同系（第１系同士（又は第２系同士））のＣＰＵサブシステム１００（１２０）とＩＯサブシステム１１０（１３０）とが一体に形成され、各エラー検出部１０４において、エラー検出制御部２０２、２２１、テストパタン送出部２０４、及びテストパタン検出部２０６が、１つの回路を共有して実現されてもよい。
【００８７】
図６は、本発明の各実施形態における、通信装置を実現可能なハードウェア構成の一例を示すブロック図である。
【００８８】
通信装置又はサブシステム（以下、通信装置と称す）９０７は、記憶装置９０２と、ＣＰＵ（Central Processing Unit）９０３と、キーボード９０４と、モニタ９０５と、Ｉ／Ｏ（Input/Output）装置９０８とを備え、これらが内部バス９０６によって接続されている。記憶装置９０２は、ループバックテスト部２６０、エラー検出部１０４等のＣＰＵ９０３の動作プログラムを格納する。ＣＰＵ９０３は、通信装置９０７の全体を制御し、記憶装置９０２に格納された動作プログラムを実行し、Ｉ／Ｏ装置９０８によってループバックテスト部２６０、エラー検出部１０４等のプログラムの実行やデータの送受信を行なう。尚、上記の通信装置９０７の内部構成は一例である。通信装置９０７は、必要に応じて、キーボード９０４、モニタ９０５を接続する装置構成であってもよい。
【００８９】
上述した本発明の各実施形態における通信装置９０７は、専用の装置によって実現してもよいが、Ｉ／Ｏ装置９０８が外部との通信を実行するハードウェアの動作以外は、コンピュータ（情報処理装置）によっても実現可能である。本発明の各実施形態において、Ｉ／Ｏ装置９０８は、例えば、対向装置１２５、他のサブシステム等との入出力部である。この場合、係るコンピュータは、記憶装置９０２に格納されたソフトウェア・プログラムをＣＰＵ９０３に読み出し、読み出したソフトウェア・プログラムをＣＰＵ９０３において実行する。上述した各実施形態の場合、係るソフトウェア・プログラムには、上述したところの、図１及び３に示した、通信装置１０５、サブシステムの各部の機能を実現可能な記述がなされていればよい。但し、これらの各部には、適宜ハードウェアを含むことも想定される。そして、このような場合、係るソフトウェア・プログラム（コンピュータ・プログラム）は、本発明を構成すると捉えることができる。更に、係るソフトウェア・プログラムを格納した、コンピュータ読み取り可能な記憶媒体も、本発明を構成すると捉えることができる。
【００９０】
以上、本発明を、上述した各実施形態およびその変形例によって例示的に説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態およびその変形例に記載した範囲に限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【産業上の利用可能性】
【００９１】
本発明は、サーバ、コンピュータ周辺機器等の電子装置に含まれる、ＩＯ装置、通信装置等における故障を特定する用途において利用できる。
【符号の説明】
【００９２】
１０５  通信装置
１２５  対向装置
２５０  送信部
２６０  ループバックテスト部
２７０  受信部
３０５  通信システム
１００、１２０  ＣＰＵサブシステム
１１０、１３０  ＩＯサブシステム
１０１  主記憶
１０２  ＣＰＵ
１０３  ＣＰＵ側ＦＴ制御部
１０４  エラー検出部
１１１  ＩＯ側ＦＴ制御部
１１２  ＩＯデバイス
１４０  高速シリアル通信経路
１４１  低速通信用経路
２００  データ送信側エラー検出部
２０１  レシーバエラー検出通知信号
２０２  エラー検出制御部
２０３  切断及び接続部
２０４  テストパタン送出部
２０５  データ送信切替部
２０６  テストパタン検出部
２０７  ドライバエラー検出通知信号
２０８  レシーバ
２０９  ドライバ
２２０  データ受信側エラー検出部
２２１  エラー検出制御部
２２３  レシーバ
３００  ＦＴサーバ
９０２  記憶装置
９０３  ＣＰＵ
９０４  キーボード
９０５  モニタ
９０６  内部バス
９０７  通信装置
９０８  Ｉ／Ｏ装置
【図１】
2019165273.tif 000003
【図２】
2019165273.tif 000004
【図３】
2019165273.tif 000005
【図４】
2019165273.tif 000006
【図５】
2019165273.tif 000007
【図６】
2019165273.tif 000008