説明

無線装置

【課題】ブロードキャストの信頼性を向上可能な無線装置を提供する。
【解決手段】無線装置2は、無線装置4〜6からのパケットを無線装置1へ送信するときに無線装置1が無線装置4〜6からのパケットをデコードできるように、無線装置1に対して自己が生成すべきコーディングパケットの個数を決定する。無線装置2は、この処理を自己の周辺に存在する全ての1ホップ以内の無線装置について実行する。そして、無線装置2は、上記の処理によって得られたコーディングパケットの個数のうち、最大の個数を自己が生成すべきコーディングパケットの個数として決定する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、パケットを定期的に送受信する無線装置に関するものである。
【背景技術】
【0002】
従来、定期的に送信されるリアルタイムアプリケーションのデータパケットに対し、受信パケットから符号化パケットを生成し、次のシーケンスのデータパケットによりPiggy−backすることで、悪伝搬路を持つ端末間のブロードキャスト通信を補填することが行われている(非特許文献1)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Y. Kondo, H. Yomo, S. Yamaguchi, P. Davis, R. Miura, S. Obana, “Wireless Broadcast with Random Network Coding for Real-time Applications”, Proc. of the IEEE Wireless Communications & Networking Conference (WCNC 2009), April 2009.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来のブロードキャストの通信方式では、2ホップ以内のトポロジーにおいて、中継が必要な端末数が中継を行う端末数よりも多い場合、中継が必要な端末において符号化パケットを復号することができないという問題がある。
【0005】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、ブロードキャストの信頼性を向上可能な無線装置を提供することである。
【課題を解決するための手段】
【0006】
この発明の実施の形態によれば、無線装置は、パケットを周期的に送受信する無線ネットワークを構成する無線装置であって、受信手段と、トポロジー作成手段と、決定手段と、コーディング手段と、パケット生成手段と、送信手段とを備える。受信手段は、無線ネットワークを構成するN(Nは2以上の整数)個の無線装置のうちのN−1個の無線装置からn(nは1≦n≦N−1を満たす整数)個のパケットを第k(kは正の整数)番目の周期において受信する。トポロジー作成手段は、当該無線装置から2ホップまでの範囲に配置された無線装置のトポロジーを作成する。決定手段は、トポロジー作成手段によって作成されたトポロジーに基づいて当該無線装置が生成するべきコーディングパケットの個数を決定する。コーディング手段は、受信手段によって受信されたn個のパケットを決定手段によって決定されたコーディングパケットの個数と同じ個数のランダム符号列を用いてネットワークコーディングする。パケット生成手段は、送信するための自発パケットを周期的に生成する。送信手段は、コーディング手段によって第k+1番目の周期においてネットワークコーディングされたm(mは正の整数)個のコーディングパケットと、パケット生成手段によって第k+1番目の周期において生成された自発パケットと、コーディングパケットをデコードするためのデコード情報とを含む結合パケットを生成し、その生成した結合パケットを第k+1番目の周期においてブロードキャストする。
【0007】
好ましくは、トポロジー作成手段は、当該無線装置の周辺に存在する無線装置からパケットを受信したときの受信信号強度が第1の閾値よりも大きい無線リンクを安定リンクとし、受信信号強度が第1の閾値よりも小さい第2の閾値よりも小さい無線リンクを不安定リンクとし、安定リンクに基づいてトポロジーを作成する。
【0008】
好ましくは、第1および第2の閾値の各々は、パケットを受信したときのパケットの送信レートに応じて決定される。
【0009】
好ましくは、送信手段は、当該無線装置が安定リンクを介してパケットを受信できるときのパケットの送信元に関する第1の情報と、当該無線装置が安定リンクを介してパケットを送信できるときのパケットの送信先に関する第2の情報とを更に含めて結合パケットを生成し、その生成した結合パケットを送信する。トポロジー作成手段は、受信手段によって受信された結合パケットに含まれる第1および第2の情報に基づいてトポロジーを作成する。
【0010】
好ましくは、決定手段は、トポロジーを参照して、当該無線装置に隣接する第1の隣接無線装置から当該無線装置に隣接する第2の隣接無線装置へパケットを中継するときに当該無線装置とともに第2の隣接無線装置へパケットを中継可能な無線装置の個数をカウントし、そのカウントした個数の逆数を演算する第1の処理を第1の隣接無線装置の全てについて実行し、かつ、第1の処理において演算した全ての逆数の総和を演算することによって1個の第2の隣接無線装置に送信すべきコーディングパケットの個数をカウントする個数カウント処理を第2の隣接無線装置の全てについて実行し、個数カウント処理において得られたコーディングパケットの個数のうち、最大の個数を当該無線装置が生成するべきコーディングパケットの個数として決定する。
【発明の効果】
【0011】
この発明の実施の形態による無線装置は、2ホップ以内のトポロジーにおいて、パケットの送信元からパケットの送信先へパケットを中継するときに、パケットの送信元の個数に等しい個数分のコーディングパケットを生成してブロードキャストする。その結果、パケットの送信先は、ブロードキャストされたコーディングパケットを用いて送信元からのパケットをデコードする。
【0012】
従って、ブロードキャストの信頼性を向上できる。
【図面の簡単な説明】
【0013】
【図1】この発明の実施の形態による無線ネットワークの概略図である。
【図2】図1に示す無線装置の構成図である。
【図3】自発パケットとコーディングパケットとを結合した結合パケットの構成図である。
【図4】安定リンクおよび不安定リンクの判定方法を示す概念図である。
【図5】トポロジーの具体例を示す図である。
【図6】1ホップで受信および送信可能な無線装置を示すワンホップテーブルの概念図である。
【図7】コーディングパケットの個数を決定する方法を説明するためのフローチャートである。
【図8】この発明の実施の形態における通信方法を説明するためのフローチャートである。
【発明を実施するための最良の形態】
【0014】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0015】
図1は、この発明の実施の形態による無線ネットワークの概略図である。図1を参照して、この発明の実施の形態による無線ネットワーク10は、無線装置1〜6を備える。
【0016】
無線装置1〜6の各々は、例えば、携帯ゲーム機からなる。無線装置1〜6は、無線通信空間に配置され、自律的に無線ネットワーク10を構成する。そして、無線装置1〜6は、相互にパケットを定期的に送受信し、対戦型のゲームを実行する。
【0017】
この対戦型のゲームにおける必要な性能は、例えば、無線装置1〜6の各々が他の5個の無線装置の各々とパケットを送受信することであり、フレームレートが60fpsであり、パケット生成周期が16.7msであり、パケットサイズが50〜200バイトであり、許容遅延が50msであり、パケット到達率が最も遠い無線装置間で99%以上である。
【0018】
無線装置1〜6が対戦型のゲームを実行する場合、各無線装置1〜6が他の無線装置からのパケットを受信できなければ、対戦型のゲームを実行することが困難になる。例えば、無線装置1が無線通信環境によって無線装置5からのパケットを受信できない場合、無線装置1と無線装置5との間で対戦型のゲームを実行することができなくなる。
【0019】
そこで、以下においては、無線ネットワーク10において、パケットのブロードキャストに対する信頼性を向上させる方法について説明する。
【0020】
図2は、図1に示す無線装置1の構成図である。図2を参照して、無線装置1は、受信手段11と、制御手段12と、デコード手段13と、バッファ14と、再生手段15と、パケット生成手段16と、コーディング手段17と、送信手段18と、トポロジー作成手段19と、決定手段20とを含む。
【0021】
受信手段11は、単一のパケットからなるパケットPKTを他の無線装置から受信し、その受信したパケットPKTを制御手段12へ出力する。
【0022】
また、受信手段11は、パケットを受信したときの受信電力RSSIを検出し、その検出した受信電力RSSIをトポロジー作成手段19へ出力する。
【0023】
更に、受信手段11は、後述する方法によって、他の無線装置においてネットワークコーディングされたコーディングパケットと、他の無線装置が生成した自発パケットと、コーディングパケットをデコードするためのデコード情報とを含む結合パケットPKT_CBを他の無線装置から受信し、その受信した結合パケットPKT_CBを制御手段12へ出力する。
【0024】
制御手段12は、受信手段11からパケットPKTを受けると、その受けたパケットPKTの宛先を確認する。そして、制御手段12は、パケットPKTの宛先が無線装置1のアドレスからなる場合、パケットPKTを再生手段15へ出力し、パケットPKTの宛先がブロードキャストアドレスからなる場合、パケットPKTを再生手段15へ出力するとともに、パケットPKTをバッファ14に格納する。
【0025】
また、制御手段12は、受信手段11から結合パケットPKT_CBを受けると、その受けた結合パケットPKT_CBをデコード手段13およびトポロジー作成手段19へ出力する。
【0026】
デコード手段13は、制御手段12から結合パケットPKT_CBを受けると、その受けた結合パケットPKT_CBを後述する方法によってデコードし、そのデコードしたパケットを再生手段15へ出力する。
【0027】
バッファ14は、制御手段12によって格納されたパケットPKTと、パケット生成手段16によって格納されたパケットPKTと、コーディング手段17によって格納されたコーディングパケットおよびデコード情報とを保持する。
【0028】
再生手段15は、制御手段12またはデコード手段13からパケットを受け、その受けたパケットのデータを再生する。そして、再生手段15は、その再生したデータを表示手段(図示せず)によって視覚情報として無線装置1の操作者に与える。
【0029】
パケット生成手段16は、タイマー(図示せず)を内蔵しており、タイマーを参照して、他の無線装置へブロードキャストするための自発パケットPKT_Selfを周期T=16.7[ms]毎に生成する。そして、パケット生成手段16は、その生成した自発パケットPKT_Selfをバッファ14に格納するとともに送信手段18へ出力する。
【0030】
コーディング手段17は、パケット生成手段16が内蔵するタイマーと同期が取れたタイマー(図示せず)を内蔵している。また、コーディング手段17は、生成すべきコーディングパケットの個数を決定手段20から受ける。そして、コーディング手段17は、その内蔵したタイマーを参照して、バッファ14に格納されたパケットを後述する方法によって周期T毎にネットワークコーディングする。この場合、コーディング手段17は、決定手段20から受けたコーディングパケットの個数分だけコーディングパケットPKT_cdを生成する。
【0031】
そうすると、コーディング手段17は、その生成したコーディングパケットPKT_cdと、コーディングパケットPKT_cdをデコードするためのデコード情報とをバッファ14に格納するとともに送信手段18へ出力する。
【0032】
送信手段18は、パケット生成手段16に内蔵されたタイマーおよびコーディング手段17に内蔵されたタイマーと同期が取れたタイマーを内蔵している。そして、送信手段18は、パケット生成手段16から自発パケットPKT_Selfを受け、コーディング手段17からコーディングパケットPKT_cdとデコード情報とを受け、無線装置1がパケットを安定して受信できる1ホップ以内の無線装置に関する情報であるRx情報と、無線装置1がパケットを安定して送信できる1ホップ以内の無線装置に関する情報であるTx情報とをトポロジー作成手段19から受けると、タイマーを参照して、自発パケットPKT_Self、コーディングパケットPKT_cd、デコード情報、Rx情報およびTx情報を含む結合パケットPKT_CBを周期T毎に生成し、その生成した結合パケットPKT_CBをブロードキャストする。
【0033】
トポロジー作成手段19は、制御手段12から結合パケットPKT_CBを受け、その受けた結合パケットPKT_CBに含まれるRx情報およびTx情報に基づいて、無線装置1から2ホップ以内における無線装置のトポロジーを作成する。
【0034】
そして、トポロジー作成手段19は、その作成したトポロジーに基づいて、無線装置1におけるRx情報およびTx情報を作成し、その作成したRx情報およびTx情報を送信手段18へ出力する。
【0035】
また、トポロジー作成手段19は、その作成したトポロジーを決定手段20へ出力する。
【0036】
決定手段20は、トポロジー作成手段19からトポロジーを受け、その受けたトポロジーに基づいて、後述する方法によって、無線装置1が生成するべきコーディングパケットの個数を決定する。そして、決定手段20は、その決定したコーディングパケットの個数をコーディング手段17へ出力する。
【0037】
なお、図1に示す無線装置2〜6の各々も、図2に示す無線装置2の構成と同じ構成からなる。
【0038】
次に、ネットワークコーディングの方法について説明する。なお、各無線装置1〜6のバッファ14は、無線ネットワーク10がN(Nは2以上の整数)個の無線装置によって構成される場合、受信手段11が他のN−1個の無線装置から受信したn(nは、1≦n≦N−1を満たす整数)個のパケットP〜Pと、パケット生成手段16によって格納された自発パケットPKT_Selfとのn+1個のパケットP〜Pn+1を格納しているものとする。この場合、n+1個のパケットP〜Pn+1の各々は、単一のパケットPKTからなる。
【0039】
各無線装置1〜6のコーディング手段17は、バッファ14に格納されたn+1個のパケットP〜Pn+1を取り出し、その取り出したn+1個のパケットP〜Pn+1に基づいて、パケット<P>=(P,P,・・・,P)を生成する。なお、この発明の実施の形態においては、<X>の表記は、行列XまたはベクトルXを表すものとする。
【0040】
n=N−1である場合、N−1個のパケットP〜PN−1の各々は、受信手段11によって他のN−1個の無線装置から実際に受信されたパケットからなる。一方、n<N−1である場合、N−1個のパケットP〜PN−1のうち、n個のパケットP〜Pの各々は、受信手段11によって他の無線装置から実際に受信されたパケットからなり、N−1個のパケットP〜PN−1のうち、N−1−n個のパケットの各々は、“0”からなる。
【0041】
無線ネットワーク10においては、各無線装置1〜6は、相互にパケットを送受信するので、各無線装置1〜6のコーディング手段17は、無線ネットワーク10を構成する無線装置の個数Nを知っており、各周期Tにおいて、バッファ14に格納されるパケットの最大数がN個であることを知っている。
【0042】
従って、無線ネットワーク10を構成する無線装置の個数がN個である場合、各無線装置1〜6のコーディング手段17は、最大でN個のパケットP〜Pが各周期Tにおいてバッファ14に格納されていることを知っている。
【0043】
そうすると、各無線装置1〜6のコーディング手段17は、バッファ14から実際に取り出したパケットがN個である場合(n=N−1である場合)、その取り出したN個のパケットP〜Pからなるパケット<P>=(P,P,・・・,P)を生成する。
【0044】
また、各無線装置1〜6のコーディング手段17は、バッファ14から実際に取り出したパケットの個数がN個よりも少ない場合(n<N−1である場合)、その取り出したn+1個のパケットP〜Pn+1と、バッファ14に格納されていなかったパケットに対して設定されたN−(n+1)個の“0”とからなるパケット<P>=(P,P,・・・,0,・・・,0,・・・P)を生成する。
【0045】
この場合、パケット<P>の各要素P(i=1〜N)は、次式によって表される。
【0046】
【数1】

【0047】
なお、式(1)において、Bは、各パケットP〜Pのパケットサイズをガロア体(GF2)(jは2以上の整数)の“j”によって除算し、小数点を切り上げた整数からなる。そして、パケット<P>の各要素Pi1,Pi2,・・・,PiBは、jビットの“1”または“0”の数値列からなる。
【0048】
各無線装置1〜6のコーディング手段17は、ガロア体(GF2)を予め保持しており、パケット<P>を生成すると、ガロア体(GF2)からランダムに数値を取り出して符号列(cj1,cj2,・・・,cjN)(j=1〜N)を生成する。この場合、符号cj1,cj2,・・・,cjNは、それぞれ、パケットP,P,・・・,Pに対応している。
【0049】
そして、各無線装置1〜6のコーディング手段17は、符号列(cj1,cj2,・・・,cjN)のうち、受信手段11が実際に受信しなかったパケット(パケットP,P,・・・,Pの少なくとも1つ)に対応する要素(cj1,cj2,・・・,cjNの少なくとも1つ)を“0”に設定して符号ベクトル<c>を生成する。なお、符号ベクトル<c>は、無線装置jにおけるネットワークコーディングに用いられる符号ベクトルである。
【0050】
そうすると、各無線装置1〜6のコーディング手段17は、符号ベクトル<c>とパケット<P>とに基づいて、次式によってコーディングパケット<y>を生成する。
【0051】
【数2】

【0052】
なお、式(2)において、符号ベクトル<c>の各要素cj1,cj2,・・・,cjNは、jビットの“1”または“0”の数値列からなる。
【0053】
この場合、各無線装置1〜6のコーディング手段17は、決定手段20から受けたコーディングパケットの個数と等しい個数のコーディングパケット<y>を生成する。
【0054】
より具体的には、各無線装置1〜6のコーディング手段17は、決定手段20から受けたコーディングパケットの個数分だけ符号ベクトル<c>を変化させて、決定手段20から受けたコーディングパケットの個数と等しい個数のコーディングパケット<y>を生成する。
【0055】
なお、符号ベクトル<c>をどのように変化させるかは、予め、各無線装置1〜6のコーディング手段17に格納されている。
【0056】
このように、各無線装置1〜6のコーディング手段17は、ランダムに発生された符号に基づいて生成した符号ベクトル<c>とパケット<P>とを乗算してパケットP,P,・・・,Pをネットワークコーディングする(即ち、コーディングパケット<y>を生成する)。
【0057】
図3は、自発パケットとコーディングパケットとを結合した結合パケットPKT_CBの構成図である。
【0058】
結合パケットPKT_CBは、ヘッダと、Rx情報と、Tx情報と、自発パケット(Seq=k+1)と、デコード情報と、コーディングパケット(Seq=k)とを含む。ヘッダは、ブロードキャストアドレスを含む。Rx情報は、パケットを安定して受信できる無線リンクであるか否かを表す。また、Rx情報は、無線ネットワーク10を構成する無線装置の個数Nに等しいNビットからなる。そして、“1”は、パケットを安定して受信できる安定リンクであることを表し、“0”は、パケットを安定して受信できない不安定リンクであることを表す。
【0059】
Tx情報は、パケットを安定して送信できる無線リンクであるか否かを表す。また、Tx情報は、無線ネットワーク10を構成する無線装置の個数Nに等しいNビットからなる。そして、“1”は、パケットを安定して送信できる安定リンクであることを表し、“0”は、パケットを安定して送信できない不安定リンクであることを表す。
【0060】
Rx情報およびTx情報の各ビットがどの無線装置を表すかは、ゲームスタート前のネゴシエーションのフェーズにおいて決定される。そして、Rx情報およびTx情報の各ビットは、例えば、無線装置のIDの小さい順に割り当てられる。
【0061】
自発パケット(Seq=k+1)は、第k+1(kは正の整数)番目の周期において生成されたパケットからなる。デコード情報は、符号ベクトル<c>からなる。コーディングパケット(Seq=k)は、第k番目の周期において他の無線装置から受信したN−1個のパケットと自発パケット(Seq=k)とからなるN個のパケットを上述した方法によってネットワークコーディングしたパケットからなる。そして、コーディングパケット(Seq=k)は、1個以上の個数からなる。
【0062】
従って、図3においては、自発パケット(Seq=k+1)のシーケンス番号Seqを“k+1”と表記し、コーディングパケット(Seq=k)のシーケンス番号Seqを“k”と表記している。
【0063】
なお、コーディングパケット(Seq=k)が2個以上である場合、デコード情報に格納される符号ベクトル<c>は、コーディングパケット(Seq=k)の個数に等しい個数からなる。
【0064】
引き続いて、各無線装置1〜6の送信手段18における結合パケットPKT_CBの生成方法について説明する。
【0065】
各無線装置1〜6の送信手段18は、パケット生成手段16から自発パケットPKT_Selfを受け、コーディング手段17からコーディングパケット<y>と符号ベクトル<c>とを受け、Rx情報およびTx情報をトポロジー作成手段19から受けると、Rx情報を“Rx情報”に格納し、Tx情報を“Tx情報”に格納し、自発パケットPKT_Selfを“自発パケット(Seq=k+1)”に格納し、符号ベクトル<c>を“デコード情報”に格納し、コーディングパケット<y>を“コーディングパケット(Seq=k)”に格納し、ブロードキャストアドレスを“ヘッダ”に格納して結合パケットPKT_CBを生成する。
【0066】
各無線装置1〜6のデコード手段13におけるコーディングパケット<y>のデコード方法について説明する。この場合、各無線装置1〜6は、他のN−1個の無線装置からN−1個の結合パケットPKT_CB_1〜PKT_CB_N−1を受信しているものとする。なお、結合パケットPKT_CB_1〜PKT_CB_N−1は、それぞれ、コーディングパケット<y>〜<yN−1>を含む。
【0067】
各無線装置1〜6のデコード手段13は、制御手段12からN−1個の結合パケットPKT_CB_1〜PKT_CB_N−1を受けると、その受けたN−1個の結合パケットPKT_CB_1〜PKT_CB_N−1からそれぞれコーディングパケット<y>〜<yN−1>と、符号ベクトル<c>〜<cN−1>とを取り出す。また、各無線装置1〜6のデコード手段13は、コーディング手段17がネットワークコーディングして生成したコーディングパケット<y>と、符号ベクトル<c>とをバッファ14から読み出す。
【0068】
この場合、他の無線装置から受信したN−1個のコーディングパケット<y>〜<yN−1>と、各無線装置1〜6において生成されたコーディングパケット<y>とを含むN個のコーディングパケット<y>〜<y>の各々は、式(2)によって表される。
【0069】
そうすると、各無線装置1〜6のデコード手段13は、N個の符号ベクトル<c>〜<c>およびN個のコーディングパケット<y>〜<y>に基づいて、次式を生成する。
【0070】
【数3】

【0071】
そして、各無線装置1〜6のデコード手段13は、式(3)の右辺の先頭に配置された符号ベクトル<c>〜<c>からなる符号行列<C>の逆行列<C>−1を演算し、その演算した逆行列<C>−1を式(3)の両辺に乗算する。その結果、各無線装置1〜6のデコード手段13は、次式を得る。
【0072】
【数4】

【0073】
式(4)の右辺の要素P11,P12,・・・,P1B,P21,P22,・・・,P,・・・,PN1,PN2,・・・,PNBは、それぞれ、パケットP,P,・・・,Pである。
【0074】
従って、各無線装置1〜6のデコード手段13は、元のN個のパケットP〜Pを取得できる。
【0075】
このように、各無線装置1〜6のデコード手段13は、式(3)に示す連立方程式を解くことによって元のN個のパケットP〜Pを取得する。
【0076】
安定リンクおよび不安定リンクの判定方法について説明する。図4は、安定リンクおよび不安定リンクの判定方法を示す概念図である。
【0077】
図4を参照して、トポロジー作成手段19は、閾値Th1(Rate),Th2(Rate)および時間T1を予め保持している。そして、トポロジー作成手段19は、受信電力RSSIが閾値Th1(Rate)よりも大きいとき、受信電力RSSIが得られるパケットの送信元との間の無線リンクを安定リンクと判定する。
【0078】
また、トポロジー作成手段19は、受信電力RSSIが閾値Th2(Rate)よりも小さいとき、またはT1秒間、結合パケットPKT_CBを受信しないとき、受信電力RSSIが得られるパケットの送信元との間の無線リンクを不安定リンクと判定する。
【0079】
そして、閾値Th1(Rate),Th2(Rate)は、Rateに応じて決定されており、Rateは、受信パケットの送信レートとする。
【0080】
また、閾値Th1(Rate),Th2(Rate)は、Th1(Rate)>Th2(Rate)を満たす。
【0081】
閾値Th1(Rate),Th2(Rate)の具体例は、次のとおりである。Th1(6)=−70[dBm]、Th1(9)=−65[dBm]、Th2(6)=−80[dBm]、およびTh2(9)=−75[dBm]である。また、T1は、例えば、0.1秒である。
【0082】
各レートで200byteのデータパケットを送受信したときのパケットエラー率が1%となる受信電力RSSIを閾値Th1とし、各レートで200byteのデータパケットを送受信したときのパケットエラー率が20%となる受信電力RSSIを閾値Th2とした。
【0083】
なお、安定リンクから不安定リンクへ移行するときの閾値Th2を不安定リンクから安定リンクへ移行するときの閾値Th1よりも小さくしているのは、受信電力RSSIのゆらぎによる影響を抑制するためである。
【0084】
トポロジー作成手段19は、上述した方法によって安定リンクか不安定リンクかの判定を行い、1ホップ内の安定リンクのみに基づいて、2ホップ以内のトポロジーを作成する。
【0085】
トポロジーの作成方法について説明する。図5は、トポロジーの具体例を示す図である。
【0086】
無線装置2のトポロジー作成手段19は、無線装置1から送信された結合パケットPKT_CBを制御手段12から受け、結合パケットPKT_CBを受信したときの受信電力RSSIを受信手段11から受ける。
【0087】
そして、無線装置2のトポロジー作成手段19は、例えば、受信電力RSSIが閾値Th1よりも大きいと判定する。
【0088】
そうすると、無線装置2のトポロジー作成手段19は、結合パケットPKT_CBに含まれるRx情報=[0|1|1|0|0|0]を参照して、無線装置2(自端末)に該当するビットが“1”であることを検知する。
【0089】
そして、無線装置2のトポロジー作成手段19は、無線装置1−無線装置2間の無線リンクが安定リンクであることを検知し、無線装置1を無線装置2からの1ホップ内の隣接無線装置とする。
【0090】
また、無線装置2のトポロジー作成手段19は、無線装置1に該当するビットを“1”に設定したTx情報=[1|0|0|0|0|0]を作成する。
【0091】
更に、無線装置2のトポロジー作成手段19は、Rx情報=[0|1|1|0|0|0]を参照して、無線装置1−無線装置3間の無線リンクが安定リンクであることを検知する。
【0092】
そして、無線装置2のトポロジー作成手段19は、無線装置1に該当するビットを“1”に設定したRx情報=[1|1|1|0|0|0]を作成する。
【0093】
このRx情報=[1|1|1|0|0|0]およびTx情報=[1|0|0|0|0|0]は、無線装置2において生成される結合パケットPKT_CBに含まれてブロードキャストされる。
【0094】
無線装置4は、Rx情報=[1|1|1|0|0|0]およびTx情報=[1|0|0|0|0|0]を含む結合パケットPKT_CBを無線装置2から直接受信し、結合パケットPKT_CBを受信したときの受信電力RSSIに基づいて、無線装置2−無線装置4間のリンクが安定リンクであると上述した方法によって判定し、無線装置2を隣接無線装置として検知する。
【0095】
そして、無線装置4は、結合パケットPKT_CBに含まれるRx情報=[1|1|1|0|0|0]の第1ビットに基づいて、無線装置1−無線装置2間の無線リンクが安定リンクであることを検知し、Rx情報=[1|1|1|0|0|0]の第3ビットに基づいて、無線装置2−無線装置3間の無線リンクが安定リンクであることを検知する。その結果、無線装置4は、自己から2ホップの位置に存在する無線装置1,3を検知する。
【0096】
無線装置2のトポロジー作成手段19は、無線装置2の周辺に存在する無線装置から送信されたRx情報およびTx情報に基づいて安定リンクを検出し、無線装置4〜6を検知する。そして、無線装置2のトポロジー作成手段19は、例えば、図5に示すトポロジーを作成する。
【0097】
また、無線装置1,3〜6のトポロジー作成手段19も、上述した方法によって、無線装置1,3〜6から2ホップ以内のトポロジーを作成する。
【0098】
無線装置2のトポロジー作成手段19は、トポロジー(図5参照)を作成すると、その作成したトポロジーに基づいて、Rx情報=[1|0|1|1|1|1]およびTx情報=[1|0|1|1|1|1]を作成し、その作成したRx情報=[1|0|1|1|1|1]およびTx情報=[1|0|1|1|1|1]を送信手段18へ出力する。
【0099】
無線装置1,3〜6のトポロジー作成手段19も、同様にして、Rx情報およびTx情報を作成し、その作成したRx情報およびTx情報を送信手段18へ出力する。
【0100】
また、各無線装置1〜6のトポロジー作成手段19は、その作成したトポロジーと、他の無線装置から受信した結合パケットPKT_CBに含まれるRx情報およびTx情報とを決定手段20へ出力する。
【0101】
図6は、1ホップで受信および送信可能な無線装置を示すワンホップテーブルの概念図である。
【0102】
図6を参照して、ワンホップテーブルOHTは、1ホップで受信可能な無線装置N1Rx(i)と、1ホップで送信可能な無線装置N1Tx(i)とを含む。
【0103】
N1Rx(i)は、無線装置iへの安定リンクを持ち、結合パケットPKT_CBを直接受信可能な無線装置の集合である。そして、N1Rx(i)は、無線装置iからの結合パケットPKT_CBに含まれるRx情報から構成される。
【0104】
N1Tx(i)は、無線装置iからの安定リンクを持ち、結合パケットPKT_CBを直接送信可能な無線装置の集合である。そして、N1Tx(i)は、無線装置iからの結合パケットPKT_CBに含まれるTx情報から構成される。
【0105】
各無線装置1〜6の決定手段20は、トポロジー作成手段19から結合パケットPKT_CBを受けると、その受けた結合パケットPKT_CBに含まれるRx情報およびTx情報を検出し、その検出したRx情報およびTx情報に基づいて、ワンホップテーブルOHTを作成する。なお、各無線装置1〜6の決定手段20は、周辺の全ての無線装置についてワンホップテーブルOHTを作成する。
【0106】
各無線装置1〜6において生成すべきコーディングパケットの個数を決定する方法について説明する。なお、図5に示すトポロジーにおいて、無線装置2の決定手段20がコーディングパケットの個数を決定する場合について説明する。
【0107】
無線装置2の決定手段20は、トポロジー(図5)およびワンホップテーブルOHTを参照して、無線装置1に対して無線装置4のパケットを送信できるのは、無線装置2のみであることを検知し、中継端末数relay_nodeをrelay_node=1に設定する。そして、無線装置2の決定手段20は、無線装置4のパケットを無線装置1に送信するときのコーディングパケットの個数tx_4−1=1/relay_node=1を演算する。
【0108】
次に、無線装置2の決定手段20は、トポロジー(図5)およびワンホップテーブルOHTを参照して、無線装置1に対して無線装置5のパケットを送信できるのは、無線装置2および無線装置3であることを検知し、中継端末数relay_nodeをrelay_node=2に設定する。そして、無線装置2の決定手段20は、無線装置5のパケットを無線装置1に送信するときのコーディングパケットの個数tx_5−1=1/relay_node=1/2を演算する。
【0109】
無線装置2の決定手段20は、同様にして、無線装置6のパケットを無線装置1に送信するときのコーディングパケットの個数tx_6−1=1/relay_node=1/2を演算する。
【0110】
そうすると、無線装置2の決定手段20は、無線装置1に対して無線装置2が生成すべきコーディングパケットの個数tx_1をtx_1=tx_4−1+tx_5−1+tx_6−1=1+1/2+1/2=2と演算する。
【0111】
無線装置2の決定手段20は、上述した方法によって、ワンホップテーブルOHTの集合N1Tx(2)に含まれる全ての無線装置について、無線装置2が生成すべきコーディングパケットの個数txを演算する。この場合、無線装置2が無線装置3に対して送信すべきコーディングパケットの個数tx_3は、tx_3=1/3であり、無線装置2が無線装置4に対して送信すべきコーディングパケットの個数tx_4は、tx_4=1+1/3=4/3であり、無線装置2が無線装置5に対して送信すべきコーディングパケットの個数tx_5は、tx_5=1/2であり、無線装置2が無線装置6に対して送信すべきコーディングパケットの個数tx_6は、tx_6=1/2である。
【0112】
そうすると、無線装置2の決定手段20は、tx_1,tx_4,tx_5,tx_6の中から最大の個数(=tx_1=2)を無線装置2が生成すべきコーディングパケットの個数max_cpとして決定する。
【0113】
そして、無線装置2の決定手段20は、その決定したコーディングパケットの個数max_cpをコーディング手段17へ出力する。
【0114】
なお、無線装置1,3〜6の決定手段20も、上述した方法によって、無線装置1,3〜6が生成すべきコーディングパケットの個数max_cpを決定する。そして、無線装置1,3〜6の決定手段20は、その決定したコーディングパケットの個数max_cpをコーディング手段17へ出力する。
【0115】
また、演算されたコーディングパケットの個数max_cpは、整数でない場合もあるが、その場合、小数点以下を繰り上げた数値をコーディングパケットの個数max_cpとする。
【0116】
図7は、コーディングパケットの個数を決定する方法を説明するためのフローチャートである。
【0117】
図7を参照して、一連の動作が開始されると、各無線装置1〜6の決定手段20は、コーディングパケットの個数max_cpを“0”に設定する(ステップS1)。
【0118】
そして、各無線装置1〜6の決定手段20は、自己が保持するワンホップテーブルOHTに基づいて、自端末のN1Tx(X)の1つの要素に無線装置iを設定する(ステップS2)。
【0119】
その後、各無線装置1〜6の決定手段20は、各送信先に対するコーディングパケットの個数txを“0”に設定する(ステップS3)。
【0120】
引き続いて、各無線装置1〜6の決定手段20は、自己が保持するワンホップテーブルOHTに基づいて、自端末のN1Rx(X)の1つの要素に無線装置jを設定する(ステップS4)。
【0121】
そうすると、各無線装置1〜6の決定手段20は、無線装置jが集合N1Rx(i)に含まれるか否かを判定する(ステップS5)。
【0122】
ステップS5において、無線装置jが集合N1Rx(i)に含まれないと判定されたとき、各無線装置1〜6の決定手段20は、中継端末数relat_nodeを“0”に設定する(ステップS6)。
【0123】
そして、各無線装置1〜6の決定手段20は、自己が保持するワンホップテーブルOHTに基づいて、無線装置kを集合N1Tx(j)の1つの要素に設定する(ステップS7)。
【0124】
そうすると、各無線装置1〜6の決定手段20は、無線装置iが集合N1Tx(k)に含まれるか否かを判定する(ステップS8)。
【0125】
ステップS8において、無線装置iが集合N1Tx(k)に含まれると判定されたとき、各無線装置1〜6の決定手段20は、relay_node=relay_node+1を演算する(ステップS9)。
【0126】
そして、ステップS8において、無線装置iが集合N1Tx(k)に含まれないと判定されたとき、またはステップS9の後、各無線装置1〜6の決定手段20は、全ての無線装置kについて終了したか否かを判定する(ステップS10)。
【0127】
ステップS10において、全ての無線装置kについて終了していないと判定されたとき、各無線装置1〜6の決定手段20は、無線装置kを集合N1Tx(j)の別の要素に設定する(ステップS11)。その後、一連の動作は、ステップS8へ戻り、ステップS10において、全ての無線装置kについて終了していると判定されるまで、ステップS8〜ステップS11が繰り返し実行される。
【0128】
そして、ステップS10において、全ての無線装置kについて終了したと判定されると、各無線装置1〜6の決定手段20は、tx=tx+1/relay_nodeを演算する(ステップS12)。
【0129】
ステップS5において、無線装置jが集合N1Rx(i)に含まれると判定されたとき、またはステップS12の後、各無線装置1〜6の決定手段20は、全ての無線装置jについて終了したか否かを判定する(ステップS13)。
【0130】
ステップS13において、全ての無線装置jについて終了していないと判定されたとき、各無線装置1〜6の決定手段20は、無線装置jを集合N1Rx(X)の別の要素に設定する(ステップS14)。その後、一連の動作は、ステップS5へ戻り、ステップS13において、全ての無線装置jについて終了していると判定されるまで、ステップS5〜ステップS14が繰り返し実行される。
【0131】
そして、ステップS13において、全ての無線装置jについて終了したと判定されると、各無線装置1〜6の決定手段20は、txがmax_cpよりも大きいか否かを判定する(ステップS15)。
【0132】
ステップS15において、txがmax_cpよりも大きいと判定されたとき、各無線装置1〜6の決定手段20は、max_cp=txを設定する(ステップS16)。
【0133】
そして、ステップS15において、txがmax_cp以下であると判定されたとき、またはステップS16の後、各無線装置1〜6の決定手段20は、無線装置iの全てについて終了したか否かを判定する(ステップS17)。
【0134】
ステップS17において、全ての無線装置iについて終了していないと判定されたとき、各無線装置1〜6の決定手段20は、無線装置iを集合N1Tx(X)の別の要素に設定する(ステップS18)。その後、一連の動作は、ステップS3へ戻り、ステップS17において、全ての無線装置iについて終了していると判定されるまで、ステップS3〜ステップS18が繰り返し実行される。
【0135】
そして、ステップS17において、全ての無線装置iについて終了したと判定されると、一連の動作が終了する。
【0136】
各無線装置1〜6の決定手段20は、図7に示すフローチャートに従ってコーディングパケットの個数max_cpを決定し、その決定した個数max_cpをコーディング手段17へ出力する。
【0137】
そうすると、各無線装置1〜6のコーディング手段17は、決定手段20から受けた個数max_cpのコーディングパケット<y>を生成する。この場合、各無線装置1〜6のコーディング手段17は、予め決定された順番に従って符号ベクトル<c>を個数max_cp分だけ変化させながらコーディングパケット<y>〜<ymax_cp>を生成する。
【0138】
そして、各無線装置1〜6の送信手段18は、コーディング手段17によって生成されたmax_cp個のコーディングパケット<y>〜<ymax_cp>をコーディング手段17から受け、その受けたmax_cp個のコーディングパケット<y>〜<ymax_cp>を含む結合パケットPKT_CBを生成し、その生成した結合パケットPKT_CBをブロードキャストする。
【0139】
なお、各無線装置1〜6は、個数max_cpが“0”である場合、コーディングパケットを生成せず、ヘッダ/Rx情報/Tx情報/自発パケットからなるパケットを生成して送信する。即ち、各無線装置1〜6は、個数max_cpが“0”である場合、図3に示すパケットフォーマットからデコード情報およびコーディングパケットを削除したフォーマットからなるパケットを送信する。
【0140】
図5に示すトポロジーにおいては、無線装置2の送信手段18は、2個のコーディングパケット<y>を含む結合パケットPKT_CB(2)を送信する。また、無線装置3の送信手段18は、1個のコーディングパケット<y>を含む結合パケットPKT_CB(1)を送信する。
【0141】
そして、無線装置1は、無線装置2から結合パケットPKT_CB(2)を受信し、無線装置1から結合パケットPKT_CB(1)を受信する。
【0142】
無線装置1のデコード手段13は、結合パケットPKT_CB(2)から取り出された2個のコーディングパケット<y>と、結合パケットPKT_CB(1)から取り出された1個のコーディングパケット<y>との3個のコーディングパケット<y>を用いて、上述した方法によってデコードする。そして、無線装置1のデコード手段13は、無線装置4〜6から送信された3個のパケットを取得する。
【0143】
従って、ブロードキャストの信頼を向上できる。
【0144】
なお、各無線装置1〜6のトポロジー作成手段19が各無線装置1〜6から2ホップ以内のトポロジーを作成するのは、各無線装置1〜6が中継器である場合、2ホップ以内のトポロジーを作成すれば、パケットの送信先がコーディングパケットをデコードするために必要なコーディングパケットの個数max_cpを上述した方法によって算出できるからである。
【0145】
図8は、この発明の実施の形態における通信方法を説明するためのフローチャートである。
【0146】
図8を参照して、一連の動作が開始されると、各無線装置1〜6は、上述した方法によって、安定リンクに基づいて、2ホップ以内のトポロジーを作成する(ステップS21)。
【0147】
そして、各無線装置1〜6は、上述した方法によって、生成すべきコーディングパケットの個数max_cpを決定する(ステップS22)。
【0148】
そうすると、各無線装置1〜6は、上述した方法によって、その決定した個数max_cp分のコーディングパケットを生成する(ステップS23)。
【0149】
そして、各無線装置1〜6は、Rx情報、Tx情報、自発パケット、デコード情報、個数max_cpおよび個数max_cp分のコーディングパケットを含む結合パケットPKT_CBを生成し(ステップS24)、その生成した結合パケットPKT_CBをブロードキャストする(ステップS25)。これによって、一連の動作が終了する。
【0150】
このように、各無線装置1〜6は、個数max_cpを含む結合パケットPKT_CBを生成する。従って、結合パケットPKT_CBを受信した無線装置(無線装置1〜6のいずれか)は、コーディングパケットの個数を容易に検知し、その検知した個数のコーディングパケットが結合パケットPKT_CBに含まれるか否かを容易に判定できる。
【0151】
上記においては、各無線装置1〜6は、閾値Th1以上の受信電力RSSIを有する無線リンク(=安定リンク)に基づいて、トポロジーを作成し、その作成したトポロジーに基づいて、生成すべきコーディングパケットの個数max_cpを決定すると説明したが、この発明の実施の形態においては、これに限らず、各無線装置1〜6は、Helloパケットの送受信によって2ホップ以内のトポロジーを作成し、その作成したトポロジーに基づいて、生成すべきコーディングパケットの個数max_cpを決定してもよく、何らかの方法によって2ホップ以内のトポロジーを作成し、その作成したトポロジーに基づいて、生成すべきコーディングパケットの個数max_cpを決定してもよい。
【0152】
なお、この発明の実施の形態においては、ガロア体(GF2)からランダムに発生させた符号列は、「ランダム符号列」を構成する。
【0153】
また、この発明の実施の形態においては、閾値Th1(Rate)は、「第1の閾値」を構成し、閾値Th2(Rate)は、「第2の閾値」を構成する。
【0154】
更に、この発明の実施の形態においては、Rx情報は、「第1の情報」を構成し、Tx情報は、「第2の情報」を構成する。
【0155】
更に、この発明の実施の形態においては、図7に示すステップS6〜ステップS12は、「第1の処理」を構成し、図7に示すステップS4〜ステップS14は、を全ての無線装置jについて実行する処理は、「個数カウント処理」を構成する。
【0156】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【0157】
この発明は、無線装置に適用される。
【符号の説明】
【0158】
1〜6 無線装置、10 無線ネットワーク、11 受信手段、12 制御手段、13,13A デコード手段、14 バッファ、15 再生手段、16 パケット生成手段、17 コーディング手段、18 送信手段、19 トポロジー作成手段、20 決定手段。

【特許請求の範囲】
【請求項1】
パケットを周期的に送受信する無線ネットワークを構成する無線装置であって、
前記無線ネットワークを構成するN(Nは2以上の整数)個の無線装置のうちのN−1個の無線装置からn(nは1≦n≦N−1を満たす整数)個のパケットを第k(kは正の整数)番目の周期において受信する受信手段と、
当該無線装置から2ホップまでの範囲に配置された無線装置のトポロジーを作成するトポロジー作成手段と、
前記トポロジー作成手段によって作成されたトポロジーに基づいて当該無線装置が生成するべきコーディングパケットの個数を決定する決定手段と、
前記受信手段によって受信された前記n個のパケットを前記決定手段によって決定された前記コーディングパケットの個数と同じ個数のランダム符号列を用いてネットワークコーディングするコーディング手段と、
送信するための自発パケットを周期的に生成するパケット生成手段と、
前記コーディング手段によって第k+1番目の周期においてネットワークコーディングされたm(mは正の整数)個のコーディングパケットと、前記パケット生成手段によって前記第k+1番目の周期において生成された前記自発パケットと、前記コーディングパケットをデコードするためのデコード情報とを含む結合パケットを生成し、その生成した結合パケットを前記第k+1番目の周期においてブロードキャストする送信手段とを備える無線装置。
【請求項2】
前記トポロジー作成手段は、当該無線装置の周辺に存在する無線装置からパケットを受信したときの受信信号強度が第1の閾値よりも大きい無線リンクを安定リンクとし、前記受信信号強度が前記第1の閾値よりも小さい第2の閾値よりも小さい無線リンクを不安定リンクとし、前記安定リンクに基づいて前記トポロジーを作成する、請求項1に記載の無線装置。
【請求項3】
前記第1および第2の閾値の各々は、パケットを受信したときの前記パケットの送信レートに応じて決定される、請求項2に記載の無線装置。
【請求項4】
前記送信手段は、当該無線装置が前記安定リンクを介してパケットを受信できるときの前記パケットの送信元に関する第1の情報と、当該無線装置が前記安定リンクを介してパケットを送信できるときの前記パケットの送信先に関する第2の情報とを更に含めて前記結合パケットを生成し、その生成した結合パケットを送信し、
前記トポロジー作成手段は、前記受信手段によって受信された前記結合パケットに含まれる前記第1および第2の情報に基づいて前記トポロジーを作成する、請求項2または請求項3に記載の無線装置。
【請求項5】
前記決定手段は、前記トポロジーを参照して、当該無線装置に隣接する第1の隣接無線装置から当該無線装置に隣接する第2の隣接無線装置へパケットを中継するときに当該無線装置とともに前記第2の隣接無線装置へパケットを中継可能な無線装置の個数をカウントし、そのカウントした個数の逆数を演算する第1の処理を前記第1の隣接無線装置の全てについて実行し、かつ、前記第1の処理において演算した全ての逆数の総和を演算することによって1個の前記第2の隣接無線装置に送信すべきコーディングパケットの個数をカウントする個数カウント処理を前記第2の隣接無線装置の全てについて実行し、前記個数カウント処理において得られた前記コーディングパケットの個数のうち、最大の個数を当該無線装置が生成するべきコーディングパケットの個数として決定する、請求項1から請求項4のいずれか1項に記載の無線装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−217235(P2011−217235A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−84979(P2010−84979)
【出願日】平成22年4月1日(2010.4.1)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年度独立行政法人情報通信研究機構、研究テーマ「高レスポンスマルチホップ自律無線通信システムの研究開発」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】