説明

通信システム、端末装置、その制御方法、ならびに、プログラム

【課題】アドホックに形成される通信効率の良い通信ネットワークを構成する通信システム等を提供する。
【解決手段】各クラスタ101には複数の端末装置121が含まれ、各クラスタ101には、上位ノードの端末装置121としてヘッドノードHもしくはゲートウェイノードGが1つ含まれ、その他の端末装置121はすべて下位ノードであり、端末装置121は木構造をなし、クラスタ101の上位ノードは、クラスタ101内の通信に利用可能な総チャネルのうち実際に利用するチャネル数を管理し、下位ノードは、通信の状態や電源残量などに応じて、適宜ほかのクラスタ101の上位ノードをセンスして、上位ノードの木構造における位置、通信流量、通信成功率の目標値に基づいて、上位ノードを切り替えた場合のチャネル数を推定し、他の上位ノードが望ましい場合には、上位ノードを切り替える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アドホックに形成される通信効率の良い通信ネットワークを構成するのに好適な通信システム、端末装置、その制御方法、ならびに、これらをコンピュータにより実現するためのプログラムに関する。
【背景技術】
【0002】
従来から、無線通信機器がアドホックに通信ネットワークを動的形成する技術が利用されている。
【0003】
このような技術には、通信ネットワークに参加する複数の機器のうち1台が上位ノードとなり、その他の機器が下位ノードとなって、上位ノードが下位ノードを管理することにより動的に木構造の通信ネットワークを形成するものがある。たとえば、Bluetooth(商標)などで利用されるピコネット(Piconet)では、このような動的な端末管理が行われている。
【0004】
このような通信技術においては、通信の成功率に基づいて、ある周期内において通信を行う時間帯の時間長を調整し、消費電力を適切に調整して、効率良くアドホックな通信ネットワークを形成する技術が提案されている(特許文献1参照)。
【0005】
すなわち、時分割通信を前提として、時分割通信では、通信に利用可能なすべての時間チャネル(上記の「周期」に相当。)のうち、所定の時間チャネル(上記の「通信を行う時間帯」に相当。)を利用して、データを伝送する通信を行うことになる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−141726号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで、どの程度のチャネル数を通信に割り当てるかは、所望の通信品質を確保しつつ消費電力を調整する上で、重要である。一方で、木構造のいずれのノードにおいても、同程度の通信成功率の目標を達成できるようにしたい、という要望もある。この際には、各ノードによる通信流量(単位時間あたりの通信量。時分割通信の場合には、各周期において、通信を実際に行った時間チャネルの平均数に相当する。)や、各ノードの木構造内における位置を考慮する必要がある。
【0008】
本発明は、上記のような課題を解決するためのもので、アドホックに形成される通信効率の良い通信ネットワークを構成するのに好適な通信システム、端末装置、その制御方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の目的を達成するため、本発明の原理にしたがい、以下の発明を開示する。
【0010】
本発明の第1の観点に係る通信システムは、複数の端末装置のそれぞれが、1つまたは2つのクラスタに含まれるノードとして機能することにより、他の端末装置と通信する通信システムであり、以下のように構成する。
【0011】
すなわち、クラスタは、1つの上位ノードと、それ以外の下位ノードと、からなる。
【0012】
一方、端末装置のそれぞれは、
(1)1つのクラスタに含まれ、当該クラスタの上位ノードとして機能するヘッドノード、
(2)1つのクラスタに含まれ、当該クラスタの下位ノードとして機能するノーマルノード、
(3)2つのクラスタに含まれ、一方のクラスタでは下位ノードとして機能し、他方のクラスタでは上位ノードとして機能するゲートウェイノード
のいずれかとして機能することにより、当該ヘッドノードを根ノード、当該ノーマルノードを葉ノード、当該ゲートウェイノードを内部ノードとする木構造を形成する。
【0013】
さらに、端末装置のそれぞれは、決定部、時刻設定部、センス部、送信部、受信部、スキャン部、ノード設定部を備える。
【0014】
ここで、決定部は、当該端末装置が上位ノードである場合、
(1)当該端末装置と、当該端末装置が上位ノードであるクラスタに含まれる下位ノードである端末装置と、の、通信流量と、
(2)木構造の根ノードから当該端末装置までのホップ距離と、
(3)当該木構造に対して設定されている通信成功率の目標値と、
に基づいて、キャリアセンスを行うべきセンス周期と、当該センス周期内において通信を行うチャネル数と、を決定する。
【0015】
一方、時刻設定部は、当該端末装置が
(1)ヘッドノードである場合、決定されたセンス周期に基づいて、次にキャリアセンスを行うべきセンス時刻を定め、当該時刻と決定されたチャネル数とを、端末装置がヘッドノードとして含まれるクラスタに含まれるすべてのノードに設定し、
(2)ゲートウェイノードである場合、端末装置が下位ノードとして含まれるクラスタに設定されているセンス時刻と重ならないように、決定されたセンス周期に基づいて、次にキャリアセンスを行うべきセンス時刻を定め、当該時刻と決定されたチャネル数とを、端末装置が上位ノードとして含まれるクラスタに含まれるすべてのノードに設定する。
【0016】
さらに、センス部は、端末装置が含まれる1つまたは2つのクラスタに対して設定されているセンス時刻にキャリアセンスを行う。
【0017】
そして、送信部は、センス時刻から設定されているチャネル数のチャネルを介して、他のノードへデータを送信する。
【0018】
一方、受信部は、センス時刻から設定されているチャネル数のチャネルを介して、他のノードからのデータを受信する。
【0019】
さらに、スキャン部は、当該端末装置が下位ノードである場合、上位ノードを切り替えるためのスキャンを行うか否かを決定し、切り替えのためのスキャンを行うことが決定された場合、他の端末装置をスキャンする。
【0020】
そして、ノード設定部は、切り替えのためのスキャンの結果、複数の上位ノードが発見された場合、当該発見された上位ノードのそれぞれにおいて決定されるチャネル数を推定し、当該推定されたチャネル数に基づいていずれかの上位ノードを選択し、端末装置の上位ノードを、選択された上位ノードに設定し直す。
【0021】
また、本発明の通信システムは、以下のように構成することができる。
【0022】
すなわち、送信部は、
(1)当該端末装置と、当該端末装置が上位ノードであるクラスタに含まれる下位ノードである端末装置と、の、通信流量vと、
(2)木構造の根ノードから当該端末装置までのホップ距離hと、
を、センス時刻に送信することにより、キャリアセンスならびにスキャンを行っている他の端末装置に通知する。
【0023】
一方、切り替えのためのスキャンの結果、複数の上位ノードが発見された場合、ノード設定部は、当該複数発見された上位ノードのそれぞれについて、当該スキャンの結果得られた通信流量vならびにホップ距離hおよび当該端末装置による通信流量wから、当該上位ノードを端末装置の上位ノードに設定し直すと仮定した場合の、当該複数存在する上位ノードのそれぞれにおいて決定されるチャネル数を推定し、当該推定されたチャネル数が最小となる上位ノードを選択する。
【0024】
また、本発明の通信システムは、以下のように構成することができる。
【0025】
すなわち、関数Fがあらかじめ定められ、当該関数Fを、通信流量Vと、通信成功率Sと、に適用することにより、チャネル数Nが N = F(V,S) により求められる。
【0026】
一方、決定部は、当該端末装置の通信流量vならびに前記根ノードからのホップ距離hからチャネル数nを n = F(v,s1/h) により決定する。
【0027】
さらに、ノード設定部は、
(1)当該複数発見された上位ノードのうち、現在当該端末装置の上位ノードでないノードのそれぞれについて、当該スキャンの結果得られた通信流量vならびにホップ距離hおよび当該端末装置による通信流量wから、当該ノードに対して推定されるチャネル数nを n = F(v+w,s1/h) により求め、
(2)当該複数発見された上位ノードのうち、現在当該端末装置の上位ノードであるノードに対して推定されるチャネル数nを
(2a)当該スキャンの結果得られた通信流量vならびにホップ距離hから n = F(v,s1/h) により求め、もしくは、
(2b)当該端末装置に対して設定されているチャネル数とする。
【0028】
また、本発明の通信システムは、以下のように構成することができる。
【0029】
すなわち、センス周期は複数の端末装置において共通するように定められた定数であり、
【0030】
一方、チャネルは、時間チャネルである。
【0031】
さらに、送信部は、センス時刻から設定されているチャネル数に対する時間を経過するまでの間に、他のノードへのデータの送信を開始する。
【0032】
そして、受信部は、センス時刻から設定されているチャネル数に対する時間を経過するまでの間に、他のノードからのデータの受信を開始する。
【0033】
また、本発明の通信システムにおいて、複数の端末装置のそれぞれは、キャリアセンスを行わず、送信を行わず、受信を行わない間、電力消費を抑制する抑制部をさらに備えるように構成することができる。
【0034】
また、本発明の通信システムは、以下のように構成することができる。
【0035】
すなわち、スキャン部は、端末装置が木構造に参加しようとする場合に、他の端末装置をスキャンする。
【0036】
一方、ノード設定部は、参加のためのスキャンの結果、
(1)他の端末装置が発見できなかった場合、端末装置をヘッドノードに設定し、
(2)1つ又は複数の上位ノードが発見された場合、当該発見された上位ノードのうち、当該上位ノードに対して推定されるチャネル数が最小の上位ノードを選択し、端末装置を、選択された上位ノードの下位ノードに設定し、
(3)1つ又は複数のノーマルノードが発見された場合、当該発見されたノーマルノードからいずれかを選択し、選択されたノーマルノードをゲートウェイノードに設定し、端末装置を、当該ゲートウェイノードを上位ノードとするクラスタの下位ノードに設定する。
【0037】
また、本発明の通信システムにおいて、参加のためのスキャンの結果、複数の上位ノードが発見され、発見された上位ノードのうち、当該上位ノードに対して推定されたチャネル数が最小の上位ノードが複数存在する場合、ノード設定部は、当該推定されたチャネル数が最小の上位ノードのうち、木構造における根ノードに最も近いものを選択するように構成することができる。
【0038】
また、本発明の通信システムにおいて、複数の端末装置のそれぞれにおいて、スキャン部は、当該端末装置に設定されているチャネル数が、当該端末装置の電源残量にあらかじめ対応付けられる閾値を超える場合、当該切り替えのためのスキャンを行うことを決定するように構成することができる。
【0039】
また、本発明の通信システムにおいて、決定部ならびにノード設定部は、木構造の根ノードから当該端末装置までのホップ距離にかえて、当該木構造の最大ホップ数、当該端末装置の通信先との平均ホップ数、もしくは、当該木構造における通信の平均ホップ数、または、これらのいずれか少なくとも一つに所定の演算を施した結果を用いるように構成することができる。
【0040】
本発明の第2の観点に係る端末装置は、上記の通信システムにおける端末装置である。
【0041】
本発明の第3の観点にかかる制御方法は、複数の端末装置のそれぞれが、1つまたは2つのクラスタに含まれるノードとして機能することにより、他の端末装置と通信する通信システムにおける端末装置を制御する。
【0042】
ここで、クラスタは、1つの上位ノードと、それ以外の下位ノードと、からなる。
【0043】
一方、端末装置のそれぞれは、
(1)1つのクラスタに含まれ、当該クラスタの上位ノードとして機能するヘッドノード、
(2)1つのクラスタに含まれ、当該クラスタの下位ノードとして機能するノーマルノード、
(3)2つのクラスタに含まれ、一方のクラスタでは下位ノードとして機能し、他方のクラスタでは上位ノードとして機能するゲートウェイノード
のいずれかとして機能することにより、当該ヘッドノードを根ノード、当該ノーマルノードを葉ノード、当該ゲートウェイノードを内部ノードとする木構造を形成する。
【0044】
さらに、端末装置のそれぞれにおいて、制御方法は、決定工程、時刻設定工程、センス工程、送信工程、受信工程、スキャン工程、ノード設定工程を備える。
【0045】
ここで、決定工程では、当該端末装置が上位ノードである場合、
(1)当該端末装置と、当該端末装置が上位ノードであるクラスタに含まれる下位ノードである端末装置と、の、通信流量と、
(2)木構造の根ノードから当該端末装置までのホップ距離と、
(3)当該木構造に対して設定されている通信成功率の目標値と、
に基づいて、キャリアセンスを行うべきセンス周期と、当該センス周期内において通信を行うチャネル数と、を決定する。
【0046】
一方、時刻設定工程では、当該端末装置が
(1)ヘッドノードである場合、決定されたセンス周期に基づいて、次にキャリアセンスを行うべきセンス時刻を定め、当該時刻と決定されたチャネル数とを、端末装置がヘッドノードとして含まれるクラスタに含まれるすべてのノードに設定し、
(2)ゲートウェイノードである場合、端末装置が下位ノードとして含まれるクラスタに設定されているセンス時刻と重ならないように、決定されたセンス周期に基づいて、次にキャリアセンスを行うべきセンス時刻を定め、当該時刻と決定されたチャネル数とを、端末装置が上位ノードとして含まれるクラスタに含まれるすべてのノードに設定する。
【0047】
さらに、センス工程では、端末装置が含まれる1つまたは2つのクラスタに対して設定されているセンス時刻にキャリアセンスを行う。
【0048】
そして、送信工程では、センス時刻から設定されているチャネル数のチャネルを介して、他のノードへデータを送信する。
【0049】
一方、受信工程では、センス時刻から設定されているチャネル数のチャネルを介して、他のノードからのデータを受信する。
【0050】
さらに、スキャン工程では、当該端末装置が下位ノードである場合、上位ノードを切り替えるためのスキャンを行うか否かを決定し、切り替えのためのスキャンを行うことが決定された場合、他の端末装置をスキャンする。
【0051】
そして、ノード設定工程では、切り替えのためのスキャンの結果、複数の上位ノードが発見された場合、当該発見された上位ノードのそれぞれにおいて決定されるチャネル数を推定し、当該推定されたチャネル数に基づいていずれかの上位ノードを選択し、端末装置の上位ノードを、選択された上位ノードに設定し直す。
【0052】
本発明のその他の観点に係るプログラムは、ソフトウェアラジオや無線通信が可能なコンピュータ(DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等の通信機能を有するコンピュータ。)を、上記の端末装置の各部として機能させるように構成する。
【0053】
当該プログラムは、コンピュータ読取可能な情報記録媒体(コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、または、半導体メモリを含む。)に記録することができる。
【0054】
そして、上記の情報記録媒体は、コンピュータとは独立して配布、販売することができるほか、インターネット等のコンピュータ通信網を介して上記のプログラムそのものを配布、販売することができる。
【発明の効果】
【0055】
本発明によれば、アドホックに形成される通信効率の良い通信ネットワークを構成するのに好適な通信システム、端末装置、その制御方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【図面の簡単な説明】
【0056】
【図1】本実施形態における1つのクラスタと複数の端末装置の関係を示す説明図である。
【図2】複数のクラスタをゲートウェイが連結する様子を示す説明図である。
【図3】本実施形態に係る端末装置の概要構成を示す説明図である。
【図4】複数の端末装置の動作を示す説明図である。
【図5】端末装置における状態遷移図である。
【図6】Scan手続の流れを示す説明図である。
【図7】Associate手続の流れを示す説明図である。
【図8】Stream手続の流れを示す説明図である。
【図9】Change手続の流れを示す説明図である。
【図10】Synchronize手続の流れを示す説明図である。
【図11】Disassociate手続の流れを示す説明図である。
【図12】Stop手続の流れを示す説明図である。
【図13】通信流量Vの逆数に比例する入力フレーム平均間隔(Average interval of input frames)、通信成功率Sに相当するフレーム成功率(Frame success rate)、チャネル数nに比例するアクティブ区間比率(APR;Active Period Ratio)の関係を示すグラフである。
【図14】ヘッドノードとゲートウェイノードが割り当てるHearing intervalとHearing periodの様子を示す説明図である。
【図15】本実施形態によって通信を行った場合と、ホップ距離を考慮しない手法によって通信を行った場合との平均フレーム成功率を比較するグラフである。
【発明を実施するための形態】
【0057】
以下に本発明の実施形態を説明する。なお、以下にあげる実施形態は、説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であれば、これらの各要素または全要素を、これと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も、本発明の範囲に含まれる。
【0058】
なお、本願の図面では、理解を容易にするため、適宜符号を省略することがある。
【実施例1】
【0059】
図1は、本実施形態における1つのクラスタと複数の端末装置の関係を示す説明図である。以下、本図を参照して説明する。
【0060】
本図に示すように、1つのクラスタ101は、複数の端末装置121によって構成される。端末装置121には、上位ノード(本図では「P」と表記している。)と下位ノード(本図では「C」と表記している。)の2種類があり、1つのクラスタ101には、上位ノードPが必ず1個だけ含まれ、残りはすべて下位ノードCとなる。
【0061】
本図に示す状態は、いわゆるスター結合に相当するもので、クラスタ101内の上位ノードPが下位ノードCに対して、各種の設定を行う。
【0062】
このクラスタ101を、いわゆるピコネット構造に適用した場合には、ピコネットコーディネータ(PNC)が上位ノードPに、デバイス(DEV)が下位ノードCに、それぞれ相当する。
【0063】
本実施形態では、一定の周期で、下位ノードCがセンスできるようなキャリア(ビーコン)を、上位ノードPが送信する。このセンス周期を「Hearing interval」と呼ぶ。Hearing intervalは、ビーコン信号が送信される周期に相当する。
【0064】
一方、下位ノードCは、キャリアのセンスを試行してから一定の通信時間長の間に通信を開始する。上位ノードPは、センスできるキャリアを送信してから、当該一定の通信時間長の間に通信を開始する。この通信時間長を「Hearing period」と呼ぶ。各ノードは、センス周期内の残りの時間帯においては、通信を停止することによって、消費電力の抑制を図る。
【0065】
また、Hearing periodは、アクティブな通信が開始される区間でもあるので、「アクティブ区間」と呼ばれることもある。また、時分割通信における各区間を時間チャネルとして捉える場合には、Hearing periodを「主チャネル」と呼び、それ以外の時間チャネルを「副チャネル」と呼ぶこともある。
【0066】
本実施形態では、アクティブ区間である主チャネルの先頭でビーコンの送受が行われ、主チャネルの残りではデータ通信が行われ、非アクティブ区間である副チャネルでは極力通信を行わない(主チャネルで開始された通信が副チャネルにまで及ぶことはありうる)ことによって、電力消費の抑制を図る。
【0067】
ひとつのHearing periodの中では、各ノードが、TDMA(Time Division Multiple Access)、CSMA(Carrier Sense Multiple Access)、CDMA(Code Division Multiple Access)などの通信手法により、通信を行う。
【0068】
典型的には、Hearing intervalは定数、Hearing periodは上位ノードPによって下位ノードCに対して設定される変数であり、上位ノードPは、同期信号のほか、これらの設定情報を送信して、下位ノードCは、キャリアセンスの際に、これらの設定情報を受信し、値を共有するように構成するのが典型的である。
【0069】
ある時点でキャリアセンスをして一旦同期がとれれば、次にキャリアセンスを行うべき時刻は、同期がとれた時点からHearing intervalだけ経過した後の時刻である。
【0070】
なお、センス周期からHearing periodを減算した結果を、Hearing intervalと定義する流儀もある。ただし一般には、Hearing intervalは、Hearing periodに対して十分に長いので、上記のいずれの定義を採用しても、大きな差はない。
【0071】
上記のように、上位ノードPが、キャリアセンス用の信号とともに制御信号を周期的に送信する場合には、Hearing intervalは、このセンス周期と一致するが、一旦通信時間割がクラスタ101内で共有された後は、キャリアセンスのセンス周期がクラスタ101内で共有された後は、必ずしも、同期用の制御信号を周期的に送信する必要はない。たとえば、各種の設定情報が変更された場合にのみ、上位ノードPから、キャリアセンスセンス周期に合わせて制御信号を送信する、という手法を採用しても良い。
【0072】
また、本実施形態では、制御信号に、以下のような情報を含めるものとする。
(1)当該上位ノードPが、木構造においてヘッドノードHからどれだけ離れているかを表す段数(ホップ数)。すなわち、ヘッドノードHと上位ノードPとのホップ距離h。
(2)当該上位ノードPに係る現在当該クラスタ101に属しているノードによる通信流量v(単位時間あたりの通信量)。典型的には、ビーコン信号送信周期内においてどれだけのチャネルが実際にデータ通信に利用されたか、の減衰平均等を用いる。
【0073】
このほか、通信のエラー率などの情報を含めることとしても良い。
【0074】
いずれの場合であっても、上位ノードPおよび下位ノードCは、Hearing interval内のHearing periodにおいてキャリアセンスを行う。
【0075】
各下位ノードCは、定期的に上位ノードPが送信する(可能性がある)設定信号のキャリアセンスを定期的に行うことで、クラスタ101における各種設定が変更されていないかを確認する。
【0076】
なお、上位ノードPが周期的に制御信号を送信しない態様では、このクラスタ101が現在も存続していることを確認するためには、上位ノードPがキャリアセンスを行う時間帯に、制御信号を送るよう、下位ノードCから依頼する信号を送信すれば良い。
【0077】
このような構成を採用することで、各端末装置121は、自身が信号を送信する必要がなく、自身が信号を受信する必要もない時間帯を把握することができる。
【0078】
このように、ある時刻からある時刻までは通信を行う必要があり、ある時刻からある時刻までは通信を行う必要がない、という設定情報を、以下「時間割」と呼ぶ。上記のように、1つのクラスタにおいて共有される時間割は、上位ノードPにおいて決定され、下位ノードCに設定される。これによって、上位ノードPと下位ノードCで、同じ時間割が利用されることになる。
【0079】
本実施形態では、送受の必要がない時間帯には、端末装置121が自律的に省電力モードに移行することとし、キャリアセンスをするときや、自身が受信する時間帯となったとき、自身が送信する時間帯となったときには、通常電力モードに復帰することとする。このようにして、各端末装置121の電力消費を抑制し、運用可能時間を長くすることとする。
【0080】
本願に係る技術は、このようなスター形のネットワークを組み合わせて、複数のクラスタを木構造状に連結する態様に適用される。
【0081】
図2は、複数のクラスタ101をゲートウェイが連結する様子を示す説明図である。以下、本図を参照して説明する。
【0082】
本図に示すように、複数のクラスタ101のそれぞれには、複数の端末装置121が含まれているが、中には、2つのクラスタ101に属する端末装置121が存在する。
【0083】
このように、2つのクラスタ101に属する端末装置121は、ゲートウェイノードと呼ばれ、本図では、記号Gで示している。
【0084】
ゲートウェイノードGが属するクラスタ101は2つであるが、一方のクラスタでは、ゲートウェイノードGは図1における下位ノードCに相当し、他方のクラスタでは、ゲートウェイノードGは図1における上位ノードPに相当する。
【0085】
一方、1つのクラスタ101に属する端末装置121であって、そのクラスタ101において上位ノードPとして機能するものは、ヘッドノードと呼ばれ、本図では、記号Hで示している。
【0086】
それ以外の端末装置121は、1つのクラスタ101に属し、そのクラスタ101において下位ノードCとして機能する。このような端末装置121は、ノーマルノードと呼ばれ、本図では、記号Nで示している。
【0087】
このような構成では、ヘッドノードHやゲートウェイノードGを介して、全端末装置121がツリー状に連結される。
【0088】
ここで、ヘッドノードは、木構造でいう「根」に相当する。ノーマルノードは、木構造でいう「葉」に相当する。ゲートウェイノードは、木構造でいう「中間ノード」に相当する。
【0089】
したがって、各端末装置121の間の通信は、このツリーをたどることによって可能となる。
【0090】
たとえば、すべてのノードから送信される情報をヘッドノードに集約する際には、木構造の葉から根に向かって、適宜中間ノードを経由して伝送を行えば良いし、ヘッドノードから各ノードに対して情報を伝達する際には、木構造の根から葉に向かって、適宜中間ノードを経由して伝送を行うことになる。
【0091】
ここで、上記のように、あるクラスタ101における上位ノードPは、そのクラスタ101における時間割を管理する。
【0092】
ゲートウェイノードGは、他のゲートウェイノードGもしくはヘッドノードHから、自身が下位ノードCとして参加するクラスタ101の時間割を設定される。
【0093】
一方、ゲートウェイノードGは、自身が上位ノードPとして参加するクラスタ101の時間割を自身で設定する。
【0094】
そこで、ゲートウェイノードGは、2つの時間割ができるだけ重ならないように、特に、両者のキャリアセンスを行うべき時刻が重ならないように設定するのが好適である。このように構成した場合には、1つのゲートウェイノードGを介して2つのクラスタ101が近接したとしても、互いに通信が干渉し合わないようにすることもできる。
【0095】
なお、実用的には、ゲートウェイノードGが、その上位ノードとは独立に時間割を設定するだけで十分である。この場合、両者のキャリアスキャンの時刻が偶然重なってしまうこともありうる。
【0096】
なお、本図に示されるヘッドノードHとゲートウェイノードGとのホップ距離は、1もしくは2であり、ヘッドノードHとノーマルノードNとのホップ距離は、1乃至3である。すなわち、木構造に沿ってあるノードから他のノードへたどったときの枝の本数が、両者のホップ距離に相当する。
【0097】
図3は、本実施形態に係る端末装置121の概要構成を示す説明図である。以下、本図を参照して説明する。
【0098】
端末装置121は、スキャン部201、ノード設定部202、送信部203、受信部204、センス部205、抑制部206、時刻設定部207、中継部208を備える。このほか、チャネル数かセンス周期を決定して時刻設定部207に与える決定部(図示せず。決定部は、時刻設定部207と一体に構成することもできる。)を、備えることとしても良い。
【0099】
典型的には、端末装置121は、ソフトウェアラジオや通信機能を有するコンピュータ等により実現され、CPU(Central Processing Unit)や各種電子回路が通信回路、通信機器を制御することによって実現される。
【0100】
さて、スキャン部201は、電源投入時等、いずれかのクラスタに参加しようとする場合に、受信部204を連続して駆動して、他の端末装置121が存在するか否かを調べる。
【0101】
すでにクラスタ101が形成されていれば、そのクラスタ101の上位ノードPからキャリアセンス用の制御信号がビーコンとして放送されているはずであるから、これを検知することとなる。
【0102】
このほか、スキャン部201は、Hearing periodに対するHearing intervalがある閾値(定数、あるいは、端末装置121の電源残量に対して定められる値)を超える場合や、通信の成功率が目標とする成功率に対して大幅に低くなった場合等、上位ノードPを切り替える必要があると判断した場合にも、受信部204を連続して駆動して、他の上位ノードPが存在するか否かを調べる。
【0103】
なお、ツリー形のネットワークを形成できるようにするためには、下位ノードCであっても、自身の存在を放送する制御信号を送信することとするのが典型的である。
【0104】
当該下位ノードCがゲートウェイノードGでもある場合には、自身が上位ノードPとして機能する際に、クラスタ101に属する下位ノードCにセンスされるための制御信号を、Hearing periodで送信する。ゲートウェイノードGが属する2つのクラスタ101における時間割は、上記のように重複しないので、スキャンの際にも、ノードの区別が容易となる。
【0105】
当該下位ノードCがノーマルノードNである場合には、上記のような制御信号の送信は行わないが、ノーマルノードNが通信を行う際に、他のノードがスキャン可能なように、自身の情報を含む信号を送出するようにする。たとえば、TDMAの場合には、自身に割り当てられたスロットの先頭で必ずこの情報を送信することとすれば良いし、CSMAの場合には、スロットを確保するためのこの情報を送信することとなる。そこで、これらの情報をスキャンするのである。
【0106】
Hearing intervalが定数である構成においては、スキャン部201によるスキャンは、Hearing intervalの時間長だけ行うことによって、通信可能なすべてのノードをスキャンすることが可能となる。Hearing intervalが変化するような態様では、ある程度の合理的な時間長だけスキャンを行うこととすれば良い。
【0107】
このスキャン結果に基づいて、ノード設定部202は、
(1)他の端末装置121が発見できなければ、自身をヘッドノードHに設定し、
(2)発見できた他の端末装置121がヘッドノードHであれば、自身を当該ヘッドノードHの下位ノードCとなるように、当該ヘッドノードHへ登録を申し込み、
(3)発見できた他の端末装置121がゲートウェイノードGであれば、自身を当該ゲートウェイノードGの下位ノードCとなるように、当該ゲートウェイノードGへ登録を申し込み、
(3)発見できた他の端末装置121がノーマルノードNであれば、当該ノーマルノードNの動作モードをゲートウェイノードGに移行させ、自身を当該ゲートウェイノードGの下位ノードCとなるように、当該発見された他の端末装置121へ登録を申し込む。
【0108】
なお、この申し込みは、送信部203を介して行う。
【0109】
このほか、ノード設定部202は、スキャン部201のスキャンの結果に応じて上位ノードPを切り替える処理も行う。
【0110】
センス部205は、自身が属するクラスタ101が持続していることを確認するため、自身の上位ノードPによって設定された周期的な時刻に、受信部204を介してキャリアセンスを行う。
【0111】
抑制部206は、送信部203や受信部204の電力消費を制御するもので、クラスタ101内で共有される時間割に基づいて、自身の送信の必要がない時間帯には送信部203を省電力モードとし、自身の受信の必要がない時間帯には受信部204を省電力モードとすることで、端末装置121全体の消費電力を抑制する。また、このような時間帯に合わせて、適宜、他の各部の電力消費を抑制するように設定するのが典型的である。
【0112】
中継部208は、当該端末装置121が上位ノードPとして機能している場合に、他の端末装置121同士の通信を中継するもので、受信部204ならびに送信部203と協調動作する。
【0113】
ある端末装置121が、あるデータを他の端末装置121(同じクラスタ101に属しているとは限らない。)を最終宛先として伝送したい場合に、送信部203は、以下のように動作するのが典型的である。
(1)当該端末装置がノーマルノードNである場合、そのデータに最終宛先を指定したまま、自身が属するクラスタ101の上位ノードPに送信する。
(2)当該端末装置がヘッドノードHもしくはゲートウェイノードGである場合、最終宛先までの経路を調べ、その経路に、当該端末装置が上位ノードPとして含まれるクラスタ101の下位ノードCがあれば、そのデータに最終宛先を指定したまま、当該下位ノードCへ送信する。
(3)当該端末装置がゲートウェイノードGである場合、最終宛先までの経路を調べ、その経路に、当該端末装置が下位ノードCとして含まれるクラスタ101の上位ノードPがあれば、そのデータに最終宛先を指定したまま、当該上位ノードPへ送信する。
【0114】
受信部204があるデータを受信すると、中継部208が受信されたデータを監視しているため、以下のような処理が実行される。
(1)受信したデータの最終宛先が自身であれば、当該データを、伝送されたデータとして、他の処理に渡す。
(2)受信したデータの最終宛先が自身でなければ、当該データに最終宛先を指定したまま、送信部203に処理させる。
【0115】
このようにすることで、端末装置121間のデータの伝送が可能となる。
【0116】
ヘッドノードHに情報を集約する際には、ノーマルノードNやゲートウェイノードGは、自身がヘッドノードHに伝達する情報は、自身の上位ノードに送信するとともに、ゲートウェイノードGは、自身の下位ノードから受信した情報を、自身の上位ノードに送信する。
【0117】
また、ヘッドノードHから情報を分配する際には、ヘッドノードHは、自身の下位ノードに情報を送信し、ゲートウェイノードGは、自身の上位ノードから受信した情報を、自身の下位ノードに送信する。
【0118】
図4は、複数の端末装置121の動作を示す説明図である。本図に示す例では、Node 1、Node 2、Node 3の3つの端末装置121がやりとりをする状況を考えている。以下では、本図を参照して説明する。
【0119】
Node 2に電源が入れられること等を契機として(図示せず。)、Node 2はスキャンを行うが、他の端末装置121は存在しないので、Node 2はヘッドノード(Cluster head)として機能することとなる。
【0120】
次に、Node 1に電源が入れられる(Power on)。Node 1がスキャン(Scan)を行って、周囲の他の端末装置121を探すと、既にNode 2がヘッドノード(Cluster head)として機能しているので、これが発見される。
【0121】
すると、Node 1は、Node 2に対しアソシエーション(Assoc.)を行い、Node 2の定める時間割に従うこととなる。
【0122】
したがって、Node 1は、Node 2が上位ノードPであるクラスタ101の下位ノードCとなる。また、Node 1は、ノーマルノード(Normal node)として機能することとなる。
【0123】
次にNode 3が立ち上がる(Power on)。Node 3は同様にスキャン(Scan)を行った結果、Node 2は検知できなかったが、Node 1が検知できたものとすると、Node 3は、Node 1へアソシエーション(Assoc.)を行う。
【0124】
この要求に対して、Node 1は、ゲートウェイノードGとしての機能を開始(Start)するため、自身が上位ノードPとなる新たなクラスタ101を形成し、自身が下位ノードCであるクラスタ101とはできるだけ重複しない時間帯に通信を行う時間割を、新たに形成されたクラスタ101で共有するように設定する。
【0125】
このようにして、Node 2とNode 1からなるクラスタ101と、Node 1とNode 3からなるクラスタ101と、の、2つのクラスタ101が階層的に構成される。
【0126】
Node 3からNode 1へ、Node 1からNode 3へ、のデータ伝送は、Node 2が中継するが、Node 2とNode 1の間で通信(Stream)する時間割は、Node 2が設定したものであり、Node 1とNode 3の間で通信(Stream)する時間割は、Node 1が設定したものである。
【0127】
ここで、上位ノードPがシャットダウンされる(Power off)場合等には、その時間割は廃止され、当該クラスタ101は消滅することなる。
【0128】
たとえば、Node 2が停止(Stop)したり、Node 3からNode 1へ離脱(Disassoc.)要求がされた場合である。
【0129】
以下では、理解を容易にするため、まず、端末装置121における基本的な構成にかかる技術を説明し、その後に、本実施形態特有の構成について、説明する。
【0130】
特に、スキャンによって複数のノードが発見された場合については、本実施形態特有の構成として、後述する。
【0131】
すなわち、本実施形態では、適宜上位ノードPの切り替えを行うことを特徴の一つとするが、以下の説明に係る基本的な構成では、この切り替えの構成は、説明を省略している。
【0132】
図5は、端末装置121における基本的な構成にかかる状態遷移図である。以下、本図を参照して説明する。
【0133】
本図に示すように、端末装置121には、状態(Status)が6種類ある。すなわち、
(1)Power offは、電源offの状態を表す。
(2)Disassociatedは、いずれのクラスタ101にも属さず、各パラメータが初期値にある状態を表す。
(3)Scannedは、いずれのクラスタ101にも属さないが、他ノードの存在等情報を有する状態を表す。
(4)Normal nodeは、あるクラスタ101に、下位ノードCとして参加しており、そのクラスタ101の上位ノードの定める時間割に従う状態を表す。
(5)Cluster headは、自身がヘッドノードとなってクラスタ101を管理し、時間割を独自に定めて動作している状態を表す。
(6)Gatewayは、自身がゲートウェイノードとなって2つのクラスタ101に参加し、一方のクラスタ101では、自身が上位ノードPとなって時間割を定めるが、他方のクラスタ101では自身が上位ノードCとなって設定された時間割にしたがう状態を表す。
【0134】
また、本図に示すように、端末装置121には、状態遷移を行うための手続(Procedure)が9種類ある。
(1)Resetは、クラスタ101に関する情報等、各種パラメータを初期化する。
(2)Scanは、他ノードの存在を調べる。
(3)Startは、Hearing intervalを設定する。
(4)Associate(Assoc.)は、あるノードの下位ノードになりたい旨を通知する。当該あるノードがヘッドノードHやゲートウェイノードGである場合には、そのままその下位ノードとなるが、当該あるノードがノーマルノードCである場合には、当該あるノードの状態が変化する。
(5)Streamは、特定のノードに対し、データパケットを送信する。
(6)Changeは、Hearing intervalを変更する。
(7)Synchronize(Sync.)は、上位ノードPに対して、下位ノードCが、Hearing intervalの再同期を要求する。
(8)Disassociate(Disassoc.)は、上位ノードPに対して、下位ノードCが、クラスタ101から離脱することを通知する。
(9)Stopは、Hearing intervalを廃止し、自身の下位ノードである端末装置121に、これを通知する。
【0135】
また、各端末装置121が管理する情報の一例を以下に示す。
(1)全ノードについて、ノードID(8ビット)。
(2)全ノードについて、現在のモードがCluster head/Gateway/Normal nodeのいずれであるか(2ビット)。
(3)全ノードについて、当該ノードが果たすことのできる機能が、Normal nodeのみか、それともCluster headやGatewayとして動作しうるか(1ビット)。
(4)全ノードについて、周波数や変調方式などの物理パラメータ(40ビット程度)。
(5)全ノードについて、当該ノードの優先順位(0−255、8ビット)。
(6)上位ノードについて、設定されたHearing interval(0−65535μs、16ビット)。
(7)上位ノードについて、クラスタ内ノード数(0−255、8ビット)。
(8)上位ノードについて、クラスタ内ノードID(8ビット×0−255ノード、計2048ビット)。
(9)上位ノードについて、クラスタ内ノード別正規化トラヒック(1/256−256/256erl×0−255ノード、計2048ビット)。この総和が、通信流量vに相当する。
(10)下位ノードについて、キャリアセンス周期(0−65535μs、16ビット)。
(11)下位ノードについて、参加するクラスタの上位ノードのノードID(8ビット)。
(12)当該ノードのヘッドノードHからのホップ距離h(4ビット)。
【0136】
伝送されるフレームの構造は、典型的には、プリアンブル部、ヘッダ部、ペイロード部からなる。フレームには、以下の9種類がある。
(1)Scan requestは、ヘッドノードもしくはゲートウェイノードに対して、そのクラスタに参加しようとする要求である。
(2)Scan responseは、Scan requestへの応答で、キャリアセンス周期を割り当てる。
(3)Association requestは、ノーマルノードに対して、「ゲートウェイノードになってクラスタを形成」するよう求め、形成されたクラスタに参加しようとする要求である。
(4)Association responseは、Association requestへの応答で、キャリアセンス周期を割り当てる。
(5)Synchronization requestは、上位ノードに対して、キャリアセンス周期の再同期を要求する。
(6)Synchronization responseは、Synchronization requestへの応答である。
(7)Announceは、ノード間で特定の情報を伝達する。
(8)Dataは、通常データである。
(9)Ackは、いわゆる確認応答(Acknowledgement)である。
【0137】
以下、各手続の詳細について説明する。
【0138】
まず、Reset手続は、ノード内のパラメータを初期化する。
【0139】
次に、Scan手続は、以下のように行われる。図6は、Scan手続の流れを示す説明図である。以下、本図を参照して説明する。
【0140】
実行ノード(Node 1)が、Scan request コマンドフレームを送信すると、本コマンドをセンスしたノード(Node 2,Node 3)は、フレーム終了までキャリアセンスを継続する。
【0141】
そして、センスしたノードは、フレーム終了時のBackoff時間後に、Scan responseコマンドを返信する。
【0142】
Scan responseコマンドには、Scan responseを送信したノードが、上位ノードとなれるかどうか、上位ノードとなった場合のHearing intervalに関する情報が含まれる。
【0143】
さらに、Start手続は、ノードのモードや、上位ノード自身が設定するHearing interval、下位ノードが設定されるキャリアセンス周期(これは、Hearing intervalに等しい。)、その他のノード内パラメータを設定する。
【0144】
そして、Associate手続は、以下のように行われる。図7は、Associate手続の流れを示す説明図である。以下、本図を参照して説明する。
【0145】
Node 1は、Scan結果に基づいて、特定のノード(Node 3)に対してアソシエーションを要求する際に、そのノード(Node 3)が設定しているHearing intervalに従って、Association request コマンドフレームを送信する。
【0146】
受信ノード(Node 3)は、Association responseコマンドを返信する。
【0147】
一方、Stream手続は、クラスタ内の他のノードに対してデータを送信するもので、図8は、Stream手続の流れを示す説明図である。
【0148】
本図に示すように、クラスタ内で共有される時間割センス周期(Hearing interval)にしたがって、データの伝送が行われる。
【0149】
さらに、Change手続は、クラスタ内パラメータの変更をクラスタ内に周知するものである。図9は、Change手続の流れを示す説明図である。
【0150】
本図に示すように、Announceコマンドフレームのマルチキャストによって、情報の周知が実現される。
【0151】
そして、Synchronize手続は、上位ノードに対して、クラスタ内の下位ノードがHearing interval の再度通知を要求するものである。図10は、Synchronize手続の流れを示す説明図である。
【0152】
本図に示すように、Sync.requestを送信したNode 1において、Rensponse timeout periodの中でSync.responseが受信される。Rensponse timeout periodが終了した後に、Node 1における再同期がなされる(図示せず)。
【0153】
Disassociate手続は、上位ノードに対して、下位ノードが、以降はHearing intervalに従わないことを通知するものである。図11は、Disassociate手続の流れを示す説明図である。
【0154】
本図に示すように、この手続は、上位ノードに対してAnnounceコマンドフレームを送信することで実現される。
【0155】
Stop手続は、上位ノードが、Hearing intervalを廃止することをクラスタ内の他ノードに通知するものである。図12は、Stop手続の流れを示す説明図である。
【0156】
本図に示すように、Stop手続は、Announceコマンドフレームのマルチキャストによって実現される。
【0157】
さて、本実施形態では、上記のように、上位ノードPは、自身が管理するクラスタ101に参加している下位ノードCとの間の通信の状況に応じて、アクティブ区間である主チャネルの数を変化させることにより、Hearing intervalに対するHearing periodの比を変化させる。
【0158】
ある端末装置121におけるHearing periodは、制御信号の送受信はもちろん、データ伝送そのものにも利用される。Hearing periodにキャリアセンスによって自分宛の信号を検知した場合には、Hearing period終了の後も、そのまま受信を継続することによって、データを受け付けるようにするのが典型的である。すなわち、Hearing periodにおいてデータ送受が開始され、データの量が多い場合には、適宜、非アクティブ区間(副チャネル)においても、データ通信が継続されることになる。
【0159】
したがって、Hearing intervalに対するHearing periodの割合が高くなれば、各端末装置121における消費電力は増大するが、伝送キャパシティも大きくなる。したがって、下位ノードCの個数が多い場合に好適である。
【0160】
逆に、Hearing intervalに対するHearing periodの割合が低くなれば、各端末装置121における消費電力は低減できるが、伝送キャパシティは低くなる。したがって、下位ノードCの個数が少ない場合に好適である。
【0161】
さて、一般に、通信成功率は、木構造全体で、一つの目標値を達成するように設定されることが多い。たとえば、「木構造のヘッドノードHと各ノードとのフレーム成功率は、95パーセント以上」等のように、伝送キャパシティの条件が定められている場合、下位ノードCと上位ノードPとの間のトラフィックの状況によって、上位ノードPは、Hearing intervalに対するHearing periodの割合を調整することになる。
【0162】
本実施形態では、1つのクラスタに着目して、通信流量Vと通信成功率Sと、チャネル数nのHearing intervalに対する割合と、を実測し、この対応関係を表す関数Fを用いて、木構造全体における通信成功率の目標値を達成することとしている。
【0163】
図13は、通信流量Vの逆数に比例する入力フレーム平均間隔(Average interval of input frames)、通信成功率Sに相当するフレーム成功率(Frame success rate)、チャネル数nに比例するアクティブ区間比率(APR;Active Period Ratio)の関係を示すグラフである。以下、本図を参照して説明する。
【0164】
本図では、ビーコン送信周期(Hearing interval)に対するアクティブ区間(Hearing period)の比率APRとして、0.005、0.01、0.025、0.05、0.1、0.25を採用した場合の、ホップ距離1の通信のフレーム成功率と、入力フレーム平均間隔と、の関係がグラフとして図示されている。
【0165】
このような実測の結果、もしくは、シミュレーションの結果を利用するとともに、適宜補間演算を行うことによって、あるフレーム成功率と、ある入力フレーム平均間隔と、が与えられたときの、APRの最小値(最適値)を求めることが可能となる。
【0166】
フレーム成功率は通信成功率Sと、入力フレーム平均間隔は通信流量Vと、アクティブ区間比率はアクティブ区間のチャネル数Nと、それぞれ変換が可能であるから、図13に示すようなグラフに基づいて、
N = F(V,S)
を満たすような関数Fを定めることができることになる。
【0167】
各上位ノードは、この関数Fを利用して、Hearing periodのチャネル数を定めるのであるが、本実施形態では、木構造全体における通信成功率の目標値sを達成することが求められる。
【0168】
そこで、本実施形態では、各上位ノードは、
(1)木構造全体における通信成功率の目標値s、
(2)当該上位ノードに対する実際の通信流量v、
(3)当該上位ノードとヘッドノードHとのホップ距離h、
に基づいて、当該クラスタチャネル数nを、
n = F(v,s1/h)
のように決定するのである。
【0169】
この処理は、端末装置121を制御するCPUや電子回路が定期的に行うこととしても良いし、通信流量vが大幅に変化した場合などに動的に対応することとしても良い。
【0170】
さて、図14は、ヘッドノードとゲートウェイノードが割り当てるHearing intervalとHearing periodの様子を示す説明図である。以下、本図を参照して説明する。
【0171】
本図に示すように、Node 1によって設定されたHearing periodと、Node 2によって設定されるHearing periodは、できるだけ互いに重複しないように設定されている。これは、ゲートウェイノードであるNode 2が、重複を避けるように、Hearing intervalおよびHearing periodを設定するからである。
【0172】
また、本図においては、Hearing intervalに対するHearing periodの割合も異なっている。これは、クラスタ101内の下位ノードCの個数や、伝送の状態が異なるためである。
【0173】
パケット伝送の成功率/エラー率を求める手法としては、以下のようなものがある。すなわち、下位ノードCが上位ノードPにデータパケットを送る際、ならびに、上位ノードPが下位ノードCにデータパケットを送る際に、それぞれ、パケットの連番の番号を振っておく。そして、受信側では、受信できたパケットの番号に抜けがないか調べることで、伝送成功率/エラー率を求めることができる。
【0174】
また、ノード同士の通信に、コネクション型のプロトコルが採用されている場合には、再送要求が生じた頻度を、パケット伝送のエラー率とすることができる。
【0175】
以下では、本実施形態の特徴である上位ノードPの切り替えの詳細について説明する。下位ノードCは、ゲートウェイノードである場合と、ノーマルノードである場合と、の2通りがあるが、いずれの場合においても、その上位ノードPを切り替えることが可能である。
【0176】
ここで、自身が属するクラスタ101の上位ノードPとの通信が可能であるにもかかわらず、上位ノードPを切り替えて、他のノードを上位ノードとして選択すると、自身が属するクラスタ101を変更することとなる。この場合、自身がノーマルノードNであれば、切り替えの後も自身はノーマルノードNのままであり、自身がゲートウェイノードGであれば、切り替えの後も自身はゲートウェイノードGのままである。
【0177】
さて、ある下位ノードCが上位ノードPの切り替えを検討する契機としては、以下のような状況が考えられる。
(1)通信効率が悪い場合。当該下位ノードCから送出したパケットが宛先に到達せず再送を行った割合、現在の上位ノードPから通知されたパケット誤り率、現在のHPR等がある閾値を超えた場合、あるいは、ある範囲から逸脱した場合、とするのが典型的である。
(2)電源残量が少なくなった場合。たとえば、現在の電源残量から見て現在のHPRが適切な値(あらかじめ当該下位ノードCにおいて設定された省電力パラメータ)となっているかを見るものである。
(3)定期的に行う場合。一定期間が経過するごとに、他の上位ノードPへの切り替えを検討するものである。なお、上記(1)(2)の場合であっても、前回切り替えを検討してから、次に切り替えを検討するまでには、少なくとも一定期間の経過を要するように構成するのが典型的である。
【0178】
切り替えを検討することとなった場合には、Scan手続と同様の処理を実行する。当該Scan手続によって、上位ノードPが1つだけ発見された場合には、当該発見された上位ノードPは、現在参加しているクラスタ101の上位ノードPと考えられるから、上位ノードPの切り替えは不要である。
【0179】
複数の上位ノードPが発見された場合には、切り替え先の上位ノードPを、以下のように決定する。
(1)各上位ノードPについて、制御信号から得られる情報に基づいて、当該下位ノードCが当該上位ノードPへ切り替えたと仮定した場合の、アクティブ区間のチャネル数を推定する。
(2)推定されたチャネル数に基づいて、通信効率の観点から比較を行って、いずれかの上位ノードPを選択する。比較の具体的な手法については後述する。
(3)選択された上位ノードPが、現在の上位ノードPと一致する場合には、特段の処理は必要としないが、異なる場合には、現在の上位ノードPからのDisassociate手続と、選択された新たな上位ノードPへのAssociate手続を実行して、上位ノードPを切り替える。
【0180】
また、電源投入後など、端末装置121が木構造に新規に参加しようとする場合に、Scan結果が複数であった場合には、上記(1)(2)と同様の処理を行って、参加先のクラスタ110の上位ノードPを選択し、その上位ノードPへのAssociate手続を実行する。
【0181】
以下では、通信効率の観点から比較を行う手法について、具体的に説明する。手法について説明する。
【0182】
まず、切り替えを検討している下位ノードCに相当する端末装置121は、複数の上位ノードP(0番目、1番目、…、N番目からなり、合計(N+1)個)のそれぞれから送信されている制御信号を見て、以下のような情報を得たものとする。ただし、当該下位ノードCは、0番目の上位ノードPが管理するクラスタ101に属しているものとする。
(1)各上位ノードPとヘッドノードHとの間のホップ距離。以下、i番目の上位ノードPとヘッドノードHとの間のホップ距離を、h[i]と表記する。
(2)各上位ノードPが管理するクラスタ101における通信流量。以下、i番目の上位ノードPのクラスタ101における通信流量をv[i]と表記する。
【0183】
これらの情報と、当該下位ノードC自身の通信流量wを用いて、通信効率の観点から比較を行う。
【0184】
すなわち、0番目の上位ノードPが管理するクラスタ101の、切り替え前のチャネル数は、
F(v[0],s1/h[0])
と表現することができる。
【0185】
当該下位ノードCが離脱すると、当該クラスタ101におけるチャネル数は、
F(v[0]-w,s1/h[0])
に更新される、と考えられる。
【0186】
一方、当該下位ノードCが、i番目の上位ノードPが管理するクラスタ101に参加するものとすると、当該クラスタ101におけるチャネル数は、
F(v[i],s1/h[i])
から
F(v[i]+w,s1/h[i])
に更新される、と考えられる。
【0187】
すなわち、当該下位ノードCが、上位ノードPを0番目からi番目に切り替えると、木構造全体の総チャネル数の変化Δ[i]は、
Δ[i] = F(v[0]-w,s1/h[0]) + F(v[i]+w,s1/h[i])- F(v[0],s1/h[0]) - F(v[i],s1/h[i])
となる。この値をi = 0,1,…,Nのそれぞれについて計算する。
【0188】
総チャネル数は、伝送効率や消費電力の観点からすると、できるだけ小さい方が望ましい。したがって、Δ[0],Δ[1],…,Δ[N]のうち、値が最小のものがΔ[k]であるとすると、k番目の上位ノードPを選択した場合に、木構造全体の総チャネル数が最小となるから、k番目の上位ノードPを切り替え先として選択するのが良い、ということになる。
【0189】
この場合、切り替えには手間がかかること、Δ[0] = 0であることから、
Δ[k]<0
が成立し、かつ、最小となるようにkを選べば良い。
【0190】
このほか、もっと単純に、iの値として0からNのN+1通りについて、
(0)F(v[0],s1/h[0]),
(1)F(v[1]+w,s1/h[1]),
(2)F(v[2]+w,s1/h[2]),…,
(N)F(v[N]+w,s1/h[N])
を計算し、これが最小となるようなiを選択して、当該i番目の上位ノードPに切り換える、という手法を採用しても良い。
【0191】
なお、切り替え後の上位ノード(i番目)のホップ距離h[i]が、現在の上位ノード(0番目)のホップ距離h[0]に対して、
h[0]≧h[i]
を満たすことを要件としても良い。すなわち、切り替えの後には、上位ノードPがヘッドノードHに近付くか、もしくは、ヘッドノードHとのホップ距離が同じであることを、切り替え先の条件とする。
【0192】
このほか、チャネル数最小となるような切り替え先の上位ノードの候補が複数発見された場合には、ヘッドノードHに最も近い上位ノードを切り替え先として選択することが望ましい。
【0193】
図15は、本実施形態によって通信を行った場合と、ホップ距離を考慮しない手法によって通信を行った場合との通信成功率を比較するグラフである。以下、本図を参照して説明する。
【0194】
本図では、通信成功率の目標値(エンドエンドのターゲット)として、0.8を設定し、ヘッドノードHと上位ノードPとのホップ距離(Depth of the tree)が1乃至5であり、ならびに、上位ノードP(親)に対する下位ノードC(子)の数が1、3、5の場合について、本実施形態ならびにホップ数を考慮しない態様(すなわち、関数Fに与える成功率において、「1/h」の累乗根計算を行わない場合)により通信を行った場合の全体のフレーム成功率(Frame success rate)を図示している。
【0195】
本図に示すように、ホップ距離が長くなると、実際のフレーム成功率は通信成功率の目標値よりも低くなってしまうが、本実施形態の手法によれば、従来の手法に比べて、劣化を抑制することができる。
【0196】
なお、各端末装置121は、定期的に、切り替えを検討することとしても良いし、通信成功率が目標値から大幅に離れた場合や、電源残量が大幅に変化した場合に、スキャンを実行しても良い。さらに、すなわち、端末装置121が切り替えを検討してスキャンを実行しても、結局切り替えは行わなかった後は、一定期間は、切り替え用のスキャンは行わないこととすることによって、効率良くスキャン処理を実行することができる。
【0197】
このように、本実施形態においては、通信効率や電源残量などに基づいて上位ノードの切り替えを適切に行うことによって、木構造ネットワーク全体の通信効率を向上させたり、電力消費を抑制することができるようになる。
【0198】
このほか、各クラスタ101ごとに、データ通信に用いる物理層の諸元(変調方式や通信電力)を適宜設定することとしても良い。この場合には、ビーコンとなる制御信号や、アソシエーション信号の送受に用いられる諸元は、全クラスタ101で共通とすることが必要であるが、チャネル数の割り当てにおいては、物理層の諸元を考慮することができる。
【0199】
たとえば、データ通信の段階では、あるクラスタ101では、TDMAを用い、他のクラスタ101では、CSMAを用い、別のクラスタ101では、CDMAを用いる、という態様を採用しても良い。
【0200】
このほか、同じTDMAを利用する場合であっても、時間スロットの幅を変更したり、データ通信に用いる周波数帯や変調方式を変更する等、種々の態様を採用することができる。
【実施例2】
【0201】
上記実施形態では、上位ノードPとヘッドノードHとのホップ距離hに基づいて、チャネル数を決定していたが、このホップ距離hとして、以下のようなものを採用することもできる。
【0202】
第1は、現在の木構造における最大ホップ距離hmaxを利用する、という手法である。本手法では、上記手法に比べて、実際の通信成功率が目標値により一層近付くこととなると予想される。hmaxは、規格上可能な最大値の定数を採用しても良い。この場合、木構造内における全ノードで、共通のhmaxを利用することとなる。
【0203】
また、ヘッドノードHへ木構造内の全ノードからの送信が行われる場合には、ヘッドノードHが現在の木構造の形状を管理することが可能であるから、ヘッドノードHから各ノードへ伝達するように構成することも可能である。
【0204】
第2は、上位ノードPの切り替えを検討している下位ノードCがこれまでに行ったデータ通信におけるパケットの発信元と送付先のホップ距離の平均を用いる、という手法である。本手法では、下位ノードCのデータ通信の傾向に応じた調整が可能になる。すなわち、各ノードごとに、そのノードのデータ通信の傾向に応じてホップ距離が変化することになる。
【0205】
第3は、第2の形態の変形であり、木構造全体におけるデータ通信の発信元と送付先のホップ距離の平均を用いる手法である。上記のように、ヘッドノードHに各種の情報が集中する場合には、ヘッドノードHにおいてこの平均を求め、木構造内の全ノードにこの情報を分配することが可能である。
【0206】
このほか、上記の態様によって得られる値に、たとえば1を加算する等、適当な演算を施したものを、ホップ距離として採用することも可能である。
【産業上の利用可能性】
【0207】
以上説明したように、本発明によれば、アドホックに形成される通信効率の良い通信ネットワークを構成するのに好適な通信システム、端末装置、その制御方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【符号の説明】
【0208】
101 クラスタ
121 端末装置
201 スキャン部
202 ノード設定部
203 送信部
204 受信部
205 センス部
206 抑制部
207 時刻設定部
208 中継部

【特許請求の範囲】
【請求項1】
複数の端末装置のそれぞれが、1つまたは2つのクラスタに含まれるノードとして機能することにより、他の端末装置と通信する通信システムであって、
(a)前記クラスタは、1つの上位ノードと、それ以外の下位ノードと、からなり、
(b)前記端末装置のそれぞれは、
(1)1つのクラスタに含まれ、当該クラスタの上位ノードとして機能するヘッドノード、
(2)1つのクラスタに含まれ、当該クラスタの下位ノードとして機能するノーマルノード、
(3)2つのクラスタに含まれ、一方のクラスタでは下位ノードとして機能し、他方のクラスタでは上位ノードとして機能するゲートウェイノード
のいずれかとして機能することにより、当該ヘッドノードを根ノード、当該ノーマルノードを葉ノード、当該ゲートウェイノードを内部ノードとする木構造を形成し、
(c)前記端末装置のそれぞれは、
当該端末装置が上位ノードである場合、
(1)当該端末装置と、当該端末装置が上位ノードであるクラスタに含まれる下位ノードである端末装置と、の、通信流量と、
(2)前記木構造の根ノードから当該端末装置までのホップ距離と、
(3)当該木構造に対して設定されている通信成功率の目標値と、
に基づいて、キャリアセンスを行うべきセンス周期と、当該センス周期内において通信を行うチャネル数と、を決定する決定部、
当該端末装置が
(1)ヘッドノードである場合、前記決定されたセンス周期に基づいて、次にキャリアセンスを行うべきセンス時刻を定め、当該時刻と前記決定されたチャネル数とを、前記端末装置がヘッドノードとして含まれるクラスタに含まれるすべてのノードに設定し、
(2)ゲートウェイノードである場合、前記端末装置が下位ノードとして含まれるクラスタに設定されているセンス時刻と重ならないように、前記決定されたセンス周期に基づいて、次にキャリアセンスを行うべきセンス時刻を定め、当該時刻と前記決定されたチャネル数とを、前記端末装置が上位ノードとして含まれるクラスタに含まれるすべてのノードに設定する
時刻設定部、
前記端末装置が含まれる1つまたは2つのクラスタに対して設定されているセンス時刻にキャリアセンスを行うセンス部、
前記センス時刻から前記設定されているチャネル数のチャネルを介して、他のノードへデータを送信する送信部、
前記センス時刻から前記設定されているチャネル数のチャネルを介して、他のノードからのデータを受信する受信部、
当該端末装置が下位ノードである場合、上位ノードを切り替えるためのスキャンを行うか否かを決定し、切り替えのためのスキャンを行うことが決定された場合、他の端末装置をスキャンするスキャン部、
前記切り替えのためのスキャンの結果、複数の上位ノードが発見された場合、当該発見された上位ノードのそれぞれにおいて決定されるチャネル数を推定し、当該推定されたチャネル数に基づいていずれかの上位ノードを選択し、前記端末装置の上位ノードを、前記選択された上位ノードに設定し直すノード設定部
を備えることを特徴とする通信システム。
【請求項2】
請求項1に記載の通信システムであって、
前記送信部は、
(1)当該端末装置と、当該端末装置が上位ノードであるクラスタに含まれる下位ノードである端末装置と、の、通信流量vと、
(2)前記木構造の根ノードから当該端末装置までのホップ距離hと、
を、前記センス時刻に送信することにより、前記キャリアセンスならびに前記スキャンを行っている他の端末装置に通知し、
前記切り替えのためのスキャンの結果、複数の上位ノードが発見された場合、前記ノード設定部は、当該複数発見された上位ノードのそれぞれについて、当該スキャンの結果得られた通信流量vならびにホップ距離hおよび当該端末装置による通信流量wから、当該上位ノードを前記端末装置の上位ノードに設定し直すと仮定した場合の、当該複数存在する上位ノードのそれぞれにおいて決定されるチャネル数を推定し、当該推定されたチャネル数が最小となる上位ノードを選択する
ことを特徴とする通信システム。
【請求項3】
請求項2に記載の通信システムであって、
関数Fがあらかじめ定められ、当該関数Fを、通信流量Vと、通信成功率Sと、に適用することにより、チャネル数Nが N = F(V,S) により求められ、
前記決定部は、当該端末装置の通信流量vならびに前記根ノードからのホップ距離hからチャネル数nを n = F(v,s1/h) により決定し、
前記ノード設定部は、
(1)当該複数発見された上位ノードのうち、現在当該端末装置の上位ノードでないノードのそれぞれについて、当該スキャンの結果得られた通信流量vならびにホップ距離hおよび当該端末装置による通信流量wから、当該ノードに対して推定されるチャネル数nを n = F(v+w,s1/h) により求め、
(2)当該複数発見された上位ノードのうち、現在当該端末装置の上位ノードであるノードに対して推定されるチャネル数nを
(2a)当該スキャンの結果得られた通信流量vならびにホップ距離hから n = F(v,s1/h) により求め、もしくは、
(2b)当該端末装置に対して前記設定されているチャネル数とする
ことを特徴とする通信システム。
【請求項4】
請求項3に記載の通信システムであって、
前記センス周期は前記複数の端末装置において共通するように定められた定数であり、
前記チャネルは、時間チャネルであり、
前記送信部は、前記センス時刻から前記設定されているチャネル数に対する時間を経過するまでの間に、他のノードへのデータの送信を開始し、
前記受信部は、前記センス時刻から前記設定されているチャネル数に対する時間を経過するまでの間に、他のノードからのデータの受信を開始する
ことを特徴とする通信システム。
【請求項5】
請求項4に記載の通信システムであって、
前記複数の端末装置のそれぞれは、
前記キャリアセンスを行わず、前記送信を行わず、前記受信を行わない間、電力消費を抑制する抑制部
をさらに備えることを特徴とする通信システム。
【請求項6】
請求項5に記載の通信システムであって、
前記スキャン部は、前記端末装置が前記木構造に参加しようとする場合に、他の端末装置をスキャンし、
前記ノード設定部は、前記参加のためのスキャンの結果、
(1)他の端末装置が発見できなかった場合、前記端末装置をヘッドノードに設定し、
(2)1つ又は複数の上位ノードが発見された場合、当該発見された上位ノードのうち、当該上位ノードに対して推定されるチャネル数が最小の上位ノードを選択し、前記端末装置を、前記選択された上位ノードの下位ノードに設定し、
(3)1つ又は複数のノーマルノードが発見された場合、当該発見されたノーマルノードからいずれかを選択し、前記選択されたノーマルノードをゲートウェイノードに設定し、前記端末装置を、当該ゲートウェイノードを上位ノードとするクラスタの下位ノードに設定する
ことを特徴とする通信システム。
【請求項7】
請求項6に記載の通信システムであって、
前記参加のためのスキャンの結果、複数の上位ノードが発見され、前記発見された上位ノードのうち、当該上位ノードに対して推定されたチャネル数が最小の上位ノードが複数存在する場合、前記ノード設定部は、当該推定されたチャネル数が最小の上位ノードのうち、前記木構造における前記根ノードに最も近いものを選択する
ことを特徴とする通信システム。
【請求項8】
請求項7に記載の通信システムであって、
前記複数の端末装置のそれぞれにおいて、
前記スキャン部は、当該端末装置に設定されているチャネル数が、当該端末装置の電源残量にあらかじめ対応付けられる閾値を超える場合、当該切り替えのためのスキャンを行うことを決定する
ことを特徴とする通信システム。
【請求項9】
請求項1から8のいずれか1項に記載通信システムであって、
前記決定部ならびに前記ノード設定部は、前記木構造の根ノードから当該端末装置までのホップ距離にかえて、当該木構造の最大ホップ数、当該端末装置の通信先との平均ホップ数、もしくは、当該木構造における通信の平均ホップ数、または、これらのいずれか少なくとも一つに所定の演算を施した結果を用いる
ことを特徴とする通信システム。
【請求項10】
請求項1から9のいずれか1項に記載の通信システムにおける端末装置。
【請求項11】
複数の端末装置のそれぞれが、1つまたは2つのクラスタに含まれるノードとして機能することにより、他の端末装置と通信する通信システムにおける端末装置を制御する制御方法であって、
(a)前記クラスタは、1つの上位ノードと、それ以外の下位ノードと、からなり、
(b)前記端末装置のそれぞれは、
(1)1つのクラスタに含まれ、当該クラスタの上位ノードとして機能するヘッドノード、
(2)1つのクラスタに含まれ、当該クラスタの下位ノードとして機能するノーマルノード、
(3)2つのクラスタに含まれ、一方のクラスタでは下位ノードとして機能し、他方のクラスタでは上位ノードとして機能するゲートウェイノード
のいずれかとして機能することにより、当該ヘッドノードを根ノード、当該ノーマルノードを葉ノード、当該ゲートウェイノードを内部ノードとする木構造を形成し、
前記端末装置のそれぞれにおいて、前記制御方法は、
当該端末装置が上位ノードである場合、
(1)当該端末装置と、当該端末装置が上位ノードであるクラスタに含まれる下位ノードである端末装置と、の、通信流量と、
(2)前記木構造の根ノードから当該端末装置までのホップ距離と、
(3)当該木構造に対して設定されている通信成功率の目標値と、
に基づいて、キャリアセンスを行うべきセンス周期と、当該センス周期内において通信を行うチャネル数と、を決定する決定工程、
当該端末装置が
(1)ヘッドノードである場合、前記決定されたセンス周期に基づいて、次にキャリアセンスを行うべきセンス時刻を定め、当該時刻と前記決定されたチャネル数とを、前記端末装置がヘッドノードとして含まれるクラスタに含まれるすべてのノードに設定し、
(2)ゲートウェイノードである場合、前記端末装置が下位ノードとして含まれるクラスタに設定されているセンス時刻と重ならないように、前記決定されたセンス周期に基づいて、次にキャリアセンスを行うべきセンス時刻を定め、当該時刻と前記決定されたチャネル数とを、前記端末装置が上位ノードとして含まれるクラスタに含まれるすべてのノードに設定する
時刻設定工程、
前記端末装置が含まれる1つまたは2つのクラスタに対して設定されているセンス時刻にキャリアセンスを行うセンス工程、
前記センス時刻から前記設定されているチャネル数のチャネルを介して、他のノードへデータを送信する送信工程、
前記センス時刻から前記設定されているチャネル数のチャネルを介して、他のノードからのデータを受信する受信工程、
当該端末装置が下位ノードである場合、上位ノードを切り替えるためのスキャンを行うか否かを決定し、切り替えのためのスキャンを行うことが決定された場合、他の端末装置をスキャンするスキャン工程、
前記切り替えのためのスキャンの結果、複数の上位ノードが発見された場合、当該発見された上位ノードのそれぞれにおいて決定されるチャネル数を推定し、当該推定されたチャネル数に基づいていずれかの上位ノードを選択し、前記端末装置の上位ノードを、前記選択された上位ノードに設定し直すノード設定工程
を備えることを特徴とする制御方法。
【請求項12】
通信機能を有する複数のコンピュータのそれぞれを、請求項1から9のいずれか1項に記載の通信システムにおける複数の端末装置のいずれかとして機能させることを特徴とするプログラム。
【請求項13】
通信機能を有するコンピュータを、請求項10に記載の端末装置の各部として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−109827(P2012−109827A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2010−257545(P2010−257545)
【出願日】平成22年11月18日(2010.11.18)
【出願人】(301022471)独立行政法人情報通信研究機構 (1,071)
【Fターム(参考)】