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