(57)【要約】【課題】無線ネットワークに対する学習に基づいて中継ノードを選択する方法及び中継装置を提供する。【解決手段】中継装置によって中継ノードを選択する方法は、先行ノード及び後続ノードからパケット情報を受信し、パケット情報により算出されたＲＱＩ情報に基づいて、中継装置がデータパケットを中継するために最適化されたノードであるか否かを判断する。ＲＱＩ情報を算出するための方式も提供される。【選択図】図１
2015070614.tif 000002
【特許請求の範囲】
【請求項１】
中継装置によって中継ノードを選択する方法であって、
先行ノード及び後続ノードからパケット情報を受信するステップと、
前記パケット情報により算出されたＲＱＩ情報（Ｒｅｌａｙ  Ｑｕａｌｉｔｙ  Ｉｎｄｉｃａｔｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ）に基づいて、データパケットを中継する中継ノードとして前記中継装置を選択するか否かを決定するステップと、を有することを特徴とする中継ノード選択方法。
【請求項２】
前記パケット情報は、パケットの受信の有無を示すことを特徴とする請求項１に記載の中継ノード選択方法。
【請求項３】
前記先行ノード及び後続ノードからパケット情報を受信するステップは、
前記先行ノードから該先行ノードに関するパケットを受信するステップと、
前記先行ノードから現在のシーケンスで最初に受信したデータパケットに対応する前記先行ノードに関するパケットに応答して、前記算出されたＲＱＩ情報に前記先行ノードに関するパケット情報を反映するステップと、を含むことを特徴とする請求項１に記載の中継ノード選択方法。
【請求項４】
前記先行ノード及び後続ノードからパケット情報を受信するステップは、
データ損失が発生した後続ノードから否定パケットを受信するステップと、
前のシーケンスで前記中継装置によって中継されたデータパケットに対応する前記否定パケットに応答して、前記算出されたＲＱＩ情報に前記否定パケットを反映するステップと、を含むことを特徴とする請求項１に記載の中継ノード選択方法。
【請求項５】
前記否定パケットが前のシーケンスで前記中継装置によって中継されたデータパケットに対応する場合、前記算出されたＲＱＩ情報に前記否定パケットを反映するステップは、予め定められた範囲の最近のシーケンスの間に受信した否定パケットに加重値を付加し、該加重値が付加された否定パケットを前記算出されたＲＱＩ情報に反映するステップを含むことを特徴とする請求項４に記載の中継ノード選択方法。
【請求項６】
前記中継装置がパケットを中継する決定に応答して、前記算出されたＲＱＩ情報に前記中継装置が中継するパケット数を反映するステップを更に含むことを特徴とする請求項１に記載の中継ノード選択方法。
【請求項７】
前記パケット情報により算出されたＲＱＩ情報に基づいて、データパケットを中継する中継ノードとして前記中継装置を選択するか否かを決定するステップは、前記算出されたＲＱＩ情報と前記データパケットに含まれるＲＱＩ情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定するステップを含むことを特徴とする請求項１に記載の中継ノード選択方法。
【請求項８】
前記パケット情報により算出されたＲＱＩ情報に基づいて、データパケットを中継する中継ノードとして前記中継装置を選択するか否かを決定するステップは、前のシーケンスで受信したデータパケットのＲＱＩ情報を含むＲＱＩ履歴情報と前記算出されたＲＱＩ情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定するステップを含むことを特徴とする請求項１に記載の中継ノード選択方法。
【請求項９】
前記パケット情報により算出されたＲＱＩ情報に基づいて、データパケットを中継する中継ノードとして前記中継装置を選択するか否かを決定するステップは、現在のシーケンスでパケットを中継したノード数をカウントし、該カウント数に基づいて前記中継装置のＲＱＩ履歴情報を更新するステップを更に含むことを特徴とする請求項８に記載の中継ノード選択方法。
【請求項１０】
前記ＲＱＩ情報は、前記先行ノードからパケットを受信する確率及び前記後続ノードにパケットが送信される確率のうちの少なくとも１つに基づいて決定されることを特徴とする請求項１に記載の中継ノード選択方法。
【請求項１１】
前のシーケンスでパケットを中継したノードがない場合、前記算出されたＲＱＩ情報とＲＱＩ履歴情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定するステップを更に含むことを特徴とする請求項１に記載の中継ノード選択方法。
【請求項１２】
前のシーケンスでパケットを中継したノードがない場合、次のシーケンスでパケットを中継するノードを決定するためのＲＱＩ履歴情報を調整値及び前記算出されたＲＱＩ情報により調整するステップを更に含むことを特徴とする請求項１に記載の中継ノード選択方法。
【請求項１３】
パケットを中継する中継装置であって、
先行ノード及び後続ノードからパケット情報を受信する受信部と、
前記パケット情報により算出されたＲＱＩ情報に基づいて、データパケットを中継する中継ノードとして前記中継装置を選択するか否かを決定する処理部と、を備えることを特徴とする中継装置。
【請求項１４】
前記パケット情報は、パケットの受信の有無を示すことを特徴とする請求項１３に記載の中継装置。
【請求項１５】
前記受信部は、前記先行ノードから該先行ノードに関するパケットを受信し、
前記処理部は、前記先行ノードから現在のシーケンスで最初に受信したデータパケットに対応する前記先行ノードに関するパケットに応答して、前記算出されたＲＱＩ情報に前記先行ノードに関するパケット情報を反映することを特徴とする請求項１３に記載の中継装置。
【請求項１６】
前記先行ノードに関するパケット情報は、前記先行ノードが送信した総パケット数及び前記先行ノードから前記中継装置が受信した総パケット数のうちの少なくとも１つを含むことを特徴とする請求項１５に記載の中継装置。
【請求項１７】
前記受信部は、データ損失が発生した後続ノードから否定パケットを受信し、
前記処理部は、前のシーケンスで前記中継装置によって中継されたデータパケットに対応する前記否定パケットに応答して、前記算出されたＲＱＩ情報に前記否定パケットを反映することを特徴とする請求項１３に記載の中継装置。
【請求項１８】
前記処理部は、予め定められた範囲の最近のシーケンスの間に受信した否定パケットに加重値を付加し、該加重値が付加された否定パケットを前記算出されたＲＱＩ情報に反映することを特徴とする請求項１７に記載の中継装置。
【請求項１９】
前記処理部は、前記中継装置がパケットを中継することを決定した場合、前記算出されたＲＱＩ情報に前記中継装置が中継するパケット数を反映することを特徴とする請求項１３に記載の中継装置。
【請求項２０】
前記処理部は、前記算出されたＲＱＩ情報と前記データパケットに含まれるＲＱＩ情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定することを特徴とする請求項１３に記載の中継装置。
【請求項２１】
前記処理部は、前のシーケンスで受信したデータパケットのＲＱＩ情報を含むＲＱＩ履歴情報と前記算出されたＲＱＩ情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定することを特徴とする請求項１３に記載の中継装置。
【請求項２２】
前記処理部は、現在のシーケンスでパケットを中継したノード数をカウントし、該カウント数に基づいて前記中継装置のＲＱＩ履歴情報を更新することを特徴とする請求項２１に記載の中継装置。
【請求項２３】
前記ＲＱＩ情報は、前記先行ノードからパケットを受信する確率及び前記後続ノードでパケットが送信される確率のうちの少なくとも１つに基づいて、前記処理部によって決定されることを特徴とする請求項１３に記載の中継装置。
【請求項２４】
前記処理部は、前のシーケンスでパケットを中継したノードがない場合、前記算出されたＲＱＩ情報とＲＱＩ履歴情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定することを特徴とする請求項１３に記載の中継装置。
【請求項２５】
前記処理部は、前のシーケンスでパケットを中継したノードがない場合、次のシーケンスでパケットを中継するノードを決定するためのＲＱＩ履歴情報を調整値及び前記算出されたＲＱＩ情報により調整することを特徴とする請求項１３に記載の中継装置。
【請求項２６】
中継装置によって中継ノードを選択する方法であって、
前のシーケンスで前記中継装置及び他の中継候補ノードがデータパケットを中継したか否かを判断するステップと、
前記中継装置のＲＱＩ情報及び前記データパケットの中継の有無に基づいて前記中継装置が現在のシーケンスでデータパケットを中継するか否かを決定するステップと、を有することを特徴とする中継ノード選択方法。
【請求項２７】
前記データパケットの中継の有無に基づいて前記中継装置が現在のシーケンスでデータパケットを中継するか否かを決定するステップは、前記中継装置が前のシーケンスでデータパケットを成功的に中継した場合、現在のシーケンスでデータパケットを中継するステップを含むことを特徴とする請求項２６に記載の中継ノード選択方法。
【請求項２８】
前のシーケンスでデータパケットが中継された場合、前記中継装置のＲＱＩ履歴情報を更新するステップを更に含むことを特徴とする請求項２６に記載の中継ノード選択方法。
【請求項２９】
前記データパケットの中継の有無に基づいて前記中継装置が現在のシーケンスでデータパケットを中継するか否かを決定するステップは、前のシーケンスでデータパケットが中継されていない場合、前記中継装置のＲＱＩ情報がＲＱＩ履歴情報よりも小さくない場合にパケットを中継するステップを含むことを特徴とする請求項２６に記載の中継ノード選択方法。
【請求項３０】
前記データパケットの中継の有無に基づいて前記中継装置が現在のシーケンスでデータパケットを中継するか否かを決定するステップは、
前のシーケンスでデータパケットが中継されていない場合に、前記中継装置のＲＱＩ履歴情報を調整するステップと、
前記中継装置のＲＱＩ情報及び前記調整されたＲＱＩ履歴情報に基づいて、現在のシーケンスでデータパケットを中継するか否かを決定するステップと、を含むことを特徴とする請求項２６に記載の中継ノード選択方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ネットワークでデータを中継する装置及び方法に関し、より詳細には、無線ネットワークにおいて中継ノードを選択する方法及びパケットを中継する中継装置に関する。
【背景技術】
【０００２】
ネットワーク全体又は一部のユーザとコンテンツを共有する応用技術は、安定した通信を確保するために、ユニキャスト（ｕｎｉｃａｓｔ）基盤の端末対端末の通信方式を用いる。ここで、１対１通信方式は、順次にコンテンツを送信しなければならないため、コンテンツを共有する端末数が増加するほど通信効率性は落ちる。
【０００３】
このような端末数増加による通信の効率性問題を解決するために、ブロードキャスト基盤の通信方式が活用される。ブロードキャスト基盤の通信方式でマルチホップネットワークをカバーするためには、コンテンツの所有者、例えばソースノード（Ｓｏｕｒｃｅ  ｎｏｄｅ）から対象ノード（Ｔａｒｇｅｔ  ｎｏｄｅ）又はネットワーク全体ノードにコンテンツを伝達又は中継する中継ノード（Ｒｅｌａｙ  ｎｏｄｅ）が必須である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、上記従来技術に鑑みてなされたものであって、本発明の目的は、無線アドホックネットワークでマルチホップブロードキャスト又はマルチキャストに基づいてコンテンツを共有する中継ノード選択方法及び中継装置を提供することにある。
また、本発明の目的は、臨時に構成される無線ネットワークで事前情報の習得を必要としない中継ノード選択方法及び中継装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するためになされた本発明の一態様による中継装置によって中継ノードを選択する方法は、先行ノード及び後続ノードからパケット情報を受信するステップと、前記パケット情報により算出されたＲＱＩ情報（Ｒｅｌａｙ  Ｑｕａｌｉｔｙ  Ｉｎｄｉｃａｔｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ）に基づいて、データパケットを中継する中継ノードとして前記中継装置を選択するか否かを決定するステップと、を有する。
【０００６】
前記パケット情報は、パケットの受信の有無を示し得る。
前記先行ノード及び後続ノードからパケット情報を受信するステップは、前記先行ノードから該先行ノードに関するパケットを受信するステップと、前記先行ノードから現在のシーケンスで最初に受信したデータパケットに対応する前記先行ノードに関するパケットに応答して、前記算出されたＲＱＩ情報に前記先行ノードに関するパケット情報を反映するステップと、を含み得る。
前記先行ノード及び後続ノードからパケット情報を受信するステップは、データ損失が発生した後続ノードから否定パケットを受信するステップと、前のシーケンスで前記中継装置によって中継されたデータパケットに対応する前記否定パケットに応答して、前記算出されたＲＱＩ情報に前記否定パケットを反映するステップと、を含み得る。
前記否定パケットが前のシーケンスで前記中継装置によって中継されたデータパケットに対応する場合、前記算出されたＲＱＩ情報に前記否定パケットを反映するステップは、予め定められた範囲の最近のシーケンスの間に受信した否定パケットに加重値を付加し、該加重値が付加された否定パケットを前記算出されたＲＱＩ情報に反映するステップを含み得る。
前記中継ノード選択方法は、前記中継装置がパケットを中継する決定に応答して、前記算出されたＲＱＩ情報に前記中継装置が中継するパケット数を反映するステップを更に含むことができる。
前記パケット情報により算出されたＲＱＩ情報に基づいて、データパケットを中継する中継ノードとして前記中継装置を選択するか否かを決定するステップは、前記算出されたＲＱＩ情報と前記データパケットに含まれるＲＱＩ情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定するステップを含み得る。
前記パケット情報により算出されたＲＱＩ情報に基づいて、データパケットを中継する中継ノードとして前記中継装置を選択するか否かを決定するステップは、前のシーケンスで受信したデータパケットのＲＱＩ情報を含むＲＱＩ履歴情報と前記算出されたＲＱＩ情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定するステップを含み得る。
前記パケット情報により算出されたＲＱＩ情報に基づいて、データパケットを中継する中継ノードとして前記中継装置を選択するか否かを決定するステップは、現在のシーケンスでパケットを中継したノード数をカウントし、該カウント数に基づいて前記中継装置のＲＱＩ履歴情報を更新するステップを更に含み得る。
前記ＲＱＩ情報は、前記先行ノードからパケットを受信する確率及び前記後続ノードにパケットが送信される確率のうちの少なくとも１つに基づいて決定され得る。
前記中継ノード選択方法は、前のシーケンスでパケットを中継したノードがない場合、前記算出されたＲＱＩ情報とＲＱＩ履歴情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定するステップを更に含むことができる。
前記中継ノード選択方法は、前のシーケンスでパケットを中継したノードがない場合、次のシーケンスでパケットを中継するノードを決定するためのＲＱＩ履歴情報を調整値及び前記算出されたＲＱＩ情報により調整するステップを更に含むことができる。
【０００７】
上記目的を達成するためになされた本発明の一態様によるパケットを中継する中継装置は、先行ノード及び後続ノードからパケット情報を受信する受信部と、前記パケット情報により算出されたＲＱＩ情報に基づいて、データパケットを中継する中継ノードとして前記装置を選択するか否かを決定する処理部と、を備える。
【０００８】
前記パケット情報は、パケットの受信の有無を示し得る。
前記受信部は、前記先行ノードから該先行ノードに関するパケットを受信し、前記処理部は、前記先行ノードから現在のシーケンスで最初に受信したデータパケットに対応する前記先行ノードに関するパケットに応答して、前記算出されたＲＱＩ情報に前記先行ノードに関するパケット情報を反映し得る。
前記先行ノードに関するパケット情報は、前記先行ノードが送信した総パケット数及び前記先行ノードから前記中継装置が受信した総パケット数のうちの少なくとも１つを含み得る。
前記受信部は、データ損失が発生した後続ノードから否定パケットを受信し、前記処理部は、前のシーケンスで前記中継装置によって中継されたデータパケットに対応する前記否定パケットに応答して、前記算出されたＲＱＩ情報に前記否定パケットを反映し得る。
前記処理部は、予め定められた範囲の最近のシーケンスの間に受信した否定パケットに加重値を付加し、該加重値が付加された否定パケットを前記算出されたＲＱＩ情報に反映し得る。
前記処理部は、前記中継装置がパケットを中継することを決定した場合、前記算出されたＲＱＩ情報に前記中継装置が中継するパケット数を反映し得る。
前記処理部は、前記算出されたＲＱＩ情報と前記データパケットに含まれるＲＱＩ情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定し得る。
前記処理部は、前のシーケンスで受信したデータパケットのＲＱＩ情報を含むＲＱＩ履歴情報と前記算出されたＲＱＩ情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定し得る。
前記処理部は、現在のシーケンスでパケットを中継したノード数をカウントし、該カウント数に基づいて前記中継装置のＲＱＩ履歴情報を更新し得る。
前記ＲＱＩ情報は、前記先行ノードからパケットを受信する確率及び前記後続ノードでパケットが送信される確率のうちの少なくとも１つに基づいて、前記処理部によって決定され得る。
前記処理部は、前のシーケンスでパケットを中継したノードがない場合、前記算出されたＲＱＩ情報とＲＱＩ履歴情報とを比較した結果に応じて、前記中継装置がパケットを中継するか否かを決定し得る。
前記処理部は、前のシーケンスでパケットを中継したノードがない場合、次のシーケンスでパケットを中継するノードを決定するためのＲＱＩ履歴情報を調整値及び前記算出されたＲＱＩ情報により調整し得る。
【０００９】
上記目的を達成するためになされた本発明の他の態様による中継装置によって中継ノードを選択する方法は、前のシーケンスで前記中継装置及び他の中継候補ノードがデータパケットを中継したか否かを判断するステップと、前記中継装置のＲＱＩ情報及び前記データパケットの中継の有無に基づいて前記中継装置が現在のシーケンスでデータパケットを中継するか否かを決定するステップと、を有する。
【００１０】
前記データパケットの中継の有無に基づいて前記中継装置が現在のシーケンスでデータパケットを中継するか否かを決定するステップは、前記中継装置が前のシーケンスでデータパケットを成功的に中継した場合、現在のシーケンスでデータパケットを中継するステップを含み得る。
前記中継ノード選択方法は、前のシーケンスでデータパケットが中継された場合、前記中継装置のＲＱＩ履歴情報を更新するステップを更に含むことができる。
前記データパケットの中継の有無に基づいて前記中継装置が現在のシーケンスでデータパケットを中継するか否かを決定するステップは、前のシーケンスでデータパケットが中継されていない場合、前記中継装置のＲＱＩ情報がＲＱＩ履歴情報よりも小さくない場合にパケットを中継するステップを含み得る。
前記データパケットの中継の有無に基づいて前記中継装置が現在のシーケンスでデータパケットを中継するか否かを決定するステップは、前のシーケンスでデータパケットが中継されていない場合に、前記中継装置のＲＱＩ履歴情報を調整するステップと、前記中継装置のＲＱＩ情報及び前記調整されたＲＱＩ履歴情報に基づいて、現在のシーケンスでデータパケットを中継するか否かを決定するステップと、を含み得る。
【発明の効果】
【００１１】
本発明によると、中継装置は、無線アドホックネットワークでマルチホップブロードキャスト又はマルチキャストに基づいてコンテンツを共有する際に、処理量及びパケット送信の信頼性を向上させることができる。
また、中継装置は、臨時に構成される無線ネットワークで事前情報の習得を必要とせず、遅延時間なしにマルチホップブロードキャスト技術を活用することができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態による無線ネットワークトポロジーを示す図である。
【図２】一実施形態によるノードｕのＲＱＩ（Ｒｅｌａｙ  Ｑｕａｌｉｔｙ  Ｉｎｄｉｃａｔｏｒ）を説明するための図である。
【図３】一実施形態によるデータパケットの構造を示す図である。
【図４】一実施形態による否定パケット（Ｎｅｇａｔｉｖｅ  ＡＣＫ  Ｐａｃｋｅｔ）の構造を示す図である。
【図５】一実施形態による中継ノードを選択する方法を示すフローチャートである。
【図６】一実施形態によるパケットを中継する中継装置を示す図である。
【図７Ａ】一実施形態によるＲＱＩ情報に基づいて中継ノードを選択する方法を示すフローチャートである。
【図７Ｂ】一実施形態によるＲＱＩ情報に基づいて中継ノードを選択する方法を示すフローチャートである。
【図８】一実施形態による否定パケットを反映する方法を示すフローチャートである。
【図９】他の実施形態による中継ノードを選択する方法を示すフローチャートである。
【発明を実施するための形態】
【００１３】
下記の詳細な説明は、方法、装置及び／又はシステムの理解を助けるために提供される。但し、下記で詳細に記載したシステム、装置、及び／又は方法の様々な変化、修正、及び等価物は当該分野の通常の技術者にとって自明である。記載した処理ステップ及び／又は動作の進行（ｐｒｏｇｒｅｓｓｉｏｎ）は例示であり、特定順序で必然的に発生するステップ及び／又は動作の除外と共に動作の順序は、下記に限定されることなく、通常の技術者に自明な範囲で変更され得る。また、当該分野で通常の技術者に周知の機能及び構造の説明は、より明確に説明するために省略される。
【００１４】
下記で記載する特徴は、他の形態に実施され、記載した例示のみで限定されることはない。
【００１５】
本明細書で「反映（ｒｅｆｌｅｃｔ）」という用語は、値に「反映」された情報の一部を考慮するため、値に「反映」された情報の一部が当該値を修正することを示す。
【００１６】
最近、グループプレー（Ｇｒｏｕｐ  Ｐｌａｙ）、シェアミュージック（Ｓｈａｒｅ  Ｍｕｓｉｃ）などのように任意のユーザが無線ネットワークを構成し、ネットワーク全体又はネットワーク内の複数のユーザとコンテンツを共有する技術が使用されている。このような技術は、ネットワークの容易な構成及び管理のために無線ラン（ＷＬＡＮ）、ワイファイダイレクト（Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ）などの無線ネットワークを活用する。
【００１７】
また、このようなコンテンツ共有技術は、電子会議（ｅ−ｍｅｅｔｉｎｇ）、スマートキャンパス（ｓｍａｒｔ  ｃａｍｐｕｓ）などのようなＢ２Ｂ分野でも活用される。ここで、ネットワークに参加するユーザの数が増加してネットワークの規模が広くなるにつれて、マルチホップ通信の支援可能な無線アドホックネットワークが構成される。
【００１８】
一般的な無線アドホックネットワークにおける中継ノード選択方式として、トポロジー情報（ｔｏｐｏｌｏｇｙ  ｉｎｆｏｒｍａｔｉｏｎ）、２ホップ隣接ノード、無線リンク状態などのネットワーク接続性情報を収集し、予め収集した情報に基づいてネットワーク全体をカバーする最適の中継ノードを選択する。このような方法では、中継ノードを選択するために必要な事前情報（例えば、ネットワーク接続性情報）を習得するために、コントロールパケットを交換することから、追加的なトラフィック及び時間が費やされる。また、無線リンク状態などのネットワーク接続性情報は時間が経過するにつれて変化するため、このような方法を用いるネットワークが動的な環境変化に適応するためには、事前情報を周期的に収集して反映しなければならない。
【００１９】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。ここで、中継装置は、一実施形態による中継ノードを選択する方法を行う装置である。このような中継装置は、中継ノードを選択するための方法を行わせる構造に対応するハードウェアの一部を有する。中継候補ノードは、中継領域に属するノードである。また、中継ノードは、中継候補ノードのうちの現在のシーケンスで中継するノードとして決定されたノードである。
【００２０】
図１は、一実施形態による無線ネットワークトポロジーを示す図である。本実施形態による無線ネットワーク（例えば、無線アドホックネットワーク）は、マルチホップブロードキャストを用いてネットワーク内の特定ソースが送信したパケットをネットワーク全体に伝える。具体的に、パケットを受信したノードの一部がパケットを中継する過程を繰り返す。パケットの中継を繰り返すことは、ネットワークで全てのノードがパケットを受信するまでパケットがノードからノードに中継されることである。
【００２１】
ここで、先行ノード１１１は先行領域１１０に属するノード、中継候補ノードは中継領域１２０に属するノード、後続ノード１３１、１３２は後続領域１３０に属するノードである。また、中継領域１２０は、第１中継領域、第２中継領域〜第ｎ中継領域として数個の領域を含む。例えば、後続ノード１３１、１３２が第１中継領域に含まれる中継候補ノードから受信したデータパケットを中継する場合、後続ノード１３１、１３２は他の中継候補ノードになり、後続ノード１３１、１３２が含まれる後続領域１３０は第２中継領域になる。他の例として、後続ノード１３１、１３２は、先行ノード１１１から直接データパケットを受信して中継することによって、中継候補ノードの役割を行う。各領域は、無線ネットワークの通信環境、通信方式、ノード分布、ノード数、及び先行領域１１０、中継領域１２０、及び後続領域１３０のそれぞれにノードをどのように割り当てるかを示すネットワークのパラメータなどに応じて適切に設定される。
【００２２】
図１は、上述したマルチホップブロードキャストが適用される無線ネットワークトポロジー１００を示すものである。先行ノード１１１からデータパケットを受信した中継候補、例えばノードＡ〜ノードＥ１２１、１２２、１２３、１２４、１２５のうちの一部のノードがパケットを中継することによって、パケットを後続ノード１３１、１３２に伝播させる。図１に示すように、ノードＡ１２１とノードＤ１２４は、後続ノード１３１、１３２とのリンク（例えば、ネットワーク接続性）がないため、受信したパケットを中継しようとしても後続ノード１３１、１３２がノードＡ１２１及びノードＤ１２４からパケットを受信できない。ここで、後続ノード１３１、１３２との接続性を有するノードＢ１２２、ノードＣ１２３、ノードＥ１２５のうちの少なくとも１つがパケットを中継すると、後続ノード１３１、１３２にパケットが伝播される。従って、パケットに対して先行領域１１０から後続領域１３０に中継されるため、ネットワークは中継領域１２０で先行領域１１０からパケットを受信して後続領域１３０にパケットを伝送することが可能な十分なネットワーク接続性を有する少なくとも１つのノードが存在するように構成しなければならない。
【００２３】
本実施形態による中継装置によって行われる中継ノード選択方法は、無線ネットワーク環境で１つのコンテンツ所有者（例えば、ソースノード）からネットワークの全体又は複数のユーザにコンテンツをブロードキャスト伝達する場合、ソースノードから遠い距離に位置する端末まで効率よく迅速かつ信頼性のあるようにコンテンツを伝達する必要がある。本実施形態による中継ノード選択方法は、１つのコンテンツが１つ以上のパケットに連続して送信されるリアルタイムストリーミング又は大容量ファイルを送信するときに適用される。
【００２４】
本実施形態によると、各中継候補ノードは、パケットを送信する毎に中継ノードとしての性能状態を自ら学習し、最適の性能状態を有すると判断した場合、自身を中継ノードとして選択する。本実施形態によると、事前情報の習得が必要ではないことから、これによるオーバーヘッドを除去することができ、動的な環境変化に迅速に対応できる。
【００２５】
本実施形態による中継装置は、無線アドホックネットワークで高速に動作しながら高い信頼度を有し、マルチホップブロードキャストを支援することができる。
【００２６】
図２は、一実施形態によるノードｕ２２９のＲＱＩ（Ｒｅｌａｙ  Ｑｕａｌｉｔｙ  Ｉｎｄｉｃａｔｏｒ）を説明するための図である。図２において、ＲＱＩは、先行ノードからパケットを受信した中継候補ノード、例えば上述した図１に示すノードＡ〜ノードＥのうちの最適の中継ノードを選択するために用いられる指標である。
【００２７】
ここで、ノードｕ２２９に対するＲＱＩを示すＲＱＩ（ｕ）値は、下記の数式（１）のように示される。例えば、ノードｕ２２９は、中継領域２２０に属する各中継候補ノードの１つである。ここで、ノードｕ２２９は、中継ノードを選択する方法を行う本実施形態によるパケットを中継する中継装置である。
【００２８】
【数１】
2015070614.tif 000003
【００２９】
上述した数式（１）でαは先行ノードからの受信履歴に対する設定値、βはノードｕ２２９が中継するときに後続ノードの受信履歴に対する設定値としてユーザが設定する。但し、他の例としてα及びβの値を提案するか、又はα及びβの値を導き出す自動プロセスを用いてもよい。例えば、多様なヒューリスティックが潜在的にα及びβの可能な値を導き出すか又は提案するために用いられる。
【００３０】
図２に示すように、各中継候補ノードｕ２２９（例えば、図１に示したノードＡ〜ノードＥ）の中継ノードとしての性能は、先行ノードからパケットを受信する確率とノードｕ２２９がパケットを中継するときに後続ノードがパケットを受信する確率として定量化される。本実施形態によると、数式（１）による中継ノードとしての性能を、中継性能指標（Ｒｅｌａｙ  Ｑｕａｌｉｔｙ  Ｉｎｄｉｃａｔｏｒ：ＲＱＩ）として示す。本実施形態によるＲＱＩ情報は、上述した数式（１）によるＲＱＩ値を含む。
【００３１】
本実施形態によると、各中継候補ノードｕ２２９は、ＲＱＩ（ｕ）情報を学習するために、先行ノードからの受信履歴情報とノードｕ２２９が中継するときの後続ノードの受信履歴情報を用いる。ここで、先行ノードからの受信履歴情報は、パケット内のシーケンス情報（ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒ  ｉｎｆｏｒｍａｔｉｏｎ）に基づいて現在のシーケンスまでソースノードで送信された総パケット数とノードｕ２２９が受信したパケット数に対する履歴を格納することによって取得される。以下の本明細書で、先行ノード及び後続ノードの受信履歴情報はパケット情報として示される。
【００３２】
また、ノードｕ２２９が中継するときの後続ノードの受信履歴情報を学習するためには、ノードｕ２２９が中継した総パケット数と後続ノードが受信を失敗したという否定パケット（Ｎｅｇａｔｉｖｅ  ＡＣＫ  ｐａｃｋｅｔ）数が必要なこともある。ここで、ノードｕ２２９が中継した総パケット数は、ノードｕ２２９がパケットを中継したシーケンス毎に履歴を記録することで取得される。後続ノードから受信される否定パケット情報は、後続ノードのうちの少なくとも１つが前のシーケンスでデータ損失を把握した場合（例えば、前のシーケンスで送信されたパケットを後続ノードが受信できない場合）、後続ノードが上述したノードｕ２２９に否定パケット及びパケット損失情報をフィードバックすることによって学習する。
【００３３】
ここで、ノードｕ２２９で各受信履歴の分析に用いる総バッファの大きさは先行ノードから最終的に受信したシーケンス番号を基準として履歴に用いる総パケット数を指定することで制限される。例えば、特定コンテンツが１０００個のパケットを送信しなければならず、ノードｕ２２９が第９００シーケンスに該当するパケットを受信した場合、予め設計されたバッファの大きさが１００個シーケンスのみのパケット履歴を格納するように設計された場合、第８００シーケンス〜第９００シーケンスまでのパケット履歴をバッファに格納する。
【００３４】
図３は、一実施形態によるデータパケット３００の構造を示す図であり、図４は、一実施形態による否定パケット４００の構造を示す図である。本実施形態によると、無線ネットワーク環境で、個別ノードｕがデータパケット３００を受信するか又はパケットを中継するとき、或いは後続ノードからパケット受信を失敗したという否定パケット４００を受信したときにＲＱＩ値を更新する。本実施形態による中継ノードを選択する方法として使用されるパケットは、図３及び図４に示したデータパケット３００と否定パケット４００を含む。パケットの種類は、ｍｓｇＴｙｐｅフィールド３１０、４１０にデータパケット３００であるか否定パケット４００であるかを記録することによって区分される。
【００３５】
データパケット３００及び否定パケット４００は送受信したパケットの履歴を管理するためのｓｅｑフィールド３２０、４２０を含む。特定コンテンツはパケット単位で無線ネットワーク内の各ノードに伝えられ、各パケットは送信順序による固有なシーケンス番号を含む。ｓｅｑフィールド３２０、４２０は各パケットの固有なシーケンス番号を含む。
【００３６】
データパケット３００は、ｓｒｃＡｄｄｒフィールド３３０、ｒｅｌａｙＡｄｄｒフィールド３４０、ＲＱＩフィールド３５０を含む。ｓｒｃＡｄｄｒフィールド３３０は、データパケット３００の送信を始めるソースノードのアドレスを含む。ｒｅｌａｙＡｄｄｒフィールド３４０は、パケットを中継するノードのアドレスを含む。本実施形態によると、中継装置は、データパケット３００のｓｃｒＡｄｄｒフィールド３３０とｓｅｑフィールド３２０との組合せによって、データパケットを受信した中継装置が当該データパケット３００を最初に受信したか、又は重複して受信したかを把握する。後述する図７に示すステップＳ７０１でも、上述したものと同様の方法を用いて現在シーケンスで最初に受信したパケットであるか否かを判断する。
【００３７】
ここで、ＲＱＩフィールド３５０に含まれるＲＱＩ値はＲＱＩ（ｐ）として示される。例えば、ノードｕがデータパケット３００を中継する場合、ノードｕは、データパケット３００内のＲＱＩ（ｐ）をＲＱＩ（ｕ）に変更して中継する。具体的に、ＲＱＩ（ｐ）は、現在のシーケンスのデータパケット３００を中継するノードのＲＱＩ値を含む。ＲＱＩフィールド３５０は、無線ネットワーク環境で個別的に自身のＲＱＩを学習するためのフィールドとして、無線ネットワーク環境で自身が最適の中継ノードであるか否かを判断するために使用される。具体的に、各中継候補ノードは、他の中継候補ノードによって中継されたデータパケット３００内のＲＱＩフィールド３５０を比較することによって、自身がより優れる中継ノードであるか否かを判断する。
【００３８】
図５は、一実施形態による中継ノードを選択する方法を示すフローチャートである。本実施形態による中継ノードを選択する方法は、無線アドホックネットワーク環境で一対多（例えば、１−ｔｏ−ａｌｌ又は１−ｔｏ−ｍａｎｙ）のコンテンツ配布機能を用いる全ての応用技術（例えば、Ｒｅａｌ−ｔｉｍｅ  ａｕｄｉｏ／ｖｉｄｅｏ  ｓｔｒｅａｍｉｎｇ、イメージ／動画／ファイルの伝搬及び共有など）に適用される。
【００３９】
ステップＳ５１０において、受信部が先行ノード及び後続ノードからパケット情報を受信する。ここで、受信部が先行ノードから受信したパケット情報は、データパケット、先行ノードが送信した総パケット数、及び中継装置が先行ノードから受信した総パケット数を含む。また、受信部が後続ノードから受信したパケット情報は、後続ノードが受信を失敗した場合に送信する否定パケットを含む。
【００４０】
そして、ステップＳ５２０において、処理部がパケット情報により算出されたＲＱＩ情報に基づいて、データパケットを中継する中継ノードに中継装置を選択するか否かを決定する。ここで、処理部は、パケット情報により上述した数式（１）を用いてＲＱＩ情報（例えば、ＲＱＩ値）を算出する。本実施形態によると、処理部は、先行ノードからデータパケットを受信した中継装置がデータパケットを中継するために適するか否かを判断する。例えば、処理部は、中継装置が無線ネットワーク内の他の中継候補ノードよりもＲＱＩ値が大きい場合、データパケットを中継する中継ノードとして中継装置を選択する。
【００４１】
続いて、ステップＳ５３０において、次のシーケンスのデータパケットが存在するか否かを判断する。次のシーケンスが存在する場合、上述したステップＳ５１０、Ｓ５２０を繰り返す。次のシーケンスが存在しない場合、全てのデータパケットが送信されたものとして、データ送信の手続きを終了する。
【００４２】
本実施形態によるＲＱＩ情報に基づいて中継ノードとして中継装置を選択する具体的な方法は、下記の図６〜図８を参照して詳細に説明する
【００４３】
図６は、一実施形態によるパケットを中継する中継装置６２０を示す図である。本実施形態による中継装置６２０は、受信部６２１、処理部６２２、及び送信部６２３を備える。受信部６２１、処理部６２２、及び送信部６２３は、中継装置６２０によって中継されるデータを受信、処理、及び送信するように構造的に構成される中継装置６２０の構成要素である。例えば、中継装置６２０は、先行ノード６１０（例えば、ノードＸ）からデータパケットを受信してＲＱＩ情報により後続ノード６３０（例えば、ノードＹ）に中継する。具体的に、中継装置６２０は、図５及び図７〜図９によりデータパケットを中継する。ここで、ＲＱＩ情報は、先行ノード６１０からパケットを受信する確率及び後続ノード６３０にパケットが伝えられる確率のうちの少なくとも１つに基づいて処理部６２２によって決定される。
【００４４】
受信部６２１は、先行ノード６１０及び後続ノード６３０からパケット情報を受信する。例えば、受信部６２１は、先行ノード６１０から先行ノード６１０に関するパケット情報を受信する。ここで、先行ノード６１０に関するパケット情報は、先行ノード６１０が送信した総パケット数及び先行ノード６１０から中継装置が受信した総パケット数を含む。
【００４５】
本実施形態によると、受信部６２１は、データ損失が発生した後続ノード６３０から否定パケット（Ｎｅｇａｔｉｖｅ  Ａｃｋ：ＮＡＣＫ）を受信する。例えば、否定パケットは、中継されたデータパケットに対応するシーケンス番号を含む。
【００４６】
処理部６２２は、パケット情報により算出されたＲＱＩ情報に基づいて、データパケットを中継する中継ノードに中継装置を選択するか否かを決定する。具体的に、処理部６２２は、算出されたＲＱＩ情報及びデータパケットに含まれるＲＱＩ情報を比較した結果に基づいて、装置がパケットを中継するか否かを決定する。
【００４７】
例えば、処理部６２２は、前のシーケンスで受信したデータパケットのＲＱＩ情報を含むＲＱＩ履歴情報と算出されたＲＱＩ情報とを比較した結果に応じて、中継装置がパケットを中継するか否かを決定する。具体的に、後述する図７に示すように、中継装置６２０のＲＱＩ情報がＲＱＩ履歴情報よりも小さい場合、中継装置６２０は現在のシーケンスのパケットを中継しないように決定する。中継装置６２０のＲＱＩ情報がＲＱＩ履歴情報よりも小さいため、これは現在のシーケンスのパケット中継がパケットを中継する中継装置６２０を用いて補助（ａｉｄｅｄ）されないことを表す。また、中継装置６２０は、ＲＱＩ履歴情報がパケットのＲＱＩ情報よりも小さくない場合には従来のＲＱＩ履歴情報を保持する。
【００４８】
ここで、処理部６２２は、重複したパケットを受信すると、現在のシーケンスでパケットを中継したノード数をカウントし、中継装置のＲＱＩ履歴情報を更新する。また、処理部６２２は、前のシーケンスでパケットを中継したノードがない場合、算出されたＲＱＩ情報とＲＱＩ履歴情報とを比較した結果に応じて、中継装置がパケットを中継するか否かを決定する。具体的に、前のシーケンスでパケットを中継したノードがない場合、処理部６２２は、次のシーケンスでパケットを中継するノードを決定するためのＲＱＩ履歴情報を調整値及び算出されたＲＱＩ情報に基づいて調整する。
【００４９】
本実施形態によると、処理部６２２は、先行ノード６１０からパケットを最初に受信すると、算出されたＲＱＩ情報に先行ノード６１０に関するパケット情報をリアルタイムに反映する。ここで、処理部６２２は、中継装置６２０がパケットを中継すると決定した場合、算出されたＲＱＩ情報に中継装置が中継するパケット数をリアルタイムに反映する。
【００５０】
他の実施形態によると、処理部６２２は、否定パケットが前のシーケンスで中継装置が中継したデータパケットに対応する場合、算出されたＲＱＩ情報に否定パケットを反映する。具体的に、中継装置６２０は、毎パケット受信及び中継に参加するときのパケット情報に基づいてＲＱＩを更新することで、リンク環境の変化及びトポロジーの変化に対応する。例えば、中継装置６２０は、先行ノード６１０からのパケット受信が失敗した場合、及び自身が中継したパケットに対応する否定パケットを後続ノード６３０から受信した場合には自身のＲＱＩ値を減少させ、自身より高いＲＱＩ値を有するノードが現れる場合は中継ノードを当該ノードに変える。
【００５１】
更なる実施形態によると、処理部６２２は、予め定められた範囲の最近のシーケンスの間に受信された否定パケットに加重値を付加して、算出したＲＱＩ情報にリアルタイムに反映する。中継装置６２０は、中継ノードに選択されて中継の役割を成功的に実行すると、持続的にＲＱＩ値は向上する。そのため、ネットワーク環境が急激に変化して特定時点を基準として中継装置６２０が中継ノードとしての役割を行うことができない場合にも、更に高いＲＱＩ値を有するノードが現れる前まで続けてデータパケットの中継を試みる。
【００５２】
【数２】
2015070614.tif 000004
【００５３】
このような場合に備えて、上述した数式（２）のように予め定められた範囲の最近のシーケンス（例えば、最近のｋ回のシーケンス）の間に中継を失敗した回数（例えば、否定パケット受信回数）を測定する。測定された予め定められた範囲の最近のシーケンスの間に受信された否定パケットをＲＱＩ情報に反映するときに加重値を付与することによって、動的な通信環境の変化においても迅速に適応することができる。
【００５４】
ここで、加重値は、ユーザによって任意に設定される。例えば、ネットワーク環境変化が少ない状況では加重値を付与しないことで、中継ノードの頻繁な交替を防止することができる。他の例として、環境変化が動的な状況では加重値を付与することによって中継ノードを迅速に交替することができる。
【００５５】
送信部６２３は、中継装置６２０が中継ノードとして選択された場合、中継を失敗するまでデータパケットを中継する。例えば、データパケットを中継する他の中継候補ノード６４０よりもＲＱＩ情報が小さくない場合、中継を継続する。
【００５６】
図７Ａ及び図７Ｂは、一実施形態によるＲＱＩ情報に基づいて中継ノードを選択する方法を示すフローチャートである。ここで、ノードｕ、例えば中継装置がＲＱＩを学習する過程及び中継するか否かを判断する過程を共に説明する。本実施形態によると、中継装置は、ＲＱＩ情報及び中継に関する情報を含む。ここで、ＲＱＩ情報は、数式（１）によるＲＱＩ値を含む。
【００５７】
中継に関する情報は、ｎｕｍＰｒｅｖＲｅｌａｙフィールド、ｌａｓｔＨｉｇｈｅｓｔＲＱＩフィールド、ｒｅｌａｙＮｅｘｔフィールド、ｎｕｍＣｕｒＲｅｌａｙフィールド、ｃｕｒＨｉｇｈｅｓｔＲＱＩフィールドなどに格納される。ｎｕｍＰｒｅｖＲｅｌａｙフィールドは、前のシーケンスでデータパケットを中継したノード数を示す。ｌａｓｔＨｉｇｈｅｓＲＱＩフィールドは、前のシーケンスでパケットを中継したノードのＲＱＩ値のうちの最も大きいＲＱＩ値である。ｎｕｍＣｕｒＲｅｌａｙフィールドは、現在のシーケンスでデータパケットを中継したノード数を示す。ｃｕｒＨｉｇｈｅｓｔＲＱＩフィールドは、現在のシーケンスでパケットを中継したノードのＲＱＩ値のうちの最も大きいＲＱＩ値である。ｒｅｌａｙＮｅｘｔフィールドは、現在のシーケンスで中継装置がパケットを中継するか否かを示し、ＲＱＩ履歴情報の比較によって前のシーケンスで決定される。
【００５８】
具体的に、中継装置は、データパケットを最初に受信したとき、ｒｅｌａｙＮｅｘｔフィールドの値に基づいて中継の有無を決定する。ｒｅｌａｙＮｅｘｔフィールドは、中継装置のＲＱＩが隣接するノードのうちで最も大きいと判断されるときにｔｒｕｅとして設定される。このようなｒｅｌａｙＮｅｘｔフィールドは、他の中継候補ノードによって中継されたデータパケットｐのＲＱＩフィールド値（例えば、ＲＱＩ（ｐ））及び中継装置のＲＱＩ情報との比較によって決定される。詳細は下記で説明する。
【００５９】
先ず、ステップＳ７００において、中継装置は、前のシーケンスの中継に関する情報を初期化する。例えば、中継装置は、ｎｕｍＰｒｅｖＲｅｌａｙフィールドの値をｎｕｍＣｕｒＲｅｌａｙフィールドのような値に変更し、ｌａｓｔＨｉｇｈｅｓｔＲＱＩフィールドの値をｃｕｒＨｉｇｈｅｓｔＲＱＩフィールドのような値に変更する。
【００６０】
続いて、ステップＳ７０１において、中継装置は受信したデータパケットが現在のシーケンスで最初に受信したパケットであるか否かを確認する。具体的に、中継装置は、受信したデータパケットが先行ノードから送信されたことを確認する。例えば、各シーケンスに該当するパケットが一定時間以上のディレイをもって送信される場合、現在のシーケンスの開始時点で受信したデータパケットは最初に受信したパケットである。ここで、最初に受信したデータパケットは、先行ノードから送信されたものである。例えば、中継装置は、ソースノードから受信したデータパケットのｓｅｑフィールド及びｓｃｒＡｄｄｒの組合せに基づいて、当該パケットが最初に受信したものであるか、又は重複受信したものであるかを確認する。
【００６１】
ここで、中継装置は、現在のシーケンスで先行ノードではない他の中継候補ノードが中継したパケットを受信する。例えば、中継装置は、先行ノードからデータパケットを受信した後、重複するデータパケットを再び受信するか、又は先行ノードがデータパケットを送信した時点が一定時間経過した後にデータパケットを受信する。
【００６２】
そして、ステップＳ７０２において、中継装置は、現在のシーケンスで最初に受信したパケットである場合、中継装置のＲＱＩ情報に先行ノードに関するパケット情報をリアルタイムに反映する。例えば、先行ノードに関するパケット情報は、先行ノードが送信した総パケット数及び先行ノードから中継装置が受信した総パケット数を含む。ここで、先行ノードが送信した総パケット数は、データパケットのｓｅｑフィールドに記録されたシーケンス番号に対応する。先行ノードから中継装置が受信した総パケット数は、中継装置が先行ノードからデータパケットを成功的に受信する毎にカウントすることで取得される。
【００６３】
続いて、ステップＳ７０３において、前のシーケンスでデータパケットを中継した他の中継候補ノードの存在の有無を確認する。具体的に、前のシーケンスで他の中継候補ノードからデータパケットを受信する毎にカウントすることで、前のシーケンスでデータパケットを中継した他の中継候補ノード数をカウントする。
【００６４】
そして、ステップＳ７０４において、前のシーケンスでデータパケットを中継した他の中継候補ノードがない場合、中継装置のＲＱＩ情報をＲＱＩ履歴情報と比較する。ここで、ＲＱＩ履歴情報は、前のシーケンスで受信したデータパケットのうちの最も大きいＲＱＩ値である。
【００６５】
続いて、ステップＳ７０５において、中継装置のＲＱＩ情報がＲＱＩ履歴情報よりも小さい場合、中継装置は、現在のシーケンスのパケットを中継しないことを決定する。例えば、ＲＱＩ（ｕ）＜ｌａｓｔＨｉｇｈｅｓｔＲＱＩである場合、中継装置は、ｒｅｌａｙＮｅｘｔフィールドをｆａｌｓｅとして設定する。
【００６６】
そして、ステップＳ７０６において、中継装置が現在のシーケンスのデータパケットを中継するか否かを判断する。具体的に、中継装置は、処理部を介してｒｅｌａｙＮｅｘｔフィールドがｔｒｕｅと設定されているかを判断する。ｒｅｌａｙＮｅｘｔフィールドがｔｒｕｅと設定された場合、例えば、前のシーケンスでいずれのノードもデータパケットを中継していないが、中継装置が一定値以上のＲＱＩを有する場合、前のシーケンスで中継装置のＲＱＩ値よりも更に大きいＲＱＩ値を有する中継候補ノードがない場合などを含む。例えば、ＲＱＩ（ｕ）≧ｌａｓｔＨｉｇｈｅｓｔＲＱＩである場合である。
【００６７】
ここで、前のシーケンスでいずれのノードもデータパケットを中継していない場合は、前のシーケンスで中継されたパケット数（例えば、ｎｕｍＰｒｅｖＲｅｌａｙフィールドの値）が０である場合である。例えば、前のシーケンスで中継するように予定された中継候補ノードがパケット受信失敗などの理由によりデータパケットが中継されないことがある。この場合、中継装置は、前のシーケンスのＲＱＩ履歴情報（例えば、ｌａｓｔＨｉｇｈｅｓｔＲＱＩフィールドの値）に基づいて中継装置（例えば、ノードｕ）のＲＱＩ（ｕ）がｌａｓｔＨｉｇｈｅｓｔＲＱＩフィールドよりも小さくない場合にのみｒｅｌａｙＮｅｘｔフィールドの値をｔｒｕｅとして保持する。
【００６８】
また、ステップＳ７０６において、中継装置が現在のシーケンスでデータパケットを中継するか否かを判断する。ここで、中継装置は、ｒｅｌａｙＮｅｘｔフィールドがｔｒｕｅである場合に、データパケットを中継する。具体的に、前のシーケンスの下記に説明するステップＳ７１３〜Ｓ７１７において、中継領域に含まれる各中継候補ノードのＲＱＩ値を比較し、中継装置が最も大きいＲＱＩ値を有する中継候補ノードである場合、現在のシーケンスでデータパケットを中継するように決定する。例えば、中継装置は、前のシーケンスの下記に示すステップＳ７１０で、ｒｅｌａｙＮｅｘｔフィールドをｔｒｕｅとして設定し、前のシーケンスの下記に示すステップＳ７１３〜Ｓ７１７で自身よりも更に優れるＲＱＩを有する中継候補ノードがある場合、ｒｅｌａｙＮｅｘｔフィールドをｆａｌｓｅとして設定する。
【００６９】
続いて、ステップＳ７０７において、中継装置が現在のシーケンスのデータパケットを中継しないと決定した場合、前のシーケンスでデータパケットを中継したノード数、ＲＱＩ履歴情報を初期化する。例えば、データパケットを中継したノード数を示すｎｕｍＣｕｒＲｅｌａｙフィールドを０に初期化し、ＲＱＩ履歴情報を示すｃｕｒＨｉｇｈｅｓｔＲＱＩフィールドを、中継装置のＲＱＩフィールド値と調整値が適用されたＲＱＩ履歴情報のうちの大きい値に初期化する。
【００７０】
そして、ステップＳ７０８において、中継装置は、中継装置のＲＱＩ情報に、中継するパケット数をリアルタイムに反映する。例えば、中継装置の送信されたパケット数を前のシーケンスより１だけ増加させた値に基づいてＲＱＩ情報を算出する。他の例として、少なくとも１つ以上のパケットが送信された場合、送信されたパケット数に対応するＲＱＩ情報を算出する。
【００７１】
続いて、ステップＳ７０９において、中継装置がデータパケットを中継すると決定した場合、中継装置はデータパケットｐのｒｅｌａｙＡｄｄｒフィールド及びＲＱＩフィールドを自身のネットワークアドレス及びＲＱＩ（ｕ）に更新して中継する。
【００７２】
そして、ステップＳ７１０において、中継装置は、中継の有無、前のシーケンスでパケットを中継したノード数、ＲＱＩ履歴情報を初期化する。例えば、ｒｅｌａｙＮｅｘｔフィールドはｔｒｕｅに、ｎｕｍＣｕｒＲｅｌａｙフィールドは０に初期化する。ｃｕｒＨｉｇｈｅｓｔＲＱＩフィールドは、中継装置が次に中継されるパケットを受信することのできない値を設定し、ＲＱＩ（ｕ）とｌａｓｔＨｉｇｈｅｓｔＲＱＩ×αのうちから、大きい値を選択する。ここで、αは、ｌａｓｔＨｉｇｈｅｓｔＲＱＩに適用される調整値である。例えば、αは１よりも小さい値として、前のシーケンスで最適であると判断された中継ノードが先行ノードからパケットを受信できない場合を考慮して設定されたＲＱＩ値に対する調整量である。
【００７３】
続いて、ステップＳ７１１において、中継装置はデータパケットの損失の有無を検出する。例えば、パケットの中継の有無の決定後に、中継装置は、現在の受信したデータパケットのシーケンス番号情報（例えば、ｓｅｑフィールド）に基づいて、前のシーケンスのデータパケットが損失されたか否かを判断する。
【００７４】
そして、ステップＳ７１２において、中継装置は、データ損失が検出された場合、否定パケットを送信する。また、このようにデータパケットが損失されたと判断される場合、先行ノードにＮＡＣＫ情報をリクエストしてパケット損失の有無を知らせ、追加的に損失されたパケットを復旧する。
【００７５】
続いて、ステップＳ７１３において、中継装置は、受信したデータパケットが現在のシーケンスで最初に受信したパケットではないと確認された場合、現在のシーケンスでパケットを中継したノード数をカウントする。本実施形態によると、中継装置は、先行ノードからデータパケットが送信される時点の後に、他の中継ノードから中継されるデータパケットを受信する。例えば、中継装置は、他の中継候補ノードから現在のシーケンスのデータパケットを受信する毎にｎｕｍＣｕｒＲｅｌａｙフィールドの値を１だけ増加させることで、現在のシーケンスでパケットを中継したノード数をカウントする。
【００７６】
そして、ステップＳ７１４において、中継装置のＲＱＩ情報とデータパケットのＲＱＩ情報とを比較する。ここで、中継装置は、自身のＲＱＩ情報（例えば、ＲＱＩ（ｕ））を他の中継候補ノードによって中継されたパケットｐのＲＱＩ（ｐ）値と比較した後、現在のシーケンスで中継されたノードのＲＱＩ値よりも小さくないと判断した場合、ｒｅｌａｙＮｅｘｔフィールドをｔｒｕｅとして保持する。
【００７７】
続いて、ステップＳ７１５において、中継装置は、中継装置のＲＱＩ情報がデータパケットのＲＱＩ情報よりも小さい場合、次のシーケンスでデータパケットを中継しないことを決定する。例えば、既に中継されたパケットが自身のＲＱＩよりも更に大きい場合として、中継装置はｒｅｌａｙＮｅｘｔフィールドをｆａｌｓｅとして設定する。
【００７８】
そして、ステップＳ７１６において、ＲＱＩ履歴情報とデータパケットのＲＱＩ情報とを比較する。ＲＱＩ履歴情報がパケットのＲＱＩ情報より小さくない場合は従来のＲＱＩ履歴情報を保持する。例えば、ｃｕｒＨｉｇｈｅｓｔＲＱＩフィールドの値が上述したステップＳ７１０で選択された値に保持される。
【００７９】
続いて、ステップＳ７１７において、ＲＱＩ履歴情報がパケットのＲＱＩ情報よりも小さい場合にＲＱＩ履歴情報を更新する。例えば、中継装置は、他の中継候補ノードからデータパケットを受信する毎に、中継装置のＲＱＩ履歴情報を、受信したデータパケットのＲＱＩ情報に更新することによって、現在のシーケンスで最も大きい値を有するＲＱＩ値をＲＱＩ履歴情報に格納する。具体的に、データパケットのＲＱＩ値が中継装置のＲＱＩ履歴情報よりも大きい場合、ｃｕｒＨｉｇｈｅｓｔＲＱＩフィールドの値をデータパケットのＲＱＩ値に変更する。上述したように、データパケットを受信する毎にＲＱＩ履歴情報の更新を繰り返すことによって、ｃｕｒＨｉｇｈｅｓｔＲＱＩフィールドの値を現在のシーケンスで最も大きい値を有するＲＱＩ値に変更する。
【００８０】
図８は、一実施形態による否定パケットを反映する方法を示すフローチャートである。
【００８１】
ステップＳ８１０において、中継装置はデータ損失が発生した後続ノードから否定パケットを受信する。ここで、否定パケットは、上述した図７のステップＳ７１２で他の中継候補ノードによって送信されたパケット又は後続ノードから送信されたパケットを含む。
【００８２】
そして、ステップＳ８２０において、中継装置が重複しない否定パケットを受信したか否かを判断する。例えば、少なくとも２以上の後続ノードから２以上の特定シーケンスに対応する否定パケットを受信した場合、２番目に受信した否定パケットはカウントしない。
【００８３】
続いて、ステップＳ８３０において、受信した否定パケットが前のシーケンスで中継装置が中継したパケットであるか否かを判断する。例えば、否定パケットを受信した中継装置は、当該シーケンス番号のデータパケットを自身が中継したか否かを判断する。具体的に、中継装置は、自身が中継したパケットのシーケンス番号を記録し、記録されたシーケンス番号を、受信した否定パケットのシーケンス番号と対照する。
【００８４】
そして、ステップＳ８４０において、中継装置は、中継装置のＲＱＩ情報に否定パケットをリアルタイムに反映する。例えば、中継装置は、否定パケットが前のシーケンスで中継装置が中継したデータパケットに対応する場合、ＲＱＩ情報のうちの「ノードｕが中継したときの受信履歴」情報のうち、ノードｕが受信した総否定パケット数を更新する。ここで、様々なノードから同一のシーケンス番号に対する否定パケットが重複受信されるが、上述したステップＳ８２０によりシーケンス番号を基準として一度ＲＱＩに反映した否定パケットを重複して更新することはない。
【００８５】
本実施形態によると、上述した図７及び図８に示すように、各中継候補ノードｕは、先行ノードからデータパケットを受信する場合、受信したデータパケットを中継するとき、後続ノードから自身が中継したパケットに対する否定パケットを受信する毎にＲＱＩ（ｕ）を更新する。例えば、中継装置は、図７及び図８に示した方法に基づいて分散形態でＲＱＩ情報を保持し、中継されるデータパケットｐのＲＱＩ（ｐ）値と比較して自身のＲＱＩ（ｕ）値がより大きい場合に次のシーケンスのデータパケットを中継する。
【００８６】
ここで、従来の中継に参加した中継装置は、より大きいＲＱＩを有する他の中継候補ノードがパケットを中継することを把握すると、次のパケットから中継に参加することができない。このような方式で、各中継候補ノードは、リンク状態に応じて自身が最適の中継ノードであるか否かを選択、再選択する過程を繰り返す。
【００８７】
他の実施形態によると、中継ノードとして選択された中継装置が先行ノードから第ｘシーケンスのデータパケット受信を失敗する場合には中継できない。ここで、第ｘシーケンスに対して中継されるデータパケットがないため、周辺のノードは次のシーケンスである第ｘ＋１シーケンスのデータパケットに対して中継ノードとして参加することを決定する。ここで、複数のノードが中継に参加すると、パケット間の衝突及び混雑などの問題が発生し得る。このような問題を解決するために、ＲＱＩ履歴情報（例えば、ｌａｓｔＨｉｇｈｅｓｔＲＱＩフィールド）値を用いて、各ノードｕのＲＱＩ（ｕ）がｌａｓｔＨｉｇｈｅｓｔＲＱＩよりも大きい場合にのみ中継することで、第ｘ＋１シーケンスで一部のノードのみが中継に参加するように制限される。
【００８８】
図９は、他の実施形態による中継ノードを選択する方法を示すフローチャートである。本実施形態によると、中継装置は、ＲＱＩ情報及び中継に関する情報を含む。ここで、ＲＱＩ情報は、数式（１）によるＲＱＩ値を含む。
【００８９】
中継に関する情報は、ｎｕｍＰｒｅｖＲｅｌａｙフィールド、ｌａｓｔＨｉｇｈｅｓｔＲＱＩフィールド、ｒｅｌａｙＮｅｘｔフィールド、ｎｕｍＣｕｒＲｅｌａｙフィールド、ｃｕｒＨｉｇｈｅｓｔＲＱＩフィールド、並びにノード間の関係及びネットワーク構造に関する情報を格納する関連のフィールドなどに格納される。ｎｕｍＰｒｅｖＲｅｌａｙフィールドは、前のシーケンスでデータパケットを中継したノード数を示す。ｌａｓｔＨｉｇｈｅｓＲＱＩフィールドは、前のシーケンスでパケットを中継したノードのＲＱＩ値のうちの最も大きいＲＱＩ値である。ｎｕｍＣｕｒＲｅｌａｙフィールドは、現在のシーケンスでデータパケットを中継したノード数を示す。ｃｕｒＨｉｇｈｅｓｔＲＱＩフィールドは、現在のシーケンスでパケットを中継したノードのＲＱＩ値のうちの最も大きいＲＱＩ値である。ｒｅｌａｙＮｅｘｔフィールドは、現在のシーケンスで中継装置がパケットを中継するか否かを示し、ＲＱＩ情報の比較によって前のシーケンスで決定される。
【００９０】
本実施形態による中継装置は、前のシーケンスで中継装置及び他の中継候補ノードがデータパケットを中継したか否かを判断し、中継装置のＲＱＩ情報及びデータパケットの中継の有無に基づいて中継装置が現在のシーケンスでデータパケットを中継するか否かを決定する。
【００９１】
ステップＳ９１０において、処理部は、前のシーケンスで中継装置がデータパケットを成功的に中継したか否かを判断する。ここで、処理部は、前のシーケンスで中継装置がデータパケットを成功的に中継したか否かを判断し、成功的に中継した場合にはパケットを次に中継し、失敗した場合には現在のシーケンスで中継するか否かを判断する。
【００９２】
例えば、中継装置がデータパケットを成功的に中継できない場合は、前のシーケンスで後続ノードが中継装置からデータパケットを受信することができない場合である。この場合、上述した後続ノードは、無線ネットワーク内のノードに否定パケットを送信することによって失敗の有無を知らせる。
【００９３】
他の例として、中継装置は、前のシーケンスでデータパケットを中継した他の中継候補ノードのＲＱＩ値が自身のＲＱＩ値よりも大きい場合、成功的に中継することができなかったと判断する。例えば、中継装置のｒｅｌａｙＮｅｘｔフィールドの値がｆａｌｓｅである場合である。ここで、ｒｅｌａｙＮｅｘｔフィールドは、他の中継候補ノードによって中継されたデータパケットｐのＲＱＩフィールド値（例えば、ＲＱＩ（ｐ））と中継装置のＲＱＩ情報との比較によって決定される。特に、ｒｅｌａｙＮｅｘｔフィールドは、中継装置のＲＱＩが隣接する中継候補ノードのうちで最も大きいと判断されるときに、ｔｒｕｅとして設定される。
【００９４】
そして、ステップＳ９２０において、処理部は中継装置が前のシーケンスでデータパケットを中継した場合、送信部を用いて現在のシーケンスで中継装置がパケットを中継するように制御する。例えば、中継装置は、データパケットの中継を失敗して他の中継候補ノードよりもＲＱＩ値が小さくなるまで中継を継続する。ここで、中継装置は、データパケットを中継するとき、下記に示すステップＳ９４０で中継装置のＲＱＩ情報を更新する。
【００９５】
続いて、ステップＳ９３０において、前のシーケンスで中継装置がデータパケットを成功的に中継できない場合、処理部は、前のシーケンスで他の中継候補ノードがパケットを中継したか否かを判断する。具体的に、受信部を介して他の中継候補ノードが中継したパケットを受信すると、他の中継候補ノードが前のシーケンスでパケットを中継したものと判断する。
【００９６】
そして、ステップＳ９４０において、前のシーケンスで他の中継候補ノードがパケットを中継した場合、中継装置はＲＱＩ履歴情報を更新する。例えば、現在のシーケンスで受信した異なる中継候補ノードから送信されたデータパケット内に含まれるＲＱＩ情報にＲＱＩ履歴情報を変更する。
【００９７】
続いて、ステップＳ９５０において、前のシーケンスで他の中継候補ノードがパケットを中継していない場合、処理部は中継装置のＲＱＩ情報及びＲＱＩ履歴情報を比較した結果に応じて中継の有無を決定する。ここで、ＲＱＩ履歴情報は、前のシーケンスで無線ネットワークの中継領域に存在する中継候補ノードから受信したＲＱＩ情報のうちの最も大きいＲＱＩ値である。
【００９８】
そして、ステップＳ９６０において、中継装置のＲＱＩ情報がＲＱＩ履歴情報よりも大きいか同じである場合、中継装置は現在のシーケンスでデータパケットを中継する。ここで、中継装置はデータパケットを中継するとき、上述したステップＳ９４０で中継装置のＲＱＩ履歴情報を更新する。
【００９９】
続いて、ステップＳ９７０において、中継装置のＲＱＩ情報がＲＱＩ履歴情報よりも小さい場合、中継装置はＲＱＩ履歴情報を調整する。具体的に、中継装置のＲＱＩ情報及び調整値が適用されたＲＱＩ履歴情報のうちの大きい値をＲＱＩ履歴情報に変更する。
【０１００】
本実施形態による中継装置を含む無線ネットワークでは、ＲＱＩが最も高いノードが中継に参加するように設計される。ここで、初期に最初のデータパケットを送信するとき、ネットワーク内の全てのノードが同一の初期値を有する。この場合、大部分のノードが一度に中継に参加すると、重複したデータパケットが送信され、後続ノードがデータパケット受信を失敗する可能性がある。
【０１０１】
初期データパケットの送信時、中継装置（例えば、ノードｕ）が中継したパケット数、中継装置が受信した後続ノードからの否定パケット数などを任意の確率範囲内に初期化することによって、大部分のノードが一度に中継に参加することを防止できる。そのため、初期に中継ノードとして性能の優れていないノードが選択される可能性は存在するものの、以後に各中継候補ノードのＲＱＩ値がパケット受信時毎に更新されながら、より優れたＲＱＩ値を有するノードを中継ノードに交替することによって安定した状態に進入することができる。
【０１０２】
他の実施形態による中継装置は、ユーザによってシステム環境に応じて適切な中継ノード数を指定する。例えば、上述した図５〜図８により各中継候補ノードが受信したＲＱＩ値のランキングを格納することによって、指定された数だけ中継ノードを選択する。例えば、一般的に衝突（例えば、重複したデータパケット送信による混線）することなく送信される中継ノードの数が増加するほど後続ノードの受信性能が高くなる。他の例として、中継ノード間の衝突が発生する場合には後続ノードの受信性能が低下する。中継に適切な中継ノード数は、中継に許された時間及び中継ノード間の衝突なしに送信できる確率などによりユーザによって設定される。
【０１０３】
本実施形態による中継装置は、無線アドホックネットワークでマルチホップブロードキャスト又はマルチキャストに基づいてコンテンツを共有する際に、処理量及びパケット送信の信頼性を向上させることができる。
【０１０４】
本実施形態による中継装置は、臨時に構成される無線ネットワークで事前情報の習得を必要とせず、遅延時間なしにマルチホップブロードキャスト技術を活用することができる。
【０１０５】
以上で説明した装置は、ハードウェア構成要素、ソフトウェア構成要素、及び／又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的のコンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びＯＳ上で行われる１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理及び生成する。理解の便宜のために、処理装置は１つ使用されるものとして説明する場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【０１０６】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこれらのうちの１つ以上の組合せを含み、希望通りに作動するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散され、分散された方法で格納されて実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【０１０７】
本実施形態による方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。コンピュータ読み取り可能な記録媒体は、プログラム命令、データファイル、データ構造などのうちの１つ又はその組合せを含む。記録媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行される高級言語コードが含まれる。ハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして作動するように構成されてもよく、その逆も同様である。
【０１０８】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【０１０９】
１００    無線ネットワークトポロジー
１１０    先行領域
１１１、６１０    先行ノード
１２０、２２０    中継領域
１２１〜１２５    ノードＡ〜ノードＥ
１３０    後続領域
１３１、１３２、６３０    後続ノード
２２９    ノードｕ
３００    データパケット
３１０、４１０    ｍｓｇＴｙｐｅフィールド
３２０、４２０    ｓｅｑフィールド
３３０    ｓｒｃＡｄｄｒフィールド
３４０    ｒｅｌａｙＡｄｄｒフィールド
３５０    ＲＱＩフィールド
４００    否定パケット
６２０    中継装置
６２１    受信部
６２２    処理部
６２３    送信部
６４０    他の中継候補ノード
【図１】
2015070614.tif 000005
【図２】
2015070614.tif 000006
【図３】
2015070614.tif 000007
【図４】
2015070614.tif 000008
【図５】
2015070614.tif 000009
【図６】
2015070614.tif 000010
【図７Ａ】
2015070614.tif 000011
【図７Ｂ】
2015070614.tif 000012
【図８】
2015070614.tif 000013
【図９】
2015070614.tif 000014