(57)【要約】  【課題】ネットワーク中継装置において故障が発生したことを容易に検出できるようにする。  【解決手段】診断データがその種類に応じて経由すべき出力ポート２３８から適切に出力されない場合、検索エンジン２２４により不適切な出力ポートが検出されてしまう，出力処理部２３０による入力データの出力が行われないなどといった故障が発生している可能性が高い。そのため、診断データが適切に出力されたか否かをチェックすることで、装置における故障の発生を容易に診断できる。それは、このようなチェックに際しての処理は、ネットワーク中継装置１による実際の動作に付随する処理といえるため、故障検出のために専用の処理を行う構成と比べて、処理負担や処理時間が大きくなることもないからである。【選択図】図１
2007067528.tif 000002
【特許請求の範囲】
【請求項１】
入力ポートから入力された入力データの出力先となる出力ポートを、該入力データに付加された付加情報に基づいて決定する出力決定手段と、
該出力決定手段により決定された出力ポートから前記入力データを出力する入力データ出力手段と、を備えたネットワーク中継装置であって、
所定の出力ポートが前記出力決定手段により出力先として決定される内容の付加情報を付加した診断データを、故障診断用の入力データとして生成する診断生成手段と、
該診断生成手段により生成された診断データが、前記出力決定手段による出力ポートの決定を経て前記入力データ出力手段により出力されない場合、または、該出力された場合の出力ポートが、前記診断データの出力先として決定されるべき出力ポートと一致しない場合に、当該ネットワーク中継装置に故障が発生していると診断する第１診断手段と、を備えている
ことを特徴とするネットワーク中継装置。
【請求項２】
前記診断生成手段は、前記出力決定手段によりそれぞれ異なる出力ポートが出力先として決定される内容の付加情報を付加した複数の診断データ，および，前記出力決定手段により複数の出力ポートが出力先として決定される内容の付加情報を付加した診断データを順次生成して、
前記第１診断手段は、前記診断生成手段により生成された診断データそれぞれに基づいて故障の診断を行う、ように構成されている
ことを特徴とする請求項１に記載のネットワーク中継装置。
【請求項３】
当該ネットワーク中継装置の動作負荷を監視する負荷監視手段を備え、
前記診断生成手段は、前記負荷監視手段により監視される動作負荷が、所定の大きさ未満となっている状況において前記診断データを生成する、ように構成されている
ことを特徴とする請求項１または請求項２に記載のネットワーク中継装置。
【請求項４】
前記データ出力手段は、前記出力決定手段により決定された出力ポートへと至る経路に前記入力データを出力して、
前記負荷監視手段は、前記出力ポートへと至る経路におけるデータ量を監視しており、
前記診断生成手段は、前記負荷監視手段により監視されるデータ量が所定量未満である状況において前記診断データを生成する、ように構成されている
ことを特徴とする請求項３に記載のネットワーク中継装置。
【請求項５】
前記出力決定手段により出力ポートが決定された回数，および，前記入力データ出力手段により入力データが出力された回数が一致するか否かをチェックし、両回数が一致しない場合に、当該ネットワーク中継装置に故障が発生していると診断する第２診断手段を備えている
ことを特徴とする請求項１から４のいずれかに記載のネットワーク中継装置。
【請求項６】
一定時間に前記出力決定手段により出力ポートが決定された回数，および，前記入力データ出力手段により入力データが出力された回数それぞれを繰り返し積算する積算手段と、
該積算手段により積算された回数それぞれが一致する場合に、診断用信号の信号レベルを反転させるレベル反転手段と、を備えており、
前記第２診断手段は、前記診断用信号の信号レベルが前記一定時間毎に反転しなくなった場合に、当該ネットワーク中継装置に故障が発生したと診断する、ように構成されている
ことを特徴とする請求項５に記載のネットワーク中継装置。
【請求項７】
前記出力決定手段は、前記入力データの出力先となる出力ポートを、前記付加情報，および，該付加情報が付加された入力データの出力先とすべき出力ポートを対応づけて登録したデータテーブルに基づいて特定する、ように構成されている
ことを特徴とする請求項１から６のいずれかに記載のネットワーク中継装置。
【請求項８】
一定期間間隔で前記データテーブルの登録内容を示す登録データを生成する登録生成手段と、
該登録生成手段により登録データが生成された後における所定のタイミングで、その時点における前記データテーブルの登録内容，および，前記登録データで示される登録内容が一致するか否かをチェックし、両登録内容が一致しない場合に、当該ネットワーク中継装置に故障が発生したと診断する第３診断手段と、を備えている
ことを特徴とする請求項７に記載のネットワーク中継装置。
【請求項９】
当該ネットワーク中継装置に故障が発生したと診断された場合に、前記出力ポートそれぞれから装置外部へのデータの出力を遮断する出力遮断手段を備えている
ことを特徴とする請求項１から８のいずれかに記載のネットワーク中継装置。
【請求項１０】
当該ネットワーク中継装置に故障が発生したと診断された場合に、前記入力データの出力が遮断される旨を報知するための報知データを、前記出力ポートそれぞれから出力する報知データ出力手段を備え、
前記出力遮断手段は、前記報知データ以外のデータの出力を遮断する、ように構成されている
ことを特徴とする請求項９に記載のネットワーク中継装置。
【請求項１１】
当該ネットワーク中継装置に故障が発生したと診断された場合に、前記出力遮断手段によるデータ出力の遮断に先立って、前記出力ポートからの入力データの出力が遮断される旨を報知するための報知データを前記出力ポートから出力する報知データ出力手段を備えている
ことを特徴とする請求項９に記載のネットワーク中継装置。
【請求項１２】
入力ポートから入力された入力データの出力先となる出力ポートを、該入力データに付加された付加情報に基づいて決定する出力決定手段と、該出力決定手段により決定された出力ポートから前記入力データを出力する入力データ出力手段と、を備えたネットワーク中継装置に、データ通信可能に接続された故障診断装置であって、
前記出力決定手段により所定の出力ポートが出力先として決定される内容の付加情報を付加した診断データを、故障診断用の入力データとして生成する診断生成手段と
該診断生成手段により生成された診断データを、前記ネットワーク中継装置の入力ポートに前記入力データとして入力するデータ入力手段と、
該データ入力手段により前記ネットワーク中継装置に診断データが入力された後、該ネットワーク中継装置から前記診断データが出力されない場合、または、該出力された場合の出力ポートが前記診断データの出力先として決定されるべき出力ポートと一致しない場合に、前記ネットワーク中継装置に故障が発生していると診断する第１診断手段と、を備えている
ことを特徴とする故障診断装置。
【請求項１３】
請求項１から１１のいずれかに記載のネットワーク中継装置の備える全ての手段として機能させるための処理手順を、コンピュータシステムに実行させるためのプログラム。
【請求項１４】
請求項１２に記載の故障診断装置の備える全ての手段として機能させるための処理手順を、コンピュータシステムに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを中継するネットワーク中継装置に関する。
【背景技術】
【０００２】
近年、入力ポートから入力した入力データをその付加情報に応じた出力ポートから出力するように構成されたネットワーク中継装置において、そのデータの中継に際しての信頼性を向上させるための技術が種々提案されている。なお、ここでいう「付加情報」とは、例えば、入力データの種類を示す情報や、入力データの宛先など、入力データ本体以外の情報のことである。
【０００３】
例えば、バッファを中継するデータの種類毎に設けることで、データを中継するときのデータ消失を防止するための技術である（特許文献１参照）。
【特許文献１】特開２０００−２４４５４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述したネットワーク中継装置においても、装置内部に発生した故障によっては、入力データが本来出力すべき正しい出力ポートから出力されなくなってしまう恐れがあり、充分に信頼性が高いとは言えない。
【０００５】
例えば、ネットワーク中継装置においては、入力ポートから入力したデータを出力すべき出力ポートを決定するにあたり、そのデータの付加情報と出力ポートとの対応関係が登録されたデータテーブルを参照することが一般的である。そのため、このデータテーブルの登録内容が何らかの要因により消失したり、書き換わってしまったりする故障が発生すると、付加情報と出力ポートとの対応関係が間違った内容になってしまうばかりか、適切な対応関係が存在しなくなってしまうことも起こりうる。
【０００６】
この場合、入力ポートから入力したデータの付加情報に対応する出力ポートがデータテーブルから消失していれば、そのデータは出力されなくなってしまい、また、付加情報に対応づけられていた出力ポートが書き換わっていれば、そのデータは本来出力されるべき正しい出力ポートから出力されなくなってしまう。
【０００７】
このようなことから、ネットワーク中継装置においては、そのような故障の発生を検出できるように構成することが望ましい。ここで、故障の発生を検出するための構成としては、例えば、内蔵メモリの記憶内容やハードウェア構成の動作状態を逐一または定期的にチェックするといった故障検出のために専用の処理を行うように構成すればよいが、このようなことはチェックに要する処理負担や処理時間などの面から現実的とはいえない。
【０００８】
本発明は、このような課題を解決するためになされたものであり、その目的は、ネットワーク中継装置において、装置内部に故障が発生したことを容易に検出できるようにすることである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため請求項１に記載のネットワーク中継装置は、まず、出力決定手段が、入力ポートから入力された入力データの出力先となる出力ポートを、該入力データに付加された付加情報に基づいて決定する。そして、入力データ出力手段が、出力決定手段により決定された出力ポートから前記入力データを出力する。
【００１０】
さらに、このネットワーク中継装置では、診断生成手段が、所定の出力ポートが出力決定手段により出力先として決定される内容の付加情報を付加した診断データを、故障診断用の入力データとして生成する。こうして、診断生成手段により生成された診断データが、出力決定手段による出力ポートの決定を経て入力データ出力手段により出力されない場合、または、こうして出力された場合の出力ポートが診断データの出力先として決定されるべき出力ポートと一致しない場合に、第１診断手段が、当該ネットワーク中継装置に故障が発生していると診断する。
【００１１】
このように構成されたネットワーク中継装置において、診断データが上述のように出力ポートから適切に出力されない場合には、出力決定手段により存在しない出力ポートまたは不適切な出力ポートが決定されてしまう，入力データ出力手段による入力データの出力が行われないなどといった故障が発生している可能性が高い。そのため、この診断データが適切に出力ポートから出力されたか否かをチェックすることで、装置における故障の発生を診断することができる。
【００１２】
このことから、本ネットワーク中継装置では、診断データを生成し、その入出力状態をチェックするだけで、装置に故障が発生しているか否かを容易に診断することができる。それは、診断データの生成およびその入出力状態のチェックといった処理が発生するとはいえ、これらはネットワーク中継装置による実際の動作に付随する処理であるため、故障検出のために専用の処理を行う構成と比べて、処理負担や処理時間が大きくなることもないからである。
【００１３】
なお、上述した「付加情報」とは、例えば、入力データの種類を示す情報や、入力データの宛先など、出力決定手段が出力ポートの決定に際して参照する情報であり、入力データ本体以外の情報のことである。
【００１４】
また、この構成において、診断生成手段は、請求項２に記載のように、出力決定手段によりそれぞれ異なる出力ポートが出力先として決定される内容の付加情報を付加した複数の診断データ，および，出力決定手段により複数の出力ポートが出力先として決定される内容の付加情報を付加した診断データを順次生成するように構成するとよい。この場合、第１診断手段は、診断生成手段により生成された診断データそれぞれに基づいて故障の診断を行うこととなる。
【００１５】
このように構成すれば、ネットワーク中継装置において想定される入力データの入出力経路を網羅的にチェックすることができる。その結果、装置内部における故障の検出精度を高めることができる。
【００１６】
なお、この構成において、診断生成手段が生成する「複数の出力ポートが出力先として決定される内容の付加情報を付加した診断データ」とは、例えば、全出力ポートをそれぞれ経由して出力されることとなる診断データのことである。また、これら出力ポートを一定の規則に基づいてグループ分けした場合において、特定のグループに属する全出力ポートをそれぞれ経由して出力されることとなる診断データのことである。特に、この後者の場合、診断生成手段は、出力ポートそれぞれから出力されることとなる診断データ，および，グループ分けした場合の各グループに属する全出力ポートそれぞれから出力されることとなる複数の診断データを順次生成するように構成するとよい。
【００１７】
また、上述した診断生成手段が診断データを生成するタイミングについては、特に限定されない。ただ、診断データの生成が、ネットワーク中継装置の動作負荷が大きいときに行われてしまうと、この診断データに基づく診断に対する処理負担がネットワーク中継装置本来の動作を妨げてしまう恐れがある。そのため、このようなタイミングを避けて診断データが生成されるように構成することが望ましい。このためには、例えば、請求項３に記載のネットワーク中継装置のように構成することが考えられる。
【００１８】
このネットワーク中継装置では、負荷監視手段が、当該ネットワーク中継装置の動作負荷を監視している。そして、診断生成手段は、負荷監視手段により監視される動作負荷が、所定の大きさ未満となっている状況において、診断データを生成する。
【００１９】
このように構成すれば、ネットワーク中継装置の動作負荷が所定の大きさ未満となっている状況でなければ、診断データの生成がなされず、この診断データに基づく診断が行われることもない。そのため、診断データに基づく診断に対する処理負担が発生したとしても、本来の動作が妨げられない程度の動作負担を上記「所定の大きさ」として設定しておくことで、診断に対する処理負担が本来の動作を妨げてしまうことを防止できる。
【００２０】
なお、この構成において、負荷監視手段が監視するパラメータとしては、例えば、ネットワーク中継装置の動作を制御する制御部の処理負荷や、入力ポートから出力ポートへと至る経路を流通するデータ量などが考えられる。
【００２１】
この後者のためには、例えば、請求項４に記載のネットワーク中継装置のように構成することが考えられる。このネットワーク中継装置では、データ出力手段が、出力決定手段により決定された出力ポートへと至る経路に入力データを出力する。また、負荷監視手段が、出力ポートへと至る経路におけるデータ量を監視している。そして、診断生成手段が、負荷監視手段により監視されるデータ量が所定量未満である状況において診断データを生成する。
【００２２】
このように構成すれば、出力ポートへと至る経路のデータ量が所定量未満となっている状況でなければ、診断データの生成がなされず、この診断データに基づく診断が行われることもない。そのため、診断データに基づく診断に対する処理負担が発生したとしても、本来の動作が妨げられない程度のデータ量を上記「所定量」として設定しておくことで、診断に対する処理負担が本来の動作を妨げてしまうことを防止できる。
【００２３】
ネットワーク中継装置においては、入力ポートから出力ポートへと至る経路それぞれに、出力ポートから出力すべき入力データを蓄積すると共にこうして蓄積した入力データを順次出力ポートから出力するメモリが設けられた構成のものがある。ここでいう「メモリ」とは、例えば、蓄積した入力データを順番に出力ポートから出力するためにキュー（または、ＦＩＦＯ；First In First Out）形式のメモリなどのことである。この場合、入力ポートから出力ポートへと至る経路のデータ量が多くなるということは、そのメモリにおいて出力待ちのデータが多くなり、ネットワーク中継装置における動作負荷が大きくなっているということになる。
【００２４】
このような状況において診断データが生成されてしまうと、この診断データが上記メモリにおいて出力待ちのデータとして蓄えられてしまうため、それ以降に入力されたデータが出力されるまでの待ち時間が診断データの分だけ長くなってしまう。このことは、診断データという中継する必要のないデータのために、中継する必要のある入力データの出力が遅れてしまったり、場合によっては消失してしまったりすることの要因となることを示唆している。その結果、ネットワーク中継装置本来の動作を妨げてしまう恐れがある。
【００２５】
ところが、上述のように、入力ポートから出力ポートへと至る経路のデータ量が所定量未満である状況において診断データが生成される構成であれば、この経路を流通するデータ量が多い場合に診断データが生成されることがない。そのため、診断データのために他のデータの出力が無用に遅れるといったことが起こりにくいため、ネットワーク中継装置本来の動作を妨げてしまうことを防止することができる。
【００２６】
また、上述した各ネットワーク中継装置においては、請求項５に記載のように構成するとよい。このネットワーク中継装置では、第２診断手段が、出力決定手段により出力ポートが決定された回数，および，入力データ出力手段により入力データが出力された回数が一致するか否かをチェックし、両回数が一致しない場合に、当該ネットワーク中継装置に故障が発生していると診断する。
【００２７】
このように構成されたネットワーク中継装置において、出力ポートの決定回数および入力データの出力回数が一致しない場合には、出力決定手段により存在しないポートが決定されてしまう，入力データ出力手段による入力データの出力が行われないなどといった故障が発生している可能性が高い。そのため、この両回数をチェックすることで、装置における故障の発生を診断することができる。
【００２８】
このように、本ネットワーク中継装置では、診断データに基づく診断だけでなく、出力ポートの決定回数および入力データの出力回数によっても装置の故障を診断することができる。これにより、装置内部における故障の検出精度を高めることができる。
【００２９】
また、この構成において、出力ポートの決定回数および入力データの出力回数は、例えば、周期的に積算したものを用いるように構成してもよい。
このためには、積算手段が、一定機関に出力決定手段により出力ポートが決定された回数，および，入力データ出力手段により入力データが出力された回数それぞれを繰り返し積算する、ように構成するとよい。この場合、第２診断手段は、積算手段により積算された一定期間の決定回数および出力回数に基づいて直接的に故障の診断を行うこととなる。具体的にいうと、第２診断手段は、積算手段により積算された一定期間の決定回数および出力数が一致しないことを、当該ネットワーク中継装置の故障として診断することとなる。この構成であれば、積算手段により積算された一定期間における決定回数および出力回数に基づいて直接的に故障の診断を行うことができる。
【００３０】
また、第２診断手段は、積算手段により積算された一定期間における決定回数および出力回数に基づいて間接的に故障の診断を行うように構成することも考えられる。
具体的な例としては、例えば、請求項６に記載のネットワーク中継装置のように構成するとよい。このネットワーク中継装置では、積算手段が、一定時間に出力決定手段により出力ポートが決定された回数，および，入力データ出力手段により入力データが出力された回数それぞれを繰り返し積算する。また、レベル反転手段が、積算手段により積算された回数それぞれが一致する場合に、診断用信号の信号レベルを反転させる。そして、第２診断手段が、診断用信号の信号レベルが一定時間毎に反転しなくなった場合に、当該ネットワーク中継装置に故障が発生したと診断する。
【００３１】
このように構成されたネットワーク中継装置においては、診断用信号の信号レベルが一定時間毎に反転しているか否かをチェックすることで、装置における故障の発生を診断することができる。それは、診断用信号の信号レベルが、一定時間における出力ポートの決定回数および入力データの出力回数が一致する場合に反転するものであって、この両回数が一致しなくなれば、その信号レベルが反転しなくなるからである。
【００３２】
また、上述した出力決定手段は、入力データの付加情報に基づいて、入力データを出力すべき出力ポートを決定する手段であって、出力ポートを決定するための具体的な構成については特に限定されない。例えば、付加情報と出力ポートとの対応関係が登録されたデータテーブルを参照して出力ポートを決定する構成が考えられる。
【００３３】
このためには、例えば、請求項７に記載のように構成するとよい。この構成における出力決定手段は、入力データの出力先となる出力ポートを、付加情報，および，この付加情報が付加された入力データの出力先とすべき出力ポートを対応づけて登録したデータテーブルに基づいて特定する。
【００３４】
このように構成すれば、データテーブルを参照することにより、入力データの付加情報に対応する出力ポートを特定することができる。
この構成におけるデータテーブルは、ネットワーク中継装置に備えられたものとすればよいが、ネットワーク中継装置とデータ通信可能な他の装置に備えられたものとしてもよい。
【００３５】
また、このようにデータテーブルを参照する構成においては、請求項８に記載のネットワーク中継装置のように構成するとよい。このネットワーク中継装置では、登録生成手段が、一定期間間隔でデータテーブルの登録内容を示す登録データを生成する。そして、第３診断手段が、登録生成手段により登録データが生成された後における所定のタイミングで、その時点における前記データテーブルの登録内容，および，登録データで示される登録内容が一致するか否かをチェックし、両登録内容が一致しない場合に、当該ネットワーク中継装置に故障が発生したと診断する。
【００３６】
このように構成されたネットワーク中継装置において、データテーブルの登録内容および登録データで示される登録内容が一致しない場合には、出力決定手段により存在しないポートまたは不適切な出力ポートが決定されてしまうなどといった故障が発生している可能性が高い。そのため、この両登録内容をチェックすることで、装置における故障の発生を診断することができる。
【００３７】
このように、本ネットワーク中継装置では、診断データに基づく診断だけでなく、データテーブルの登録内容および登録データで示される登録内容によっても装置の故障を診断することができる。これにより、装置内部における故障の検出精度を高めることができる。
【００３８】
ところで、本ネットワーク中継装置に故障が発生した場合には、上述したように、本来出力すべき出力ポートとは異なる出力ポートから誤った入力データが出力されてしまう恐れがある。この場合、出力ポートを介して接続された装置が、その誤った入力データに基づく処理を行わない構成であれば問題はない。しかし、出力ポートを介して接続された装置が、その誤った入力データに基づいて何らかの処理を行ってしまう構成となっている場合、その装置が本来意図していない動作をし、その装置だけでなくネットワーク全体に何らかの悪影響を及ぼしてしまう可能性がある。
【００３９】
そこで、このようなことをあらかじめ防止するためには、例えば、請求項９に記載のネットワーク中継装置のように構成するとよい。このネットワーク中継装置では、出力遮断手段が、当該ネットワーク中継装置に故障が発生したと診断された場合に、出力ポートそれぞれから装置外部へのデータの出力を遮断する。
【００４０】
このように構成すれば、ネットワーク中継装置に故障が発生したことが検出された場合には、その後、出力ポートから装置外部へのデータの出力が遮断されるため、本来出力すべき出力ポートとは異なる出力ポートから誤った入力データが出力されてしまうことがなくなる。これにより、出力ポートを介して接続された装置，または，ネットワーク全体に何らかの悪影響を及ぼしてしまうといったことを防止することができる。
【００４１】
また、このような構成においては、ネットワーク中継装置に故障が発生したことが検出された後、装置外部へのデータの出力が遮断されるため、出力ポートを介して接続された装置からみると、ネットワーク中継装置を介しての通信が途絶えることになる。ここで、出力ポートを介して接続された装置が、例えば、ネットワーク中継装置を介して接続された別の装置との間で定期的に通信を行う構成とされている場合、これら両装置間における定期的な通信も途絶えてしまう。
【００４２】
このような定期的な通信を行う装置では、その通信に基づいた動作を行う必要があるため、通信が途絶えたことを、その動作を妨げるトラブルの発生と判断し、それに対応するためのエラー処理（例えば、エラーの報知など）を行うように構成されていることが多い。そのため、上述したように、ネットワーク中継装置に故障が発生した際、単純に出力ポートからのデータの出力を遮断しただけでは、出力ポートを介して接続された装置の構成によっては、意図しないエラー処理が行われ、無用な混乱を招いてしまう可能性がある。
【００４３】
このようなことを防止するためには、例えば、請求項１０に記載のネットワーク中継装置のように構成するとよい。このネットワーク中継装置では、出力遮断手段が、報知データ以外のデータの出力を遮断するように構成されている。ここで、報知データとは、入力データの出力が遮断される旨を報知するためのデータであって、当該ネットワーク中継装置に故障が発生したと診断された場合に、報知データ出力手段が、出力ポートそれぞれから出力するものである。
【００４４】
このように構成すれば、装置が故障したと診断された場合には、出力遮断手段により装置外部へのデータの出力が遮断されることとなるが、ここで出力が遮断されるのは、報知データ以外のデータである。この報知データは、入力データの出力が遮断される旨を報知するためのデータであるため、出力ポートを介して接続された装置に、本ネットワーク中継装置を介しての通信が途絶えることを知らせることができる。そのため、例えば、出力ポートを介して接続された装置を、定期的な通信が途絶えても報知データを受けた場合であればエラー処理を行わないなどといった構成としておくことで、意図しないエラー処理が行われることを防止できる。
【００４５】
また、出力ポートを介して接続された装置側において、意図しないエラー処理が行われて無用な混乱を招いてしまうことを防止するためには、請求項１１に記載のネットワーク中継装置のように構成してもよい。このネットワーク中継装置においては、報知データ出力手段が、診断手段により当該ネットワーク中継装置が故障したと診断された場合に、出力遮断手段によるデータ出力の遮断に先立って、出力ポートからの入力データの出力が遮断される旨を報知するための報知データを前記出力ポートから出力する。
【００４６】
このように構成された場合には、装置が故障したと診断された場合には、出力遮断手段によりデータの出力が遮断されることとなるが、ここで出力が遮断されるのは、報知データが出力された後である。この報知データは、出力ポート（つまりネットワーク中継装置）からの入力データの出力が遮断される旨を報知するためのデータであるため、出力ポートを介して接続された装置に、本ネットワーク中継装置を介しての通信が途絶えることを知らせることができる。そのため、例えば、出力ポートを介して接続された装置を、定期的な通信が途絶えても報知データを受けた場合であればエラー処理を行わない構成としておくことで、意図しないエラー処理が行われることを防止できる。
【００４７】
また、請求項１２に記載の故障診断装置は、ネットワーク中継装置とデータ通信可能に接続された装置である。ここで、ネットワーク中継装置とは、入力ポートから入力された入力データの出力先となる出力ポートを、その入力データに付加された付加情報に基づいて決定する出力決定手段と、この出力決定手段により決定された出力ポートから入力データを出力する入力データ出力手段と、を備えた装置である。
【００４８】
この故障診断装置においては、診断生成手段が、出力決定手段により所定の出力ポートが出力先として決定される内容の付加情報を付加した診断データを、故障診断用の入力データとして生成する。次に、データ入力手段が、診断生成手段により生成された診断データを、ネットワーク中継装置の入力ポートに入力データとして入力する。そして、データ入力手段によりネットワーク中継装置に診断データが入力された後、このネットワーク中継装置から診断データが出力されない場合、または、そうして出力された場合の出力ポートが診断データの出力先として決定されるべき出力ポートと一致しない場合に、第１診断手段が、ネットワーク中継装置に故障が発生していると診断する。
【００４９】
このように構成された故障診断装置によれば、請求項１に記載のネットワーク中継装置と同様の作用，効果を得ることができる。
また、この構成においては、請求項２から１１のいずれかに記載のネットワーク中継装置の備える出力決定手段および入力データ出力手段以外の手段全てを備えた構成としてもよい。このように構成すれば、請求項２から１１のいずれかに記載のネットワーク中継装置と同様の作用，効果を得ることができる。
【００５０】
また、請求項１３に記載のプログラムは、請求項１から１１のいずれかに記載のネットワーク中継装置の備える全ての手段として機能させるための処理手順を、コンピュータシステムに実行させるためのプログラムである。
【００５１】
このプログラムにより制御されるコンピュータシステムは、請求項１から１１のいずれかに記載のネットワーク中継装置の一部を構成することができる。
また、請求項１４に記載のプログラムは、請求項１２に記載の故障診断装置の備える全ての手段として機能させるための処理手順を、コンピュータシステムに実行させるためのプログラムである。
【００５２】
このプログラムにより制御されるコンピュータシステムは、請求項１２に記載の故障診断装置の一部を構成することができる。
なお、上述した各プログラムは、コンピュータシステムによる処理に適した命令の順番付けられた列からなるものであって、各種記録媒体や通信回線を介してネットワーク中継装置，故障診断装置やこれを利用するユーザに提供されるものである。
【発明を実施するための最良の形態】
【００５３】
以下に本発明の実施形態を図面と共に説明する。
（１）全体構成
ネットワーク中継装置１は、図１に示すように、内部メモリに記憶されたプログラムに従ってネットワーク中継装置１全体の動作を制御するソフトウェア処理部１００，外部ネットワークとの間におけるデータの中継を制御するハードウェア処理部２００，内蔵メモリに記憶されたプログラムに従って後述する各処理を実行するハードウェア故障検出部３００などで構成されている。なお、本実施形態におけるネットワーク中継装置１は、ＣＡＮ（Controller Area Network ）に従った車両の通信ネットワークにおいてデータを中継する装置として構成されたものである。
【００５４】
ハードウェア処理部２００は、それぞれ外部ネットワークとの間でデータの入出力を制御する複数のネットワークコントローラ２１０，各ネットワークコントローラ２１０を介して外部ネットワークから入力されるデータ（以降、「入力データ」という）のルーティング処理を行う入力処理部２２０，入力処理部２２０によりルーティング処理された入力データまたはソフトウェア処理部１００から受けたデータをネットワークコントローラ２１０側へ出力する出力処理部２３０，入力処理部２２０からソフトウェア処理部１００に至るデータの経路中に設けられたスイッチ回路２４２，出力処理部２３０から各ネットワークコントローラ２１０に至る経路中に設けられたスイッチ回路２４６などを備えている。
【００５５】
これらのうち、入力処理部２２０は、各ネットワークコントローラ２１０から入力データを入力する複数の入力側入力ポート２２１，入力側入力ポート２２１それぞれから入力される入力データを多重化する多重処理部２２２，多重処理部２２２により多重化された入力データそれぞれの出力経路を検索する検索エンジン２２４，検索エンジン２２４による検索結果に基づいて入力データの出力を制御するルーティング処理部２２６，ルーティング処理部２２６から出力される入力データを入力処理部２２０外部へ出力する入力側出力ポート２２８などからなる。
【００５６】
この入力処理部２２０の検索エンジン２２４は、入力データのヘッダ情報にて指定されたデータの種類に対応する出力経路を検索し、その入力データを、検出した出力経路を示す経路情報と共にルーティング処理部２２６に渡す。このとき、検索エンジン２２４は、入力処理部２２０の内蔵メモリに記憶されたものであって、データの種類（種類を示すＩＤ）と、その種類のデータを送信すべき装置につながる出力経路（口授通する出力側出力ポート２３８またはソフトウェア処理部１００）とが対応づけられたデータテーブルを参照して検索を行う。なお、車両におけるネットワーク構成は通常変更されないことから、このデータテーブルの登録内容についても変更されない静的な構成とされている。そして、ルーティング処理部２２６は、検索エンジン２２４から渡された入力データおよび経路情報を、この経路情報がソフトウェア処理部１００を示すものであれば、入力側出力ポート２２８ａを介してソフトウェア処理部１００側に出力し、出力側出力ポート２３８を示すものであれば、入力側出力ポート２２８ｂを介して出力処理部２３０側に出力する。
【００５７】
また、出力処理部２３０は、各ネットワークコントローラ２１０に出力すべきデータそれぞれを記憶する複数の出力メモリ２３２，入力処理部２２０（のルーティング処理部２２６）またはソフトウェア処理部１００からデータを入力する出力側入力ポート２３３，出力側入力ポート２３３を介してデータを入力するバッファ処理部２３４，バッファ処理部２３４に入力されたデータを各出力メモリ２３２に出力するスイッチ処理部２３６，出力メモリ２３２により記憶されたデータを出力する出力側出力ポート２３８などからなる。
【００５８】
この出力処理部２３０の出力メモリ２３２は、各ネットワークコントローラ２１０に対して設けられたものであって、キュー（または、ＦＩＦＯ；First In First Out）形式のメモリである。また、バッファ処理部２３４は、出力側入力ポート２３３を介して入力したデータおよび経路情報をスイッチ処理部２３６に出力する。また、スイッチ処理部２３６は、バッファ処理部２３４から入力したデータを、経路情報で示される出力経路，つまりいずれかの出力メモリ２３２に出力する。こうしてスイッチ処理部２３６からデータを入力した出力メモリ２３２は、入力したタイミングの早いデータから順に出力側出力ポート２３８を介してネットワークコントローラ２１０側に出力することとなる。
【００５９】
また、スイッチ回路２４２は、入力処理部２２０の入力側出力ポート２２８ｂから出力されるデータのうち、後述する診断データをハードウェア故障検出部３００へ、また、診断データ以外のデータをソフトウェア処理部１００へと選択的に出力する。このとき、診断データであるか否かは、データのヘッダ情報に基づいて判断される。
【００６０】
また、スイッチ回路２４６は、出力処理部２３０の出力メモリ２３２それぞれから出力されるデータのうち、診断データをハードウェア故障検出部３００へ、または、診断データ以外のデータを該当するネットワークコントローラ２１０へと選択的に出力する。また、このスイッチ回路２４６は、ハードウェア故障検出部３００からの指令を受けることで、後述する報知データ以外のデータがネットワークコントローラ２１０に至る経路へ出力されないように、選択的な経路の遮断を行う。なお、診断データであるか否か，および，報知データであるか否かについては、上述と同様、データのヘッダ情報に基づいて判断される。
【００６１】
ハードウェア故障検出部３００は、図２に示すように、後述する第１故障診断処理を実行する第１診断部３１０，後述する第２故障診断処理を実行する第２診断部３２０，後述する第３故障診断処理を実行する第３診断部３３０，各診断部３１０〜３３０による処理結果を示す信号の論理和となる信号を生成してソフトウェア処理部１００に出力する論理和回路３４０などからなる。
（２）ハードウェア故障検出部３００による処理
（２−１）第１故障診断処理
以下に、ハードウェア故障検出部３００の第１診断部３１０により実行される第１故障診断処理の処理手順を図３に基づいて説明する。この第１故障診断処理は、本ネットワーク中継装置１が起動された以降、繰り返し実行される。
【００６２】
この第１故障診断処理が起動されると、まず、出力処理部２３０の動作負荷が所定の大きさ未満となるまで待機状態となる（ｓ１１０：ＮＯ）。ここで、上述した「動作負荷が所定の大きさ」となっている状態とは、ネットワーク中継装置１の動作負担がある程度大きくなっているために、以降の処理に対する処理負担が本来の動作を妨げてしまうような状態のことである。本実施形態においては、ハードウェア故障検出部３００が、出力処理部２３０の出力メモリ２３２それぞれにおいて出力待ちとなっているデータの量を動作負荷として監視している。そして、このｓ１１０では、このデータ量に起因するネットワーク中継装置１の動作負担が、以降の処理に対する処理負担で本来の動作が妨げられてしまう程度の大きさ未満となっている（具体的にいうと、出力メモリ２３２それぞれのデータ量の平均値が所定量未満、または、所定量以上のデータ量となっている出力メモリ２３２が存在しない）か否かが判定される。
【００６３】
このｓ１１０で、出力処理部２３０の動作負荷が所定の大きさ未満となったら（ｓ１１０：ＹＥＳ）、初期値「０」の変数Ｎに「１」を加算（Ｎ＋１→Ｎ）する（ｓ１２０）。なお、以降、変数Ｎにセットされた値を「ｎ」という。
【００６４】
次に、第ｎのパターンによる故障の診断を行うための診断データが生成される（ｓ１３０）。本実施形態において、第１診断部３１０は、ネットワーク中継装置１内でのデータの入出力をチェックすることで、ネットワーク中継装置１（ハードウェア処理部２００）の故障を診断する。ただ、ネットワーク中継装置１内でのデータの入出力経路は、そのデータの種類に応じて異なってくるため、その診断についても複数のパターンで実施する必要がある。このような事情を勘案して、本実施形態では、このようなパターンそれぞれに応じた入出力経路を経由するような診断用のデータ（以降、「診断データ」という）を生成する構成とされている。
【００６５】
具体的にいうと、（１）入力側出力ポート２２８ａを介して診断データが出力されるパターン，（２）いずれか１の出力側出力ポート２３８を介して診断データが出力されるパターン，（３）複数の出力側出力ポート２３８を介して診断データがそれぞれ出力されるパターン，（４）入力側出力ポート２２８ａおよび全ての出力側出力ポート２３８を介して診断データがそれぞれ出力されるパターンなどが、それぞれ異なる１〜ｍ（ｎ≦ｍ）のパターンとして定められている。そして、このｓ１３０では、これらのうち、第ｎ番目のパターンによる故障の診断を行うための診断データとして、ヘッダ情報に該当する種類および診断データである旨の情報が書き込まれてなる診断データが生成される。ここで、ヘッダ情報に書き込まれる「該当する種類」とは、上記（１）であれば、入力側出力ポート２２８ａを経由すべきデータの種類を示すＩＤである。また、上記（２）であれば、特定の出力側出力ポート２３８を経由すべきデータの種類を示すＩＤである。また、上記（３）であれば、複数の出力側出力ポート２３８をそれぞれ経由すべきデータの種類を示すＩＤである。また、上記（４）であれば、全ての出力ポート２２８ａ，２３８をそれぞれ経由すべきデータの種類を示すＩＤである。
【００６６】
次に、ｓ１３０にて生成された診断データが、入力処理部２２０の多重処理部２２２に入力される（ｓ１４０）。こうして、入力処理部２２０に入力された診断データは、上述したように、その種類に応じて検索エンジン２２４が検出した出力経路を示す経路情報と共に、ソフトウェア処理部１００または出力処理部２００側へ出力される。ここで、ソフトウェア処理部１００側に出力された診断データは、スイッチ回路２４２を介してハードウェア故障検出部３００に出力される。一方、出力処理部２００側に出力された診断データは、スイッチ処理部２３６，出力メモリ２３２を経た後、スイッチ回路２４６を介してハードウェア故障検出部３００に出力される。
【００６７】
こうして、診断データが入力処理部２２０に入力された以降、所定の時間（例えば、１００μｓ）が経過するまで、出力処理部２３０（の出力側出力ポート２３８）からの診断データの出力が監視される（ｓ１５０：ＮＯ，ｓ１６０：ＮＯ）。こうして、出力処理部２３０から出力される診断データは、上述したように、ハードウェア故障検出部３００に入力されることとなる。
【００６８】
その後、所定の時間が経過するまでの間に診断データが出力されたら（ｓ１５０：ＹＥＳ）、こうして診断データが出力された出力ポートがチェックされる（ｓ１７０）。ここでは、出力処理部２３０から出力された診断データそれぞれが、入力側出力ポート２２８ａ，出力側出力ポート２３８それぞれのうち、いずれの出力ポートから出力されてきたものであるのかがチェックされる。そして、その出力ポートが、第ｎ番目のパターンに対応する診断データが出力されるべき出力ポートと一致するか否かのチェックが行われる。
【００６９】
こうして、ｓ１７０にてチェックされた出力ポートが、第ｎ番目のパターンに応じた診断データが出力されるべき出力ポートと一致する場合（ｓ１８０：ＹＥＳ）、変数Ｎの値ｎが診断を実施すべきパターンの上限値ｍに到達している（ｎ＝ｍ）か否か，つまり全てのパターンによる故障の診断が終了したか否かがチェックされる（ｓ１９０）。
【００７０】
このｓ１９０で、変数Ｎの値ｎが上限値ｍに到達に到達していると判定された場合（ｓ１９０：ＹＥＳ）、変数Ｎを初期化（０→Ｎ）して（ｓ２００）、ｓ１１０へ戻る。一方、変数Ｎの値が上限値ｍに到達していないと判定された場合（ｓ１９０：ＮＯ）、変数Ｎを初期化することなく、ｓ１１０へ戻る。
【００７１】
また、上述したｓ１５０でハードウェア処理部２００から診断データが出力されることなく所定の時間が経過した場合（ｓ１６０：ＹＥＳ）、または、ｓ１８０にて出力ポートが一致しないと判定された場合（ｓ１８０：ＮＯ）、何らかの故障が発生したと診断され、スイッチ回路２４６に対して遮断指令が出力される（ｓ２１０）。この遮断指令を入力したスイッチ回路２４６は、以降、後述する報知データ以外のデータがネットワークコントローラ２１０に至る経路に出力されないように選択的な経路の遮断を行うようなる。
【００７２】
次に、出力処理部２３０（のバッファ処理部２３４）に対して報知データが出力される（ｓ２２０）。この報知データは、本ネットワーク中継装置１によるデータの中継が行われなくなる旨を、ネットワークコントローラ２１０を介して接続された全ての装置に報知するためのデータ（いわゆるブロードキャスト用のデータ）である。こうして、バッファ処理部２３４に入力された報知データは、スイッチ処理部２３６，出力メモリ２３２を経てスイッチ回路２４６に入力される。ここで、スイッチ回路２４６は、上述した遮断指令を受けた以降、データの出力を遮断しているが、報知データについては選択的にネットワークコントローラ２１０へと出力する。そのため、報知データは、ネットワークコントローラ２１０を介して各装置に出力されることとなる。
【００７３】
そして、エラー処理が行われる（ｓ２３０）。ここでは、ネットワーク中継装置１に故障が発生したことを報知するための出力信号の信号レベルがＨレベルに固定され、この信号が論理和回路３４０に入力される（図２参照）。そうすると、この論理和回路３４０は、ソフトウェア処理部１００に対してＨレベルの信号を出力するようになる。ソフトウェア処理部１００は、この信号をネットワーク中継装置１に故障が発生したことの通知として受け、その後、ハードウェア処理部２００に対してリセット信号を出力することとなる。このリセット信号は、ハードウェア故障検出部３００にも入力されるように構成されており、ハードウェア故障検出部３００は、こうしてリセット信号を入力した後、上述したエラー処理を終了してｓ２００へ移行する。
【００７４】
なお、ハードウェア処理部２００に対するリセット信号の出力は、論理和回路３４０からＨレベルの信号を受け後で直ちに行われるように構成してもよいが、特定の処理やユーザによる特定の操作などを経て行われるように構成してもよい。この後者の場合であれば、ハードウェア処理部２００をリセットするタイミングの自由度を高められる。
（２−２）第２故障診断処理
以下に、ハードウェア故障検出部３００の第２診断部３２０により実行される第２故障診断処理の処理手順を図４に基づいて説明する。この第２故障診断処理は、本ネットワーク中継装置１が起動された以降、繰り返し実行される。
【００７５】
この第２故障診断処理が起動されると、まず、タイマーによるカウントがスタートされる（ｓ３１０）。
次に、入力データ数Ｓｉおよび出力データ数Ｓｏそれぞれの積算を（ｓ３２０）、ｓ３１０でタイマーをスタートさせてからカウント値が所定のカウント期間Ｔａに到達するまで繰り返す（ｓ３３０：ＮＯ）。ここでは、入力処理部２２０の検索エンジン２２４からルーティング処理部２２６へと出力されるデータが監視され、そのデータを積算した数が、入力データ数Ｓｉとして算出される。同様に、出力側入力ポート２３３ａから入力されるデータａ，出力側出力ポート２３８から出力されるデータｂ，および，出力側入力ポート２３３ｂから出力されるデータｃそれぞれが監視され、データａを積算した数Ｓａとデータｂを積算した数Ｓｂとの合計数が出力データ数Ｓｏとして算出される。
【００７６】
その後、タイマーによるカウント値が所定のカウント期間Ｔａに到達したら（ｓ３３０：ＹＥＳ）、ここまでに積算された入力データ数Ｓｉと出力データ数Ｓｏとの整合性がチェックされる（ｓ３４０）。ここでは、上述した入力データ数Ｓｉが、出力データ数Ｓｏから、直前のｓ３３０において監視されたデータｃの積算数Ｓｃを減算した数と一致する（Ｓｉ＝Ｓｏ−Ｓｃ）か否かがチェックされ、一致する場合に、入出力データの整合性に問題がないと判定される。
【００７７】
このｓ３４０で、入出力データの整合性に問題がないと判定された場合（ｓ３４４：ＹＥＳ）、タイマーがストップおよびリセットされた後（ｓ３５０）、ｓ３１０へ戻る。
一方、ｓ３４４で、入出力データの整合性に問題があると判定された場合（ｓ３４４：ＮＯ）、図３のｓ２１０と同様に、何らかの故障が発生したと診断され、スイッチ回路２４６に対して遮断指令が出力される（ｓ３６０）。
【００７８】
次に、同図ｓ２２０と同様に、出力処理部２３０のバッファ処理部２３４に対して報知データが出力される（ｓ３７０）。
そして、同図ｓ２３０と同様に、エラー処理が行われる（ｓ３８０）。ここでも、故障が発生したことを報知するための出力信号の信号レベルがＨレベルに固定され、この信号が論理和回路３４０に入力される（図２参照）。その後、ハードウェア故障検出部３００は、ソフトウェア処理部１００からリセット信号を入力した後、上述したエラー処理を終了してｓ３５０へ移行する。
（２−３）第３故障診断処理
以下に、ハードウェア故障検出部３００の第３診断部３３０により実行される第３故障診断処理の処理手順を図５に基づいて説明する。この第３故障診断処理は、本ネットワーク中継装置１が起動された以降、繰り返し実行される。
【００７９】
この第３故障診断処理が起動されると、まず、入力処理部２２０の内蔵メモリに記憶されたデータテーブルの登録内容を示す登録データが生成される（ｓ４１０）。ここでは、データテーブルそのもの（つまり複製）、または、データテーブルの登録内容に基づいて算出されるパラメータ（例えば、ハッシュ値）が登録データとして生成される。
【００８０】
次に、所定の待機時間Ｔｂが経過するまでの待機状態を経て（ｓ４２０：ＮＯ）、待機時間Ｔｂが経過したら（ｓ４２０：ＹＥＳ）、ｓ４１０にて生成された登録データで示される登録内容と、入力処理部２２０の内蔵メモリに記憶されたデータテーブルの登録内容とが一致するか否かがチェックされる（ｓ４３０）。ここでは、ｓ４１０で生成された登録データがデータテーブルそのものであれば、このデータテーブルにおける登録内容を、内蔵メモリに記憶されたデータテーブルの登録内容と対比することにより、両者が一致するか否かがチェックされる。また、ｓ４１０で生成された登録データがパラメータであれば、このパラメータと、内蔵メモリに記憶されたデータテーブルの登録内容に基づいて同様に算出したパラメータとが一致するか否かがチェックされる。
【００８１】
このｓ４３０で、両登録内容が一致すると判定された場合（ｓ４３４：ＹＥＳ）、ｓ４１０へ戻る。一方、両登録内容が一致しないと判定された場合（ｓ４３４：ＮＯ）、図３のｓ２１０と同様に、何らかの故障が発生したと診断され、スイッチ回路２４６に対して遮断指令が出力される（ｓ４４０）。
【００８２】
次に、同図ｓ２２０と同様に、出力処理部２３０のバッファ処理部２３４に対して報知データが出力される（ｓ４５０）。
そして、同図ｓ２３０と同様に、エラー処理が行われる（ｓ４６０）。ここでも、故障が発生したことを報知するための出力信号の信号レベルをＨレベルとすることにより、この信号が論理和回路３４０に入力される（図２参照）。その後、ハードウェア故障検出部３００は、ソフトウェア処理部１００からリセット信号を入力した後、上述したエラー処理を終了してｓ４１０へ移行する。
（３）作用，効果
このように構成されたネットワーク中継装置１において、診断データが適切に出力ポートから出力されない場合には（図３のｓ１８０でＮＯ，ｓ１６０でＹＥＳ）、検索エンジン２２４により存在しない出力ポートまたは不適切な出力ポートが検出されてしまう，出力処理部２３０による入力データの出力が行われないなどといった故障が発生している可能性が高い。そのため、本ネットワーク中継装置１では、第１故障診断処理にて、診断データが出力ポートから適切に出力されたか否かをチェックすることで、装置における故障の発生を診断することができる。
【００８３】
このことから、本ネットワーク中継装置１では、診断データを生成し、その入出力状態をチェックするだけで、装置に故障が発生しているか否かを容易に診断することができる。それは、このようなチェックに際しての処理は、ネットワーク中継装置１による実際の動作に付随する処理であるため、故障検出のために専用の処理を行う構成と比べて、処理負担や処理時間が大きくなることもないからである。
【００８４】
また、第１故障診断処理においては、第１〜第ｍ番目までのパターンそれぞれにて故障の診断を行うように構成されているが、これらパターンは、ネットワーク中継装置１内でのデータの入出力経路全てに対応するパターンで診断を実施するために用意されたものである。そのため、この第１故障診断処理であれば、ネットワーク中継装置１において想定される入力データの入出経路を網羅的にチェックすることができる。その結果、装置内部における故障の検出精度を高めることができる。
【００８５】
また、第１故障診断処理においては、装置の動作負荷が所定の大きさ未満となるまで待機状態となる（図３のｓ１１０でＮＯ）。つまり、ネットワーク中継装置１の動作負荷（出力メモリ２３２の出力待ちデータ量）が所定の大きさ未満となっている状況でなければ、診断データの生成がなされず、この診断データに基づく診断が行われることもない。ここで、「所定の大きさ」となっている状態とは、ネットワーク中継装置１の動作負担がある程度大きくなっているために、以降の処理に対する処理負担が本来の動作を妨げてしまうような状態である。よって、診断データに基づく診断に対する処理負担が発生する場合には、この処理負担により実際の動作が妨げられる状態にはなっていないため、それにより実際の動作が妨げられることもない。
【００８６】
特に、本実施形態では、出力メモリ２３２の出力待ちデータ量を監視しており、この出力待ちデータ量が多い場合に診断データが生成されることがない。そのため、診断データのために他のデータの出力が無用に遅れるといったことが起こりにくく、ネットワーク中継装置１本来の動作を妨げてしまうことを防止できる。
【００８７】
また、第２故障診断処理においては、入力データ数Ｓｉおよび出力データ数Ｓｏが一致するか否かがチェックされ、両回数の整合性に問題がある，つまりネットワークコントローラ２１０につながる装置間において中継した入出力データ数が一致しない場合に、故障が発生していると診断している（図４のｓ３４４でＮＯ）。入力データ数Ｓｉおよび出力データ数Ｓｏの整合性に問題がある場合には、検索エンジン２２４により存在しない出力ポートが検出されてしまう，出力処理部２３０による入力データの出力が行われないなどといった故障が発生している可能性が高い。そのため、この両データ数の整合性をチェックすることで、装置における故障の発生を診断することができる。
【００８８】
このように、本ネットワーク中継装置１では、診断データに基づく第１故障診断処理だけでなく、入力データ数Ｓｉおよび出力データ数Ｓｏに基づく第２故障診断処理によっても、装置の故障を診断することができる。これにより、装置内部における故障の検出精度を高めることができる。
【００８９】
また、検索エンジン２２４は、データの種類と出力経路とが対応づけられたデータテーブルを参照することにより、入力データの種類に対応する出力経路を特定することができる。
【００９０】
また、第３故障診断処理においては、データテーブルの登録内容を示す登録データを生成しておき、待機時間が経過した時点におけるデータテーブルの登録内容および先に生成した登録データの登録内容が一致するか否かがチェックされ、両登録内容が一致しない場合に、故障が発生したと診断する（図５の４３４でＮＯ）。このように、本ネットワーク中継装置１では、診断データに基づく第１故障診断処理だけでなく、データテーブルの登録内容および登録データで示される登録内容に基づく第３故障診断処理によっても装置の故障を診断することができる。これにより、装置内部における故障の検出精度を高めることができる。
【００９１】
また、各故障診断処理においては、装置に故障が発生したと診断される場合には、スイッチ回路２４６に遮断指令を出力することで、出力ポートそれぞれから装置外部へのデータの出力を遮断している（図３のｓ２１０，図４の３６０，図５のｓ４６０）。そのため、ネットワーク中継装置に故障が発生したことが検出された以降、装置外部へのデータの出力が遮断されることで、本来出力すべき出力ポートとは異なる出力ポートから誤った入力データが出力されてしまうことがなくなる。これにより、出力ポートを介して接続された装置，または，ネットワーク全体に何らかの悪影響を及ぼしてしまうといったことを防止することができる。
【００９２】
また、スイッチ回路２４６は、ハードウェア故障検出部３００からの遮断指令を受けた以降、データの装置外部への出力を遮断することとなるが、ここで出力が遮断されるのは、報知データ以外のデータである。この報知データは、出力ポートからの入力データの出力が遮断される旨を各装置に報知するためのデータであるため、出力ポートを介して接続された装置に、本ネットワーク中継装置１を介しての通信が途絶えることを知らせることができる。そのため、例えば、出力ポートを介して接続された装置を、定期的な通信が途絶えても報知データを受けた場合であればエラー処理を行わないなどといった構成としておくことで、意図しないエラー処理が行われることを防止できる。
（４）その他の実施形態
（４−１）その１
上記実施形態では、第２故障診断処理において、入出力データ数Ｓｉ，Ｓｏの整合性に問題があることを（図４のｓ３４４で「ＮＯ」）、直接的に故障が発生したこととして診断するように構成されている。しかし、ここでは、入出力データ数Ｓｉ，Ｓｏの整合性に問題がある場合に、間接的な方法により故障の発生を診断するように構成することも可能である。
【００９３】
このためには、例えば、図６に示すように、ｓ３４４で整合性に問題があると判定された場合（ｓ３４４：ＮＯ）、図４のｓ３６０〜ｓ３８０を行うことなく、ｓ３５０へ移行するように構成する。
【００９４】
また、ｓ３４４で整合性に問題がないと判定された場合（ｓ３４４：ＹＥＳ）、診断信号の信号レベルを反転させるための処理が行われた後（ｓ３４６）、ｓ３５０へ移行するように構成する。この診断用信号とは、故障を診断するために生成される信号であって、いわゆるウォッチドックパルスとして機能する信号である。この診断用信号は、ハードウェア故障検出部３００に設けられたウォッチドックカウンタに入力されるものとする。そして、このウォッチドックカウンタは、診断用信号の信号レベルがカウント期間Ｔａ毎に反転しなくなった場合に、その旨を示す信号を出力する。なお、このウォッチドックカウンタは、ハードウェア故障検出部３００と通信可能な他の回路要素に設けられたものとしてもよい。
【００９５】
そして、第２診断部３２０が、第２故障診断処理と並行して、以下に示す診断信号監視処理を実行するように構成する。この診断信号監視処理の処理手順を図７に基づいて説明する。まず、ウォッチドックカウンタからの信号出力があるまで待機状態となる（ｓ５１０：ＮＯ）。そして、ウォッチドックカウンタからの信号出力があった場合に（ｓ５１０：ＹＥＳ）、図４のｓ３６０〜ｓ３８０と同様の処理であるｓ５６０〜ｓ５８０を行い、ｓ５１０へ戻る。
【００９６】
このように構成すれば、ウォッチドックカウンタからの信号出力があるか否か，つまり診断用信号の信号レベルが一定時間（Ｔａ）毎に反転しているか否かをチェックすることで、装置における故障の発生を診断することができる。それは、診断用信号の信号レベルが、カウント期間Ｔａにおける入力データ数Ｓｉおよび出力データ数Ｓｏの整合性に問題がない場合に反転するものであって、整合性に問題があれば、その信号レベルが反転しなくなるからである。
（４−２）その２
上記実施形態では、スイッチ回路２４６が、報知データ以外のデータがネットワークコントローラ２１０側へ出力されないように選択的な遮断を行うように構成されている。しかし、ここでは、スイッチ回路２４６は全てのデータについての出力を遮断するように構成し、この遮断に先立って報知データを出力するように構成してもよい。そのためには、図３，図４，図５におけるｓ２１０，ｓ３６０，ｓ４６０と、同図ｓ２２０，ｓ３７０，ｓ４７０とを、それぞれ入れ替えた構成とすればよい。
【００９７】
このように構成すれば、装置が故障したと診断された場合には、データの出力が遮断されることとなるが、ここで出力が遮断されるのは、報知データが出力された後である。そのため、ネットワークコントローラ２１０を介して接続された装置に、本ネットワーク中継装置１を介しての通信が途絶えることを知らせることができる。そのため、例えば、出力ポートを介して接続された装置を、定期的な通信が途絶えても報知データを受けた場合であればエラー処理を行わない構成としておくことで、意図しないエラー処理が行われることを防止できる。
（５）変形例
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
【００９８】
例えば、上記実施形態においては、本発明のネットワーク中継装置１が、ＣＡＮに従った車両の通信ネットワークにおいてデータを中継する装置として構成されたものを例示した。しかし、本発明のネットワーク中継装置は、ＣＡＮ以外の通信規格に従った通信ネットワークにおいてデータを中継する装置として構成してもよい。
【００９９】
また、上記実施形態においては、検索エンジン２２４が、入力データの種類から、その入力データを出力すべき出力ポートを検索する構成を例示した。しかし、入力データを出力すべき出力ポートを検索する際に参照する情報は、入力データに付加されたその他の付加情報であってもよい。例えば、通信ネットワークが、データのヘッダ情報に宛先を示す情報を付加し、この宛先に向けてデータの送信を行うような通信規格に従ったものである場合、検索エンジン２２４を、入力データの宛先を参照して、この入力データを出力すべき出力ポートを検索するように構成してもよい。
【０１００】
また、上記実施形態においては、図３のｓ１１０で、出力処理部２３０の出力メモリ２３２それぞれにおいて出力待ちとなっているデータ量を監視し、そのデータ量に起因する動作負担が所定の大きさ未満となるまで待機するように構成されたものを例示した。しかし、このｓ１１０にて監視するパラメータとしては、ネットワーク中継装置１の動作負荷が反映されるものであれば、別のパラメータを採用してもよい。具体的な例としては、ソフトウェア処理部１００の処理負荷や、本ネットワーク中継装置１を備えた車両の動作状態や、入力ポートから出力ポートへと至る経路それぞれを流通するデータ量などを採用することが考えられる。
【０１０１】
また、上記実施形態においては、検索エンジン２２４が出力経路の検索時に参照するデータテーブルが、入力処理部２２０の内蔵メモリに記憶された構成を例示した。しかし、このデータテーブルについては、検索エンジン２２４がアクセスできる記憶領域に記憶されていればよく、例えば、本ネットワーク中継装置１とデータ通信可能な他の装置に記憶されたものであってもよい。
【０１０２】
また、上記実施形態において、ハードウェア故障検出部３００は、入力データのエラーチェックを行えるように構成してもよい。このためには、まず、入力側入力ポート２２１から出力側出力ポート２３８に至る経路における特定の経路である第１の経路において、入力データにエラーチェック用の冗長データ（例えば、チェックサム，ＣＲＣ（Cyclic Redundancy Checking），パリティビットなど）を付加する。ここでいう「第１の経路」とは、例えば、検索エンジン２２４における多重処理部２２２側の経路，ルーティング処理部２２６における検索エンジン２２４側の経路などである。そして、第１の経路よりも出力側出力ポート２３８に近い第２の経路において、入力データに付加されている冗長データに基づくエラーチェックを行うように構成する。ここでいう「第２の経路」とは、例えば、検索エンジン２２４におけるルーティング処理部２２６側の経路，ルーティング処理部２２６における出力処理部２３４側の経路などである。さらに、このエラーチェックの結果によりエラーであると判定された際に、図３のｓ２１０〜ｓ２３０と同様の処理が行われるように構成するとよい。
【０１０３】
ここで、冗長データに基づくエラーチェックにてエラーであると判定される場合、第１の経路から第２の経路に至るまでの経路において、入力データの書き換えを生じさせるような故障が発生している可能性が高いといえる。そのため、ハードウェア故障検出部３００は、このような状況をもって、ネットワーク中継装置１に故障が発生していると診断することになる。
【０１０４】
このように構成すれば、診断データの入出力だけでなく、入力データに付加された冗長データに基づくエラーチェックによっても装置の故障を診断でき、その結果に応じて故障が発生したことを検出できる。つまり、この構成では、診断データだけでなく、本ネットワーク中継装置１により中継される通常の入力データによっても、装置の故障を診断することができる。
【０１０５】
また、上記実施形態において、ハードウェア故障検出部３００は、入力データのエラー訂正を行えるように構成してもよい。このためには、まず、入力側入力ポート２２１から出力側出力ポート２３８に至る経路における特定の経路である第１の経路において、入力データにエラー訂正用の冗長データ（例えば、ＣＩＲＣ（Cross Interleave Reed-Solomon Code），リードソロモン符号など）を付加する。ここでいう「第１の経路」とは、上述したのと同様の経路である。そして、第１の経路よりも出力側出力ポート２３８に近い第２の経路において、入力データに付加されている冗長データに基づくエラー訂正を行うように構成する。ここでいう「第２の経路」とは、上述したのと同様の経路である。
【０１０６】
このように構成すれば、冗長データを付加した後の経路において、入力データの書き換えを生じさせるような故障が発生していたとしても、この冗長データに基づいて入力データを訂正することができる。
（５）本発明との対応関係
以上説明した実施形態において、ハードウェア故障検出部３００は本発明における故障診断装置であり、入力側入力ポート２２１は本発明における入力ポートであり、出力側出力ポート２３８は本発明における出力ポートであり、検索エンジン２２４は本発明における出力決定手段であり、スイッチ処理部２３６および出力メモリ２３２は本発明における入力データ出力手段であり、スイッチ回路２４６は本発明における出力遮断手段である。
【０１０７】
また、図３のｓ１３０は本発明における診断生成手段であり、同図ｓ１８０は本発明における第１診断手段であり、図４のｓ３１０〜ｓ３３０は本発明における負荷監視手段であり、同図ｓ３４４は本発明における第２診断手段であり、同図ｓ３２０は本発明における積算手段であり、図５のｓ４１０は本発明における登録生成手段であり、同図ｓ４３４は本発明における第３診断手段であり、図６のｓ３４６は本発明におけるレベル反転手段であり、図３のｓ２２０，図４のｓ３７０，図５のｓ４５０，図７のｓ５７０は本発明における報知データ出力手段である。
【図面の簡単な説明】
【０１０８】
【図１】ネットワーク中継装置の構成を示すブロック図
【図２】ハードウェア故障検出部の構成を示すブロック図
【図３】第１故障診断処理を示すフローチャート
【図４】第２故障診断処理を示すフローチャート
【図５】第３故障診断処理を示すフローチャート
【図６】その他の実施形態における第２故障診断処理を示すフローチャート
【図７】診断信号監視処理を示すフローチャート
【符号の説明】
【０１０９】
１…ネットワーク中継装置、１００…ソフトウェア処理部、２００…ハードウェア処理部、２１０…ネットワークコントローラ、２２０…入力処理部、２２１…入力側入力ポート、２２２…多重処理部、２２４…検索エンジン、２２６…ルーティング処理部、２２８…入力側出力ポート、２３０…出力処理部、２３２…出力メモリ、２３３…出力側入力ポート、２３４…バッファ処理部、２３６…スイッチ処理部、２３８…出力側出力ポート、２４２…スイッチ回路、２４６…スイッチ回路、３００…ハードウェア故障検出部、３１０…第１診断部、３２０…第２診断部、３３０…第３診断部、３４０…論理和回路。
【図１】
2007067528.tif 000003
【図２】
2007067528.tif 000004
【図３】
2007067528.tif 000005
【図４】
2007067528.tif 000006
【図５】
2007067528.tif 000007
【図６】
2007067528.tif 000008
【図７】
2007067528.tif 000009