(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介して通信装置同士が接続された通信システムに用いられる通信装置であり、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるホットプラグ対応の通信装置であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信手段と、
前記バスリセット情報受信手段によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築手段と、
前記再構築手段によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断手段と、
前記通信可能判断手段によって前記複数のパケットで構成されたメッセージにおける最後のパケットが前記他方の通信装置へ送信された後に、前記通信ネットワークの切断に伴う前記バスリセットが発生し、続いて前記通信ネットワークの接続に伴う前記バスリセットが発生して、前記他方の通信装置とパケット通信可能であると判断した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットのみを、前記他方の通信装置へ再送するパケット再送手段と、
を有することを特徴とするホットプラグ対応の通信装置。
【請求項２】
通信ネットワークを介して通信装置同士が接続された通信システムに用いられる通信装置であり、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるホットプラグ対応の通信装置であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信手段と、
前記バスリセット情報受信手段によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築手段と、
前記再構築手段によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断手段と、
前記通信可能判断手段によって通信可能であると判断した場合に、前記バスリセット発生直前に前記他方の通信装置に送信したパケットの種類を確認するパケット種類確認手段と、
前記パケット種類確認手段によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された最後のパケットであることを確認した場合は、当該最後のパケットのみを再送し、前記パケット種類確認手段によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットでないことを確認した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットの前記メッセージに係る最初のパケットから再送するパケット再送手段と、
を有することを特徴とするホットプラグ対応の通信装置。
【請求項３】
通信ネットワークを介して通信装置同士が接続された通信システムに用いられる通信方法であり、複数のパケットで構成されたメッセージを一方の通信装置から他方の通信装置へ送信させるホットプラグ対応の通信方法であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信ステップと、
前記バスリセット情報受信ステップによって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築ステップと、
前記再構築ステップによって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断ステップと、
前記通信可能判断ステップによって前記複数のパケットで構成されたメッセージにおける最後のパケットが前記他方の通信装置へ送信された後に、前記通信ネットワークの切断に伴う前記バスリセットが発生し、続いて前記通信ネットワークの接続に伴う前記バスリセットが発生して、前記他方の通信装置とパケット通信可能であると判断した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットのみを、前記他方の通信装置へ再送するパケット再送ステップと、
を有することを特徴とするホットプラグ対応の通信方法。
【請求項４】
通信ネットワークを介して通信装置同士が接続された通信システムに用いられる通信方法であり、複数のパケットで構成されたメッセージを一方の通信装置から他方の通信装置へ送信させるホットプラグ対応の通信方法であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信ステップと、
前記バスリセット情報受信ステップによって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築ステップと、
前記再構築ステップによって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断ステップと、
前記通信可能判断ステップによって通信可能であると判断した場合に、前記バスリセット発生直前に前記他方の通信装置に送信したパケットの種類を確認するパケット種類確認ステップと、
前記パケット種類確認ステップによって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された最後のパケットであることを確認した場合は、当該最後のパケットのみを再送し、前記パケット種類確認ステップによって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットでないことを確認した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットの前記メッセージに係る最初のパケットから再送するパケット再送ステップと、
を有することを特徴とするホットプラグ対応の通信方法。
【請求項５】
通信ネットワークを介して通信装置同士が接続された通信システムにおいて、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるように前記一方の通信装置に実現させるホットプラグ対応の通信装置用プログラムであって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信機能と、
前記バスリセット情報受信機能によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築機能と、
前記再構築機能によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断機能と、
前記通信可能判断機能によって前記複数のパケットで構成されたメッセージにおける最後のパケットが前記他方の通信装置へ送信された後に、前記通信ネットワークの切断に伴う前記バスリセットが発生し、続いて前記通信ネットワークの接続に伴う前記バスリセットが発生して、前記他方の通信装置とパケット通信可能であると判断した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットのみを、前記他方の通信装置へ再送するパケット再送機能と、
を前記一方の通信装置に実現させることを特徴とするホットプラグ対応の通信装置用プログラム。
【請求項６】
通信ネットワークを介して通信装置同士が接続された通信システムにおいて、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるように前記一方の通信装置に実現させるホットプラグ対応の通信装置用プログラムであって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信機能と、
前記バスリセット情報受信機能によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築機能と、
前記再構築機能によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断機能と、
前記通信可能判断機能によって通信可能であると判断した場合に、前記バスリセット発生直前に前記他方の通信装置に送信したパケットの種類を確認するパケット種類確認機能と、
前記パケット種類確認機能によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された最後のパケットであることを確認した場合は、当該最後のパケットのみを再送し、前記パケット種類確認機能によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットでないことを確認した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットの前記メッセージに係る最初のパケットから再送するパケット再送機能と、
を前記一方の通信装置に実現させることを特徴とするホットプラグ対応の通信装置用プログラム。
【請求項７】
通信ネットワークを介して通信装置同士が接続された通信システムにおいて、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるように前記一方の通信装置に実現させるホットプラグ対応の通信装置用プログラムが記録された記録媒体であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信機能と、
前記バスリセット情報受信機能によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築機能と、
前記再構築機能によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断機能と、
前記通信可能判断機能によって前記複数のパケットで構成されたメッセージにおける最後のパケットが前記他方の通信装置へ送信された後に、前記通信ネットワークの切断に伴う前記バスリセットが発生し、続いて前記通信ネットワークの接続に伴う前記バスリセットが発生して、前記他方の通信装置とパケット通信可能であると判断した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットのみを、前記他方の通信装置へ再送するパケット再送機能と、
を前記一方の通信装置に実現させるためのプログラムを記録したことを特徴とする前記通信装置で読み取り可能なホットプラグ対応の通信装置用記録媒体。
【請求項８】
通信ネットワークを介して通信装置同士が接続された通信システムにおいて、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるように前記一方の通信装置に実現させるホットプラグ対応の通信装置用プログラムが記録された記録媒体であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信機能と、
前記バスリセット情報受信機能によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築機能と、
前記再構築機能によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断機能と、
前記通信可能判断機能によって通信可能であると判断した場合に、前記バスリセット発生直前に前記他方の通信装置に送信したパケットの種類を確認するパケット種類確認機能と、
前記パケット種類確認機能によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された最後のパケットであることを確認した場合は、当該最後のパケットのみを再送し、前記パケット種類確認機能によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットでないことを確認した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットの前記メッセージに係る最初のパケットから再送するパケット再送機能と、
を前記一方の通信装置に実現させるためのプログラムを記録したことを特徴とする前記通信装置で読み取り可能なホットプラグ対応の通信装置用記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信装置が通信ネットワークと切断されて第１のバスリセットが発生し、その後に前記通信ネットワークに再接続されたために第２のバスリセットが発生した場合であっても続けて通信を行うことができるホットプラグ対応の通信装置、通信方法、通信装置用プログラム、及び通信装置用プログラムが記録された記録媒体に関する。
【０００２】
【従来の技術】
近年の通信技術の発展に伴い、動画データや音楽データをリアルタイムで伝送可能とする通信ネットワーク技術に期待が寄せられている。その一つとして注目されているＩＥＥＥ１３９４(IEEE Standard for a High Performance Serial Bus IEEE Std 1394)は、パソコンやその周辺機器、ＡＶ(Audio Visual)機器等のデジタル機器間でデータの互換性を確保しつつ、高速にデータを伝送するためのシリアルバス規格である。
【０００３】
このＩＥＥＥ１３９４規格に基づいたデータ伝送においては、規格に従った一対のツイストペアケーブルを使用して全二重通信を行う。即ち、２本のケーブルを使用して双方向の同時通信を実現している。この点に関し、ＵＴＰ(Unshielded Twisted Pair)ケーブルやＳＴＰ(Shielded Twisted Pair)ケーブル、光ファイバケーブル等を用いた技術が特開平１０−１６４１０７号公報や特開平１０−４１８９８号公報に開示されている。また、最近では、ＩＥＥＥ１３９４規格に基づいたデータ伝送を光通信又は無線通信に応用しようとする研究がなされている。
【０００４】
また、ＩＥＥＥ１３９４は、ホットプラグ(Hot Plug)（「活線挿抜」、又は「ホストスワッピング」とも呼ばれる）にも対応している。このホットプラグは、コンピュータ等の電源を入れた状態で、周辺機器やコード等の抜き差しを行った場合であっても、システム設定を行うことができる技術である。ＩＥＥＥ１３９４における例としては、パソコンやその周辺機器、ＡＶ機器等のデジタル機器間でデータ通信の処理が中断しても、中断が解除された後にデータ通信の処理を再開する場合が挙げられる。
【０００５】
ここで、図８乃至図１１を用いて、従来のＡＶ機器の共通のコマンド体系(HAVi:Home Audio/Video Interoperability)下におけるホットプラグに関して説明する。尚、ＨＡＶｉとは、複数の企業間で標準化したデジタルＡＶ機器の共通の通信ネットワーク体系であり、この通信ネットワークに接続されたＡＶ機器同士で、操作体系やリモコンでの動作の統一を図ることができる。
【０００６】
ＨＡＶｉのプロトコルスタックにおいて、ＩＥＥＥ１３９４規格に基づいてメッセージを送受信するＴＡＭ(Transfer Adaptation Module)層では、１メッセージを１パケット又は複数のパケットに分割して送信を行っている。この１メッセージを１パケットとして送信するときのパケットをＳＦＰ(Simple Fragment Packet)と呼んでいる。また、１メッセージを複数のパケットに分割したときの最初のパケットをＢＯＰ(Begin Of message Packet)、最後のパケットをＥＯＰ(End Of message Packet)、ＢＯＰとＥＯＰの間のパケットをＣＯＰ(Continuation Of message Packet)と呼んでいる。
【０００７】
図８及び図９は、従来のホットプラグ対応の通信システムの全体構成図を示している。図８に示すように、Device１００、１０１、１０２、及び１０３は、ＩＥＥＥ１３９４規格の通信ケーブル１１１、１１２、１１３、１１４及び１１５から成る通信ネットワーク１１０によって順次接続されており、順次相互通信可能な通信システムを構築している。ここでは、図８に示す通信システムの環境下でパケット通信を行っているときに、Device１０１とDevice１０２との間の通信ケーブル１１２が切断されて、図９に示す通信システムの環境になり、その後短期間に再び図８に示す通信システムの環境に戻る場合について説明する。
【０００８】
図１０は、この場合に、Device１０１とDevice１０２との間で行われる通信のフローを示した通信フロー図である。即ち、図１０は、図８に示す通信システム環境下で、Device１０１から送信されたＣＯＰをDevice１０２が受信し、受信確認をDevice１０１に送信した後、受信確認がDevice１０１で受信される前に、図９に示す様に、Device１０１とDevice１０２の間の通信ケーブル１１２が切断されてバスリセットＡが発生し、その後短期間に図８に示す様に、通信ケーブル１１２が再接続されたことにより、バスリセットＢが発生した場合の通信状況を示している。
【０００９】
このような通信状況下において、Device１０１では、バスリセットＡの処理を終了する前に次のバスリセットＢが発生して、Device１０２に関する情報（Device１０２との通信記録、Device１０２の情報等）を保持したままであるにも拘わらず、Device１０２では、バスリセットＡの処理が終了してDevice１０１との切断が確認されたため、Device１０１に関する情報（Device１０１との通信記録、Device１０１の情報等）を削除する場合がある。このような状況が発生するのは、Device１０１のＣＰＵの性能がDevice１０２のＣＰＵの性能よりも劣っている場合や、ＣＰＵの性能が同じであってもDevice１０１で他の装置（例えばDevice１００）とも通信しておりＣＰＵの処理に多くの負荷が掛かっているため、バスリセット処理が追い付かない場合等が生じるためである。
【００１０】
このように、Device１０２ではDevice１０１に関する情報を削除するため、バスリセットＢの発生後、仮にDevice１０１からＣＯＰ（受信確認を受け取れなかったパケット）を再送しても、Device１０２ではＣＯＰの処理を行うことができない。
【００１１】
そこで従来は、図１０に示すように、Device１０１により、再びＳＹＮＣ  ＳＦＰから送信を開始することによって、最初からパケット通信を行っていた。尚、ＳＹＮＣ  ＳＦＰは、同期ＳＦＰと呼ばれるペイロードが０（ゼロ）のパケットであり、このＳＹＮＣ  ＳＦＰのシーケンス番号により、送信元装置（Device１０１）と送信先装置（Device１０２）のシーケンス番号の一致を図り、それ以降送信するパケットの順番を保証するものである。
【００１２】
しかも、再送時には、図１０に示すように、パケットのヘッダにあるリトライ（Retry）フラグを立てることにより、Device１０２で既にメッセージ処理をしていた場合には、複数回同じ処理を行うことを防止していた。
【００１３】
【発明が解決しようとする課題】
しかしながら、従来の通信方法では、上記のようにＣＯＰではなく、図１１に示すようにＥＯＰの送信後にバスリセットＡが発生した場合には、以下に示すような問題が生じる。即ち、図１１に示すように、Device１０１からＥＯＰを送信した後、受信確認を受け取る前にバスリセットＡが発生しても、Device１０２では既にＥＯＰを受信しているため、メッセージの処理を行ってしまう。そのため、Device１０２が通信ケーブル１１２に再接続されたことによりバスリセットＢが発生し、再びＳＹＮＣ  ＳＦＰから送信を開始してしまうと、Device１０２ではバスリセットＡによりDevice１０１に関する情報を削除しているため、再び同じメッセージ処理を行うことになる。従って、このような場合には、結果的にDevice１０１からDevice１０２へ、同じメッセージを２つ送信することとなる。
【００１４】
また、このような問題は、ＥＯＰだけでなく、１メッセージを１パケットとしたときのＳＦＰを送信した後、受信確認を受け取る前にバスリセットＡが発生しても生じる問題である。
【００１５】
そこで本発明は、上記の従来の課題に鑑みてなされたものであり、その目的とするところは、ホットプラグに対応した装置において、続けてバスリセットが生じることにより、送信先装置（Device１０２）が送信元装置（Device１０１）の通信ネットワークと切断された後、短期間で同じ通信ネットワークに再接続された場合であっても、同じメッセージを複数回送信することを防止することにある。
【００１６】
【課題を解決するための手段】
上記した課題を解決するために、本発明は下記（１）〜（８）の構成を有するホットプラグ対応の通信装置、通信方法、通信装置用プログラム、及び通信装置用プログラムが記録された記録媒体を提供する。
（１）  通信ネットワークを介して通信装置同士が接続された通信システムに用いられる通信装置であり、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるホットプラグ対応の通信装置であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信手段と、
前記バスリセット情報受信手段によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築手段と、
前記再構築手段によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断手段と、
前記通信可能判断手段によって前記複数のパケットで構成されたメッセージにおける最後のパケットが前記他方の通信装置へ送信された後に、前記通信ネットワークの切断に伴う前記バスリセットが発生し、続いて前記通信ネットワークの接続に伴う前記バスリセットが発生して、前記他方の通信装置とパケット通信可能であると判断した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットのみを、前記他方の通信装置へ再送するパケット再送手段と、
を有することを特徴とするホットプラグ対応の通信装置。
（２）  通信ネットワークを介して通信装置同士が接続された通信システムに用いられる通信装置であり、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるホットプラグ対応の通信装置であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信手段と、
前記バスリセット情報受信手段によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築手段と、
前記再構築手段によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断手段と、
前記通信可能判断手段によって通信可能であると判断した場合に、前記バスリセット発生直前に前記他方の通信装置に送信したパケットの種類を確認するパケット種類確認手段と、
前記パケット種類確認手段によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された最後のパケットであることを確認した場合は、当該最後のパケットのみを再送し、前記パケット種類確認手段によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットでないことを確認した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットの前記メッセージに係る最初のパケットから再送するパケット再送手段と、
を有することを特徴とするホットプラグ対応の通信装置。
（３）  通信ネットワークを介して通信装置同士が接続された通信システムに用いられる通信方法であり、複数のパケットで構成されたメッセージを一方の通信装置から他方の通信装置へ送信させるホットプラグ対応の通信方法であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信ステップと、
前記バスリセット情報受信ステップによって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築ステップと、
前記再構築ステップによって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断ステップと、
前記通信可能判断ステップによって前記複数のパケットで構成されたメッセージにおける最後のパケットが前記他方の通信装置へ送信された後に、前記通信ネットワークの切断に伴う前記バスリセットが発生し、続いて前記通信ネットワークの接続に伴う前記バスリセットが発生して、前記他方の通信装置とパケット通信可能であると判断した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットのみを、前記他方の通信装置へ再送するパケット再送ステップと、
を有することを特徴とするホットプラグ対応の通信方法。
（４）  通信ネットワークを介して通信装置同士が接続された通信システムに用いられる通信方法であり、複数のパケットで構成されたメッセージを一方の通信装置から他方の通信装置へ送信させるホットプラグ対応の通信方法であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信ステップと、
前記バスリセット情報受信ステップによって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築ステップと、
前記再構築ステップによって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断ステップと、
前記通信可能判断ステップによって通信可能であると判断した場合に、前記バスリセット発生直前に前記他方の通信装置に送信したパケットの種類を確認するパケット種類確認ステップと、
前記パケット種類確認ステップによって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された最後のパケットであることを確認した場合は、当該最後のパケットのみを再送し、前記パケット種類確認ステップによって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットでないことを確認した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットの前記メッセージに係る最初のパケットから再送するパケット再送ステップと、
を有することを特徴とするホットプラグ対応の通信方法。
（５）  通信ネットワークを介して通信装置同士が接続された通信システムにおいて、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるように前記一方の通信装置に実現させるホットプラグ対応の通信装置用プログラムであって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信機能と、
前記バスリセット情報受信機能によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築機能と、
前記再構築機能によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断機能と、
前記通信可能判断機能によって前記複数のパケットで構成されたメッセージにおける最後のパケットが前記他方の通信装置へ送信された後に、前記通信ネットワークの切断に伴う前記バスリセットが発生し、続いて前記通信ネットワークの接続に伴う前記バスリセットが発生して、前記他方の通信装置とパケット通信可能であると判断した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットのみを、前記他方の通信装置へ再送するパケット再送機能と、
を前記一方の通信装置に実現させることを特徴とするホットプラグ対応の通信装置用プログラム。
（６）  通信ネットワークを介して通信装置同士が接続された通信システムにおいて、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるように前記一方の通信装置に実現させるホットプラグ対応の通信装置用プログラムであって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信機能と、
前記バスリセット情報受信機能によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築機能と、
前記再構築機能によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断機能と、
前記通信可能判断機能によって通信可能であると判断した場合に、前記バスリセット発生直前に前記他方の通信装置に送信したパケットの種類を確認するパケット種類確認機能と、
前記パケット種類確認機能によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された最後のパケットであることを確認した場合は、当該最後のパケットのみを再送し、前記パケット種類確認機能によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットでないことを確認した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットの前記メッセージに係る最初のパケットから再送するパケット再送機能と、
を前記一方の通信装置に実現させることを特徴とするホットプラグ対応の通信装置用プログラム。
（７）  通信ネットワークを介して通信装置同士が接続された通信システムにおいて、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるように前記一方の通信装置に実現させるホットプラグ対応の通信装置用プログラムが記録された記録媒体であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信機能と、
前記バスリセット情報受信機能によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築機能と、
前記再構築機能によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断機能と、
前記通信可能判断機能によって前記複数のパケットで構成されたメッセージにおける最後のパケットが前記他方の通信装置へ送信された後に、前記通信ネットワークの切断に伴う前記バスリセットが発生し、続いて前記通信ネットワークの接続に伴う前記バスリセットが発生して、前記他方の通信装置とパケット通信可能であると判断した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットのみを、前記他方の通信装置へ再送するパケット再送機能と、
を前記一方の通信装置に実現させるためのプログラムを記録したことを特徴とする前記通信装置で読み取り可能なホットプラグ対応の通信装置用記録媒体。
（８）  通信ネットワークを介して通信装置同士が接続された通信システムにおいて、複数のパケットで構成されたメッセージが一方の通信装置から他方の通信装置へ送信されるように前記一方の通信装置に実現させるホットプラグ対応の通信装置用プログラムが記録された記録媒体であって、
前記通信ネットワークの切断又は接続に伴うバスリセットが発生したイベントの情報を受信するバスリセット情報受信機能と、
前記バスリセット情報受信機能によって受信した情報に基づいて、前記バスリセット後の通信ネットワークトポロジの情報を取得し、最新の通信ネットワークトポロジを再構築する再構築機能と、
前記再構築機能によって再構築した通信ネットワークトポロジに基づいて、前記通信ネットワークを介して前記他方の通信装置とパケット通信可能であるか否かを判断する通信可能判断機能と、
前記通信可能判断機能によって通信可能であると判断した場合に、前記バスリセット発生直前に前記他方の通信装置に送信したパケットの種類を確認するパケット種類確認機能と、
前記パケット種類確認機能によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された最後のパケットであることを確認した場合は、当該最後のパケットのみを再送し、前記パケット種類確認機能によって前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットでないことを確認した場合には、前記通信ネットワークの切断に伴う前記バスリセットが発生する直前に前記他方の通信装置へ送信された前記最後のパケットの前記メッセージに係る最初のパケットから再送するパケット再送機能と、
を前記一方の通信装置に実現させるためのプログラムを記録したことを特徴とする前記通信装置で読み取り可能なホットプラグ対応の通信装置用記録媒体。
【００３０】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態を説明する。
【００３１】
図１は、本発明の実施の形態に係る通信システムの全体構成図である。この通信システムは、ＨＡＶｉ下におけるホットプラグ対応のシステムである。また、図１に示すように、Device０、１、２、及び３は、ＩＥＥＥ１３９４規格の通信ケーブル３１、３２、３３、３４、及び３５に係る通信ネットワーク３０よって順次接続されており、順次相互通信可能な通信システムを構築している。
【００３２】
また、Device１（Device２に関しては括弧内に示す）の要部構成として、それぞれ制御部本体としてのＣＰＵ１０（２０）と、このＣＰＵ１０（２０）を制御するプログラムなどの固定的データを予め格納したＲＯＭ（Read Only Memory）１１（２１）と、各種データを一時的に記憶するエリアを形成するメモリ（メインメモリ）１２（２２）と、各種データの書込み及び読出しを行うＨＤＤ１３（２３）と、通信ケーブル３２、３３（３３、３４）を利用してデータ伝送をするための通信インタフェース１４（２４）と、各機能部１５（２５）等を有している。そして、これらＣＰＵ１０（２０）、ＲＯＭ１１（２１）、メモリ１２（２２）、ＨＤＤ１３（２３）、通信インタフェース１４（２４）、各機能部１５（２５）をアドレスバス、データバス等のバスライン１６（２６）で電気的に接続している。また、ＨＤＤ１３（２３）には、それぞれDevice１（２）に後述の機能を実現させるためのプログラムｐ１（ｐ２）がインストールされている。また、このプログラムｐ１（ｐ２）が記録されているＣＤ−ＲＯＭ等の記録媒体を利用して、インストールすることも可能である。
【００３３】
尚、Device０、３に関しても、Device１と同様の要部構成を有するため、その説明を省略する。また、Device及びケーブルは、図１に示す以外に存在してもよく、逆に、Device１、２及びケーブル３３のみによって通信システムが構築されていてもよい。また、各機能部１５（２５）は、例えば、DeviceがデジタルＡＶ機器の場合には、録画機能、再生機能、モニタ表示機能等の各種機能を実現する装置部分であり、各Deviceによって異なる場合もある。
【００３４】
続いて、以下に、図１乃至図７を用いて、本実施形態に係る通信システムの動作及び処理を説明する。尚、図２は、図１に示す通信システムにおいて、通信ケーブル３３が切断された状態を示した図である。また、図３乃至図６は、本実施形態に係る通信システムのデータ通信を４つのケースに分けて示したデータ・処理フロー図である。図７は、Device１における動作及び処理を示した処理フロー図である。
【００３５】
まず、図３を用いてケース（１）を説明する。このケース（１）は、Device２がＥＯＰの受信確認データを送信後、Device１が受信確認データを受信する前にバスリセットＡが発生するとともに、Device２ではDevice１に関する情報を削除したケースである。
【００３６】
まず、Device１では、プログラムｐ１によりデータ送信機能が実現され、Device２へＳＹＮＣ  ＳＦＰ、ＢＯＰ、ＣＯＰを順次送信し、最後に図３に示すように、ＥＯＰを送信する（ステップＳ１１）。これによって、Device２では、プログラムｐ２によりデータ受信機能が実現され、ＥＯＰを受信する（ステップＳ１２）。また、Device２では、ＥＯＰまで受信したため、プログラムｐ２によりメッセージ処理機能が実現され、これまで受信した全てのバケットを組み立てて、１メッセージを作成する処理を行う（ステップＳ１３）。そして、Device２では、プログラムｐ２によりデータ送信機能が実現され、Device１へ受信確認データを送信する（ステップＳ１４）。
【００３７】
ここで、Device１において受信確認データを受信する前に、図１に示す通信ケーブル３３が切断され、バスリセットＡが発生した（ステップＳ１５）。そして、短期間に通信ケーブル３３の再接続が行われ、バスリセットＢが発生した（ステップＳ１６）。このケース（１）において、バスリセットＡの処理が終了する前に次のバスリセットＢが発生したため、Device１では、Device２に関する情報を保持したままである。
【００３８】
一方、Device２では、バスリセットＡの処理を行ったため、Device１との切断が確認され、Device１に関する情報を削除している。即ち、Device２でバスリセットＡの処理を行うと、バスリセットＡの前に通信ネットワーク３０上に存在していたDevice０とDevice１は、Device２が接続されている通信ネットワーク３０から存在しなくなったため、Device２に保存されているDevice０とDevice１に関する情報（通信記録、Device０，１の情報）は削除されることになる。
【００３９】
ここで、Device１では、プログラムｐ１により、図７に示すような処理（ステップ）を実行する。即ち、Device１では、プログラムｐ１によりバスリセット情報受信機能ｆ１が実現され、バスリセットＡ若しくはＢ（又は後述のバスリセットＸ若しくはＹ）が発生したイベント（事象）の情報を受信する（ステップＳ１）。このイベント情報は、通信ネットワーク３０上を流れているバスリセット信号に基づいて、ハードウェアからＨＡＶｉプログラムに対して送信される。
【００４０】
次に、Device１では、プログラムｐ１により再構築機能ｆ２が実現され、上記バスリセット情報受信機能ｆ１によって受信した情報に基づいて、バスリセットＡ若しくはＢ（又は後述のバスリセットＸ若しくはＹ）後の通信ネットワークトポロジ（ここでは、通信ネットワーク３０の接続形態）の情報を取得し、最新の通信ネットワークトポロジを再構築する（ステップＳ２）。
【００４１】
次に、Device１では、プログラムｐ１により通信可能判断機能ｆ３が実現され、上記再構築機能ｆ２によって再構築した通信ネットワークトポロジに基づいて、通信ネットワーク３０を介して他の通信装置（ノード）（ここでは、Device２）とパケット通信可能であるか否かを判断する（ステップＳ３）。
【００４２】
次に、Device１では、プログラムｐ１によりパケット種類確認機能ｆ４が実現され、上記通信可能判断機能ｆ３によって通信可能であると判断した場合に、前記バスリセットＡ若しくはＢ（又は後述のバスリセットＸ若しくはＹ）の発生直前に送信したパケットの種類を確認する（ステップＳ４）。
【００４３】
次に、Device１では、プログラムｐ１によりパケット再送機能ｆ５が実現され、上記パケット種類確認機能ｆ４によって最後のパケット（ＥＯＰ）を送信したことを確認した場合には、当該最後のパケット（ＥＯＰ（retry））のみをDevice２へ再送する（ステップＳ５）。一方、上記パケット種類確認機能ｆ４によって最後以外のパケット（ＳＹＮＣ  ＳＦＰ、ＢＯＰ、又はＣＯＰ）を送信したことを確認した場合には、最初に送信したパケット（ＳＹＮＣ  ＳＦＰ(retry)）からＥＯＰ（retry）までの全てのパケットを再送する（ステップＳ６）。そして、上記ステップＳ５、６後は、後述のようにDevice２との通信を続ける。尚、上記ステップＳ３において、通信不可能と判断した場合には、Device２との通信は中止する。
【００４４】
図３に示すケース（１）では、上記ステップＳ３においてDevice２と通信可能であると判断し、上記ステップＳ４においてＥＯＰを送信したと確認することにより、Device２に対してＥＯＰ（retry）のみを再送する（ステップＳ１７）。これにより、Device２では、プログラムｐ２によりデータ受信機能が実現され、ＥＯＰ（retry）を受信する（ステップＳ１８）。そして、このケース（１）において、Device２では、Device１に関する情報を削除しているため、ＥＯＰ（retry）のみを受信してもメッセージ処理を行うことができない。そこで、Device２では、プログラムｐ２によりデータ廃棄機能が実現され、受信したＥＯＰ（retry）を廃棄する（捨てる）（ステップＳ１９）。
【００４５】
これにより、Device２で複数回同じメッセージを処理することを回避することができる。
【００４６】
続いて、図４を用いてケース（２）を説明する。このケース（２）は、Device１がＥＯＰを送信後、Device２がＥＯＰを受信する前にバスリセットＸが発生するとともに、Device２ではDevice１に関する情報を削除したケースである。
【００４７】
まず、Device１では、プログラムｐ１によりデータ送信機能が実現され、Device２へＳＹＮＣ  ＳＦＰ、ＢＯＰ、ＣＯＰを順次送信し、最後に図４に示すように、ＥＯＰを送信する（ステップＳ２１）。
【００４８】
ここで、Device２においてＥＯＰを受信する前に、図１に示す通信ケーブル３３が切断され、バスリセットＸが発生した（ステップＳ２２）。そして、短期間に通信ケーブル３３の再接続が行われ、バスリセットＹが発生した（ステップＳ２３）。このケース（２）においては、上記ケース（１）と同様に、Device１では、バスリセットＸの処理が終了する前に次のバスリセットＹが発生したため、Device２に関する情報を保持したままである。一方、Device２では、バスリセットＸの処理を行ったため、Device１との切断が確認され、Device１に関する情報を削除している。
【００４９】
ここで、Device１では、上記ケース（１）と同様に、図７に示すような処理を実行する。図４に示すケース（２）においても、上記ステップＳ３においてDevice２と通信可能であると判断し、上記ステップＳ４においてＥＯＰを送信したと確認することにより、Device２に対してＥＯＰ（retry）のみを再送する（ステップＳ２４）。これにより、Device２では、プログラムｐ２によりデータ受信機能が実現され、ＥＯＰ（retry）を受信する（ステップＳ２５）。そして、このケース（２）においても、上記ケース（１）と同様に、Device２においてDevice１に関する情報を削除しているため、ＥＯＰ（retry）のみを受信してもメッセージ処理を行うことができない。そこで、Device２では、プログラムｐ２によりデータ廃棄機能が実現され、受信したＥＯＰ（retry）を廃棄する（捨てる）（ステップＳ２６）。
【００５０】
これにより、Device２で複数回同じメッセージを処理することを回避することができる。但し、ケース（２）では、ケース（１）の様にバスリセットＸが発生する前にメッセージ処理をしていないため、ＥＯＰ（retry）の再送処理を行っても、１つのメッセージ処理でさえ行うことができない。しかし、ケース（２）では、Device１の通信用アプリケーションでエラーが生じたと判断して、ＳＹＮＣ  ＳＦＰ(retry)から再送されるため、最終的にメッセージがDevice２へ送られることとなる。
【００５１】
続いて、図５を用いてケース（３）を説明する。このケース（３）は、上記ケース（１）と同様に、Device２がＥＯＰの受信確認データを送信後、Device１が受信確認データを受信する前にバスリセットＡが発生するが、Device２ではDevice１に関する情報を保持したケースである。
【００５２】
まず、Device１では、プログラムｐ１によりデータ送信機能が実現され、Device２へＳＹＮＣ  ＳＦＰ、ＢＯＰ、ＣＯＰを順次送信し、最後は図５に示すように、ＥＯＰを送信する（ステップＳ３１）。これによって、Device２では、プログラムｐ２によりデータ受信機能が実現され、ＥＯＰを受信する（ステップＳ３２）。また、Device２では、ＥＯＰまで受信したため、プログラムｐ２によりメッセージ処理機能が実現され、これまで受信した全てのバケットを組み立てて、１メッセージを作成する処理を行う（ステップＳ３３）。そして、Device２では、プログラムｐ２によりデータ送信機能が実現され、Device１へ受信確認データを送信する（ステップＳ３４）。
【００５３】
ここで、上記ケース（１）と同様に、Device１において受信確認データを受信する前に、図１に示す通信ケーブル３３が切断され、バスリセットＡが発生した（ステップＳ３５）。そして、短期間に通信ケーブル３３の再接続が行われ、バスリセットＢが発生した（ステップＳ３６）。このケース（３）では、バスリセットＡの処理が終了する前に次のバスリセットＢが発生したため、Device１では、Device２に関する情報を保持したままである。
【００５４】
また、Device２においても、バスリセットＡの処理が終了する前に次のバスリセットＢが発生したため、Device１に関する情報を保持したままである。即ち、Device１とDevice２の間の通信ケーブル３３が短期間で再接続されたことにより、Device２でバスリセットＡの処理が行われる前に、通信ケーブル３３の再接続によりバスリセットＢが発生したため、Device２では、Device０とDevice１が通信ネットワーク３０から一旦切断されたことを認識することができず、バスリセットＢの発生後のバスリセット処理の際には、Device０とDevice１が通信ネットワーク上に存在するため、Device２では、Device０とDevice１に関する情報（通信記録、デバイス０，１の情報）を削除しないことになる。
【００５５】
ここで、Device１では、上記ケース（１）と同様に、図７に示すような処理を実行する。図４に示すケース（２）においても、上記ステップＳ３においてDevice２と通信可能であると判断し、上記ステップＳ４においてＥＯＰを送信したと確認することにより、Device２に対してＥＯＰ（retry）のみを再送する（ステップＳ３７）。これにより、Device２では、プログラムｐ２によりデータ受信機能が実現され、ＥＯＰ（retry）を受信する（ステップＳ３８）。但し、このケース（３）においては、ケース（１）と異なり、Device２においてDevice１に関する情報を保持しているため、ＥＯＰ（retry）のみを受信しても、メッセージ処理を行わない。
【００５６】
これにより、Device２で複数回同じメッセージを処理することを回避することができる。
【００５７】
続いて、図６を用いてケース（４）を説明する。このケース（４）は、上記ケース（２）と同様に、Device１がＥＯＰを送信後、Device２がＥＯＰを受信する前にバスリセットＸが発生するが、上記ケース（３）と同様に、Device２ではDevice１に関する情報を保持したケースである。
【００５８】
まず、Device１では、プログラムｐ１によりデータ送信機能が実現され、Device２へＳＹＮＣ  ＳＦＰ、ＢＯＰ、ＣＯＰを順次送信し、最後に図６に示すように、ＥＯＰを送信する（ステップＳ４１）。
【００５９】
ここで、Device２においてＥＯＰを受信する前に、図１に示す通信ケーブル３３が切断され、バスリセットＸが発生した（ステップＳ４２）。そして、短期間に通信ケーブル３３の再接続が行われ、バスリセットＹが発生した（ステップＳ４３）。このケース（４）において、Device１では、上記ケース（１）と同様に、バスリセットＸの処理が終了する前に次のバスリセットＢが発生したため、Device２に関する情報を保持したままである。また、Device２においても、上記ケース（３）と同様に、バスリセットＸの処理が終了する前に次のバスリセットＹが発生したため、Device１に関する情報を保持したままである。
【００６０】
ここで、Device１では、上記ケース（１）と同様に、図７に示すような処理を実行する。図６に示すケース（４）においても、上記ステップＳ３においてDevice２と通信可能であると判断し、上記ステップＳ４においてＥＯＰを送信したと確認することにより、Device２に対してＥＯＰ（retry）のみを再送する（ステップＳ４４）。これにより、Device２では、プログラムｐ２によりデータ受信機能が実現され、ＥＯＰ（retry）を受信する（ステップＳ４５）。そして、このケース（４）においても、上記ケース（３）と同様に、Device２においてDevice１に関する情報を保持しているため、ＥＯＰ（retry）を受信すると、メッセージ処理を行う（ステップＳ４６）。
【００６１】
これにより、Device２で複数回同じメッセージを処理することを回避することができる。
【００６２】
以上説明したように、本実施形態によれば、Device１からDevice２へＥＯＰを送信した後にバスリセットが発生した場合には、ＥＯＰのみを再送し、ＥＯＰ以外のパケットを送信した後にバスリセットが発生した場合には、ＳＹＮＣ  ＳＦＰから再送するため、Device１からDevice２へ同じメッセージを複数回送信することを防止することができる。
【００６３】
尚、上記実施形態では、１つのメッセージ処理を行うために複数のパケットを送信する場合について説明したが、これに限らず、１つのメッセージ処理を行うために、１つのパケットを送信する場合であってもよい。但し、この場合には、Device２への送信前に、プログラムｐ１により、Device１（送信元）でパケット分割機能が実現され、１メッセージを２パケット又は３パケット以上に分割する必要がある。
【００６４】
また、上記実施形態では、ＥＯＰ以外のパケットの再送をする場合には、ＳＹＮＣ  ＳＦＰ（retry）から再送しているが、これに限らず、ＢＯＰ（retry）でシーケンス番号を送信元装置（Device１）と送信先装置（Device２）で一致させることにより、再送時にＳＹＮＣ  ＳＦＰ（retry）を省略して、ＢＯＰ（retry）から再送してもよい。このように、ＳＹＮＣ  ＳＦＰを省略してもよい理由は、以下に示す通りである。
【００６５】
即ち、シーケンス番号を使用する目的は、１メッセージを複数のパケットに分割したときに、ロストパケットを防ぐためである。よって、ＢＯＰ（retry）で常にシーケンス番号を同期させることにより、送信元装置（Device１）と送信先装置（Device２）のシーケンス番号を一致させることができるからである。また、ＥＯＰ（retry）だけを再送する場合には、送信元装置と送信先装置のシーケンス番号は一致しない可能性があるが、常にリトライフラグを調べることにより、ＥＯＰ（retry）がリトライフラグが設定されているという情報を保持している場合には、オリジナルシーケンス番号と受信済みパケットのシーケンス番号を比較すればよく、リトライフラグが設定されているという情報を保持していない場合には、そのＥＯＰを廃棄（捨てる）すればよい。このことから、図４に示すケース（２）の場合、即ち、ＥＯＰをバスリセットＸの前に処理しておらず、バスリセットＹの後には通信記録が削除されている場合のみ、メッセージの処理に失敗することになる。但し、この場合には、上述のように、送信元装置（Device１）の通信用アプリケーションでエラーが生じたと判断して、ＳＹＮＣ  ＳＦＰから再送されるため、最終的にはメッセージがDevice２へ送られることとなる。
【００６６】
また、再送時には、ＢＯＰだけにリトライフラグを設定するだけでなく、ＢＯＰ、ＣＯＰ及びＥＯＰの全てにリトライフラグを設定してもよい。
【００６７】
更に、ＢＯＰとＥＯＰのみにリトライフラグを設定してもよい。このような場合が生じるのは、送信元装置（Device１）からＥＯＰを送信中にバスリセットが発生して、ＥＯＰ（retry）だけを再送する場合、及び、ＢＯＰ又はＣＯＰの送信中にバスリセットが発生して、ＢＯＰ（retry）から再送する場合である。
【００６８】
また、上記実施形態では、ＩＥＥＥ１３９４規格の通信ケーブルを使用する場合について説明したが、これに限らず、ホットプラグをサポートしたDeviceにおいて有効な通信技術であれば、ＵＳＢ（Universal Serial Bus）の通信ケーブルを使用してもよく、また、通信ケーブルを使用せずに、光無線等で通信を行ってもよい。
【００６９】
【発明の効果】
以上説明したように、本発明によれば、通信装置から他の通信装置へ最後のパケットを送信した後にバスリセットが発生した場合には、最後のパケットのみを再送し、最後のパケット以外のパケットを送信した後にバスリセットが発生した場合には、最初に送信したパケットから再送するため、通信装置から他の通信装置へ同じメッセージを複数回送信することを防止することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る通信システムの全体構成図。
【図２】図１に示す通信システムにおいて、通信ケーブル３３が切断された状態を示した図。
【図３】本実施形態に係る通信システムのデータ通信を４つのケースに分けて示したデータ・処理フロー図のうち、ケース（１）を示した図。
【図４】本実施形態に係る通信システムのデータ通信を４つのケースに分けて示したデータ・処理フロー図のうち、ケース（２）を示した図。
【図５】本実施形態に係る通信システムのデータ通信を４つのケースに分けて示したデータ・処理フロー図のうち、ケース（３）を示した図。
【図６】本実施形態に係る通信システムのデータ通信を４つのケースに分けて示したデータ・処理フロー図のうち、ケース（４）を示した図。
【図７】  Device１における動作及び処理を示した処理フロー図。
【図８】従来のホットプラグ対応の通信システムの全体構成図。
【図９】図８に示す通信システムにおいて、通信ケーブル１１３が切断された状態を示した図。
【図１０】従来の通信システムにおけるデータ通信を示したデータ・処理フロー図（ＣＯＰを送信している場合）。
【図１１】従来の通信システムにおけるデータ通信を示したデータ・処理フロー図（ＥＯＰを送信している場合）。
【符号の説明】
０  Device（ホットプラグ対応の他の通信装置）
１  Device（ホットプラグ対応の通信装置）
２  Device（ホットプラグ対応の他の通信装置）
３  Device（ホットプラグ対応の他の通信装置）
１０  ＣＰＵ
１１  ＲＯＭ
１２  メモリ（メインメモリ）
１３  ＨＤＤ
１４  通信インタフェース
１５  各種機能部（録画機能、再生機能、モニタ表示機能等の各種機能を実現する装置部分）
１６  バスライン
３０  通信ネットワーク
３１  通信ケーブル
３２  通信ケーブル
３３  通信ケーブル
３４  通信ケーブル
３５  通信ケーブル
ｆ１  バスリセット情報受信機能（バスリセット情報受信手段）
ｆ２  再構築機能（再構築手段）
ｆ３  通信可能判断機能（通信可能判断手段）
ｆ４  パケット種類確認機能（パケット種類確認手段）
ｆ５  パケット再送機能（パケット再送手段）
ｐ１  （Device１にインストールされる）プログラム
ｐ２  （Device２にインストールされる）プログラム
【図１】
0004003421.tif 000002
【図２】
0004003421.tif 000003
【図３】
0004003421.tif 000004
【図４】
0004003421.tif 000005
【図５】
0004003421.tif 000006
【図６】
0004003421.tif 000007
【図７】
0004003421.tif 000008
【図８】
0004003421.tif 000009
【図９】
0004003421.tif 000010
【図１０】
0004003421.tif 000011
【図１１】
0004003421.tif 000012