(57)【要約】【課題】  長距離通信において、通信装置における再送制御に必要となるメモリ量の増大を回避すること。【解決手段】  本発明による中継装置は、ネットワークを介してパケットの送受信を行う通信装置と接続し、前記パケットを中継する中継装置であって、前記中継装置は、受信した再送パケットの宛先が、前記中継装置が属する通信システム内、または前記通信システム外にあるかを判断する宛先判断手段と、前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御手段と、を備えることを特徴とする。【選択図】      図１
2012227778.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してパケットの送受信を行う通信装置と接続し、前記パケットを中継する中継装置であって、
前記中継装置は、
受信した再送パケットの宛先が、前記中継装置が属する通信システム内、または前記通信システム外にあるかを判断する宛先判断手段と、
前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御手段と、
を備えることを特徴とする中継装置。
【請求項２】
前記中継装置は、さらに、
前記受信した再送パケットの送信元が前記通信システム内、または前記通信システム外にあるかを判断する送信元判断手段を備え、
前記再送制御手段は、さらに、前記判断結果が、前記再送パケットの送信元が前記通信システム外にあることを示す場合には、前記再送パケットの再送に必要な情報を初期化して前記再送パケットの再送制御を行うことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記再送パケットは、前記再送パケットの識別情報を示すパケット識別子と、前記再送パケットが再送された回数を示す再送回数情報とを含むことを特徴とする請求項１または２に記載の中継装置。
【請求項４】
前記中継装置は、さらに、
受信したパケットに含まれる前記再送回数情報に基づいて、前記受信したパケットが再送パケットであるかどうかを判定する再送パケット判定手段を備えることを特徴とする請求項３に記載の中継装置。
【請求項５】
前記再送制御手段は、
前記受信したパケットが再送パケットでない場合に、前記受信したパケットの宛先に対して前記受信したパケットを転送することを特徴とする請求項４に記載の中継装置。
【請求項６】
前記宛先判断手段は、
前記受信した再送パケットのパケット識別子に含まれる、前記受信した再送パケットの宛先の通信装置の識別情報に基づいて、前記受信した再送パケットの宛先が前記通信システム内または前記通信システム外にあるか判断することを特徴とする請求項３から５のいずれか１つに記載の中継装置。
【請求項７】
前記送信元判断手段は、
前記受信した再送パケットのパケット識別子に含まれる、前記受信した再送パケットの送信元の通信装置の識別情報に基づいて、前記受信した再送パケットの送信元が前記通信システム内、または前記通信システム外にあるかを判断することを特徴とする請求項３から６のいずれか１つに記載の中継装置。
【請求項８】
ネットワークを介してパケットの送受信を行う通信装置と、前記パケットを中継する中継装置を備える通信システムであって、
前記中継装置は、
受信した再送パケットの宛先が前記通信システム内、または前記通信システム外にあるかを判断する宛先判断手段と、
前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御手段と、
を備えることを特徴とする通信システム。
【請求項９】
受信した再送パケットの宛先が、ネットワークを介してパケットの送受信を行う通信装置と接続し、前記パケットを中継する中継装置が属する通信システム内、または前記通信システム外にあるかを判断する宛先判断ステップと、
前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御ステップと、
を含むことを特徴とする通信方法。
【請求項１０】
受信した再送パケットの宛先が、ネットワークを介してパケットの送受信を行う通信装置と接続し、前記パケットを中継する中継装置が属する通信システム内、または前記通信システム外にあるかを判断する宛先判断処理と、
前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御処理と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信を行う中継装置、通信システム、通信方法およびプログラムに関する。
【背景技術】
【０００２】
インターネットで用いられるパケット通信の信頼性を確保する技術の１つに、「パケット再送制御」がある。パケット通信では、通信中にパケットの破棄や破壊が発生する。これは、パケットを通信するルータやスイッチにおける処理の輻輳や、通信経路中の信号受信感度の低下、外部電磁ノイズなどが主な原因である。このような破棄や破壊によるパケットの消失は、アプリケーション層もしくはトランスポート層で動作するプロトコルによって検知される。消失が検知されたパケットはそのようなプロトコルにより再送が行われ、通信の信頼性が確保される。
【０００３】
具体的には、通常のパケット通信では、まず、送信装置は受信装置にパケットを送信する。次に、受信装置は、パケットを受信すると、確認応答（ＡＣＫ：Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）を送信装置に返信する。この確認応答をもって、送信装置は、送出パケットが受信装置に無事到達したことを認識する。
【０００４】
しかし、送信装置と受信装置との間のネットワークでパケットが廃棄された場合、送信装置は、送出したパケットに対する確認応答を受け取らない。そこで、送信装置は、パケット送出後、所定の待ち時間以内に確認応答を受け取らない場合、送出したパケットを受信装置に再度送信する。なお、この所定の待ち時間は、「再送タイムアウト（ＲＴＯ：Ｒｅｔｒａｎｓｍｉｓｓｉｏｎ  Ｔｉｍｅ  Ｏｕｔ）」と呼ばれている。
【０００５】
このようなパケット再送制御を行う代表的なトランスポート層のプロトコルとしては、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が挙げられる。
【０００６】
このようなパケット再送制御に関連する技術が、非特許文献１に記載されている。非特許文献１によれば、トランスポート層よりも下位のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）層（または物理層）において、パケット再送制御が実施される。その理由は以下の通りである。
【０００７】
例として、データセンター（ＤＣ：Ｄａｔａ  Ｃｅｎｔｅｒ）内のネットワークのような、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）が非常に短いネットワークを考える。このようなネットワークでは、再送タイムアウトをマイクロ秒レベルにまで短縮することにより、ＦＣＴ（Ｆｌｏｗ  Ｃｏｍｐｌｅｔｉｏｎ  Ｔｉｍｅ）を減少させ、通信効率を向上させることができる。
【０００８】
しかし、一般的にＴＣＰは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に実装されているため、ＴＣＰによるパケット再送制御では、再送タイムアウトをマイクロ秒レベルまで短縮することは困難である。
【０００９】
例えば、Ｌｉｎｕｘにおける単位時間（Ｊｉｆｆｉｅｓ）は高々数ミリ秒であるため、Ｌｉｎｕｘの標準的なＴＣＰでは、再送タイムアウトをマイクロ秒レベルに短縮することは難しい。このような問題を解決するために、非特許文献１では、ＭＡＣ層においてパケット再送制御を実施し、再送タイムアウトをマイクロ秒レベルにまで短縮している。
【００１０】
この他、再送制御の技術として特許文献１、特許文献２が挙げられる。特許文献１、特許文献２によれば、パケットの中継時の損失を抑え、ネットワークの通信効率を高める目的で、パケットの送信装置だけではなく、パケットを中継する中継装置においても再送制御が実施される。
【００１１】
一方、昨今のデータトラフィックの増大や、クラウドサービスの著しい発展により、離れた場所に存在する複数のネットワークやデータセンターの間で、長距離に及ぶ通信を行う必要が生じてきている。
【００１２】
このような長距離通信を必要とするシステムにおける、データバックアップに関する技術が非特許文献２に記載されている。非特許文献２には、自然災害や人為的災害等の未知の事故により発生するシステム中断に対し、ストレージ間でミラートラフィックを流すことでバックアップシステムが記載されている。
【００１３】
非特許文献２の技術では、インターネットのような、データセンター内のネットワークとは通信規格の異なるネットワークを介してデータの送受信が行われる。このような通信では、通信規格の異なるネットワーク同士を繋ぐための通信機器が必要とされる。以下、このような通信機器をゲートウェイと呼ぶ。ゲートウェイにはデータアクセスが集中するため、ネットワーク内で用いられる通信機器と比較してパケットの処理性能が高く、データを一時保存するための記憶容量が大きい。
【００１４】
また、近年、データセンターにおいては、ＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）という通信規格が、データセンター内で良く利用されている。非特許文献３には、このＦＣを用いて、ＭＡＣ層以下の通信を、多くのネットワークで頻繁に利用されるイーサネット（登録商標）に置き換える、ＦＣｏＥ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ  Ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ）という技術が記載されている。
【００１５】
非特許文献３によると、ＭＡＣ層以下をイーサネットに統一することで、従来と比較し管理コストの削減や、性能向上が期待できるとしている。しかし、ＭＡＣ層より上位の層は、通信方式が異なることは変化しないため、データセンターから外部ネットワークへ情報を転送する場合にゲートウェイが必要な点は従来と同様である。また、再送制御や輻輳制御は上位層に依存している。
【００１６】
また、特許文献３には、通信装置からネットワークへ送出したデータが受信されなかった可能性を検出すると、バッファに保存しておいたデータを再度送出することが記載されている。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２０１０−１４１６４０号公報
【特許文献２】特開２００３−３０４２７３号公報
【特許文献３】特開２００７−２６７２４９号公報
【非特許文献】
【００１８】
【非特許文献１】高道  透  他、Ｕｌｔｒａ  Ｈｉｇｈ  Ｓｐｅｅｄ  ＭＡＣ  Ｔｅｃｈｎｏｌｏｇｙ  ｆｏｒ  Ｔｅｒａｂｉｔ  Ｃｌａｓｓ  ＬＡＮ、２００８年、電子情報通信学会通信ソサイエティ大会
【非特許文献２】ＮＥＣ、ＢＣ／ＤＲソリューション、［２０１１年３月３１日検索］インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｎｅｃ．ｃｏ．ｊｐ／ｓｏｌｕｔｉｏｎ／ｂｃｄｒ／ｉｎｄｅｘ．ｈｔｍｌ＞
【非特許文献３】ＩＥＥＥ、Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ  Ｂａｃｋｂｏｎｅ−５、［２０１１年３月３１日検索］インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｆｃｏｅ．ｃｏｍ／０９−０５６ｖ５．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【００１９】
データセンター間通信のような長距離通信においては、データセンターと通信規格の異なるネットワークを通過する際、再送制御や輻輳制御は、通過するネットワークの方式に依存する。ほとんどの場合、その転送性能はデータセンター内通信よりも低下する。データセンターで管理される情報は高い信頼性が求められる為、より高速な転送が行われることが望ましい。
【００２０】
より高速な転送を実現するための一案として、非特許文献３のようなＭＡＣ層の通信方式が統一されたネットワークにおいて、非特許文献１のＭＡＣ層における再送制御を行うことで通信効率を向上させ、より高速な転送が行われることが挙げられる。しかし、この通信方式には以下のような課題があった。
【００２１】
非特許文献１のような再送制御を行う場合、再送制御を行う機器が要するバッファ領域が通信区間長に比例するため、長距離通信における再送では、膨大なバッファ領域が必要となる。
【００２２】
再送制御においては、再送の送信元は、再送先からの確認応答をもって再送を終了する。再送の送信元は、予め定められたタイムアウト経過後も確認応答を受け取らない場合、再送回数上限値に従い、再送を再実行する。
【００２３】
ここで、送信元は再送に備えるため、パケット情報を保持する必要がある。パケット情報を保持する時間は、最大でも再送パケット送信時からタイムアウトになるまでの時間である。また、タイムアウトは少なくとも、パケットの破棄が発生しない状態で通信が行われた場合の通信時間以上の値を設定する必要がある。タイムアウトが、この値よりも小さい値に設定された場合、正常な通信においても無駄な再送が発生する。
【００２４】
長距離通信においては、上記の再送方法を適用すると、タイムアウトの値は短距離の場合と比較して非常に大きな値となり、比例して送信元が保持するべき情報量が増える。この量は、汎用の通信機器において搭載されるメモリ量で対応することが困難である。
【００２５】
同様の理由により、特許文献１、特許文献２に記載されているような再送方式においても、データセンター間を経由するような長距離通信においては、通信端末において必要なバッファ容量を確保できない。
【００２６】
本発明の目的は、上記のような課題を解決する中継装置、通信システム、通信方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００２７】
本発明による中継装置は、ネットワークを介してパケットの送受信を行う通信装置と接続し、前記パケットを中継する中継装置であって、前記中継装置は、受信した再送パケットの宛先が、前記中継装置が属する通信システム内、または前記通信システム外にあるかを判断する宛先判断手段と、前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御手段と、を備えることを特徴とする。
【００２８】
本発明による通信システムは、ネットワークを介してパケットの送受信を行う通信装置と、前記パケットを中継する中継装置を備える通信システムであって、前記中継装置は、受信した再送パケットの宛先が前記通信システム内、または前記通信システム外にあるかを判断する宛先判断手段と、前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御手段と、を備えることを特徴とする。
【００２９】
本発明による通信方法は、受信した再送パケットの宛先が、ネットワークを介してパケットの送受信を行う通信装置と接続し、前記パケットを中継する中継装置が属する通信システム内、または前記通信システム外にあるかを判断する宛先判断ステップと、前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御ステップと、を含むことを特徴とする。
【００３０】
本発明によるプログラムは、受信した再送パケットの宛先が、ネットワークを介してパケットの送受信を行う通信装置と接続し、前記パケットを中継する中継装置が属する通信システム内、または前記通信システム外にあるかを判断する宛先判断処理と、前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００３１】
本発明によれば、長距離通信において、通信装置における再送制御に必要となるメモリ量の増大を回避することができる。
【図面の簡単な説明】
【００３２】
【図１】第１の実施形態の構成を示す図である。
【図２】第１の実施形態による動作を示すフローチャートである。
【図３】第２の実施形態によるシステムの構成を示す図である。
【図４】第２の実施形態による通信装置の構成を示す図である。
【図５】第２の実施形態による再送制御部の構成を示す図である。
【図６】第２の実施形態による再送適用パケットの構成を示す図である。
【図７】第２の実施形態による送信部の構成を示す図である。
【図８】第２の実施形態による再送バッファの構成を示す図である。
【図９】第２の実施形態による中継装置の構成を示す図である。
【図１０】第２の実施形態による動作を示すフローチャートである。
【図１１】第２の実施形態による動作を示すフローチャートである。
【図１２】第２の実施形態による動作を示すフローチャートである。
【図１３】第２の実施形態による動作を示すフローチャートである。
【図１４】第２の実施形態による動作を示すフローチャートである。
【図１５】変形例１によるシステムの構成を示す図である。
【図１６】変形例２によるシステムの構成を示す図である。
【図１７】変形例３による通信装置および中継装置の構成を示す図である。
【発明を実施するための形態】
【００３３】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００３４】
＜第１の実施形態＞
（構成）
まず、本発明の第１の実施形態について説明する。図１を参照すると、本発明の第１の実施形態は、中継装置１０００と通信装置２０００から構成される。
【００３５】
通信装置２０００は、ネットワークを介してパケットの送受信を行う装置である。中継装置１０００は、通信装置２０００等により通信されるパケットの中継を行う装置である。また、中継装置１０００は、宛先判断手段１００１と、再送制御手段１００２を含んでいる。
【００３６】
（動作）
次に、中継装置１０００の動作について、図２のフローチャートを用いて説明する。まず、中継装置１０００は、再送パケットを受信する（ステップＳ１００１）。
【００３７】
次に、宛先判断手段１００１は、受信した再送パケットの宛先が、中継装置１０００が属する通信システム内、または通信システム外にあるかを判断する（ステップＳ１００２）。
【００３８】
続いて、ステップＳ１００２の判断に応じて、再送制御手段１００２がステップＳ１００３とステップＳ１００４の動作を行う。ステップＳ１００２で、再送パケットの宛先が、中継装置１０００が属する通信システム外にあると判断された場合には、再送制御手段１００２が再送制御を行って、終了する（ステップＳ１００３）。
【００３９】
また、ステップＳ１００２で、再送パケットの宛先が、中継装置１０００が属する通信システム内にあると判断された場合には、再送制御手段１００２は、再送パケットの再送制御を、再送パケットの送信元に対して要求して、終了する（ステップＳ１００４）。
【００４０】
（効果）
以上のように、第１の実施形態によれば、中継装置１０００が受信した再送パケットの宛先に応じて、再送制御手段１００２自身が再送制御を行うか、または再送制御を再送パケットの送信元に対して要求している。
【００４１】
上記の動作によれば、中継装置でない通信装置が、長距離通信（システム外を宛先とする通信）におけるパケット再送制御を行う必要がなくなる。従って、中継装置でない通信装置が、再送制御のために必要となるメモリ量の増大を回避することが可能となる。
【００４２】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。図３は、第２の実施形態による通信システムの構成を示した図である。
【００４３】
（構成）
図３によれば、第２の実施形態による通信システムは、短距離ネットワーク１−１、短距離ネットワーク１−２および長距離ネットワーク２を含む。以下、短距離ネットワーク１−１、１−２を特に区別しない場合には、短距離ネットワーク１と総称する。
【００４４】
短距離ネットワーク１は、それぞれが独立したネットワークである。長距離ネットワーク２は、短距離ネットワーク１間で送受信されるパケットを伝送する。以降、この伝送されるパケットを、パケット１０と呼称する。伝送されるパケットは、一般的なパケットで、送信元・宛先のＭＡＣアドレス等、制御に必要な情報を付加したデータのまとまりである。
【００４５】
短距離ネットワーク１は、パケット１０の送受信を行う通信装置３と、短距離ネットワーク１と長距離ネットワーク２の境界に配置される中継装置４を含む。
【００４６】
ここで、図３においては、複数の通信装置３、中継装置４が存在する。具体的には、短距離ネットワーク１−１は、通信装置３−１、通信装置３−２、中継装置４−１を含む。同様に、短距離ネットワーク１−２は、通信装置３−３、通信装置３−４、中継装置４−２を含む。以下、各通信装置について、特に区別する必要がない場合には、通信装置３と総称する。同様に、各中継装置について、特に区別する必要がない場合には、中継装置４と総称する。なお、通信装置３、中継装置４の各々の機能は同様である。
【００４７】
また、図３において、短距離ネットワーク１は２個設けられているが、２個に限られるものではなく、３個以上であっても良い。
【００４８】
次に、通信装置３の構成について説明する。図４は、通信装置４の構成を示した図である。図４によれば、通信装置３は、上位レイヤ処理部２０、再送制御部２１、下位レイヤ処理部２２を含む。
【００４９】
上位レイヤ処理部２０は、トランスポート層またはアプリケーション層の処理を行う。トランスポート層のプロトコルは、上述のＴＣＰや、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等が挙げられる。アプリケーション層のプロトコルは、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）やＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等が挙げられる。
【００５０】
再送制御部２１は、上位レイヤ処理部２０から入力されたパケット１０に再送制御処理を施し、それを下位レイヤ処理部２２に出力する。また、再送制御部２１は、下位レイヤ処理部２２から、受信パケット１２または再送適用パケット４０を受信する。さらに、再送制御部２１は、下位レイヤ処理部２２から入力された受信パケット１２が確認応答であればそれを終端する。また、受信パケット１２は、パケット１０そのものを含んでいても良い。受信パケット１２がパケット１０を含んでいる場合には、受信パケット１２を上位レイヤ処理部２０に転送するとともに、確認応答を生成して送信側に返信する。再送制御部２１と再送適用パケット４０については、後に詳細に説明する。
【００５１】
下位レイヤ処理部２２は、ＭＡＣ層とリンク層の処理を行う。ＭＡＣ層とリンク層のプロトコルとしては、例えば、イーサネットが挙げられる。下位レイヤ処理部２２は、所定の手順に従って、再送制御部２１から入力された送信パケット１１を中継装置４に送信する。同時に、下位レイヤ処理部２２は、中継装置４から受信した受信パケット１２、または再送適用パケット４０を再送制御部２１に出力する。
【００５２】
続いて、再送制御部２１について詳細に説明する。図５は、再送制御部２１の構成を示す図である。再送制御部２１は、送信部３０、受信部３１、多重部３２を含む。
【００５３】
送信部３０は、上位レイヤ処理部２０から受け取ったパケット１０をもとに、再送適用パケット４０を生成する。続いて、多重部３２へ生成した再送適用パケット４０を出力する。その際、送信部３０は、再送適用パケット４０のデータを記憶する。また、再送タイムアウトが経過するまでの間に、受信部３１から送信した再送適用パケット４０に対応するＡＣＫパケット４１を受け取らなかった場合、送信部３０は、当該再送適用パケット４０を再送する。
【００５４】
再送適用パケット４０およびＡＣＫパケット４１は、再送制御部２１によって生成もしくは終端されるパケットである。再送適用パケット４０としては、例えば、パケット１０に再送制御に必要な情報を付与した形式を採用することができる。また、ＡＣＫパケット４１は確認応答を表す。ＡＣＫパケット４１としては、一般的なＡＣＫ、ＡＣＫパケット、確認応答と呼ばれるものを用いれば良いので、詳細な説明は省略する。
【００５５】
図６は、再送適用パケット４０の構成例を示したものである。図６によると、再送適用パケット４０は、パケット１０に対して、パケット識別子５０と、再送回数５１とを付加したものである。
【００５６】
パケット識別子５０は、パケット１０を特定するために必要な情報である。パケット識別子５０の内容は、パケット１０の内部情報やユーザデータの一部または全部でも良いし、内部情報に関係無く、独自に生成した要素でも良い。例としては、パケット１０のシーケンス番号や、パケット１０のパケットヘッダの情報等が挙げられる。
【００５７】
再送回数５１は、再送適用パケット４０が再送された回数を示す値である。再送回数５１は、所定の上限値Ｌ（Ｌは自然数）を持つ。また、典型的には、再送回数５１の初期値は０であり、再送回数５１が０である再送適用パケットは再送パケットと見なされない。再送回数５１の上限値および初期値に関しては、適宜変更することが可能である。
【００５８】
再度、図５に戻り、再送制御部２１の説明を続ける。受信部３１は、下位レイヤ処理部２２から、受信パケット１２または再送適用パケット４０を受信する。そして、受信部３１は、受信したパケットが受信パケット１２、または再送適用パケット４０のどちらであるかを判断する。受信部３１は、受信したパケットが、再送適用パケット４０であると判断された場合に、受信した再送適用パケット４０からパケット識別子５０を抽出する。続いて、受信部３１は、抽出したパケット識別子５０をもとに、ＡＣＫパケット４１を生成する。さらに、受信部３１は、生成したＡＣＫパケット４１を多重部３２へ出力する。同時に、受信部３１は、再送適用パケット４０から再送制御の情報を除去し、パケット１０として上位レイヤ処理部２０へ出力する。
【００５９】
また受信部３１は、下位レイヤ処理部２２から受信したＡＣＫパケット４１からパケット識別子５０を抽出して、抽出したパケット識別子５０を送信部３０に出力する。ここで、ＡＣＫパケット４１が、中継装置４から送信されたＡＣＫパケット４１であり、かつ再送制御を通信装置３が実施することを指示する内容であった場合、パケット識別子５０の抽出は行われず、送信部３０へは何も出力しない。いずれの場合においても、ＡＣＫパケット４１は受信部３１にて終端される。
【００６０】
ここで、再送適用パケット４０が重複する情報を含んでいる場合、その情報を付加せずに、再送適用パケット４０の長さを短縮することが望ましい。再送適用パケット４０の長さが短縮されることで、各機器による再送適用パケット４０に対する不要な検査処理を削減でき、更なる通信効率の向上が見込まれるためである。
【００６１】
具体的には、再送制御部２１において、再送適用パケット４０の再送回数を管理している場合が挙げられる。このような場合、図６の再送適用パケット４０は再送回数５１を含んでいるため、再送回数５１は冗長となる。従って、再送適用パケット４０の再送回数５１を省略しても良い。このような情報の省略により、再送適用パケット４０を使用せずに再送処理が行われたとしても、本実施形態では差し支えない。
【００６２】
多重部３２は、送信部３０から受信する再送適用パケット４０、受信部３１から受信するＡＣＫパケット４１を多重化し、送信パケット１１として下位レイヤ処理部３へ転送を行う。
【００６３】
次に、送信部３０について、図面を用いて詳細に説明する。図７は、送信部３０の構成を示す図である。送信部３０は識別子抽出部６０、再送バッファ６１、生成部６２、再送バッファ処理部６３で構成される。
【００６４】
識別子抽出部６０は、上位レイヤ処理部２０から受信したパケット１０からパケット識別子５０を抽出し、抽出したパケット識別子５０を再送バッファ６１へ出力する。
【００６５】
ここで、再送バッファ６１について、図面を用いて詳細に説明する。図８は、再送バッファ６１の構成例を示す図である。
【００６６】
再送バッファ６１は、０個以上のキューエントリ７０を格納するＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ、Ｆｉｒｓｔ  Ｏｕｔ）型のキューである。図８の例では、キューエントリ７０−１、キューエントリ７０−２から、キューエントリ７０−Ｎまで、キューエントリ７０を計Ｎ個備えた構成例を示している。なお、以降、特に区別する必要がない場合には、それぞれのキューエントリを、キューエントリ７０と総称する。
【００６７】
図８においては、先頭のキューエントリ７０−１が最も古く、末尾のキューエントリ７０―Ｎが最も新しい。キューエントリ７０は、再送バッファ６１が受信した再送適用パケット４０の内容、つまり、パケット１０とパケット識別子５０、再送回数５１を収容する。
【００６８】
図７に戻り、生成部６２は、識別子抽出部６０と再送バッファ６１から受信した情報をもとに、再送適用パケット４０を生成し、多重部３２へ出力する。
【００６９】
続いて、再送バッファ処理部６３は、キューエントリ７０の再送タイムアウトを管理するため、各キューエントリ７０について、再送バッファ６１に追加されてからの経過時間を計測する機能を備える。
【００７０】
また、再送バッファ処理部６３は、再送バッファ６１において、再送タイムアウトが経過したキューエントリ７０について、以下に示す再送処理を行う。
【００７１】
再送バッファ処理部６３は、再送バッファ６１から、キューエントリ７０内のパケット１０、パケット識別子５０、再送回数５１を生成部６２へ出力した後、その再送回数５１が所定の上限値Ｌに達しているかを判定する。ここで、再送回数５１が上限値Ｌに達している場合、再送バッファ処理部６３は、対応するキューエントリ７０を再送バッファ６１から消去する。
【００７２】
また、再送バッファ処理部６３は、再送バッファ６１において、キューエントリ７０内の再送回数５１が上限値Ｌに達していなければ、その再送回数５１を１だけ増加させる。さらに、キューエントリ７０の経過時間をリセットする。続いて、キューエントリ７０を再送バッファ６１の末尾に移動させ、再び、再送タイムアウトの経過を待つ。
【００７３】
さらに、再送バッファ処理部６３は、再送バッファ６１において、受信部３１から受信したパケット識別子５０と同じパケット識別子５０を持つキューエントリ７０が再送バッファ６１に存在している場合、そのキューエントリ７０を再送バッファ６１から削除する。
【００７４】
続いて、中継装置４について説明する。図９は、中継装置４の構成を示す図である。図９によれば、中継装置４は、長距離ネットワーク２と、通信装置３に接続する。図９の例では、中継装置４は、通信装置３−１および通信装置３−２に接続しているものとする。また、中継装置４は、短距離再送部８０と転送部８１を含む。以下、各部について詳細に説明する。
【００７５】
まず、短距離再送部８０は、再送制御部９０、受信多重部９１、送信多重部９２を備える。図９の例では、通信装置３−１に接続される短距離再送部８０−１と、通信装置３−２に接続される短距離再送部８０−２の２つの短距離再送部が存在する。短距離再送部８０−１は、再送制御部９０−１、受信多重部９１−１、送信多重部９２−１を含む。さらに、再送制御部９０−１は、宛先判断部９０１−１を含む。同様に、短距離再送部８０−２は、再送制御部９０−２、受信多重部９１−２、送信多重部９２−２を含む。また、再送制御部９０−２は、宛先判断部９０１−２を含む。以降、特に区別する必要がない場合には、各々について、短距離再送部８０、再送制御部９０、受信多重部９１、送信多重部９２、宛先判断部９０１と呼称する。
【００７６】
再送制御部９０は、受信したパケットが、再送適用パケット４０である場合には、再送制御を行う。また、宛先判断部９０１では、受信したパケットの宛先が、中継装置４が属する短距離ネットワーク１−１内にあるか、もしくは短距離ネットワーク１−１外にあるかを判断する。ここで使用される再送制御部９０は、宛先判断部９０１を除いては、通信装置３における再送制御部２１とほぼ同様の構成であるので、詳細な説明は省略する。なお、短距離再送部８０は、中継装置４に接続された通信装置３の数と同等の数が備えられれば良い。
【００７７】
受信多重部９１は、再送制御部９０から受信するパケットを多重化し、転送部８１へ転送する。送信多重部９２は、再送制御部９０から受信するパケットを多重化し、通信装置３へ転送する。
【００７８】
転送部８１は、短距離再送部８０および長距離ネットワーク２から受信したパケットの宛先を判定してスイッチングを行う。すなわち、転送部８１は、適切な短距離再送部８０、通信装置３、または長距離ネットワーク２に対して、パケットを転送する。
【００７９】
また、転送部８１は、送信元判断部８１０を含んでいる。送信元判断部８１０は、受信したパケットの送信元が、中継装置４が属する短距離ネットワーク１−１内または短距離ネットワーク１−１外にあるかを判断する。
【００８０】
なお、中継装置４の詳細な動作については、後述する。
【００８１】
（動作概要）
続いて、本実施形態の全体的な動作の概要について説明する。図１０は、通信装置３から出力された再送適用パケット４０の、再送制御の分担が決定されるまでの動作を示すフローチャートである。各々のステップにおける動作、または各装置における動作の詳細については、後に詳しく説明する。
【００８２】
まず、通信装置３は、パケットの再送が必要になった場合に、再送適用パケット４０を生成し、短距離ネットワーク１へ出力する（ステップＳ０）。
【００８３】
次に、中継装置４は、通信装置３から再送適用パケット４０を受信する（ステップＳ１）。
【００８４】
続いて、中継装置４は、受信した再送適用パケット４０に対して、再送制御を行う主体となる装置を判断する（ステップＳ２）。ステップＳ２の判断の結果、再送適用パケット４０が再送制御の対象外である場合はステップＳ３へ移行する。また、再送適用パケット４０の送信元である通信装置３が再送制御を行う場合はステップＳ４へ、中継装置４が再送制御を行う場合はステップＳ７へ、それぞれ移行する。
【００８５】
ステップＳ２で、再送適用パケット４０が再送制御の対象外であると判断された場合、中継装置４は、再送適用パケット４０の転送を行い、動作を終了する（ステップＳ３）。
【００８６】
ステップＳ２で、再送適用パケット４０の再送を行う主体が、再送適用パケット４０の送信元である通信装置３であると判断された場合、中継装置４は、再送適用パケット４０を通信装置３に転送する（ステップＳ４）。
【００８７】
次に、中継装置４は、再送適用パケット４０の送信元である通信装置３へ向けて、再送制御を行うよう要求するＡＣＫパケット４１を送信する（ステップＳ５）。なお、通信装置３に対して再送制御を要求するパケットの種類は、ＡＣＫパケットに限らず、再送制御の要求さえすることができれば、どのようなものでも構わない。
【００８８】
通信装置３は、ＡＣＫパケット４１を受信し、受信した再送適用パケット４０の再送制御を行う（ステップＳ６）。
【００８９】
ステップＳ２で、再送適用パケット４０の再送を行う主体が、中継装置４自身であると判断された場合、中継装置４は、再送適用パケット４０の再送情報をリセットする。さらに、中継装置４は、改めて再送制御を施した再送適用パケット４０の転送を行う（ステップＳ７）。
【００９０】
次に、中継装置４は、再送適用パケット４０の送信元である通信装置３へ向けて、中継装置４自身が再送制御を行うことを伝えるために、ＡＣＫパケット４１を送信する（ステップＳ８）。なお、通信装置３に対して中継装置４自身が再送を行う旨を通知するパケットの種類は、ＡＣＫパケットに限らず、どのようなものでも構わない。
【００９１】
その後、中継装置４は、再送適用パケット４０の再送制御を実施する（ステップＳ９）。
【００９２】
最後に、通信装置３は、ＡＣＫパケット４１を受け取り、当該再送適用パケット４０の再送情報を消去する（ステップＳ１０）。
【００９３】
なお、ステップＳ９は、ステップＳ８の前に行っても良いし、ステップＳ１０の後に行っても良い。また、ステップＳ９は、ステップＳ８またはステップＳ１０と並行して実施することも可能である。
【００９４】
（通信装置３の動作）
以下、本実施形態による動作の詳細について、図１１から図１４を参照して詳細な説明を行う。
【００９５】
まず、本実施形態における通信装置３の動作について説明する。以下、順に送信・再送・受信の動作について説明を行う。
【００９６】
（通信装置３の動作：送信）
始めに、通信装置３がパケットを送信する際の動作について説明する。図１１は、再送制御部２１が、上位レイヤ処理部２０から入力されたパケット１０を下位レイヤ処理部２２に送信する際の動作フローである。この動作フローは図１０の動作Ｓ０の詳細となる。
【００９７】
再送制御部２１は、上位レイヤ処理部２０からのパケット１０の入力を待つ（ステップＳ１００）。
【００９８】
次に、再送制御部２１の識別子抽出部６０が、受信したパケット１０からパケット識別子５０を抽出する（ステップＳ１０１）。
【００９９】
続いて、再送制御部２１は、識別子抽出部６０が抽出したパケット識別子５０とパケット１０を、再送バッファ６１と生成部６２に出力する（ステップＳ１０２）。
【０１００】
その後、再送バッファ処理部６３は、識別子抽出部６０から受信したパケット識別子５０とパケット１０をキューエントリ７０に登録する。登録されるキューエントリ７０は再送バッファの末尾に置かれる（ステップＳ１０３）。
【０１０１】
さらに、生成部６２が、受信したパケット識別子５０とパケット１０をもとに再送適用パケット４０を生成する（ステップＳ１０４）。
【０１０２】
続いて、生成部６２は、生成した再送適用パケット４０を多重部３２へ出力する（ステップＳ１０５）。
【０１０３】
最後に、多重部３２は、下位レイヤ処理部２２へ再送適用パケット４０を出力し、動作を終える（ステップＳ１０６）。
【０１０４】
（通信装置３の動作：再送）
次に、通信装置３の再送の動作について説明する。図１２は、再送制御部２１が、キューエントリ７０に含まれるパケット１０を下位レイヤ処理部２２に再送する際の動作を示すフローチャートである。
【０１０５】
再送制御部２１の再送バッファ処理部６３は、送信部３０において再送バッファ６１に登録されたキューエントリ７０の経過時間に対して、再送タイムアウトが経過するまで待つ（ステップＳ２００）。
【０１０６】
続いて、再送バッファ処理部６３は、Ｓ２００で再送タイムアウトが経過したキューエントリ７０から、パケット１０、パケット識別子５０、再送回数５１を読み出す（ステップＳ２０１）。
【０１０７】
次に、再送バッファ処理部６３は、送信部３０においてＳ２０１で読み出された再送回数５１が所定の上限に達しているか否かを判定する（ステップＳ２０２）。
【０１０８】
ステップＳ２０２で、再送回数が上限に達していると判定された場合、再送バッファ処理部６３は、キューエントリ７０を再送バッファ５１から削除する（ステップＳ２０３）。
【０１０９】
ステップＳ２０２で、再送回数が上限に達していない場合、再送バッファ処理部６３は、キューエントリ７０の再送回数５１を１だけ増加させる。さらに、再送バッファ処理部６３は、キューエントリ７０を再送バッファ５１の末尾に移動させ、再び、当該キューエントリ７０を再送処理の対象とする。そして、再送バッファ処理部６３は、生成部６２に対してパケット１０、パケット識別子５０、再送回数５１を出力する（ステップＳ２０４）。
【０１１０】
生成部６２は、ステップＳ２０１で読み出されたパケット１０、パケット識別子５０、再送回数５１をもとに再送適用パケット４０を生成し、多重部３２に出力する（ステップＳ２０５）。
【０１１１】
多重部３２は、下位レイヤ処理部２２へ再送適用パケット４０を出力し、動作を終える（ステップＳ２０６）。
【０１１２】
（通信装置３の動作：受信）
以下、通信装置３の受信の動作について説明する。図１３は、再送制御部２１が、受信パケット１２の種別に応じて、各出力を行うまでの動作を示すフローチャートである。以下の動作フローは、図１０の動作Ｓ６およびＳ９の詳細となる。
【０１１３】
まず、再送制御部２１は、下位レイヤ処理部２２からの受信パケット１２の入力を待つ（ステップＳ３００）。
【０１１４】
続いて、受信部３１は、受信パケット１２の種別を判定する。受信パケット１２が再送適用パケット４０の場合はＳ３０２へ、ＡＣＫパケット４１の場合はＳ３０７へ移行する（ステップＳ３０１）。
【０１１５】
ステップＳ３０１で、受信パケット１２が再送適用パケット４０と判定された場合、受信部３１は、Ｓ３０１で判定された再送適用パケット４０から、パケット１０とパケット識別子５０を取り出す（ステップＳ３０２）。
【０１１６】
続いて、受信部３１は、Ｓ３０２で取り出されたパケット１０を、上位レイヤ処理部２０に出力する（ステップＳ３０３）。
【０１１７】
次に、受信部３１は、Ｓ３０２で取り出されたパケット１０のパケット識別子５０をもとに、ＡＣＫパケット４１を生成する（ステップＳ３０４）。
【０１１８】
さらに、受信部３１は、生成したＡＣＫパケット４１を多重部３２に出力する（ステップＳ３０５）。なお、Ｓ３０３とＳ３０４からＳ３０５の動作は逆順、もしくは並行して行われても良い。
【０１１９】
最後に、多重部３２は、受信部３１から受信したＡＣＫパケット４１を下位レイヤ処理部２２に転送し、動作を終える（ステップＳ３０６）。
【０１２０】
ステップＳ３０１で、受信パケット１２がＡＣＫパケット４１だと判定された場合、受信部３１は、Ｓ３０１で判定されたＡＣＫパケット４１について、送信元が中継装置３であるか、通信装置４であるかを判定する（ステップＳ３０７）。判定の結果、送信元が中継装置３であった場合にはＳ３０８へ、送信元が通信装置４であった場合にはＳ３１０へ移行する。
【０１２１】
ステップＳ３０７の結果、ＡＣＫパケット４１の送信元が中継装置４であった場合、受信部３１は、ＡＣＫパケット４１のフラグチェックを行い、対象となるパケット１０の再送制御の分担が自身（通信装置３）であるか、中継装置４であるかを判定する（ステップＳ３０８）。分担が自身（通信装置３）であった場合にはＳ３０９へ、中継装置４であった場合にはＳ３１０へ移行する。
【０１２２】
ステップＳ３０８で、再送制御対象フラグが再送制御部２１であった場合には、受信部３１は、ＡＣＫパケット４１を終端し、動作を終える（ステップＳ３０９）。
【０１２３】
ステップＳ３０７で、ＡＣＫパケット４１の送信元が中継装置４以外であった場合、またはステップＳ３０８で、再送制御対象フラグが中継装置４であった場合には、ステップＳ３１０の動作が行われる。受信部３１は、ＡＣＫパケット４１からパケット識別子５０を取り出し、ＡＣＫパケット４１を終端させる（ステップＳ３１０）。
【０１２４】
さらに、受信部３１は、Ｓ３０５で取り出したパケット識別子５０を、送信部３０に出力する（ステップＳ３１１）。
【０１２５】
最後に、送信部３０は、受信部３１から受信したパケット識別子５０と対応するキューエントリ７０を削除し、動作を終える（ステップＳ３１２）。
【０１２６】
（中継装置４の動作）
以下、本実施形態における中継装置４の動作について、図１４を参照して詳細に説明する。以下に説明する動作フローは、図１０の動作Ｓ１からＳ５、およびＳ７からＳ８に相当する。
【０１２７】
図１４は、中継装置４が、通信装置３−１または長距離ネットワーク２から受信するパケット１０に対して受信を行う際の動作を示している。同時に、中継装置４が、通信装置３−２または長距離ネットワーク２へのパケット１０の出力を行う際の動作も示している。短距離再送部８０−１と、短距離再送部８０−２の動作は基本的に同様であるため、通信装置３−２から入力されるパケット１０、および通信装置３−１へ出力を行う動作については、説明を省略する。
【０１２８】
まず、中継装置４は、パケット１０の入力を待つ（ステップＳ４００）。
【０１２９】
次に、中継装置４の送信元判断部８１０は、パケット１０の送信元がどこであるかを判定する（ステップＳ４０１）。パケット１０の送信元が、通信装置３−１である場合には、Ｓ４０２へ移行する。パケット１０の送信元が、長距離ネットワーク２である場合には、Ｓ４１１へ移行する。
【０１３０】
Ｓ４０１による判断の結果、パケット１０の送信元が通信装置３−１であるとされた場合には、中継装置４は、入力されたパケット１０を通信装置３−１と繋がる短距離再送部８０−１の再送制御部９０−１にて受信する。再送制御部９０−１の宛先判断部９１０−１は、パケット１０の送信先が通信装置３−２か、長距離ネットワーク２であるかを判定する（ステップＳ４０２）。パケット１０の送信先が通信装置３−２である場合にはＳ４０３へ移行し、長距離ネットワーク２である場合には、Ｓ４０７へ移行する。
【０１３１】
ステップＳ４０２で、パケット１０の送信先が通信装置３−２であると判定された場合には、中継装置４は、ステップＳ４０３を行う。中継装置４は、通信装置３−１と繋がる短距離再送部８０−１の再送制御部９０−１から、受信多重部９１−１と転送部８１を経由して、通信装置３−２と繋がる短距離再送部８０−２内の再送制御部９０−２へパケット１０を転送する（ステップＳ４０３）。
【０１３２】
次に、再送制御部９０−２は、パケット１０を送信多重部９２−２経由で通信装置３−２へ転送する（ステップＳ４０４）。
【０１３３】
続いて、再送制御部９０−１において、通信装置３−１に再送制御を実施するよう要求するフラグを立てたＡＣＫパケット４１を作成する（ステップＳ４０５）。
【０１３４】
再送制御部９０−１において、ステップＳ４０５にて生成したＡＣＫパケット４１を通信装置３−１へ送信し動作を終える（ステップＳ４０６）。なお、Ｓ４０３からＳ４０４と、Ｓ４０５からＳ４０６の動作は同時に行われても良い。
【０１３５】
ステップＳ４０２で、パケット１０の送信先が長距離ネットワーク２であると判断された場合、中継装置４は、ステップＳ４０７の動作を行う。短距離再送部８０−１の再送制御部９０−１は、中継装置４が再送制御を行うことを示すフラグを立てたＡＣＫパケット４１を生成する（ステップＳ４０７）。
【０１３６】
続いて、再送制御部９０−１は、生成したＡＣＫパケット４１を送信多重部９２−１経由で通信装置３−１へ送信する（ステップＳ４０８）。
【０１３７】
次に、再送制御部９０−１は、パケット１０の再送処理を行い、再送回数５１などの再送情報を初期化したパケット１０を生成する（ステップＳ４０９）。
【０１３８】
その後、再送制御部９０−１は、ステップＳ４０９にて生成したパケット１０を、転送部８１経由で長距離ネットワーク２へ出力し、動作を終える（ステップＳ４１０）。なお、Ｓ４０７からＳ４０８と、Ｓ４０９からＳ４１０の動作は並行して行われても良い。
【０１３９】
また、中継装置４の主な再送動作は、短距離再送部８０の再送制御部９０により行われる。その動作は、図１１に示した通信装置３の再送制御部２１の動作フローと同様であるであるので、詳細な説明は省略する。
【０１４０】
ここで、ステップＳ４０２で、パケット１０の送信先が長距離ネットワーク２であると判断された場合、長距離ネットワーク２を介して接続する先にある中継装置が、再送制御をサポートしているかどうか、判断する動作を行っても良い。図１４の例では、長距離ネットワーク２を介して接続する先の短距離ネットワーク１−２内の中継装置４−２が、再送制御をサポートしているかどうかを判断する。なお、動作のタイミングとしては、ステップＳ４０７からＳ４０９の間、あるいは並行して行うことができる。
【０１４１】
ステップＳ４０１で、パケット１０の送信元が長距離ネットワーク２であると判断された場合には、ステップＳ４１１を行う。再送制御部９０−１は、パケット１０の送信元が長距離ネットワーク２だと判断されると、パケット１０の送信先がどこかを判定する（図１４では非表示）。図１４の例では、パケット１０の送信先は、通信装置３−２であるとする。従って、中継装置４は、転送部８１にて受け取ったパケット１０を、通信装置３−２と繋がる短距離再送部８０−２内の再送制御部９０−２へ転送する（ステップＳ４１１）。
【０１４２】
続いて、再送制御部９０−２は、受信したパケット１０に対するＡＣＫパケット４１を生成する（ステップＳ４１２）。
【０１４３】
さらに、再送制御部９０−２は、ステップＳ４１２で生成したＡＣＫパケット４１を転送部８１経由で、長距離ネットワーク２へ転送する（ステップＳ４１３）。
【０１４４】
次に、再送制御部９０−２は、パケット１０の再送処理を行い、再送回数５１などの再送情報を初期化したパケット１０を生成する（ステップＳ４１４）。
【０１４５】
再送制御部９０−２は、ステップＳ４１４で生成したパケット１０を、送信多重部９２−２経由で、通信装置３−２へ転送し動作を終える（ステップＳ４１５）。なお、Ｓ４１２からＳ４１３と、Ｓ４１４からＳ４１５の動作は同時に行われても良い。
【０１４６】
図１５は、本実施形態による通信システムの変形例を示すブロック図である。本変形例では、中継装置４は、スイッチ１００を介して通信装置３に接続される。より詳細には、短距離ネットワーク１の内部における通信は中継装置４を経由することなく行われる。よって、通信装置３から中継装置４へ送信されるパケット１０は、必ず長距離ネットワーク２へ転送される。
【０１４７】
（効果）
本実施形態によれば、中継装置４は、まず、受信したパケットの宛先が通信システム内であるか、または通信システム外であるかを判定する。判定の結果、通信システム外であれば中継装置が再送制御を行い、通信システム内であれば、パケット送信元である通信装置に再送制御を行わせる。すなわち、通信経路の距離が短い再送制御については、送信元の通信装置が行い、通信経路の距離が長い再送制御については、中継装置自身が再送制御を行うことになる。
【０１４８】
以上により、中継装置以外の通信装置は、長距離通信におけるパケット再送制御を行う必要が無くなる。従って、通信装置が再送制御に必要とするメモリの増大を回避することが可能となる。
【０１４９】
また、長距離通信においても、非特許文献１に記載されているような再送制御の方法を実施することが可能となる。この場合には、システム全体の通信効率が向上するという効果がある。
【０１５０】
＜変形例１＞
次に、第２の実施形態の変形例１について説明する。
【０１５１】
まず、図１５は、図３に示す第２の実施形態の短距離ネットワーク１−１の内部に、スイッチ１００−１、短距離ネットワーク１−２の内部にスイッチ１００−２をそれぞれ設けたものである。また、図３と同様、図１５には、通信装置３と中継装置４がそれぞれ複数個存在するが、各々の機能は同様である。さらに、スイッチ１００−１とスイッチ１００−２の機能も同様であるので、特に区別する必要がない限りは、以降スイッチ１００と総称する。
【０１５２】
スイッチ１００を設けたことにより、変形例１における中継装置４は、例えば、通信装置３−１から通信装置３−２の間の通信のような、短距離ネットワーク１の内部で通信されるパケットを処理する必要が無くなる。よって、中継装置４におけるパケット送受信の動作が簡潔となり、中継装置４の転送能力を高めることが可能となる。
【０１５３】
また、スイッチ１００において、再送制御を適用することが可能である。スイッチ１００において再送制御を適用する場合、各機器を繋ぐすべての経路において再送制御が終端される。従って、パケットの廃棄が発生する確率をさらに低下させることが可能である。よって、再送制御可能なスイッチ１００の設置により、ネットワークの信頼性を向上させることが可能となる。
【０１５４】
スイッチ１００において、再送制御を適用しない場合には、再送制御を行う機器が通信機器３と中継装置４に限定される。このため、短距離ネットワーク１内にスイッチ１００が幾つも存在するような場合、再送制御機能の最小限の実装により、実施形態２の効果を得ることが期待できるため、利便性の高い運用が可能となる。
【０１５５】
＜変形例２＞
続いて、第２の実施形態の変形例２について説明する。図１６は、第２の実施形態における中継装置４の変形例を示す図である。
【０１５６】
図９に示すように、第２の実施形態の中継装置４には、通信装置３の個数分だけ、短距離再送部８０が設けられていた。一方、変形例２では、中継装置４における短距離再送部８０は複数ではなく単一である。短距離ネットワーク１内の通信装置３から転送されるパケット１０は、すべてこの短距離再送部８０に入力される。また、短距離再送部８０は受信したパケット１０の宛先を判定し、転送部８１を経由して、通信装置３−１および３−２にパケットを振り分ける。同様に、再送制御部９０は短距離再送部８０より分離し、短距離再送部８０と同様、単一の部位として動作する。なお、再送制御部９０の動作は、第２の実施形態と同様であるので、詳細な説明は省略する。
【０１５７】
変形例２における中継装置４は、図９と比較し、より単純な構成になる。従って、各部の管理や負荷分散が容易となることが可能であり、結果として中継装置４の処理能力を高めることが可能となる。
【０１５８】
＜変形例３＞
さらに、第２の実施形態の変形例３について説明する。図１７は、実施形態２の通信装置３および中継装置４のハードウェア構成例を示す図である。
【０１５９】
通信装置３および中継装置４の機能は、１台のサーバ１１０に実装される。サーバ１１０は、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１２０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２１、及びメモリ１２２を備えている。
【０１６０】
通信装置３および中継装置４の機能は、これらハードウェアで実現することも可能であるし、コンピュータ（サーバ１１０）と、コンピュータ上で実行されるプログラムとの協働によって実現することも可能である。
【０１６１】
より詳細には、パケット１０の送受信を行うＮＩＣ１０１は、通信装置３の送信部３０、受信部３１と中継装置４の短距離再送部８０および転送部８１のパケット送受信機能を担う。パケット処理を行うＣＰＵ１２１は、上述の実施形態における各部のパケット処理に関する機能を担う。また、メモリ１２２には、上述の各部に含まれる再送バッファ６１が格納される。
【０１６２】
また、上記のサーバ１１０上で実現されるプログラムは、磁気ディスクや半導体メモリ等の記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。このようにコンピュータの動作を制御し、コンピュータを上述の各実施形態における通信装置３および中継装置４として機能させ、前述した処理を行わせる。
【０１６３】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１６４】
さらに、上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。
【０１６５】
（付記１）
ネットワークを介してパケットの送受信を行う通信装置と接続し、前記パケットを中継する中継装置であって、
前記中継装置は、
受信した再送パケットの宛先が、前記中継装置が属する通信システム内、または前記通信システム外にあるかを判断する宛先判断手段と、
前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御手段と、
を備えることを特徴とする中継装置。
【０１６６】
（付記２）
前記中継装置は、さらに、
前記受信した再送パケットの送信元が前記通信システム内、または前記通信システム外にあるかを判断する送信元判断手段を備え、
前記再送制御手段は、さらに、前記判断結果が、前記再送パケットの送信元が前記通信システム外にあることを示す場合には、前記再送パケットの再送に必要な情報を初期化して前記再送パケットの再送制御を行うことを特徴とする付記１に記載の中継装置。
【０１６７】
（付記３）
前記再送パケットは、前記再送パケットの識別情報を示すパケット識別子と、前記再送パケットが再送された回数を示す再送回数情報とを含むことを特徴とする付記１または２に記載の中継装置。
【０１６８】
（付記４）
前記中継装置は、さらに、
受信したパケットに含まれる前記再送回数情報に基づいて、前記受信したパケットが再送パケットであるかどうかを判定する再送パケット判定手段を備えることを特徴とする付記３に記載の中継装置。
【０１６９】
（付記５）
前記再送制御手段は、
前記受信したパケットが再送パケットでない場合に、前記受信したパケットの宛先に対して前記受信したパケットを転送することを特徴とする付記４に記載の中継装置。
【０１７０】
（付記６）
前記宛先判断手段は、
前記受信した再送パケットのパケット識別子に含まれる、前記受信した再送パケットの宛先の通信装置の識別情報に基づいて、前記受信した再送パケットの宛先が前記通信システム内または前記通信システム外にあるか判断することを特徴とする付記３から５のいずれか１つに記載の中継装置。
【０１７１】
（付記７）
前記送信元判断手段は、
前記受信した再送パケットのパケット識別子に含まれる、前記受信した再送パケットの送信元の通信装置の識別情報に基づいて、前記受信した再送パケットの送信元が前記通信システム内、または前記通信システム外にあるかを判断することを特徴とする付記３から６のいずれか１つに記載の中継装置。
【０１７２】
（付記８）
ネットワークを介してパケットの送受信を行う通信装置と、前記パケットを中継する中継装置を備える通信システムであって、
前記中継装置は、
受信した再送パケットの宛先が前記通信システム内、または前記通信システム外にあるかを判断する宛先判断手段と、
前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御手段と、
を備えることを特徴とする通信システム。
【０１７３】
（付記９）
前記中継装置は、さらに、
前記受信した再送パケットの送信元が前記通信システム内、または前記通信システム外にあるかを判断する送信元判断手段を備え、
前記再送制御手段は、さらに、前記判断結果が、前記再送パケットの送信元が前記通信システム外にあることを示す場合には、前記再送パケットの再送に必要な情報を初期化して前記再送パケットの再送制御を行うことを特徴とする付記８に記載の通信システム。
【０１７４】
（付記１０）
前記再送パケットは、前記再送パケットの識別情報を示すパケット識別子と、前記再送パケットが再送された回数を示す再送回数情報とを含むことを特徴とする付記８または９に記載の通信システム。
【０１７５】
（付記１１）
前記中継装置は、さらに、
受信したパケットに含まれる前記再送回数情報に基づいて、前記受信したパケットが再送パケットであるかどうかを判定する再送パケット判定手段を備えることを特徴とする付記１０に記載の通信システム。
【０１７６】
（付記１２）
前記再送制御手段は、
前記受信したパケットが再送パケットでない場合に、前記受信したパケットの宛先に対して前記受信したパケットを転送することを特徴とする付記１１に記載の通信システム。
【０１７７】
（付記１３）
前記宛先判断手段は、
前記受信した再送パケットのパケット識別子に含まれる、前記受信した再送パケットの宛先の通信装置の識別情報に基づいて、前記受信した再送パケットの宛先が前記通信システム内または前記通信システム外にあるか判断することを特徴とする付記１０から１２のいずれか１つに記載の通信システム。
【０１７８】
（付記１４）
前記送信元判断手段は、
前記受信した再送パケットのパケット識別子に含まれる、前記受信した再送パケットの送信元の通信装置の識別情報に基づいて、前記受信した再送パケットの送信元が前記通信システム内、または前記通信システム外にあるかを判断することを特徴とする付記１０から１３のいずれか１つに記載の通信システム。
【０１７９】
（付記１５）
受信した再送パケットの宛先が、ネットワークを介してパケットの送受信を行う通信装置と接続し、前記パケットを中継する中継装置が属する通信システム内、または前記通信システム外にあるかを判断する宛先判断ステップと、
前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御ステップと、
を含むことを特徴とする通信方法。
【０１８０】
（付記１６）
前記通信方法は、さらに、
前記受信した再送パケットの送信元が前記通信システム内、または前記通信システム外にあるかを判断する送信元判断ステップを含み、
前記再送制御ステップは、さらに、前記判断結果が、前記再送パケットの送信元が前記通信システム外にあることを示す場合には、前記再送パケットの再送に必要な情報を初期化して前記再送パケットの再送制御を行うことを特徴とする付記１５に記載の通信方法。
【０１８１】
（付記１７）
前記再送パケットは、前記再送パケットの識別情報を示すパケット識別子と、前記再送パケットが再送された回数を示す再送回数情報とを含むことを特徴とする付記１５または１６に記載の通信方法。
【０１８２】
（付記１８）
前記通信方法は、さらに、
受信したパケットに含まれる前記再送回数情報に基づいて、前記受信したパケットが再送パケットであるかどうかを判定する再送パケット判定ステップを含むことを特徴とする付記１７に記載の通信方法。
【０１８３】
（付記１９）
前記再送制御ステップは、
前記受信したパケットが再送パケットでない場合に、前記受信したパケットの宛先に対して前記受信したパケットを転送することを特徴とする付記１８に記載の通信方法。
【０１８４】
（付記２０）
前記宛先判断ステップは、
前記受信した再送パケットのパケット識別子に含まれる、前記受信した再送パケットの宛先の通信装置の識別情報に基づいて、前記受信した再送パケットの宛先が前記通信システム内または前記通信システム外にあるか判断することを特徴とする付記１７から１９のいずれか１つに記載の通信方法。
【０１８５】
（付記２１）
前記送信元判断ステップは、
前記受信した再送パケットのパケット識別子に含まれる、前記受信した再送パケットの送信元の通信装置の識別情報に基づいて、前記受信した再送パケットの送信元が前記通信システム内、または前記通信システム外にあるかを判断することを特徴とする付記１７から２０のいずれか１つに記載の通信方法。
【０１８６】
（付記２２）
受信した再送パケットの宛先が、ネットワークを介してパケットの送受信を行う通信装置と接続し、前記パケットを中継する中継装置が属する通信システム内、または前記通信システム外にあるかを判断する宛先判断処理と、
前記判断結果が、前記受信した再送パケットの宛先が前記通信システム外にあることを示す場合には、前記受信した再送パケットの再送制御を行い、前記受信した再送パケットの宛先が前記通信システム内にあることを示す場合には、前記受信した再送パケットの再送制御を前記受信した再送パケットの送信元に対して要求する再送制御処理と、
をコンピュータに実行させることを特徴とするプログラム。
【０１８７】
（付記２３）
前記プログラムは、さらに、
前記受信した再送パケットの送信元が前記通信システム内、または前記通信システム外にあるかを判断する送信元判断処理を含み、
前記再送制御処理は、さらに、前記判断結果が、前記再送パケットの送信元が前記通信システム外にあることを示す場合には、前記再送パケットの再送に必要な情報を初期化して前記再送パケットの再送制御を行うことを特徴とする付記２２に記載のプログラム。
【０１８８】
（付記２４）
前記再送パケットは、前記再送パケットの識別情報を示すパケット識別子と、前記再送パケットが再送された回数を示す再送回数情報とを含むことを特徴とする付記２２または２３に記載のプログラム。
【０１８９】
（付記２５）
前記プログラムは、さらに、
受信したパケットに含まれる前記再送回数情報に基づいて、前記受信したパケットが再送パケットであるかどうかを判定する再送パケット判定処理を含むことを特徴とする付記２４に記載のプログラム。
【０１９０】
（付記２６）
前記再送制御処理は、
前記受信したパケットが再送パケットでない場合に、前記受信したパケットの宛先に対して前記受信したパケットを転送することを特徴とする付記２５に記載のプログラム。
【０１９１】
（付記２７）
前記宛先判断処理は、
前記受信した再送パケットのパケット識別子に含まれる、前記受信した再送パケットの宛先の通信装置の識別情報に基づいて、前記受信した再送パケットの宛先が前記通信システム内または前記通信システム外にあるか判断することを特徴とする付記２４から２６のいずれか１つに記載のプログラム。
【０１９２】
（付記２８）
前記送信元判断処理は、
前記受信した再送パケットのパケット識別子に含まれる、前記受信した再送パケットの送信元の通信装置の識別情報に基づいて、前記受信した再送パケットの送信元が前記通信システム内、または前記通信システム外にあるかを判断することを特徴とする付記２４から２７のいずれか１つに記載のプログラム。
【符号の説明】
【０１９３】
１    短距離ネットワーク
２    長距離ネットワーク
３、２０００    通信装置
４、１０００    中継装置
１０    パケット
１１    送信パケット
１２    受信パケット
２０    上位レイヤ処理部
２１、９０    再送制御部
２２    下位レイヤ処理部
３０    送信部
３１    受信部
４０    再送適用パケット
４１    ＡＣＫパケット
５０    パケット識別子
５１    再送回数
６０    識別子抽出部
６１    再送バッファ
６２    生成部
６３    再送バッファ処理部
７０    キューエントリ
８０    短距離再送部
８１    転送部
９１    受信多重部
９２    送信多重部
１００    スイッチ
１１０    サーバ
１２０    ＮＩＣ
１２１    ＣＰＵ
１２２    メモリ
８１０    送信元判断部
９０１    宛先判断部
１００１    宛先判断手段
１００２    再送制御手段
【図１】
2012227778.tif 000003
【図２】
2012227778.tif 000004
【図３】
2012227778.tif 000005
【図４】
2012227778.tif 000006
【図５】
2012227778.tif 000007
【図６】
2012227778.tif 000008
【図７】
2012227778.tif 000009
【図８】
2012227778.tif 000010
【図９】
2012227778.tif 000011
【図１０】
2012227778.tif 000012
【図１１】
2012227778.tif 000013
【図１２】
2012227778.tif 000014
【図１３】
2012227778.tif 000015
【図１４】
2012227778.tif 000016
【図１５】
2012227778.tif 000017
【図１６】
2012227778.tif 000018
【図１７】
2012227778.tif 000019