(57)【要約】【課題】  マルチホップ方式の通信システムにおけるパケット伝送効率を向上させる通信ノードを得ること。【解決手段】  本通信ノードの使用される通信システムでは、サーバ端末及びクライアント端末の間でマルチホップ方式でパケットが伝送される。前記クライアント端末は、正常に受信したパケットに応じて確認応答パケットを返送し、正常にパケットを受信できなかった場合には、送信済みの確認応答パケットと同一内容の重複確認応答パケットを返送する。本通信ノードは、前記サーバ端末及び前記クライアント端末とは異なるノードである。本通信ノードは、前記サーバ端末の側から受信したパケットを保持する保持手段と、前記重複確認応答パケットを監視する監視手段を備える。前記重複確認応答パケットを受信したことが検出されると、前記保持手段に格納されているパケットが前記サーバ端末の側に送信される。【選択図】  図５
2006121207.tif 000002
【特許請求の範囲】
【請求項１】
サーバ端末及びクライアント端末の間でマルチホップ方式でパケットが伝送され、前記クライアント端末は、正常に受信したパケットに応じて確認応答パケットを返送し、正常にパケットを受信できなかった場合には、送信済みの確認応答パケットと同一内容の重複確認応答パケットを返送する通信システムに使用される、前記サーバ端末及び前記クライアント端末とは異なる通信ノードであって、
前記サーバ端末の側から受信したパケットを保持する保持手段と、
前記重複確認応答パケットを監視する監視手段と
を備え、前記重複確認応答パケットを受信したことが検出されると、前記保持手段に格納されているパケットを前記サーバ端末の側に送信する
ことを特徴とする通信ノード。
【請求項２】
当該通信ノードが、前記クライアント端末から１ホップで到達可能な場所に位置する
ことを特徴とする請求項１記載の通信ノード。
【請求項３】
前記重複確認応答パケットが検出された場合に、前記保持手段に格納済みのパケットを前記クライアント端末の側に送信すべきか否かを判断する手段
を備えることを特徴とする請求項１記載の通信ノード。
【請求項４】
当該通信ノードが、前記サーバ端末及び前記クライアント端末間の最短のマルチホップ伝送経路上に位置する
ことを特徴とする請求項１記載の通信ノード。
【請求項５】
当該通信ノードが、前記サーバ端末及び前記クライアント端末間の最短のマルチホップ伝送経路上に位置しない
ことを特徴とする請求項１記載の通信ノード。
【請求項６】
サーバ端末及びクライアント端末の間でマルチホップ方式でパケットを伝送する通信方法であって、
前記サーバ端末が前記クライアント端末に向けてパケットを送信し、
前記サーバ端末及び前記クライアント端末とは異なる通信ノードが、前記サーバ端末の側から受信したパケットを保持し、
前記クライアント端末が、正常に受信したパケットに応じて確認応答パケットを返送し、正常にパケットを受信できなかった場合には、送信済みの確認応答パケットと同一内容の重複確認応答パケットを返送し、
前記通信ノードが、前記重複確認応答パケットを受信し、前記保持手段に格納されているパケットを前記クライアント側に送信する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に無線通信の技術分野に関し、特にマルチホップ方式の無線通信システムにおける通信ノード及び通信方法に関する。
【背景技術】
【０００２】
マルチホップ方式又はアドホック方式では、サーバノードとクライアントノードとの間に存在する１以上の中継ノードを通じてパケットが伝送される。この場合におけるサーバノードは、ソースノードとも呼ばれる。また、クライアントノードは、目的ノード、ターゲットノード又は宛先ノード等とも呼ばれる。サーバノード、クライアントノード及び中継ノードの全部又は一部は、移動端末であってもよいし、固定端末であってもよい。この方式は、伝送するデータをマルチホップで中継することにより、カバレッジが拡大すること、通信可能な地域が理論上制限されないこと、無線ネットワークを速やかに構築できること等の利点を有する。
【０００３】
図１は、従来のマルチホップ方式によるパケット伝送の様子を示す。概して、サーバ側の端末（サーバノード）１２及びクライアント側の端末（クライアント端末）１６は、複数の中継ノードを１３，１４，１５を介してデータ伝送を行う。クライアント及びサーバノードの間では、伝送制御プロトコル（ＴＣＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に従う通信（ＴＣＰセッション）が行われる。クライアントノード１６又は他のノードからのパケット転送要求に応じて、サーバノード１２は、クライアントノード１６に向けて一連のパケットを順に送信する。順に送信されるパケットは、図１にてＤａｔａ−１，２，．．．として示されている。送信されたパケットの各々は、中継ノードで中継され、最終的にはクライアントノード１６に順に到達する。クライアントノード１６は、正常に受信できたパケットに対して、確認応答パケットを返送する。確認応答パケットには、正常に受信できたパケットの識別情報（例えば、シーケンス番号等）が含まれる。データ１（Ｄａｔａ−１）が正常に受信されたことに応じて、確認応答パケット（ＡＣＫ−１）が返送される。データ２（Ｄａｔａ−２）が正常に受信されたことに応じて、確認応答パケット（ＡＣＫ−２）が返送される。以下同様に、クライアントノードは、パケットの受信及び確認応答パケットの返送を順に行う。一方、一連のパケットのうち少なくとも１つが、クライアントノードで正常に受信できなかった場合は、クライアントノード１６は、既に受信済みのパケットに対する確認応答パケットと同一内容のパケットをサーバノード１２に向けて返送する。
【０００４】
図２は、データ１（Ｄａｔａ−１）はサーバノード１２からクライアントノード１６に正常に伝送されているが、データ２（Ｄａｔａ−２）は何らかの事情でクライアントノード１６に到達していないことを示す。クライアントノード１６は、データ１（Ｄａｔａ−１）を正常に受信したことに応じて、確認応答パケット（ＡＣＫ−１）を返送する。しかし、データ２（Ｄａｔａ−２）は正常に受信されていないので、クライアントノード１６は、返送済みの確認応答パケット（ＡＣＫ−１）と同一内容のパケットをサーバノード１２側に返送する。従って、データ１に対する確認応答パケットが重複してクライアントノードからサーバノードへ伝送される。図中ＡＣＫ−１の後に示される「Ｄｕｐ」（Ｄｕｐｌｉｃａｔｅ）は、そのパケットが重複確認応答パケットであることを示す。ＴＣＰでは、データが終端ノード（クライアントノード１６）に正常に到達しなかった場合に、このような重複確認応答パケット（ＡＣＫ−１）の返送が複数回反復して行われる。サーバノード１６は、所定数の（３つの）重複した確認応答パケットを受信することで、データ１に続くデータ２が正常に伝送されなかったことを検知し、データ２（Ｄａｔａ−２）を再送する。このようにして、データの再送制御が行われる。
【０００５】
ＴＣＰを無線アドホックネットワークに適用した通信システムについては、例えば、特許文献１に記載されている。
【特許文献１】特開２００４−１５７４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このようなデータの再送制御では、サーバノードから適切なデータが再送されるまでの時間が長くなりがちである。また、パケットのルーティング経路が複雑化すると、再送時間はますます長期化してしまう。即ち、パケット伝送におけるラウンドトリップ時間（ＲＴＴ）が長期化し、パケットの伝送効率が悪化してしまうことが懸念される。
【０００７】
本発明は、上記問題点の少なくとも１つに対処するためになされたものであり、その課題は、マルチホップ方式の通信システムにおけるサーバ端末及びクライアント端末間のパケットの伝送効率を向上させる通信ノード及び通信方法を提供することである。この場合におけるクライアント端末は、正常に受信したパケットに応じて確認応答パケットを送信し、正常にパケットを受信できなかった場合には、送信済みの確認応答パケットと同一内容の重複確認応答パケットを送信するものである。
【課題を解決するための手段】
【０００８】
本発明による通信ノードは、サーバ端末及びクライアント端末の間でマルチホップ方式でパケットが伝送され、前記クライアント端末は、正常に受信したパケットに応じて確認応答パケットを返送し、正常にパケットを受信できなかった場合には、送信済みの確認応答パケットと同一内容の重複確認応答パケットを返送する通信システムに使用される。本通信ノードは、前記サーバ端末及び前記クライアント端末とは異なる。本通信ノードは、前記サーバ端末の側から受信したパケットを保持する保持手段と、前記重複確認応答パケットを監視する監視手段を備える。前記重複確認応答パケットを受信したことが検出されると、前記保持手段に格納されているパケットが前記サーバ端末の側に送信される。
【発明の効果】
【０００９】
本発明によれば、マルチホップ方式の通信システムにおけるパケット伝送効率を向上させることができる。
【発明を実施するための最良の形態】
【００１０】
本発明の一態様によれば、サーバ端末及びクライアント端末の間でマルチホップ方式でパケットを伝送され、
前記サーバ端末が前記クライアント端末に向けてパケットを送信し、
前記サーバ端末及び前記クライアント端末とは異なる通信ノードが、前記サーバ端末の側から受信したパケットを保持し、
前記クライアント端末が、正常に受信したパケットに応じて確認応答パケットを返送し、正常にパケットを受信できなかった場合には、送信済みの確認応答パケットと同一内容の重複確認応答パケットを返送し、
前記通信ノードが、前記重複確認応答パケットを受信し、前記保持手段に格納されているパケットを前記クライアント側に送信する。
【００１１】
サーバ端末及びクライアント端末とは異なる通信ノードが、パケットを再送するので、サーバ端末が再送することを待たずに、クライアント端末に必要なパケットが速やかに伝送される。
【００１２】
本発明の一態様によれば、当該通信ノードが、前記クライアント端末から１ホップで到達可能な場所に位置する。本発明の一態様によれば、当該通信ノードが、前記サーバ端末及び前記クライアント端末間の最短のマルチホップ伝送経路上に位置する。クライアント端末に最も近い通信ノードがパケットの再送を行うので、少ないトラフィック量でパケットの再送を行うことができる。
【００１３】
本発明の一態様によれば、前記重複確認応答パケットが検出された場合に、前記保持手段に格納済みのパケットを前記クライアント端末の側に送信すべきか否かが判断される。これにより、パケットの再送に相応しい通信ノードが再送を担当できる。
【００１４】
本発明の一態様によれば、当該通信ノードは、前記サーバ端末及び前記クライアント端末間の最短のマルチホップ伝送経路上に位置しなくてもよい。クライアント端末近辺の様々な通信ノードが再送制御に参加できるので、パケットの欠落を回避する可能性を大きくすることができる。
【実施例１】
【００１５】
図３は、本発明の一実施例による通信ノードの機能ブロック図を示す。図には、通信ノードの諸機能の内、本発明に特に関連するものが示されている。この通信ノードは、図１，２のサーバノード１２及びクライアントノード１６以外の中継ノード１３，１４及び／又は１５であることが想定される。各中継ノードは、同様な構成及び機能を有するので、中継ノード１５がそれらを代表して説明される。
【００１６】
中継ノード１５は、受信バッファ３０２と、蓄積バッファ３０４と、監視モジュール３０６と、再送実行判定部３０８と、セレクタ３１０とを含む。
【００１７】
受信バッファ３０２は、自身以外の他の通信ノードから受信したパケットを格納する。
【００１８】
蓄積バッファ３０４は、受信バッファ３０２に格納されたパケットの複製を蓄積する。蓄積する期間は、例えばウインドウサイズで規定されるような一定の期間としてもよいし、何らかの契機（トリガ）を受けるまで保持することとしてもよい。例えば、再送に係わるパケットの確認応答パケットを受信したことに応じて、そのパケットを蓄積バッファから削除してもよい。また、蓄積バッファからパケットを再送したことに応じて、そのパケットを削除してもよい。
【００１９】
監視モジュール３０６は、クライアントノード１６のような終端ノードからの確認応答パケット（ＡＣＫ−１，２，．．．）を監視する。監視モジュール３０６は、既に中継済みの確認応答パケットと同一内容の確認応答パケット（重複確認応答パケット）が受信されたことを検出する。
【００２０】
再送実行判定部３０８は、自ノード１５がパケットを再送すべきか否かを判断する。この判断は、様々な基準に基づいて行うことができる。例えば、自ノード１５が、パケットのルーティング経路上で終端ノード１６に最も近い通信ノードである場合に、その自ノード１５がパケットの再送を担当してもよい。再送に関する動作については、後述される。
【００２１】
セレクタ３１０は、受信バッファ３０２又は蓄積バッファ３０４の何れかを選択することで、自身以外の他の通信ノードへ送信するパケットを選択する。
【００２２】
図４は、図３に示されるような中継ノード１５の動作例を示す。ステップ４０２では、受信したパケットが、受信バッファ３０２に蓄積される。受信したパケットは、セレクタ３１０を通じて他の通信ノードに送信される。パケットの転送先やルーティングの経路等は、不図示の処理要素で特定される。受信バッファ３０２に蓄積されたパケットは、複製され、蓄積バッファ３０４にも格納される。一方、監視モジュール３０６では、受信したパケットに、終端ノードからの確認応答パケットが含まれるか否かを監視する。
【００２３】
ステップ４０４では、終端ノードからの確認応答パケットが、以前に伝送された確認応答パケットと同一内容であるか否かが判別される。言い換えれば、確認応答パケットが重複して受信されたか否かが判別される。確認応答パケットが重複して受信されていなかったならば、フローはステップ４０２に戻る。ステップ４０４からステップ４０２に戻る場合としては、中継ノード１５が、データパケットをクライアントノード１６に転送する場合、クライアントノード１６から最初の確認応答パケットを受信し、それをサーバノード側に転送する場合等が考えられる。
【００２４】
ステップ４０６は、ステップ４０４にて、重複した確認応答パケットが受信された場合に行われる。このステップでは、蓄積バッファ３０４に格納されているパケットが、セレクタ３１０を通じて、終端ノード（クライアントサーバ１６）に向けて伝送される。蓄積バッファに蓄積したパケットの内、どれを再送するかは、重複した確認応答パケットを調べることで判別可能である。例えば、重複確認応答パケットの内容が、データ１に対する確認応答パケット（ＡＣＫ−１）と同一であったならば、データ１に続くデータ２のパケットが再送される。そのような確認応答パケットは、データ１に続くデータ２が正常に終端ノードに届かなかったことを表すからである。以後、フローはステップ４０２に戻り、パケットの受信及び確認応答パケットの監視を行う。
【００２５】
図４に示されるフローでは示されていないが、ステップ４０４の後に、その通信ノードが再送すべきことを確認した場合に限ってステップ４０６の再送が行われるようにしてもよい。そのような確認は、再送実行判定部３０８によって行われる。例えば、再送実行判定部３０８は、自ノードが、終端ノードに最も近接しているノードであることを確認した場合に、再送すべきことを示す信号（再送トリガ）を蓄積バッファに与えてもよい。この場合に、通信ノードは、自ノードがパケットのルーティング経路上のどこに位置するかを把握している必要がある。或いは、重複確認応答パケットを最も早く受信した通信ノードが、蓄積バッファ内のパケットを送信するようにしてもよい。
【００２６】
図５は、本発明の一実施例によるパケット伝送例を示す。サーバノード５２と、クライアントノード５６との間に、３つの中継ノード５３，５４，５５がある。但し、中継ノード数は任意である。図１に示されるパケット伝送例と同様に、サーバノード５２は、クライアントノード５２又は他の通信ノードからの要請に応じて、一連のパケットをクライアントノード５２に向けて送信する。図示の例では、データ１（Ｄａｔａ−１），データ２（Ｄａｔａ−２），．．．が順に送信される。クライアントサーバ５６は、パケットを適切に受信できた場合には確認応答パケットを返送し、適切に受信できなかった場合は、送信済みの確認応答パケットと同一内容のパケットを返送する。
【００２７】
図示の例では、クライアントノード５６は、データ１のパケットを正常に受信し、確認応答パケット（ＡＣＫ−１）を返送する。しかしながら、データ２のパケットは、例えばフェージングのような何らかの事情により、クライアントノード５６に適切に届かなかったものとする。この場合に、クライアントノード５６は、データ１に対する確認応答パケット（ＡＣＫ−１）と同一内容のパケット（ＡＣＫ−１（Ｄｕｐ））をサーバノード５２に向けて返送する。「Ｄｕｐ」は、そのパケットが重複確認応答パケットであることを示し、パケットの内容が送信済みのものと重複していることを示す。この重複確認応答パケットＡＣＫ−１（Ｄｕｐ）は、各中継ノードを通じてサーバノード５２に伝送される。
【００２８】
本実施例では、重複確認応答パケットは、中継ノード５３，５４，５５の監視モジュール３０６で監視されている。重複確認応答パケットを検出した中継ノードは、再送実行判定部３０８にて、上述したようにして、自ノードが再送すべきか否かを判定する。本実施例では、中継ノードの各自がルーティング経路上のどこに位置するかを把握しており、終端ノードに最も近い通信ノードが、パケットの再送を行うものとする。従って、３つの中継ノード５３，５４，５５のうち、中継ノード５５の再送実行判定部は再送トリガを出力するが、他の中継ノード５３，５４では再送トリガが出力されない。中継ノード５５の蓄積バッファ３０４は、再送トリガに応じて、蓄積しているパケットを出力し、中継ノード５５はそれを再送パケットとしてクライアントノード５６に送信する。これにより、クライアントノード５６は、データ２に関するパケットを受信することができ、それに応じて確認応答パケット（ＡＣＫ−２）を作成し、サーバノード５２に向けて送信する。以後も同様な手順で、後続のパケットが伝送される。サーバノード５２は、重複確認応答パケットＡＣＫ−１（Ｄｕｐ）を１つ受信した後に、確認応答パケットＡＣＫ−２を受信するので、データ２を再送せずに済む。
【実施例２】
【００２９】
図６は、本発明の一実施例によるパケット伝送例を示す。図５と同様に、サーバノード５２と、クライアントノード５６との間に、３つの中継ノード５３，５４，５５がある。サーバノード５２は、クライアントノード５２等からの要請に応じて、一連のパケットをクライアントノード５２に向けて送信する。クライアントノード５６は、データ１のパケットを正常に受信し、確認応答パケット（ＡＣＫ−１）を返送する。しかしながら、データ２のパケットは、クライアントノード５６に適切に届かなかったものとする。この場合に、クライアントノード５６は、データ１に対する確認応答パケット（ＡＣＫ−１）と同一内容のパケット（ＡＣＫ−１（Ｄｕｐ））をサーバノード５２に向けて返送する。ここまでは、上記と同様である。
【００３０】
本実施例では、重複確認応答パケットは、中継ノード５３，５４，５５で監視されることに加えて、パケットのルーティング経路上にない通信ノード６２でも監視されている。この通信ノード６２も、図３に示されるものと同様な機能を備えている。重複確認応答パケットを検出した中継ノード５３，５４，５５及び通信ノード６２は、各自の再送実行判定部３０８にて、自ノードが再送すべきか否かを判定する。本実施例では、最も早く重複確認応答パケットを検出したノードのみがパケットを再送し、他のノードは再送しないものとする。そして、通信ノード６２が、最も早く重複確認応答パケットを検出したとする。この場合に、通信ノード６２の再送実行判定部は再送トリガを出力するが、他のノード５３，５４，５５では再送トリガは出力されない。通信ノード６２の蓄積バッファ３０４は、再送トリガに応じて、蓄積しているパケットを出力し、通信ノード６２はそれを再送パケットとしてクライアントノード５６に送信する。これにより、クライアントノード５６は、データ２に関するパケットを受信することができ、それに応じて確認応答パケット（ＡＣＫ−２）を作成し、サーバノード５２に向けて送信する。以後も同様な手順で、後続のパケットが伝送される。このように、本実施例では、パケットのルーティング経路上に位置していない通信ノードも、パケットの再送に参加することができるので、パケットの再送をより速やかに行うことができる。
【００３１】
以上、本発明が特定の実施例を参照しながら説明されてきたが、本発明はそのような実施例に限定されず、様々な改良や修正等が可能である。例えば、再送を行う通信ノードは、クライアントノードから１ホップで到達可能なノードでなくてもよい。１より多くのホップ数で到達可能な通信ノードが再送パケットを送信してもよい。また、複数の通信ノードからパケットの再送が行われてもよい。但し、通信システムにおけるトラフィックを少なくし、パケット伝送効率を向上させるする観点からは、クライアントノードに最も近接している１つの通信ノードが再送することが好ましい。
【図面の簡単な説明】
【００３２】
【図１】マルチホップ方式のパケット伝送例を示す図である。
【図２】従来のパケット伝送例を示す図である。
【図３】本発明の一実施例による通信ノードの機能ブロック図を示す。
【図４】中継ノードにおける動作を表すフローチャートを示す。
【図５】本発明の一実施例によるパケット伝送例を示す図である。
【図６】本発明の一実施例によるパケット伝送例を示す図である。
【符号の説明】
【００３３】
１２  サーバノード；  １３，１４，１５  中継ノード；  １６  クライアントノード；
３０２  受信バッファ；  ３０４  蓄積バッファ；  ３０６  監視モジュール；  ３０８  再送実行判定部；  ３１０  セレクタ；
５２  サーバノード；  ５３，５４，５５  中継ノード；  ５６  クライアントノード；  ６２  通信ノード
【図１】
2006121207.tif 000003
【図２】
2006121207.tif 000004
【図３】
2006121207.tif 000005
【図４】
2006121207.tif 000006
【図５】
2006121207.tif 000007
【図６】
2006121207.tif 000008