(57)【要約】【課題】  本発明の目的は、ネットワークに接続された自機器が正常に動作しているか否かを判断する電子機器を提供することである。【解決手段】  第１のパケットを受信する受信手段（Ｓ６０１）と、受信した第１のパケットを保存する保存手段と、前記受信手段が第２のパケットを受信すると、この第２のパケットの送信先の識別情報を確認する第１の確認手段（Ｓ６０２）と、前記第１及び第２のパケットの送信先の識別情報が同じ場合、前記第１及び第２のパケットの種類をさらに確認する第２の確認手段（Ｓ６０３）と、  前記第１及び第２のパケットの種類が異なる場合、自機器が正常に動作していると判断する判断手段（Ｓ６０４，Ｓ６０５）とを備える電子機器。【選択図】  図６
2005318262.tif 000002
【特許請求の範囲】
【請求項１】
第１のパケットを受信する受信手段と、
受信した第１のパケットを保存する保存手段と、
前記受信手段が第２のパケットを受信すると、この第２のパケットの送信先の識別情報を確認する第１の確認手段と、
前記第１及び第２のパケットの送信先の識別情報が同じ場合、前記第１及び第２のパケットの種類をさらに確認する第２の確認手段と、
前記第１及び第２のパケットの種類が異なる場合、自機器が正常に動作していると判断する判断手段とを備える電子機器。
【請求項２】
前記判断手段は、前記第１及び第２のパケットの種類が同じ場合、自機器が正常に動作していないと判断することを特徴とする請求項１記載の電子機器。
【請求項３】
前記第２の確認手段は、前記第１及び第２のパケットの種類が同じ場合、パケットのトランザクション・ラベルも確認し、
前記判断手段は、前記第２のパケットが前記第１のパケットと異なる番号であれば、異なるトランザクションと判断し、自機器が正常に動作していると判断することを特徴とする請求項１記載の電子機器。
【請求項４】
前記判断手段は、前記第２のパケットが前記第１のパケットと同じ番号であれば、同じトランザクションと判断し、自機器が正常に動作していないと判断することを特徴とする請求項３記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器に関し、特に、IEEE1394ネットワークに接続された電子機器及びその自己診断方法に関する。
【背景技術】
【０００２】
IEEE1394(Institute of Electrical and Electronics Engineers 1394)規格はデジタルデータをやりとりするためのシリアルバス規格である。このIEEE1394ネットワークでは、他のIEEE1394搭載機器に接続されると、バスリセットが発生し自動的にそれぞれの機器に対応するID（Identification）が決定する。その後、互いに機器情報（GUID(Global Unique ID)、ベンダー名、モデル名など）を交換し、それらの情報を元に他機器の制御（例えば、デジタルテレビから録画機器に対しての録画予約や録画された番組の再生）を行う。このときの機器情報交換や他機器の制御は、リード・リクエスト、ライト・リクエスト、ロック・リクエストなどとそれらのレスポンスからなるトランザクションをお互いに繰り返すことで成立する。
【０００３】
IEEE1394ネットワーク部が正常に動作している場合は、相手機器からのリクエストに対して、先ずそのリクエストに対するAck(Acknowledge)パケットを返し、その上でレスポンスを返す。このレスポンスに対して、相手機器は同様にAckパケットを返すことになる。
【０００４】
ところで、一般的にネットワークでは、常に相手機器が期待するようなトランザクションの応答をするとは限らない。通常このような場合、相手機器は自機器に対して同じトランザクションを繰り返すことによって、期待するレスポンスの受信を試みて、全体シーケンスの復旧を図ろうとする。しかし、自機器のIEEE1394ネットワーク部の機能の一部が想定外の原因により正常に動作しない場合には、上記のような試みにもかかわらず全体のシーケンスが進まなくなることが想定される。
【０００５】
IEEE1394ネットワーク部の想定外の異常としては、相手機器のトランザクションに対するAckパケットが正しく返答できなくなることや、IEEE1394ネットワーク部以外の処理が占有したことによるタイムアウトの発生などが挙げられる。リトライに対しても正しい応答ができない状態が続くと、相手機器は自機器を制御の対象として認識しなくなることが予想される。
【０００６】
一方、従来のIEEE1394ネットワーク装置では、あるリクエストのレスポンスを見て、他の接続機器の診断を行う診断モードに遷移している（例えば特許文献１参照）。
【特許文献１】特開２００１−２３６２４２号公報（第４〜５頁、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、ネットワークに接続された自機器が正常に動作しているか否かを判断する電子機器は無かった。
【０００８】
本発明の目的は、ネットワークに接続された自機器が正常に動作しているか否かを判断する電子機器を提供することである。
【課題を解決するための手段】
【０００９】
第１の発明は、第１のパケットを受信する受信手段と、受信した第１のパケットを保存する保存手段と、前記受信手段が第２のパケットを受信すると、この第２のパケットの送信先の識別情報を確認する第１の確認手段と、前記第１及び第２のパケットの送信先の識別情報が同じ場合、前記第１及び第２のパケットの種類をさらに確認する第２の確認手段と、前記第１及び第２のパケットの種類が異なる場合、自機器が正常に動作していると判断する判断手段とを備える電子機器である。
【００１０】
第２の発明は、前記判断手段は、前記第１及び第２のパケットの種類が同じ場合、自機器が正常に動作していないと判断することを特徴とする第１の発明記載の電子機器である。
【００１１】
第３の発明は、前記第２の確認手段は、前記第１及び第２のパケットの種類が同じ場合、パケットのトランザクション・ラベルも確認し、前記判断手段は、前記第２のパケットが前記第１のパケットと異なる番号であれば、異なるトランザクションと判断し、自機器が正常に動作していると判断することを特徴とする第１の発明記載の電子機器である。
【００１２】
第４の発明は、前記判断手段は、前記第２のパケットが前記第１のパケットと同じ番号であれば、同じトランザクションと判断し、自機器が正常に動作していないと判断することを特徴とする第３の発明記載の電子機器である。
【発明の効果】
【００１３】
本発明によれば、ネットワークに接続された自機器が正常に動作しているか否かを判断する電子機器を提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について図面を参照しながら説明する。図１は、本実施形態に係る電子機器が適用されるネットワークの概略構成図である。ここでは一例として、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)ネットワークを挙げる。
【００１５】
IEEE1394ネットワークでは、IEEE1394インターフェース部（不図示）搭載の電子機器（自機器）１００が他のIEEE1394搭載機器（相手機器２００、２００’）に接続されると、バスリセットが発生し自動的にそれぞれの機器に対応する識別情報（Identification, ID）が決定する。その後、互いに機器情報（GUID(Global Unique ID)、ベンダー名、モデル名など）を交換し、それらの情報を元に他機器の制御（例えば、デジタルテレビから録画機器に対しての録画予約や録画された番組の再生）を行う。このときの機器情報交換や他機器の制御は、リード・リクエスト、ライト・リクエスト、ロック・リクエストなどのリクエストとそれらのレスポンスからなるトランザクションをお互いに繰り返すことで成立する。
【００１６】
図２は、IEEE1394インターフェース部が正常に動作している場合のフローチャートである。相手機器２００からのリクエストＡに対して、先ずそのリクエストに対するAck(Acknowledge)パケット（Pending, Complete, Busyなど）を返し、その上でリクエストＡに対するレスポンスを返す。このＡのレスポンスに対して、相手機器２００は同様にAckパケットを返すことになる。一般的にIEEE1394ネットワークでは、常に相手機器２００が期待するようなトランザクションの応答をするとは限らない。
【００１７】
通常このような場合、相手機器２００は同じトランザクションを繰り返すことによって期待するレスポンスの受信を試みて、全体シーケンスの復旧を図ろうとする。しかし、自機器１００のIEEE1394ネットワーク部の機能の一部が想定外の原因により正常に動作しない場合には、上記のような試みにもかかわらず全体のシーケンスが進まなくなることが想定される。
【００１８】
IEEE1394ネットワーク部の想定外の異常として、図３のように相手機器２００のトランザクションに対するAckパケットが正しく返答できなくなること、すなわち、IEEE1394で定義されていない想定外のAckパケットを返信してしまい、その後にＡのレスポンス（点線表示）を返信してしまう。その他、図４のようにIEEE1394ネットワーク部以外の処理が占有したことによるタイムアウト（IEEE1394では返信時間が規定されている）の発生などが挙げられる。すなわち、タイムアウトが発生しているのにもかかわらず、Ａのレスポンス（点線表示）を返信してしまう。
【００１９】
リトライに対しても正しい応答ができない状態が続くと、相手機器２００は自機器１００を制御の対象として認識しなくなることが予想される。
【００２０】
そこで、本実施形態では、上述した課題を解決するための電子機器を提供する。図５は、本実施形態に係る電子機器（自機器１００）のブロック図である。自機器１００は、相手機器２００とのインターフェースであるIEEE1394インターフェース部５１０と、コマンドの送受信を通じて相手機器２００の制御を行う他機器制御部５４０と、他機器制御部５４０を操作するユーザインターフェース部５５０と、他機器制御部５４０が送受信するコマンドを監視することで他機器制御部５４０やIEEE1394インターフェース部５１０が正常に動作しているかを判定する自己診断部５２０と、自己診断部５２０の診断結果を保持しておくバッファ５３０とを備える。
【００２１】
図６は、自己診断部５２０における他機器制御部５４０やIEEE1394インターフェース部５１０が正常に動作しているかを判断するためのフローチャートである。また、図７はIEEE1394パケットのフォーマットを示す図である。
【００２２】
バスリセットの終了後、IEEE1394インターフェース部５１０では他機器制御部５４０が生成するIEEE1394パケット（図７参照）の送受信を行うことになるが、相手機器２００からのパケットを受信した際に、先ず自己診断部５２０にそのパケットを渡す（Ｓ６０１）。自己診断部５２０では、そのパケットを送信した機器からの１回目のトランザクションか、すなわち１回目のパケットかをsource_IDのフィールド（発信元を示す）をチェックすることで判断する（Ｓ６０２）。
【００２３】
１回目のパケットでない場合には、バッファ５３０に記録しておいた前回のパケットの内容と比較する（Ｓ６０３）。このときの比較では、パケットの発信先を示すdestination_IDフィールド（この場合、自機器１００のIDと一致するか）と、パケットの種類、すなわち、トランザクションの種類を示すtcode（transaction code）フィールド（リード、ライト、ロックなど）をまず比較する。さらに、トランザクションの内容により比較するフィールドが異なり、図７のパケット固有の情報に含まれるアドレスを示すdestination_offsetフィールドを用いて比較するのもよい。またレスポンスでも比較対照のフィールドが異なる。機器によっては、リトライの際に、トランザクション・ラベル tl（transaction label、トランザクションの番号）を変更してリクエストを行うことも考えられるので、リクエストの場合の比較にはtlを使用するか否かを考慮した方が望ましい。レスポンスの場合には、パケット固有の情報に含まれる応答コードであるrcodeフィールドも利用できる。
【００２４】
前回と異なった内容のトランザクションだった場合には、その内容をバッファ５３０に保存した上で（Ｓ６０４）、問題なく動作していると判断し他機器制御部５４０に渡す（Ｓ６０５）。この後、他機器制御部５４０は、受信したパケットのレスポンスを返すことになる。なお、１回目のパケットの場合も同様にその内容をバッファ５３０に保存しておく。
【００２５】
前回と同じ内容のトランザクションだった場合には、transaction label(tl)を確認し、相手機器からのリクエストが前回と異なる番号であれば、異なるトランザクションと判断する。一方、同じ番号であれば、同じトランザクションと判断する。IEEE1394インターフェース部５１０が正常に動作していない可能性があると判断し、この判定をカウントする変数（カウンタ）をインクリメントする。このインクリメントにより、カウンタが予め決めていた上限を超えた場合には、IEEE1394インターフェース部５１０のリセットおよび初期化を行う（Ｓ６０６）。ここでの初期化は、IEEE1394インターフェース部５１０でバスリセットを発生させることやIEEE1394インターフェース部５１０への電源の供給を一時的に停止させることにより実現する。何れの場合も、この初期化によりバスリセットが発生し、他機器制御部５４０もこのタイミングで初期化を行うことができる。
【００２６】
また、この診断を行う期間をバスリセットから一定期間の間だけ行ったり、電源の状態を尋ねるリクエストなど特定のコマンドを比較するパケットから除いたりすることでポーリングで用いられるパケットを排除することができ診断の精度が上がる。
【００２７】
IEEE1394インターフェース部５１０が正常に動作しなくなった場合でも、正常に動作していないことを判断でき、IEEE1394インターフェース部５１０のリセットおよび初期化を行うことにより正常な動作を回復することができるようになった。
【００２８】
上述した実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の趣旨を逸脱しない範囲であれば、適宜組合わせ及び変更することができることはいうまでもない。
【図面の簡単な説明】
【００２９】
【図１】本実施形態に係る電子機器が適用されるネットワークの概略構成図。
【図２】IEEE1394インターフェース部が正常に動作している場合のフローチャート。
【図３】正常に動作していない場合（その１）のフローチャート。
【図４】正常に動作していない場合（その２）のフローチャート。
【図５】本実施形態に係る電子機器（自機器）のブロック図。
【図６】自己診断部における他機器制御部やIEEE1394インターフェース部が正常に動作しているかを判断するためのフローチャート。
【図７】IEEE1394パケットのフォーマットを示す図。
【符号の説明】
【００３０】
１００  電子機器（自機器）
２００  相手機器
５１０  IEEE1394インターフェース部
５２０  自己診断部
５３０  バッファ
５４０  他機器制御部
５５０  ユーザインターフェース部
【図１】
2005318262.tif 000003
【図２】
2005318262.tif 000004
【図３】
2005318262.tif 000005
【図４】
2005318262.tif 000006
【図５】
2005318262.tif 000007
【図６】
2005318262.tif 000008
【図７】
2005318262.tif 000009