(57)【要約】【課題】ＵＤＰを用いた通信においてパケットロスの回復を少ない通信遅延で実現することのできる通信システム、始端装置、中継装置及び終端装置を提供する。【解決手段】受信したパケットの通信経路が定まっているか否かを判断し、通信経路が定まっていない場合は、送信元と宛先のアドレスとポートとを外部装置に送信して、外部装置から通信識別子と少なくとも一つの次段装置のアドレスとを取得し、受信したパケットのヘッダの所定のフィールドの値を通信識別子に書き換え、パケットごとに再送識別子を発番し、パケットの長さフィールドの値を再送識別子に書き換え、パケットの宛先アドレスと送信元アドレスとを、それぞれ次段装置のアドレスと当該始端装置のアドレスとに書き換え、書き換えたパケットを全ての次段装置のアドレスに送信し、送信したパケット、通信識別子、再送識別子、及び次段装置のアドレスを再送パケット情報として保存する始端装置である。【選択図】図１
2015216535.tif 000002
【特許請求の範囲】
【請求項１】
受信したパケットを次段装置に送信する始端装置であって、
受信したパケットの送信元と宛先間の通信経路が定まっているか否かを判断する手段と、
前記通信経路が定まっていない場合は、前記送信元と前記宛先のアドレスとポートとを外部装置に送信して、前記外部装置から通信経路を特定する通信識別子と少なくとも一つの次段装置のアドレスとを取得する手段と、
受信したパケットのヘッダの所定のフィールドの値を前記通信識別子に書き換える手段と、
受信したパケットごとに再送識別子を発番する手段と、
受信したパケットのＵＤＰヘッダの長さフィールドの値を前記再送識別子に書き換える手段と、
受信したパケットの宛先アドレスと送信元アドレスとを、それぞれ次段装置のアドレスと当該始端装置のアドレスとに書き換える手段と、
書き換えた前記パケットを取得した全ての前記次段装置のアドレスに送信する手段と、
送信したパケット、前記通信識別子、再送識別子、及び次段装置のアドレスを再送パケット情報として保存する手段とを備える。
【請求項２】
前記外部装置に送信した前記送信元と前記宛先のアドレスとポートと、前記外部装置から取得した前記通信識別子と、を対応付けたパケット交換情報を保存する手段とを有し、
前記判断する手段は、受信したパケットの前記送信元と前記宛先のアドレスとポートとが前記パケット交換情報に含まれているときは、受信したパケットの送信元と宛先間の通信経路が定まっていると判断する、請求項１に記載の始端装置。
【請求項３】
前記次段装置から通信識別子と再送識別子とを含むＡＣＫパケットを受信する手段と、
前記次段装置のアドレス、受信したＡＣＫパケットの通信識別子、及び再送識別子を含む前記再送パケット情報を削除する手段とを備えた請求項２に記載の始端装置。
【請求項４】
前記書き換えたパケットを送信後、所定時間経過しても前記次段装置から前記ＡＣＫパケットが送信されないときは、前記再送パケット情報として保存した前記パケットを前記次段装置に再送する手段を有する請求項３に記載の始端装置。
【請求項５】
パケット通信において異常を検知したときは、当該パケット通信に使用される前記通信識別子を含む通信終了情報を外部に送信し、外部から前記通信識別子を含む通信削除依頼情報を受信したときは、当該通信識別子を含む情報を全て削除する手段を更に備えた請求項１乃至４のうちのいずれか１項に記載の始端装置。
【請求項６】
前段装置からパケットを受信して次段装置に送信する中継装置であって、
外部装置から通信経路を特定する通信識別子と少なくとも一つの次段装置のアドレスとを取得する手段と、
受信したパケットの宛先アドレスと送信アドレスとをそれぞれ次段装置のアドレスと、当該中継装置のアドレスとに書き換える手段と、
書き換えた前記パケットを、受信したパケットのヘッダの所定のフィールドの値と一致する前記通信識別子に対応する全ての前記次段装置のアドレスに送信する手段と、
受信したパケットのＵＤＰヘッダの長さフィールドの値を再送識別子として抽出する手段と、
前記前段装置に前記通信識別子と前記再送識別子とを含むＡＣＫパケットを送信する手段と、
送信したパケット、前記通信識別子、前記再送識別子、前記次段装置のアドレスを再送パケット情報として保存する手段とを備える。
【請求項７】
前記外部装置から取得した次段装置のアドレスが複数あるときは、
前記書き換える手段は、受信したパケットの宛先アドレスを複数の前記次段装置のアドレスに書き換えた複数のパケットを生成し、
前記送信する手段は、書き換えた複数のパケットをそれぞれの複数の宛先アドレスに送信し、
前記保存する手段は、送信した複数のパケット、前記通信識別子、前記再送識別子、及び複数の次段装置のアドレスを再送パケット情報として保存する請求項６に記載の中継装置。
【請求項８】
前記前段装置からパケットを受信したときは、受信したパケットに含まれる前記通信識別子、新たな前記再送識別子を到着済みパケット情報として記憶する手段と、
前記前段装置から受信したパケットに含まれる前記通信識別子、再送識別子が到着済みパケット情報として記憶されていたときは、当該パケットを破棄して前記前段装置に前記ＡＣＫパケットを送信する手段とを備える請求項６又は７に記載の中継装置。
【請求項９】
パケット通信において異常を検知したときは、当該パケット通信に使用される前記通信識別子を含む通信終了情報を外部に送信し、外部から前記通信識別子を含む通信削除依頼情報を受信したときは、当該通信識別子を含む情報を全て削除する手段を更に備えた請求項６乃至８のうちのいずれか１項に記載の中継装置。
【請求項１０】
前段装置からパケットを受信して受信機に送信する終端装置であって、
外部装置より通信経路を特定する通信識別子と、当該通信識別子に対応する送信機及び受信機それぞれのアドレスとポートとを取得する手段と、
受信したパケットのＵＤＰヘッダ長のフィールドの値を再送識別子として抽出する手段と、
前記ＵＤＰヘッダの長さフィールドの値をＩＰヘッダのフィールドの値を用いて復元する手段と、
受信したパケットの送信元及び宛先のアドレスを前記外部装置から取得した前記送信機及び受信機それぞれのアドレスに書き換える手段と、
前記通信識別子として記録されているパケットのヘッダの所定のフィールドを送信機から受信機へのパケット通信となるように元の値に復元する手段と、
書き換えた前記パケットを前記受信機に送信する手段と、
前記前段装置に前記通信識別子と前記再送識別子とを含むＡＣＫパケットを送信する手段とを備える。
【請求項１１】
前記前段装置からパケットを受信したときは、受信したパケットに含まれる通信識別子と新たな前記再送識別子とを到着済みパケット情報として記憶する手段と、
前記前段装置から受信したパケットに含まれる前記通信識別子と前記再送識別子とが到着済みパケット情報として記憶されていたときは、当該パケットを破棄して前記前段装置に前記ＡＣＫパケットを送信する手段とを備える請求項１０に記載の終端装置。
【請求項１２】
パケット通信において異常を検知したときは、当該パケット通信に使用される前記通信識別子を含む通信終了情報を外部に送信し、外部から前記通信識別子を含む通信削除依頼情報を受信したときは、当該通信識別子を含む情報を全て削除する手段を更に備えた請求項１０又は１１に記載の終端装置。
【請求項１３】
送信機から受信したパケットを第２の装置に送信する第１の装置と、前記第１の装置からパケットを受信して受信機に送信する第２の装置とを備える通信システムであって、
前記第１の装置は、
受信したパケットの送信元と宛先間の通信経路が定まっているか否かを判断する手段と、
前記通信経路が定まっていない場合は、前記送信元と前記宛先のアドレスとポートとを外部装置に送信して、前記外部装置から通信経路を特定する通信識別子と少なくとも一つの第２の装置のアドレスとを取得する手段と、
受信したパケットのヘッダの所定のフィールドの値を前記通信識別子に書き換える手段と、
受信したパケットごとに再送識別子を発番する手段と、
受信したパケットのＵＤＰヘッダの長さフィールドの値を前記再送識別子に書き換える手段と、
受信したパケットの宛先アドレスと送信元アドレスとを、それぞれ第２の装置のアドレスと当該第１の装置のアドレスとに書き換える手段と、
書き換えた前記パケットを取得した全ての前記第２の装置のアドレスに送信する手段と、
送信したパケット、前記通信識別子、再送識別子、及び第２の装置のアドレスを再送パケット情報として保存する手段とを備え、
前記第２の装置は、
外部装置より通信経路を特定する通信識別子と、当該通信識別子に対応する送信機及び受信機それぞれのアドレスとポートとを取得する手段と、
受信したパケットのＵＤＰヘッダ長のフィールドの値を再送識別子として抽出する手段と、
前記ＵＤＰヘッダの長さフィールドの値をＩＰヘッダのフィールドの値を用いて復元する手段と、
受信したパケットの送信元及び宛先のアドレスを前記外部装置から取得した前記送信機及び受信機それぞれのアドレスに書き換える手段と、
前記通信識別子として記録されているパケットのヘッダの所定のフィールドを送信機から受信機へのパケット通信となるように元の値に復元する手段と、
書き換えた前記パケットを前記受信機に送信する手段と、
前記第１の装置に前記通信識別子と前記再送識別子とを含むＡＣＫパケットを送信する手段とを備える。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信システム、始端装置、中継装置及び終端装置に関する。
【背景技術】
【０００２】
クラウド上で社会インフラシステムを構築する際、ＷＡＮ（Wide Area Network）を用いてＵＤＰ（User Datagram Protocol）で通信を行いたいとのニーズが存在する。ＵＤＰは、高速でリアルタイムな通信を行うシステムに適したプロトコルであるが、ＴＣＰ（Transmission Control Protocol）に比較して通信の信頼性は高くない。例えば、ＵＤＰでは、ＷＡＮなどのネットワーク中で消失したパケットを回復する手続きは規定されていないため、パケットロスが発生したことの検出とそのときの復旧は行われない。
【０００３】
特許文献１には、ＳＮＭＰ（Simple Network Management Protocol）を利用する監視システムのネットワーク信頼性の向上を目的とした技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１９４６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、中継装置を利用することで通信路の信頼性を高めようとする。そのため、中継装置間の通信では非接続型の通信プロトコル（ＵＤＰ）のパケットを接続型プロトコル（ＴＣＰ）のパケットに変換している。しかしながら、特許文献１に記載の技術では、通信の途中において、ＴＣＰに変換しているためパケットロスを回復するための通信の遅延が大きい場合には、帯域の利用効率が低下する。
【０００６】
本願は、斯かる事情に鑑みてなされたものであって、ＵＤＰを用いた通信においてパケットロスの回復を少ない通信遅延で実現することのできる通信システム、始端装置、中継装置及び終端装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明の実施の形態によれば、受信したパケットを次段装置に送信する始端装置であって、受信したパケットの送信元と宛先間の通信経路が定まっているか否かを判断する手段と、前記通信経路が定まっていない場合は、前記送信元と前記宛先のアドレスとポートとを外部装置に送信して、前記外部装置から通信経路を特定する通信識別子と少なくとも一つの次段装置のアドレスとを取得する手段と、受信したパケットのヘッダの所定のフィールドの値を前記通信識別子に書き換える手段と、受信したパケットごとに再送識別子を発番する手段と、受信したパケットのＵＤＰヘッダの長さフィールドの値を前記再送識別子に書き換える手段と、受信したパケットの宛先アドレスと送信元アドレスとを、それぞれ次段装置のアドレスと当該始端装置のアドレスとに書き換える手段と、書き換えた前記パケットを取得した全ての前記次段装置のアドレスに送信する手段と、送信したパケット、前記通信識別子、再送識別子、及び次段装置のアドレスを再送パケット情報として保存する手段とを備える始端装置が提供される。
【図面の簡単な説明】
【０００８】
【図１】第１の実施の形態の通信システムの全体構成を示す図。
【図２】第１の実施の形態の通信システムの始端装置に記憶されるデータの内容を示す図。
【図３】第１の実施の形態の通信システムの中継装置に記憶されるデータの内容を示す図。
【図４】第１の実施の形態の通信システムの終端装置に記憶されるデータの内容を示す図。
【図５】第１の実施の形態の通信システムの制御装置に記憶されるデータの内容を示す図。
【図６】第１の実施の形態の通信システムの各装置間で授受されるデータの内容を示す図。
【図７】第１の実施の形態の通信システムの各装置の配置とパケット転送経路とを示す図。
【図８】第１の実施の形態の通信システムの正常なパケット転送動作を示すフローチャート。
【図９】第１の実施の形態の通信システムの始端装置におけるパケット情報の作成方法を説明するための図。
【図１０】第１の実施の形態の通信システムの制御装置が作成する経路制御表を例示する図。
【図１１】第１の実施の形態の通信システムの制御装置による情報配布内容を説明するための図。
【図１２】第１の実施の形態の通信システムの制御装置１からパケット変換情報を受信した始端装置及び終端装置の処理内容を説明するための図。
【図１３】第１の実施の形態の通信システムの制御装置から経路情報を受信した始端装置及び中継装置の処理内容を説明するための図。
【図１４】第１の実施の形態の通信システムの正常なパケット転送動作を示すフローチャート。
【図１５】第１の実施の形態の通信システムの始端装置におけるパケットを送信するための準備処理を説明するための図。
【図１６】第１の実施の形態の中継装置におけるパケットを転送するための準備処理を説明するための図。
【図１７】第１の実施の形態の通信システムの始端装置における再送パケット情報削除処理を説明するための図。
【図１８】第１の実施の形態の通信システムにおける終端装置におけるパケットを転送するための準備処理を説明するための図。
【図１９】第１の実施の形態の通信システムにおける終端装置におけるパケットを転送するための準備処理を説明するための図。
【図２０】第１の実施の形態の通信システムのパケットロス発生時における再送動作を示すフローチャート。
【図２１】第１の実施の形態の通信システムにおける再送パケット情報更新処理を説明するための図。
【図２２】第１の実施の形態の通信システムの中継装置における受信したパケットを受け付けるか否かの判断処理を説明するための図。
【図２３】第１の実施の形態の通信システムの経路情報変更時における動作を示すフローチャート。
【図２４】第１の実施の形態の通信システムの経路情報変更時において未送信のパケットが存在する場合の動作を説明するための図。
【図２５】第１の実施の形態の通信システムにおける到達済みパケット情報のデータ更新方法を説明するための図。
【図２６】第１の実施の形態の通信システムの通信終了処理の動作を示すフローチャート。
【図２７】第１の実施の形態の通信システムにおける複数経路通信を説明するための図。
【図２８】第１の実施の形態の通信システムの始端装置が複数経路へ送信する方法を説明するための図。
【図２９】第１の実施の形態の通信システムの中継装置が複数経路へ送信する方法を説明するための図。
【図３０】第１の実施の形態の通信システムの中継装置が合流点となる場合の送信する方法を説明するための図。
【図３１】第１の実施の形態の通信システムの始端装置が複数経路へ送信する正常なパケット転送動作を示すフローチャート。
【図３２】第１の実施の形態の通信システムの始端装置における再送パケット情報の保存方法を説明するための図。
【図３３】第１の実施の形態の通信システムにおける複数経路送信時の再送パケット情報を削除する方法を説明するための図。
【図３４】第１の実施の形態の通信システムの経路情報変更時において未送信のパケットが存在する場合の動作を説明するための図。
【図３５】第１の実施の形態の通信システムにおける始端装置、終端装置がそれぞれ複数台備えられている通信システムの構成例と転送ルートとを示す図。
【図３６】第１の実施の形態の通信システムにおける経路制御表の内容を示す図。
【図３７】第１の実施の形態の通信システムにおける経路中継表の内容を示す図。
【図３８】第１の実施の形態の変形例に係る通信システムの始端装置におけるパケットを送信するための準備処理を説明するための図。
【図３９】第１の実施の形態の変形例に係る通信システムの終端装置におけるパケットを受信機に転送するための準備処理を説明するための図。
【図４０】第１の実施の形態の通信システムの始端装置における始端処理機能の動作を示すフローチャート。
【図４１】第１の実施の形態の通信システムの始端装置における経路始端表変更機能の動作を示すフローチャート。
【図４２】第１の実施の形態の通信システムの始端装置におけるパケット変換表更新機能の動作を示すフローチャート。
【図４３】第１の実施の形態の通信システムの始端装置と中継装置におけるＡＣＫパケット受信機能の動作を示すフローチャート。
【図４４】第１の実施の形態の通信システムの始端装置と中継装置におけるパケット再送機能の動作を示すフローチャート。
【図４５】第１の実施の形態の通信システムの中継装置における中継処理機能の動作を示すフローチャート。
【図４６】第１の実施の形態の通信システムの中継装置における経路中継表変更機能の動作を示すフローチャート。
【図４７】第１の実施の形態の通信システムの終端装置における終端処理機能の動作を示すフローチャート。
【図４８】第１の実施の形態の通信システムの終端装置における経路終端表変更機能の動作を示すフローチャート。
【図４９】第１の実施の形態の通信システムの制御装置における経路配布機能の動作を示すフローチャート。
【図５０】第１の実施の形態の通信システムの始端装置、中継装置、終端装置における通信終了情報送信機能の動作を示すフローチャート。
【図５１】第１の実施の形態の通信システムの制御装置における通信終了機能の動作を示すフローチャート。
【図５２】第１の実施の形態の通信システムの始端装置、中継装置、終端装置における通信削除機能の動作を示すフローチャート。
【図５３】第１の実施の形態の通信システムの各装置の第１の構成例を示す図。
【図５４】第１の実施の形態の通信システムの各装置の第２の構成例を示す図。
【図５５】第１の実施の形態の通信システムの各装置の第３の構成例を示す図。
【図５６】第１の実施の形態の通信システムの各装置の第４の構成例を示す図。
【図５７】第１の実施の形態の通信システムの各装置の第５の構成例を示す図。
【発明を実施するための形態】
【０００９】
［第１の実施の形態］  
図１は、第１の実施の形態の通信システム１００の全体構成を示す図である。  
通信システム１００は、制御装置１、送信機２、始端装置３、中継装置４、終端装置５、受信機６、制御通信線７、及びパケット通信線８を備えている。
【００１０】
制御装置１は、通信システム１００の通信経路を制御する。例えば、通信システム１００を構成する各装置に対して経路情報（パケットの転送先）を指示する。始端装置３は、送信機２から送信されたパケットが最初に通過する装置である。終端装置５は、受信機６に対して最後にパケットを送信する装置である。中継装置４は、始端装置３と終端装置５との間に設けられてパケットを転送する装置である。
【００１１】
図１では、簡略化して１台の中継装置４を表しているが、始端装置３と終端装置５との間に複数の中継装置４を設け、それらの複数の中継装置４を介してパケットを送信するように構成できる。また、図１に開示したように、通信システム１００では、送信機２及び受信機６は、それぞれ少なくとも１台が設けられる。即ち、通信システム１００は、複数台の送信機２と複数台の受信機６に対する通信が可能な構成である。
【００１２】
パケット通信線８は、送信機２、始端装置３、中継装置４、終端装置５、受信機６の間でパケット（後述するＡＣＫパケットを含む）を送受信するための通信回線である。このパケット通信線８で構成されるネットワークにおいて、パケットはＵＤＰによる通信方式で送受信される。制御通信線７は、始端装置３、中継装置４、及び終端装置５と制御装置１との間の経路制御情報の通信に用いられる通信回線である。経路制御情報には、パケット情報、経路情報、通信終了情報、パケット変換情報、通信削除依頼情報などが含まれる。これらの情報の内容については後述する。
【００１３】
制御装置１は、制御処理部１ａ及び制御記憶部１ｂを備えている。制御処理部１ａは、経路配布機能及び通信終了機能を備えている。経路配布機能は、始端装置３、中継装置４、終端装置５に対してパケットの転送先を指示する機能である。通信終了機能は、始端装置３、中継装置４、終端装置５の内の特定の装置に対して通信を終了させる機能である。制御記憶部１ｂには、経路配布機能の実行に用いられる情報として、経路制御表、装置位置情報が記憶されている。
【００１４】
始端装置３は、始端処理部３ａ、始端記憶部３ｂ、及び始端転送部３ｃを備えている。  
始端記憶部３ｂには、経路始端表、再送パケット表、パケット変換表、経路性能情報が記憶されている。経路始端表には始端装置３のパケット転送先が格納される。再送パケット表には、再送動作を制御する情報及び転送したパケットが含まれる。パケット変換表は、パケット内のヘッダのフィールドを書き換えるための情報を含んでいる。経路性能情報は、始端装置３の通信性能に関する情報であり、制御装置１がパケットの転送経路を決定する際に参照する情報である。
【００１５】
始端処理部３ａには、始端処理機能、ＡＣＫパケット受信機能、経路始端表変更機能、パケット変換表更新機能、パケット再送機能、通信終了情報送信機能、通信削除機能、経路性能計測機能が設けられている。始端処理機能は、転送を開始するパケットのデータを変更する機能である。ＡＣＫパケット受信機能は、中継装置４から返信されるＡＣＫパケットを受信して処理する機能である。経路始端表変更機能は、パケット転送先を変更する機能である。パケット変換表更新機能は、パケット変換表を最新の状況に対応するように更新する機能である。パケット再送機能は、パケットロスが発生した際にパケットを再送する機能である。通信終了情報送信機能は、始端装置３が自発的に通信終了を制御装置１に送信する機能である。通信削除機能は、制御装置１から指示された対象に関する通信情報を削除する機能である。  
始端転送部３ｃは、パケットの通信動作を制御するための通信インターフェースであるパケット処理機能と、当該機能の実行に用いられるフローテーブルとを備えている。
【００１６】
中継装置４は、中継処理部４ａ、中継記憶部４ｂ、及び中継転送部４ｃを備えている。  
中継記憶部４ｂには、経路中継表、再送パケット表、到着済みパケット表、経路性能情報が記憶されている。経路中継表には中継装置４のパケット転送先が格納される。再送パケット表には、再送動作を制御する情報及び転送したパケットが含まれる。到着済みパケット表には前段装置から転送されたパケットを識別するための履歴データが保存されている。経路性能情報は、中継装置４の通信性能に関する情報であり、制御装置１がパケットの転送経路を決定する際に参照する情報である。
【００１７】
中継処理部４ａには、中継処理機能、ＡＣＫパケット受信機能、経路中継表変更機能、パケット再送機能、通信終了情報送信機能、通信削除機能、経路性能計測機能が設けられている。中継処理機能は、中継するパケットのデータを変更する機能である。ＡＣＫパケット受信機能は、後段の装置から返信されるＡＣＫパケットを受信して処理する機能である。経路中継表変更機能は、パケット転送先を変更する機能である。パケット再送機能は、パケットロスが発生した際にパケットを再送する機能である。通信終了情報送信機能は、中継装置４が自発的に通信終了を制御装置１に送信する機能である。通信削除機能は、制御装置１から指示された対象に関する通信情報を削除する機能である。  
中継転送部４ｃは、パケットの通信動作を制御するための通信インターフェースであるパケット処理機能と、当該機能の実行に用いられるフローテーブルとを備えている。
【００１８】
終端装置５は、終端処理部５ａ、終端記憶部５ｂ、及び終端転送部５ｃを備えている。  
終端記憶部５ｂには、経路終端表、到着済みパケット表が記憶されている。経路終端表には終端装置５のパケット転送先が格納される。到着済みパケット表には、前段装置から転送されたパケットを識別するための履歴データが保存されている。
【００１９】
終端処理部５ａには、終端処理機能、経路終端表変更機能、通信終了情報送信機能、通信削除機能が設けられている。終端処理機能は、受信機６に転送するパケットのデータを変更する機能である。経路終端表変更機能は、パケット転送先を変更する機能である。通信終了情報送信機能は、終端装置５が自発的に通信終了を制御装置１に送信する機能である。通信削除機能は、制御装置１から指示された対象に関する通信情報を削除する機能である。  
終端転送部５ｃは、パケットの通信動作を制御するための通信インターフェースであるパケット処理機能と、当該機能の実行に用いられるフローテーブルとを備えている。
【００２０】
続いて、制御装置１、始端装置３、中継装置４、終端装置５に記憶されるデータ（テーブル、情報）及び各装置間で授受される情報の内容について説明する。
【００２１】
図２は、第１の実施の形態の通信システム１００の始端装置３に記憶されるデータの内容を示す図である。
【００２２】
経路始端表３Ｆには始端装置３のパケット転送先が格納される。経路始端表３Ｆには経路始端情報３ｆとして、「通信識別子」、「次段装置ＩＰ」、「再送識別子」が含まれる。「通信識別子」はどの送信機２からどの受信機６に対する通信かを特定するための情報である。「次段装置ＩＰ」はパケットを転送する次段装置のアドレスである。「再送識別子」は、転送するパケットごとに付番されるパケットを特定するデータである。なお、この経路始端表３Ｆには複数組の経路始端情報３ｆである「通信識別子」、「次段装置ＩＰ」、「再送識別子」が記憶される。
【００２３】
再送パケット表３Ｇには、再送パケット情報３ｇとして「通信識別子」、「次段装置ＩＰ」、「再送識別子」、「残り再送回数」、「送信日時」、「パケット」が記憶される。「通信識別子」はどの送信機２からどの受信機６に対する通信かを特定するための情報である。「次段装置ＩＰ」はパケットを転送する次段装置のアドレスである。「再送識別子」は転送されるパケットごとに付番されるパケットを特定するデータである。「残り再送回数」はパケットの再送制御に使用されるカウントデータである。「送信日時」はパケットを送信した日時であり、パケットロスの発生の有無を判断するためのタイムアウト検知に用いられる。「パケット」には転送したパケットが保存される。再送時にはこの保存されたパケットが用いられる。なお、この再送パケット表３Ｇには複数組の再送パケット情報３ｇ「通信識別子」、「次段装置ＩＰ」、「再送識別子」、「残り再送回数」、「送信日時」、「パケット」が記憶される。
【００２４】
パケット変換表３Ｊには、パケット変換情報３ｊとして「通信識別子」、「送信機ＩＰ」、「受信機ＩＰ」、「送信元ポート」、「宛先ポート」が記憶される。「通信識別子」はどの送信機２からどの受信機６に対する通信かを特定するための情報である。「送信機ＩＰ」はパケットを送信する送信機２のアドレスである。「受信機ＩＰ」はパケットを受信する受信機６のアドレスである。「送信元ポート」は送信機２のポート番号である。「宛先ポート」は受信機６のポート番号である。なお、パケット変換表３Ｊには、複数組のパケット変換情報３ｊである「通信識別子」、「送信機ＩＰ」、「受信機ＩＰ」、「送信元ポート」、「宛先ポート」が記憶される。
【００２５】
図３は、第１の実施の形態の通信システム１００の中継装置４に記憶されるデータの内容を示す図である。
【００２６】
経路中継表４Ｆには中継装置４のパケット転送先が格納される。経路中継表４Ｆには経路中継情報４ｆとして、「通信識別子」、「次段装置ＩＰ」が含まれる。「通信識別子」はどの送信機２からどの受信機６に対する通信かを特定するための情報である。「次段装置ＩＰ」はパケットを転送する次段装置のアドレスである。なお、この経路中継表４Ｆには複数組の経路中継情報４ｆである「通信識別子」、「次段装置ＩＰ」が記憶される。
【００２７】
再送パケット表４Ｇには再送パケット情報４ｇとして、「通信識別子」、「次段装置ＩＰ」、「再送識別子」、「残り再送回数」、「送信日時」、「パケット」が記憶される。この構成は、図２に示す再送パケット表３Ｇと同じ構成であるので、詳細の説明は省略する。
【００２８】
到達済みパケット表４Ｈには到達済みパケット情報４ｈとして「通信識別子」、「到達済み再送識別子」が含まれる。「通信識別子」はどの送信機２からどの受信機６に対する通信かを特定するための情報である。「到達済み再送識別子」には、前段の装置から転送されたパケットに付された再送識別子が通信識別子毎に時系列で複数記憶される。なお、到達済みパケット表４Ｈには、到達済みパケット情報４ｈとして「通信識別子」、「到達済み再送識別子」が複数組記憶される。
【００２９】
図４は、第１の実施の形態の通信システム１００の終端装置５に記憶されるデータの内容を示す図である。
【００３０】
経路終端表５Ｆには、経路終端情報５ｆとして、「通信識別子」、「送信機ＩＰ」、「受信機ＩＰ」、「送信元ポート」、「宛先ポート」が記憶される。この構成は、図２に示すパケット変換表３Ｊと同じ構成であるので、詳細の説明は省略する。
【００３１】
到達済みパケット表５Ｈには、到達済みパケット情報５ｈとして、「通信識別子」、「到達済み再送識別子」が含まれる。この構成は、図３に示す到達済みパケット表４Ｈと同じ構成であるので、詳細の説明は省略する。
【００３２】
図５は、第１の実施の形態の通信システム１００の制御装置１に記憶されるデータの内容を示す図である。
【００３３】
経路制御表１Ｄには経路制御情報１ｄとして、「通信識別子」、「装置ＩＰ」、「次段装置ＩＰ」が含まれる。「通信識別子」はどの送信機２からどの受信機６に対する通信かを特定するための情報である。「装置ＩＰ」はパケット転送動作を実行する装置のアドレスである。「次段装置ＩＰ」は当該装置がパケットを転送する次段の装置のアドレスである。即ち、経路制御情報１ｄには、通信システム１００において、パケットの転送動作を実行する装置と転送経路とを特定するデータが規定されている。なお、経路制御表１Ｄには複数組の経路制御情報１ｄ「通信識別子」、「装置ＩＰ」、「次段装置ＩＰ」が含まれる。
【００３４】
図６は、第１の実施の形態の通信システム１００の各装置間で授受されるデータの内容を示す図である。
【００３５】
パケット情報９ａには「送信機ＩＰ」、「受信機ＩＰ」、「送信元ポート」、「宛先ポート」が含まれる。「送信機ＩＰ」は送信機２のアドレスである。「受信機ＩＰ」は受信機６のアドレスである。「送信元ポート」は送信機２のポート番号である。「宛先ポート」は受信機６のポート番号である。パケット情報９ａは、始端装置３から制御装置１に送信される情報である。
【００３６】
経路情報９ｂには「通信識別子」、「次段装置ＩＰ」が含まれる。「通信識別子」はどの送信機２からどの受信機６に対する通信かを特定するための情報である。「次段装置ＩＰ」はパケットの転送先である次段の装置のアドレスである。経路情報９ｂは、制御装置１から始端装置３と中継装置４とに送信される。
【００３７】
ＡＣＫパケット９ｃには「通信識別子」、「再送識別子」が含まれる。「通信識別子」はどの送信機２からどの受信機６に対する通信かを特定するための情報である。「再送識別子」は、転送するパケットごとに付番されるパケットを特定するデータである。ＡＣＫパケット９ｃは、中継装置４から始端装置３に返信され、また終端装置５から中継装置４に返信されるデータである。
【００３８】
パケット変換情報９ｄには、「通信識別子」、「送信機ＩＰ」、「受信機ＩＰ」、「送信元ポート」、「宛先ポート」が含まれる。パケット変換情報９ｄに含まれる各データについては上述の内容と同様であるためその説明は省略する。パケット変換情報９ｄは、始端装置３から制御装置１に送信されるパケット情報９ａに対応して、制御装置１から始端装置３及び終端装置５に送信されるデータである。
【００３９】
通信終了情報９ｅには「通信識別子」が含まれる。通信終了情報９ｅは、始端装置３、中継装置４、終端装置５から制御装置１に送信されるデータである。  
通信削除依頼情報９ｆには「通信識別子」が含まれる。通信削除依頼情報９ｆは、制御装置１から始端装置３、中継装置４、終端装置５に送信されるデータである。
【００４０】
続いて、パケット転送動作について説明する。  
図７は、第１の実施の形態の通信システム１００の各装置の配置とパケット転送経路とを示す図である。
【００４１】
通信システム１００には、制御装置１、送信機２−１〜２−２、始端装置３、中継装置４−１〜４−３、終端装置５、及び受信機６−１〜６−２が備えられている。中継装置４−１〜中継装置４−３は、始端装置３と終端装置５の間の適宜の位置に配されている。初期状態では、実線で示す送信機２−２→始端装置３→中継装置４−３→終端装置５→受信機６−２がパケット転送の経路として定められている。
【００４２】
ここで、送信機２−１から受信機６−１に通信を行うケースを想定する。以下に示すパケット転送動作では、制御装置１によって、点線で示す送信機２−１→始端装置３→中継装置４−１→中継装置４−２→終端装置５→受信機６−１の転送経路が選択される。なお、説明の簡略のために以下の図において、送信機２−１を「Ａ」、送信機２−２を「Ｂ」、始端装置３を「始」、中継装置４−１〜４−３を「１」〜「３」、終端装置５を「終」、受信機６−１を「Ｃ」、受信機６−２を「Ｄ」と略記することがある。
【００４３】
図８は、第１の実施の形態の通信システム１００の正常なパケット転送動作を示すフローチャートである。
【００４４】
ステップＳ０１において、送信機２−１から受信機６−１に送信するパケットを受信すると、始端装置３は受信したパケットのデータが、初めて送信機２−１から受信機６−１に送信するパケットかどうかを判断する。初めて送信機２−１から受信機６−１に送信するパケットである場合は、ステップＳ０２において、始端装置３はパケット情報９ａを作成し、作成したパケット情報９ａを制御装置１に送信する。
【００４５】
図９は、第１の実施の形態の通信システム１００の始端装置３におけるパケット情報９ａの作成方法を説明するための図である。送信機２から送信されるパケットは、ＩＰヘッダ、ＵＤＰヘッダ、データで構成されている。始端装置３は、ＩＰヘッダの「送信元ＩＰ」と「宛先ＩＰ」とを取り出して、それぞれパケット情報９ａの「送信機ＩＰ」と「受信機ＩＰ」とに設定する。更に始端装置３は、ＵＤＰヘッダの「送信元ポート」と「宛先ポート」とを取り出して、それぞれパケット情報９ａの「送信元ポート」と「宛先ポート」とに設定する。
【００４６】
ここで、始端装置３は、受信したパケットのデータが初めて送信機２から受信機６に送信するパケットかどうかは、パケットのＩＰヘッダ、ＵＤＰヘッダのデータと、パケット変換表３Ｊのデータとを比較することにより判断する。即ち、図９の下段に記載したように、パケットの「送信元ＩＰ」、「宛先ＩＰ」、「送信元ポート」、「宛先ポート」のそれぞれがパケット変換表３Ｊの「送信機ＩＰ」、「受信機ＩＰ」、「送信元ポート」、「宛先ポート」のそれぞれと同じかどうかを調べる。少なくとも１つの項目が異なっていれば、受信したパケットは、初めてのルートで送信機２から受信機６に送信するパケットであると判断される。一方、全てが同じであれば、受信したパケットは、同じルートで送信機２から受信機６に送信されたことのあるパケットであると判断される。
【００４７】
図８のステップＳ０３において、パケット情報９ａを受信した制御装置１は、送信機２−１から受信機６−１に送信する経路の内から最適経路を決定する。そして、このパケットについて「通信識別子」を発番する。
【００４８】
最適経路の決定に際しては、制御処理部１ａは、制御記憶部１ｂにあるそれぞれの装置位置情報、それぞれの装置から収集した経路性能情報などに基づいて、例えば、パケットロス、遅延などの経路性能を利用する。そして、最適経路を決定した後、この最適経路に対応する「通信識別子」を発番して経路制御表１Ｄを更新する。
【００４９】
図１０は、第１の実施の形態の通信システム１００の制御装置１が作成する経路制御表を例示する図である。  
経路制御表１Ｄの第１行及び第２行は、既に作成済みの通信識別子が０の経路を表している。即ち、始端装置３→中継装置４−３→終端装置５の経路が規定されている。経路制御表１Ｄの第３行乃至第５行は、今回作成した通信識別子が１の経路を表している。即ち、始端装置３→中継装置４−１→中継装置４−２→終端装置５の経路が規定されている。
【００５０】
ここで、新たに発番する通信識別子は、経路制御表１Ｄ内の最新の通信識別子に１を加算した値とする。但し、１を加算した値が所定の最大値を超える場合は０に置き換える。後述するように、第１の実施の形態では、通信識別子は４バイト（＝３２ビット）で表現する。したがって、理論上は通信識別子の最大値は２３２となる。なお、通信識別子の最大値は、通信システム１００の構成に応じて適宜設定することができる。
【００５１】
そして、制御装置１はその経路制御表１Ｄをもとにパケット変換情報９ｄ及び経路情報９ｂを作成する。図８のステップＳ０４において、制御装置１は作成したパケット変換情報９ｄを始端装置３及び終端装置５に送信する。また、ステップＳ０５において、制御装置１は作成した経路情報９ｂを始端装置３及び中継装置４−１、４−２に送信する。
【００５２】
図１１は、第１の実施の形態の通信システム１００の制御装置１による情報配布内容を説明するための図である。制御装置１は、始端装置３及び終端装置５に対してパケット変換情報９ｄを送信する。また、制御装置１は、始端装置３、中継装置４−１、中継装置４−２に対してパケット転送先を示す経路情報９ｂを送信する。なお、中継装置４−３は、転送経路として選択されていないため、経路情報９ｂは転送されない。
【００５３】
図１２は、第１の実施の形態の通信システム１００の制御装置１からパケット変換情報を受信した始端装置３及び終端装置５の処理内容を説明するための図である。始端装置３は、パケット変換情報９ｄを受信すると、パケット変換表３Ｊにパケット変換情報３ｊとして情報を追加する。終端装置５は、パケット変換情報９ｄを受信すると経路終端表５Ｆに経路終端情報５ｆとして情報を追加する。
【００５４】
図１３は、第１の実施の形態の通信システム１００の制御装置１から経路情報を受信した始端装置３及び中継装置４の処理内容を説明するための図である。始端装置３、中継装置４（４−１、４−２）は経路情報９ｂを受信すると、それぞれ経路始端表３Ｆ、経路中継表４Ｆに情報を追加する。
【００５５】
図１４は、第１の実施の形態の通信システム１００の正常なパケット転送動作を示すフローチャートである。  
図１４のステップＳ１０において、始端装置３は、パケットを送信するための準備処理を実行する。
【００５６】
図１５は、第１の実施の形態の通信システム１００の始端装置３におけるパケットを送信するための準備処理を説明するための図である。
【００５７】
図１５（１）に示すように、始端装置３はパケット変換表３Ｊと経路始端表３Ｆとを作成した後に、パケットのＵＤＰヘッダの「宛先ポート」及び「送信元ポート」のフィールドの値（＝「１００００」、「１０００１」）を、パケット変換情報３ｊの「通信識別子」の値（＝１）で置き換える。更に始端装置３はパケットのＵＤＰヘッダの「長さ」フィールドの値（＝「１０００」）を、経路始端情報３ｆの「再送識別子」の値（＝「０」）で置き換える。そして、始端装置３は経路始端情報３ｆの「再送識別子」の値を次回のパケットに対する再送識別子の値（＝「１」）に更新する。
【００５８】
ここで、「宛先ポート」、「送信元ポート」のフィールドはそれぞれ２バイト（＝１６ビット）である。従って、通信識別子は４バイト（＝３２ビット）で表現でき、理論上は通信識別子の最大値は２３２となる。
【００５９】
図１５（２）に示すように、始端装置３は、始端装置３と中継装置４−１との間で通信するためにパケットのＩＰヘッダの「送信元ＩＰ」を始端装置３のアドレスとし、パケットのＩＰヘッダの「宛先ＩＰ」を経路始端情報３ｆの「通信識別子」＝１に対応する行の「次段装置ＩＰ」で置き換える。  
図１５（３）に示すように、始端装置３は、書き換えたパケット（ＩＰヘッダ、ＵＤＰヘッダ、データ）を再送パケット情報３ｇの「通信識別子」＝１に対応する行の「パケット」に保存する。
【００６０】
図１４のステップＳ１１において、始端装置３は、処理したパケットを中継装置４−１に送信する。そして、始端装置３は、送信時刻を再送パケット情報３ｇの「通信識別子」＝１に対応する行の「送信日時」に保存する。
【００６１】
図１４のステップＳ１２において、中継装置４−１は、受信したパケットを転送するための準備処理を実行する。図１６は、中継装置４−１におけるパケットを転送するための準備処理を説明するための図である。
【００６２】
図１６（１）に示すように、中継装置４−１は、パケットを受信すると、到達済みパケット情報４ｈの「通信識別子」に、ＵＤＰヘッダの「通信識別子」と一致する「通信識別子」がない場合は、到達済みパケット表４Ｈに「通信識別子」と「到達済み再送識別子」とを追加する。なお、到達済みパケット情報４ｈの「通信識別子」に、ＵＤＰヘッダの「通信識別子」と一致する「通信識別子」がある場合の処理については、後述する。
【００６３】
図１６（２）に示すように、中継装置４−１は、ＡＣＫパケット９ｃの「通信識別子」、「再送識別子」にそれぞれＵＤＰヘッダの「通信識別子」、「再送識別子」を記録する。また中継装置４−１は、パケットのＩＰヘッダの「送信元ＩＰ」を中継装置４−１のアドレスとし、パケットのＩＰヘッダの「宛先ＩＰ」を経路中継情報４ｆの通信識別子＝１に対応する「次段装置ＩＰ」で置き換える。
【００６４】
そして、図１４のステップＳ１３において、中継装置４−１は、ＡＣＫパケット９ｃをパケットの送信元ＩＰ（＝始端装置３）に送信する。またステップＳ１４において、中継装置４−１は、書き換えたパケットを中継装置４−２に送信する。
【００６５】
ステップＳ１５において、ＡＣＫパケット９ｃを受信した始端装置３は、再送パケット表３Ｇから該当する再送パケット情報３ｇを削除する。図１７は、始端装置３における再送パケット情報削除処理を説明するための図である。
【００６６】
図１７に示すように、始端装置３はＡＣＫパケット９ｃを受信すると、ＡＣＫパケット９ｃの送信元ＩＰアドレスと一致する、再送パケット情報３ｇの「次段装置ＩＰ」を抽出する。なお、ＡＣＫパケット９ｃの送信元ＩＰアドレスは、ＡＣＫパケット９ｃのヘッダに設けられたデータ（不図示）で識別することができる。そして、始端装置３は、ＡＣＫパケット９ｃの「通信識別子」、「再送識別子」と再送パケット表３Ｇの「通信識別子」、「再送識別子」とが一致する再送パケット情報３ｇを削除する。
【００６７】
図１４において、中継装置４−１から中継装置４−２へのパケット転送は、上述の始端装置３から中継装置４−１へのパケット転送と同様に行なわれる。なお、この中継装置４−１におけるＡＣＫパケット受信機能は、始端装置３におけるＡＣＫパケット受信機能と同様の動作である。図１４のステップＳ１６において、中継装置４−２が終端装置５に対してパケットを送信すると、終端装置５は、ステップＳ１７において、受信したパケットを受信機６−１に転送するための準備処理を実行する。図１８、図１９は、終端装置５におけるパケットを転送するための準備処理を説明するための図である。
【００６８】
図１８に示すように、終端装置５はパケットを受信すると、到達済みパケット情報５ｈの「通信識別子」に、ＵＤＰヘッダの「通信識別子」と一致する「通信識別子」がない場合は、到達済みパケット表５Ｈに「通信識別子」と「到達済み再送識別子」を追記する。到達済みパケット情報５ｈの「通信識別子」に、ＵＤＰヘッダの「通信識別子」と一致する「通信識別子」がある場合は、後述する。
【００６９】
図１９に示すように、終端装置５は、パケットのＵＤＰヘッダの通信識別子（＝「送信元ポート」、「宛先ポート」フィールドのデータ）をキーワードとして経路終端表５Ｆをサーチする。そして該当した経路終端情報５ｆの「送信機ＩＰ」、「受信機ＩＰ」で、パケットのＩＰヘッダの「送信元ＩＰ」、「宛先ＩＰ」を置き換えて元に戻す。また、終端装置５は、経路終端情報５ｆの「送信元ポート」、「宛先ポート」で、ＵＤＰヘッダの「送信元ポート」、「宛先ポート」を置き換えて元に戻す。更に、終端装置５は、パケットのＵＤＰヘッダの「長さ」を復元する。即ち、ＵＤＰヘッダの「長さ」＝ＩＰヘッダの「パケット長」−ＩＰヘッダの「ヘッダ長」として求める。
【００７０】
図１４のステップＳ１９において、終端装置５は受信機６−１にパケットを送信する。なお、ステップＳ１８において、終端装置５は、中継装置４−２にＡＣＫパケット９ｃを送信するが、この動作はステップＳ１３、ステップＳ１５において説明した動作と同様であるためその説明は省略する。
【００７１】
なお、上述の初期状態からの最初のパケットの送信に続く２個目以降のパケットの送信動作については、既に経路が定まっている（同じ「送信元ＩＰ」、「宛先ＩＰ」、「送信元ポート」、「宛先ポート」を持つ通信識別子が存在する）ため、始端装置３から制御装置１への新たな経路を作成するためのパケット情報９ａの送信は行われない。その後の始端装置３、中継装置４−１〜４−２、終端装置５でのＩＰヘッダ、ＵＤＰヘッダの書き換えとパケットの転送は上述の動作と同様に行われる。
【００７２】
続いて、パケットロス発生時における再送動作について説明する。  
パケットロスが発生したとして認識される状況としては、[ケース１]送信したパケットが宛先に届かなかった場合、[ケース２]送信したパケットは宛先に到達したが、宛先からのＡＣＫパケット９ｃが送信元に届かなかった場合、の２つのケースがある。以下にはこの２つのケースについて動作を説明する。
【００７３】
図２０は、第１の実施の形態の通信システム１００のパケットロス発生時における再送動作を示すフローチャートである。
【００７４】
ステップＳ２１において、送信機２からパケットを受信すると、ステップＳ２２において、始端装置３は、パケットを送信するための準備処理を実行する。この準備処理の内容は、図１４のステップＳ１０の処理と同様であるためその詳細の説明は省略する。
【００７５】
[ケース１の処理]  
ステップＳ２３において、始端装置３は、中継装置４−１に対してパケットを送信する。しかし、送信したパケットは、中継装置４−１に到達するまえにロスする。従って、中継装置４−１からはＡＣＫパケット９ｃは返送されない。ステップＳ２４において、パケット送信後の対応動作が実行される。始端装置３は、パケット再送の要否を判断する。即ち、始端装置３は、パケットの送信日時から所定の時間内にＡＣＫパケット９ｃが届いていなければパケットロスが発生したとして、ステップＳ２５において、パケットを再送する。そして、再送パケット情報３ｇを更新する。
【００７６】
図２１は、再送パケット情報更新処理を説明するための図である。始端装置３は、パケット再送時に送信日時を更新する。送信日時は、再送したパケットがロスしたかどうかの判断に用いられる。始端装置３は、再送するたびに再送パケット情報３ｇの「残り再送回数」を１減少する。もし、「残り再送回数」が０であれば、当該再送パケット情報３ｇを削除する。「残り再送回数」が０でなければ、ステップＳ２４の処理に戻って上述の処理を繰り返して実行する。
【００７７】
[ケース２の処理]  
図２０のステップＳ２２において、始端装置３は、パケットを送信するための準備処理を実行する。ステップＳ３１において、始端装置３は、中継装置４−１に対してパケットを送信する。パケットを受信した中継装置４−１は、ステップＳ３２において受信したパケットを転送するための準備処理を実行する。この動作は、図１４のステップＳ１２と同様であるため、その詳細の説明は省略する。ステップＳ３３において、中継装置４−１は、ＡＣＫパケット９ｃを始端装置３に送信する。ステップＳ３４において、中継装置４−１は、中継装置４−２にパケットを転送する。
【００７８】
しかし、始端装置３に送信したＡＣＫパケット９ｃは、始端装置３に到達する前にロスする。ステップＳ３５において、始端装置３は、パケット送信後の対応動作を実行する。始端装置３は、パケット再送の要否を判断する。即ち、始端装置３は、パケットの送信日時から所定の時間内にＡＣＫパケット９ｃが届いていなければパケットロスが発生したとして、ステップＳ３６において、パケットを再送する。そして、再送パケット情報３ｇを更新する。この動作は、ステップＳ２４の動作と同様であるため詳細の説明は省略する。
【００７９】
図２０のステップＳ３７において、中継装置４−１は、受信したパケットを受け付けるか否かの判断処理を実行する。図２２は、中継装置４−１における受信したパケットを受け付けるか否かの判断処理を説明するための図である。
【００８０】
図２２に示すように、中継装置４−１は、受信したパケットのＵＤＰヘッダの再送識別子が、通信識別子が一致する到達済みパケット情報４ｈに記録されていた場合は受信したパケットを破棄する。この場合はＡＣＫパケット９ｃが始端装置３に届いていないため、ステップＳ３８において、中継装置４−１は、ＡＣＫパケット９ｃをもう一度始端装置３に送信する。
【００８１】
次に、経路情報変更時の動作について説明する。経路情報変更時とは、これまで利用したパケット転送経路を変更するケースのことである。  
図２３は、第１の実施の形態の通信システム１００の経路情報変更時における動作を示すフローチャートである。
【００８２】
図２３の上段には、上述のように初期状態において経路情報を取得する動作が示されている。初期状態においては、始端装置３からのパケット情報に基づいて制御装置１が経路情報を配布した。これに対し、経路情報変更時とは、例えば、通信システム１００を構成する一部の中継装置４、パケット通信線８などに不具合が発生したため転送経路を変更するようなケースが該当する。このときは、例えば、通信システム１００の管理者の指示により、制御装置１から新たな経路情報が送信される。
【００８３】
図２３の下段に示す経路情報変更時の動作では、中継装置４−１に不具合が生じたため中継装置４−１を使用せず、始端装置３から中継装置４−２にパケットを転送するように変更する。即ち、ステップＳ４０において、制御装置１は中継装置４−１に経路情報９ｂをリセットする新たな情報を送信する。ステップＳ４１において、制御装置１は、始端装置３、終端装置５に新たなパケット変換情報９ｄを送信する。また、ステップＳ４２において、制御装置１は、始端装置３、中継装置４−２に新たな経路情報９ｂを送信する。新たな経路情報などを受信した装置の動作は、初期状態での動作と同様であるため、その詳細の説明は省略する。なお、上述のフローにおいては全ての装置に新たな経路情報などを送信しているが、情報が変更しない装置には経路情報などを送信しないこととすることができる。
【００８４】
図２４は、経路情報変更時において未送信のパケットが存在する場合の動作を説明するための図である。図２４に示す例では、始端装置３から中継装置４を経由せず直接終端装置５にパケットを送信するように変更されている。始端装置３は、制御装置１から新たな経路情報９ｂを受信すると、再送パケット表３Ｇの通信識別子が一致する再送パケット情報３ｇの「パケット」に保存されているパケットがある場合は、そのパケットについてＩＰヘッダの宛先ＩＰを書換える。そして、始端装置３は、書き換えたパケットを送信する。この動作は中継装置４についても同様である。
【００８５】
図２５は、到達済みパケット情報４ｈ、５ｈのデータ更新方法を説明するための図である。到達済みパケット情報４ｈ、５ｈに受信したパケットの通信識別子と同じ通信識別子がある場合、中継装置４（終端装置５）の中継処理機能（終端処理機能）は受信したパケットの再送識別子より所定数ｎ若い再送識別子を到達済みパケット情報４ｈ（５ｈ）の到達済み再送識別子から削除する。図２５に示す例では、ｎ＝１０００の場合、１０００の再送識別子を持つパケットが到達すると、到達済み再送識別子から０の再送識別子を削除して、新たに再送識別子を追加する。これによって、再送識別子の数を抑制することができる。
【００８６】
次に、通信終了処理について説明する。  
通信終了処理は、始端装置３、中継装置４、終端装置５のいずれかが通信の異常を検知することにより、あるいは通信異常の恐れがあるため処理を続行することができないと判断されるときに、当該通信異常の通信識別子に対応する通信情報を削除する処理である。通信終了処理が開始される場合として、（１）各装置３，４，５が自発的に異常を検知する場合、（２）制御装置１が通信終了を判断する場合、の２つのケースが考えられる。
【００８７】
図２６は、第１の実施の形態の通信システム１００の通信終了処理の動作を示すフローチャートである。
【００８８】
始端装置３、中継装置４、終端装置５のいずれかが通信の異常を検知して通信を終了させようとする場合、ステップＳ４５において、始端装置３、中継装置４、終端装置５のいずれかが、制御装置１に通信終了情報９ｅを送信する。送信する通信終了情報９ｅには終了させようとする通信の「通信識別子」が含まれる。通信の異常としては、例えば送信機２の異常、受信機６の異常、経路の異常による場合などである。このような異常は、例えば送信機２から受信機６への通信が当該装置３，４，５で一定時間行われているかどうかで判断することもできる。
【００８９】
この通信終了情報９ｅを受信した制御装置１は、ステップＳ４６において、経路制御表１Ｄから通信終了情報９ｅに含まれる通信識別子と同じ通信識別子をもつ経路制御情報１ｄを削除する。ここで、通信終了情報は始端装置３、中継装置４、終端装置５のいずれかからの通信終了情報９ｅ以外に、制御装置１が自発的に通信状態をチェックすることで検知することもできる。例えば、制御装置１が始端装置３、中継装置４、終端装置５に対して行ったＩＣＭＰ（Internet Control Message Protocol）エコー要求に対する応答の有無で検知することもできる。
【００９０】
ステップＳ４７において、制御装置１は経路制御表１Ｄの、通信終了情報９ｅに含まれる通信識別子と同じ通信識別子に関連づけされている全ての始端装置３、中継装置４、終端装置５に対して通信削除依頼情報９ｆを送信する。通信削除依頼情報９ｆには通信終了情報９ｅに含まれる通信識別子と同じ通信識別子が記載されている。
【００９１】
ステップＳ４８において、通信削除依頼情報９ｆを受信した始端装置３、中継装置４、終端装置５は適宜、経路始端表３Ｆ、経路中継表４Ｆ、経路終端表５Ｆ、パケット変換表３Ｊ、到着済みパケット表４Ｈ、５Ｈの中から同じ通信識別子をもつデータを削除する。
【００９２】
[複数経路を使用した通信]  
次に、送信機２から受信機６への通信が複数の経路を使用する場合の動作について説明する。
【００９３】
図２７は、第１の実施の形態の通信システム１００における複数経路通信を説明するための図である。  
上述のように、経路が１つだけのときには経路中の中継装置４−１が故障した場合、通信が不可能となり、経路を変更する場合であっても管理者の変更指示を入力するなどにより、多くの時間が必要となる。また、経路が１つだけの場合には通信が不能にならなくても、ネットワークの性能劣化の影響を受けやすくなる。そこで図２７に示すように、送信機２−１→始端装置３→中継装置４−３→終端装置５→受信機６−１の経路を更に設け、この経路にも同じ内容のパケットを転送する。このように複数の経路を用いた通信を実現することで一つの通信経路が故障した場合であっても通信に影響がないように構成する。
【００９４】
図２８は、通信システム１００の始端装置が複数経路へ送信する方法を説明するための図である。
【００９５】
通信の分岐点となる始端装置３は、中継装置４−１と中継装置４−３の両方の経路にパケットを送信する。そのため、複数の中継装置４−１、４−２にパケットを送信する場合は、経路始端表３Ｆには宛先ＩＰを複数記載する。  
合流点となる終端装置５では、先に到達したパケットのみを受信機６に送信する。後から到達したパケットについては破棄する。この動作は、図２０のケース２におけるＡＣＫパケット未到達での動作と同じである。従って、上述の機能を備えていれば新たに機能を追加する必要はない。
【００９６】
図２９は、通信システム１００の中継装置が複数経路へ送信する方法を説明するための図である。
【００９７】
始端装置３でなく中継装置４−１が分岐点であっても良い。このときは、通信の分岐点となる中継装置４−１は、中継装置４−２と中継装置４−３の両方の経路にパケットを送信する。そのため、複数の中継装置４−２、４−３にパケットを送信する場合は、経路中継表４Ｆの通信識別子＝１に対応する経路中継情報４ｆの宛先ＩＰには複数の宛先を記載する。
【００９８】
図３０は、通信システム１００の中継装置が合流点となる場合の送信する方法を説明するための図である。
【００９９】
図２８と同様に、合流点となった中継装置４−２は、先に到達したパケットのみを終端装置５に送信する。後から到達したパケットについては破棄する。この動作は、図２０のケース２におけるＡＣＫパケット未到達での動作と同じである。従って、上述の機能を備えていれば新たに機能を追加する必要はない。
【０１００】
図３１は、通信システム１００の始端装置が複数経路へ送信する正常なパケット転送動作を示すフローチャートである。
【０１０１】
ステップＳ４１において、送信機２からパケットを受信すると、ステップＳ４２において、始端装置３は、パケットを送信するための準備処理を実行する。この準備処理の内容のうち再送パケット表３Ｇに保存する動作では、複数の経路に送信した場合は、複数のデータを保存する。
【０１０２】
図３２は、始端装置３における再送パケット情報の保存方法を説明するための図である。経路始端表３Ｆの経路始端情報３ｆに複数の次段装置ＩＰが設定されている場合は、再送パケット表３Ｇには次段装置ＩＰごとの再送パケット情報３ｇを保存する。即ち、次段装置ＩＰのみが異なり、その他の項目は同一の複数の再送パケット情報３ｇが再送パケット表３Ｇに記憶される。
【０１０３】
図３１のステップＳ４２における準備処理の内、その他の内容は、図１４のステップＳ１０の処理と同様であるためその詳細の説明は省略する。
【０１０４】
図３１のステップＳ４３、Ｓ４４におけるパケットの送信に対応して、ステップＳ４５、Ｓ４６においてＡＣＫパケット９ｃが返信されてきたときは、始端装置３は、ステップＳ４７において、ＡＣＫパケットに合致する再送パケット情報３ｇを削除する。図３３は、複数経路送信時の再送パケット情報３ｇを削除する方法を説明するための図である。
【０１０５】
始端装置３はＡＣＫパケット９ｃの送信元ＩＰアドレスと一致する「次段装置ＩＰ」をもつ、再送パケット情報３ｇの「次段装置ＩＰ」を抽出する。なお、ＡＣＫパケット９ｃの送信元ＩＰアドレスは、ヘッダに設けられたデータ（不図示）で識別することができる。そして、始端装置３は、ＡＣＫパケット９ｃの「通信識別子」、「再送識別子」と一致する「通信識別子」、「再送識別子」とをもつ再送パケット情報３ｇを削除する。
【０１０６】
図３１のステップＳ５１において、中継装置４−２からパケットが終端装置５に送信され、ステップＳ５２において、中継装置４−３からパケットが終端装置５に送信される。ステップＳ５３において、終端装置５は、先に送信されたパケットを受取り、ステップＳ５４においてそのパケットを受信機６に送信する。そして、後から送信されたパケットを破棄する。
【０１０７】
図３４は、経路情報変更時において未送信のパケットが存在する場合の動作を説明するための図である。
【０１０８】
複数経路の内、始端装置３→中継装置４−１→中継装置４−２→終端装置５の経路は、中継装置４−１の故障により使用されず、新たに始端装置３→終端装置５の経路が設定されている。このとき、始端装置３と中継装置４−２には、制御装置１から新たな経路情報９ｂが送信される。始端装置３と中継装置４−２は、経路情報９ｂを受信すると以下の動作を実行する。
【０１０９】
（１）経路情報９ｂに含まれる通信識別子と同じ通信識別子をもつ再送パケット情報３ｇを抽出する。（２）抽出された再送パケット情報３ｇの「パケット」にある再送パケットについて、残り再送回数が最も多い再送パケット以外の再送パケットを破棄する、（２）残した再送パケットを経路情報９ｂに記載されている次段装置ＩＰの数だけ複製する、（３）それぞれの再送パケットの次段装置ＩＰを書き換える、（４）書き換えた再送パケットをそれぞれ送信する。
【０１１０】
以上説明したように、本実施の形態の通信システム１００の制御の枠組み（制御フレーム）をそのまま適用して、複数経路を使用した通信を実現することができる。
【０１１１】
[複数の始端装置、終端装置を使用した通信]  
次に、始端装置、終端装置がそれぞれ複数台備えられている場合の動作について説明する。
【０１１２】
図３５は、始端装置、終端装置がそれぞれ複数台備えられている通信システム１００の構成例と転送ルートとを示す図である。図３５には、実線で示す第１の転送ルートと点線で示す第２の転送ルートとが記載されている。
【０１１３】
第１の転送ルートは、第１の経路（送信機２−１→始端装置３−１→中継装置４−１→終端装置５−１→受信機６−１）と第２の経路（送信機２−１→始端装置３−１→中継装置４−２→終端装置５−１→受信機６−１）の複数経路を使用している。第２の転送ルートは、第３の経路（送信機２−２→始端装置３−２→中継装置４−２→終端装置５−２→受信機６−２）と第４の経路（送信機２−２→始端装置３−２→中継装置４−２→中継装置４−１→終端装置５−２→受信機６−２）の複数経路を使用している。
【０１１４】
図３６は、経路制御表の内容を示す図である。  
図３６に示すように経路制御表１Ｄに経路制御情報１ｄを記載することによって、始端装置、終端装置がそれぞれ複数台備えられ、かつ複数経路を使用した通信であっても、パケット転送ルートは識別可能に規定することができる。
【０１１５】
図３７は、経路中継表の内容を示す図である。  
経路中継表４Ｆでは、通信識別子ごとに宛先を規定している。従って、通信識別子により通信ごとにパケットを次装置に転送することが可能である。従って、複数の始端装置、終端装置が設けられている場合にも対応することができる。
【０１１６】
以上説明したように、本実施の形態の通信システム１００の制御の枠組み（制御フレーム）をそのまま適用して、複数の始端装置、終端装置が設けられている場合においてもパケット転送を実現することができる。
【０１１７】
[第１の実施の形態の変形例]  
第１の実施の形態では、図１５（１）に示すように、パケットのＵＤＰヘッダの「宛先ポート」及び「送信元ポート」のフィールドの値を、「通信識別子」の値で置き換えて転送した。しかしながら、この方式ではポートが書き換えられているため、始端装置３とＷＡＮとの間にＮＡＴ（ネットワーク変換装置）を設置することができない。そこで、変形例では、パケットのＵＤＰヘッダの「チェックサム」のフィールドの値を、「通信識別子」の値で置き換える。
【０１１８】
図３８は、第１の実施の形態の変形例に係る通信システム１００の始端装置３におけるパケットを送信するための準備処理を説明するための図である。
【０１１９】
始端装置３はパケット変換表３Ｊと経路始端表３Ｆとに新たな情報を追加した後に、パケットのＵＤＰヘッダの「チェックサム」のフィールドの値を、パケット変換情報３ｊの「通信識別子」の値（＝１）で置き換える。更に始端装置３はパケットのＵＤＰヘッダの「長さ」フィールドの値（＝「１０００」）を、パケット変換情報３ｊの「再送識別子」の値（＝「０」）で置き換える。そして、始端装置３はパケット変換情報３ｊの「再送識別子」の値を次回のパケットに対する再送識別子の値（＝「１」）に更新する。ここで、「チェックサム」のフィールドは２バイト（＝１６ビット）であるため、通信識別子は２バイト（＝１６ビット）で表現でき、通信識別子の最大値は２１６となる。
【０１２０】
図３９は、第１の実施の形態の変形例に係る通信システム１００の終端装置５におけるパケットを受信機に転送するための準備処理を説明するための図である。
【０１２１】
図３９に示すように、終端装置５は、パケットのＵＤＰヘッダの通信識別子（「チェックサム」のデータ）をキーワードとして経路終端表５Ｆをサーチする。そして該当した経路終端情報５ｆの「送信機ＩＰ」、「受信機ＩＰ」で、パケットのＩＰヘッダの「送信元ＩＰ」、「宛先ＩＰ」を置き換えて元に戻す。また終端装置５は、パケットのＵＤＰヘッダの「長さ」を復元する。即ち、ＵＤＰヘッダの「長さ」＝ＩＰヘッダの「パケット長」−ＩＰヘッダの「ヘッダ長」として求める。更に、終端装置５は、パケットのＵＤＰヘッダの「チェックサム」を復元する。チェックサムの計算方法はＲＦＣ７６８に記載されている。
【０１２２】
以上説明した第１の実施の形態の変形例によれば、パケットのＵＤＰヘッダの「宛先ポート」及び「送信元ポート」のフィールドが書き換えられないため、ＷＡＮの手前にＮＡＴを配置することができる。なお、変形例では、通信識別子の数の最大値は２１６となり、第１の実施の形態の通信識別子の数の最大値２３２よりも少ないことに留意が必要である。
【０１２３】
次に、各装置の処理部が実行する機能の処理フローを説明する。
【０１２４】
図４０は、第１の実施の形態の通信システム１００の始端装置３における始端処理機能の動作を示すフローチャートである。
【０１２５】
ステップＴ０１において、始端処理部３ａが送信機２からパケットを受信したときは、ステップＴ０２において、パケット変換表３Ｊに受信したパケットの通信識別子が存在するかどうかを調べる。即ち、受信したパケットに記載されている「送信元ＩＰ」、「宛先ＩＰ」、「送信元ポート」、「宛先ポート」と、同一の「送信機ＩＰ」、「受信機ＩＰ」、「送信元ポート」、「宛先ポート」をもつパケット変換情報３ｊがあったときは、通信識別子が存在すると判断する。
【０１２６】
通信識別子が存在しない場合（Ｔ０２でＮＯ）、ステップＴ０３において、始端処理部３ａは制御装置１に対してパケット情報９ａを送信する。ステップＴ０４において、始端処理部３ａは制御装置１からパケット変換情報９ｄを受信してパケット変換表３Ｊを変更（作成）する。ステップＴ０５において、始端処理部３ａは制御装置１から経路情報９ｂを受信して経路始端表３Ｆを変更（作成）する。そして、ステップＴ０６の処理に進む。
【０１２７】
通信識別子が存在する場合（Ｔ０２でＹＥＳ）、ステップＴ０６において、以下の処理を通信識別子が一致する全ての経路にパケットを転送するまで繰り返す。
【０１２８】
ステップＴ０７において、始端処理部３ａは受信したパケットのＵＤＰヘッダの通信識別子として使用するフィールドの値を、パケット変換情報３ｊの「通信識別子」の値に書き換える。ステップＴ０８において、始端処理部３ａは受信したパケットのＵＤＰヘッダの「長さ」をパケット変換情報３ｊの再送識別子に書き換える。ステップＴ０９において、始端処理部３ａは受信したパケットのＩＰヘッダの「送信元ＩＰ」、「宛先ＩＰ」を、始端装置３のＩＰとパケット変換情報３ｊの「次段装置ＩＰ」とに書き換える。ステップＴ１０において、書き換えたパケットを次段装置ＩＰに向けて送信する。ステップＴ１１において、始端処理部３ａは送信したパケット、通信識別子、次段装置ＩＰ、再送識別子、残り再送回数、送信日時を再送パケット情報３ｇとして再生パケット表３Ｇに保存する。
【０１２９】
ステップＴ０７〜Ｔ１１の処理を繰り返して、通信識別子が一致する全ての経路にパケットを転送したとき（Ｔ０６でＹＥＳ）は、ステップＴ１２において、始端処理部３ａは送信機２からの次のパケットに対応する再送識別子に、経路始端情報３ｆの再送識別子を更新し処理を終了する。
【０１３０】
図４１は、第１の実施の形態の通信システム１００の始端装置３における経路始端表変更機能の動作を示すフローチャートである。
【０１３１】
ステップＴ１５において、制御装置１から経路情報９ｂを受信したときは、ステップＴ１６において、始端処理部３ａは経路始端情報３ｆの新規登録かどうかを調べる。即ち、経路情報９ｂの通信識別子と同一の通信識別子が経路始端表３Ｆに無い場合は新規登録であると判断する。経路始端情報３ｆの新規登録である場合（Ｔ１６でＹＥＳ）、ステップＴ２３において、始端処理部３ａは受信した経路情報９ｂに基づいて経路始端表３Ｆにデータを追加して、処理を終了する。
【０１３２】
経路始端情報３ｆの新規登録でない場合（Ｔ１６でＮＯ）、経路の変更処理を実行する。ステップＴ１７において、始端処理部３ａは経路情報９ｂの通信識別子と同一の通信識別子をもった経路始端情報３ｆのデータを削除する。ステップＴ１８において、始端処理部３ａは同一の通信識別子をもつ再送パケット情報３ｇの「パケット」フィールドにある再送パケットの中で残り再送回数が一番多いもの以外の再送パケットを削除する。
【０１３３】
ステップＴ１９において、始端処理部３ａは削除せずに残した再送パケットを、経路情報９ｂの「次段装置ＩＰ」フィールドに格納されているＩＰの数だけ複製する。ステップＴ２０において、始端処理部３ａは複製した再送パケットのＩＰヘッダにある「宛先ＩＰ」を経路情報９ｂの「次段装置ＩＰ」で更新する。ステップＴ２１において、始端処理部３ａは宛先ＩＰを更新した再送パケットを送信する。ステップＴ２２において、始端処理部３ａは、同じ通信識別子をもつ再送パケット情報３ｇの「次段装置ＩＰ」を更新する。ステップＴ２３において、始端処理部３ａは受信した経路情報９ｂに基づいて経路始端表３Ｆにデータを追加して、処理を終了する。
【０１３４】
図４２は、第１の実施の形態の通信システム１００の始端装置３におけるパケット変換表更新機能の動作を示すフローチャートである。
【０１３５】
ステップＴ２５において、制御装置１からパケット変換情報９ｄを受信すると、ステップＴ２６において、始端処理部３ａは新たな通信識別子の登録であるかどうかを調べる。即ち、パケット変換表３Ｊに同一の通信識別子をもつパケット変換情報３ｊがない場合は、新たな通信識別子が送信されたと判断される。新たな通信識別子が送信された場合（Ｔ２６でＹＥＳ）は、ステップＴ２８において、パケット変換情報９ｄに基づいて、パケット変換表３Ｊに新たなデータを追加する。新たな通信識別子で無い場合（Ｔ２６でＮＯ）は、ステップＴ２７において、これまでのデータを削除する。そして、ステップＴ２８において、パケット変換情報９ｄに基づいて、パケット変換表３Ｊに新たなデータを追加する。
【０１３６】
図４３は、第１の実施の形態の通信システム１００の始端装置３と中継装置４におけるＡＣＫパケット受信機能の動作を示すフローチャートである。
【０１３７】
ステップＴ３１において、始端処理部３ａ（中継処理部４ａ）は次段の装置からＡＣＫパケット９ｃを受信する。ステップＴ３２において、始端処理部３ａ（中継処理部４ａ）は、ＡＣＫパケット９ｃに含まれている「通信識別子」、「再送識別子」、「送信元ＩＰ」と合致する、再送パケット情報３ｇの「通信識別子」、「再送識別子」、「次段装置ＩＰ」を検索する。そして、合致する再送パケット情報３ｇを削除する。
【０１３８】
図４４は、第１の実施の形態の通信システム１００の始端装置３と中継装置４におけるパケット再送機能の動作を示すフローチャートである。
【０１３９】
ステップＴ３５において、始端処理部３ａ（中継処理部４ａ）は、再送パケット情報３ｇ（４ｇ）の「送信日時」から再送間隔が経過していることを判断する。ステップＴ３６において、始端処理部３ａ（中継処理部４ａ）は、再送パケット情報３ｇ（４ｇ）にあるパケットを次段の装置に送信する。ステップＴ３７において、始端処理部３ａ（中継処理部４ａ）は、再送パケット情報３ｇの残り再送回数を１つ減少する。ステップＴ３８において、残り再送回数が０かどうかを調べる。残り再送回数が０でない場合（Ｔ３８でＮＯ）、処理を終了する。残り再送回数が０の場合（Ｔ８４でＹＥＳ）、ステップＴ８５において、該当する再送パケット情報３ｇ（４ｇ）を削除し、処理を終了する。
【０１４０】
図４５は、第１の実施の形態の通信システム１００の中継装置４における中継処理機能の動作を示すフローチャートである。
【０１４１】
ステップＴ４１において、前段の装置からパケットを受信したときは、ステップＴ４２において、中継処理部４ａはＡＣＫパケットロスによる再送パケットかどうかを調べる。即ち、中継処理部４ａは到達済みパケット表４Ｈの「到達済み再送識別子」に、受信したパケットに記載されている「通信識別子」、「再送識別子」と一致する「通信識別子」、「再送識別子」をもつ到達済みパケット情報４ｈが存在するかどうかを調べる。
【０１４２】
ＡＣＫパケットロスによる再送パケットである場合（Ｔ４２でＹＥＳ）、ステップＴ４９において、中継処理部４ａは前段の装置にＡＣＫパケットを送信し、処理を終了する。
【０１４３】
ＡＣＫパケットロスによる再送パケットでない場合（Ｔ４２でＮＯ）、ステップＴ４３において、中継処理部４ａは受信したパケットの「再送識別子」よりも所定数（ｎ）過去の再送識別子を、通信識別子が一致する到達済みパケット情報４ｈの「到達済み再送識別子」から取り除く。ステップＴ４４において、中継処理部４ａは通信識別子が一致する到達済みパケット情報４ｈの「到達済み再送識別子」に受信したパケットの再送識別子を追加する。
【０１４４】
ステップＴ４５において、中継処理部４ａは通信識別子が一致する全ての経路に送信するまでステップＴ４６〜Ｔ４８の処理を繰り返して実行する。
【０１４５】
ステップＴ４６において、中継処理部４ａは受信したパケットのＩＰヘッダの「送信元ＩＰ」、「宛先ＩＰ」を、中継装置４自身のＩＰと経路中継情報４ｆの「次段装置ＩＰ」とに書き換える。ステップＴ４７において、書き換えたパケットを次段装置ＩＰに向けて送信する。ステップＴ４８において、中継処理部４ａは送信したパケット、通信識別子、次段装置ＩＰ、再送識別子、残り再送回数、送信日時を再送パケット情報４ｇに保存する。
【０１４６】
そして、中継処理部４ａは通信識別子が一致する全ての経路に送信するまでステップＴ４６〜Ｔ４８の処理を繰り返して実行したとき（Ｔ４５でＹＥＳ）は、ステップＴ４９において、中継処理部４ａは前段の装置にＡＣＫパケットを送信し、処理を終了する。
【０１４７】
図４６は、第１の実施の形態の通信システム１００の中継装置４における経路中継表変更機能の動作を示すフローチャートである。
【０１４８】
ステップＴ５１において、制御装置１から経路情報９ｂを受信したときは、ステップＴ５２において、中継処理部４ａは経路中継情報４ｆの新規登録かどうかを調べる。即ち、経路情報９ｂの通信識別子と同一の通信識別子が経路中継表４Ｆに無い場合は新規登録であると判断する。経路中継情報４ｆの新規登録である場合（Ｔ５２でＹＥＳ）、ステップＴ５９において、中継処理部４ａは受信した経路情報９ｂに基づいて経路中継表４Ｆにデータを追加して、処理を終了する。
【０１４９】
経路中継情報４ｆの新規登録でない場合（Ｔ５２でＮＯ）、経路の変更処理を実行する。ステップＴ５３において、中継処理部４ａは経路情報９ｂの通信識別子と同一の通信識別子をもった経路中継情報４ｆのデータを削除する。ステップＴ５４において、中継処理部４ａは同一の通信識別子をもつ再送パケット情報３ｇの「パケット」フィールドにある再送パケットの中で残り再送回数が一番多いもの以外の再送パケットを削除する。
【０１５０】
ステップＴ５５において、中継処理部４ａは削除せずに残した再送パケットを、経路情報９ｂの「次段装置ＩＰ」フィールドに格納されているＩＰの数だけ複製する。ステップＴ５６において、中継処理部４ａは複製した再送パケットのＩＰヘッダにある「宛先ＩＰ」を経路情報９ｂの「次段装置ＩＰ」で更新する。ステップＴ５７において、中継処理部４ａは宛先ＩＰを更新した再送パケットを送信する。ステップＴ５８において、中継処理部４ａは、同じ通信識別子をもつ再送パケット情報３ｇの「次段装置ＩＰ」を更新する。ステップＴ５９において、中継処理部４ａは受信した経路情報９ｂに基づいて経路中継表４Ｆにデータを追加して、処理を終了する。
【０１５１】
図４７は、第１の実施の形態の通信システム１００の終端装置５における終端処理機能の動作を示すフローチャートである。
【０１５２】
ステップＴ６１において、前段の装置からパケットを受信したときは、ステップＴ６２において、終端処理部５ａはＡＣＫパケットロスによる再送パケットかどうかを調べる。即ち、終端処理部５ａは到達済みパケット表５Ｈの「到達済み再送識別子」に、受信したパケットに記載されている「通信識別子」、「再送識別子」と一致する「通信識別子」、「再送識別子」をもつ到達済みパケット情報５ｈが存在するときは、ＡＣＫパケットロスによる再送パケットと判断する。
【０１５３】
ＡＣＫパケットロスによる再送パケットである場合（Ｔ６２でＹＥＳ）、ステップＴ６９において、終端処理部５ａは前段の装置にＡＣＫパケット９ｃを送信し、処理を終了する。
【０１５４】
ＡＣＫパケットロスによる再送パケットでない場合（Ｔ６２でＮＯ）、ステップＴ６３において、終端処理部５ａは受信したパケットの「再送識別子」よりも所定数（ｎ）過去の再送識別子を、到達済みパケット情報５ｈの通信識別子が一致する「到達済み再送識別子」から取り除く。ステップＴ６４において、終端処理部５ａは到達済みパケット情報５ｈの通信識別子が一致する「到達済み再送識別子」に受信したパケットの再送識別子を追加する。
【０１５５】
ステップＴ６５において、終端処理部５ａは受信したパケットのＵＤＰヘッダにある「長さ」フィールドの値を復元する。即ち、ＵＤＰヘッダにある「長さ」フィールドの値＝ＩＰヘッダの「パケット長」フィールドの値−ＩＰヘッダの「ヘッダ長」フィールドの値とする。ステップＴ６６において、終端処理部５ａはパケットのＩＰヘッダの通信識別子として使用していたフィールドを復元する。ステップＴ６７において、終端処理部５ａはパケットのＩＰヘッダを復元する。ステップＴ６８において、終端処理部５ａは書き換えたパケットを受信機６に送信する。ステップＴ６９において、終端処理部５ａは前段の装置にＡＣＫパケット９ｃを送信し、処理を終了する。
【０１５６】
図４８は、第１の実施の形態の通信システム１００の終端装置５における経路終端表変更機能の動作を示すフローチャートである。
【０１５７】
ステップＴ７１において、制御装置１からパケット変換情報９ｄを受信すると、ステップＴ７２において、終端処理部５ａは経路終端表５ｆの新規登録かどうかを調べる。即ち、終端処理部５ａは経路終端表５Ｆにパケット変換情報９ｄにある通信識別子と同一の通信識別子をもつ経路終端情報５ｆが存在しない場合、新規登録であると判断する。
【０１５８】
経路終端情報５ｆの新規登録である場合（Ｔ７２でＹＥＳ）、ステップＴ７４に進む。経路終端情報５ｆの新規登録でない場合（Ｔ７２でＮＯ）、ステップＴ７３において、終端処理部５ａは経路情報９ｂと同じ通信識別子をもった経路終端情報５ｆのデータを削除する。ステップＴ７４において、終端処理部５ａはパケット変換情報９ｄに基づいて経路終端表５Ｆにデータを追加して、処理を終了する。
【０１５９】
図４９は、第１の実施の形態の通信システム１００の制御装置１における経路配布機能の動作を示すフローチャートである。
【０１６０】
ステップＴ７６において、制御処理部１ａが始端装置３からパケット情報９ａを受信すると、ステップＴ７７において、制御処理部１ａは、送信機２から受信機６までの経路で最適な経路を決定する。この経路の決定においては、制御記憶部１ｂの装置位置情報、各装置３、４の経路性能計測機能によって収集された情報などから得られたパケットロスや遅延などの経路性能が利用される。ステップＴ７８において、制御処理部１ａは、新たな通信識別子を発番する。制御処理部１ａは、経路制御表１Ｄに記載されている一番大きな通信識別子よりも１だけ大きい値を新たな通信識別子として発番する。但し、新たな通信識別子は通信システム１００として定まっている最大値を超えないように発番する。ステップＴ７９において、制御処理部１ａは、決定した経路と発番した通信識別子とを経路制御表１Ｄに追加する。
【０１６１】
ステップＴ８０において、制御処理部１ａは、始端装置３から受信したパケット情報９ａに発番した通信識別子を付加したパケット変換情報９ｄを作成する。ステップＴ８１において、制御処理部１ａは、作成したパケット変換情報９ｄを始端装置３と終端装置５とに配布する。ステップＴ８２において、制御処理部１ａは、経路制御表１Ｄに追加した最適な経路に基づいて始端装置３、中継装置４に送信する経路情報９ｂを作成する。ステップＴ８３において、制御処理部１ａは、作成した経路情報９ｂを始端装置３、中継装置４に配布し、処理を終了する。
【０１６２】
図５０は、第１の実施の形態の通信システム１００の始端装置３、中継装置４、終端装置５における通信終了情報送信機能の動作を示すフローチャートである。
【０１６３】
ステップＴ８５において、始端装置３（中継装置４、終端装置５）は、経路の故障を検出する。この経路の故障は、始端装置３（中継装置４、終端装置５）において、例えば送信機２から受信機６への通信が当該装置３，４，５で一定時間行われているかどうかで判断することもできる。ステップＴ８６において、始端装置３（中継装置４、終端装置５）は、通信終了情報９ｅを制御装置１に送信して、処理を終了する。
【０１６４】
図５１は、第１の実施の形態の通信システム１００の制御装置１における通信終了機能の動作を示すフローチャートである。
【０１６５】
ステップＴ９１において、制御処理部１ａは、始端装置３、中継装置４、終端装置５の異常を検知し、あるいは始端装置３、中継装置４、終端装置５から通信終了情報９ｅを受信する。ステップＴ９２において、制御処理部１ａは、自ら検知した、あるいは通信終了情報９ｅに含まれる通信識別子を取得する。そして、制御処理部１ａは、自身がもつ情報のうち取得した通信識別子と一致する通信識別子をもつ情報を全て削除する。ステップＴ９３において、制御処理部１ａは、通信削除依頼情報９ｆを始端装置３、中継装置４、終端装置５に送信して、処理を終了する。
【０１６６】
図５２は、第１の実施の形態の通信システム１００の始端装置３、中継装置４、終端装置５における通信削除機能の動作を示すフローチャートである。
【０１６７】
ステップＴ９５において、始端装置３（中継装置４、終端装置５）は、制御装置１から通信削除依頼情報９ｆを受信する。始端装置３（中継装置４、終端装置５）は、自身がもつ情報のうち取得した通信識別子と一致する通信識別子をもつ情報を全て削除して、処理を終了する。
【０１６８】
次に通信システム１００の各装置の構成を実現する例について説明する。
【０１６９】
図５３は、第１の実施の形態の通信システム１００の各装置の第１の構成例を示す図である。
【０１７０】
通信システム１００は、制御装置１、複数の送信機２（２−１、・・・、２−ｎ）、始端装置３、複数の中継装置４（４−１、４−２）、終端装置５、複数の受信機６（６−１、・・・、６−ｍ）を備えている。送信機２から受信機６への通信はＵＤＰを用いて行う。また、始端装置３、中継装置４、終端装置５の間の通信回線はＷＡＮで構成されている。
【０１７１】
各装置（始端装置３、中継装置４、終端装置５）はそれぞれ処理部（始端処理部３ａ、中継処理部４ａ、終端処理部５ａ）とＯｐｅｎＦｌｏｗ（転送部３ｃ、４ｃ、５ｃ）とが一体で構成される。処理部は上述のパケットの再送動作に関連した処理を実行する。ＯｐｅｎＦｌｏｗは、パケットの転送動作を担当する。ここで、ＯｐｅｎＦｌｏｗは、ＯＦＣ（Open Flow Controller）とＯＦＳＷ（Open Flow Switch）とで構成され、ＯＦＣがフローテーブルを作成し、ＯＦＳＷはフローテーブルを元にパケットを処理する。
【０１７２】
フローテーブルを用いた処理内容は次のとおりである。  
（１）前段の装置から始端処理部、中継処理部、終端処理部へのパケット転送処理、（２）ＩＰアドレスが書き換えられたパケットのパケット転送処理、（３）送信されたＡＣＫパケットのパケット転送処理、（４）始端処理部、中継処理部、終端処理部と制御装置と間のパケット転送処理。
【０１７３】
なお、通信識別子は、ＵＤＰヘッダの「宛先ポート」、「送信元ポート」のフィールドを使用しても良く、ＵＤＰヘッダの「チェックサム」を利用しても良い。
【０１７４】
図５４は、第１の実施の形態の通信システム１００の各装置の第２の構成例を示す図である。
【０１７５】
第２の構成例では、各装置は一体として構成されず、処理部（始端処理部３ａ、中継処理部４ａ、終端処理部５ａ）とＯｐｅｎＦｌｏｗ（転送部３ｃ、４ｃ、５ｃ）とが別体で構成されている。各装置を別体として構成することにより、処理部とＯｐｅｎＦｌｏｗそれぞれの機能に適合して装置のパフォーマンスを向上することができる。
【０１７６】
図５５は、第１の実施の形態の通信システム１００の各装置の第３の構成例を示す図である。
【０１７７】
第３の構成例では、処理部とＯｐｅｎＦｌｏｗとが一体として構成されている装置と、処理部とＯｐｅｎＦｌｏｗとが別体として構成されている装置とを備えている。このように、ＯｐｅｎＦｌｏｗと始端処理部３ａ、中継処理部４ａ、終端処理部５ａの機能を別々の機器として構成しても良く、同一の機器として構成しても良い。
【０１７８】
図５６は、第１の実施の形態の通信システム１００の各装置の第４の構成例を示す図である。
【０１７９】
第４の構成例では、始端装置３とＷＡＮとの間にＮＡＴ（Network address translation device）１０−１が設けられ、ＷＡＮと終端装置５との間にＮＡＴ１０−２が設けられている。この構成では、通信識別子は、ＵＤＰヘッダの「チェックサム」を利用して転送される。従って、パケット通信において複数のプライベートアドレスと一つのグローバルアドレスの変換をポート番号を書き換えることにより実行するＮＡＴ１０を本通信システムに組み込むことができる
図５７は、第１の実施の形態の通信システム１００の各装置の第５の構成例を示す図である。第５の構成例では、既に再送制御が実施されていた場合に本願発明を適用する構成例を示している。
【０１８０】
図５７に示す例では、再送制御は外部再送装置８が実行する。この際、通信システム１００では、再送制御に関する動作を中止する。具体的には、始端装置３、中継装置４における再送パケット情報２ｇ、３ｇへの再送パケットの保存を中止する。更に、中継装置４、終端装置５から送信元の装置に対してＡＣＫパケット９ｃを返送することを中止する。
【０１８１】
通信システム１００における再送制御に関する動作の中止は、システムの改造を行う必要が無く、設定によって実現することができる。即ち、再送パケット情報２ｇ、３ｇにパケットを保存するときに「残り再送回数」に「０」を設定する。そして、中継転送部４ｃ、終端転送部５ｃはＡＣＫパケットを送信する動作を遮断する。
【０１８２】
図５７に示す構成例によれば、再送制御は既存の装置を利用しつつ、パケットのサイズを変更することなく複数経路を利用した通信を容易に実現することができる。また、既存の再送制御を利用する形態と、本願の再送制御を用いる形態の両手法を混在させることもできる。
【０１８３】
以上、各構成例について説明したが、通信システム１００の構成に際しては、通信システム１００のパフォーマンスが向上できる形態を選択すれば良い。さらに、各構成例を組み合わせて通信システム１００のパフォーマンスが向上できる形態を実現することもできる。
【０１８４】
以上説明した第１の実施の形態によれば、ＵＤＰを用いた場合であってもパケットロスに対応できる信頼性の高い通信を実現することができる。  
第１の実施の形態によれば、中継装置を用いて再送制御を実現する際、パケットサイズを変更することなく再送制御に必要な再送識別子を設けることができる。  
また、ＵＤＰパケットをＴＣＰパケットに変換せずに通信に用いているため通信時間を短くすることができる。さらに始端装置と終端装置との間に中継装置を設けることにより、機器間の通信時間を短くすることができる。そのため、通信経路内でのパケットロスにより再送を行う場合であっても、再送に要する通信遅延を小さくすることができる。
【０１８５】
更に、中継装置４が故障した場合であっても別の経路で通信を継続することができるためシステムの信頼性をより向上させることができる。  
また、複数経路から送信されてきたパケットのうち最も早く到着したパケットを受信機に送信するためネットワークの性能劣化の影響を低減することができる。  
また、再送パケットの管理を経路ごとに行うことができるため経路に分岐点が存在する場合であっても正しく再送制御を行うことができる。
【０１８６】
更に、始端装置に接続される送信機や終端装置に接続される受信機が複数になったとしても再送制御を行うことができる。  
また、制御装置が管理する始端装置と終端装置が複数になったとしても再送制御を行うことができる。  
また、ＮＡＴ、外部再送装置を使用していても複数経路を利用した再送制御を行うことができる。
【０１８７】
なお、上述の実施の形態では始端装置、中継装置、終端装置を用いているが、本願発明は２つの装置間においてＵＤＰを用いた通信についても適用することが可能である。
【０１８８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１８９】
１…制御装置、１ａ…制御処理部、１ｄ…経路制御情報、２…送信機、３…始端装置、３ａ…始端処理部、３ｆ…経路始端情報、３ｇ…再送パケット情報、３ｊ…パケット変換情報、４…中継装置、４ａ…中継処理部、４ｆ…経路中継情報、４ｇ…再送パケット情報、４ｈ…到達済みパケット情報、５…終端装置、５ａ…終端処理部、５ｆ…経路終端情報、５ｈ…到達済みパケット情報、６…受信機、７…制御通信線、８…パケット通信線、９ａ…パケット情報、９ｂ…経路情報、９ｃ…ＡＣＫパケット、９ｄ…パケット変換情報、９ｅ…通信終了情報、９ｆ…通信削除依頼情報、１００…通信システム
【図１】
2015216535.tif 000003
【図２】
2015216535.tif 000004
【図３】
2015216535.tif 000005
【図４】
2015216535.tif 000006
【図５】
2015216535.tif 000007
【図６】
2015216535.tif 000008
【図７】
2015216535.tif 000009
【図８】
2015216535.tif 000010
【図９】
2015216535.tif 000011
【図１０】
2015216535.tif 000012
【図１１】
2015216535.tif 000013
【図１２】
2015216535.tif 000014
【図１３】
2015216535.tif 000015
【図１４】
2015216535.tif 000016
【図１５】
2015216535.tif 000017
【図１６】
2015216535.tif 000018
【図１７】
2015216535.tif 000019
【図１８】
2015216535.tif 000020
【図１９】
2015216535.tif 000021
【図２０】
2015216535.tif 000022
【図２１】
2015216535.tif 000023
【図２２】
2015216535.tif 000024
【図２３】
2015216535.tif 000025
【図２４】
2015216535.tif 000026
【図２５】
2015216535.tif 000027
【図２６】
2015216535.tif 000028
【図２７】
2015216535.tif 000029
【図２８】
2015216535.tif 000030
【図２９】
2015216535.tif 000031
【図３０】
2015216535.tif 000032
【図３１】
2015216535.tif 000033
【図３２】
2015216535.tif 000034
【図３３】
2015216535.tif 000035
【図３４】
2015216535.tif 000036
【図３５】
2015216535.tif 000037
【図３６】
2015216535.tif 000038
【図３７】
2015216535.tif 000039
【図３８】
2015216535.tif 000040
【図３９】
2015216535.tif 000041
【図４０】
2015216535.tif 000042
【図４１】
2015216535.tif 000043
【図４２】
2015216535.tif 000044
【図４３】
2015216535.tif 000045
【図４４】
2015216535.tif 000046
【図４５】
2015216535.tif 000047
【図４６】
2015216535.tif 000048
【図４７】
2015216535.tif 000049
【図４８】
2015216535.tif 000050
【図４９】
2015216535.tif 000051
【図５０】
2015216535.tif 000052
【図５１】
2015216535.tif 000053
【図５２】
2015216535.tif 000054
【図５３】
2015216535.tif 000055
【図５４】
2015216535.tif 000056
【図５５】
2015216535.tif 000057
【図５６】
2015216535.tif 000058
【図５７】
2015216535.tif 000059