(57)【要約】【課題】データを高速かつ高信頼で転送する。【解決手段】送信装置１が送信したパケットを受信装置２が折返しパケットとして送信装置１へ返送し、送信装置１が送信したパケットと折返しパケットとを比較する。これにより、送信したパケットが受信装置２に確実に到着したことを担保できる。また、送信装置１は受信装置２からの応答を待たずにパケットを送信し続けることで、回線使用率の向上を図ることができる。【選択図】図１
2015201689.tif 000002
【特許請求の範囲】
【請求項１】
送信装置と受信装置を備えた通信システムであって、
前記送信装置は、
送信する第一のパケットを保持するバッファと、
前記第一のパケットを前記受信装置へ送信する送信手段と、
前記受信装置が返送した第二のパケットを受信する受信手段と、
前記第二のパケットと前記バッファが保持する前記第一のパケットとを比較する比較手段と、
前記比較手段の比較の結果が一致しなかった場合は前記第一のパケットの再送を前記送信手段に指示する制御手段と、
を有することを特徴とする通信システム。
【請求項２】
前記送信装置は、前記第二のパケットの返送を待たずに次の前記第一のパケットを送信することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記第二のパケットの返送を待たずに送信する前記第一のパケットの数は設定により定められることを特徴とする請求項２に記載の通信システム。
【請求項４】
前記制御手段は、前記比較手段の比較の結果が一致した場合は前記バッファから前記第一のパケットを削除することを特徴とする請求項１乃至３のいずれかに記載の通信システム。
【請求項５】
前記制御手段は、所定時間内に前記第二のパケットを受信せずにタイムアウトした場合は前記第一のパケットの再送を前記送信手段に指示することを特徴とする請求項１乃至４のいずれかに記載の通信システム。
【請求項６】
タイムアウトにより第一のパケットを再送したときに当該第一のパケットについてもタイムアウトした場合はバックオフして待機し、さらにタイムアウトしたときは他の通信方法により前記受信装置の状態を確認することを特徴とする請求項５記載の通信システム。
【請求項７】
前記第一のパケットと前記第二のパケットはデータグラム通信を用いて転送されることを特徴とする請求項１乃至６のいずれかに記載の通信システム。
【請求項８】
送信する第一のパケットを保持するバッファと、
前記第一のパケットを受信装置へ送信する送信手段と、
前記受信装置が返送した第二のパケットを受信する受信手段と、
前記第二のパケットと前記バッファが保持する前記第一のパケットとを比較する比較手段と、
前記比較手段の比較の結果が一致しなかった場合は前記第一のパケットの再送を前記送信手段に指示する制御手段と、
を有することを特徴とする送信装置。
【請求項９】
送信装置から第一のパケットを受信する受信手段と、
受信した前記第一のパケットを第二のパケットとして前記送信装置へ返送する送信手段と、
を有することを特徴とする受信装置。
【請求項１０】
送信装置と受信装置による通信方法であって、
前記送信装置による、
第一のパケットを前記受信装置へ送信するステップと、
前記受信装置が返送した第二のパケットを受信するステップと、
前記第二のパケットと前記第一のパケットとを比較するステップと、
前記比較するステップの結果が一致しなかった場合は前記第一のパケットを再送するステップと、
を有することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを転送する技術に関する。
【背景技術】
【０００２】
ＴＣＰは、その誕生時期の網通信品質と速度に対して最適化されたプロトコルであった。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＲＦＣ  ７９３
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＴＣＰヘッダーのチェックサムは１の補数を用いた１６ビットの値でありハッシュ関数に比して信頼性が低いという問題があった。パケットにハッシュ値を付与した場合は、１パケット毎にハッシュ関数を計算しなければならずＣＰＵ負荷が高くなってしまう。
【０００５】
また、ＴＣＰは現在の光ファイバによるデジタル伝送の高品質かつ高速な網に対してはオーバヘッドが大きすぎるという問題があった。ＴＣＰでは、送信側は受信側から送信されるＡＣＫを必ず待つので、送信側はＡＣＫを受信するか、タイムアウトしない限りパケットを送信できない。特に、物理的に遠距離な通信において網内遅延の影響を直接受けてしまう。
【０００６】
本発明は、上記に鑑みてなされたものであり、データを高信頼で転送することを目的とする。
【０００７】
さらに、本発明は、データを高速で転送することを目的とする。
【課題を解決するための手段】
【０００８】
第１の本発明に係る通信システムは、送信装置と受信装置を備えた通信システムであって、前記送信装置は、送信する第一のパケットを保持するバッファと、前記第一のパケットを前記受信装置へ送信する送信手段と、前記受信装置が返送した第二のパケットを受信する受信手段と、前記第二のパケットと前記バッファが保持する前記第一のパケットとを比較する比較手段と、前記比較手段の比較の結果が一致しなかった場合は前記第一のパケットの再送を前記送信手段に指示する制御手段と、を有することを特徴とする。
【０００９】
上記通信システムにおいて、前記送信装置は、前記第二のパケットの返送を待たずに次の前記第一のパケットを送信することを特徴とする。
【００１０】
上記通信システムにおいて、前記第二のパケットの返送を待たずに送信する前記第一のパケットの数は設定により定められることを特徴とする。
【００１１】
上記通信システムにおいて、前記制御手段は、前記比較手段の比較の結果が一致した場合は前記バッファから前記第一のパケットを削除することを特徴とする。
【００１２】
上記通信システムにおいて、前記制御手段は、所定時間内に前記第二のパケットを受信せずにタイムアウトした場合は前記第一のパケットの再送を前記送信手段に指示することを特徴とする。
【００１３】
上記通信システムにおいて、タイムアウトにより第一のパケットを再送したときに当該第一のパケットについてもタイムアウトした場合はバックオフして待機し、さらにタイムアウトしたときは他の通信方法により前記受信装置の状態を確認することを特徴とする。
【００１４】
上記通信システムにおいて、前記第一のパケットと前記第二のパケットはデータグラム通信を用いて転送されることを特徴とする。
【００１５】
第２の本発明に係る送信装置は、送信する第一のパケットを保持するバッファと、前記第一のパケットを受信装置へ送信する送信手段と、前記受信装置が返送した第二のパケットを受信する受信手段と、前記第二のパケットと前記バッファが保持する前記第一のパケットとを比較する比較手段と、前記比較手段の比較の結果が一致しなかった場合は前記第一のパケットの再送を前記送信手段に指示する制御手段と、を有することを特徴とする。
【００１６】
第３の本発明に係る受信装置は、送信装置から第一のパケットを受信する受信手段と、受信した前記第一のパケットを第二のパケットとして前記送信装置へ返送する送信手段と、を有することを特徴とする。
【００１７】
第４の本発明に係る通信方法は、送信装置と受信装置による通信方法であって、前記送信装置による、第一のパケットを前記受信装置へ送信するステップと、前記受信装置が返送した第二のパケットを受信するステップと、前記第二のパケットと前記第一のパケットとを比較するステップと、前記比較するステップの結果が一致しなかった場合は前記第一のパケットを再送するステップと、を有することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、データを高信頼で転送することができる。また、本発明によれば、データを高速で転送することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本実施の形態における通信システムがパケットを送受信する様子を説明するための模式図である。
【図２】本実施の形態における通信システムの構成を示す機能ブロック図である。
【図３】送信装置１がパケットを送信する処理の流れを示すフローチャートである。
【図４】受信装置がパケットを受信する処理の流れを示すフローチャートである。
【図５】ＴＣＰを利用してパケットを送受信する様子を説明するための模式図である。
【図６】送信側から受信側への経路内を流れるパケットの様子を示した模式図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について図面を用いて説明する。
【００２１】
図１は、本実施の形態における通信システムがパケットを送受信する様子を説明するための模式図である。
【００２２】
本実施の形態における通信システムは、送信側の装置と受信側の装置が高品質かつ高速なネットワークを介して接続され、装置間でパケットを送受信する。
【００２３】
本実施の形態における通信システムでは、送信側の装置がパケットを送信すると、受信側の装置は受信したパケットを折り返して送信する。送信側と受信側の装置間でコネクションの確立は行わずに、送信側の装置は通信の開始時から設定により定められたパケット数を順次送信する。設定により定められたパケット数とは、例えば輻輳が発生しない程度のパケット数であり、利用可能な帯域を上限としたり、予め通信相手と調整しておく。
【００２４】
送信側の装置は、折り返して送信された折返しパケットを受信すると、送信したパケットと受信した折返しパケットを突合し、パケットが正しく送信されたことを確認する。なお、パケット同士を突合した結果、一致しない場合はそのパケットを再送する。また、タイムアウト時間内に折返しパケットを受信しない場合もパケットを再送する。
【００２５】
現在では１０ギガビット・イーサネットが普及している。１０ギガビット・イーサネットのように全二重通信の場合、送信側から受信側へパケットを送出しながら、同時に、受信側から送信側へ折返しパケットを送出しても網に悪影響を与えることはない。
【００２６】
なお、送信側の装置は受信側の装置からの折返しパケットの返送を待たずに次々とパケットを送信するので回線の使用率が向上する。
【００２７】
次に、本実施の形態における通信システムの構成について説明する。
【００２８】
図２は、本実施の形態における通信システムの構成を示す機能ブロック図である。
【００２９】
図２に示すように、本実施の形態における通信システムは、送信装置１と受信装置２を備える。
【００３０】
送信装置１は、入力部１１、送信バッファ１２、送信部１３、受信部１４、比較部１５、および制御部１６を備える。
【００３１】
入力部１１は、アプリケーションなどから送信するデータを入力し、データをパケットに分割して送信バッファ１２に格納する。
【００３２】
送信バッファ１２は、パケットを一時的に保持する記憶領域である。図２では、パケットを丸印で示した。
【００３３】
送信部１３は、送信バッファ１２からパケットを取り出し、送信元、送信先、および再送やフロー制御に用いる制御情報を備えたヘッダーをパケットに付与して受信装置２へ送信する。ヘッダーに記載する情報としては、例えばパケットの順番を示すシーケンス番号がある。パケットの到着する順番が入れ替わった場合は、受信装置２はシーケンス番号を用いてパケットの順番を入れ替える。
【００３４】
受信部１４は、受信装置２から折り返して送信された折返しパケットを受信して比較部１５に送信する。
【００３５】
比較部１５は、折返しパケットと送信バッファ１２に格納された送信済のパケットを比較する。比較の結果、一致した場合は比較したパケットを送信バッファ１２から削除し、一致しなかった場合は、比較したパケットの再送を制御部１６に指示する。折返しパケットに対応する送信済のパケットは、例えばパケットのヘッダーに記載したシーケンス番号を用いて特定することができる。
【００３６】
制御部１６は、パケットの再送やフロー制御などの通信制御を行う。
【００３７】
受信装置２は、受信部２１、送信部２２、受信バッファ２３、および出力部２４を備える。
【００３８】
受信部２１は、送信装置１からパケットを受信し、受信したパケットを受信バッファ２３に格納するとともに、受信したパケットを送信部２２へ送信する。
【００３９】
送信部２２は、受信部２１から受信したパケットを折返しパケットとして送信装置１へ送信する。
【００４０】
受信バッファ２３は、受信したパケットを一時的に保持する記憶領域である。
【００４１】
出力部２４は、受信バッファ２３からパケットを取り出して送信装置１が送信したデータを再構築し、データをアプリケーションなどに渡す。
【００４２】
なお、送信装置１および受信装置２が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは送信装置１および受信装置２が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００４３】
また、図２では、送信装置１と受信装置２はそれぞれ送信機能と受信機能のみを持つ装置として図示したが、送信装置１と受信装置２の双方が送受信機能を持ってもよい。
【００４４】
本実施の形態における通信システムは、ＩＰやＵＤＰなどの既存のデータグラム通信上に実装することが可能である。
【００４５】
次に、本実施の形態における通信システムの動作について説明する。
【００４６】
まず、送信装置１がパケットを送信する処理について説明する。図３は、送信装置１がパケットを送信する処理の流れを示すフローチャートである。
【００４７】
送信部１３は送信バッファ１２からパケットを取り出して受信装置２へ送信する（ステップＳ１１）。
【００４８】
続いて、受信部１４が受信装置２から折返しパケットを受信したか否か判定する（ステップＳ１２）。
【００４９】
受信部１４が折返しパケットを受信すると（ステップＳ１２のＹＥＳ）、受信部１４は受信した折返しパケットを比較部１５へ送信し、比較部１５は折返しパケットと送信バッファ１２が保持する送信したパケットを比較する（ステップＳ１３）。
【００５０】
比較部１５による比較の結果、折返しパケットと送信したパケットが一致した場合（ステップＳ１４のＹＥＳ）、送信バッファ１２から送信済のパケットを削除する（ステップＳ１５）。
【００５１】
一方、折返しパケットを受信していない場合（ステップＳ１２のＮＯ）、予め設定した非常に短いタイマーがタイムアウトしたか否か判定する（ステップＳ１６）。本実施の形態における通信システムは、高速なネットワークを用いてパケットを送受信し、さらに受信装置２は受信したパケットをそのまま即座に折り返して返信するので、長いタイマーを設定する必要はない。そこで、本実施の形態では、送信装置１と受信装置２との間のネットワークの通信品質を考慮した非常に短いタイマーを設定する。
【００５２】
タイムアウトしていない場合は（ステップＳ１６のＮＯ）、ステップＳ１２に戻って折返しパケットの到着を待つ。
【００５３】
タイムアウトした場合は（ステップＳ１６のＹＥＳ）、送信バッファ１２からパケットを再び取得して再送する（ステップＳ１７）。タイムアウト時は１回程度のリトライのみ実施し、リトライのタイムアウト時はバックオフして待機する。バックオフの処理は、ＣＳＭＡ／ＣＤと同様の処理を行うことができる。さらにタイムアウトしたときは、他の通信方法（例えばＴＣＰ）を用いて受信装置２の状態を確認する。
【００５４】
また、比較部１５による比較の結果、折返しパケットと送信したパケットが一致していない場合も（ステップＳ１４のＮＯ）、パケットの再送処理を行う（ステップＳ１７）。パケットの再送は、１パケット毎に行われる。
【００５５】
続いて、受信装置２がパケットを受信する処理について説明する。図４は、受信装置２がパケットを受信する処理の流れを示すフローチャートである。
【００５６】
受信部２１がパケットを受信すると、受信したパケットを受信バッファ２３に格納するとともに、受信したパケットを送信部２２に渡す（ステップＳ２１）。
【００５７】
送信部２２は、受信部２１から受け取ったパケットをパケットの送信元である送信装置１へ送信する（ステップＳ２２）。
【００５８】
＜比較例＞
次に、本実施の形態における通信システムの通信方式とＴＣＰとを比較する。
【００５９】
図５は、比較例のＴＣＰを利用してパケットを送受信する様子を説明するための模式図である。
【００６０】
ＴＣＰでは、まず３ウェイハンドシェイクにより送信側と受信側との間で接続を確立する。３ウェイハンドシェイクの後、送信側はパケットを送信する。受信側はパケットを受信するとＡＣＫを送信側に返信する。送信側はＡＣＫを受信してから次のパケットを送信する。したがって、図５に示すように、送信側はパケットを送信してからＡＣＫを受信するまで次のパケットを送信する送信待ち時間が発生してしまう。
【００６１】
図６は、送信側から受信側への経路内を流れるパケットの様子を示した模式図である。図６（ａ）は、ＴＣＰを用いたときの経路内を流れるパケットの様子を示す図であり、図６（ｂ）は、本実施の形態における通信システムを用いたときの経路内を流れるパケットの様子を示す図である。
【００６２】
図６（ａ）に示すＴＣＰを用いた例では、送信側は、パケット１を送信した後、受信側が送信するＡＣＫを受信するまではパケット２を送信しないので、パケット１の送信後からパケット２を送信するまでの間に送信待ち時間が存在する。
【００６３】
図６（ｂ）に示す本実施の形態における通信システムを用いた例では、送信側は、パケット１を送信した後、パケット１の折返しパケットを待つことなく、続くパケット２を送信するので、パケット１の送信後からパケット２を送信するまでの間に送信待ち時間が存在しない。
【００６４】
図６（ａ）（ｂ）を比較すると、送信側がパケット１を送信してからパケット３が受信されたことを確認するまで（図６（ａ）の場合はＡＣＫを受信するまで、図６（ｂ）の場合はパケット３の折返しパケットを受信するまで）のトータル時間は、本実施の形態における通信システムの方が短くなっている。
【００６５】
なお、ＴＣＰでは、ウィンドウ制御という方式を採用し、ウィンドウサイズ分の複数のパケットをＡＣＫを確認せずに送信して効率化を図っている。受信側は複数のパケットに対して１つのＡＣＫを送信する。送信側はＡＣＫを受け取った後、続く１ウィンドウサイズ分のパケットを送信する。ウィンドウ制御でも、１ウィンドウサイズ分のパケットを送信した後は、ＡＣＫを確認するまで送信待ち時間が発生してしまう。
【００６６】
また、ＴＣＰでは、スライディングウィンドウという方式を採用し、受信側のウィンドウに空きが存在するときは、ＡＣＫを待たずにパケットを送信する。受信側のウィンドウの空きはＡＣＫによって通知されるので、スライディングウィンドウでもＡＣＫを確認するまで送信待ち時間が発生してしまう。
【００６７】
続いて、信頼性について既存の通信プロトコルと比較する。
【００６８】
データを高速に転送するプロトコルとしてＵＤＰが存在するが、ＵＤＰは信頼性・順序性・データ完全性を保証しない。これに対し、本実施の形態では、送信装置１が送信済のパケットと受信装置２から返送された折返しパケットとを比較するので信頼性とデータ完全性が保証される。順序性については、送信するパケットの順序を示す情報をヘッダーなどに記載しておくことで対応できる。
【００６９】
また、ＴＣＰのチェックサムは１の補数を用いた１６ビットの値であるのに対し、本実施の形態における通信システムでは、送信装置１が送信したパケットと受信装置２が受信したパケットをそのまま比較するので、ＴＣＰに比べて本実施の形態における通信システムは非常に高い信頼性（完全性）を得ることができる。また、本実施の形態における通信システムでは、パケット同士が一致するか否かを比較するだけなので、処理の負荷も高くない。
【００７０】
さらに、ＴＣＰでは、ＡＣＫのシーケンス番号やタイムアウトにより、受信側で正常に受信されたパケットを再送する無駄が生じることがある。これに対し、本実施の形態における通信システムでは、比較結果が一致しなかったパケットおよびタイムアウトしたパケットのみを再送するので、パケットの再送に無駄が生じることを抑制できる。
【００７１】
＜適用例＞
次に、本実施の形態における通信システムの適用例について説明する。
【００７２】
第１の適用例として、秘密分散に適用した例について説明する。元データＳから３つのシェアＳａ，Ｓｂ，Ｓｃを作成し、各シェアＳａ，Ｓｂ，Ｓｃを別々に保存しておくことでセキュリティを高める秘密分散技術が知られている。さらに、各シェアＳａ，Ｓｂ，ＳｃのうちのいずれかのシェアＳａが消失した場合、残りのシェアＳｂ，Ｓｃを用いて元データＳを復元することなく消失したシェアＳａを再生成する技術も存在する。
【００７３】
例えば、３つのシェアＳａ，Ｓｂ，Ｓｃを別々の地域データセンタＤＣａ，ＤＣｂ，ＤＣｃに格納しておく。このときに、一つの地域データセンタＤＣａが地震などにより倒壊したときは、新たな地域データセンタＤＣｘに消失したシェアＳａを再生成する必要がある。この場合、地域データセンタＤＣｂ，ＤＣｃそれぞれからシェアＳｂ，Ｓｃを新たな地域データセンタＤＣｘに転送する必要があり、バースト通信が発生する状況に至る。各シェアＳｂ，Ｓｃを新たな地域データセンタＤＣｘに転送する通信に本実施の形態における通信システムを用いることで、消失したシェアＳａを可及的速やかに再生成することができる。ＴＣＰを用いてシェアＳｂ，Ｓｃを転送することも可能であるが、回線使用率の高い本通信システムを用いることで、物理回線の速度を上げたり、回線数を増やす必要がない。
【００７４】
第２の適用例として、地理的に離れた拠点間（例えば日本−米国間など）におけるファイル転送に適用した例について説明する。近年、世界の各地に開発拠点が配置されることが多い。また、取り扱うデータの量も膨大なものとなっている。地理的に離れた拠点間で膨大な量のデータを転送するときに本実施の形態における通信システムを用いることで、より確実に高速にデータを転送することが可能となる。また、拠点間を専用線で結ばなくても、本実施の形態における通信システムを用いることでコストの削減を図ることもできる。例えば利用可能な帯域が保証された十分に管理されたネットワークであればより効果が高いが、これに限るものではない。
【００７５】
以上説明したように、本実施の形態によれば、送信装置１が送信したパケットを受信装置２が折返しパケットとして送信装置１へ返送し、送信装置１が送信したパケットと折返しパケットとを比較することで、送信したパケットが受信装置２に確実に到着したことを担保できる。また、送信装置１は受信装置２からの応答を待たずにパケットを送信し続けることで、回線使用率の向上を図ることができる。
【００７６】
本実施の形態によれば、ＴＣＰのようにコネクション確立当初にスロースタートせず、送信装置１が通信の開始時から設定により定められたパケット数を送信することで、回線使用率の向上を図ることができる。
【００７７】
本実施の形態によれば、折返しパケットとの比較結果が不一致の場合あるいはタイムアウトした場合は該当するパケットについてのみパケットを再送することで、受信装置２が受信したパケットを再送する無駄を生じることがない。
【００７８】
本実施の形態によれば、ＩＰやＵＤＰなどの既存のデータグラム通信を用いることで、コモディティ化されたハードウェアを利用することが可能となり、大幅なコストパフォーマンスの改善が期待できる。
【符号の説明】
【００７９】
１…送信装置
１１…入力部
１２…送信バッファ
１３…送信部
１４…受信部
１５…比較部
１６…制御部
２…受信装置
２１…受信部
２２…送信部
２３…受信バッファ
２４…出力部
【図１】
2015201689.tif 000003
【図２】
2015201689.tif 000004
【図３】
2015201689.tif 000005
【図４】
2015201689.tif 000006
【図５】
2015201689.tif 000007
【図６】
2015201689.tif 000008