図1は、本願発明の実施の形態に係るネットワークシステムの一例を示す図である。ネットワークシステム1には、1つのコアノード3と、6個のスレーブノード51,…,56がある。なお、符号の添え字は、省略する場合がある。以下では、各ノードが1つの無線モジュールにより無線通信を行い、すべてのノードが同一の無線チャネルを割り当て、相互に通信できる状態である場合を例として説明する。なお、本願発明は、複数の無線モジュールを使用したり、有線通信であったり、有線通信と無線通信を組み合わせたものであってもよい。複数の無線モジュールを使用する場合には、例えば、各無線モジュールで並列動作させて負荷分散させることができる。
ネットワークシステム1は、木構造の経路が構築されている。コアノード3(本願請求項の「根ノード」の一例)は、木構造の根である。スレーブノード51及び52(本願請求項の「内部ノード」の一例)は、木構造の内部である。スレーブノード53、54、55及び56(本願請求項の「葉ノード」の一例)は、木構造の葉である。コアノード3の子は、スレーブノード51及び52である。スレーブノード51の子は、スレーブノード53、54及び55である。スレーブノード52の子は、スレーブノード56である。
隣接ノードは、ネットワークに構築された経路において、直接通信可能なノードである。例えばスレーブノード52の隣接ノードは、コアノード3とスレーブノード56である。
上り回線は、ネットワークに構築された木構造の経路に沿って、スレーブノードからコアノードに向かう回線である。例えばスレーブノード53の上り回線は、親スレーブノード51に向かう回線である。上りノードは、隣接ノードのうち、コアノードに向かう方向に位置するノードである。これは、木構造の経路の親ノードである。例えばスレーブノード56の上りノードは、スレーブノード52である。
下り回線は、ネットワークに構築された経路に沿って、コアノードからスレーブノードに向かう回線である。上りフレームは、上り回線のフレームである。下りフレームは、下り回線のフレームである。下りノードは、隣接ノードのうち、コアノードから遠ざかる方向に位置するノードである。これは、木構造の経路の子ノードである。例えばスレーブノード52の下りノードは、スレーブノード56である。
データフレームは、データを送信するためのフレームである。上りデータフレームは、データを送信するための上りフレームである。下りデータフレームは、データを送信するための下りフレームである。指示フレームは、コアノードがスレーブノードに対して、上り回線と下り回線とアクセス回線を指示するためのものである。ここで、上り回線と下り回線は、基幹回線(バックボーン回線)であって、ノード間で通信するものである。アクセス回線は、ノードと移動端末等との間で通信するものである。本実施例では、各ノードに対してアクセス回線として機能することを指示することができるため、例えばバックボーン回線のための無線通信機器を、アクセス回線のためにも使用することができる。
経路を構築するための経路制御は、例えば、特許文献1や特許第4496336号公報などに記載されていることと同様に、最小伝搬損ルーティングなどにより構築することができる。本願発明は、経路を構築した後のフレーム転送に関するものである。
図2は、図1の(a)コアノード3及び(b)スレーブノード5の構成の一例を示すブロック図である。図2を参照して、コアノード3及びスレーブノード5の構成の一例を説明する。
図2(a)を参照して、コアノード3は、コアノード3の動作の制御を行うCN制御部11と、フレームを記憶するCN通信バッファ13と、他のノードと通信をするCN通信部15を備える。CN通信部15は、品質確保時間を決定するCN品質確保時間決定部17と、付加待機時間を決定する付加待機時間決定部19と、他のノードにフレームを送信するCN送信部21と、他のノードからフレームを受信するCN受信部23を備える。
コアノード3は、複数のレイヤーにより実現されている。CN品質確保時間決定部17は、例えばMAC(レイヤー2のCSMA/CA)の動作で品質確保時間を付与する。CN付加待機時間決定部19は、例えばIPTプロトコルによって2.5レイヤーで付加待機時間を付与する。コアノード3の設計者にとって、品質確保時間はいわば「勝手に」付与されるのに対し、付加待機時間は「意図的に」付与することともいえるものである。
図2(b)を参照して、スレーブノード5は、スレーブノード5の動作の制御を行うSN制御部25と、フレームを記憶するSN通信バッファ27と、他のノードと通信をするSN通信部29を備える。SN通信バッファ27は、SN上りバッファ37と、SN下りバッファ39を備える。SN通信部29は、品質確保時間を決定するSN品質確保時間決定部31と、他のノードにフレームを送信するSN送信部33と、他のノードからフレームを受信するSN受信部35を備える。
スレーブノード5は、コアノード3と同様に複数のレイヤーで実現されている。SN品質確保時間決定部31は、CN品質確保時間決定部17と同様に、例えばMACの動作で品質確保時間を付与する。
図3は、黙示的IPTを利用した場合の図2のコアノード3及びスレーブノード5の動作の一例を示すフロー図である。
図3(a)及び(b)を参照して、図2のコアノード3の動作の一例を説明する。図3(a)を参照して、フレーム送信時の動作の一例を説明する。CN付加待機時間決定部19は、宛先ノードに応じて付加待機時間を計算する(ステップSTCS1)。付加待機時間は、一般的には、ホップ数が増加すれば大きくなる傾向になる。ただし、本願発明では、このような大小関係に限定されない。CN送信部15は、下りフレームを送信するか否かを判断する(ステップSTCS2)。送信するフレームは、CN通信バッファに格納される。送信しないならば、送信するまで待機する。送信するならば、CN品質確保時間決定部17は、品質確保時間を計算する(ステップSTCS3)。品質確保時間は、例えばCSMA/CAで与えられるもののように、複数の通信装置が一斉に送信することを防止するために付与される時間などである。これは、一般に、ランダムな待機時間となる。CN制御部11は、品質確保時間と付加待機時間を併せた送信待機時間が経過したか否かを判断する(ステップSTCS4)。経過していないならば、経過するまで待機する。経過したならば、フレームを送信し(ステップSTCS5)、ステップSTCS2に戻る。
なお、送信待機時間を付加待機時間以上とするには、例えば、得られた品質確保時間が付加待機時間未満であれば再度決定し直し、付加待機時間以上とすることなど、他の処理によって実現してもよい。これにより、少なくとも付加待機時間以上の間隔で、IPTを実現することができる。
一般に、ソースノード(図1のコアノード3など)を具体的に実現する場合に、無線IFにCSMAが入る場合には、自動的に最低限のIPT周期が設定される。しかしながら、これは、隣接ノードの同時通信等を避けるためで、ソースノードから遠方に位置する経路上での干渉を防ぐことはできない。黙示的IPTは、宛先ノードに応じて付加待機時間を付与することにより、ソースノードがCSMAを付与する場合でも、遠方に位置する経路上での干渉を防ぐことができるものである。
図3(b)を参照して、フレーム受信時の動作の一例を説明する。CN受信部23は、他のノードから送信されたフレームを受信する動作を繰り返す(ステップSTCR1)。CN受信部23は、受信処理を常に行う。
図3(c)及び(d)を参照して、図2のスレーブノード5の動作の一例を説明する。図3(b)を参照して、フレーム送信時の動作の一例を説明する。SN送信部29は、下りフレームを送信するか否かを判断する(ステップSTSS1)。送信するフレームは、SN通信バッファに格納される。送信しないならば、送信するまで待機する。送信するならば、SN品質確保時間決定部31は、品質確保時間を計算する(ステップSTSS2)。SN品質確保時間決定部31の動作は、CN品質確保時間決定部17と同様である。SN制御部25は、品質確保時間が経過したか否かを判断する(ステップSTSS3)。経過していないならば、経過するまで待機する。経過したならば、フレームを送信し(ステップSTSS4)、ステップSTSS1に戻る。
なお、スレーブノード5では、品質確保時間決定部17による品質確保時間の決定処理をオフにしてもよい。この場合、図3(c)において、品質確保時間がない場合と同じ処理により実現することができる。
図3(d)を参照して、フレーム受信時の動作の一例を説明する。SN受信部35は、他のノードから送信されたフレームを受信する動作を繰り返す(ステップSTSR1)。SN受信部35は、受信処理を常に行う。
図4、図5及び図6を参照して、黙示的IPTの技術的意義を具体的に説明する。上から下に時間は経過する。リレーノードは、コアノードに対応する。リレーノードは、スレーブノードに対応する。また、リレーノード3とリレーノード1は、干渉到達範囲内にあるとする。そのため、リレーノード3がリレーノード4に送信するタイミングでは、ソースノードからリレーノード1への送信が、電波干渉により失敗するとする。ソースノードから送信された下りデータフレームは、リレーノード1、2及び3を順に経由してリレーノード4に至る。図4は、IPTを使用しない場合の一例を示す。図5は、従来のIPTを単純に使用する場合を示す。図6は、黙示的IPTを使用する場合を示す。
図4を参照して、IPTを適用しない場合の問題を説明する。ソースノードは、リレーノード1にデータフレーム51を送信する。リレーノード1は、データフレーム53を受信する。リレーノード1は、ソースノードにACK55を送信する。ソースノードは、ACK57を受信する。ソースノードは、CSMAプロトコルによりランダムな品質確保時間59で待機する。ソースノードは、品質確保時間経過後に、次のデータフレーム61を送信する。リレーノード1は、CSMAプロトコルによりランダムな品質確保時間65を待機して、リレーノード2にデータフレーム67を転送する。リレーノード2は、品質確保時間を待ってリレーノード3に転送する。リレーノード3がリレーノード4に送信するタイミングでは、ソースノードからリレーノード1への送信は電波干渉により失敗する。品質確保時間は、同時送信を避けるためにランダムに付与されるため、リレーする場合に、電波干渉により送信に失敗する場合がある。
図5を参照して、IPTを適用する場合について説明する。ソースノードでは、固定の送信周期(IPT周期)を与える。ソースノードは、リレーノード1に対してデータフレーム71を送信する。そして、IPT周期の経過後に、次のデータフレーム75を送信する。リレーノード1は、ランダムな品質確保時間77経過後に、リレーノード2に、データフレーム79を転送する。同様に、リレーノード2、3及び4の順に、ランダムな時間経過後にデータフレームを転送する。単純にIPTを適用した場合、リレーノードにおけるCSMA/CAのランダムバックオフのために、長いIPT周期が必要となる。
図6を参照して、黙示的IPTを適用した場合について説明する。ソースノードは、データフレーム81を送信した後、品質確保時間83に加えて、付加待機時間85を経過した後に、次のデータフレーム87を送信する。そして、品質確保時間89と付加待機時間91を経過した後に、次のデータフレーム93を送信する。品質確保時間はランダムに自動的に付与される。それに対し、付加待機時間は、宛先(リレーノード4)ノードに応じて定められるものである。そのため、ランダムバックオフの影響を受けにくく、より効率的なIPTを実現することができる。
このように、黙示的IPTでは、CSMAプロトコルを用いているシステムでも、その機能が存在した状態でIPTを実現することができる。そのため、一般的なCSMA/CA等を採用している無線機器のソフトウエア等を変更するだけで、IPTを実現することが可能になる。
続いて、図7〜11を参照して、指示フレームを用いた時分割法について説明する。図7は、図2のコアノード3及びスレーブノード5の動作の一例を示すフロー図である。図7を参照して、コアノード3及びスレーブノード5の動作の一例を説明する。
図7(a)及び(b)を参照して、コアノード3の動作の一例を説明する。図7(a)は、コアノード3の受信時の動作である。CN受信部23は、下りスレーブノードから上りデータフレームを受信する(ステップSTTCR1)。CN受信部23は、常にデータフレームを受信する。
図7(b)は、コアノード3の送信時の動作である。CN制御部11は、下り回線を指定しているか否かを判断する(ステップSTTCS1)。指定していないならば、下りデータフレームを送信せずにステップSTTCS3に進む。下り回線を指定しているならば、下りデータフレームを送信し(ステップSTTCS2)、ステップSTTCS3に進む。ステップSTTCS3において、指示フレームを送信するか否かを判断する。指示フレームを送信するならば、スレーブノード5に対して指示フレームを送信し(ステップSTTCS4)、ステップSTTCS1に戻る。指示フレームを送信しないならば、ステップSTTCS1に戻る。
指示フレームは、下り回線を指定する下り方向指示フレームと、上り回線を指定する上り方向指示フレームと、アクセス回線を指定するアクセス回線指示フレームがある。コアノード3は、適応的に上り回線と下り回線とアクセス回線の時間配分を調整する。例えば、上下回線の調整は、以下のように行う。初期状態では、例えば、上下回線の配分を1:1とする。そして、トラフィック量及び/又はバッファ量に応じて、上下回線の比率配分を変更する。トラフィック量は、例えば上下回線の回線占有利率で測る。バッファ量は、例えば上下回線のデータフレームのバッファ量で測る。また、アクセス回線と上下回線の時間配分は、上下回線でのトラフィック量及び/又はバッファ量によりデータ量を把握して、時間配分を調整する。
図7(c)及び(d)を参照して、スレーブノード5の動作の一例を説明する。図7(a)は、スレーブノード5の受信時の動作である。SN受信部35は、隣接ノードから上りデータフレーム及び下りデータフレーム並びに指示フレームを受信する(ステップSTTSR1)。受信したフレームを転送する場合には、SN通信バッファ27に格納する。SN受信部35は、常にデータフレーム及び指示フレームを受信する。
図7(d)は、スレーブノード5の送信時の動作である。SN制御部25は、指示フレームを受信したか否かを判断する(ステップSTTSS1)。指示フレームを受信していないならば、ステップSTTSS5に進む。指示フレームを受信した場合、指示フレームにより指定された動作を行うように設定し(ステップSTTSS2)、ステップSTTSS3に進む。下り方向指示フレームを受信したならば、下りデータフレームを送信して上りデータフレームはSN通信バッファ27に格納して送信しない。上り方向指示フレームを受信したならば、上りデータフレームを送信して下りデータフレームはSN通信バッファ27に格納して送信しない。アクセス回線指示フレームを受信したならば、ノード間の通信を行わずに、図示を省略する通信機器(例えば、スマートフォンなど)と通信を行う。これにより、スレーブノード5は、アクセスポイントとして機能することができる。これにより、3つに時分割し、それぞれ、上り回線、下り回線、アクセス回線を切り替え、仮に1つの無線モジュールであっても、アクセス回線と中継回線を混在させて無線モジュールの有効活用を行うことができる。
ステップSTTSS3において、SN制御部25は、当該スレーブノード5が内部か否かを判断する。内部でない(すなわち葉である)ならば、ステップSTTSS6に進む。内部であるならば、指示フレームを転送し(ステップSTTSS4)、ステップSTTSS5に進む。
ステップSTTSS5において、下り回線が指示されているか否かを判断する。下り回線が指示されているならば、SN送信部33は、下りデータフレームを送信し、上りデータフレームをSN通信バッファ23にバッファして送信せずに(ステップSTTSS6)、ステップSTTSS1に戻る。下り回線が指示されていないならば、上り回線が指示されているか否かを判断する(ステップSTTSS7)。上り回線が指示されているならば、送信部33は、上りデータフレームを送信し、下りデータフレームをSN通信バッファ23にバッファして送信せずに(ステップSTTSS8)、ステップSTSS1に戻る。上り回線が指示されていないならば、アクセス回線が指示されているか否かを判断する(ステップSTTSS9)。アクセス回線が指示されていないならば、ステップSTTSS1に戻る。アクセス回線が指示されているならば、SN通信部29は、スマートフォンなどの通信装置と通信を行い(ステップSTTSS10)、ステップSTTSS1に戻る。
図8は、図1のネットワークシステム1における動作の一例を示す図である。(a)ネットワーク全体として下り回線が指定されている。(b)コアノード3は、上り回線を指定するために、スレーブノード51及び52に上り方向指示フレームを送信する。(c)上り方向指示フレームを受信したスレーブノード51及び52は、上り回線が指示された状態となる。スレーブノード51及び52は、上り方向指示フレームを転送する。(d)ネットワーク全体として、上り回線が指定された状態となる。
図9〜11を参照して、隣接ノードでの動作について具体的に説明する。スレーブノード33の親ノードとしてスレーブノード31があり、子ノードとしてスレーブノード351及び352がある。図9は、下り回線が指定されている状態から上り回線が指定されている状態へと変更する場合を示す。図10は、上り回線が指定されている状態から下り回線が指定されている状態へと変更する場合を示す。図11は、下り回線が指定されている状態からアクセス回線が指定されている状態へと変更する場合を示す。
図9を参照して、(a)全体として下り回線が指定されている。(b)スレーブノード31は、上り方向指示フレームを受信して上り回線が指定された状態となり、スレーブノード33に上り方向指示フレームを転送する。(c)スレーブノード33は、上り回線が指定された状態となり、スレーブノード351及び352に上り方向指示フレームを転送する。(d)全体として上り回線が指定された状態となる。
図10を参照して、(a)全体として上り回線が指定されている。(b)スレーブノード31は、下り方向指示フレームを受信して下り回線が指定された状態となる。(c)指示フレームを転送する。(d)スレーブノード33は、下り回線が指定された状態となり、指示フレームをスレーブノード351及び352に送信する。(e)スレーブノード352は、指示フレームを受信し、下り回線が指定された状態となる。(f)スレーブノード351も指示フレームを受信し、下り回線が指定された状態となる。これにより、全体として下り回線が指定されている。
図11を参照して、(a)全体として下り回線が指定されている。(b)スレーブノード31は、アクセス回線指示フレームを受信してアクセス回線が指定された状態となり、スレーブノード33にアクセス回線指示フレームを転送する。(c)スレーブノード33は、アクセス回線が指定された状態となり、スレーブノード351及び352にアクセス回線指示フレームを転送する。(d)全体としてアクセス回線が指定された状態となる。
なお、この実施例では、指示フレームにアクセス回線指示フレームを含めた例を説明したが、上下回線の指定のみでもよい。
続いて、図12を参照して、ポーリングフレームを利用した実施例について説明する。図12(a)は、ポーリングフレームの一例を示す。ポーリングフレームは、データフレームと上りDFフラグを含む。上りDFフラグは、立った状態が上りデータフレーム、立っていない状態が下りデータフレームである。上りポーリングフレームは、上りデータフレームを含むポーリングフレームである。下りポーリングフレームは、下りデータフレームを含むポーリングフレームである。ポーリングフレームは、マルチキャストフレームで、あるノードが送信したフレームは、上り方向のノードも下り方向のノードも、いずれもが同時に受信できる。
図12(b)は、コアノード3がポーリングフレームを送信する動作の一例を示すフロー図である。CN通信部15は、下りノードに対して、ポーリングフレームを送信する(ステップSTPCS1)。このとき、図3(a)と同様に品質確保時間を確保しても、例えば従来のIPTのように間欠送信周期によって送信してもよい。図12(c)は、コアノード3がポーリングフレームを受信する動作の一例を示すフロー図である。CN通信部15は、下りノードからポーリングフレームを受信したかを判断する(ステップSTPCR1)。受信していないなら、受信するまで待つ。受信したならば、上りデータフレームを含んでいれば、インターネット回線へ向けて転送し(ステップSTPCR2)、ステップSTPCR1に戻る。
図12(d)は、ポーリング制御時のスレーブノード5におけるポーリングフレームの送受信処理を示すフロー図である。各スレーブノード5は、上りデータフレームを上りバッファ37に格納し、下りデータフレームを下りバッファ39に格納する。これらのデータフレームは、例えば、スレーブノード5がアクセスポイントとして機能しているときに、スマートフォン等の機器から受信したものや、他のノードから受信したものである。スレーブノード5は、上りノードからポーリングフレームを受信したか否かを判断する(ステップSTPS1)。受信していないならば、ステップSTPS5に進む。受信したならば、ポーリングフレームに含まれる上りデータフレーム又は下りデータフレームを、それぞれ、上りバッファ37又は下りバッファ39に格納する(ステップSTPS2)。そして、受信したポーリングフレームに含まれるフラグの状態により、上りバッファ37又は下りバッファ39にそれぞれ格納されている上りデータフレーム又は下りデータフレームを送信準備状態にする(ステップSTPS3)。例えば上りDFフラグが立った状態ならば上りデータフレームを送信準備状態とし、上りDFフラグが立っていない状態であれば下りデータフレームを送信準備状態とする。そして、送信状態にあるデータフレームとフラグを含む新たなポーリングフレームを生成し、当該ポーリングフレームを上下方向に接続する複数のノードが受信できるようにして送信する(ステップSTPS4)。新たなポーリングフレームに含まれるフラグは、例えば受信した上りDFフラグのままとしてもよく、変更してもよい。そして、ステップSTPS1に戻る。ステップSTPS1において受信していない場合、ステップSTPS5において、下りノードからポーリングフレームを受信したか否かを判断する。下りノードから受信していない場合、ステップSTPS1に戻る。下りノードから受信している場合、データフレームをバッファリングする(ステップSTPS6)。例えば上りデータフレームが含まれているならば、上りバッファへ格納する。そしてステップSTPS1に戻る。