(57)【要約】【課題】送信装置が冗長経路にデータパケットを送信すると、受信装置が全てのデータパケットを受信するまでに時間を要することがある。【解決手段】送信装置１０Ａが備えるデータパケット生成部６１は、入力したデータをデータパケットに分割し、データパケットの送信順序を示す情報をデータパケットに付与する。冗長データ送信順序制御部６２は、データパケットを複製して冗長化し、冗長化されたデータパケットを受信装置に送信するための送信順序を入れ替え、受信装置までの冗長経路毎に異なる送信順序としたデータパケットを送信バッファ６３ａ，６３ｂに記録する。そして、送信処理部６４ａ，６４ｂは、入れ替えられた送信順序に従って送信バッファから読み出したデータパケットを、第１及び第２経路にそれぞれ送信する。【選択図】図７
2015097349.tif 000002
【特許請求の範囲】
【請求項１】
入力したデータを第１の分割データに分割し、前記データにおける前記第１の分割データの順序を示す情報を前記第１の分割データに付与する第１の分割データ生成部と、
前記第１の分割データを複製して冗長化し、冗長化された前記第１の分割データの送信順序を入れ替え、受信装置までの冗長経路毎に異なる送信順序とした前記第１の分割データを送信バッファに記録する送信順序制御部と、
前記送信バッファから読み出した前記第１の分割データを、入れ替えられた前記送信順序に従って前記冗長経路にそれぞれ送信する送信処理部と、を備える
送信装置。
【請求項２】
前記送信順序制御部は、前記冗長経路のうち、一の経路には前記第１の分割データを元の順序のままの送信順序とし、他の経路には冗長化された前記第１の分割データを元の順序とは逆順による送信順序とする
請求項１記載の送信装置。
【請求項３】
前記送信順序制御部は、元の順序のままの前記第１の分割データを前記冗長経路に交互に割り当てる送信順序とし、冗長化され、元の順序とは逆順に入れ替えられた前記第１の分割データを、前記冗長経路に交互に割り当てる送信順序とする
請求項１記載の送信装置。
【請求項４】
前記送信順序制御部は、前記冗長経路のそれぞれに特定の前記第１の分割データを優先して送信する送信順序とし、特定の前記第１の分割データ以外の前記第１の分割データについて、一の経路には前記第１の分割データを元の順序のままの送信順序とし、他の経路には冗長化された前記第１の分割データを元の順序とは逆順による送信順序とする
請求項１記載の送信装置。
【請求項５】
前記送信順序制御部は、
前記第１の分割データが伝送される冗長経路に合わせて前記第１の分割データを複製して冗長化した前記第１の分割データを順序入替バッファに記録する冗長化部と、
前記順序入替バッファから読み出した前記第１の分割データの送信順序を入れ替える制御を行う順序制御部と、を備える
請求項２記載の送信装置。
【請求項６】
さらに、前記冗長経路のうち、一の経路から前記受信装置が前記第１の分割データを受信したことを示す受信応答パケットを受け取ると、前記受信応答パケットで示された前記第１の分割データを前記送信バッファから破棄する送信バッファ制御部を備える
請求項２記載の送信装置。
【請求項７】
前記送信順序制御部は、冗長化された前記第１の分割データ毎に異なる経路情報を前記第１の分割データに付与して前記順序入替バッファに記録する経路制御部を備え、
前記送信処理部は、前記経路情報に基づいて、前記第１の分割データを前記冗長経路に送信する
請求項２記載の送信装置。
【請求項８】
さらに、前記第１の分割データ生成部から受け取った前記第１の分割データを第２の分割データに分割し、前記第２の分割データ毎に、前記第２の分割データの分割数と、第２の分割データ長と、前記第２の分割データが前記第１の分割データの何番目に位置するかを示す分割番号のうち、１個以上の情報を含む第２の分割データ情報を付与した前記第２の分割データを前記冗長化部に渡し、かつ、前記第２の分割データ情報を前記順序制御部に通知する第２の分割データ生成部を備え、
前記順序制御部は、前記第２の分割データ情報に従って、前記第２の分割データの送信順序を入れ替える
請求項５記載の送信装置。
【請求項９】
さらに、前記冗長経路毎に前記第２の分割データの受信応答時間を測定し、前記冗長経路毎の受信応答時間から第２の分割データの分割数若しくは分割後の第２の分割データの長さのいずれか、又は両方を含む分割パラメータを前記第２の分割データ生成部に通知する分割パラメータ通知部を備え、
前記第２の分割データ生成部は、前記分割パラメータに基づいて、前記第１の分割データを第２の分割データに分割する
請求項８記載の送信装置。
【請求項１０】
前記分割パラメータ通知部は、受信応答時間が短い経路の受信応答時間と、受信応答時間が長い経路の受信応答時間との比を繰り上げた数に所定数を加えた数を前記分割数にする
請求項９記載の送信装置。
【請求項１１】
前記分割パラメータ通知部は、前記冗長経路毎の受信応答時間の差が小さければ、前記第１の分割データの先頭及び末尾付近の前記第２の分割データのパケット長を長くし、前記先頭及び末尾以外の前記第２の分割データのパケット長を短くし、前記冗長経路毎の受信応答時間の差が大きければ、前記第１の分割データの先頭及び末尾付近の前記第２の分割データのパケット長を長くし、前記先頭及び末尾以外の前記第２の分割データの第２の分割データ長を長くする
請求項９記載の送信装置。
【請求項１２】
第１の分割データ生成部が、入力したデータを第１の分割データに分割し、前記第１の分割データの順序を示す情報を前記第１の分割データに付与するステップと、
送信順序制御部が、前記第１の分割データを複製して冗長化するステップと、
前記送信順序制御部が、冗長化された前記第１の分割データの送信順序を入れ替えるステップと、
前記送信順序制御部が、前記第１の分割データを送信バッファに記録するステップと、
送信処理部が、前記送信バッファから読み出した前記第１の分割データを、入れ替えられた前記送信順序に従って受信装置まで至る冗長経路にそれぞれ送信するステップと、を有する
通信制御方法。
【請求項１３】
送信装置と、受信装置と、前記送信装置及び前記受信装置の間の冗長経路に設けられる中継装置と、を備え、
前記送信装置は、
入力したデータを第１の分割データに分割し、前記第１の分割データの順序を示す情報を前記第１の分割データに付与する第１の分割データ生成部と、
前記第１の分割データを複製して冗長化し、冗長化された前記第１の分割データの送信順序を入れ替え、前記冗長経路毎に異なる送信順序とした前記第１の分割データを送信バッファに記録する送信順序制御部と、
前記送信バッファから読み出した前記第１の分割データを、入れ替えられた前記送信順序に従って前記冗長経路にそれぞれ送信する送信処理部と、を有し、
前記中継装置は、
前記冗長経路のうち、一の経路から受信した前記第１の分割データを中継し、既に中継した前記第１の分割データと同じ内容の前記第１の分割データを他の経路から受信すると、前記他の経路から受信した前記第１の分割データを破棄する中継処理部を有し、
前記受信装置は、
前記冗長経路のうち、前記一の経路を介して先着した前記第１の分割データを受信バッファに記録する受信処理部と、
前記冗長経路のうち、前記他の経路を介して後着した前記第１の分割データを破棄する後着破棄処理部と、
前記受信バッファから読み出した前記第１の分割データを、前記第１の分割データの順序を示す情報に従って元の順序に入れ替えた前記データを出力する順序入替部と、を有する
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長経路にデータを伝送する場合に適用して好適な送信装置、通信制御方法及び通信システムに関する。
【背景技術】
【０００２】
従来、高い信頼性を要求される通信システムでは、機器の故障や通信不具合が発生した場合にも送信装置から受信装置にデータが確実に伝送されることが求められる。そして、リアルタイム性が要求される用途では、冗長化した複数の経路（以下、「冗長経路」とも呼ぶ）に同じデータを伝送するための伝送方式が用いられる。この伝送方式として、例えば、電力系統監視制御通信システムでは、ＨＳＲ（High-availability Seamless Redundancy）やＰＲＰ（Parallel Redundancy Protocol）が提案されている。また、送信装置と受信装置の間を一対の専用線で接続することにより経路を冗長化する伝送方式も提案されている。
【０００３】
図２１は、従来の冗長経路を用いてデータパケットを伝送する通信システム１００の構成例を示す概略図である。
【０００４】
通信システム１００は、不図示の処理装置から入力したデータを分割して生成したデータパケットを送信する送信装置１０１と、受信したデータパケットを元のデータに再構成する受信装置１０２とを備える。送信装置１０１は、入力したデータを４分割した同じサイズのデータパケットを生成し、これらのデータパケットを複製する複製ブロック１０１ａを備える。受信装置１０２は、第１又は第２経路のいずれかから先着したデータパケットを受信処理し、後着したデータパケットを破棄するセレクタブロック１０２ａを備える。通信システム１００で用いられる伝送方式では、送信装置１０１と受信装置１０２の間が冗長経路である第１及び第２経路によって接続されている。第１及び第２経路には、例えば専用線とした通信ケーブルが用いられている。
【０００５】
送信装置１０１は、入力したデータを複数のデータパケットに分割し、複製した後、第１及び第２経路に複製したデータパケットを送信する。このデータパケットは、いずれも同じデータサイズとしてある。各データパケットには、元のデータにおける並び順を示す情報として、＃１〜＃４が付されており、第１及び第２経路にはそれぞれデータパケット＃１から順にデータパケット＃４まで伝送される。そして、図２１では、第２経路に送信されたデータパケットが第１経路に送信されたデータパケットよりもわずかに早く受信装置１０２に到着することが示される。
【０００６】
受信装置１０２は、受信したデータパケットを元の順序に入れ替えて再構成したデータを後続にある不図示の処理装置に転送する。ここで、第１及び第２経路には、送信装置１０１、受信装置１０２の他にも、データパケットを中継するための不図示の中継装置等が設置される場合がある。そして、一方の経路に配置された中継装置が故障したり、通信ケーブルの一部が断線したりといった障害が発生することがある。しかし、冗長経路に同じ内容のデータパケットが伝送されるため、他方の経路からデータパケットの伝送を継続することができる。そして、受信装置１０２は、第１又は第２経路のいずれかでデータパケットを受信可能であるため、データパケットに欠落が生じる可能性を低めることができる。このように従来の通信システム１００であっても、冗長経路に伝送されたデータパケットを再構築することに関して高い信頼性を確保することができる。
【０００７】
特許文献１には、端末装置が複数のネットワーク経路からおのおのマルチキャストデータを先着優先で受信し、要求プロセスへ受け渡し、後着のマルチキャストデータは破棄する方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−２８２２９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、特許文献１に開示された技術を用いると、送信装置が複数のデータを送信する際、受信装置が全てのデータを受信するまで受信装置は受信待ち状態となるため、データの伝送遅延が発生することがある。
【００１０】
また、通信システム１００のように専用線を敷設して第１及び第２経路を構成するとシステム構築費用が増大する。このため、上述したＨＳＲやＰＲＰを利用してネットワーク化してデータパケットを伝送することが検討されている。しかし、ネットワークには、複数の送信装置と複数の受信装置間のデータが伝送されているため、第１及び第２経路の通信帯域が逼迫しやすく、データパケットの伝送遅延が発生することがあった。
【００１１】
本発明はこのような状況に鑑みて成されたものであり、冗長経路に伝送されるデータの伝送遅延を低減することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、第１の分割データ生成部が、入力したデータを第１の分割データに分割し、データにおける第１の分割データの順序を示す情報を第１の分割データに付与する。
送信順序制御部が、第１の分割データを複製して冗長化し、冗長化された第１の分割データを受信装置に送信するための送信順序を入れ替え、受信装置までの冗長経路毎に異なる送信順序とした第１の分割データを送信バッファに記録する。
そして、送信処理部が、送信バッファから読み出した第１の分割データを、入れ替えられた送信順序に従って前記冗長経路にそれぞれ送信するものである。
【発明の効果】
【００１３】
本発明によれば、送信装置が送信順序を入れ替えて冗長経路に送信した第１の分割データを受信装置が各経路から受信して元の順序に戻してデータを再構成することが可能であるため、データの送受信に生じる伝送遅延を低減することができる。
なお、本発明に関連する更なる特徴、作用、効果は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る送信装置と受信装置の間に第１及び第２の経路を配置した通信システムの概略構成（例１）を示すシステム構成図である。
【図２】本発明の第１の実施形態に係る複数の送信装置及び複数の受信装置の間に第１及び第２経路を配置した通信システムの概略構成（例２）を示すシステム構成図である。
【図３】本発明の第１の実施形態に係るリング型の通信システムの概略構成（例３）を示すシステム構成図である。
【図４】本発明の第１の実施形態に係る送信装置と受信装置の間に第１〜第ｎ経路を配置した通信システムの概略構成（例４）を示すシステム構成図である。
【図５】本発明の第１の実施形態に係る通信システムが用いられる変電所通信システムの概略構成を示す図である。
【図６】本発明の第１の実施形態に係る計算機のハードウェア構成例を示すブロック図である。
【図７】本発明の第１の実施形態に係る送信装置の概略内部構成を示すブロック図である。
【図８】本発明の第１の実施形態に係る受信装置の概略内部構成を示すブロック図である。
【図９】本発明の第１の実施形態に係るデータパケットのパケットフォーマットの例を示す概略図である。
【図１０】本発明の第１の実施形態に係る送信装置が正順と逆順でデータパケットを第１及び第２経路に送信する方法の例を示す概略図である。
【図１１】本発明の第１の実施形態に係る第１及び第２経路に伝送されるデータパケットの例を示す概略図である。
【図１２】本発明の第２の実施形態に係る送信装置が第１及び第２経路に交互かつ正順及び逆順でデータパケットを送信する方法の例を示す概略図である。
【図１３】本発明の第３の実施形態に係る送信装置が特定のデータパケットを優先して送信し、かつ特定のデータパケット以外のデータパケットを正順と逆順で送信する方法の例を示す概略図である。
【図１４】本発明の第４の実施形態に係る複数送信バッファ制御部を備えた送信装置の概略内部構成を示すブロック図である。
【図１５】本発明の第５の実施形態に係る中継装置の概略内部構成を示すブロック図である。
【図１６】本発明の第６の実施形態に係る送信装置の概略内部構成を示すブロック図である。
【図１７】本発明の第７の実施形態に係るフラグメントパケット生成部を備えた送信装置の概略内部構成を示すブロック図である。
【図１８】本発明の第８の実施形態に係るフラグメントパラメータをフラグメントパケット生成部に通知するフラグメントパラメータ通知部を備える送信装置の概略内部構成を示すブロック図である。
【図１９】本発明の第８の実施形態に係る送信装置が経路毎の受信応答時間の比に応じて同じ長さのパケット長としたフラグメントパケットの送信方法の例を示す概要図である。
【図２０】本発明の第８の実施形態に係る送信装置が経路毎の受信応答時間の差に応じてパケット長を異ならせたフラグメントパケットの送信方法の例を示す概要図である。
【図２１】従来の冗長経路を用いてデータパケットを伝送する通信システムの構成例を示す概略図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装、形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成、構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。また、本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
【００１６】
［１．第１の実施形態］
＜通信システムの構成＞
始めに、本発明の各実施形態に係る送信装置、中継装置及び受信装置によって構成される様々な通信システムの概略構成について、図１〜図４を参照して説明する。なお、図１〜図４に示す送信装置及び受信装置の詳細な内部構成例と通信制御方法は、後述する図７以降で説明する。
【００１７】
図１は、送信装置と受信装置の間に第１及び第２の経路を配置した通信システム１Ａの概略構成（例１）を示す。
【００１８】
まず、通信システム１Ａのシステム構成例を説明する。
通信システム１Ａは、１台の送信装置１０と、１台の受信装置２０と、４台の中継装置３０ａ〜３０ｄを有する。以下、中継装置３０ａ〜３０ｄを区別しない場合は、中継装置３０と総称する。送信装置１０と受信装置２０の間は二重化された第１及び第２の経路によって接続されている。なお、送信装置１０及び受信装置２０は、複数台で構成してもよいし、中継装置３０は、１〜３台、又は５台以上で構成してもよい。
【００１９】
送信装置１０と受信装置２０の間における通信距離が長いとデータパケット（第１の分割データの一例）のデータ信号が減衰し、受信装置２０が信号を正確に読み取ることができない。このため、通信システム１Ａでは、第１及び第２経路の構築場所に合わせて、第１経路（一の経路）には２台の中継装置３０ａ，３０ｂが設置され、第２経路（他の経路）には２台の中継装置３０ｃ，３０ｄが設置される。
ただし、第１及び第２経路でデータ信号が減衰しても受信装置２０が十分にデータ信号を読取り可能であれば、中継装置３０を設置せず、送信装置１０と受信装置２０だけの最小限の構成として通信システム１Ａを構成してもよい。
【００２０】
次に、各装置の動作例を説明する。
送信装置１０は、不図示のセンサ又は処理装置等から入力したデータを複数個のデータパケットに分割し、このデータパケットを複製して冗長化した後、第１及び第２経路に送信する。
【００２１】
第１経路に設けられた中継装置３０ａ，３０ｂは、送信装置１０から受信したデータパケットを受信装置２０へ中継する。同様に、第２経路に設けられた中継装置３０ｃ，３０ｄは、送信装置１０から受信したデータパケットを受信装置２０へ中継する。
【００２２】
受信装置２０は、第１及び第２経路からそれぞれ受信したデータパケットの誤り検査等の受信処理を行う。そして、受信装置２０は、受信したデータパケットが同一内容であれば、先着したデータパケットを用いてデータを再構成すると共に、後着したデータパケットを破棄する。
【００２３】
なお、通信システム１Ａの第１及び第２の経路の途中には、それぞれミラーポートハブ２ａ，２ｂが取付けられており、ミラーポートハブ２ａ，２ｂはデータパケットを解析可能なアナライザ３に接続されている。ミラーポートハブ２ａ，２ｂは、各経路に伝送されるデータパケットを複製してアナライザ３に送信する機能を有する。アナライザ３は、ミラーポートハブ２ａ，２ｂから受信したデータパケットを解析して得た、データパケットの構成、データパケットの送信順序、第１及び第２の経路の通信帯域の利用状況、第１及び第２の経路の伝送遅延の状況等をユーザ等に通知可能である。
【００２４】
図２は、複数の送信装置及び複数の受信装置の間に第１及び第２経路を配置した通信システム１Ｂの概略構成（例２）を示す。
【００２５】
通信システム１Ｂは、３台の送信装置１０ａ〜１０ｃと、３台の受信装置２０ａ〜２０ｃの他に、２台の集約中継装置４ａ，４ｂと、２台の分配中継装置５ａ，５ｂを有し、ＰＲＰを利用してデータパケットを送受信することが可能である。以下、送信装置１０ａ〜１０ｃを区別しない場合は、送信装置１０と総称し、受信装置２０ａ〜２０ｃを区別しない場合は、受信装置２０と総称する。同様に、２台の集約中継装置４ａ，４ｂと、２台の分配中継装置５ａ，５ｂを区別しない場合は、中継装置３０と総称する。
【００２６】
また、第１経路に配置された集約中継装置４ａと分配中継装置５ａの間にミラーポートハブ２ａが設けられ、第２経路に配置された集約中継装置４ｂと分配中継装置５ｂの間にミラーポートハブ２ｂが設けられる。そして、ミラーポートハブ２ａ，２ｂにアナライザ３が接続される。なお、送信装置１０及び受信装置２０は、それぞれ１〜２台、又は４台以上で構成してもよい。
【００２７】
集約中継装置４ａは、各送信装置１０から受信したデータパケットを集約し、データパケットに付された送信順序等に基づいてデータパケットを分配中継装置５ａに中継する。
分配中継装置５ａは、集約中継装置４ａから受信したデータパケットを宛先となる受信装置２０に分配する。
なお、第２経路に配置された集約中継装置４ｂ、分配中継装置５ｂについても、上述した集約中継装置４ａ、分配中継装置５ａと同様の動作を行う。
これにより、受信装置２０は、第１又は第２経路のいずれかから中継装置３０を介して受信したデータを再構成することができる。
【００２８】
例えば、送信装置１０ａが受信装置２０ｂを宛先として第１経路に送信したデータパケットは、集約中継装置４ａ，分配中継装置５ａを経由して受信装置２０ｂに到着する。一方、送信装置１０ａが第２経路に送信したデータパケットは、集約中継装置４ｂ，分配中継装置５ｂを経由して受信装置２０ｂに到着する。そして、受信装置２０ｂは、第１又は第２経路のいずれかから先着したデータパケットを用いてデータの再構成を行う。
【００２９】
図３は、リング型の通信システム１Ｃの概略構成（例３）を示す。
【００３０】
通信システム１Ｃは、３台の送信装置１０ａ〜１０ｃと、３台の受信装置２０ａ〜２０ｃと、４台の中継装置３０ａ〜３０ｄを有し、ＨＳＲを利用して受信装置２０にデータパケットを送信可能である。また、上述した通信システム１Ａと同様に、中継装置３０ａ，３０ｂの間にミラーポートハブ２ａが設けられ、中継装置３０ｃ，３０ｄの間にミラーポートハブ２ｂが設けられ、各ミラーポートハブ２ａ，２ｂはアナライザ３に接続される。
なお、送信装置１０及び受信装置２０は、それぞれ１〜２台、又は４台以上で構成してもよく、中継装置３０は、１〜３台、又は５台以上で構成してもよい。
【００３１】
送信装置１０は、冗長化したデータパケットを第１及び第２経路に送信する。通信システム１Ｃにおける第１及び第２の経路とは、通信システム１Ｃの各装置について、データパケットの送信元である送信装置１０から、データパケットの宛先である受信装置２０までの経路のうち、右回りを第１経路とし、左回りを第２経路としている。また、送信装置１０、受信装置２０は、データパケットを複製して冗長化する機能だけでなく、他の送信装置１０から受信したデータパケットを、データパケットの宛先である受信装置２０に中継する機能も有している。データパケットを中継する際に送信装置１０、受信装置２０は、データパケットを複製、及び送信順序を入れ替える機能をバイパスする。
【００３２】
そして、受信装置２０は、第１及び第２経路からデータパケットを受信する機能だけでなく、他の中継装置３０又は受信装置２０から受信したデータパケットを、データパケットの宛先である受信装置２０に中継する機能も有している。そして、受信装置２０は、自装置宛に同一内容のデータパケットを受信した場合は、それぞれデータパケットを受信処理した後、先着したデータを再構成し、後着したデータパケットを破棄する。
【００３３】
例えば、図３に示すように、送信装置１０ａが受信装置２０ｂを宛先として第１経路に送信したデータパケットは、第１経路に設けられた２台の中継装置３０ａ，３０ｂと受信装置２０ａを経由して宛先の受信装置２０ｂに到着する。一方、送信装置１０ａが第２経路に送信したデータパケットは、２台の送信装置１０ｂ，１０ｃと、２台の中継装置３０ｃ，３０ｄと、受信装置２０ｃを経由して宛先の受信装置２０ｂに到着する。そして、宛先の受信装置２０ｂは、第１又は第２経路のいずれかから先着したデータパケットを用いてデータの再構成を行う。
【００３４】
図４は、送信装置と受信装置の間に第１〜第ｎ経路（ｎは２以上の整数）を配置した通信システム１Ｄの概略構成（例４）を示す。
【００３５】
通信システム１Ｄは、１台の送信装置１０と、１台の受信装置２０と、多数台の中継装置３０ａ〜３０ｈを有する。以下、中継装置３０ａ〜３０ｈを区別しない場合は、中継装置３０と総称する。送信装置１０と中継装置３０ａの間、中継装置３０ｈと受信装置２０の間には１本の経路が構成される。そして、中継装置３０ａ，３０ｈの間には複数経路（第１〜第ｎ経路）が構成されている。
【００３６】
第１経路は、中継装置３０ｂ，３０ｃを一組としたものであり、第２経路は、中継装置３０ｄ，３０ｅを一組としたものであり、第ｎ経路は、中継装置３０ｆ，３０ｇを一組としたものである。そして、第１経路にある中継装置３０ｂ，３０ｃの間にミラーポートハブ２ａが取付けられ、第２経路にある中継装置３０ｄ，３０ｅの間にミラーポートハブ２ｂが取付けられ、第ｎ経路にある中継装置３０ｆ，３０ｇの間にミラーポートハブ２ｎが取付けられる。ミラーポートハブ２ａ〜２ｃは、複製したデータパケットをアナライザ３に送信し、アナライザ３は各経路を伝送されるデータパケットを解析可能である。
【００３７】
送信装置１０は、データパケットをｎ組に複製して冗長化し、各データパケットを送信する経路を指定する経路情報をデータパケットに付与する。そして、送信装置１０は、中継装置３０ａにｎ組のデータパケットを順番に送信する。
【００３８】
中継装置３０ａは、送信装置１０から受信したデータパケットの経路情報に従って、ｎ組のデータパケットを、第１〜第ｎ経路に設置された各中継装置３０ｂ，３０ｄ，３０ｆに中継する。中継装置３０ｂ，３０ｄ，３０ｆは、各経路の後続の中継装置３０ｃ，３０ｅ，３０ｇにデータパケットを中継する。さらに、中継装置３０ｃ，３０ｅ，３０ｇは、中継装置３０ｈに各データパケットを中継し、中継装置３０ｈは、受信装置２０にｎ組のデータパケットを送信する。
【００３９】
受信装置２０は、中継装置３０ｈからｎ組のデータパケットを受信する。ここで、受信装置２０は、受信したｎ組のデータパケットを受信処理した後、ｎ組のデータパケットのうち、先着したデータを再構成し、先着したデータパケットと同一内容である後着のデータパケットを破棄する。
【００４０】
このため、図４に示すように、送信装置１０が受信装置２０を宛先として第１経路に送信したデータパケットは、中継装置３０ａ，３０ｂ，３０ｃ，３０ｈを経由して受信装置２０ｂに到着する。送信装置１０が第２経路に送信したデータパケットは、中継装置３０ａ，３０ｄ，３０ｅ，３０ｈを経由して受信装置２０ｂに到着する。同様に、送信装置１０が第ｎ経路に送信したデータパケットは、中継装置３０ａ，３０ｆ，３０ｇ，３０ｈを経由して受信装置２０ｂに到着する。そして、受信装置２０は、第１〜第ｎ経路のいずれかから先着したデータパケットを用いてデータの再構成を行う。
【００４１】
図５は、本発明の各実施形態に係る通信システムが用いられる変電所通信システム４０の概略構成を示す図である。
【００４２】
変電所通信システム４０は、１台以上のマージングユニット（ＭＵ：Merging Unit）４１ａ〜４１ｄと、プロセスバス４２を有する。また、変電所通信システム４０は、１台以上のインテリジェント電子装置（ＩＥＤ：Intelligent Electronic Device）４３ａ〜４３ｄと、ステーションバス４４と、監視制御装置４５と、システムマネージャー４６を有する。なお、図５では、データ通信に関係が少ない各種装置、例えば、通常、マージングユニット４１ａ〜４１ｄに接続されるセンサやアクチュエータの記載は省略している。
【００４３】
マージングユニット４１ａ〜４１ｄ、インテリジェント電子装置４３ａ〜４３ｄ、監視制御装置４５及びシステムマネージャー４６は、それぞれデータパケットの送信、受信及び中継を行うことが可能である。これらの装置のいずれかがデータパケットを送信する場合には、図１〜図４に記載した送信装置１０に相当する動作を行い、データパケットを受信する場合には、図１〜図４に記載した受信装置２０に相当する動作を行う。また、これらの装置がデータパケットを中継する場合には、図１〜図４に記載した中継装置３０に相当する動作を行う。
【００４４】
マージングユニット４１ａ〜４１ｄは、不図示のセンサから取得した不図示の機器等の計測データや、バルブの開閉状態等の機器等の状態を示すデータを分割してデータパケットを生成し、プロセスバス４２にデータパケットを送信する。また、マージングユニット４１ａ〜４１ｄは、機器の制御情報を含むデータパケットを受信すると、受信したデータパケットの制御情報に応じた制御信号を不図示の機器等に出力する。
【００４５】
インテリジェント電子装置４３ａ〜４３ｄは、マージングユニット４１ａ〜４１ｄからプロセスバス４２を介して受信したデータパケットを、ステーションバス４４を介して監視制御装置４５やシステムマネージャー４６に送信する。また、インテリジェント電子装置４３ａ〜４３ｄは、監視制御装置４５からステーションバス４４を介して受信した機器の設定情報、緊急制御情報等を、プロセスバス４２を介してマージングユニット４１ａ〜４１ｄに送信する。
【００４６】
監視制御装置４５は、インテリジェント電子装置４３ａ〜４３ｄとの間で、計測データや機器の状態を含むデータパケットを受信したり、機器の設定情報を含むデータパケットを送受信したり、緊急制御情報を受信したりする。
システムマネージャー４６は、インテリジェント電子装置４３ａ〜４３ｄとの間で、機器の設定情報を含むデータパケットを送信したり、機器の状態情報を含むデータパケットを受信したりする。
【００４７】
［計算機のハードウェア構成例］
図６は、計算機５０のハードウェア構成例を示す。
【００４８】
ここでは、上述した通信システム１Ａ〜１Ｄに示された送信装置１０、受信装置２０、中継装置３０を構成する計算機５０のハードウェア構成を説明する。なお、マージングユニット４１ａ〜４１ｄ、インテリジェント電子装置４３ａ〜４３ｄ、監視制御装置４５、システムマネージャー４６及びアナライザ３についても計算機５０と同様のハードウェア構成としている。ただし、各装置の機能、使用目的に合わせて計算機５０の各部は取捨選択される。
【００４９】
計算機５０は、いわゆるコンピュータとして用いられるハードウェアである。計算機５０は、バス５４にそれぞれ接続されたＣＰＵ（Central Processing Unit）５１、ＲＯＭ（Read Only Memory）５２、ＲＡＭ（Random Access Memory）５３を備える。さらに、計算機５０は、表示部５５、操作部５６、不揮発性ストレージ５７、ネットワークインターフェース５８を備える。
【００５０】
ＣＰＵ５１は、本実施形態に係る各機能を実現するソフトウェアのプログラムコードをＲＯＭ５２から読み出して実行する。ＣＰＵ５１は、データを分割してデータパケットを生成したり、データパケットの送信順序を入れ替えて送信したり、受信したデータパケットの送信順序を入れ替えて元のデータを復元したり、データパケットを中継することが可能である。なお、ＣＰＵ５１の代わりに、ＭＰＵ（Micro-Processing Unit）等の処理装置を備えるようにしてもよい。
【００５１】
ＲＡＭ５３には、演算処理の途中に発生した変数やパラメータ、受信又は送信するデータパケット等が一時的に書き込まれる。本実施形態では、各種のバッファ等にＲＡＭ５３が用いられる。表示部５５には、例えば、液晶ディスプレイモニタが用いられ、計算機５０で行われる処理の結果等をユーザに表示する。操作部５６には、例えば、キーボード、マウス等が用いられ、ユーザが所定の操作入力を行うことが可能である。
【００５２】
不揮発性ストレージ５７には、例えば、ＨＤＤ（Hard disk drive）等が用いられる。この不揮発性ストレージ５７には、ＯＳ（Operating System）、各種のパラメータの他に、計算機５０を機能させるためのプログラムが記録されている。ネットワークインターフェース５８には、例えば、ＮＩＣ（Network Interface Card）等が用いられ、端子が接続されたＬＡＮ、通信ケーブルを介してネットワークに各種のデータを送受信することが可能である。
【００５３】
＜送信装置の内部構成＞
次に、本発明の第１の実施形態に係る送信装置及び受信装置の内部構成について説明する。以下に示す送信装置及び受信装置は、上述した通信システム１Ａ〜１Ｄのいずれにも用いることが可能である。
【００５４】
図７は、本発明の第１の実施形態に係る送信装置１０Ａの概略内部構成を示す。
【００５５】
送信装置１０Ａは、データパケット生成部６１と、冗長データ送信順序制御部６２と、送信バッファ６３ａ，６３ｂと、送信処理部６４ａ，６４ｂと、インターフェース６５ａ，６５ｂを有する。
【００５６】
データパケット生成部６１（第１の分割データ生成部の一例）は、送信装置１０Ａに入力したデータを分割してデータパケットを生成し、冗長データ送信順序制御部６２に生成したデータパケットを転送する。データパケット生成部６１は、データパケットの生成時に、元のデータにおけるデータパケットの順序を示す情報（例えば、シーケンス番号で示されるデータパケットの並び順）を各データパケットに付与する。
【００５７】
冗長データ送信順序制御部６２は、冗長化されたデータパケットの送信順序を入れ替える制御（以下、「順序制御」とも呼ぶ）を実施し、受信装置２０までの冗長経路毎にデータパケットを異なる送信順序とする。ここで、冗長データ送信順序制御部６２は、冗長化部６６と、順序入替バッファ６７ａ，６７ｂと、順序制御部６８ａ，６８ｂを有する。
【００５８】
冗長化部６６は、冗長データ送信順序制御部６２に転送されたデータパケットを冗長経路に合わせて複製し、複製したデータパケット（冗長データの一例）を、それぞれ順序入替バッファ６７ａ，６７ｂに記録する冗長化処理を行う。順序制御部６８ａ，６８ｂは、順序入替バッファ６７ａ，６７ｂから読み出したデータパケットの順序制御を実施する。このとき、順序制御部６８ａ，６８ｂは、送信装置１０Ａの外部にあるコンピュータ装置等から入力される外部からの設定値によって設定された順序入替範囲と順序入替方法に従って、順序入替バッファ６７ａ，６７ｂからデータパケットを読み出す。そして、順序制御部６８ａ，６８ｂは、順序を入れ替えてデータパケットを送信バッファ６３ａ，６３ｂに記録すると、送信バッファ６３ａ，６３ｂに記録したデータパケットと同じデータパケットを順序入替バッファ６７ａ，６７ｂから削除する。
【００５９】
ここで、「順序入替範囲」とは、順序入替バッファ６７ａ，６７ｂに記録されたデータパケットの送信順序を入れ替える範囲を示す。外部からの設定値には、順序入替バッファ６７ａ，６７ｂに最初のデータパケットが書き込まれてからの経過時間、前回データパケットの送信順序を入れ替えてからの経過時間、順序入替バッファ６７ａ，６７ｂに記録されたデータパケットの数等が含まれる。そして、これらの値のうち、１個以上の値が順序入替範囲を設定するために用いられる。
また、「順序入替方法」には、経路毎にデータパケットの並び順を逆順又は正順とする方法、データパケットの並び順を複数の経路に交互に割り当てる方法、データパケットの入れ替え順序を特定のデータパケットを優先するように直接設定する方法がある。これらの方法のうち、１個以上の方法を示す設定値が順序入替方法を設定するために用いられる。
本実施の形態に係る詳細な送信順序入替方法は、後述する。
【００６０】
送信処理部６４ａ，６４ｂは、通信手順に従い、送信バッファ６３ａ，６３ｂに記録されたデータパケットを読み出し、入れ替えられた送信順序に従ってインターフェース６５ａ，６５ｂを介して第１及び第２経路にそれぞれデータパケットを送信する。そして、送信処理部６４ａ，６４ｂは、受信装置２０がデータパケットを受信したことを示す受信応答パケットを受信装置２０から受信すると、送信バッファ６３ａ，６３ｂから受信応答パケットに示されたデータパケットを削除する。ここで、送信バッファ６３ａ，６３ｂからデータパケットを削除するトリガは、送信装置１０が用いられる通信システムで採用される通信制御方法に依存する。例えば、データパケットの再送をしない通信制御方法が採用されると、送信処理部６４ａ，６４ｂは、データパケットを送信後、受信応答パケットの受信有無に関わらず、送信したデータパケットと同じデータパケットを送信バッファ６３ａ，６３ｂから削除する。
【００６１】
なお、冗長データ送信順序制御部６２は、順序入替バッファ６７ａ，６７ｂの機能を共有する１個の順序入替バッファと、順序制御部６８ａ，６８ｂの機能を共有する１個の順序制御部を有するように構成してもよい。この場合、１台の順序入替バッファ及び順序制御部を用いるため、冗長化部６６による書込みタイミング、及び読み出しタイミング
【００６２】
また、例えば第１経路に送信するデータパケットの送信順序を入れ替えることなく送信バッファ６３ａに出力可能であれば、第１経路から順序入替バッファ６７ａと順序制御部６８ａを取り除いてもよい。この場合、冗長データ送信順序制御部６２の第１経路におけるデータパケットの送信順序入替等の処理が不要となるため、冗長データ送信順序制御部６２の処理負荷を軽減し、製造コストも低減できる。
【００６３】
＜受信装置の内部構成＞
図８は、本発明の第１の実施形態に係る受信装置２０の概略内部構成を示す。
【００６４】
受信装置２０は、インターフェース２１ａ，２１ｂと、受信処理部２２ａ，２２ｂと、後着データパケット破棄処理部２３と、受信バッファ２４と、順序入替部２５を有する。
【００６５】
受信処理部２２ａ，２２ｂは、インターフェース２１ａ，２１ｂを介して受信したデータパケットを受信処理する。受信処理部２２ａ，２２ｂは、受信したデータパケットに誤りが無ければ、受信処理したデータパケットを後着データパケット破棄処理部２３に転送する。そして、受信応答パケットを生成してインターフェース２１ａ，２１ｂを介してデータパケットを送信した送信装置に受信応答パケットを送信する。
【００６６】
後着データパケット破棄処理部２３（後着破棄処理部の一例）は、受信処理部２２ａ，２２ｂから転送されたデータパケットをチェックし、未受信のデータパケットであれば、受信したデータパケットを受信バッファ２４に記録する。しかし、後着データパケット破棄処理部２３は、既に受信し、受信バッファ２４に記録されたデータパケットと同一のデータパケットであれば、後着したデータパケットを破棄する。これにより、先着し、受信バッファ２４に記録されたデータパケットだけが以降の処理に用いられる。
【００６７】
順序入替部２５は、データパケットに付与されたシーケンス番号に従って、受信バッファ２４に記録されたデータパケットを元の順序に入れ替えて元のデータを再構成し、再構成したデータを外部へ転送する。その後、順序入替部２５は、転送したデータに対応するデータパケットを受信バッファ２４から削除する。なお、受信装置２０は、元の順序に入れ替えなくてもデータパケットを処理可能なアプリケーションを使っていれば、受信したデータパケットの送信順序を入れ替えなくてもよい。例えば、個々のデータパケットだけで特定の内容（温度、圧力等）を表す場合には、データパケットのヘッダー部に特定の内容を示すコード等を付与することで、受信装置２０はデータパケットを分類し、処理することが可能となる。
【００６８】
＜パケットフォーマット＞
図９は、データパケットのパケットフォーマットの例を示す概略図である。
【００６９】
データパケットは、ヘッダー部と、順序制御用ヘッダー部と、データ部を有する。データ部は、冗長経路に伝送されるデータの分割された内容を格納する。なお、図９に示すデータパケットの内容は、上述したアナライザ３（図１〜図４を参照）の画面上に表示することが可能である。このため、アナライザ３を使用するユーザは、データパケットの欠落の発生有無、データパケットの内容、データパケットの送信順序等を確認することができる。
【００７０】
ヘッダー部は、宛先アドレスと、送信元アドレスと、パケットタイプと、必要に応じてデータパケットに設定される他の情報とを有する。宛先アドレスには、受信装置２０を一意に特定するアドレス情報が格納され、送信元アドレスには、送信装置１０Ａを一意に特定するアドレス情報が格納される。送信装置１０Ａがデータパケットの送信順序制御（後述する正順、逆順等の入れ替え制御）を実施する場合には、送信装置１０Ａが有する順序制御部６８ａ，６８ｂは、順序制御を実施していることを示すタイプ値をパケットタイプに割り当てる。このタイプ値としては、例えば、イーサネット（登録商標）でタイプが未定義となっている予約値の１個を順序制御用として規定し、用いるとよい。
【００７１】
順序制御用ヘッダー部は、本来のパケットタイプと、順序制御範囲と、順序制御番号を有する。本来のパケットタイプとは、データパケットの順序制御を実施する前にデータパケットに格納されていたタイプ値である。順序制御部６８ａ，６８ｂは、データパケットの順序制御の実施時に、データパケットに格納されていたタイプ値を本来のパケットタイプに格納する。そして、受信装置２０が有する順序入替部２５は、データパケットを受信した後、データを再構成する際に、受信したデータパケットの本来のパケットタイプから読み出したタイプ値を、ヘッダー部のパケットタイプに書き戻す。
【００７２】
順序制御範囲には、データパケットの送信順序を制御する範囲を表す値が格納される。例えば、送信装置１０Ａが、４個のデータパケットを順序制御している場合には、順序制御範囲に“４”が格納される。また、順序制御番号には、順序制御の実施前におけるデータパケットの並び順を表す値が格納される。例えば、順序制御の実施前にデータパケットの並び順が２番目である場合、このデータパケットの順序制御番号には“２”が格納される。これにより、受信装置２０は、順序制御番号に基づいて受信したデータパケットを元の並び順に入れ替えてデータを再構成することができる。
【００７３】
＜第１の送信順序入替方法＞
図１０は、本発明の第１の実施形態に係る送信装置１０Ａが正順と逆順でデータパケット＃１〜＃４を第１及び第２経路に送信する方法の例を示す概略図である。
【００７４】
送信装置１０Ａが有する冗長データ送信順序制御部６２は、第１及び第２経路のうち、第１経路にはデータパケットを元の順序のままの送信順序とし、第２経路にはデータパケットを元の順序とは逆順による送信順序とする。このため、送信装置１０Ａは、第１経路には、元の並び順通りにデータパケット＃１〜＃４を送信し、第２経路には、逆順でデータパケット＃４〜＃１を送信する。
受信装置２０は、第１及び第２経路からデータパケットを受信する。受信装置２０は、同一内容のデータパケットを受信すると、先着したデータパケットを用いてデータの再構築を行い、後着したデータパケットを破棄する。
【００７５】
図１１は、第１及び第２経路に伝送されるデータパケットの例を示す概略図である。図１１Ａは、第１経路に正順、第２経路に逆順で送信されたデータパケットを受信装置２０が受信するタイミングの例を示し、図１１Ｂは、受信装置２０が第１経路から受信したデータパケットの受信応答を送信装置１０Ａに返信する例を示す。
【００７６】
図１１Ａに示す送信装置１０Ａは、複製ブロック１１と順序制御ブロック１２を備える。
複製ブロック１１は、上述したデータパケット生成部６１、冗長化部６６を含む。順序制御ブロック１２は、上述した順序入替バッファ６７ａ，６７ｂ、順序制御部６８ａ，６８ｂ、送信バッファ６３ａ，６３ｂ、送信処理部６４ａ，６４ｂ、インターフェース６５ａ，６５ｂを含む。
また、受信装置２０は、セレクタブロック１３を備える。セレクタブロック１３は、上述したインターフェース２１ａ，２１ｂ、受信処理部２２ａ，２２ｂ、後着データパケット破棄処理部２３、受信バッファ２４、順序入替部２５を含む。
【００７７】
送信装置１０Ａは、第１経路にデータパケット＃１を先頭として、データパケット＃２，＃３，＃４を正順に送信し、第２経路にデータパケット＃４を先頭として、データパケット＃３，＃２，＃１を逆順に送信する。従来は、受信装置２０が経路毎に正順で送信される全てのデータパケットを受信しなければデータを再構成できなかったため、時刻ｔ２で示すようにデータパケットの受信完了まで時間を要していた（図２１を参照）。
【００７８】
しかし、本実施の形態に係る受信装置２０は、第１及び第２経路からそれぞれデータパケットを受信すると、すぐにデータパケットを元の並び順に入れ替えてデータを再構成する。このとき時刻ｔ１で示したように、第１経路でデータパケット＃１，＃２を受信し、第２経路でデータパケット＃４，＃３を受信する。このため、時刻ｔ２よりも早い時刻ｔ１で全てのデータパケット＃１〜＃４を受信完了とし、データの再構築を行うことが可能となり、データパケットの送受信に要する時間を短縮することができる。
【００７９】
図１１Ｂにおいても送信装置１０Ａは、第１経路にデータパケットを正順で送信し、第２経路にデータパケットを逆順で送信する。ここで、受信装置２０は、先着したデータパケット＃１について受信応答を送信装置１０Ａに返信する（Ｓ１）。
【００８０】
送信装置１０Ａは、受信応答を受け取ると、第２経路に送信しようとしていたデータパケット＃１の送信を中止し、送信バッファ６３ａ，６３ｂからデータパケット＃１を破棄する（Ｓ２）。このため、第２経路にはデータパケット＃１が送信されなくなり、第２経路の通信帯域の逼迫が緩和される。
【００８１】
以上説明した第１の実施形態に係る送信装置１０Ａは、冗長経路である第１及び第２の経路のうち、第１経路に正順でデータパケットを送信し、第２経路に逆順でデータパケットを送信する。これにより、受信装置２０は、第１経路から先頭のデータパケットを順に受信し、第２経路から末尾のデータパケットを順に受信する。このため、受信装置２０は、第１及び第２の経路から受信したデータパケットに誤りがない場合には、元のデータを再構成し、元のデータを速やかに出力することができる。このように第１及び第２経路に正順及び逆順でデータパケットを伝送することでデータパケットの欠落を防止し、データパケットの受信に対する高い信頼性を保つことができる。また、受信装置２０は、全てのデータパケットの受信を完了するまでに要する時間を、単一経路から受信する場合と比べて短くすることができる。
【００８２】
また、送信装置１０Ａは、受信応答パケットに示された未送信のデータパケットを破棄する。このため、一般回線が用いられる冗長経路に余分なデータパケットが送信されることを防ぐことができる。そして、冗長経路の通信帯域の逼迫が緩和され、通信速度の低下を防ぐことができる。
【００８３】
［２．第２の実施形態］
＜第２の送信順序入替方法＞
次に、本発明の第２の実施形態を説明する。第２の実施形態に係る送信装置１０Ａは、第１の実施形態で説明した第１の送信順序入替方法に代えて、以下に説明する第２の送信順序入替方法を行うものである。送信順序入替方法以外は、第１の実施形態で説明したものが適用される。
図１２は、本発明の第２の実施形態に係る送信装置１０Ａが第１及び第２経路に交互かつ正順及び逆順でデータパケット＃１〜＃４を送信する方法の例を示す概略図である。
【００８４】
冗長データ送信順序制御部６２は、元の順序のままのデータパケットを第１及び第２経路に交互に割り当てる送信順序とする。そして、冗長データ送信順序制御部６２は、冗長化され、元の順序とは逆順に入れ替えられたデータパケットを、第１及び第２経路に交互に割り当てる送信順序としている。
【００８５】
ここで、送信装置１０Ａは、始めにデータパケット＃１〜＃４を正順に送信する。このとき、送信装置１０Ａは、データパケット＃１を第１経路に送信し、データパケット＃２を第２経路に送信し、データパケット＃３を第１経路に送信し、データパケット＃４を第２経路に送信する。次に、送信装置１０Ａは、データパケット＃１〜＃４を逆順に送信する。このとき、送信装置１０Ａは、データパケット＃４を第１経路に送信し、データパケット＃３を第２経路に送信し、データパケット＃２を第１経路に送信し、データパケット＃１を第２経路に送信する。このため、第１経路には順にデータパケット＃１，＃３，＃４，＃２が送信され、第２経路には、順にデータパケット＃２，＃４，＃３，＃１が送信される。
【００８６】
受信装置２０は、これまで通り第１及び第２経路からデータパケットを受信する。そして、受信装置２０は、同一内容のデータパケットを受信すると、先着したデータパケットをデータの再構築に用い、後着したデータパケットを破棄する。
【００８７】
以上説明した第２の実施形態に係る送信装置１０Ａは、冗長経路に交互に正順でデータパケットを送信した後、冗長経路に交互に逆順でデータパケットを送信する。このため、受信装置２０が冗長経路から受信したデータパケットは、正順又は逆順に近くなり、受信装置２０は受信したデータパケットを用いてデータの再構築を速やかに開始することができる。また、受信装置２０が正順又は逆順でデータパケットを受信できれば、データパケットの送信順序を入れ替えるためのソート処理に要する時間が短くなるため、データの送受信に必要な時間を低減し、さらに伝送遅延を低減することが可能となる。
【００８８】
なお、送信装置１０Ａは、第１及び第２の経路に交互にデータパケット＃１〜＃４を逆順で送信した後、さらに１及び第２の経路に交互にデータパケット＃１〜＃４を正順で送信してもよい。この場合も、第１又は第２の経路の途中で１個のデータパケットが欠落したとしても、受信装置２０が欠落したデータパケットと同じデータパケットを他の経路から受信するまでの時間を短くすることができる。
【００８９】
［３．第３の実施形態］
＜第３の送信順序入替方法＞
次に、本発明の第３の実施形態を説明する。第３の実施形態に係る送信装置１０Ａは、第１の実施形態で説明した第１の送信順序入替方法に代えて、以下に説明する第３の送信順序入替方法を行うものである。送信順序入替方法以外は、第１の実施形態で説明したものが適用される。
図１３は、本発明の第３の実施形態に係る送信装置１０Ａが特定のデータパケットを優先して送信し、かつ特定のデータパケット以外のデータパケットを正順と逆順で送信する方法の例を示す概略図である。
【００９０】
冗長データ送信順序制御部６２は、第１及び第２経路のそれぞれに先頭のデータパケット＃１（特定のデータパケットの一例）を優先して送信する送信順序とする。そして、先頭のデータパケット＃１以外のデータパケット＃２〜＃４について、第１経路にはデータパケットを元の順序のままの送信順序とし、第２経路にはデータパケットを元の順序とは逆順による送信順序とする。
このため、送信装置１０Ａは、第１及び第２経路のそれぞれにデータパケット＃１を優先して送信する。その後、送信装置１０Ａは、第１経路には、順序通りにデータパケット＃２〜＃４を送信し、第２経路には、逆順序でデータパケット＃４〜＃２を送信する。
【００９１】
このように先頭のデータパケット＃１を送信するのは、先頭のデータパケット＃１に、他のデータパケット＃２〜＃４の構成等を示す情報が含まれているからである。送信装置１０Ａが優先して送信するデータパケットの具体例として、測定データが閾値を超えた場合に出される警報を表すデータパケットや、緊急時に用いる制御データパケット等がある。このようなデータパケットは、第１及び第２経路のいずれに対しても先頭で送信される。
【００９２】
受信装置２０は、データパケット＃１を受信すると、データパケット＃１を受信バッファ２４に書き込み、後着したデータパケット＃２〜＃４を受信バッファ２４に書き込んで元の順序に入れ替えて元のデータを得る。また、受信装置２０は、第１及び第２経路から受信したデータパケットが同一内容であれば、後着データパケット破棄処理部２３により後着したデータパケットを破棄する。このように受信装置２０は、先頭のデータパケット＃１を第１又は第２経路のいずれかから優先して受信することで、データパケット＃１から読み出した情報に基づいて受信処理を速やかに行うことが可能となる。
【００９３】
以上説明した第３の実施形態によれば、送信装置１０Ａは、特定のデータパケットとして、先頭のデータパケット＃１を優先して冗長経路に同時に送信した後、データパケット＃１以外のデータパケット＃２〜＃４の順序を制御して送信する。これにより、受信装置２０は、先頭のデータパケット＃１を早く受信し、データパケット＃１の内容を速やかに読み取って対処することができる。このため、優先して送信されるデータパケットの遅延を低減し、受信装置２０が受信したデータパケットの信頼性を高めることができる。
【００９４】
また、優先して送信されるデータパケットは、受信バッファ２４の先頭位置に書き込まれるため、少なくとも１個のデータパケットについては入れ替える必要がない。このため、先頭のデータパケット＃１以外のデータパケット＃２〜＃４の入れ替えを行うだけでよく、受信処理に要する時間を短縮することができる。また、第１又は第２の経路の途中で１個のデータパケットが欠落したとしても、受信装置２０が欠落したデータパケットと同じデータパケットを他の経路から受信するまでの時間を短くすることができる。
【００９５】
［４．第４の実施形態］
＜送信装置の内部構成＞
次に、本発明の第４の実施形態に係る送信装置の内部構成について説明する。
図１４は、本発明の第４の実施形態に係る複数送信バッファ制御部７２を備えた送信装置１０Ｂの概略内部構成を示す。図１４に示す送信装置１０Ｂは、図１１Ｂに示した送信装置１０Ａの構成を詳細に具体化したものである。
【００９６】
送信装置１０Ｂは、図７に示した送信装置１０Ａの構成に複数送信バッファ制御部７２（送信バッファ制御部の一例）を加え、送信装置１０Ａの送信処理部６４ａ，６４ｂの構成に代えて送信処理部７１ａ，７１ｂを備える。送信処理部７１ａ，７１ｂと複数送信バッファ制御部７２以外の各部の処理内容は、送信装置１０Ａと同様であるため、説明を省略する。
【００９７】
送信装置１０Ｂが備える送信処理部７１ａ，７１ｂは、通信手順に従い、送信バッファ６３ａ，６３ｂに記録されたデータパケットを読み出し、インターフェース６５ａ，６５ｂを介してデータパケットを送信する。そして、送信処理部７１ａ，７１ｂは、第１又は第２経路のいずれかから受信装置２０がデータパケットを受信したことを示す受信応答パケットを受け取ると、受信応答パケットに対応した識別子を複数送信バッファ制御部７２に転送する。この識別子には、データパケットを識別可能なシーケンス番号等が用いられる。
【００９８】
複数送信バッファ制御部７２（送信バッファ制御部の一例）は、送信処理部７１ａ，７１ｂから受信応答パケットに対応した識別子を受け取ると、この識別子に対応するデータパケットを送信バッファ６３ａ，６３ｂの両方から削除する。このような処理により、送信バッファ６３ａ，６３ｂの記録領域を速やかに解放することができる。
【００９９】
以上説明した本実施形態に係る送信装置１０Ｂは、一方の経路で送信を完了し、かつ、受信装置２０が受信を完了したデータパケットについて、他方の経路で送信することを防ぐことができる。このため、既に受信装置２０が受信したデータパケットを送信することに起因して第１又は第２経路が逼迫することによるデータパケットの伝送遅延を回避することができる。
【０１００】
また、送信装置１０Ｂは、既に送信したデータパケットの受信応答パケットを受信装置２０から受け取らなければ、送信バッファ６３ａ，６３ｂから改めてデータパケットを送信する。このため、第１及び第２経路でのデータパケットの欠落を防ぐことができ、データパケットの送受信に対する信頼性が高まる。
【０１０１】
また、送信装置１０Ｂは、受信装置２０が受信したデータパケットを送信バッファ６３ａ，６３ｂから削除し、送信しないため、受信装置２０が未受信である他のデータパケットを速やかに送信できる。このため、他のデータパケットの送信待ち時間を低減することができる。さらに、第１経路に正順でデータパケットを送信し、第２経路に逆順でデータパケットを送信することにより、第１又は第２経路のいずれかで送信完了済となるデータパケットが発生する確率が高くなる。このため、第１及び第２経路の使用帯域を低減することができ、未送信のデータパケットの送信待ち時間を低減する効果がより高くなる。
【０１０２】
［５．第５の実施形態］
＜中継装置の内部構成＞
次に、本発明の第５の実施形態に係る中継装置３０Ａの内部構成について説明する。
【０１０３】
図１５は、中継装置３０Ａの概略内部構成を示す。ここでは、図３に示したように、送信装置１０ａが受信装置２０ｂにデータパケットを送信する例について説明する。
【０１０４】
中継装置３０Ａは、リング型の通信システム１Ｃに用いられる（図３を参照）。この中継装置３０Ａは、周回したデータパケットと同一内容のデータパケットを中継せず、第１又は第２経路のいずれかより受け取って中継したデータパケットと同一内容のデータパケットを他の経路で受け取った場合には中継を行わない。この中継装置３０Ａは、インターフェース３１ａ，３１ｂと、受信処理部３２ａ，３２ｂと、受信バッファ３３ａ，３３ｂと、中継処理部３４と、送信バッファ３５ａ，３５ｂと、送信処理部３６ａ，３６ｂを有する。
【０１０５】
まず、第１経路における各部の処理を説明する。
受信処理部３２ａは、インターフェース３１ａを介して受信したデータパケットを受信処理する。データパケットに誤りが無ければ、受信したデータパケットを受信バッファ３３ａに記録する。そして、受信処理部３２ａは、受信応答パケットを生成してインターフェース３１ａを介してデータパケットの送信元である送信装置１０ａに送信する。ただし、中継装置３０Ａにおける受信応答パケットの送信有無は、中継装置３０Ａが用いられる通信システム１Ｃで採用される通信制御方法に依存する。
【０１０６】
中継処理部３４は、第１又は第２経路のいずれかから受信したデータパケットを後続の装置に中継し、既に中継したデータパケットと同じ内容のデータパケットを他の経路から受信すると、データパケットを破棄するものである。具体的には、中継処理部３４は、受信バッファ３３ａに記録されたデータパケットを送信バッファ３５ａに転送し、転送したデータパケットと同じデータパケットを受信バッファ３３ａから削除する。中継処理部３４は、受信バッファ３３ａから送信バッファ３５ａにデータパケットを転送する際に、転送したデータパケットを特定する識別子を不図示の内部メモリに記録する。この識別子には、データパケットの送信元アドレスやシーケンス番号等の内容が含まれており、送信バッファ３５ａに転送したデータパケットを特定するために用いられる。
【０１０７】
送信処理部３６ａは、第１経路から受信され、送信バッファ３５ａに記録されたデータパケットと同じデータパケットが受信バッファ３３ｂに記録されていなければ、通信手順に従い、送信バッファ３５ａからデータパケットを読み出す。そして、インターフェース３１ｂを介してデータパケットを第１経路に送信する。さらに、送信処理部３６ａは、送信したデータパケットに対する受信応答パケットを受信装置２０ｂから受信すると、送信バッファ３５ａから受信応答パケットに示されるデータパケットを削除する。ここで、送信バッファ３５ａからデータパケットを削除するトリガは、中継装置３０Ａが用いられる通信システムで採用される通信制御方法に依存する。
【０１０８】
なお、中継処理部３４は、受信バッファ３３ａに記録したデータパケットと同じデータパケットを示す受信応答パケットが受信バッファ３３ｂに記録されると、受信装置２０ｂが第２経路でデータパケットを受信済であると判定する。このとき、中継処理部３４は、受信バッファ３３ａから送信バッファ３５ａにデータパケットを転送することなく、受信バッファ３３ａからデータパケットを削除する。
【０１０９】
なお、第２経路における各部の処理は、上述した第１経路における各部の処理を入れ替えたものである。すなわち、第２経路では、インターフェース３１ｂ、受信処理部３２ｂ、受信バッファ３３ｂ、中継処理部３４、送信バッファ３５ｂ、送信処理部３６ｂ、及びインターフェース３１ａを経てデータパケットが中継されることとなる。
【０１１０】
以上説明した第５の実施形態に係る中継装置３０Ａによれば、通信システム１Ｃに用いられる際、第１又は第２経路のいずれかから受信したデータパケットと同一のデータパケットを他の経路から受信すると、受信装置２０ｂがデータパケットを受信済と判定する。そして、データパケットを受信バッファ３３ａ、送信バッファ３５ａから削除することにより、不要なデータパケットの送信を抑制する。これにより、第１及び第２経路におけるデータパケットの欠落を防止することができ、データの送受信に関する高い信頼性を保つことができる。
【０１１１】
また、中継装置３０Ａは、既に受信装置２０ｂが受信したデータパケットを中継しないため、第１及び第２経路の通信帯域の逼迫を抑制し、データパケットの遅延を低減することが可能となる。さらに、中継装置３０Ａは、中継が不要なデータパケットを破棄することにより、中継が必要な他のデータパケットの送信開始を早めることができ、送信待ち時間を低減することができる。
【０１１２】
また、送信装置１０ａは、第１経路に正順でデータパケットを送信し、第２経路に逆順でデータパケットを送信することにより、第１又は第２経路のいずれかで送信完了済みとなるデータパケットが発生する確率が高くなる。このため、第１及び第２経路の使用帯域を低減し、データパケットの送信待ち時間を低減する効果が一層高くなる。
【０１１３】
［６．第６の実施形態］
＜送信装置の内部構成＞
次に、本発明の第６の実施形態に係る送信装置１０Ｃの内部構成について説明する。
図１６は、本発明の第６の実施形態に係る送信装置１０Ｃの概略内部構成を示す。ここでは、図４に示した通信システム１Ｄにおいて、送信装置１０を置き換えた送信装置１０Ｃが受信装置２０にデータパケットを送信する例について説明する。
【０１１４】
送信装置１０Ｃは、複数経路を有する通信システム１Ｄに用いられる（図４を参照）。この送信装置１０Ｃは、データパケット生成部６１と、冗長データ送信順序制御部６２Ａと、送信バッファ８５と、送信処理部８６と、インターフェース８７を有する。
【０１１５】
データパケット生成部６１は、送信装置１０Ｃに転送されたデータを分割してデータパケットを生成し、冗長データ送信順序制御部６２Ａに生成したデータパケットを転送する。ここで、データパケット生成部６１は、データパケットに、シーケンス番号等のデータパケットの送信順序を示す番号を付与する。
【０１１６】
冗長データ送信順序制御部６２Ａは、冗長化部８１と、経路制御部８２と、順序入替バッファ８３と、順序制御部８４を有する。冗長化部８１は、冗長データ送信順序制御部６２Ａに転送されたデータパケットを２個以上のデータパケットとして複製し、複製したデータパケットを経路制御部８２に転送する。冗長データ送信順序制御部６２Ａがデータパケットを複製する数は、２個以上かつデータパケットを送信可能な経路数以下とする。
【０１１７】
経路制御部８２は、冗長化部８１によって複製されたデータパケット毎に異なる経路情報をデータパケットに付与し、順序入替バッファ８３に記録する。この経路情報に基づいて各データパケットが第１〜第ｎ経路のいずれかに伝送される。
順序制御部８４は、外部から設定された順序入替範囲と順序入替方法に従って、順序入替バッファ８３からデータパケットを読み出す。そして、順序制御部８４は、読み出したデータパケットの送信順序を入れ替えて送信バッファ８５に記録し、送信バッファ８５に記録したデータパケットと同じデータパケットを順序入替バッファ８３から削除する。なお、順序入替範囲と順序入替方法は、既に図７の送信装置１０Ａの説明で述べた順序入替範囲と順序入替方法と同様であるため、説明を省略する。
【０１１８】
送信処理部８６は、通信手順に従い、送信バッファ８５に記録されたデータパケットを読み出し、データパケットに付与された経路情報に基づいて、インターフェース８７を介してデータパケットを第１及び第２経路に送信する。そして、送信処理部８６は、受信装置２０から受信応答パケットを受信すると、この受信応答パケットに示されたデータパケットを送信バッファ８５から削除する。ここで、送信処理部８６が送信バッファ８５からデータパケットを削除するトリガは、送信装置１０Ｃが用いられる通信システムで採用される通信制御方法に依存する。例えば、データパケットの再送をしない通信制御方法が採用されていれば、送信処理部８６は、データパケットを送信した際に送信バッファ８５からデータパケットを削除する。
【０１１９】
なお、送信処理部８６は、受信応答パケットを受信した際に異なる経路で送信待ち中である同じデータのデータパケットを削除してもよい。例えば、送信装置１０Ｃが第１経路にデータパケットを送信した後、受信装置２０からの受信応答パケットを受信すると、送信処理部８６は、送信バッファ８５に記録されている第２〜第ｎ経路に送信予定のデータパケットを全て削除する。これにより、送信バッファ８５の記録領域を開放し、他のデータパケットを送信バッファ８５に記録することが可能となるため、送信バッファ８５の記録領域のサイズを小さくすることができる。
【０１２０】
以上説明した本実施形態に係る送信装置１０Ｃによれば、データパケットに経路情報を付与することで、２個以上の経路で冗長化したデータパケットを送信することが可能となる。このため、受信装置２０は、２個以上の経路のいずれかからデータパケットを受信することが可能となり、データパケットの送受信に必要な時間を低減し、さらに伝送遅延を低減することが可能となる。また、いずれかの経路でデータパケットが欠落しても他の経路で同じデータパケットが欠落する可能性は低いため、受信装置２０は確実に全てのデータパケットを受信できるようになる。これにより、データパケットの送受信に対する信頼性が高まる。
【０１２１】
［７．第７の実施形態］
＜送信装置の内部構成＞
次に、本発明の第７の実施形態に係る送信装置１０Ｄについて説明する。
図１７は、フラグメントパケット生成部９１を備えた送信装置１０Ｄの概略内部構成を示す。
【０１２２】
送信装置１０Ｄは、図７の送信装置１０Ａの構成にフラグメントパケット生成部９１を加えたものとしている。フラグメントパケット生成部９１以外の各部の処理内容は、図７の送信装置１０Ａの対応する各部と同様である。なお、以下の説明において受信装置２０は、受信したフラグメントパケットをデータパケットに再構成した後、さらにデータパケットをデータに再構成する機能を有するものとする。
【０１２３】
データパケット生成部６１は、送信装置１０Ｄに転送されたデータを分割してデータパケットを生成し、フラグメントパケット生成部９１に生成したデータパケットを転送する。ここで、データパケット生成部６１は、データパケットに、シーケンス番号等のデータパケットの送信順序を示す番号を付与する。
【０１２４】
フラグメントパケット生成部９１は、データパケット生成部６１から受け取ったデータパケットを分割してフラグメントパケット（第２の分割データの一例）を生成する。そして、フラグメントパケット生成部９１は、フラグメント情報を付与したフラグメントパケットを冗長データ送信順序制御部６２の冗長化部６６に転送し、かつ、このフラグメント情報を順序制御部６８ａ，６８ｂに通知する。「フラグメント情報」は、データパケットをフラグメントパケットに分割したときのフラグメント数と、フラグメントパケットのパケット長と、元のデータパケットに対して何番目に位置するフラグメントパケットであるかを示す分割番号のうち１個以上の情報を含む。
【０１２５】
冗長化部６６は、フラグメントパケット生成部９１から冗長データ送信順序制御部６２に転送されたフラグメントパケットを複製し、それぞれ順序入替バッファ６７ａ，６７ｂに記録する。
順序制御部６８ａ，６８ｂは、フラグメントパケット生成部９１から受け取ったフラグメント情報から読み出したフラグメント数の範囲で順序入替方法に従って、順序入替バッファ６７ａ，６７ｂからフラグメントパケットを読み出す。また、順序制御部６８ａ，６８ｂは、フラグメントパケットの送信順序を入れ替えて送信バッファ６３ａ，６３ｂに記録し、送信バッファ６３ａ，６３ｂに記録したフラグメントパケットと同じフラグメントパケットを順序入替バッファ６７ａ，６７ｂから削除する。この順序入替方法は、既に図７の送信装置１０Ａの説明で述べた順序入替方法と同様であるため、説明を省略する。
【０１２６】
そして、送信処理部６４ａ，６４ｂは、通信手順に従い、送信バッファ６３ａ，６３ｂに記録されたフラグメントパケットを読み出し、インターフェース６５ａ，６５ｂを介してフラグメントパケットを送信する。
【０１２７】
以上説明した本実施形態に係る送信装置１０Ｄによれば、フラグメントパケット生成部９１がデータパケットをさらに分割して生成したデータサイズが小さいフラグメントパケットを冗長経路に送信するようにした。このため、冗長経路の通信帯域が逼迫していた場合であっても、フラグメントパケットを送信することで送信装置１０Ｄと受信装置２０の間における通信を継続することにより、フラグメントパケットの伝送遅延を抑えることができる。
【０１２８】
また、複数の経路でフラグメントパケットを送信するため、フラグメントパケットが欠落したとしても、受信装置２０が欠落したフラグメントパケットと同じフラグメントパケットを他の経路から受信することができる。これにより、受信装置２０が全てのフラグメントパケットを受信する可能性が高まり、フラグメントパケットの送受信に伴う信頼性を高めることができる。また、順序制御部６８ａ，６８ｂは、フラグメントパケット生成部９１から受け取ったフラグメント情報に基づいてフラグメントパケットの順序制御を行うことにより、フラグメントパケットの処理待ち時間を低減することができる。
【０１２９】
［８．第８の実施形態］
＜送信装置の内部構成＞
次に、本発明の第８の実施形態に係る送信装置１０Ｅの内部構成について説明する。
図１８は、フラグメントパラメータをフラグメントパケット生成部９１に通知するフラグメントパラメータ通知部９３を備える送信装置１０Ｅの概略内部構成を示す。
【０１３０】
送信装置１０Ｅは、図１７の送信装置１０Ｄの構成にフラグメントパラメータ通知部９３（分割パラメータ通知部の一例）を加え、送信装置１０Ｄの送信処理部６４ａ，６４ｂの構成に代えて送信処理部９２ａ，９２ｂを備える。フラグメントパラメータ通知部９３と送信処理部９２ａ，９２ｂ以外の各部の処理内容は、図１７に示したものと同様であるため、説明を省略する。
【０１３１】
フラグメントパケット生成部９１は、フラグメントパラメータ通知部９３から通知されたフラグメントパラメータ（分割パラメータの一例）に従って、データパケット生成部６１から転送されたデータパケットを分割し、フラグメントパケットを生成する。ここで、「フラグメントパラメータ」には、フラグメントパケットの分割数又は分割後のパケット長のいずれか、又は両方が含まれており、フラグメントパケット生成部９１がフラグメントパケットのパケット長を可変するために用いられる。
【０１３２】
そして、送信処理部９２ａ，９２ｂは、フラグメントパケットを送信した後、送信したフラグメントパケットに応答した受信応答パケットを受信した際に送信バッファ６３ａ，６３ｂから該当するフラグメントパケットを削除する。また、送信処理部９２ａ，９２ｂは、フラグメントパケットの経路毎の送信タイミングと、受信装置２０から受信応答パケットを受信した受信応答タイミングをフラグメントパラメータ通知部９３の受信応答時間測定部９４に通知する。
【０１３３】
フラグメントパラメータ通知部９３は、受信応答時間測定部９４と、フラグメント制御部９５を有する。受信応答時間測定部９４と、フラグメント制御部９５を有する。受信応答時間測定部９４は、送信処理部９２ａ，９２ｂから通知された第１及び第２経路の送信タイミングと受信応答タイミングに基づいてフラグメントパケットを送信して受信応答パケットを受信するまでに要するフラグメントパケットの受信応答時間を測定する。そして、受信応答時間測定部９４は、フラグメント制御部９５に経路毎の受信応答時間を通知する。
【０１３４】
フラグメント制御部９５は、第１及び第２経路毎の受信応答時間からフラグメントパラメータを決定し、フラグメントパケット生成部９１にフラグメントパラメータを通知する。ここで、フラグメントパラメータによって指定されるフラグメントパケットの内容にはいくつかの例がある。
以下、３種類のフラグメントパケットの分割方式について説明する。フラグメント制御部９５は、いずれかの採用された分割方式に基づいてフラグメントパラメータを決定する。
【０１３５】
＜Ａ．受信応答時間の比に応じてフラグメントパケットのパケット長を制御する方法＞
図１９は、送信装置１０Ｅが第１及び第２経路毎の受信応答時間の比に応じて同じ長さのパケット長としたフラグメントパケットの送信方法の例を示す概要図である。図１９Ａは、従来の通信方式を用いてフラグメントパケットを送信する方法の例を示し、図１９Ｂは、本実施の形態に係る通信方式を用いてフラグメントパケットを送信する方法の例を示す。なお、図１９では、第１経路の受信応答時間が１０ｍｓ、第２経路の受信応答時間が２２ｍｓの場合を想定する。また、図１９では、中継装置３０の記載を省略する。
【０１３６】
送信装置１０Ｅは、複製ブロック１４と順序制御ブロック１５を備える。
複製ブロック１４は、上述したデータパケット生成部６１、フラグメントパケット生成部９１、冗長化部６６を含む。順序制御ブロック１５は、上述した順序入替バッファ６７ａ，６７ｂ、順序制御部６８ａ，６８ｂ、送信バッファ６３ａ，６３ｂ、送信処理部９２ａ，９２ｂ、フラグメントパラメータ通知部９３、インターフェース６５ａ，６５ｂを含む。
受信装置２０が備えるセレクタブロック１３は、上述した図１１に示したものと同様である。
【０１３７】
図１９Ａには、送信装置１０Ｅが３個のフラグメントパケット＃１〜＃３を送信する例を示している。例えば、データパケットのパケット長が１０００バイトであると想定した場合に、フラグメントパケット＃１のパケット長が３３４バイト、フラグメントパケット＃２，＃３のパケット長が３３３バイトであるとする。なお、実際には各フラグメントパケットにはヘッダー部等が付加されるため、単純にデータパケットのパケット長を３分割した値とはならないが、ここでは説明を簡略化するため、データパケットのパケット長を３分割した値を用いる。
【０１３８】
送信装置１０Ｅは、第１経路に正順でフラグメントパケット＃１〜＃３を送信し、第２経路に逆順でフラグメントパケット＃３〜＃１を送信する。ここで、第２経路では、フラグメントパケットの伝送遅延が発生しているため、受信装置２０が第１経路からフラグメントパケット＃１〜＃３を受信した時刻ｔ１１の時点では、第２経路からフラグメントパケット＃３しか受信できていない。このため、第１及び第２経路にそれぞれフラグメントパケット＃１〜＃３が伝送されたにも関わらず、受信装置２０がフラグメントパケット＃１〜＃３の受信完了までに要する時間は、第１経路だけでフラグメントパケット＃１〜＃３が伝送された場合と変わらない。
【０１３９】
図１９Ｂには、送信装置１０Ｅが４個のフラグメントパケット＃１〜＃４を送信する例を示している。送信装置１０Ｅが第１経路に正順でフラグメントパケットを送信し、第２経路に逆順でフラグメントパケットを送信する。ここで、送信装置１０Ｅ（フラグメント制御部９５）は、受信応答時間が短い経路の受信応答時間を“１”とし、受信応答時間が長い経路の受信応答時間との比を繰り上げた数に所定数として、例えば“１”を加えた数をフラグメントパケットの分割数とする。
【０１４０】
例えば、受信応答時間が短い第１経路の受信応答時間（１０ｍｓ）を“１”とすると、受信応答時間が長い第２経路の受信応答時間（２２ｍｓ）との比は“２．２”である。このため、フラグメント制御部９５は、“２．２”を繰り上げた数“３”に“１”を加えた数である“４”を分割数として、フラグメントパケット生成部９１にフラグメントパラメータを通知する。そして、フラグメントパケット生成部９１は、受け取ったフラグメントパラメータから読み出した分割数に基づいてデータパケットを４分割したフラグメントパケット＃１〜＃４を生成する。例えば、データパケットのパケット長が１０００バイトであると想定すると、フラグメントパケット生成部９１は、パケット長が２５０バイトのフラグメントパケット＃１〜＃４を生成する。
【０１４１】
送信装置１０Ｅは、フラグメントパケット＃１〜＃４を第１及び第２経路に送信すると、受信装置２０が第１経路から３個のデータパケット＃１〜＃３を受信する間に、第２経路から１個のデータパケット＃４を受信する可能性が高くなる。このため、第１経路に比べて第２経路で遅延が発生しても、受信装置２０が第１経路から７５０バイト分のフラグメントパケット＃１〜＃３を受信した時刻ｔ１２のタイミングで、第２経路から２５０バイト分のフラグメントパケット＃４を受信することが可能となる。このため、受信装置２０が全てのフラグメントパケット＃１〜＃４を受信するまでに要する時間を短くすることができる。
【０１４２】
＜Ｂ．受信応答時間の差に応じてフラグメントパケットのパケット長を制御する方法＞
図２０は、送信装置１０Ｅが経路毎の受信応答時間の差に応じてパケット長を異ならせたフラグメントパケットの送信方法の例を示す概要図である。図２０Ａは、受信応答時間の差が小さい場合に送信装置１０Ｅがフラグメントパケットを送信する方法の例を示し、図２０Ｂは、受信応答時間の差が大きい場合に送信装置１０Ｅがフラグメントパケットを送信する方法の例を示す。また、図２０においても、中継装置３０の記載を省略する。
【０１４３】
＜Ｂ１．受信応答時間の差が小さい場合にパケット長を制御する方法＞
図２０Ａに示すように、送信装置１０Ｅは、第１及び第２経路毎の受信応答時間の差が小さければ、データパケットの先頭及び末尾付近にあるフラグメントパケットのパケット長を長くし、先頭及び末尾以外のフラグメントパケットのパケット長を短くする。
【０１４４】
例えば、第１経路の受信応答時間が１０ｍｓで、第２経路の受信応答時間が１２ｍｓであるときに、データパケットを４つに分割する場合を想定する。フラグメントパケット生成部９１は、２番目と３番目のフラグメントパケット＃２，＃３のパケット長を、１番目と４番目のフラグメントパケット＃１，＃４のパケット長より短くする。このように正順、逆順のいずれの場合でも、先頭及び末尾のフラグメントパケット＃１，＃４が受信された後でなければ、受信処理が開始されない２番目と３番目のフラグメントパケット＃２，＃３のパケット長を短くしている。これにより、第１又は第２経路のいずれかで伝送遅延が発生しても、パケット長が長いフラグメントパケット＃１，＃４を先に受信処理しても未受信となりやすいパケット長が短いフラグメントパケット＃２，＃３の受信処理を速やかに行うことができる。このため、フラグメントパケット＃１〜＃４全体の伝送時間が短くなる。
【０１４５】
例えば、データパケットのパケット長が１０００バイトであると想定した場合に、送信装置１０Ｅは、フラグメントパケット＃１，＃４のパケット長を３５０バイト、フラグメントパケット＃２，＃３のパケット長を１５０バイトに分割する。そして、送信装置１０Ｅは、第１経路に正順でフラグメントパケット＃１〜＃４を送信し、第２経路に逆順でフラグメントパケット＃４〜＃１を送信する。ここで、第２経路では、フラグメントパケットの伝送遅延が発生しており、第１経路と第２経路の受信応答時間の差は小さい。しかし、時刻ｔ２１において、受信装置２０が第１経路からフラグメントパケット＃１，＃２の受信を完了し、フラグメントパケット＃３を受信しつつあるときに、第２経路から既にフラグメントパケット＃４，＃３の受信を完了している。このため、受信装置２０は、速やかにフラグメントパケット＃１〜＃４の受信を完了することができる。
【０１４６】
＜Ｂ２．受信応答時間の差が大きい場合にフラグメントパケットのパケット長を制御する方法＞
図２０Ｂに示すように、送信装置１０Ｅは、第１及び第２経路毎の受信応答時間の差が大きければ、データパケットの先頭及び末尾付近のフラグメントパケットのパケット長を長くし、先頭及び末尾以外のフラグメントパケットのパケット長を長くする。
【０１４７】
例えば、第１経路の受信応答時間が１０ｍｓで、第２経路の受信応答時間が３２ｍｓであるときに、データパケットを４つに分割する場合を想定する。このとき、１番目と４番目のフラグメントパケット＃１，＃４のパケット長を、２番目と３番目のフラグメントパケット＃２，＃３のパケット長より短くする。これにより、最後の受信となりやすいパケット長が短いフラグメントパケット＃１，＃４の受信処理を速やかに行うことができる。このため、フラグメントパケット＃１〜＃４全体の伝送時間が短くなる。
【０１４８】
例えば、データパケットのパケット長が１０００バイトであると想定した場合に、フラグメントパケット生成部９１は、フラグメントパケット＃１，＃４のパケット長を１５０バイト、フラグメントパケット＃２，＃３のパケット長を３５０バイトに分割する。そして、送信装置１０Ｅは、第１経路に正順でフラグメントパケット＃１〜＃４を送信し、第２経路に逆順でフラグメントパケット＃４〜＃１を送信する。ここで、第２経路では、フラグメントパケットの伝送遅延が発生しており、第１経路と第２経路の受信応答時間の差は大きい。しかし、時刻ｔ２２において、受信装置２０が第１経路からフラグメントパケット＃１〜＃３の受信を完了した時点で、第２経路からフラグメントパケット＃４の受信を完了することが可能となる。このため、受信装置２０は、速やかにフラグメントパケット＃１〜＃４の受信を完了することができる。
【０１４９】
以上説明した本実施形態に係る送信装置１０Ｅによれば、受信応答時間測定部９４が第１及び第２経路毎に測定した受信応答時間に基づいて、フラグメント制御部９５はフラグメントパケットの分割数及びフラグメントパケットのパケット長を制御する。これにより、送信装置１０Ｅは、受信応答時間に合わせて適切に生成されたフラグメントパケットを第１及び第２経路に送信することが可能となる。このため、第１及び第２経路に生じる伝送遅延の揺らぎを抑制し、受信装置２０がフラグメントパケットの受信完了までに要する時間を低減することができる。
【０１５０】
また、送信装置１０Ｅは、第１及び第２経路に同一内容のフラグメントパケットを送信することにより、受信装置２０が全てのフラグメントパケットを受信する可能性が高まり、フラグメントパケットの送受信に伴う信頼性を高めることができる。
【０１５１】
＜まとめ＞
上述した各実施形態に係る送信装置によれば、入力したデータをデータパケットに分割した後、データパケットを複製し、この複製したデータパケットを冗長経路に送信するようにしている。このため、冗長経路のいずれかでデータパケットが欠落した場合であっても、他の経路では欠落することなく受信装置がデータパケットを受信できる可能性が高まり、データパケットの送受信に対する信頼性が高まる。また、送信装置は、経路毎にデータパケットの送信順序を変えているため、冗長経路のいずれかに伝送遅延が生じていても、受信装置が全てのデータパケットを受信完了するまでの時間を短縮することができる。そして、この送信装置は、受信装置が受信したデータパケットについては、冗長経路に送信しない制御を行うことにより、冗長経路の通信帯域の逼迫を防ぐことができる。
【０１５２】
このような送信装置、中継装置、及び受信装置を備えた通信システムは、特に高信頼性とリアルタイム性が求められる産業用途の通信システムに適用すると効果的であり、その工業的価値は大きい。また、この通信システムは、上述した変電所通信システム４０（図５を参照）だけでなく、発電所通信システム、送電所通信システム等に用いられる各種のネットワーク機器等にも適用される。
【０１５３】
なお、本発明は、各実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等が用いられる。
【０１５４】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現されるようにしてもよい。また、記憶媒体から読み出されたプログラムコードが、コンピュータのメモリに書きこまれた後、そのプログラムコードの指示に基づき、ＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって各実施形態の機能が実現されるようにしてもよい。
【０１５５】
さらに、実施形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信する。これにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納してもよい。そして、使用時にそのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０１５６】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。つまり、本発明は、各実施形態そのままに限定されるものではなく、実施段階では、その要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０１５７】
また、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【０１５８】
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。記述された実施形態の多様な態様及び／又はコンポーネントは、データを管理する機能を有するコンピュータ化ストレージシステムに於いて、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
【符号の説明】
【０１５９】
１Ａ〜１Ｄ…通信システム、１０…送信装置、２０…受信装置、３０…中継装置、６１…データパケット生成部、６２…冗長データ送信順序制御部、６３ａ，６３ｂ…送信バッファ、６４ａ，６４ｂ…送信処理部
【図１】
2015097349.tif 000003
【図２】
2015097349.tif 000004
【図３】
2015097349.tif 000005
【図４】
2015097349.tif 000006
【図５】
2015097349.tif 000007
【図６】
2015097349.tif 000008
【図７】
2015097349.tif 000009
【図８】
2015097349.tif 000010
【図９】
2015097349.tif 000011
【図１０】
2015097349.tif 000012
【図１１】
2015097349.tif 000013
【図１２】
2015097349.tif 000014
【図１３】
2015097349.tif 000015
【図１４】
2015097349.tif 000016
【図１５】
2015097349.tif 000017
【図１６】
2015097349.tif 000018
【図１７】
2015097349.tif 000019
【図１８】
2015097349.tif 000020
【図１９】
2015097349.tif 000021
【図２０】
2015097349.tif 000022
【図２１】
2015097349.tif 000023