(57)【要約】【課題】  データパケットの再転送のための装置及び方法を提供する。【解決手段】  モバイルアドホックネットワーク環境で、周期的にブロードキャストされる第１パケットを受信する段階と、前記第１パケットからアプリケーションプログラムにより発生したデータを含む第２パケットに関するパケット転送情報を抽出する段階と、前記パケット転送情報から前記第２パケットの損失如何を判断する段階と、前記第２パケットが損失されたと判断された場合、前記第２パケットの再転送を要請する要請パケットをブロードキャストする段階と、を含むパケット再転送要請方法。これにより、パケット衝突の影響を最小化し、ブロードキャストパケットを効率的かつ安定的に伝達させることによって信頼性及びブロードキャスト効率性を同時に得られる。【選択図】  図１４
2004328749.tif 000002
【特許請求の範囲】
【請求項１】
モバイルアドホックネットワーク環境で、
周期的にブロードキャストされる第１パケットを受信する段階と、
前記第１パケットからアプリケーションプログラムにより発生したデータを含む第２パケットに関するパケット転送情報を抽出する段階と、
前記パケット転送情報から前記第２パケットの損失如何を判断する段階と、
前記第２パケットが損失されたと判断された場合、前記第２パケットの再転送を要請する要請パケットをブロードキャストする段階と、を含むパケット再転送要請方法。
【請求項２】
前記第１パケットは前記無線ネットワークに属するそれぞれのノードに関するルーティング情報を含むパケットである請求項１に記載のパケット再転送要請方法。
【請求項３】
前記第２パケットの損失如何を判断する段階は、前記抽出したパケット転送情報が前記第２パケットに関する最も最近に受信されたパケット転送情報と同一でない場合に前記第２パケットの損失が発生したと判断する段階を含む請求項１に記載のパケット再転送要請方法。
【請求項４】
前記要請パケットは前記第１パケットと同じパケット構造を含む請求項１に記載のパケット再転送要請方法。
【請求項５】
前記パケット転送情報は前記第１パケット内のパケットに関する情報を示す領域に含まれる請求項１に記載のパケット再転送要請方法。
【請求項６】
前記要請パケットをブロードキャストする段階は、前記要請パケット内にパケット損失如何を示すパケット損失識別情報及び損失されたパケットに関する情報を設定してブロードキャストする段階を含む請求項１に記載のパケット再転送要請方法。
【請求項７】
前記損失されたパケットに関する情報は、損失されたパケットに関するパケット転送情報及び前記損失されたパケットを転送したノードの識別情報を含む請求項６に記載のパケット再転送要請方法。
【請求項８】
モバイルアドホックネットワーク環境で、
アプリケーションプログラムにより発生したデータを含むデータパケットに関するパケット転送情報と、前記データパケットの損失如何を示すパケット損失識別情報と、損失されたデータパケットに関する情報とを含む無線パケットを送受信する送受信モジュールと、
前記送受信モジュールから前記無線パケットを伝達されて、前記パケット損失識別情報に対応するイベントを発生させるか、ブロードキャスト方式で転送するパケットを生成して前記送受信モジュールに伝達するパケット処理モジュールと、
前記パケット転送情報と隣接ノードに関するルーティング情報とを保存する保存モジュールと、
所定のアプリケーションプログラムと前記パケット処理モジュール間にデータ伝達を行うか、前記イベントに対応するイベント処理を行う制御モジュールと、を含むパケット再転送のための装置。
【請求項９】
前記無線パケットは周期的にブロードキャストされるパケットである請求項８に記載のパケット再転送のための装置。
【請求項１０】
前記イベント処理は、前記パケット損失識別情報がパケットが損失されていないことを示す場合に、前記パケット転送情報を利用して損失されたデータパケットの再転送如何を決定するイベント処理を含む請求項８に記載のパケット再転送のための装置。
【請求項１１】
前記イベント処理は、前記パケット損失識別情報がパケットが損失されたことを示す場合に、前記損失されたデータパケットに関する情報を利用して損失されたデータパケットの再転送如何を決定するイベント処理を含む請求項８に記載のパケット再転送のための装置。
【請求項１２】
前記損失されたデータパケットに関する情報は、損失されたデータパケットに関するパケット転送情報及び前記損失されたデータパケットを転送したノードの識別情報を含む請求項１１に記載のパケット再転送のための装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はモバイルアドホックネットワークに係り、より詳細にはブロードキャスティング方法により転送されるパケット（以下、‘ブロードキャストパケット’という）の損失を緩和するための損失されたデータパケットの再転送のための方法及び装置に関する。
【背景技術】
【０００２】
モバイルアドホックネットワークは移動性を持つ端末（以下、‘ノード’という）間の連結を無線リンクを利用してインフラストラクチャーに基づかずに確保するネットワークである。
【０００３】
ところで、モバイルアドホックネットワークを構成するそれぞれのノードは互いに独立的に移動するために、モバイルアドホックネットワークを制御するか、ノード間に情報を共有しようとする時には中央集中的な方式よりは分散方式を利用する必要がある。
【０００４】
前記のような分散方式を利用してモバイルアドホックネットワークを構成する全体ノードを制御するためには、全体ノードに関する制御情報を含むパケットをブロードキャスティング方法により転送するメカニズムが必須に要請される。
【０００５】
この時、モバイルアドホックネットワークには、インフラストラクチャーに基づいた無線ＬＡＮのアクセスポイントのような中央集中的な制御装置がないために、一つ以上のノードからパケットが同時にブロードキャストされる可能性が高い。しかし、このような場合に無線リンクの特性上、伝播領域が重なる両ノードが同時にブロードキャストパケットを転送すれば前記ブロードキャストパケット間にパケット衝突が発生する恐れがある。すなわち、複数のノードから同時に転送した重要な制御情報がブロードキャストの伝達経路が重なって発生するパケット衝突により消滅する可能性が大きくなってブロードキャストパケットの転送信頼性（以下、‘信頼性’という）問題が発生する。
【０００６】
したがって、前記のような信頼性を保障するために、モバイルアドホックネットワークシステムでは‘フラッディング（Ｆｌｏｏｄｉｎｇ）’というブロードキャストメカニズムがある。
【０００７】
フラッディングメカニズムでは、最初にパケットを生成するソースノードが隣接する他のノードに前記生成されたパケットをブロードキャストし、前記隣接するそれぞれのノードは受信したパケットを１回だけブロードキャストする。このような過程はモバイルアドホックネットワークで到達可能なあらゆるノードが前記パケットを受信するまで続く。
【０００８】
図１では、前記のようなフラッディングメカニズムを示しているが、前記図１を利用してより具体的に説明する。
送信ノードが隣接ノードにパケットをブロードキャストすれば、前記隣接ノードは自分が受信したブロードキャストパケットを自分の隣接ノードに転送する。したがって、一つのノードが同じパケットを複数回受信して帯域幅を多く消費し、これに伴いブロードキャスト効率性が大きく低下してしまう。
【０００９】
前記図１に図示するように、例えば、ノード３がソースノードとなってパケットをブロードキャストした後、これを受信したノード１とノード４は１ホップ内にある自分の隣接ノードに前記パケットをブロードキャストする。この時、ノード２、ノード６、ノード７は前記ノード１から前記パケットを受信し、ノード５、ノード６は前記ノード４から前記パケットを受信する。それから、前記ノード２、前記ノード５、前記ノード６、前記ノード７は再び隣接ノードにパケットをブロードキャストするが、この時、ブロードキャストされる伝播領域が大部分重なるようになって多くのパケット損失が発生してしまう。
【００１０】
しかし、前記フラッディングメカニズムは、一つのノードをして同じパケットを複数回受信させることによって、単一パケット損失は他の余分のパケットにより補完され、前記信頼性が保障される。
【００１１】
一方、前記フラッディングメカニズムは、余分のパケットが帯域幅を消費しながら複数回転送されるために、ブロードキャスト効率性を低下させる。
したがって、モバイルアドホックネットワークでの前記ブロードキャスト効率性を改善させるために、余分のパケット数を最小化するためのいろいろな方法が提案された。
【００１２】
このような方法のうち一つとして、あらゆるノードがブロードキャストパケットを再びブロードキャストすることではなく、隣接ノードのうち一部ノードだけ受信したブロードキャストパケットを再びブロードキャストする方法がある。
【００１３】
モバイルアドホックネットワークでは、インフラストラクチャーなしにモバイルノードが無線リンクで連結されているために、ネットワークを構成するノードの移動性によって随時ネットワークトポロジーが変わる。したがって、モバイルアドホックネットワークに属するノードは隣接ノードの状態及び全体ネットワークのトポロジーを把握するために自分のアドレス情報及び確認された隣接ノードに関する情報を含んでいるハローパケット（Ｈｅｌｌｏ ｐａｃｋｅｔ）を周期的に交換する。
【００１４】
すなわち、ブロードキャストパケット送信子は前記ハローパケットにより収集された隣接ノードに関する情報に基づいて隣接ノードのうち一部ノードを中継子として選択できるが、このようなメカニズムの代表的なものとしてＡＨＢＰ（Ａｄｄ Ｈｏｃ Ｂｒｏａｄｃａｓｔ Ｐｒｏｔｏｃｏｌ）がある。前記ＡＨＢＰは２ホップ内に隣接するノードに関する情報を持っている任意のノードが１ホップ内にあるノードのうち任意のノードを中継子として選定し、前記任意のノードが転送したブロードキャストパケットを前記選定された中継子だけをして再びブロードキャストさせるプロトコルである。
【００１５】
図２には、前記ＡＨＢＰの動作方法を具体的に示している。
すなわち、前記図２では、余分のパケット数を最小化することによって帯域幅を効率的に使用するために一部ノードでのみパケットをブロードキャストする方法を使用する。
例えば、ノード３をソースノードといえば、ノード１及びノード４は前記ノード３により中継子として選択され、ノード６は前記ノード１または前記ノード４により中継子として選択されてパケットをブロードキャストする。
【００１６】
しかし、このような方法により余分のパケット数を最小化させることは、単一パケット損失に対する信頼性を低下させ、特に前記中継子がパケットを損失する場合にはさらに問題になる。
【００１７】
また、モバイルアドホックネットワークを構成するノードは無線リンク環境で自在に移動して他のノードと独立的にデータを送受信するようになって図３に図示するように複数のノードが同時にブロードキャストパケットを送信する可能性が大きい。このようになればパケット伝達経路が重なり、前記図３に図示するように経路が重なる度にパケット衝突が発生して信頼性が大きく減少してしまう。
【００１８】
したがって、モバイルアドホックネットワーク環境で一つ以上のノードがブロードキャストパケットを転送する場合、ブロードキャストパケット伝達経路が重なることにより発生するパケット衝突の影響を最小化し、ブロードキャストパケットを効率的かつ安定的に伝達することによって信頼性及びブロードキャスト効率性を確保するためのメカニズムが必要となってきている。
【発明の開示】
【発明が解決しようとする課題】
【００１９】
本発明は前記問題点を鑑みてなされたものであり、本発明はブロードキャストパケットを受信する受信子がパケット損失を感知し、パケットを送信したソースノードまたは中継子に損失されたパケットの再転送を要請する方法を提供するところに目的がある。
本発明の目的は以上言及した目的に限定されず、言及されていないさらに他の目的は下の記載から当業者に明確に理解される。
【課題を解決するための手段】
【００２０】
前記目的を達成するために、モバイルアドホックネットワーク環境で、周期的にブロードキャストされる第１パケットを受信する段階と、前記第１パケットからアプリケーションプログラムにより発生したデータを含む第２パケットに関するパケット転送情報を抽出する段階と、前記パケット転送情報から前記第２パケットの損失如何を判断する段階と、前記第２パケットが損失されたと判断された場合、前記第２パケットの再転送を要請する要請パケットをブロードキャストする段階と、を含む。
【００２１】
望ましくは、前記第１パケットは前記無線ネットワークに属するそれぞれのノードに関するルーティング情報を含む。
望ましくは、前記第２パケットの損失如何を判断する段階は、前記抽出したパケット転送情報が前記第２パケットに関する最も最近に受信されたパケット転送情報と同一でない場合に前記第２パケットの損失が発生したと判断する段階を含む。
望ましくは、前記要請パケットは前記第１パケットと同じパケット構造を含む。
望ましくは、前記パケット転送情報は前記第１パケット内のパケットに関する情報を示す領域に含まれる。
望ましくは、前記要請パケットをブロードキャストする段階は、前記要請パケット内にパケット損失如何を示すパケット損失識別情報及び損失されたパケットに関する情報を設定してブロードキャストする段階を含む。
望ましくは、前記損失されたパケットに関する情報は、損失されたパケットに関するパケット転送情報及び前記損失されたパケットを転送したノードの識別情報を含む。
【００２２】
前記目的を達成するために、モバイルアドホックネットワーク環境で、本発明の実施によるパケット再転送のための装置は、アプリケーションプログラムにより発生したデータを含むデータパケットに関するパケット転送情報と、前記データパケットの損失如何を示すパケット損失識別情報と、損失されたデータパケットに関する情報とを含む無線パケットを送受信する送受信モジュールと、前記送受信モジュールから前記無線パケットを伝達されて、前記パケット損失識別情報に対応するイベントを発生させるか、ブロードキャスト方式で転送するパケットを生成して前記送受信モジュールに伝達するパケット処理モジュールと、前記パケット転送情報と隣接ノードに関するルーティング情報とを保存する保存モジュールと、所定のアプリケーションプログラムと前記パケット処理モジュール間にデータ伝達を行うか、前記イベントに対応するイベント処理を行う制御モジュールと、を含む。
【００２３】
望ましくは、前記無線パケットは周期的にブロードキャストされるパケットである。
望ましくは、前記イベント処理は、前記パケット損失識別情報がパケットが損失されていないことを示す場合に、前記パケット転送情報を利用して損失されたデータパケットの再転送如何を決定するイベント処理を含む。
望ましくは、前記イベント処理は、前記パケット損失識別情報がパケットが損失されたことを示す場合に、前記損失されたデータパケットに関する情報を利用して損失されたデータパケットの再転送如何を決定するイベント処理を含む。
望ましくは、前記損失されたデータパケットに関する情報は、損失されたデータパケットに関するパケット転送情報及び前記損失されたデータパケットを転送したノードの識別情報を含む。
【００２４】
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。本発明の利点及び特徴、そしてそれらを達成する方法は添付される図面と共に詳細に後述される実施例を参照すれば明確になる。しかし、本発明は以下開示される実施例に限定されるものではなく他の多様な形態に具現され、単に本実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範疇を完全に知らせるために提供されるものであり、本発明は請求請求の範囲により定義されるだけである。明細書全体にわたって同じ参照符号は同じ構成要素を示す。
【発明の効果】
【００２５】
本発明の実施によってモバイルアドホックネットワーク環境でブロードキャストパケットを送受信する場合、パケット衝突の影響を最小化し、ブロードキャストパケットを効率的かつ安定的に伝達させることによって信頼性及びブロードキャスト効率性を同時に得られる。
【発明を実施するための最良の形態】
【００２６】
以下、添付された図面を参照して本発明の望ましい実施例を詳細に説明する。一方、本発明への理解を容易にするために最初にパケットを生成してブロードキャストするノードを‘ソースノード’とし、前記パケットを受信するノードを‘受信子’とし、前記受信子のうち受信したパケットを再びブロードキャストするノードを‘中継子’とする。
【００２７】
また、本発明の実施において、パケット損失感知及びパケット再転送要請を行うための情報として‘ＲＢＳ（Ｒｅｌａｙｅｒ Ｂｒｏａｄｃａｓｔ Ｓｅｑｕｅｎｃｅ ｎｕｍｂｅｒ）’という値を定義するが、前記ＲＢＳ値はブロードキャストパケットに含まれた所定のフィールド値と設定できる。
【００２８】
前記ＲＢＳ値はソースノードまたは中継子がブロードキャストパケットを転送したり中継する度に変わるが、本発明への理解を容易にするためにここではブロードキャストパケットがソースノードまたは中継子を経由する度に１ずつ増加すると仮定する。
【００２９】
図４は、本発明の実施によってパケット損失を感知し、パケット再転送を要請する概略的なメカニズムを説明する例示図である。この時、前記図４で示したメカニズムは本発明の核心を明確に理解するための一つの例であって、本発明の内容が前記図４で示したメカニズムに限定されるものではない。
【００３０】
前記図４ではノード１を受信子と、ノード２及びノード３を中継子と仮定し、ブロードキャストパケット及びハローパケットの送受信によるパケット損失感知及びパケット再転送要請過程を説明している。この時、前記ハローパケットは、モバイルアドホックネットワークを構成しているそれぞれのノードが周期的にブロードキャストするパケットであって、前記ハローパケットには自分のルーティング情報及び１ホップ内にある他のノードのルーティング情報を含んでいる。また、前記ハローパケットもブロードキャストパケットの１種類と見なしうるが、本発明に関する説明においては、アプリケーションデータを含んでブロードキャスティング方法により転送されるパケットをブロードキャストパケットといい、前記ハローパケットと区別する。
【００３１】
ノード１がノード２からＲＢＳ値が２と設定されたブロードキャストパケットを受信した後（Ｓ４１０）、所定時間が過ぎた後、ノード３からＲＢＳ値が３と設定されたハローパケットを受信する（Ｓ４１５）。この時、前記ノード１は前記ノード３からＲＢＳ値が３と設定されたブロードキャストパケットを既に正常に受信したと仮定する。
【００３２】
それから、前記ノード１は前記ノード２からＲＢＳ値が３と設定されたブロードキャストパケットと、前記ノード３からＲＢＳ値が４と設定されたブロードキャストパケットとを同時に受信する（Ｓ４２０、Ｓ４２５）。この時、衝突によりパケットが損失される。
【００３３】
一方、前記ノード２及び前記ノード３はパケット損失が発生したことを知らず、それぞれハローパケットをブロードキャストする。すなわち、前記ノード２は既にＲＢＳ値が３と設定されたブロードキャストパケットを転送したために、ＲＢＳ値が３と設定されたハローパケットをブロードキャストし（Ｓ４３０）、前記ノード３は既にＲＢＳ値が４と設定されたブロードキャストパケットを転送したために、ＲＢＳ値が４と設定されたハローパケットをブロードキャストする（Ｓ４３５）。このようにハローパケットに含まれたＲＢＳ値は該当ノードが最近に転送したブロードキャストパケットのＲＢＳ値を示す。一方、前記ノード１はパケットが損失されたことを知らず、前記ノード２及び前記ノード３からそれぞれハローパケットを受信する。
【００３４】
前記ノード１は前記ノード２に対してＲＢＳ値が２と設定されたブロードキャストパケットを受信した後、ＲＢＳ値が３と設定されたハローパケットを受信するので、ＲＢＳ値が３と設定されたブロードキャストパケットを受信できなかったということを感知する。また、前記ノード３に対してもＲＢＳ値が３と設定されたブロードキャストパケットを受信した後、ＲＢＳ値が４と設定されたハローパケットを受信するのでＲＢＳ値が４と設定されたブロードキャストパケットを受信できなかったことを感知する。したがって、前記ノード１は、ハローパケットをブロードキャストしながら前記ノード２及び前記ノード３に対してパケット再転送を要請する（Ｓ４４０、Ｓ４４５）。この時、パケット再転送を要請するかどうかは、ハローパケット内に所定のフィールドをパケット再転送要請のための情報フィールドと定義し、前記情報フィールドに設定された値により判断する。本発明に関する説明では前記フィールドを‘ＮＡＣＫ’と称する。また、パケット再転送要請は図４で図示するように２以上のノードに対して可能であるために、本発明ではハローパケット内にパケット再転送を要請されるそれぞれのノードに関する情報及び再転送対象となるパケット情報を含む所定のフィールドを設定する。
【００３５】
前記ノード２及びノード３は前記ノード１からハローパケットを受信した後、前記ノード１が再転送を要請したパケットをそれぞれ再びブロードキャストする（Ｓ４５０、Ｓ４５５）。
【００３６】
図５は、本発明の実施によってデータパケットの再転送を要請するメカニズムを説明するためのモバイルアドホックネットワークトポロジーを示す例示図である。
前記図５ではノード３をソースノードとし、ノード１、ノード４、ノード６を中継子とし、ノード２、ノード５、ノード７、ノード８、ノード９を受信子とする。この時、いかなるノードを中継子とするかは前述したＡＨＢＰによって決定される。
【００３７】
本発明の実施によって、ソースノードに該当するノード３で生成されたアプリケーションデータをブロードキャストする場合には、ＲＢＳ値に該当する情報を前記図５で図示したようにブロードキャストパケット内の所定フィールドに設定する必要がある。この時、前記ブロードキャストパケットはそれぞれのノード間にデータ通信を可能にする通信プロトコルに従うデータパケットでもあるが、ここではＩＰ（Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）パケットを例として説明する。
【００３８】
図６は、本発明の実施によるブロードキャストパケットのフォーマットを示す例示図であって、ＩＰパケットの構造を例としている。
前記ＩＰパケットはパケットに関する情報を含むＩＰヘッダ領域及びペイロードに該当するデータ領域を含んでいるが、前記ＩＰヘッダ領域とデータ領域間にはその他の情報を含んでいるＩＰオプション領域がある。本発明の実施によるＲＢＳ値に関する情報は前記ＩＰヘッダ領域またはＩＰオプション領域に設定できる。以下、ＩＰヘッダ領域は前記ＩＰオプション領域を含むこととする。
【００３９】
図７は、本発明の実施によって前記図５で図示したネットワークトポロジーを構成するノード間にハローパケットを送受信するメカニズムを説明する例示図である。
ハローパケットは前述したように周期的にブロードキャストされるパケットであって、ソースノードまたは中継子はブロードキャストパケットを転送した後、転送されたパケットに含まれたＲＢＳ値をハローパケットに設定してブロードキャストする。また、中継子または受信子はパケット損失を感知する場合、ハローパケットはＡＣＫ情報を設定してブロードキャストによりパケット再転送を要請する。前記のようなハローパケットの機能を行うために図８で図示したようなハローパケットの構造を持つことができる。
【００４０】
前記図８に図示されたハローパケットは‘タイプ’フィールド、‘フラッグ’フィールド、‘隣接ノード数’フィールド、‘ＲＢＳ情報’フィールド、‘ＮＡＣＫ地図’フィールド、‘隣接ノード情報’フィールドを含む。
【００４１】
前記‘タイプ’フィールドはパケットの種類がハローパケットを示す情報を含む。
前記‘フラッグ’フィールドは前記ハローパケットを送信するノードがパケットを損失したことを示す情報を含む。例えば、前記‘フラッグ’フィールドのうち特定ビットをＮＡＣＫフィールドと設定した後、前記ＮＡＣＫフィールドが０と設定されればパケットを損失しなかった（以下、‘ＮＡＣＫフィールドがディセーブルされた’という）ということを示し、前記ＮＡＣＫフィールドが１と設定されればパケットを損失した（以下、‘ＮＡＣＫフィールドがイネーブルされた’という）ということを示す方法でパケット損失如何を示すことが分かる。
【００４２】
前記‘隣接ノード数’フィールドは前記ハローパケットを送信するノードから１ホップ内にあるノードの数を示す。
前記‘ＲＢＳ情報’フィールドには、前記ハローパケットを送信するノードが最も最近にソースノードまたは中継子から受信したブロードキャストパケットのＲＢＳ値が設定される。
前記‘隣接ノード情報’フィールドは、パケット再転送を要請されるノードの識別情報を示す‘隣接ノード識別子’情報と、前記‘隣接ノード識別子’に該当するノードに再転送を要請するパケットに関する情報を示す‘ＲＢＳ＿ｒｅｑｕｅｓｔｅｄ’情報とを含む。
【００４３】
前記‘ＮＡＣＫ地図’フィールドは前記‘隣接ノード識別子’情報または‘ＲＢＳ＿ｒｅｑｕｅｓｔｅｄ’情報を示すポインター情報を含む。この時、前記‘隣接ノード情報’フィールドに２以上の‘隣接ノード識別子’情報がある場合にはそれぞれの‘隣接ノード識別子’情報を示す２以上のポインター情報を含む。
一方、本発明の実施のためのハローパケットの構造は前記図８に図示された構造に限定することではなく、これと類似した機能をするフィールドを持つハローパケットの構造を含む。
【００４４】
図９は、本発明の実施による隣接ノード情報テーブルを示す例示図である。
前記隣接ノード情報テーブルは、隣接ノードから受信するブロードキャストパケットまたはハローパケットに含まれたＲＢＳ情報を保存し、パケット損失によるパケット再転送要請時に利用される。したがって、モバイルアドホックネットワークに属するあらゆるノードは随時前記隣接ノード情報テーブルを更新する。
【００４５】
前記隣接ノード情報テーブルにある‘ノード’フィールドは隣接ノードの識別子情報を含む。前記図９では、本発明の説明を容易にするために‘３番ノード’、‘５番ノード’、‘６番ノード’として隣接ノードを表している。また、‘リンク状態’フィールドは本発明が適用される無線リンクの状態を表すが、それぞれのノード間に両方向通信が可能な無線環境を‘ｓｙｍ’と表現し、本発明は‘ｓｙｍ’状態でのみ適用されるものとする。また、‘隣接ノードの最新ＲＢＳ’フィールドは該当ノードから最も最近に受信したブロードキャストパケットのＲＢＳ値に関する情報を含み、‘Ｔｒｙ＿ｆｌａｇ’は該当ノードにパケット再転送を要請した回数を示し、‘ＮＡＣＫｓ’フィールドは損失されたパケットのＲＢＳ値に関する情報を含む。この時、前記‘Ｔｒｙ＿ｆｌａｇ’情報の場合にパケット再転送要請回数を一定の回数に制限できる。多すぎるパケット再転送要請はネットワークに多くの負荷をかける恐れがあるからである。
【００４６】
一方、本発明の実施のための隣接ノード情報テーブルは前記図９に図示された構造に限定されるものではなく、これと類似した機能をするフィールドを持つテーブル構造を含む。
【００４７】
図１０は、本発明の実施によってブロードキャストパケットを送信する過程を示す一実施例のフローチャートであって、さらに具体的にはソースノードでパケットを生成してブロードキャストする過程を示している。
まず、ソースノードにあるアプリケーションプログラムが動作して隣接ノードにブロードキャストするデータが発生すれば、前記ソースノードでデータ送受信を担当するモジュールは前記データを前記アプリケーションプログラムから受信する（Ｓ１０００）。この時、前記モジュールはハードウェアやソフトウェア、またはハードウェアとソフトウェアとの結合により具現される。
【００４８】
それから、ソースノード自分が持っているＲＢＳ値を１ほど増加させ（Ｓ１０１０）、隣接ノードのうち中継子が存在するかどうかを検査する（Ｓ１０２０）。この時、中継子の存否はＡＨＢＰによる中継子選定アルゴリズムを利用して決定できる。もし、前記アルゴリズムによって中継子が選定された場合には（Ｓ１０２０で「はい」）、前記図６で図示したようなブロードキャストパケットのヘッダ領域に前記選定された中継子リストを設定し（Ｓ１０３０）、前記ヘッダ領域にソースノード自分のＲＢＳ値を設定する（Ｓ１０４０）。もし、前記アルゴリズムによって中継子が選定されていない場合には（Ｓ１０２０で「いいえ」）、前記Ｓ１０３０段階を経ずにブロードキャストするパケットのヘッダ領域にソースノード自分のＲＢＳ値を設定する（Ｓ１０４０）。
【００４９】
一方、前記ブロードキャストパケットのヘッダ領域にＲＢＳ値が設定されれば、前記ソースノードは前記パケットをブロードキャストし（Ｓ１０５０）、周期的にブロードキャストするハローパケットに最近にブロードキャストしたパケットに含まれたＲＢＳ値を設定してブロードキャストする（Ｓ１０６０）。
【００５０】
図１１は、本発明の実施によって受信したハローパケットを処理する過程を示す一実施例のフローチャートである。
ソースノードまたは中継子が隣接ノードからイネーブルされたＮＡＣＫ情報を含むハローパケットを受信し（Ｓ１１００）、前記ハローパケットの‘隣接ノード識別子’が自分を示さない場合には前記受信したハローパケットを廃棄する。
【００５１】
しかし、もし前記ハローパケットの‘隣接ノード識別子’が自分を示す場合に（Ｓ１１２０で「はい」）、前記ハローパケットの‘ＲＢＳ＿ｒｅｑｕｅｓｔｅｄ’が自分が最近にブロードキャストしたパケットのＲＢＳ値と同一であれば（Ｓ１１３０で「はい」）、前記ハローパケットを受信したソースノードまたは中継子は前記ＲＢＳ値に該当するブロードキャストパケットを再びブロードキャストする（Ｓ１１３０、Ｓ１１４０）。
【００５２】
図１２は、本発明の実施によって受信したブロードキャストパケットを処理する過程を示すす一実施例のフローチャートである。
任意のノード（以下、図１２に関する説明では‘受信ノード’という）がブロードキャストパケットを受信すれば（Ｓ１２００）、前記受信ノードは前記図９で図示した‘隣接ノード情報テーブル’にある‘ノード’フィールドの情報及び‘隣接ノードの最新ＲＢＳ’フィールドの情報を更新する（Ｓ１２１０）。
【００５３】
それから、前記受信ノードは前記受信したパケットに含まれた中継子リストに自分のアドレスがあるかどうかを検査する（Ｓ１２２０）。もし自分のアドレスがない場合には（Ｓ１２２０で「いいえ」）、前記受信したブロードキャストパケットを再び隣接ノードにブロードキャストする必要がないので、前記受信ノードは前記受信したブロードキャストパケットに含まれたデータ情報を自分のアプリケーションプログラムに伝達する（Ｓ１２８０）。
【００５４】
一方、前記受信したパケットに含まれた中継子リストに自分のアドレスがある場合には（Ｓ１２２０で「はい」）、前記受信ノードは前記受信したブロードキャストパケットを再び隣接ノードにブロードキャストする必要がある。したがって、前記図１０で図示した過程を経る。すなわち、自分が持っているＲＢＳ値を１ほど増加させ（Ｓ１２３０）、隣接ノードのうち中継子が存在するかどうかを検査する（Ｓ１２４０）。この時、中継子の存否はＡＨＢＰによる中継子選定アルゴリズムを利用して決定できる。もし、前記アルゴリズムによって中継子が選定された場合には（Ｓ１２４０で「はい」）、前記図６で図示したようなブロードキャストパケットのヘッダ領域に前記選定された中継子リストを設定し（Ｓ１２５０）、前記ヘッダ領域に自分のＲＢＳ値を設定する（Ｓ１２６０）。もし、前記アルゴリズムによって中継子が選定されていない場合には（Ｓ１２４０で「いいえ」）、前記受信ノードは前記Ｓ１２５０段階を経ずにブロードキャストするパケットのヘッダ領域に自分のＲＢＳ値を設定する（Ｓ１２６０）。
【００５５】
一方、前記ブロードキャストパケットのヘッダ領域にＲＢＳ値が設定されれば前記受信ノードは前記パケットをブロードキャストし（Ｓ１２７０）、前記受信したブロードキャストパケットに含まれたデータ情報を自分のアプリケーションプログラムに伝達する（Ｓ１２８０）。
また、前記受信ノードは周期的にブロードキャストするハローパケットに最近にブロードキャストしたパケットに含まれたＲＢＳ値を設定してブロードキャストする。
【００５６】
図１３は、本発明の実施によってパケット再転送を要請する過程を示す一実施例のフローチャートであって、受信子がパケット再転送を要請する過程を例をあげて説明している。
受信子が隣接ノードからハローパケットを受信すれば（Ｓ１３００）、前記受信子は前記受信したハローパケットにあるＲＢＳ値と、前記受信子が管理する‘隣接ノード情報テーブル’にある‘隣接ノードの最新ＲＢＳ’フィールドの値とを比較する（Ｓ１３１０）。
【００５７】
この時、前記受信したハローパケットにあるＲＢＳ値が前記‘隣接ノードの最新ＲＢＳ’フィールドの値より大きい場合には（Ｓ１３１０で「はい」）、前記受信子は前記受信したハローパケットにあるＲＢＳ値に該当するブロードキャストパケットを受信していないことになる。したがって、このような場合パケット損失が発生したと判断して前記損失されたパケットに対して再転送を要請する（Ｓ１３２０）。この時、前記要請は、前記図８で図示したハローパケットの‘フラッグ’フィールドにあるＮＡＣＫ情報をイネーブルさせ、‘隣接ノード情報’フィールドの‘隣接ノード識別子’情報及び‘ＲＢＳ＿ｒｅｑｕｅｓｔｅｄ’情報を設定した後、受信子が前記ハローパケットをブロードキャストすることによってなされる。
【００５８】
図１４は、本発明の実施によってパケット再転送のための装置の内部ブロック図を示す例示図である。
前記図１４では、無線リンクを通じてデータを送受信するための送受信モジュール１４４０と、パケット再転送を判別するための送受信パケット情報及びその他のルーティング情報を保存するための保存モジュール１４１０と、前記送受信モジュール１４４０からパケットを伝達されてパケットの種類及びパケットに含まれた情報を抽出するパケット分析モジュール１４２０と、送信するパケットを生成して前記送受信モジュール１４４０に伝達するパケット生成モジュール１４３０と前記保存モジュール１４１０、前記パケット分析モジュール１４２０、前記パケット生成モジュール１４３０の動作を制御し、アプリケーションプログラム１４５０とデータを送受信する制御モジュール１４００を図示している。この時、前記パケット分析モジュール１４２０と前記パケット生成モジュール１４３０は単一のモジュールとして動作でき、このような場合には‘パケット処理モジュール’という。
【００５９】
この時、前記‘モジュール’はソフトウェアで構成されたり、ＦＰＧＡ（Ｆｉｅｌｄ Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）などのハードウェア的な要素で構成される。
【００６０】
以下では前記モジュールを搭載したノードがパケットを受信する場合とパケットを送信する場合とに分けて説明する。前記ノードが送受信モジュール１４４０を通じてパケットを受信すれば、パケット分析モジュール１４２０では前記受信したパケットがハローパケットであるか、またはブロードキャストパケットであるかを検査する。もし、ハローパケットである場合には、制御モジュール１４００では前記図１１及び図１３で図示した方法によって既にブロードキャストしたパケットを再びブロードキャストしたり、他のノードに対してパケット再転送を要請する。そして、もし、ブロードキャストパケットである場合には、前記図１２で図示した方法によって前記受信したブロードキャストパケットを隣接ノードに再びブロードキャストする。この時、前記図９で図示した‘隣接ノード情報テーブル’は前記保存モジュール１４１０に保存される。一方、前記ノードが送受信モジュール１４４０を通じてパケットを送信する過程は前記図１０で図示している。この時、ブロードキャストパケットを送信する場合には、前記制御モジュール１４００がアプリケーション１４５０からアプリケーションデータを伝達されて動作し始め、ハローパケットを送信する場合には制御モジュール１４００が前記保存モジュール１４１０に保存された情報を利用して周期的に前記パケット生成モジュール１４３０をしてハローパケットを生成してブロードキャストせしめる。
一方、前記ノードが前記送受信モジュール１４４０を通じてパケットを受信して、前記受信されたパケットに含まれたパケット損失識別情報をアクセス(access)する時に、ソフトウェア的にはソフトウェア設計(software-design)によって、前記パケット損失識別情報に対応するメッセージ(message)、函数(function)、返還値(return-value)、プロケーザル(procedure)、チャイルド-プロセッサー(child-processor)などが発生できるが、このようなことを‘イベント(event)’という。また、前記発生されたイベント(event)によって気設定された動作が遂行されることができるが、このような動作を‘イベント処理(event-handling)’という。
【００６１】
一方、有線または無線ネットワークをシミュレーションする時に広く使われる‘Ｎｅｔｗｏｒｋ Ｓｉｍｕｌａｔｏｒ ２’を利用して本発明のアルゴリズムをシミュレーションしたが、以下で説明する。この時、‘フラッディング’アルゴリズム、‘ＡＨＢＰ’アルゴリズムと比較するために本発明によるアルゴリズムを‘改善されたＡＨＢＰ’と表す。
【００６２】
そして、シミュレーションのためのパラメータとして、パケット転送距離は２５０ｍ、ネットワーク類型はＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ ｏｆ Ｅｌｅｃｔｒｉｃａｌ ａｎｄ Ｅｌｅｃｔｒｏｎｉｃｓ Ｅｎｇｉｎｅｅｒｓ）８０２．１１（２Ｍｂｐｓ）標準規格に従うようにした。また、シナリオパラメータとして、空間サイズは５００＊５００（ｍ）、シミュレーション時間は１００秒、データパケットサイズは６４バイトペイノード、モビリティモデルは‘Ｒａｎｄｏｍ Ｗａｙｐｏｉｎｔ’、パケット転送率（ｐａｃｋｅｔ ｄｅｌｉｖｅｒｙ ｒａｔｅ、以下‘ＰＤＲ’という）は６．４ｂｐｓとした。
【００６３】
フラッディングは最も信頼性の高いブロードキャスト転送方式であり、ＡＨＢＰは最もブロードキャスト効率性の高いブロードキャスト転送方式であるといえる。
本発明に関するシミュレーションではＰＤＲを利用して信頼性を測定し、再転送されるパケット数をカウントして帯域幅が消費されることを利用してブロードキャスト効率性を測定した。
【００６４】
シミュレーション結果は、本発明が帯域幅消費を増加させなくてもフラッディング方法によるものと類似したほどに信頼性を改善させたことを示す。
また、前記シミュレーションでは単一のソースノードを持つシナリオと多数のソースノードを持つシナリオとに分けてテストした。単一のソースノードを持つシナリオでは一つのノードでブロードキャストパケットを生成して転送し、多数のソースノードを持つシナリオでは一つ以上のソースノードで同時にブロードキャストパケットを生成して転送する。
【００６５】
以下、（１）ＰＤＲ、（２）帯域幅消費に関するシミュレーション結果を具体的に説明する。
（１）ＰＤＲ
図１５では、単一のソースノードに対するＰＤＲを、図１６では多数のソースノードに対するＰＤＲを測定した結果を示している。
前記図１５で図示されたように単一のソースノードを持つシナリオではフラッディング、ＡＨＢＰアルゴリズム、改善されたＡＨＢＰアルゴリズムはほぼ類似した性能を示す。しかし、多数のソースノードを持つシナリオではＡＨＢＰアルゴリズムの場合にＰＤＲが２０％以下に減少するが、これは中継子でのパケット損失を検査しないからである。しかし、改善されたＡＨＢＰアルゴリズムの場合には前記図１６で図示されたようにフラッディングアルゴリズムとほとんど類似したＰＤＲを示す。
【００６６】
（２）帯域幅消費
図１７では単一のソースノードに対する再転送されるパケット数を、図１８では多数のソースノードに対する再転送されるパケット数を測定した結果を示している。
フラッディングアルゴリズムを利用した場合に、前記図１７で図示するように単一のソースノードを持つシナリオでは再転送されるパケット数が線形的に増加し、前記図１８で図示するように多数のソースノードを持つシナリオでは指数関数的に増加する。
【００６７】
しかし、ＡＨＢＰアルゴリズムを利用した場合に、前記図１７で図示するように単一のソースノードを持つシナリオでは再転送されるパケット数はほぼ１００個以下に維持され、前記図１８で図示するように多数のソースノードを持つシナリオでは４００個以下に維持される。
一方、改善されたＡＨＢＰアルゴリズムを利用すれば、前記ＡＨＢＰアルゴリズムを利用したものと類似した結果を得られる。
【００６８】
結局、前記図１６及び図１８で図示されたように、本発明による改善されたＡＨＢＰアルゴリズムを利用すれば多数のソースノードを持つシナリオで帯域幅消費を低く維持しながら信頼性を改善させる。
【００６９】
以上説明した本発明は、本発明が属する技術分野で当業者ならば本発明の技術的思想を離脱しない範囲内でいろいろな置換、変形及び変更が可能なので前述した実施例及び添付された図面に限定されるものではない。
【産業上の利用可能性】
【００７０】
本発明はデータパケットの再転送のための方法及び装置に適用できる。
【図面の簡単な説明】
【００７１】
【図１】モバイルアドホックネットワークにおいて、従来の技術によるフラッディングメカニズムを示す例示図である。
【図２】モバイルアドホックネットワークにおいて、パケット転送の効率性を得るための従来のブロードキャストメカニズムを示す例示図である。
【図３】図１において、パケット衝突が発生するメカニズムを示す例示図である。
【図４】本発明の実施によってパケット損失を感知し、パケット再転送を要請する概略的なメカニズムを説明する例示図である。
【図５】本発明の実施によってデータパケットの再転送を要請するメカニズムを説明するためのモバイルアドホックネットワークトポロジーを示す例示図である。
【図６】本発明の実施によるブロードキャストパケットのフォーマットを示す例示図である。
【図７】本発明の実施によって図５で示したネットワークトポロジーを構成するノード間にハローパケットを送受信するメカニズムを説明する例示図である。
【図８】本発明の実施によるハローパケットのフォーマットを示す例示図である。
【図９】本発明の実施による隣接ノード情報テーブルを示す例示図である。
【図１０】本発明の実施によってブロードキャストパケットを送信する過程を示す一実施例のフローチャートである。
【図１１】本発明の実施によって受信したハローパケットを処理する過程を示す一実施例のフローチャートである。
【図１２】本発明の実施によって受信したブロードキャストパケットを処理する過程を示す一実施例のフローチャートである。
【図１３】本発明の実施によってパケット再転送を要請する過程を示す一実施例のフローチャートである。
【図１４】本発明の実施によってパケット再転送を要請するための装置の内部を示すブロック図である。
【図１５】本発明に関するシミュレーション結果による単一のソースノードに対するＰＤＲを測定した結果を示すグラフである。
【図１６】本発明に関するシミュレーション結果による多数のソースノードに対するＰＤＲを測定した結果を示すグラフである。
【図１７】本発明に関するシミュレーション結果による単一のソースノードに対する再転送パケット数を測定した結果を示すグラフである。
【図１８】本発明に関するシミュレーション結果による多数のソースノードに対する再転送パケット数を測定した結果を示すグラフである。
【符号の説明】
【００７２】
１４００      制御モジュール
１４１０      保存モジュール
１４２０      パケット分析モジュール
１４３０      パケット生成モジュール
１４４０      送受信モジュール
１４５０      アプリケーションプログラム
【図１】
2004328749.tif 000003
【図２】
2004328749.tif 000004
【図３】
2004328749.tif 000005
【図４】
2004328749.tif 000006
【図５】
2004328749.tif 000007
【図６】
2004328749.tif 000008
【図７】
2004328749.tif 000009
【図８】
2004328749.tif 000010
【図９】
2004328749.tif 000011
【図１０】
2004328749.tif 000012
【図１１】
2004328749.tif 000013
【図１２】
2004328749.tif 000014
【図１３】
2004328749.tif 000015
【図１４】
2004328749.tif 000016
【図１５】
2004328749.tif 000017
【図１６】
2004328749.tif 000018
【図１７】
2004328749.tif 000019
【図１８】
2004328749.tif 000020