説明

無線通信システム、移動無線通信機、固定無線通信機、および調整方法

【課題】第1の無線通信機1bから送信される電波信号は、移動機である第2の無線通信機2bで受信可能なのに、第2の無線通信機2bから送信される電波信号は第1の無線通信機1bで受信不能、という状況を回避する。
【解決手段】第1の無線通信機1bは、第2の無線通信機2bから送信される電波信号を受信し、受信した電波信号の品質LQI_ED_CNを計測する。第2の無線通信機2bは、第1の無線通信機1bから送信される電波信号を受信し、受信した電波信号の品質LQI_CN_EDを計測する。そして、第1の品質LQI_ED_CNが第2の品質LQI_CN_EDよりも低い場合、第2の無線通信機2bは、送信する電波信号の強度を上げる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無線通信技術に関する。
【背景技術】
【0002】
無線通信技術は、様々なサービスを提供するために利用されている。例えば、銀行や病院などでの利用者受付のために無線通信システムが使われることがある。
ある順番呼出方法の1つの目的は、受付希望者が窓口近傍で順番待ちをせずに済み、個人情報が他者に漏れることなく、窓口近傍にいる受付希望者だけに呼び出しが行えるようにすることである。
【0003】
この順番呼出方法で使われる受付順序管理装置は、短距離無線通信ユニットと補助記憶装置とを有する。補助記憶装置内の予約情報データベースには、利用者の携帯情報端末から送信された個人情報と、個人情報を受信した順に生成される予約番号と、窓口を含む所定領域内に携帯情報端末が進入しているか否かを示す窓口在席フラグとが、格納される。
【0004】
窓口係員による呼び出しの際には、窓口在席フラグが「1」のレコードのうち、最も若い予約番号のレコードが読み出され、その予約番号に対応する携帯情報端末へ呼出情報が送信される。呼出情報を受信した携帯情報端末では、呼出ユニットが駆動して、音声を発したり振動したりする。
【0005】
別の窓口受付システムの1つの目的は、窓口にて受付処理を行ってから順番が巡って来るまでの待ち時間を、利用者が有効に活用することができるようにすることである。
そのために、受付係または利用者が窓口端末を操作することにより、予約番号、予約認証番号、および送信先電子メールアドレスが、文字とバーコードでチケットにプリントアウトされる。また、発行されたチケットに記載のメールアドレスに宛てて送信されたメールの送信元メールアドレスが、受付管理データベースに登録される。そして、上記利用者に待ち順が来た場合に、上記の送信元メールアドレスにメールが自動的に返信される。
【0006】
ところで、多くの無線通信システムは移動機を含み、移動機に継続的にサービスを提供するために、ハンドオーバ(ハンドオフともいう)が行われる。ハンドオーバに関しても様々な技術が提案されている。
【0007】
例えば、スレーブ装置が、共用リソース・ネットワークの現在接続中の第1マスター装置から、この共用リソース・ネットワークの他のマスター装置へのハンドオフを実行するための、ある方法が提案されている。当該方法は、共用リソース・ネットワークのトポロジについての情報を、第1マスター装置内に保持するステップを有する。また、当該方法は、ハンドオフ期間中に、1つ以上の他のマスター装置において、上記トポロジにもとづいて呼び出し手順を実行するステップを有する。
【0008】
そして、リソース・ネットワークのマスター装置によって保持されるトポロジ情報は、マトリクス形態で保持され、本トポロジ情報は、何れの1以上のマスター装置が上記マスター装置に隣接しているかを示す情報を含んでいる。上記の呼び出し手順では、上記の他のマスター装置の各々が、スレーブ装置の呼び出しを行う。
【0009】
また、迅速かつ信頼性の高いハンドオーバを実現することを目的とした、次のような技術も提案されている。当該技術は、セルラ用基地局のネットワーク収容エリアと、複数のWLAN(Wireless Local Area Network)アクセスポイントのネットワーク収容エリアがオーバラップした構成に適用される。
【0010】
上記構成において、移動するモバイルノード(つまり移動端末)は、聴取された各WLANアクセスポイントからのビーコン情報を格納する。そして、モバイルノードは、新たなWLANアクセスポイントへのハンドオーバを決定した時点で、格納されている情報から、ハンドオーバの対象となるWLANアクセスポイントのビーコン情報を取得する。それにより、モバイルノードは、次のビーコンの聴取を待つことなく、即座にハンドオーバ処理が実行可能となる。また、モバイルノードは、各WLANアクセスポイントに接続した場合のネットワーク接続の安定性に関する情報を格納し、この安定性を考察することによって、ハンドオーバの対象として適したWLANアクセスポイントを判定する。
【0011】
ところで、移動機の移動以外の要因によっても、無線通信環境は動的に変化し得る。そこで、データを送信する無線通信装置が、データの符号化に用いるデータ圧縮率および/またはデータレートを柔軟に変化させることができるように、次のような技術も提案されている。具体的には、データを受信する無線通信装置が、データの符号化を行う送信側無線通信装置に対し、マルチバンド直交周波数分割多重方式のビーコンスロットに、データ圧縮率情報および/またはデータレート情報を含めて送信する。
【0012】
また、上記の例のように、ある種の無線通信システムではビーコンが利用される。ビーコンが利用されるシステムにおける1つの目的は、1ビーコン周期で効率よく情報伝達を行うことである。
【0013】
例えば、あるビーコン無線通信装置は、親機から受信したビーコンが自ビーコン無線通信装置の識別子を含むか否かを判断し、自分の識別子が含まれれば、アクセスすべき時刻を計算して親機にアクセスする。ビーコン周期は、親機がビーコン無線通信装置と通信する無線通信区間と、親機が無線通信以外の処理を行う未使用区間を含む。アクセスすべき時刻の計算に際してビーコン無線通信装置は、ビーコンが含む識別子のうちでの自ビーコン無線通信装置の識別子の順序と未使用区間の長さとに応じて、受信したビーコンの発信時刻を起点としてビーコン周期内での時刻を計算する。
【0014】
以上のように、無線通信技術は、様々な分野で使われており、様々な観点から研究されている。しかしながら、種々の状況に応じて生じ得るすべての問題が解決されているわけではない。
【先行技術文献】
【特許文献】
【0015】
【特許文献1】特開2003−174401号公報
【特許文献2】特開2008−21300号公報
【特許文献3】特開2009−153152号公報
【特許文献4】特表2004−536495号公報
【特許文献5】特表2009−508363号公報
【特許文献6】特開2010−34831号公報
【特許文献7】特開2009−260925号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
第1の無線通信機と、移動機である第2の無線通信機を備える無線通信システムにおいては、以下のような状況が生じ得る。すなわち、第1の無線通信機から送信される電波信号は第2の無線通信機で受信可能なのに、第2の無線通信機から送信される電波信号は第1の無線通信機で受信不能、という状況が生じ得る。
【0017】
例えば、第1の無線通信機と第2の無線通信機がそれぞれ送信する電波信号の強度同士の関係や、第1の無線通信機と第2の無線通信機との間の距離によっては、上記のような状況が生じ得る。そして、上記の状況下では、仮に、第1の無線通信機から送信される電波信号に応じて、第2の無線通信機が何らかの電波信号を送信したとしても、第1の無線通信機は、第2の無線通信機から送信された電波信号を認識することができない。つまり、上記の状況は誤認識を引き起こす。
【0018】
本発明は、1つの側面では、上記のような状況を回避することを目的とする。
【課題を解決するための手段】
【0019】
一態様により提供される無線通信システムは、第1の無線通信機と、移動機である第2の無線通信機を備える。前記第1の無線通信機は、第1の受信手段と第1の計測手段と第1の送信手段を備え、前記第2の無線通信機は、第2の受信手段と第2の計測手段と第2の送信手段と調整手段を備える。
【0020】
前記第1の受信手段は、前記第2の無線通信機から送信される電波信号を受信する。前記第1の計測手段は、前記第1の受信手段が受信した前記電波信号の品質を計測する。前記第1の送信手段は、電波信号を送信する。
【0021】
また、前記第2の受信手段は、前記第1の無線通信機から送信される前記電波信号を受信する。前記第2の計測手段は、前記第2の受信手段が受信した前記電波信号の品質を計測する。前記第2の送信手段は、電波信号を送信する。
【0022】
そして、前記調整手段は、前記第1の計測手段が計測した第1の品質が、前記第2の計測手段が計測した第2の品質よりも低い場合、前記第2の送信手段が送信する前記電波信号の強度を上げる。
【発明の効果】
【0023】
上記の無線通信システムによれば、調整手段による調整の結果として、上記のような状況は回避される。
【図面の簡単な説明】
【0024】
【図1】コーディネータとエンドデバイスの送信電波強度の相対関係と、通信エラーの発生する領域を模式的に示す図である。
【図2】無線通信システムの例を示す図である。
【図3】コーディネータとエンドデバイス間の距離と、エンドデバイスで受信されるビーコンのLQIとの関係を示すグラフである。
【図4】エンドデバイスのブロック構成図である。
【図5】コーディネータのブロック構成図である。
【図6】第1実施形態の通信シーケンスの例である。
【図7】フレーム形式の例を示す図である。
【図8】第1実施形態のコーディネータの動作フローチャートである。
【図9】調整パラメタ情報の例を示す図である。
【図10】第1実施形態のエンドデバイスの動作フローチャートである。
【図11】第2実施形態の通信シーケンスの例である。
【図12】第2実施形態のコーディネータの動作フローチャートである。
【図13】第2実施形態のエンドデバイスの動作フローチャートである。
【図14】より好ましい調整の程度について説明する図である。
【図15】調整の要否が判断される頻度に関する複数のモードについて説明する図である。
【発明を実施するための形態】
【0025】
以下、実施形態について、図面を参照しながら詳細に説明する。まず、図1〜5を参照して、第1〜2実施形態の共通点について説明するとともに、第1実施形態と第2実施形態の違いについても簡単に説明する。その後、図6〜10を参照して第1実施形態について説明し、図11〜13を参照して第2実施形態について説明する。最後に、その他の変形例についても説明する。いくつかの変形例に関しては図14〜15も参照する。
【0026】
さて、まず図1を参照して、以下の第1〜第2実施形態において解決しようとする課題と、その解決策の概要を説明する。図1は、コーディネータとエンドデバイスの送信電波強度の相対関係と、通信エラーの発生する領域を模式的に示す図である。なお、図面中では、紙幅の都合上、「コーディネータ」と「エンドデバイス」をそれぞれ「CN」と「ED」のように略すことがある。
【0027】
詳しくは後述するが、図1のコーディネータ1aは、ビーコンを利用したプル型の無線通信システムにおける、1種のアクセスポイントである。コーディネータ1aは、適宜の位置に予め設置され、定期的にビーコンを送信する。他方、エンドデバイス2aは移動機である。
【0028】
図1に網点パターンで示した領域(エリア)3aは、コーディネータ1aから送信されるビーコンが受信可能な領域である。図1では、ビーコンの送信方向を模式的に示す矢印が、コーディネータ1aから、領域3aの縁に向かって、描かれている。
【0029】
エンドデバイス2aは、もし領域3a内に位置していれば、コーディネータ1aから送信されるビーコンを受信し、エンドデバイス2a宛のデータがあるか否かを、ビーコンの内容から判断する。もし、エンドデバイス2aにまだ送信されずにコーディネータ1a内でペンディングになっているデータがあれば、ビーコンには、エンドデバイス2aのID(identifier)が含まれる。よって、エンドデバイス2aは、受信したビーコンを用いて上記のような判断を行うことができる。
【0030】
そして、エンドデバイス2a宛のデータがあれば、エンドデバイス2aは、エンドデバイス2a宛のデータの送信をコーディネータ1aに要求する。コーディネータ1aは、エンドデバイス2aからの要求に応じて、エンドデバイス2a宛のデータをエンドデバイス2aに送信する。
【0031】
以上のようにして、ビーコンを利用することにより、エンドデバイス2aからの要求に応じてデータが送信されるプル型通信が実現される。ところが、以上のようなプル型通信を成功するのは、実際には、「エンドデバイス2aが送信した要求をコーディネータ1aが受信することが可能である」という条件が成り立つときである。以下に述べるとおり、この条件が成り立たないと、通信エラーが生じる。
【0032】
ここで、図1に太線で輪郭を示した領域4aは、「移動機であるエンドデバイス2aから送信される要求が、所定位置に固定されたコーディネータ1aにおいて受信可能である」という条件を満たしつつ、エンドデバイス2aが移動可能な範囲を示す。図1において領域4aの縁からコーディネータ1aに向かう矢印は、領域4aの輪郭線上のある1点にエンドデバイス2aが位置しているときにエンドデバイス2aから送信される要求が、コーディネータ1aで受信可能であることを、模式的に示している。
【0033】
コーディネータ1aとエンドデバイス2aの組み合わせの例では、コーディネータ1aの送信電波強度よりも、エンドデバイス2aの送信電波強度の方が大きいので、領域3aよりも領域4aの方が広い。つまり、領域3aは領域4aの内部に含まれる。したがって、下記の条件(1−1)が成立するならば、条件(1−2)も成立する。
【0034】
(1−1)コーディネータ1aから送信されるビーコンが、エンドデバイス2aで受信可能である(つまり、エンドデバイス2aが領域3a内に位置している)。
(1−2)エンドデバイス2aから送信される要求が、コーディネータ1aで受信可能である(つまり、エンドデバイス2aが領域4a内に位置している)。
【0035】
条件(1−2)が成立すれば、コーディネータ1aは、エンドデバイス2aからの要求に応じて、エンドデバイス2a宛のデータを送信することができる。また、条件(1−1)より、エンドデバイス2aは領域3a内に位置しているので、エンドデバイス2aは、コーディネータ1aから送信されたデータも受信可能である。したがって、コーディネータ1aとエンドデバイス2aの組み合わせに関しては、上記のようにしてプル型通信が成功する。
【0036】
しかし、無線通信システム内には、複数のコーディネータが存在し得るし、複数のエンドデバイスも存在し得る。そして、複数のコーディネータ間には送信電波強度のばらつきがあり、複数のエンドデバイス間には送信電波強度のばらつきがある。送信電波強度のばらつきは、例えば、製造ロットに依存することもある。
【0037】
すると、ある1つのコーディネータとある1つのエンドデバイスの組み合わせに関しては、コーディネータの送信電波強度の方が、エンドデバイスの送信電波強度よりも大きいかもしれない。図1のコーディネータ1bとエンドデバイス2bの組み合わせは、そのような組み合わせの例である。そして、コーディネータ1bとエンドデバイス2bの組み合わせに関しては、プル型通信が失敗することがある。具体的には以下のとおりである。
【0038】
コーディネータ1bも、コーディネータ1aと同様に、適宜の位置に予め設置され、定期的にビーコンを送信する。図1に網点パターンで示した領域3bは、コーディネータ1bから送信されるビーコンが受信可能な領域である。コーディネータ1bから領域3bの縁に向かう矢印は、ビーコンの送信方向を模式的に示す。
【0039】
エンドデバイス2bは、もし領域3b内に位置していれば、コーディネータ1bから送信されるビーコンを受信し、エンドデバイス2b宛のデータがあるか否かを、ビーコンの内容から判断する。そして、エンドデバイス2b宛のデータがあれば、エンドデバイス2bは、エンドデバイス2b宛のデータの送信をコーディネータ1bに要求する。コーディネータ1bは、もしエンドデバイス2bからの要求を受信することができれば、エンドデバイス2bからの要求に応じて、エンドデバイス2b宛のデータをエンドデバイス2bに送信する。
【0040】
ここで、図1に太線で輪郭を示した領域4aは、「移動機であるエンドデバイス2bから送信される要求が、所定位置に固定されたコーディネータ1bにおいて受信可能である」という条件を満たしつつ、エンドデバイス2bが移動可能な範囲を示す。図1において領域4bの縁からコーディネータ1bに向かう矢印は、領域4bの輪郭線上のある1点にエンドデバイス2bが位置しているときにエンドデバイス2bから送信される要求が、コーディネータ1bで受信可能であることを、模式的に示している。
【0041】
ここで、上記のとおり、コーディネータ1bの送信電波強度の方が、エンドデバイス2bの送信電波強度よりも大きい。よって、領域4bよりも領域3bの方が広い。つまり、領域4bは領域3bの内部に含まれる。したがって、たとえ下記の条件(2−1)が成立しても、条件(2−2)が成立するとは限らない。
【0042】
(2−1)コーディネータ1bから送信されるビーコンが、エンドデバイス2bで受信可能である(つまり、エンドデバイス2bが領域3b内に位置している)。
(2−2)エンドデバイス2bから送信される要求が、コーディネータ1bで受信可能である(つまり、エンドデバイス2bが領域4b内に位置している)。
【0043】
具体的には、領域3bには含まれるが領域4bには含まれないドーナツ状の領域5内にエンドデバイス2bが位置している場合には、条件(2−1)が成立し、かつ条件(2−2)が成立しない。そして、条件(2−1)が成立し、かつ条件(2−2)が成立しない場合、コーディネータ1bは、状況を誤認識することがある。
【0044】
ここで、エンドデバイス2b宛のペンディング状態のデータがあるとする。すると、コーディネータ1bは、エンドデバイス2bのIDを含むビーコンを送信する。
また、エンドデバイス2bは図1のように領域5内に位置しているとする。領域5は、ビーコンが受信可能な領域3bの一部であるから、エンドデバイス2bは上記ビーコンを受信し、コーディネータ1bにデータを要求する。しかし、領域5は、領域4bの外部なので、コーディネータ1bは要求を受信することができない。
【0045】
その結果、コーディネータ1bは、「エンドデバイス2b宛のデータがあることを、ビーコンを用いてコーディネータ1bが通知しているのに、エンドデバイス2bはコーディネータ1bにデータを要求してこない」と、状況を誤認識する。そして、プル型通信では、要求がなければコーディネータ1bはエンドデバイス2bにデータを送信しない。つまり、コーディネータ1bによる誤認識の結果、エンドデバイス2bにとっては、「ビーコンに応じてデータを要求しているのに、データが送信されてこない」という状況が生じる。
【0046】
もちろん、もしエンドデバイス2bが領域5内ではなく領域4b内に位置していれば、コーディネータ1bが要求を受信することができるので、上記のような誤認識は生じず、その結果、プル型通信は成功する。しかし、もしエンドデバイス2bが領域5内に位置していれば、上記のようにしてプル型通信は失敗する。
【0047】
また、通信が失敗した場合、コーディネータ1bはリトライ処理を行ってもよい。つまり、コーディネータ1bは、次のビーコンにもエンドデバイス2bのIDを含めることで、エンドデバイス2b宛のデータがあることを再度通知してもよい。同様に、エンドデバイス2bもリトライ処理を行うことができる。つまり、エンドデバイス2bは、データを再度要求してもよい。
【0048】
コーディネータ1bとエンドデバイス2bの一方または双方が何度かリトライ処理を繰り返しているうちに、場合によっては、エンドデバイス2bが領域5から領域4bへと移動することもあり得る。すると、最終的にはプル型通信が成功する。しかし、リトライ処理にかかる時間のぶんだけ、エンドデバイス2bによるデータの取得は遅延してしまう。
【0049】
図1に示した上記の2つの例から明らかなように、エンドデバイスの送信電波強度の方がコーディネータの送信電波強度よりも大きければ、通信エラーの生じる領域5は存在しない。そこで、ビーコンを用いたプル型通信が行われる無線通信システムにおいては、エンドデバイスの送信電波強度の方がコーディネータの送信電波強度よりも大きいことが望ましい。
【0050】
そこで、以下の実施形態のいずれにおいても、エンドデバイスの送信電波強度が状況に応じて調整される。なお、コーディネータではなくエンドデバイスの送信電波強度が調整される理由は、1台のコーディネータに対して複数台のエンドデバイスが対応することがあるからである。
【0051】
エンドデバイスの送信電波強度を調整するための具体的な方法の詳細は、図6〜13とともに後述するが、概要は次のとおりである。
以下の実施形態では、エンドデバイスの送信電波強度を示す指標として、エンドデバイスから送信された電波を受信したコーディネータで計測されるLQI(Link Quality IndicationまたはLing Quality Indicatorの略)が使われる。同様に、コーディネータの送信電波強度を示す指標として、コーディネータから送信された電波を受信したエンドデバイスで計測されるLQIが使われる。
【0052】
LQIは、受信された電波信号の品質を表す。LQIの値が大きいほど、通信状態が良好であり、換言すれば、リンク品質が高い。一般に、送信電波強度が大きいほど、LQIの値も大きい。したがって、LQIは、送信電波強度を示す指標として利用可能である。
【0053】
以下では説明の便宜上、エンドデバイスが送信した電波信号をコーディネータが受信したときにコーディネータで計測されるLQIを、「LQI_ED_CN」と表記する。同様に、コーディネータが送信した電波信号をエンドデバイスが受信したときにエンドデバイスで計測されるLQIを、「LQI_CN_ED」と表記する。
【0054】
第1実施形態と第2実施形態は、次の(3−1)〜(3−3)の点で共通である。
(3−1)コーディネータがLQI_ED_CNを計測し、エンドデバイスがLQI_CN_EDを計測する。
(3−2)コーディネータにおいて今後計測されるLQI_ED_CNが、エンドデバイスにおいて今後計測されるLQI_CN_EDよりも大きくなるように、エンドデバイスが、当該エンドデバイス自体の送信電波強度を調整する。
(3−3)調整は、コーディネータによって実際に計測されたLQI_ED_CNと、エンドデバイスによって実際に計測されたLQI_CN_EDとに応じて、行われる。そのために、具体的には、エンドデバイスは、コーディネータから送信される情報を用いる。
【0055】
第1実施形態と第2実施形態では、上記(3−3)においてコーディネータから送信される情報が異なる。
詳しくは後述するが、第1実施形態では、まずエンドデバイスがコーディネータにLQI_CN_EDを通知する。すると、コーディネータは、通知されたLQI_CN_EDと、計測したLQI_ED_CNに基づいて、エンドデバイスの送信電力の調整が必要か否かを判断することもでき、適切な調整パラメタを取得することもできる。第1実施形態では、コーディネータが必要に応じて調整パラメタをエンドデバイスに通知し、エンドデバイスは、調整パラメタにしたがって送信電波強度を調整する。
【0056】
他方、やはり詳しくは後述するが、第2実施形態では、コーディネータは単にエンドデバイスにLQI_ED_CNを通知するだけでよい。すると、エンドデバイスは、通知されたLQI_ED_CNと、計測したLQI_CN_EDに基づいて、エンドデバイスの送信電力の調整が必要か否かを自ら判断することもでき、適切な調整パラメタを自ら取得することもできる。第2実施形態のエンドデバイスは、取得した調整パラメタにしたがって送信電波強度を調整する。
【0057】
このように、エンドデバイスでの調整のために、コーディネータからエンドデバイスへと送信される情報の種類は、実施形態に応じて異なり得る。しかし、LQI_ED_CNと関連する何らかの情報(例えば、LQI_ED_CNに依存する値である調整パラメタ、または、LQI_ED_CN自体)がコーディネータからエンドデバイスに送信される点は、第1〜第2実施形態に共通である。
【0058】
図1の1つ目の例では、上記のとおり、コーディネータ1aの送信電波強度よりも、エンドデバイス2aの送信電波強度の方が大きい。よって、エンドデバイス2aで計測されるLQI_CN_EDよりも、コーディネータ1aで計測されるLQI_ED_CNの方が大きい。
【0059】
つまり、「LQI_CN_ED<LQI_ED_CN」という不等式が成り立つことは、通信エラーの原因となるドーナツ状の領域5が存在しないことを示唆する。よって、LQI_CN_ED<LQI_ED_CNの場合、エンドデバイス2aは送信電波強度を調整しなくてもよい。
【0060】
逆に、図1の2つ目の例では、エンドデバイス2bの送信電波強度よりも、コーディネータ1bの送信電波強度の方が大きい。よって、コーディネータ1bで計測されるLQI_ED_CNよりも、エンドデバイス2aで計測されるLQI_CN_EDの方が大きい。
【0061】
つまり、「LQI_ED_CN<LQI_CN_ED」という不等式が成り立つことは、通信エラーの原因となるドーナツ状の領域5が存在することを示唆する。よって、LQI_ED_CN<LQI_CN_EDの場合、エンドデバイス2bは、送信電波強度を調整する(具体的には、送信電波強度を大きくする)。
【0062】
エンドデバイス2bにおける調整は、上記(3−2)のとおり、コーディネータ1bにおいて今後計測されるLQI_ED_CNが、エンドデバイス2bにおいて今後計測されるLQI_CN_EDよりも大きくなるように、行われる。換言すれば、エンドデバイス2bにおける調整は、領域4bが領域3bよりも大きくなるように、エンドデバイス2bの送信電波強度を上げる調整である。
【0063】
調整の結果、エンドデバイス2bの送信電波強度がコーディネータ1bの送信電波強度よりも大きくなれば、領域4bは広がり、領域3bは、広がった領域4bの中に含まれることになる。つまり、調整の結果として、「領域4bには含まれないが、領域3bには含まれる」という領域5は、存在しなくなる。領域5が存在しなければ、エンドデバイス2bが領域5内に位置している場合に生じ得る通信エラーも、生じることはない。
【0064】
以上、図1を参照して概要を説明した調整方法によれば、通信エラーが防止され、よりロバストな通信が提供される。そして、以下のとおり、通信エラーの防止は、ユーザに対するサービスの向上を意味する。
【0065】
エンドデバイス2bを携帯するユーザは、エンドデバイス2bを介して、情報配信サービスなどのサービスを受ける。当該ユーザにとっての領域5は、通信エラーの発生によりサービスが受けられない領域である。上記の調整方法によって領域5がなくなることは、ユーザにとっては、サービスの途絶が回避されることを意味し、換言すれば、利便性が向上することを意味する。
【0066】
続いて、図2〜5を参照して、第1〜第2実施形態の共通点について、より具体的に説明する。図2は、無線通信システムの例を示す図である。第1〜第2実施形態は、いずれも、図2の無線通信システム10に適用可能である。
【0067】
無線通信システム10は、サーバ20と、複数のコーディネータと、複数のエンドデバイスを含む。図2には、複数のコーディネータの例として、2台のコーディネータ30と31が例示されている。また、図2には、複数のエンドデバイスの例として、3台のエンドデバイス40〜42が例示されており、このうちエンドデバイス41の移動も模式的に示されている。
【0068】
コーディネータ30と31の各々は、予め決められた適宜の場所に固定的に設置され、AC(Alternating Current)電源から電力を供給される。エンドデバイス40〜42の各々は、ユーザに携帯される移動端末であり、電池から電力を供給される。
【0069】
また、サーバ20ならびにコーディネータ30および31は、有線LAN(Local Area Network)50に接続されている。図2にはさらに、コーディネータ30から送信される電波信号が受信可能な領域60と、コーディネータ31から送信される電波信号が受信可能な領域61も、模式的に示されている。図2に例示するように、領域60と61は、部分的に重なり合っていることが好ましい。
【0070】
また、コーディネータ30と31のように隣接するコーディネータ同士は、異なる周波数チャネルを用いる。例えば、利用可能な複数の周波数チャネルのうち、コーディネータ30は「チャネル16」を用い、コーディネータ31は「チャネル15」を用いてもよい。図2では「チャネル16」と「チャネル15」をそれぞれ「CH16」と「CH15」のように略してある。
【0071】
図2に示すように、エンドデバイス41は、例えば、領域60内の位置(ただし領域61には含まれない位置)から、領域60と61が重なっている領域を通って、領域61内の位置(ただし領域60には含まれない位置)へと移動するかもしれない。あるいは、エンドデバイス41は、領域60内から、領域60にも領域61にも含まれない位置へと、移動するかもしれない。
【0072】
また、他のエンドデバイス40と42も移動し得るが、図2には、エンドデバイス40と42の移動は示していない。図2では、エンドデバイス40は領域60内にあり、エンドデバイス42は領域61内にある。
【0073】
ところで、無線通信システム10は、具体的には、IEEE(Institute of Electrical and Electronics Engineers)802.15.4規格に基づくシステムである。無線通信システム10では、図1に関して説明したような、ビーコンを用いたプル型通信が行われる。
【0074】
無線通信システム10の用途は任意だが、例えば、エンドデバイス40〜42をそれぞれ携帯する各ユーザに対して、ユーザごとに異なる情報を配信する情報配信サービスが、無線通信システム10によって提供されてもよい。例えば、無線通信システム10が病院内に設けられてもよく、ユーザは当該病院に来院した患者であってもよい。無線通信システム10は、エンドデバイスを携帯するユーザに対して、次に進む検査室の位置や待ち人数などに関する情報を配信するために用いられてもよい。
【0075】
サーバ20は、エンドデバイスごとに(4−1)〜(4−3)の情報を互いに対応づけて管理する。
【0076】
(4−1)当該エンドデバイスを識別する情報(例えば、当該エンドデバイスのID)
(4−2)当該エンドデバイスの位置に関する情報(例えば、当該エンドデバイスが参加要求(association request)を送信した先のコーディネータのID)
(4−3)当該エンドデバイスに配信しようとする情報
【0077】
サーバ20は、(4−1)と(4−2)の情報を、コーディネータから有線LAN50を介して取得する。また、サーバ20は、(4−3)の情報を、適宜のタイミングで生成してもよいし、不図示の他のシステムから取得してもよい。
【0078】
例えば、エンドデバイス40は、領域60の外から領域60の中へと入ってくるとき、コーディネータ30に参加要求を送信する。コーディネータ30は、エンドデバイス40からの参加要求を受信すると、ACK(acknowledgment)を送信するとともに、エンドデバイス40のIDとコーディネータ30のIDのペアを、有線LAN50を介してサーバ20に通知する。その結果として、サーバ20は、エンドデバイス40に関して、(4−1)と(4−2)の情報を取得する。
【0079】
サーバ20は、他のエンドデバイス41〜42に関しても、同様に、コーディネータ30または31から(4−1)と(4−2)の情報を取得する。例えば、エンドデバイス41が領域60の外から領域60の中に入ってくると、サーバ20は、コーディネータ30から、エンドデバイス41についての(4−1)と(4−2)の情報を取得する。
【0080】
そして、エンドデバイス41が領域60から領域61に移動するとき、エンドデバイス41はコーディネータ31に参加要求を送信する。コーディネータ31は、エンドデバイス41からの参加要求を受信すると、ACKを送信するとともに、エンドデバイス41のIDとコーディネータ31のIDのペアを、サーバ20に通知する。その結果として、サーバ20は、エンドデバイス41について取得済みの(4−2)の情報を更新する。
【0081】
こうして、エンドデバイス41の移動にともなって、サーバ20での情報も適宜更新される。したがってエンドデバイス41宛の新たな情報をサーバ20が生成または取得した場合、サーバ20は、エンドデバイス41宛の新たな情報を、有線LAN50を介して、適宜のコーディネータに送信することができる。
【0082】
例えば、エンドデバイス41が領域60内に位置していれば、サーバ20は、コーディネータ30に情報を送信する。逆に、エンドデバイス41が領域61内に位置していれば、サーバ20は、コーディネータ31に情報を送信する。よって、エンドデバイス41は、位置に応じて、コーディネータ30または31から、情報を受信することができる。
【0083】
ところで、図1を参照して説明した、領域5に起因する通信エラーは、図2の無線通信システム10内に1台のコーディネータと1台のエンドデバイスしか存在しない場合にも生じ得る問題である。よって、図1を参照して説明した調整方法は、無線通信システム10に含まれるコーディネータの台数や、無線通信システム10に含まれるエンドデバイスの台数によらず、有益である。
【0084】
しかし、上記調整方法の利点は、無線通信システム10が図2のように複数のコーディネータと複数のエンドデバイスを含む場合に、一層顕著である。以下では、図1を参照して説明した問題と調整方法について、さらに詳しく説明する。
【0085】
図3は、コーディネータとエンドデバイス間の距離と、エンドデバイスで受信されるビーコンのLQIとの関係を示すグラフである。ここで説明の便宜上、図3のグラフは、具体的には図2のコーディネータ30とエンドデバイス41の組み合わせに関するグラフであるものとする。
【0086】
図3のグラフの横軸は、コーディネータ30とエンドデバイス41の間の距離Dを示す。また、図3のグラフの縦軸は、コーディネータ30から送信されるビーコンをエンドデバイス41が受信したときに、エンドデバイス41により計測されるLQIの値Lを示す。
【0087】
なお、図2の無線通信システム10は、上記のとおり802.15.4規格にしたがったシステムである。つまり、コーディネータ30〜31とエンドデバイス40〜42のそれぞれは、802.15.4規格にしたがった無線通信機能を有する。そして、802.15.4規格によれば、フレームが受信されると、物理層でLQIが計測され、計測されたLQIの値が物理層からMAC(Medium Access Control)副層へと通知される。ビーコンもフレームの1種なので、エンドデバイス41は、コーディネータ30から送信されるビーコンを受信すると、受信したビーコンに関するLQIを計測する。こうしてエンドデバイス41で計測されるLQIの値Lが、図3の縦軸に対応する。
【0088】
802.15.4規格では、LQIの値は、0x00以上0xFF以下である(なお「0x」という接頭辞は16進数を示す)。ここで、0<D1<D2<D3<D4とする。図3の例では、距離Dの値がD1、D2、D3、D4のときにそれぞれ計測されるLQIの値Lは、それぞれ、0xF0、0x80、0x20、0x00である。つまり、エンドデバイス41がコーディネータ30から遠ざかるほど、LQIは低下する。
【0089】
図3によれば、エンドデバイス41は、距離D4までコーディネータ30から離れてしまうと、コーディネータ30からのビーコンをまったく受信することができない。また、図3の例では、0x20という値が、チャネルスキャンを開始するか否かをエンドデバイス41が判断するための閾値として使われている。換言すれば、図3の例では、エンドデバイス41が距離D3までコーディネータ30から離れてしまうと、エンドデバイス41はコーディネータ30の通信圏外になってしまうので、他のコーディネータを探す。
【0090】
具体的には、コーディネータ30から受信されるビーコンのLQIが閾値0x20未満の場合、エンドデバイス41は、「コーディネータ30から受信される電波信号の強度が弱い」と判断し、チャネルスキャンを開始する。図2の例では、コーディネータ30はチャネル16を使っている。よって、チャネル16で受信されるビーコンのLQIが閾値0x20未満になった場合、エンドデバイス41は、コーディネータ30以外の他のコーディネータが周囲にあるか否かを調査するため、チャネル16以外の1つ以上のチャネルをスキャンする。チャネルスキャンでは、具体的には、スキャン対象の各チャネルで送信されるビーコンのLQIが計測される。
【0091】
エンドデバイス41は、複数のチャネル(例えば、予め決められている4個〜8個程度のチャネル)をスキャンしてもよい。そして、エンドデバイス41は、それら複数のチャネルのうちで受信電波強度が最大のチャネル(すなわちLQIが最大のチャネル)に対応するコーディネータへ、参加要求を送信してもよい。
【0092】
または、LQIが所定の閾値(例えば上記と同じ閾値0x20か、それより大きい他の閾値)以上のチャネルが見つかれば、エンドデバイス41は、予め決められた複数のチャネルすべてをスキャンしなくてもよい。この場合、エンドデバイス41は、見つかったチャネルに対応するコーディネータへ参加要求を送信してもよい。
【0093】
例えば、図2のようにエンドデバイス41がコーディネータ31に向かって移動する場合、チャネルスキャンの結果として、「チャネル15の受信電波強度が強い」と判明する。よって、エンドデバイス41は、チャネル15を使っているコーディネータ31に参加要求を送信する。コーディネータ31が参加要求を受信すると、エンデバイス41に関して、コーディネータ30からコーディネータ31へのハンドオーバが実現される。
【0094】
もちろん、図2に示すように、エンドデバイス41が、領域60にも領域61にも含まれない場所へと移動してしまうこともあり得る。この場合、エンドデバイス41は、チャネルスキャンを行っても、LQIが所定の閾値以上のチャネルを見つけることができない。つまり、エンドデバイス41はいわゆる「迷子」(orphan)の状態である。
【0095】
迷子になったエンドデバイス41は、適宜の時間が経過するまで待ってから、再度チャネルスキャンを行う。例えば、一旦迷子になったエンドデバイス41は、そのうち領域61の範囲内へと移動するかもしれない。この場合、エンドデバイス41が領域61内でチャネルスキャンを行うと、エンドデバイス41は、コーディネータ31から送信されるチャネル15の電波を十分な強度で受信することができる。つまり、エンドデバイス41はチャネル15を検出する。その結果、エンドデバイス41はコーディネータ31へ参加要求を送信する。
【0096】
もちろん、エンドデバイス41が迷子になった後の最初のチャネルスキャンで、必ずチャネルが検出されるとは限らない。エンドデバイス41は、もし迷子になったら、いずれかのチャネルが検出されるまで、適宜の間隔をおいて、チャネルスキャンを繰り返す。
【0097】
以上のように、LQIは、ハンドオーバの要否(つまりチャネルスキャンの要否)を判断するための基準としても利用されるし、チャネルスキャンにおいて適切なチャネルを選ぶための基準としても利用される。また、図3に示すように、LQIの値Lは距離Dに依存するので、LQIは、コーディネータまでの距離を推定するための数値としても利用可能である。
【0098】
なお、実際の無線通信環境では、LQIは距離Dのみに依存するのではなく、マルチパスフェージングなどの影響も受ける。しかし、図3では簡単化のため、距離D以外の要因を無視して、距離DとLQIの値Lとの間の関係を模式的に示している。同様に、図1の領域3a、4a、3b、および4bがいずれも円形に描かれているのも、説明の簡単化のためである。領域3a、4a、3b、および4bの実際の形状は、必ずしも円形とは限らない。
【0099】
ところで、図3のグラフは、エンドデバイス41で計測されるLQI(すなわちLQI_CN_ED)と距離Dの関係を示すが、コーディネータ30で計測されるLQI(すなわちLQI_ED_CN)も、同様に距離Dに依存する。つまり、距離Dが大きくなるにつれ、LQI_ED_CNは小さくなる。
【0100】
そして、LQI_CN_EDとLQI_ED_CNは、距離に依存するだけでなく、コーディネータとエンドデバイスの組み合わせによっても異なる。つまり、コーディネータとエンドデバイスの2つのペアの間で比較すると、たとえコーディネータとエンドデバイスの間の距離が2つのペアで同じであっても、LQI_CN_EDまたはLQI_ED_CNが2つのペア間で異なる場合がある。その理由は、コーディネータの製造ばらつきとエンドデバイスの製造ばらつきである。
【0101】
例えば、ある距離D5がD1<D5<D2を満たすとして、領域60内でコーディネータ30から距離D5の位置にエンドデバイス41があるとする。そして、当該位置においてエンドデバイス41で計測される、コーディネータ30からのビーコンのLQIが、0xA0だとする。
【0102】
また、コーディネータ30から距離D5の上記位置にエンドデバイス41があるとき、エンドデバイス41から送信される電波信号(例えばデータ要求のための電波信号)を受信したコーディネータ30において計測されるLQIが、0xB0であるとする。つまり、コーディネータ30とエンドデバイス41の組み合わせに関して、距離D5では、不等式(1)が成り立つ。
LQI_CN_ED=0xA0 < LQI_ED_CN=0xB0 (1)
【0103】
他方、エンドデバイス41が、領域61内でコーディネータ31から距離D5の位置にある場合に、エンドデバイス41で計測されるコーディネータ31からのビーコンのLQIは、0xC0かもしれない。そして、エンドデバイス41が当該位置にあるときに、エンドデバイス41から送信される電波信号を受信したコーディネータ31において計測されるLQIは、上記と同様に0xB0かもしれない。すると、コーディネータ31とエンドデバイス41の組み合わせに関して、距離D5では、不等式(2)が成り立つ。
LQI_CN_ED=0xC0 > LQI_ED_CN=0xB0 (2)
【0104】
不等式(1)と(2)のようにLQI_CN_EDとLQI_ED_CNの相対関係が異なる理由の1つは、コーディネータ30と31の間での製造ばらつきである。不等式(1)と(2)は、コーディネータ31の送信電波強度が、コーディネータ30の送信電波強度よりも大きいことを示している。
【0105】
また、不等式(1)は、コーディネータ30の送信電波強度よりもエンドデバイス41の送信電波強度の方が大きいことを示している。逆に、不等式(2)は、コーディネータ31の送信電波強度の方がエンドデバイス41の送信電波強度よりも大きいことを示している。
【0106】
また、コーディネータ30から距離D5の上記位置に、エンドデバイス41とは別のエンドデバイス40があるときに、エンドデバイス40で計測されるコーディネータ30からのビーコンのLQIは、上記と同様に0xA0かもしれない。しかし、当該位置にエンドデバイス40があるとき、エンドデバイス40から送信される電波信号を受信したコーディネータ30において計測されるLQIは、0x90かもしれない。つまり、コーディネータ30とエンドデバイス40の組み合わせに関して、距離D5では、不等式(3)が成り立つ。
LQI_CN_ED=0xA0 > LQI_ED_CN=0x90 (3)
【0107】
不等式(1)と(3)のようにLQI_CN_EDとLQI_ED_CNの相対関係が異なる理由の1つは、エンドデバイス40と41の間での製造ばらつきである。不等式(1)と(3)は、エンドデバイス41の送信電波強度が、エンドデバイス40の送信電波強度よりも大きいことを示している。また、不等式(3)は、コーディネータ30の送信電波強度の方がエンドデバイス40の送信電波強度よりも大きいことを示している。
【0108】
以上のように、コーディネータ間の製造ばらつきとエンドデバイス間の製造ばらつきが原因で、同じ距離でも、コーディネータとエンドデバイスの組み合わせに応じて、LQI_CN_EDとLQI_ED_CNの相対関係が異なり得る。なお、不等式(1)〜(3)では、説明の便宜上、ある特定の距離D5に関して値が例示されているが、マルチパスフェージングなどの影響を無視すれば、LQI_CN_EDとLQI_ED_CNの相対関係は、距離により変わることはない。
【0109】
例えば、不等式(2)の関係が成立するコーディネータ31とエンドデバイス41の組み合わせに関して、コーディネータ31とエンドデバイス41の距離がD6の場合(ただしD5<D6<D2)、ある環境下では不等式(4)が成り立つ。
LQI_CN_ED=0x90 > LQI_ED_CN=0x80 (4)
【0110】
不等式(2)と(4)を比べると、距離に応じてLQI_CN_EDとLQI_ED_CNの具体的な値は変化しているが、どちらの不等式でも、LQI_CN_EDの方がLQI_ED_CNより大きい。つまり、コーディネータ31の送信電波強度の方がエンドデバイス41の送信電波強度よりも大きい場合、不等式(2)と(4)に示すように、コーディネータ31とエンドデバイス41の距離によらず、LQI_CN_EDの方がLQI_ED_CNより大きい。
【0111】
ところで、LQI_CN_EDの方がLQI_ED_CNより大きい場合、図1に関して説明したように、通信エラーが生じることがある。例えば、不等式(2)と(4)に示す状況では、LQI_ED_CNでも閾値0x20よりは大きいので、コーディネータ31はエンドデバイス41からの要求を受信することができ、その結果、プル型通信は成功する。しかし、エンドデバイス41がコーディネータ31からさらに離れると、ある距離D7において、不等式(5)が成立することがある。
LQI_CN_ED=0x25 > 0x20 > LQI_ED_CN=0x15 (5)
【0112】
不等式(5)も、コーディネータ31とエンドデバイス41の組み合わせに関する。よって、不等式(5)でも、不等式(2)および(4)と同様に、LQI_CN_EDの方がLQI_ED_CNより大きい。また、不等式(5)は、コーディネータ31の送信するビーコンがエンドデバイス41では受信可能なのに、エンドデバイス41の送信する要求がコーディネータ31では受信不能なことを示す。つまり、不等式(5)は、エンドデバイス41が図1の領域5のような領域内に位置している状況を示し、当該状況ではプル型通信が失敗する。
【0113】
なお、不等式(5)と同様にLQI_CN_EDの値が0x25の場合でも、不等式(1)のようにLQI_ED_CNの方がLQI_CN_EDより大きいコーディネータ30とエンドデバイス41の組み合わせに関しては、プル型通信は成功する。例えば、コーディネータ30とエンドデバイス41の組み合わせに関して、ある距離では不等式(6)が成立する。
LQI_ED_CN=0x35 > LQI_CN_ED=0x25 > 0x20 (6)
【0114】
不等式(6)は、コーディネータ30の送信するビーコンがエンドデバイス41で受信可能であり、かつ、エンドデバイス41の送信する要求がコーディネータ30で受信可能であることを示す。つまり、不等式(6)は、エンドデバイス41が図1の領域3aのような領域内に位置している状況を示し、当該状況ではプル型通信が成功する。
【0115】
以上の不等式(5)と(6)に示すように、同じエンドデバイス41において同じLQI_CN_EDの値0x25が得られたとしても、コーディネータによって、通信エラーが生じることもあるし、通信エラーが生じないこともある。
【0116】
また、エンドデバイス41と42との間の製造ばらつきに起因して、エンドデバイス42とコーディネータ31の間では、LQI_CN_EDよりもLQI_ED_CNの方が大きいかもしれない。すると、エンドデバイス41とコーディネータ31の間では、不等式(5)の状況において通信エラーが生じるのに対して、エンドデバイス42とコーディネータ31の間では、そのような通信エラーは生じない。
【0117】
以上説明したように、コーディネータとエンドデバイスの組み合わせごとに、通信エラーの生じる領域5が存在するかもしれないし、存在しないかもしれない。そこで、図1に関して説明した調整方法により、各エンドデバイスは、現在当該エンドデバイスが参加しているコーディネータに応じて、適宜当該エンドデバイス自体の送信電波強度を調整する。つまり、調整は、ハンドオーバが生じるごとに少なくとも1回は行われることが望ましい。
【0118】
そして、無線通信システム10内の各エンドデバイスが調整を行う結果として、エンドデバイスと当該エンドデバイスが参加しているコーディネータとの任意の組み合わせに関して、LQI_CN_ED<LQI_ED_CNという不等式が成り立つ。すなわち、どの組み合わせに関しても、図1の領域5のような領域がなくなり、通信エラーが回避される。
【0119】
なお、各エンドデバイスは、単にLQI_CN_ED<LQI_ED_CNという不等式が成り立つように送信電波強度を調整するだけでなく、LQI_ED_CNが大きくなりすぎないように送信電波強度を調整することが好ましい。移動機であるエンドデバイスの電源は電池なので、無駄な電力消費を抑えることが好ましいからである。
【0120】
つまり、エンドデバイスの送信電波強度は、不必要に大きくなくてよい。エンドデバイスの送信電波強度は、LQI_ED_CNがLQI_CN_EDよりもわずかに大きくなる程度にまで高められれば、十分である。
【0121】
例えば、マージンが5%の場合は、LQI_ED_CNが不等式(7)を満たすように、エンドデバイスの送信電波強度が調整されることが好ましい。もちろん、「5%」という値は単なる例示であり、他の値が採用されてもよい。
LQI_CN_ED < LQI_ED_CN < LQI_CN_ED×1.05 (7)
【0122】
また、マージンは「5%」のような相対的な比率で表されるのではなく、「10」のような固定値で表されてもよい。例えば、マージンが10の場合は、LQI_ED_CNが不等式(8)を満たすように、エンドデバイスの送信電波強度が調整されることが好ましい。もちろん、「10」という値は単なる例示であり、他の値が採用されてもよい。
LQI_CN_ED < LQI_ED_CN < LQI_CN_ED+10 (8)
【0123】
続いて、エンドデバイスとコーディネータの構成について図4〜5を参照して説明する。
図4はエンドデバイスのブロック構成図である。図1のエンドデバイス2aと2b、図2のエンドデバイス40〜42は、いずれも、図4のエンドデバイス100のように構成されている。
【0124】
エンドデバイス100は、物理層の処理を行うトランシーバ110と、MAC副層以上の層の処理を行うコントローラ120を有する。また、エンドデバイス100は、ユーザインタフェイス用の出力装置として、ディスプレイ130とスピーカ140の一方または双方を有する。
【0125】
トランシーバ110とコントローラ120の間は、例えばSPI(Serial Peripheral Interface)などの適宜のインタフェイスを介して接続されている。また、ディスプレイ130とスピーカ140もそれぞれ、適宜のインタフェイスを介してコントローラ120に接続されている。
【0126】
トランシーバ110は、エンドデバイス100の通信機能を実現する。具体的には、トランシーバ110は、アンテナ111と、LQI計測回路112と、ゲイン調整回路113を含む。もちろん、トランシーバ110は、そのほかにも、不図示のAD(Analog-to-Digital)変換器、DA(Digital-to-Analog)変換器、変調器、復調器、増幅器などの様々な回路を含む。トランシーバ110は、送受信バッファ用のRAM(Random Access Memory)や、コントローラ120からアクセス可能なレジスタなどを含んでいてもよい。
【0127】
図4には1本の送受信用のアンテナ111が図示されているが、トランシーバ110は、送信用のアンテナと受信用のアンテナを別々に有していてもよい。
【0128】
LQI計測回路112は、アンテナ111が受信した電波信号(具体的には、802.15.4規格にしたがったフレームを表す電波信号)のLQIを計測する。LQI計測回路112は、トランシーバ110とコントローラ120との間のインタフェイスを介して、コントローラ120へと計測結果を出力してもよい。または、LQI計測回路112は、コントローラ120からアクセス可能なトランシーバ110内の所定のレジスタ(またはコントローラ120からアクセス可能なトランシーバ110内のRAM)に、計測結果を書き込んでもよい。
【0129】
ゲイン調整回路113は、アンテナ111から放射する送信電波の強度を調整する。例えば、トランシーバ110は、可変ゲイン増幅器を有していてもよく、ゲイン調整回路113は、可変ゲイン増幅器のゲインを調整することで送信電波強度を調整する回路であってもよい。あるいは、トランシーバ110は、増幅率の異なる複数の増幅器を有していてもよく、ゲイン調整回路113は、複数の増幅器間の切り換えにより送信電波強度を調整する回路であってもよい。
【0130】
コントローラ120は、エンドデバイス100全体を制御する。具体的には、コントローラ120は、CPU(Central Processing Unit)121と、タイマ122と、不揮発性記憶装置123と、RAM124を含む。
【0131】
CPU121は、不揮発性記憶装置123に記憶されているプログラムをRAM124にロードし、RAM124をワーキングエリアとしても用いながら、プログラムを実行する。タイマ122は時間を計測する。CPU121は、タイマ122の計測する時間を参照しながら、あるいは、タイマ122からの割り込み信号に応じて、処理を実行してもよい。不揮発性記憶装置123は、例えば、フラッシュメモリのような半導体メモリ装置であってもよいし、ハードディスク装置のような磁気ディスク装置であってもよい。
【0132】
物理層とMAC副層の間の連携は、次のようにして行われてもよい。例えば、エンドデバイス100がフレームを受信すると、トランシーバ110からコントローラ120へと割り込み信号が出力されてもよい。コントローラ120は、割り込み信号に応じて、MAC副層およびその上位層の処理を実行してもよい。また、上位層またはMAC副層でのイベントの発生に応じて、コントローラ120がMAC副層のフレームを生成し、フレームのデータをトランシーバ110に出力してもよい。すると、トランシーバ110では物理層の処理を行い、当該フレームを表す電波信号をアンテナ111から送信する。
【0133】
さて、図5はコーディネータのブロック構成図である。図1のコーディネータ1aと1b、図2のコーディネータ30と31は、いずれも、図5のコーディネータ200のように構成されている。
【0134】
コーディネータ200は、物理層の処理を行うトランシーバ210と、MAC副層以上の層の処理を行うコントローラ220を有する。また、コーディネータ200は、図2の有線LAN50を介したサーバ20との間の接続のために、有線LANインタフェイス230を有する。
【0135】
トランシーバ210とコントローラ220の間は、例えばSPIなどの適宜のインタフェイスを介して接続されている。また、有線LANインタフェイス230も、適宜のバスによりコントローラ220に接続されている。
【0136】
トランシーバ210は、コーディネータ200の通信機能を実現する。具体的には、トランシーバ210は、アンテナ211とLQI計測回路212を含む。もちろん、トランシーバ210は、そのほかにも、不図示のAD変換器、DA変換器、変調器、復調器、増幅器などの様々な回路を含む。トランシーバ210は、トランシーバ110のゲイン調整回路113と同様の回路をさらに含んでいてもよい。また、トランシーバ210は、送受信バッファ用のRAMや、コントローラ220からアクセス可能なレジスタなどを含んでいてもよい。
【0137】
図5には1本のアンテナ211が図示されているが、トランシーバ210は、送信用のアンテナと受信用のアンテナを別々に有していてもよい。
【0138】
LQI計測回路212は、アンテナ211が受信した電波信号(具体的には、802.15.4規格にしたがったフレームを表す電波信号)のLQIを計測する。LQI計測回路212は、トランシーバ210とコントローラ220との間のインタフェイスを介して、コントローラ220へと計測結果を出力してもよい。または、LQI計測回路212は、コントローラ220からアクセス可能なトランシーバ210内の所定のレジスタ(またはコントローラ220からアクセス可能なトランシーバ210内のRAM)に、計測結果を書き込んでもよい。
【0139】
コントローラ220は、コーディネータ200全体を制御する。具体的には、コントローラ220は、CPU221と、タイマ222と、不揮発性記憶装置223と、RAM224を含む。
【0140】
CPU221は、不揮発性記憶装置223に記憶されているプログラムをRAM224にロードし、RAM224をワーキングエリアとしても用いながら、プログラムを実行する。タイマ222は時間を計測する。CPU221は、タイマ222の計測する時間を参照しながら、あるいは、タイマ222からの割り込み信号に応じて、処理を実行してもよい。不揮発性記憶装置223は、例えば、フラッシュメモリのような半導体メモリ装置であってもよいし、ハードディスク装置のような磁気ディスク装置であってもよい。
【0141】
物理層とMAC副層の間の連携は、次のようにして行われてもよい。例えば、コーディネータ200がフレームを受信すると、トランシーバ210からコントローラ220へと割り込み信号が出力されてもよい。コントローラ220は、割り込み信号に応じて、MAC副層およびその上位層の処理を実行してもよい。また、上位層またはMAC副層でのイベントの発生に応じて、コントローラ220がMAC副層のフレームを生成し、フレームのデータをトランシーバ210に出力してもよい。すると、トランシーバ210では物理層の処理を行い、当該フレームを表す電波信号をアンテナアンテナ211から送信する。
【0142】
以上、図4〜5を参照して説明したように、エンドデバイス100は、無線通信システム10で使われる無線通信機(より詳しくは移動無線通信機)である。そして、コーディネータ200は無線通信システム10で使われる無線通信機(より詳しくは固定無線通信機)である。
【0143】
エンドデバイス100のトランシーバ110は、コーディネータ200から送信される電波信号を受信する受信手段の具体例でもあり、電波信号を送信する送信手段の具体例でもある。また、トランシーバ110内のLQI計測回路112は、受信手段が受信した電波信号の品質を計測する計測手段の具体例である。
【0144】
同様に、コーディネータ200のトランシーバ210は、エンドデバイス100から送信される電波信号を受信する受信手段の具体例でもあり、電波信号を送信する送信手段の具体例でもある。また、トランシーバ210内のLQI計測回路212は、受信手段が受信した電波信号の品質を計測する計測手段の具体例である。
【0145】
また、エンドデバイス100では、CPU121と、CPU121からの出力に応じて送信電波強度を調整するゲイン調整回路113により、調整手段が実現される。LQI計測回路212が計測した第1の品質(具体的にはLQI_ED_CN)が、LQI計測回路112が計測した第2の品質(具体的にはLQI_CN_ED)よりも低い場合、ゲイン調整回路113は、トランシーバ110が送信する電波信号の強度を上げる。そして、ゲイン調整回路113によるこのような強度の調整は、CPU121による制御にしたがって行われる。
【0146】
より具体的には、第1の品質が第2の品質よりも低い場合、ゲイン調整回路113は、LQI計測回路212により今後計測される品質がLQI計測回路112により今後計測される品質よりも高くなるように、CPU121による制御にしたがって、強度を上げる。
【0147】
続いて、図6〜10を参照して第1実施形態について詳しく説明する。図6は、第1実施形態の通信シーケンスの例である。第1実施形態は、上記のとおり、図2の無線通信システム10に適用される。また、無線通信システム10内の各エンドデバイスは、図4のエンドデバイス100のように構成され、無線通信システム10内の各コーディネータは、図5のコーディネータ200のように構成される。図6には、無線通信システム10中のエンドデバイス100とコーディネータ200との間の通信シーケンスの例が示されている。
【0148】
ステップS101で、コーディネータ200はビーコンを送信する。エンドデバイス100は、コーディネータ200からのビーコンが受信可能な領域に位置していれば、ビーコンを受信する。図6の例では、エンドデバイス100はビーコンが受信可能な領域に位置している。エンドデバイス100のトランシーバ110で受信されたビーコンのLQI(つまりLQI_CN_ED)は、LQI計測回路112により計測され、計測結果はコントローラ120のCPU121に認識される。
【0149】
エンドデバイス100は、例えば、電源投入直後にステップS101のビーコンを受信した場合や、図6には示していない他のコーディネータに今まで参加していた場合に、ステップS102で参加要求を送信する。より具体的には、ステップS102での参加要求には、ステップS101で計測された、ビーコンのLQI_CN_EDが含まれる。
【0150】
ここで、もしエンドデバイス100の送信電波強度よりもコーディネータ200の送信電波強度の方が大きければ、エンドデバイス100が図1の領域5のような領域に位置している可能性がある。つまり、ステップS102で送信される参加要求を、コーディネータ200が受信することができない可能性がある。しかし、図6の例では、ステップS102で送信される参加要求をコーディネータ200が受信することができるものと仮定している。そして、以上のような仮定を設けても、実際上の問題は特に生じない。
【0151】
例えば、無線通信システム10は、病院、銀行、ショッピングモール、展示会場などで、ユーザに情報配信サービスを提供するために使われてもよく、受付で各ユーザに1台のエンドデバイス100が貸与されてもよい。そして、受付の近傍にコーディネータ200が予め設置されていてもよく、受付係員がユーザにエンドデバイス100を貸与するときにエンドデバイス100に電源を入れてもよい。すると、電源が入れられたばかりのエンドデバイス100は、受付の近傍に設置された上記コーディネータ200と十分に近い位置にあると期待される。したがって、コーディネータ200がステップS102の参加要求を受信することができると仮定しても、差し支えない。
【0152】
また、不図示の他のコーディネータから図6のコーディネータ200へのハンドオーバが生じる場合は、エンドデバイス100がコーディネータ200へ近づきつつある場合である。つまり、「仮にエンドデバイス100が偶然図1の領域5のような領域内に存在するとしても、そのうち、エンドデバイス100は、エンドデバイス100から送信される電波信号をコーディネータ200が受信することのできる領域内へと移動する」と予測される。換言すれば、「仮に、エンドデバイス100が1回目に送信した参加要求がコーディネータ200で受信不能だとしても、エンドデバイス100が参加要求の送信を何度か繰り返せば、いずれ参加要求コーディネータ200で受信可能となる」と予測される。
【0153】
よって、ステップS102の参加要求がコーディネータ200で受信可能であると仮定しても、実際上の問題は特に生じない。そして、コーディネータ200は、ステップS102の参加要求を受信すると、ステップS103でACKを送信し、ステップS104でさらに、受付通知を送信する。ステップS104での受付通知は、必要に応じて、エンドデバイス100に送信電波強度を調整させるための調整コマンドを含む。
【0154】
より具体的には、コーディネータ200は以下のように動作する。ステップS102の参加要求をコーディネータ200のトランシーバ210が受信すると、LQI計測回路212がLQI(すなわちLQI_ED_CN)を計測する。よって、コントローラ220のCPU221は計測結果を認識することができる。
【0155】
また、ステップS102の参加要求は、上記のとおりLQI_CN_EDを含む。したがって、MAC副層の処理を行うコントローラ220のCPU221は、参加要求に含まれるLQI_CN_EDの値も認識することができる。
【0156】
そこで、CPU221は、LQI計測回路212により計測されたLQI_ED_CNと、参加要求とともにエンドデバイス100から通知されたLQI_CN_EDとを比較する。図1に示すとおり、もし、LQI_CN_EDの方がLQI_ED_CNより小さければ、調整は不要である。逆に、もし、LQI_CN_EDの方がLQI_ED_CNより大きければ、エンドデバイス100に送信電波強度を上げさせるための調整コマンドを、CPU221は生成する。
【0157】
調整コマンドの生成の詳細は後述するが、CPU221は、LQI_CN_EDとLQI_ED_CNの値に応じて、エンドデバイス100のゲイン調整回路113用の調整パラメタを決定してもよい。調整コマンドは、決定された調整パラメタを含んでもよい。
【0158】
受付通知が調整コマンドを含む場合、エンドデバイス100は、調整コマンドにしたがって送信電波強度を調整する。例えば、調整コマンドを含む受付通知のフレームから、CPU121が調整パラメタの値を抽出し、抽出した値をトランシーバ110に出力する。そして、トランシーバ110内のゲイン調整回路113は、出力された値に応じて、アンテナ111から送信される電波信号の強度を調整する。ゲイン調整回路113は、具体的には、例えば、可変ゲインの値を変えたり、または、複数の増幅器の中から適宜のものを選択したりすることにより、電波信号の強度を調整してもよい。
【0159】
以上のようなステップS101〜S104の通信により、エンドデバイス100はコーディネータ200に参加する。なお、コーディネータ200は、ステップS102で参加要求を受信すると、サーバ20にエンドデバイス100のIDを通知する。よって、エンドデバイス100宛のデータをサーバ20が生成または取得すると、サーバ20は、有線LAN50を介して当該データをコーディネータ200へと送信する。
【0160】
コーディネータ200は定期的にビーコンを送信する。図6の例では、ステップS105でコーディネータ200がビーコンを送信する。
【0161】
ここで、ステップS105の実行時点では、コーディネータ200から送信されるビーコンが受信可能な領域内に、エンドデバイス100が、まだ、とどまっているものとする。また、ステップS105の少し前に、サーバ20が、エンドデバイス100宛のデータを生成または取得したとする。
【0162】
この場合、サーバ20は、「エンドデバイス100はコーディネータ200に参加している」と認識しているので、エンドデバイス100宛のデータを、有線LAN50を介してコーディネータ200に送信する。その結果、ステップS105でコーディネータ200は、エンドデバイス100のIDを含むビーコンを生成して送信する。
【0163】
エンドデバイス100は、エンドデバイス100自体のIDがビーコンに含まれるため、「エンドデバイス100宛のデータがコーディネータ200でペンディングになっている」と認識する。そこで、ステップS106でエンドデバイス100は、データ要求をコーディネータ200に送信する。
【0164】
また、エンドデバイス100のLQI計測回路112は、ステップS101と同様にステップS105においてもビーコンのLQI_CN_EDを計測する。ステップS106では、エンドデバイス100が、計測したLQI_CN_EDもコーディネータ200に通知する。なお、データ要求用のフレームとLQIの通知用の別のフレームが使われてもよいし、データ要求とLQIの通知が1つのフレームにまとめられてもよい。
【0165】
ここで、ステップS106のデータ要求およびLQIの通知は、高い確率で、コーディネータ200で受信可能である。なぜなら、ステップS104で必要に応じてエンドデバイス100の送信電波強度が調整されており、調整の結果として、ステップS105〜S106では、高い確率で、LQI_CN_ED<LQI_ED_CNという不等式が成り立つからである。
【0166】
なお、「高い確率で」と述べたのは、まれには上記不等式が成り立たないことがあるからである。その理由は、無線通信環境が、エンドデバイス100とコーディネータ200以外の他の物体(例えば、他のユーザ、カートなどの移動物体、および、柱や壁などの固定された物体など)の影響を受けるからである。
【0167】
LQIは、受信された電波信号の強度に基づいて計測される品質を示すので、送信された電波信号の強度に依存するだけでなく、環境中の他の要因(例えば他の物体の位置など)にも依存し得る。ステップS104での調整は、ステップS101〜S104における環境下でLQI_CN_ED<LQI_ED_CNという不等式が成り立つように行われるが、環境の変動により、ステップS105〜S106では当該不等式が成り立たないこともあり得る。
【0168】
しかし、多くの場合は、ステップS105〜S106でもLQI_CN_ED<LQI_ED_CNという不等式が成り立つと期待される。よって、以下では、ステップS106のデータ要求がコーディネータ200で受信可能である、と仮定して説明する。
【0169】
コーディネータ200は、ステップS106のデータ要求とLQI_CN_EDの通知を受信すると、ステップS107でACKを送信し、ステップS108でさらに、エンドデバイス100宛のデータ(すなわちペンディング状態のデータ)を送信する。ステップS108で送信されるデータには、必要に応じて、ステップS104と同様に調整コマンドが含まれる。
【0170】
より具体的には、コーディネータ200は以下のように動作する。ステップS106のデータ要求をコーディネータ200のトランシーバ210が受信すると、LQI計測回路212がLQI(すなわちLQI_ED_CN)を計測する。同様に、LQI_CN_EDの通知をトランシーバ210が受信したときにも、LQI計測回路212がLQI_ED_CNを計測する。よって、コントローラ220のCPU221は、計測結果を認識することができる。
【0171】
また、ステップS106では、上記のとおりLQI_CN_EDが通知される。したがって、MAC副層の処理を行うコントローラ220のCPU221は、通知されたLQI_CN_EDの値も認識することができる。
【0172】
そこで、CPU221は、LQI計測回路212により計測された2つのLQI_ED_CNのうちの一方と、エンドデバイス100から通知されたLQI_CN_EDとを比較する。図1に示すとおり、もし、LQI_CN_EDの方がLQI_ED_CNより小さければ、調整は不要である。よって、この場合、CPU221は、調整コマンドを含まない通常のデータフレームを生成する。逆に、もし、LQI_CN_EDの方がLQI_ED_CNより大きければ、CPU221は、エンドデバイス100に送信電波強度を上げさせるための調整コマンドを生成し、生成した調整コマンドを含むデータフレームを生成する。いずれにしろ、生成されたフレームはトランシーバ210から送信される。
【0173】
エンドデバイス100は、ステップS108で送信されたデータを受信し、データに応じて適宜の処理を行う。例えば、エンドデバイス100のCPU121は、受信されたデータに応じて、ディスプレイ130にメッセージを表示するための制御や、スピーカ140に音を出させるための制御を行う。また、データに調整コマンドが含まれる場合、エンドデバイス100は、ステップS104と同様にして、調整コマンドにしたがって送信電波強度を調整する。
【0174】
さらに、ステップS109でエンドデバイス100は、ステップS108で受信したデータに対するACKを送信する。すると、コーディネータ200はACKを受信し、プル型通信が成功したことを認識する。
【0175】
以上、図6に例示したように、第1実施形態では、エンドデバイス100がコーディネータ200にLQI_CN_EDを通知し、コーディネータ200がLQI_CN_EDとLQI_ED_CNを比較し、必要に応じて調整コマンドを生成する。そして、エンドデバイス100は、コーディネータ200から送信された調整コマンドにしたがって、LQI_CN_ED<LQI_ED_CNとなるように、送信電波強度を調整する。その結果、図1の領域5のような領域がなくなり、通信エラーが防止される。
【0176】
ところで、図6におけるビーコン、参加要求、受付通知、ACK、データ要求、LQI通知、および、データは、いずれも、具体的にはIEEE802.15.4規格に則ったフレーム形式で送信される。図7は、フレーム形式の例を示す図である。
【0177】
ビーコンフレーム300は、MACヘッダとMACペイロードとMACフッタを含む。ビーコンフレーム300のMACヘッダは、フレームコントロール301と、シーケンス番号302と、アドレッシングフィールド(addressing fields)を含む。そして、アドレッシングフィールドは、送信元PANID(Personal Area Network identifier)303と、送信元アドレス304を含む。
【0178】
フレームコントロール301は、フレームのタイプを3ビットで示すフレームタイプのサブフィールドなどを含む。例えば、ビーコンフレーム300のフレームタイプの値は、「000」である。シーケンス番号302には、ビーコンフレーム300を識別するための識別番号が設定される。
【0179】
IEEE802.15.4規格によれば、送信元アドレス304としては、2または8オクテットのアドレスが利用可能である。
【0180】
なお、ビーコンフレーム300のMACヘッダは、補助セキュリティヘッダ(auxiliary security header)を含んでもよいが、図7では簡単のため省略している。
【0181】
ビーコンフレーム300のMACペイロードは、スーパフレーム定義(superframe specification)305と、GTS(Guaranteed Time Slot)306と、ペンディングアドレス307と、ビーコンペイロード308を含む。スーパフレーム定義305には、ビーコン周期の長さを規定する情報などが含まれる。また、GTS306には、最大で7個のスロットを定義することができる。
【0182】
ペンディングアドレス307には、エンドデバイス100のID(すなわちアドレス)のリストが含まれる。ペンディングアドレス307には、最大で7個のIDを指定することができる。ペンディングアドレス307のリストに含まれるIDは、当該IDで識別されるエンドデバイス100宛のデータが、コーディネータ200でペンディングになっていることを示す。
【0183】
ビーコンペイロード308はオプショナルなフィールドであり、省略されてもよい。また、ビーコンフレーム300のMACフッタは、誤り検出のためのFCS(Frame Check Sequence)309である。
【0184】
また、データフレーム320のMACヘッダは、フレームコントロール321と、シーケンス番号322と、アドレッシングフィールドを含む。そして、アドレッシングフィールドは、宛先PANID323と、宛先アドレス324と、送信元PANID325と、送信元アドレス326を含む。データフレーム320はさらに、可変長のMACペイロード327と、MACフッタとしてのFCS328を含む。
【0185】
フレームコントロール321は、フレームコントロール301と同様であり、フレームタイプのサブフィールドなどを含む。シーケンス番号322には、データフレーム320を識別するための識別番号が設定される。また、データフレーム320のMACヘッダも、補助セキュリティヘッダを含んでもよいが、図7では簡単のため省略している。
【0186】
データフレーム320のMACペイロード327の具体例として、図7には、2つのMACペイロード340と360が例示されている。MACペイロード340は、MAC副層の上位層で定義される参加要求に、LQI_CN_EDが付加された場合の例である。また、MACペイロード360は、参加要求に対して返される受付通知に、調整コマンドが付加された場合の例である。
【0187】
後述の理由により、第1実施形態では、IEEE802.15.4規格で定義されたMACコマンドフレームの1種である、MAC副層での参加要求(association request)の代わりに、上位層で定義される参加要求が利用される。つまり、データフレーム320が参加要求として利用される。
【0188】
エンドデバイス100は、チャネルスキャンの結果として新たなコーディネータ200を見つけると、参加要求のデータフレーム320をコーディネータ200に送信する。そして、第1実施形態では、図6のステップS102に例示されるごとく、参加要求にはエンドデバイス100が計測したLQI_CN_EDが付加される。
【0189】
MACペイロード340は、LQI_CN_EDの付加された参加要求のデータフレーム320におけるMACペイロード327の例である。具体的には、MACペイロード340は、コマンド341と、方向342と、サイズ343と、シーケンス番号344と、EDアドレス345と、LQI346と、出力レベル347と、チェックサム348を含む。
【0190】
コマンド341には、MAC副層の上位層で適宜定義される複数のコマンドの中から参加要求を識別する値が指定される。図7の例では、コマンド341は1オクテットであり、参加要求を示す値として0x11が指定されている。
【0191】
方向342は、コマンド341が通知される方向を示す、1オクテットのフィールドである。参加要求はエンドデバイス100からコーディネータ200へ送信されるので、方向342には、エンドデバイス100からコーディネータ200への方向を示す特定の値(例えば0x00)が指定される。換言すれば、方向342は、参加要求とともにLQI_CN_EDがエンドデバイス100からコーディネータ200へ通知されることを示している。
【0192】
サイズ343には、パラメタの合計サイズが指定される。MACペイロード340は、パラメタとして、1オクテットのシーケンス番号344と、2オクテットのEDアドレス345と、1オクテットのLQI346と、1オクテットの出力レベル347を含む。よって、サイズ343には、これら4つのパラメタの合計サイズである5(=0x05)という値が設定される。
【0193】
シーケンス番号344は、MACペイロード340で表される参加要求が、どのビーコンフレーム300に応じて送信されたものなのかを示す。換言すれば、シーケンス番号344は、MACペイロード340により通知されるLQI_CN_EDが、どのビーコンフレーム300について計測されたものなのかを示す。シーケンス番号344の長さは、ビーコンフレーム300のシーケンス番号302と同じく、1オクテットである。
【0194】
また、EDアドレス345は、MACペイロード340を含むデータフレーム320の送信元のエンドデバイス100の2オクテットのアドレスを示す。送信元アドレス326として2オクテットのアドレスが使われる場合、送信元アドレス326とEDアドレス345は同じ値である。
【0195】
LQI346には、エンドデバイス100がビーコンフレーム300に関して計測したLQI_CN_EDの値が設定される。IEEE802.15.4規格の物理層の仕様によれば、LQIは1オクテットで表されるので、LQI346の長さも1オクテットである。
【0196】
また、後述するように、第1実施形態のコーディネータ200は、LQI_CN_EDとLQI_ED_CNから調整コマンドのパラメタを決定するときに、エンドデバイス100での現在の出力レベルも参照する。そこで、エンドデバイス100は、LQI_CN_EDだけでなく、エンドデバイス100自体の現在の出力レベル(つまりCPU121からゲイン調整回路113に与えられるパラメタ値)も、コーディネータ200に通知する。
【0197】
図7の例では、シーケンス番号344の値が0x01であり、EDアドレス345の値が0x2001であり、LQI346の値が0xB8であり、出力レベル347の値が0x0Aである。つまり、MACペイロード340は、以下の(5−1)〜(5−4)を示す。
【0198】
(5−1)コーディネータ200がシーケンス番号302に0x01という値を設定して送信したビーコンフレーム300を、0x2001というアドレスのエンドデバイス100が受信した。
(5−2)上記エンドデバイス100は、上記ビーコンフレーム300の受信を契機として、参加要求を送信した。
(5−3)上記エンドデバイス100が上記ビーコンフレーム300に関して計測したLQIの値は、0xB8である。
(5−4)上記エンドデバイス100の送信電波強度を調整するためにゲイン調整回路113に対して指定されている現在のパラメタ値(すなわち現在の出力レベル)は、0x0Aである。
【0199】
また、チェックサム348に設定される値は、コマンド341から出力レベル347までの7つのフィールドから、適宜のアルゴリズムにしたがって、誤り検出用に計算された値である。
【0200】
もちろん、MACペイロード340の形式は一例に過ぎない。フィールドの順番は適宜変更されてよい。また、実施形態によっては、方向342、サイズ343、シーケンス番号344、EDアドレス345、出力レベル347、およびチェックサム348の、一部または全部が省略されてもよい。
【0201】
また、LQI_CN_EDを含まない参加要求と、LQI_CN_EDを含む参加要求は、実施形態に応じて、コマンド341の値により区別されてもよいし、サイズ343の値により区別されてもよい。LQI_CN_EDを含まない参加要求のMACペイロード327には、LQI346や出力レベル347のフィールドがない。
【0202】
また、コマンド341の値が適宜変更されれば、MACペイロード340と同様の形式のMACペイロード327が、LQIの通知専用のデータフレーム320用に利用可能である。例えば、図6のステップS106では、データ要求(data request)用にIEEE802.15.4規格で定義されたMACコマンドフレームと、LQIの通知専用のデータフレーム320という、2つのフレームが送信されてもよい。
【0203】
さて、図7には、調整コマンドを含む受付通知のデータフレーム320におけるMACペイロード327の例として、MACペイロード360が示されている。MACペイロード360は、具体的には、コマンド361と、方向362と、サイズ363と、出力レベル364と、チェックサム365を含む。
【0204】
コマンド361には、MAC副層の上位層で適宜定義される複数のコマンドの中から受付通知を識別する値が指定される。図7の例では、コマンド361は1オクテットであり、受付通知を示す値として0x0Fが指定されている。
【0205】
方向362は、コマンド361が通知される方向を示す、1オクテットのフィールドである。受付通知はコーディネータ200からエンドデバイス100へ送信されるので、方向362には、コーディネータ200からエンドデバイス100への方向を示す特定の値(例えば0x01)が指定される。換言すれば、方向362は、受付通知とともに調整コマンドがコーディネータ200からエンドデバイス100へ通知されることを示している。
【0206】
サイズ363には、パラメタの合計サイズが指定される。MACペイロード360は、パラメタとして1オクテットの出力レベル364のみを含むので、サイズ363には1(=0x01)という値が設定される。
【0207】
出力レベル364は、調整コマンドにおける調整パラメタの具体例である。コーディネータ200は、MACペイロード360を用いることで、エンドデバイス100(より具体的にはCPU121)に対して、出力レベル364の値をゲイン調整回路113に与えるように指示することができる。図7の例では、出力レベル364の値は0x0Cである。
【0208】
また、チェックサム365に設定される値は、コマンド361から出力レベル364までの4つのフィールドから、適宜のアルゴリズムにしたがって、誤り検出用に計算された値である。
【0209】
もちろん、MACペイロード360の形式は一例に過ぎない。フィールドの順番は適宜変更されてよい。また、実施形態によっては、方向362、サイズ363、およびチェックサム365の、一部または全部が省略されてもよい。
【0210】
また、調整コマンドを含まない受付通知と、調整コマンドを含む受付通知は、実施形態に応じて、コマンド361の値により区別されてもよいし、サイズ363の値により区別されてもよい。調整コマンドを含まない受付通知のMACペイロード327には、出力レベル364がない。
【0211】
さらに、MACペイロード360の例では、ゲイン調整回路113に与えるための値そのものが、調整パラメタとして、出力レベル364に指定されている。しかし、実施形態によっては、調整パラメタは、現在の出力レベルに対する相対値であってもよい。例えば、「現在の出力レベルよりも1段階だけ出力レベルを上げよ」という意味の「1」という値や、「現在の出力レベルよりも1段階だけ出力レベルを下げよ」という意味の「−1」という値が、調整パラメタとして利用されてもよい。
【0212】
また、図6のステップS108では、コーディネータ200でペンディングになっているエンドデバイス100宛のデータとともに調整コマンドを送信するために、1つのデータフレーム320が使われる。当該データフレーム320のMACペイロード327は、MACペイロード360と類似の形式でもよい。
【0213】
具体的には、出力レベル364とチェックサム365の間に、エンドデバイス100宛のデータペイロードのフィールドが追加された形式のMACペイロード327が使われてもよい。その場合、サイズ363は、出力レベル364とデータペイロードの合計長を示す。また、当然ながら、コマンド361には、受付通知を示す値(図7の例では0x0F)とは異なる値が設定される。
【0214】
なお、図7では図示を省略したが、ACKフレームは、フレームコントロールと、シーケンス番号と、FCSを含む。シーケンス番号により、ACKフレームがどのフレームに対する受信確認なのかが識別される。
【0215】
例えば、図6のステップS103のACKフレームには、ステップS102の参加要求のデータフレーム320のシーケンス番号322と同じシーケンス番号が設定される。また、ステップS109のACKフレームには、ステップS108のデータフレーム320と同じシーケンス番号322が設定される。また、ステップS106でデータ要求とLQI_CN_EDの通知が2つのフレームにより実現される場合は、ステップS107では、2つのフレームにそれぞれ対応する2つのACKフレームが送信されてもよい。
【0216】
ところで、上記のようにIEEE802.15.4規格で定義されているACKフレームは、アドレッシングフィールドを含まない。そのため、もし複数のエンドデバイス100が偶然同じシーケンス番号を使っていると、ある1つのACKフレームがどのフレームに対する受信確認なのかが識別不能な場合がある。
【0217】
そこで、第1実施形態では、IEEE802.15.4規格のMACコマンドフレームの1種である参加要求の代わりに、上位層で定義されてデータフレーム320により実現される参加要求が使われる。そして、上位層で定義される参加要求に応じて、上位層で定義されてデータフレーム320により実現される受付通知が、コーディネータ200から送信される。データフレーム320はアドレッシングフィールドを含むので、このように上位層で定義される参加要求と受付通知を利用することにより、偶然同じシーケンス番号を使っている複数のエンドデバイス100間の区別が可能となる。
【0218】
続いて、図6のような通信シーケンスを実現するためにコーディネータ200が実行する処理について、図8〜9を参照して説明する。図8は、第1実施形態のコーディネータ200の動作フローチャートである。コーディネータ200は、電源が入っている間、図8の処理を実行する。
【0219】
ステップS201でコーディネータ200はビーコンを送信する。具体的には、CPU221は、長さTのビーコン周期が経過したらタイムアウトするようにタイマ222を設定し、ビーコンフレーム300を生成する。そして、トランシーバ210が、ビーコンフレーム300を表す電波信号を送信する。ステップS201の具体例は、図6のステップS101とS105である。
【0220】
なお、コーディネータ200は、図8の処理と並行して、適宜のタイミングで、エンドデバイス100のIDと当該エンドデバイス100宛のデータのペアを、有線LANインタフェイス230を介してサーバ20から受け取る。そして、コーディネータ200は、受け取ったIDとデータのペアを、RAM224に格納する。
【0221】
よって、RAM224に1個以上のIDが格納されている場合、CPU221は、ステップS201で、RAM224に格納されているIDのリストをペンディングアドレス307に設定したビーコンフレーム300を生成する。RAM224に1個もIDが格納されていなければ、ペンディングアドレス307のリストは空である。
【0222】
そして、次のステップS202でコーディネータ200は、いずれかのエンドデバイス100からの参加要求が受信されたか否かを判断する。そして、参加要求が受信されていれば、処理はステップS203へと移行する。逆に、参加要求が受信されていなければ、処理はステップS208へと移行する。
【0223】
例えば、CPU221は、トランシーバ210からの割り込み信号の有無により、フレームが受信されているか否かを判断してもよい。何らかのフレームが受信されている場合、CPU221は、さらに、フレームコントロール内のフレームタイプに応じて、データフレーム320が受信されたのか否かを判断することができる。データフレーム320が受信された場合、CPU221は、MACペイロード327の先頭に含まれるコマンドの値から、参加要求が受信されたか否かを判断することができる。
【0224】
ステップS203でCPU221は、参加要求に対するACKフレームを生成する。そして、ACKフレームを表す電波信号をトランシーバ210が送信する。ステップS203の具体例は、図6のステップS103である。
【0225】
次に、ステップS204でCPU221は、受信された参加要求のMACペイロード340に含まれるLQI_CN_ED(つまりLQI346の値)と、参加要求が受信されたときにLQI計測回路112が計測したLQI_ED_CNを比較する。そして、LQI_CN_EDの方がLQI_ED_CNより小さければ、処理はステップS205へと移行する。逆に、LQI_CN_EDがLQI_ED_CN以上であれば、処理はステップS206へと移行する。
【0226】
ステップS205でCPU221は、通常の受付通知フレーム(すなわち調整コマンドを含まない受付通知用のデータフレーム320)を生成し、生成したフレームをトランシーバ210に出力する。そして、処理はステップS207へ移行する。
【0227】
他方、ステップS206でCPU221は、調整コマンドつきの受付通知フレーム(すなわちMACペイロード360を含むデータフレーム320)を生成し、生成したフレームをトランシーバ210に出力する。ここで、図9を参照して、ステップS206におけるCPU221による調整パラメタの決定方法の具体例を説明する。
【0228】
図9は、調整パラメタ情報の例を示す図である。図9の調整パラメタ情報400は、説明の便宜上、4列のテーブル形式で示されているが、太枠で囲った部分だけが調整パラメタ情報400としてコーディネータ200に記憶されていてもよい。
【0229】
例えば、調整パラメタ情報400は、コーディネータ200の不揮発性記憶装置223に予め記憶され、RAM224に読み出されてもよい。調整パラメタ情報400は、具体的には、コーディネータ200のCPU221が実行するプログラムにおける定数定義として、不揮発性記憶装置223に予め記憶されていてもよい。
【0230】
以下では、説明の便宜上、図9のテーブル全体についてまず説明する。その後、調整パラメタ情報400を使った図8のステップS206の処理について説明する。
【0231】
図9の調整パラメタ情報400は、「出力レベル」、「送信出力」、「備考」、「LQIの差」という4つの列を持つテーブル形式で表されている。第1実施形態では、各エンドデバイス100において、CPU121がゲイン調整回路113に対して指定することの可能なパラメタの値は、0x00から0x0Fまでである。よって、図9のテーブルは、これらの16個の値にそれぞれ対応する16行を含む。
【0232】
出力レベルの列は、エンドデバイス100においてCPU121がゲイン調整回路113に対して指定する値を示す。上記のとおり、指定可能な値は0x00から0x0Fまでである。
【0233】
送信出力の列は、各出力レベルの値がゲイン調整回路113に対して指定されたときのエンドデバイス100の送信出力(つまり送信電波強度)を、出力レベルの値が0x0Bの場合を基準として、デシベル(dB)単位で示す。図9の例では、例えば、出力レベルの値が0x09の場合の送信出力は−2dBであり、出力レベルの値が0x0Cの場合の送信出力は1dBである。
備考の列には、理解の助けとするための説明が書かれている。
【0234】
第1実施形態では、各エンドデバイス100において、ゲイン調整回路113に与えられるパラメタのデフォルト値が0x0Bである。そのため、出力レベルが0x0Bの行には「デフォルト」と書かれている。デフォルト値は、出力レベルとして可能な複数の値のうち、「数レベル上げる調整も可能であり、数レベル下げる調整も可能である」という条件を満たす値であれば、実施形態に応じて任意に決められてよい。
【0235】
また、第1実施形態では、0x00から0x06までの出力レベルは実際には使われないものとする。なぜなら、第1実施形態では、0x06以下の出力レベルがゲイン調整回路113に指定されたときのエンドデバイス100の送信電波強度は小さく、具体的には、コーディネータ200の送信電波強度よりも大きくなることがないからである。
【0236】
もちろん、「0x00から0x06まで」という範囲は、実施形態に応じて異なり得る。複数のコーディネータ200間のばらつきは、実施形態に応じて異なるし、複数のエンドデバイス100間のばらつきも、実施形態に応じて異なる。第1実施形態は、「たとえこれらのばらつきを考慮に入れても、0x06以下の出力レベルがゲイン調整回路113に指定されると、コーディネータ200よりエンドデバイス100の方が、送信電波強度が小さくなる」という場合の例である。
【0237】
例えば、コーディネータ200とエンドデバイス100それぞれの仕様や、予備実験などから、ばらつきの程度が見積もられてもよい。そして、見積もりの結果から、例えば、「0x00から0x06までの出力レベルは実際には使わない」などの方針が決められてもよい。
【0238】
ところで、各コーディネータ200の送信電波強度は、可変であってもよいし、固定であってもよい。コーディネータ200の送信電波強度が可変の場合(例えば、コーディネータ200のトランシーバ210が、ゲイン調整回路113と類似の回路を含む場合)、送信電波強度を調整するためのパラメタが予め適切に設定される。あるいは、コーディネータ200の送信電波強度が固定の場合、固定の送信電波強度に関する仕様が予め適切に定められる。いずれにしろ、コーディネータ200は、デフォルト値がゲイン調整回路113に与えられたときの平均的なエンドデバイス100の送信電波強度よりも、コーディネータ200の送信電波強度の方がやや小さくなるように、予め構成される。
【0239】
しかし、パラメタの値や仕様は、あくまでも理想値を示し、実際のコーディネータ200は、製造誤差の影響を受ける。よって、パラメタが適切にプリセットされたとしても(または、固定の送信電波強度に関する仕様が適切に定められていても)、製造ばらつきに起因して、あるコーディネータ200はあるエンドデバイス100よりも送信電波強度が大きいかもしれない。その結果、図1の領域5のような、通信エラーの原因となる領域が生じてしまうかもしれない。
【0240】
そこで、上記のとおり第1〜第2実施形態では、LQI_ED_CNの方がLQI_CN_EDよりも大きくなるように(すなわち、エンドデバイス100の方がコーディネータ200よりも送信電波強度が大きくなるように)、必要に応じて調整が行われる。図9の調整パラメタ情報400は、その調整のために使われる情報である。
【0241】
ここで、調整パラメタ情報400のテーブルにおける「出力レベル」の列と「送信出力」の列の間の対応関係は、エンドデバイス100の仕様に応じて決まる。他方、「LQIの差」の列には、例えば予備実験から得られた値が記録される。具体的には、例えば以下のような予備実験が行われてもよい。
【0242】
ある1台のエンドデバイス100と、ある1台のコーディネータ200が、適宜の距離だけ離して設置される。上記「適宜の距離」は、具体的には、エンドデバイス100とコーディネータ200が互いに計測するLQIが、どちらも、通信圏外か否かの判定用の閾値(例えば、図3の例では0x20)よりもある程度は高くなるような距離であればよい。
【0243】
そして、コーディネータ200から送信される電波信号に関して、エンドデバイス100のLQI計測回路112がLQIを計測する。この計測結果を、便宜上、LQI_CN_ED_REFとする。計測結果LQI_CN_ED_REFは、後の計算のために記録される。
【0244】
また、エンドデバイス100のゲイン調整回路113に対して指定する値を変化させながら、各値について、コーディネータ200のLQI計測回路212によるLQIの計測が行われる。計測は、少なくとも、実際に使われる可能性のある出力レベルの値(図9の例では、0x07から0x0Fまでの値)のそれぞれに関して、行われる。
【0245】
ここで、ある出力レベルの値Xがゲイン調整回路113に指定された状態でエンドデバイス100が送信する電波信号に関して、コーディネータ200のLQI計測回路212が計測したLQIを、便宜上、LQI_ED_CN(X)とする。各Xについて計測された結果LQI_ED_CN(X)は、後の計算のために記録される。
【0246】
そして、各Xについて、コーディネータ200による計測結果LQI_ED_CN(X)とエンドデバイス100による計測結果LQI_CN_ED_REFとの差が計算される。すなわち、各Xについて式(9)による計算が行われる。
LQI_DIFF(X)=LQI_ED_CN(X)-LQI_CN_ED_REF (9)
【0247】
以上のようにして計算されたLQIの差LQI_DIFF(X)が、各Xの行の「LQIの差」の列に記録されてもよい。
【0248】
例えば、0x07≦X≦0x0Fの範囲に関して予備実験が行われ、Xの各値について、LQIの差LQI_DIFF(X)として、それぞれ−16、−12、−8、−4、0、4、8、12、16という値が得られたとする。図9は、そのような実験結果が得られた場合の調整パラメタ情報400の例を示している。なお、図9中のこれらの値は、説明の便宜上例示している値であり、得られる値は実際の環境に応じて異なる。
【0249】
エンドデバイス100間のばらつきやコーディネータ200間のばらつきを考慮するため、エンドデバイス100とコーディネータ200の複数のペアが予備実験に使われてもよい。つまり、エンドデバイス100とコーディネータ200の複数のペアのそれぞれについて、上記のようにしてLQI_CN_ED_REFの計測とLQI_ED_CN(X)の計測が行われてもよい。
【0250】
そして、複数のペアについての計測結果から、統計処理により、調整パラメタ情報400のテーブルの各Xの行に記録するための値が計算されてもよい。例えば、LQI_ED_CN(X)の平均値からLQI_CN_ED_REFの平均値を引くことで、出力レベルXの行に記録するための値が計算されてもよい。
【0251】
また、LQI計測回路112とLQI計測回路212の具体的な特性は、実施形態に応じて異なる。しかし、例えば、dB単位での受信電波強度に対してほぼ線形に比例する値をLQIとして出力するように、LQI計測回路112とLQI計測回路212が構成されていてもよい。この場合、上記の予備実験におけるエンドデバイス100とコーディネータ200との間の距離に対する、LQIの差LQI_DIFF(X)の依存性は、無視して差し支えない。
【0252】
しかし、場合によっては、いくつかの距離のそれぞれに対して、LQI_CN_ED_REFの計測とLQI_ED_CN(X)の計測が行われてもよい。そして、複数の距離についての計測結果から、統計処理により、調整パラメタ情報400のテーブルの各Xの行に記録するための値が計算されてもよい。
【0253】
以上のように、何らかの予備実験などにより、予め調整パラメタ情報400が取得されているものとする。そして、調整パラメタ情報400がコーディネータ200に予め記憶されているものとする。
【0254】
なお、説明の簡単化のため、図9に示すごとく調整パラメタ情報400では出力レベルの昇順に行がソートされているものとする。また、以下では式(9)と同様の表記を用いて、出力レベルの値Xに対応する行の、「LQIの差」の列の値を、LQI_DIFF(X)と表記する。
【0255】
すると、図8のステップS206でコーディネータ200のCPU221は、次のようにして調整パラメタを決定し、調整コマンドつきの受付通知のデータフレーム320を生成する。
【0256】
受信された参加要求のデータフレーム320に含まれる出力レベル347の値を便宜上X0とすると、CPU221は、調整パラメタ情報400のテーブルで値X0に対応する行に注目する。そして、CPU221は、注目した行から始めて、テーブルの下方向へと順に各行に注目してゆき、LQIの差LQI_DIFF(X)が不等式(10)を満たす行を探す。つまり、CPU221は、不等式(10)を満たす最小の値Xを探す。
LQI_CN_ED < LQI_ED_CN+(LQI_DIFF(X)-LQI_DIFF(X0)) (10)
【0257】
なお、不等式(10)におけるLQI_CN_EDは、受信された参加要求のデータフレーム320に含まれるLQI346の値である。そして、不等式(10)におけるLQI_ED_CNは、参加要求のデータフレーム320をコーディネータ200が受信したときにLQI計測回路212が計測したLQIの値である。
【0258】
例えば、図7の例では、LQI346の値(つまりLQI_CN_ED)は、0xB8(=184)であり、出力レベル347の値(つまりX0)は、0x0Aである。そして、図9の調整パラメタ情報400によれば、LQI_DIFF(0x0A)は−4である。
【0259】
また、仮に、計測されたLQI_ED_CNの値が177であったとする。すると、CPU221は、調整パラメタ情報400において不等式(10)を満たす行として、出力レベルの値が0x0Cの行を見つける。図9によればLQI_DIFF(0x0C)が4なので、不等式(10)が満たされる(より具体的には、不等式(11)が満たされる)。
184 < 177+(4-(-4))=185 (11)
【0260】
CPU221は、以上のようにして見つけた行の出力レベルの値X(上記の例では0x0C)を、出力レベル364(すなわち調整パラメタ)として設定する。また、CPU221は、データフレーム320の他のフィールド(つまり、MACヘッダ内の各フィールド、コマンド361、方向362、サイズ363、チェックサム365、およびFCS328)にも適宜の値を設定する。以上のようにして、CPU221は、調整コマンドつきの受付通知のデータフレーム320を生成する。
【0261】
なお、調整パラメタ情報400は、第1の品質(つまりLQI_ED_CN)と第2の品質(つまりLQI_CN_ED)との間の相対関係を示す値(つまりLQI_DIFF(X))と、調整用のパラメタ(つまりX)とを関連づける情報の例である。そして、不揮発性記憶装置223またはRAM224は、調整パラメタ情報400のような情報を格納する格納手段の例である。コーディネータ200のCPU221は、格納手段としての不揮発性記憶装置223またはRAM224を参照することで、パラメタXを取得する。
【0262】
ここで、図8の説明に戻る。ステップS205またはS206で生成されたフレームは、ステップS207でトランシーバ210から送信される。つまり、通常の受付通知または調整コマンドつきの受付通知のデータフレーム320を表す電波信号が、アンテナ211から送信される。また、ステップS207では、CPU221が、参加要求の送信元のエンドデバイス100のID(つまりEDアドレス345の値)を、有線LANインタフェイス230を介して、サーバ20に通知する。そして、処理はステップS208へ移行する。なお、ステップS207の具体例は、図6のステップS104である。
【0263】
ステップS208でコーディネータ200は、いずれかのエンドデバイス100からデータ要求とLQI通知が受信されたか否かを判断する。そして、データ要求とLQI通知が受信されていれば、処理はステップS209へと移行する。逆に、データ要求とLQI通知が受信されていなければ、処理はステップS215へと移行する。
【0264】
例えば、CPU221は、トランシーバ210からの割り込み信号の有無により、フレームが受信されているか否かを判断してもよい。何らかのフレームが受信されている場合、CPU221は、さらに、フレームコントロール内のフレームタイプに応じて、MACコマンドフレームが受信されたのか否かを判断することができる。MACコマンドフレームが受信された場合、CPU221は、コマンドフレームIDの値から、データ要求が受信されたか否かを判断することができる。
【0265】
同様に、何らかのフレームが受信されている場合、CPU221は、フレームタイプに応じて、データフレーム320が受信されているか否かを判断することができる。データフレーム320が受信された場合、CPU221は、MACペイロード327中のコマンドの値から、LQI通知が受信されたか否かを判断することができる。
【0266】
ステップS209でCPU221は、ACKフレームを生成する。そして、ACKフレームを表す電波信号をトランシーバ210が送信する。ステップS209の具体例は、図6のステップS107である。
【0267】
次に、ステップS210でCPU221は、受信されたLQI通知に含まれるLQI_CN_EDと、データ要求またはLQI通知が受信されたときにLQI計測回路212が計測したLQI_ED_CNを比較する。そして、LQI_CN_EDの方がLQI_ED_CNより小さければ、処理はステップS211へと移行する。逆に、LQI_CN_EDがLQI_ED_CN以上であれば、処理はステップS212へと移行する。
【0268】
ステップS211でCPU221は、通常のデータフレーム320(すなわちMACペイロード327に調整コマンドを含まないデータフレーム320)を生成し、生成したフレームをトランシーバ210に出力する。ステップS211で生成されるデータフレーム320のMACペイロード327は、コーディネータ200においてペンディングになっているエンドデバイス100宛のデータを含む。フレームの出力後、処理はステップS213へ移行する。
【0269】
他方、ステップS212でCPU221は、調整コマンドつきのデータフレーム320を生成する。ステップS212で生成されるデータフレーム320のMACペイロード327は、図7のMACペイロード360と同様の5つのフィールドと、コーディネータ200でペンディングになっているエンドデバイス100宛のデータのためのフィールドを含む。ただし、ステップS212で設定されるコマンド361の値は、図7に示した受付通知用のMACペイロード360におけるコマンド361の値とは異なる。
【0270】
なお、CPU221がステップS212で調整コマンドの調整パラメタ(すなわち出力レベル364に設定する値)を決定する方法は、ステップS206での決定方法と同様である。また、CPU221は、生成したデータフレーム320をトランシーバ210に出力する。そして、処理はステップS213へ移行する。
【0271】
また、ステップS211またはS212で生成されたデータフレーム320は、ステップS213でトランシーバ210から送信される。つまり、通常のデータフレーム320または調整コマンドつきのデータフレーム320を表す電波信号が、アンテナ211から送信される。ステップS213の具体例は、図6のステップS108である。
【0272】
なお、ステップS206〜S207およびS212〜S213から明らかなように、第1実施形態では、調整パラメタの値を決定し、決定した値を表す電波信号をトランシーバ210に送信させる制御手段が、CPU221により実現される。
【0273】
さて、ステップS213の送信後、ステップS214でコーディネータ200は、ステップS213で送信したデータに対するACKを受信する。受信後、処理はステップS215に移行する。ステップS213の具体例は、図6のステップS109である。
【0274】
なお、図8では説明の簡単化のため図示を省略しているが、CPU221は、適宜のリトライ制御を実行することが好ましい。つまり、コーディネータ200は、ステップS213での送信から所定時間以内にステップS214でACKフレームを受信することができなければ、ステップS213と同じデータフレーム320を再送信してもよい。
【0275】
また、図8では説明の簡単化のため、データ要求とLQI通知の一方だけが受信され他方が受信されない場合について、省略されている。しかし、何らかの要因により、まれにデータ要求とLQI通知の一方だけが受信され他方が受信されないこともあり得る。
【0276】
データ要求のみが受信され、LQI通知が受信されない場合は、コーディネータ200は、通常のデータフレーム320を送信すればよい。
【0277】
逆に、LQI通知のみが受信され、データ要求が受信されない場合は、コーディネータ200は、ステップS210と同様に調整要否を判断する。そして、調整が必要な場合、コーディネータ200は、図7のMACペイロード360と同様の形式の(ただしコマンド361の値が異なる)MACペイロード327を含む、調整コマンドの通知専用のデータフレーム320を送信すればよい。
【0278】
さて、ステップS215でCPU221は、長さTのビーコン周期が経過したか否かを判断する。具体的には、ステップS201で設定されたタイマ222がまだタイムアウトしていなければ、ビーコン周期はまだ経過していないので、処理はステップS202に戻る。逆に、タイマ222が既にタイムアウトしていれば、ビーコン周期が経過しているので、処理はステップS201に戻る。なお、実施形態によっては、タイマ222の代わりに絶対時刻を示す時計が利用されてもよいことは無論である。
【0279】
続いて、図6のような通信シーケンスを実現するためにエンドデバイス100が実行する処理について、図10を参照して説明する。図10は、第1実施形態のエンドデバイス100の動作フローチャートである。エンドデバイス100は、電源が入れられると、図10の処理を開始する。
【0280】
ステップS301で、エンドデバイス100はチャネルスキャンを実行する。具体的には、エンドデバイス100は、CPU121の制御にしたがって、予め決められている複数のチャネル(例えば4〜8個程度のチャネル)をスキャンする。
【0281】
ある1つのチャネルのスキャンは、具体的には、例えば、次のような処理であってもよい。トランシーバ110は、受信周波数チャネルを、スキャン対象のチャネルに合わせ、決められた個数(例えば2個)の連続するビーコンフレーム300を受信する。また、CPU121は、受信された各ビーコンフレーム300についてLQI計測回路112が計測したLQI_CN_EDの値をトランシーバ110から取得する。
【0282】
CPU121は、取得したLQI_CN_EDの値と、決められた閾値(例えば図3の閾値0x20またはそれより大きな閾値)に基づいて、各チャネルの品質を評価する。CPU121は、スキャンした複数のチャネルの中で最も高品質なチャネルを探してもよいし、閾値以上のLQIが得られるチャネルが1つ見つかった時点でチャネルスキャンを打ち切ってもよい。
【0283】
例えば、図2の例で、エンドデバイス41が、領域60でも領域61でもない位置にあるときに、ステップS301でチャネルスキャンを実行したとする。この場合、エンドデバイス41は「迷子」であり、チャネルは見つからない。例えばこの例のように、チャネルスキャンの結果としてチャネルが見つからなかった場合には、図10の処理はステップS302に移行する。
【0284】
逆に、エンドデバイス41が、領域60内に位置しているときに、ステップS301でチャネルスキャンを実行したとする。この場合、コーディネータ30の使用している「チャネル16」が見つかる。例えばこの例のように、チャネルスキャンの結果としてチャネルが見つかれば、図10の処理はステップS303に移行する。
【0285】
ステップS302でエンドデバイス100は、所定の時間だけスリープする。そして、所定の時間が経過すると、処理はステップS301に戻る。なお、所定の時間は、具体的には、例えば10秒〜20秒程度の時間でもよい。
【0286】
さて、ステップS303でエンドデバイス100はビーコンを受信する。ステップS303の具体例は、図6のステップS101とS105である。
また、ビーコンの受信に応じて、ステップS303でCPU121がタイマ122を始動する。したがって、第1実施形態では、タイマ122は、ビーコン周期の開始時点を基準点(つまりゼロ)とする時刻を表す。
【0287】
そして、次のステップS304でCPU121は、ステップS303でビーコンが受信されたときにLQI計測回路112が計測したLQI_CN_EDを、所定の閾値TH(例えば上記の閾値0x20)と比較する。もし、LQI_CN_EDが閾値TH以上であれば、処理はステップS305に移行する。逆に、LQI_CN_EDが閾値TH未満ならば、処理はステップS301に戻る。
【0288】
例えば、図2のエンドデバイス41が、今まで領域60の内部で動いており、現在は領域60と61が重なった領域内の位置(つまり領域60の境界付近)にあってコーディネータ31の方へ移動しつつあるとする。そして、後述のように図10の処理がステップS317からステップS303に戻った後に、エンドデバイス41がステップS303でコーディネータ30からのビーコンを受信したとする。すると、場合によっては、LQI_CN_EDが閾値TH未満となり、処理はステップS301へと戻る。そして、エンドデバイス41はステップS301でチャネルスキャンを実行し、結果として、コーディネータ31が利用している「チャネル15」が見つかることがある。
【0289】
さて、ステップS305〜S317は、エンドデバイス100が十分な品質でコーディネータ200からのビーコンを受信することができる場合に実行される。
ステップS305でCPU121は、コーディネータ200へのアクセス要求があるか否かを判断する。説明の簡単化のため、第1実施形態では、アクセス要求が具体的には参加要求に限られるものとする。しかし、実施形態によっては、エンドデバイス100が、例えばGTS要求などの他の種類の要求をコーディネータ200に送信することがあってもよい。
【0290】
参加要求がある場合、参加要求の送信のため、処理はステップS306に移行する。具体的には、エンドデバイス100に新たに電源が投入された後、チャネルスキャンによりチャネルが見つかった場合、見つかったチャネルを使っているコーディネータ200への参加要求の送信のため、処理はステップS306に移行する。あるいは、今までエンドデバイス100が受信していた周波数チャネルのLQIが低下し、そのためエンドデバイス100がチャネルスキャンを実行し、結果として新たなチャネルが見つかった場合も、参加要求の送信のため、処理はステップS306に移行する。逆に、参加要求がない場合は、処理はステップS310に移行する。
【0291】
ステップS306でCPU121は、LQI_CN_EDを付加した参加要求のデータフレーム320を生成する。つまり、CPU121は、ステップS303で受信されたビーコンフレーム300に関してLQI計測回路112が計測したLQI_CN_EDの値をLQI346に含むデータフレーム320を生成する。また、MACペイロード340中の出力レベル347には、ゲイン調整回路113が現在使っている出力レベルの値(つまり、CPU121が最後にゲイン調整回路113に対して指定した値)が設定される。なお、データフレーム320の宛先PANID323と宛先アドレス324には、ステップS303で受信されたビーコンフレーム300の送信元PANID303と送信元アドレス304の値が設定される。
【0292】
そして、CPU121は、生成したデータフレーム320をトランシーバ110に出力する。すると、トランシーバ110は、当該データフレーム320を表す電波信号をアンテナ111から送信する。ステップS306の具体例は、図6のステップS102である。
【0293】
次に、ステップS307でエンドデバイス100は、ステップS306でエンドデバイス100が送信した参加要求に対するACKと受付通知を、コーディネータ200から受信する。ACKの受信の具体例は図6のステップS103であり、受付通知の受信の具体例はステップS104である。ACKと受付通知の受信後、処理はステップS308へ移行する。
【0294】
なお、ステップS306での送信は、具体的には、1ビーコン周期の中に含まれるCAP(Contention Access Period)の中で行われる。CAP内では、複数のエンドデバイス100間での競合が、CSMA−CA(Carrier Sense Multiple Access with Collision Avoidance)により解決される。つまり、図10では説明の簡単化のため詳細が省略されているが、ステップS306〜S307は、適宜のリトライ処理を含む場合がある。
【0295】
受付通知の受信後、ステップS308でCPU121は、ステップS307で受信された受付通知に調整コマンドが含まれるか否かを判断する。図7に関して説明したとおり、調整コマンドを含まない受付通知と、調整コマンドを含む受付通知は、実施形態に応じて、コマンド361の値により区別されてもよいし、サイズ363の値により区別されてもよい。よって、CPU121は、受付通知のデータフレーム320のコマンド361またはサイズ363の値に応じて、通常の受付通知が受信されたのか、それとも調整コマンドを含む受付通知が受信されたのかを、判断することができる。
【0296】
例えば図6のステップS104に例示するように、受付通知に調整コマンドが含まれる場合、処理はステップS309に移行する。逆に、受付通知に調整コマンドが含まれない場合、処理はステップS310に移行する。
【0297】
ステップS309でCPU121は、受信された受付通知から調整コマンドの内容(つまり、MACペイロード360中の出力レベル364の値)を抽出する。出力レベル364のフィールドには、ゲイン調整回路113が調整に用いるための1オクテットの調整パラメタそのものの値が指定されている。よって、CPU121は、抽出した出力レベル364の値を、トランシーバ110とコントローラ120との間のインタフェイスを介して、トランシーバ110に出力する。すると、ゲイン調整回路113は、出力された値にしたがって、ゲインを調整する。
【0298】
例えば、出力レベル364の値が図7のように0x0Cだとする。この場合、ゲイン調整回路113は、可変ゲイン増幅器のゲインを、0x0Cという値に対応する値に調整してもよい。あるいは、ゲイン調整回路113は、複数の増幅器の中で現在使用している増幅器から、0x0Cという値に対応する増幅器への切り換えを行ってもよい。ゲイン調整回路113による具体的な調整は、トランシーバ110の具体的回路構成に応じて様々である。
【0299】
いずれにしろ、CPU121により抽出された値にしたがって、ゲイン調整回路113によって調整が行われる。その結果、トランシーバ110の送信電力(換言すれば、アンテナ111から送信される電波信号の強度)が調整される。また、調整の結果、コーディネータ200のLQI計測回路212により今後計測されるLQI_ED_CNの方が、エンドデバイス100のLQI計測回路112により今後計測されるLQI_CN_EDよりも大きくなると期待される。そして、以上の調整の後、処理はステップS310に移行する。
【0300】
ステップS310でCPU121は、図10の処理を実行しているエンドデバイス100自体のIDが、ステップS303で受信されたビーコンに含まれているか否かを判断する。つまり、CPU121は、受信されたビーコンフレーム300のペンディングアドレス307中のリストに、エンドデバイス100自体のIDが含まれているか否かを判断する。なお、エンドデバイス100自体のIDは、不揮発性記憶装置123またはRAM124に記憶されている。
【0301】
ペンディングアドレス307のリスト中にエンドデバイス100自体のIDが含まれる場合、エンドデバイス100宛のデータがコーディネータ200でペンディングになっている。よって、データ要求の送信のため、処理はステップS311に移行する。逆に、ペンディングアドレス307のリスト中にエンドデバイス100自体のIDが含まれない場合は、処理はステップS317に移行する。
【0302】
ステップS311でCPU121は、以下に説明するアクセス時刻ATとスリープ時間P1を算出する。そして、CPU121は、算出した時間P1だけスリープするようにエンドデバイス100を制御する。時間P1の経過後、エンドデバイス100は起床して、処理はステップS312へと移行する。
【0303】
ここで、アクセス時刻ATとスリープ時間P1について説明する。
第1実施形態では、プル型通信によるデータ取得の効率の向上のため、複数のエンドデバイス100間で自律分散的な時分割通信が行われる。上記のアクセス時刻ATは、図10の処理を実行しているエンドデバイス100がコーディネータ200にデータ要求を送信する時刻である。
【0304】
具体的には、第1実施形態では、1ビーコン周期に下記の(6−1)〜(6−5)の期間が含まれる。
【0305】
(6−1)コーディネータ200がビーコンを送信するためのビーコン送信期間(以下、ビーコン送信期間の長さを「B」と表記する)
(6−2)コーディネータ200が任意のエンドデバイス100から要求を受け付けるための要求受付期間(以下、要求受付期間の長さを「β」と表記する)
(6−3)S台(0≦S≦7)のエンドデバイス100が、時分割式に順々に、コーディネータ200から、各エンドデバイス100に応じたデータを取得するための通信期間(以下、1台のエンドデバイス100あたりの通信期間の長さを「α」と表記する)
(6−4)コーディネータ200が、エンドデバイス100との間の通信以外の処理(例えば、サーバ20との間の通信や、コーディネータ200の内部処理など)を行うための処理期間(以下、処理期間の長さを「M」と表記する)
(6−5)IEEE802.15.4規格で定義されるCFP(Contention-Free Period)(以下、CFPの長さを「F」と表記する)
【0306】
なお、(6−2)〜(6−4)の期間は、IEEE802.15.4規格で定義されるCAPに含まれるが、第1実施形態では、CAPのうち(6−2)の期間でのみ、CSMA−CAによりエンドデバイス100間の競合が解決される。つまり、第1実施形態では、(6−3)の期間では競合が生じないように時分割制御が行われ、(6−4)の期間ではどのエンドデバイス100も要求を送信しない。よって、第1実施形態では、衝突(collision)に起因するタイムロスが少ない。
【0307】
さて、(6−1)〜(6−5)によれば、ビーコン周期の長さTは、式(12)のように表すことができる。
T=B+β+α×S+M+F (12)
【0308】
なお、Sの値は、ビーコンフレーム300のペンディングアドレス307の中に指定されており、0≦S≦7である。また、CFPはなくてもよいので、Fの値は0のこともある。CPU121は、ビーコンフレーム300のスーパフレーム定義305とGTS306から、Fの値を計算することができる。第1〜第2実施形態では簡単のためF=0と仮定する。
【0309】
また、βとMの値は、それぞれ、固定値でもよいし、可変値であってもよい。例えば、α=β=Mと定義されていてもよい。βとMの定義に応じて、αの値は式(12)から適宜算出され得る。
【0310】
ここで、図10の処理を実行するエンドデバイス100自体のIDは、ペンディングアドレス307のリスト中に含まれるS個のIDのうち、n番目(1≦n≦S)のIDであるとする。また、ビーコン周期には、上記(6−1)〜(6−5)の期間が含まれ、これらの期間の順序は、(6−1)〜(6−5)の順である。よって、式(12)より、アクセス時刻ATは式(13)のように表せる。
AT=B+β+(n-1)×α (13)
【0311】
また、タイマ122が現在示している時刻を「Now」と表記することにし、適宜の正のマージンの長さを「δT1」と表記することにする。上記のとおり、タイマ122は、ビーコン周期の開始時点を基準とした時刻を示すので、アクセス時刻ATまでのスリープ時間P1は、式(14)のように表せる。
P1=AT-Now-δT1 (14)
【0312】
ステップS311でCPU121は、式(14)のスリープ時間P1を算出する。そして、CPU121は、算出した時間P1だけスリープするようにエンドデバイス100を制御する。時間P1の経過後、エンドデバイス100はスリープ状態から復帰し、処理はステップS312へと移行する。
【0313】
ステップS312でCPU121は、データ要求のMACコマンドフレームを生成し、生成したフレームをトランシーバ110に出力する。CPU121はさらに、ステップS303でビーコンフレーム300が受信されたときにLQI計測回路112が計測したLQI_CN_EDとゲイン調整回路113が現在使っているパラメタ値を含む、LQI通知用のデータフレーム320も生成する。そして、CPU121は、生成したデータフレーム320をトランシーバ110に出力する。
【0314】
なお、ステップS312でCPU121が生成するどちらのフレームにおいても、宛先PANIDと宛先アドレスには、ステップS303で受信されたビーコンフレーム300の送信元PANID303と送信元アドレス304の値が設定される。
【0315】
トランシーバ110は、CPU121からの出力に応じて、データ要求のMACコマンドフレームを表す電波信号を送信し、さらに、LQI通知のデータフレーム320を表す電波信号を送信する。ステップS312の具体例は、図6のステップS106である。
【0316】
また、式(14)のマージンの長さδT1は、ステップS311〜S312で行われる内部処理(スリープ時間P1の算出、スリープ状態からの復帰、フレームの生成など)にかかる時間を示す。実施形態によっては、マージンの長さδT1が0と見なされてもよい。
【0317】
次に、ステップS313でエンドデバイス100は、例えば図6のステップS107とS108のように、コーディネータ200から、データ要求に対するACKとデータを受信する。
【0318】
なお、受信されたデータの内容に応じて、CPU121は、ディスプレイ130とスピーカ140の一方または双方を適宜制御する。しかし、図10では、説明の簡略化のため、ディスプレイ130とスピーカ140の制御は省略されている。
【0319】
次のステップS314でCPU121は、ステップS313で受信されたデータフレーム320が調整コマンドを含むか否かを判断する。具体的には、ステップS313で受信されたデータフレーム320のMACペイロード327中のコマンドの値またはサイズの値に基づいて、CPU121は、データフレーム320が調整コマンドを含むか否かを判断する。
【0320】
ステップS313で受信されたデータフレーム320が、調整コマンドを含まない通常のデータフレーム320だった場合、処理はステップS316に移行する。逆に、調整コマンドを含むデータフレーム320が受信された場合、処理はステップS315に移行する。
【0321】
そして、ステップS315では、ステップS309と同様にして、CPU121が調整コマンドの内容(具体的には出力レベル364の値)を抽出し、抽出された値にしたがってゲイン調整回路113が調整を行う。調整後、処理はステップS316に移行する。
【0322】
ステップS316でエンドデバイス100は、例えば図6のステップS109のように、コーディネータ200にACKを送信する。具体的には、ステップS313で受信されたデータフレーム320のシーケンス番号322と同じ値をシーケンス番号に設定したACKフレームをCPU121が生成し、ACKフレームを表す電波信号がトランシーバ110のアンテナ111から送信される。そして、処理はステップS317に移行する。
【0323】
さて、ステップS317が実行されるのは、今回のビーコン周期の中では、エンドデバイス100が行う処理がもう存在しないときである。そこで、CPU121は、ステップS317でスリープ時間(以下「P2」と表記する)を算出する。上記のとおり、本実施形態のタイマ122が示す時刻Nowは、ビーコン周期の開始時点を基準とした時刻である。よって、適宜の正のマージンの長さを「δT2」と表記することにすると、スリープ時間P2は、式(15)のように表される。
P2=T-Now-δT2 (15)
【0324】
なお、マージンの長さδT2は、スリープ時間P2の算出、スリープ状態への移行、および、スリープ状態からの復帰にそれぞれかかる時間の和以上でさえあれば、短いほど好ましい。実施形態によっては、マージンの長さδT2が0と見なされてもよい。
【0325】
スリープ時間P2の算出後、ステップS317でエンドデバイス100は、CPU121の制御にしたがい、算出されたスリープ時間P2だけスリープする。すなわち、エンドデバイス100は、次のビーコン受信の直前までステップS317でスリープする。そして、スリープ時間P2が経過すると、処理はステップS303に戻る。
【0326】
以上のように、第1実施形態では、エンドデバイス100がビーコンの受信時にLQI_CN_EDを計測し、計測したLQI_CN_EDを、参加要求やデータ要求などの要求とともにコーディネータ200に通知する。また、コーディネータ200は、要求の受信時にLQI_ED_CNを計測し、要求とともに通知されたLQI_CN_EDと計測したLQI_ED_CNの比較結果に応じて、調整コマンドを生成する。
【0327】
調整コマンドは、受付通知やデータなど、何らかの種類の要求に対する応答として送信されるフレームに含まれて、エンドデバイス100へと送信される。そして、エンドデバイス100は、調整コマンドにしたがって適宜送信電波強度を調整する。調整の結果として、調整の済んだ後には、LQI_CN_EDよりもLQI_ED_CNの方が大きくなると期待される。したがって、図1の領域5のように通信エラーの原因となる領域がなくなると期待される。
【0328】
また、第1実施形態では、LQIや調整コマンドが、可能な限り他の情報(例えば、参加要求、受付通知、または、エンドデバイス100宛のデータ)と同じ1つのフレームで伝えられる。したがって、エンドデバイス100とコーディネータ200の間でやりとりされるフレームの数が、調整のために極端に増加することはない。
【0329】
換言すれば、第1実施形態では、LQIや調整コマンドの通知のために生じるオーバヘッドが小さい。そのため、オーバヘッドに起因する通信効率の悪化や電力消費量の増加は、無視して差し支えない。もちろん、オーバヘッドが多少大きくても問題にならない実施形態においては、LQIの通知や、調整コマンドの通知が、常に専用のデータフレーム320により行われてもよい。
【0330】
続いて、図11〜13を参照して第2実施形態について説明する。なお、第1実施形態との共通点については、適宜説明を省略することがある。
【0331】
第2実施形態は、上記のとおり、図2の無線通信システム10に適用される。また、無線通信システム10内の各エンドデバイスは、図4のエンドデバイス100のように構成され、無線通信システム10内の各コーディネータは、図5のコーディネータ200のように構成される。図11は、第2実施形態の通信シーケンスの例であり、具体的には、無線通信システム10中のエンドデバイス100とコーディネータ200との間の通信シーケンスの例である。
【0332】
ステップS401でコーディネータ200は、図6のステップS101と同様に、ビーコンを送信する。また、図11の例では、エンドデバイス100は、コーディネータ200からのビーコンが受信可能な領域に位置しており、したがって、ビーコンを受信する。
【0333】
また、ステップS402でエンドデバイス100は、図6のステップS102と同様に、参加要求を送信する。そして、図6の例と同様に、図11の例においても、参加要求はコーディネータ200に受信される。ただし、ステップS102とは異なり、ステップS402では、参加要求にLQI_CN_EDは含まれない。
【0334】
コーディネータ200は、参加要求を受信すると、次のステップS403でACKを送信する。ステップS403は図6のステップS103と同様である。
コーディネータ200はさらに、ステップS404で受付通知を送信する。図6のステップS104で送信される受付通知とは異なり、ステップS404で送信される受付通知は、コーディネータ200がステップS402で参加要求を受信したときにLQI計測回路212が計測したLQI_ED_CNを含む。
【0335】
以上のようなステップS401〜S404の通信により、エンドデバイス100はコーディネータ200に参加する。また、エンドデバイス100は、LQI_ED_CNを含む受付通知をステップS404で受信すると、送信電波強度を必要に応じて適宜調整する。
【0336】
具体的には、ステップS401のビーコンが受信されたときにLQI計測回路112が計測したLQI_CN_EDと、受付通知に含まれるLQI_ED_CNを、CPU121が比較する。LQI_CN_EDがLQI_ED_CNよりも大きい場合は、図1の領域5のような領域をなくすために、調整が行われる。
【0337】
具体的には、エンドデバイス100の不揮発性記憶装置123またはRAM124には、図9と同様の調整パラメタ情報400が記憶されている。よって、CPU121は、調整パラメタ情報400を用いて、LQI_CN_EDとLQI_ED_CNに基づいて、ゲイン調整回路113用のパラメタ値(つまり出力レベルの値)を決定することができる。
【0338】
CPU121は、決定したパラメタ値をトランシーバ110に出力する。そして、ゲイン調整回路113は、出力された値に応じてトランシーバ110の送信電波強度を調整する。調整は、今後コーディネータ200のLQI計測回路212により計測されるLQI_ED_CNの方が、今後エンドデバイス100のLQI計測回路112により計測されるLQI_CN_EDよりも大きくなるように、行われる。
【0339】
以上のように、CPU121は、調整パラメタ情報400を格納する格納手段としての不揮発性記憶装置123またはRAM124を参照することで、パラメタXを取得することができる。そして、ゲイン調整回路113は、CPU121が取得したパラメタXにしたがって、送信電波強度を調整する。
【0340】
ところで、コーディネータ200は、ステップS402で参加要求を受信すると、サーバ20にエンドデバイス100のIDを通知する。よって、エンドデバイス100宛のデータをサーバ20が生成または取得すると、サーバ20は、有線LAN50を介して当該データをコーディネータ200へと送信する。
【0341】
また、コーディネータ200は定期的にビーコンを送信する。図11の例では、図6のステップS105と同様に、ステップS405でコーディネータ200がビーコンを送信する。
【0342】
ここで、ステップS405の実行時点では、コーディネータ200から送信されるビーコンが受信可能な領域内に、エンドデバイス100が、まだ、とどまっているものとする。また、ステップS405の少し前に、サーバ20が、エンドデバイス100宛のデータを生成または取得し、エンドデバイス100宛のデータがサーバ20からコーディネータ200へ送信されたとする。
【0343】
したがって、ステップS405で送信されるビーコンは、エンドデバイス100のIDを含む。その結果、エンドデバイス100は、「エンドデバイス100宛のデータがコーディネータ200でペンディングになっている」と認識する。
【0344】
そこで、ステップS406でエンドデバイス100は、図6のステップS106と同様に、データ要求をコーディネータ200に送信する。ただし、ステップS106とは異なり、ステップS406では、LQI_CN_EDの通知は行われない。
【0345】
コーディネータ200は、ステップS406のデータ要求を受信すると、ステップS407でACKを送信する。ステップS407は図6のステップS107と同様である。
【0346】
また、コーディネータ200は、ステップS408でエンドデバイス100宛のデータ(すなわちペンディング状態のデータ)を送信する。なお、図6のステップS108では、調整コマンドを含むデータフレーム320が送信されるが、図11のステップS408では、LQI_ED_CNを含むデータフレーム320が送信される。具体的には、コーディネータ200がステップS406でデータ要求を受信したときにLQI計測回路212が計測したLQI_ED_CNと、エンドデバイス100宛のデータを含むデータフレーム320が、ステップS408で送信される。
【0347】
エンドデバイス100は、ステップS408で送信された、LQI_ED_CNつきのデータを受信すると、送信電波強度を必要に応じて適宜調整する。具体的には、ステップS405のビーコンが受信されたときにLQI計測回路112が計測したLQI_CN_EDと、ステップS408で通知されたLQI_ED_CNを、CPU121が比較する。LQI_CN_EDがLQI_ED_CNよりも大きい場合は、ステップS404と同様にして、調整が行われる。
【0348】
そして、ステップS409でエンドデバイス100は、ステップS408で受信したデータに対するACKを送信する。すると、コーディネータ200はACKを受信し、プル型通信が成功したことを認識する。ステップS409は図6のステップS109と同様である。
【0349】
なお、エンドデバイス100は、ステップS408で送信されたデータに応じて、適宜ディスプレイ130とスピーカ140の一方または双方を制御する。
【0350】
以上、図11に例示したように、第2実施形態では、コーディネータ200からエンドデバイス100へ通知される情報が、調整コマンドではなくLQI_ED_CNである。そして、調整パラメタの値は、コーディネータ200ではなくエンドデバイス100により決定される。
【0351】
しかし、コーディネータ200から送信される情報に応じてエンドデバイス100が送信電波強度を調整する点、および、LQI_CN_ED<LQI_ED_CNとなるように送信電波強度が調整される点は、第1実施形態と第2実施形態に共通である。したがって、第1実施形態と同様に、第2実施形態でも、図1の領域5のような領域がなくなり、通信エラーが防止される。
【0352】
ここで、第2実施形態で使われる各種フレームの形式について説明する。
ビーコンフレーム300、ACKフレーム、およびデータ要求のMACコマンドフレームの形式は、第1実施形態と第2実施形態で同じであり、IEEE802.15.4規格で定義されている通常の形式である。
【0353】
他方、図示は省略したが、第2実施形態では、参加要求のデータフレーム320の形式と、エンドデバイス100からの何らかの要求に応じてコーディネータ200が送信するデータフレーム320の形式が、第1実施形態とは多少異なる。
【0354】
具体的には、第2実施形態における参加要求のデータフレーム320のMACペイロード327は、図7のMACペイロード340から、LQI346と出力レベル347を省略した形式であってもよい。
【0355】
また、例えば図11のステップS404に示すように、第2実施形態における受付通知のデータフレーム320は、LQIを含む。具体的には、受付通知のデータフレーム320のMACペイロード327は、例えば、図7のMACペイロード360における出力レベル364をLQI_ED_CN用のフィールドに置き換えた形式であってもよい。
【0356】
そして、第2実施形態では、受付通知だけでなく、ペンディング状態のデータをエンドデバイス100に送信するためのステップS408のデータフレーム320も、LQIを含む。ステップS408のデータフレーム320は、例えば、図6のステップS108で送信されるデータフレーム320における出力レベル364をLQI_ED_CN用のフィールドに置き換えた形式であってもよい。
【0357】
続いて、図11のような通信シーケンスを実現するためにコーディネータ200が実行する処理について、図12を参照して説明する。図12は、第2実施形態のコーディネータ200の動作フローチャートである。コーディネータ200は、電源が入っている間、図12の処理を実行する。
【0358】
ステップS501〜S503は、図8のステップS201〜S203と同様なので、詳しい説明を省略する。なお、ステップS501の具体例は、図11のステップS401とS405である。また、受信されたか否かがステップS502で判断される参加要求の具体例は、図11のステップS402の参加要求である。参加要求が受信されていないとステップS502でCPU221が判断した場合、処理はステップS506へ移行する。そして、ステップS503の具体例は、図11のステップS403である。
【0359】
さて、ステップS503でのACKの送信の後、ステップS504でCPU221は、参加要求が受信されたときにLQI計測回路212が計測したLQI_ED_CNを含む、受付通知のデータフレーム320を生成する。そして、CPU221は、生成したデータフレーム320をトランシーバ210に出力する。
【0360】
すると、次のステップS505でトランシーバ210は、CPU221から出力されたデータフレーム320を表す電波信号を、アンテナ211から送信する。また、ステップS505では、CPU221が、参加要求の送信元のエンドデバイス100のID(つまりEDアドレス345の値)を、有線LANインタフェイス230を介して、サーバ20に通知する。そして、処理はステップS506へ移行する。なお、ステップS505の具体例は、図11のステップS404である。
【0361】
ステップS506でコーディネータ200は、いずれかのエンドデバイス100からのデータ要求が受信されたか否かを、図8のステップS208と同様の方法により判断する。そして、データ要求が受信されていれば、処理はステップS507へと移行する。逆に、データ要求が受信されていなければ、処理はステップS511へと移行する。
【0362】
ステップS507では、図8のステップS209と同様に、コーディネータ200がACKを送信する。ステップS507の具体例は図11のステップS407である。
【0363】
次に、ステップS508でCPU221は、データ要求が受信されたときにLQI計測回路212が計測したLQI_ED_CNと、エンドデバイス100宛のペンディング状態のデータとを含むデータフレーム320を生成する。CPU221は、生成したデータフレーム320をトランシーバ210に出力する。
【0364】
すると、次のステップS509でトランシーバ210は、CPU221から出力されたデータフレーム320を表す電波信号を、アンテナ211から送信する。ステップS509の具体例は、図11のステップS408である。
【0365】
ステップS509の送信後、ステップS510でコーディネータ200は、ステップS509で送信したデータに対するACKを受信する。受信後、処理はステップS511に移行する。ステップS510の具体例は図11のステップS409である。また、図8のステップS213〜S214に関して説明したのと同様のリトライ制御が、ステップS509〜S510に関しても行われてもよい。
【0366】
ステップS511でCPU221は、図8のステップS215と同様にして、長さTのビーコン周期が経過したか否かを判断する。そして、ビーコン周期がまだ経過していなければ、処理はステップS502に戻る。逆に、ビーコン周期がもう経過していれば、処理はステップS501に戻る。
【0367】
続いて、図11のような通信シーケンスを実現するためにエンドデバイス100が実行する処理について、図13を参照して説明する。図13は、第2実施形態のエンドデバイス100の動作フローチャートである。エンドデバイス100は、電源が入れられると、図13の処理を開始する。
【0368】
ステップS601〜ステップS605は、図10のステップS301〜S305と同様なので、説明を省略する。なお、ステップS603の具体例は図11のステップS401とS405である。
【0369】
また、第1実施形態と同様に第2実施形態においても、説明の簡単化のため、ステップS605での判断対象のアクセス要求が、具体的には参加要求に限られるものとする。参加要求の具体例は、図11のステップS402に示されている。しかし、実施形態によっては、エンドデバイス100が、例えば、GTS要求などの他の種類の要求をコーディネータ200に送信することがあってもよい。
【0370】
参加要求がある場合、処理はステップS605からステップS606へと移行する。逆に、参加要求がない場合は、処理はステップS610に移行する。
【0371】
ステップS606でCPU121は、参加要求のデータフレーム320を生成し、トランシーバ110に出力する。すると、トランシーバ110は、データフレーム320を表す電波信号をアンテナ111から送信する。ステップS606の具体例は、図11のステップS402である。
【0372】
次に、ステップS607でエンドデバイス100は、ステップS606でエンドデバイス100が送信した参加要求に対するACKと受付通知を、コーディネータ200から受信する。ACKの受信の具体例は図11のステップS403であり、受付通知の受信の具体例はステップS404である。ACKと受付通知の受信後、処理はステップS608へ移行する。
【0373】
上記のとおり第2実施形態における受付通知のデータフレーム320は、コーディネータ200が参加要求の受信に応じて計測したLQI_ED_CNを含む。また、図10のステップS306〜S307に関して説明したのと同様のリトライ制御が、ステップS606〜S607で必要に応じて行われる。
【0374】
受付通知の受信後、ステップS608でCPU121は、ステップS603でビーコンが受信されたときにLQI計測回路112が計測したLQI_CN_EDと、ステップS607で受信された受付通知に含まれるLQI_ED_CNを比較する。もし、LQI_ED_CNの方がLQI_CN_EDよりも大きければ、エンドデバイス100の送信電波強度の調整は不要なので、処理はステップS610へ移行する、逆に、LQI_ED_CNがLQI_CN_ED以下ならば、送信電波強度の調整のため、処理はステップS609へ移行する。
【0375】
ステップS609でCPU121は、LQI_ED_CNとLQI_CN_EDの値から、ゲイン調整回路113に与えるためのパラメタの値を決定する。そして、CPU121は決定した値をトランシーバ110に出力する。すると、ゲイン調整回路113は、図10のステップS309やS315と同様にして、送信電波強度を調整する。
【0376】
CPU121がパラメタの値を決定する方法は、第1実施形態においてコーディネータ200のCPU221が調整パラメタの値を決定する方法と類似である。具体的には、第2実施形態では、エンドデバイス100のCPU121が、不揮発性記憶装置123またはRAM124に記憶された調整パラメタ情報400を参照し、上記の不等式(10)を満たす最小の値Xを探す。
【0377】
なお、第2実施形態では、不等式(10)における値X0は、エンドデバイス100自体のゲイン調整回路113が現在使っている出力レベルの値である。換言すれば、値X0は、CPU121が最後にゲイン調整回路113に対して指定した値である。
【0378】
そして、CPU121は、不等式(10)を満たす最小の値Xを見つけると、見つけた値Xをトランシーバ110に出力する。すると、トランシーバ110内のゲイン調整回路113は、出力された値にしたがってゲインを調整することにより、送信電波強度を調整する。
【0379】
以上のステップS609での調整の結果、コーディネータ200のLQI計測回路212により今後計測されるLQI_ED_CNの方が、エンドデバイス100のLQI計測回路112により今後計測されるLQI_CN_EDよりも大きくなると期待される。また、以上の調整の後、処理はステップS610に移行する。
【0380】
ステップS610でCPU121は、図13の処理を実行しているエンドデバイス100自体のIDが、ステップS603で受信されたビーコンに含まれているか否かを、図10のステップS310と同様にして判断する。もし、エンドデバイス100自体のIDがビーコンに含まれれば、処理はステップS611に移行する。逆に、エンドデバイス100自体のIDがビーコンに含まれなければ、処理はステップS617に移行する。
【0381】
ステップS611でCPU121は、図10のステップS311と同様にして、アクセス時刻ATとスリープ時間P1を算出し、算出した時間P1だけスリープするようにエンドデバイス100を制御する。スリープ時間P1が経過すると(すなわちアクセス時刻ATの直前になると)、エンドデバイス100はスリープ状態から復帰して、処理はステップS612へと移行する。
【0382】
ステップS612でCPU121は、データ要求のMACコマンドフレームを生成する。MACコマンドフレームの宛先PANIDと宛先アドレスには、ステップS603で受信されたビーコンフレーム300の送信元PANID303と送信元アドレス304の値が設定される。
【0383】
そして、CPU121は、生成したデータ要求のMACコマンドフレームをトランシーバ110に出力する。すると、当該MACコマンドフレームを表す電波信号がトランシーバ110から送信される。ステップS612の具体例は図11のステップS406である。
【0384】
次に、ステップS613でエンドデバイス100は、例えば図11のステップS407とS408のように、コーディネータ200から、データ要求に対するACKとデータを受信する。第2実施形態では上記のとおり、コーディネータ200でペンディングになっているデータが、LQI_ED_CNとともに、1つのデータフレーム320により送信される。
【0385】
なお、第1実施形態と同様に、受信されたデータの内容に応じて、CPU121は、ディスプレイ130とスピーカ140の一方または双方を適宜制御する。しかし、図13では、説明の簡略化のため、ディスプレイ130とスピーカ140の制御は省略されている。
【0386】
次のステップS614でCPU121は、ステップS603でビーコンフレーム300が受信されたときにLQI計測回路112が計測したLQI_CN_EDと、ステップS613で受信されたデータフレーム320に含まれるLQI_ED_CNを比較する。もし、LQI_ED_CNの方がLQI_CN_EDよりも大きければ、エンドデバイス100の送信電波強度の調整は不要なので、処理はステップS616へ移行する、逆に、LQI_ED_CNがLQI_CN_ED以下ならば、送信電波強度の調整のため、処理はステップS615へ移行する。
【0387】
ステップS615では、ステップS609と同様にして、CPU121が調整パラメタの値を決定し、ゲイン調整回路113が送信電力を調整する。そして、処理はステップS616に移行する。
【0388】
ステップS616でエンドデバイス100は、図10のステップS316と同様にしてACKを送信する。ステップS616の具体例は図11のステップS409である。ACKの送信後、処理はステップS617に移行する。
【0389】
ステップS617でCPU121は、図10のステップS317と同様にして、スリープ時間P2を算出し、算出した時間P2だけスリープするようにエンドデバイス100を制御する。スリープ時間P2が経過すると(すなわち次のビーコンが送信される時刻の直前になると)、エンドデバイス100はスリープ状態から復帰して、処理がステップS603に戻る。
【0390】
以上のように、第2実施形態では、エンドデバイス100がビーコンの受信時にLQI_CN_EDを計測し、コーディネータ200が要求(具体的には参加要求またはデータ要求)の受信時にLQI_ED_CNを計測する。そして、コーディネータ200は、要求に対して返す応答(具体的には受付通知またはペンディング状態のデータ)に、計測したLQI_ED_CNを付加することにより、エンドデバイス100にLQI_ED_CNを通知する。
【0391】
エンドデバイス100は、通知されたLQI_ED_CNと計測したLQI_CN_EDの比較結果に応じて、送信電波強度を適宜調整する。調整の結果として、調整の済んだ後には、LQI_CN_EDよりもLQI_ED_CNの方が大きくなると期待される。したがって、図1の領域5のように通信エラーの原因となる領域がなくなると期待される。
【0392】
また、第2実施形態においてLQI_ED_CNは、専用のデータフレーム320を用いて通知されるのではなく、他の情報(例えば、参加要求に対する受付通知、または、データ要求に応じて送られるデータ)と同じ1つのフレームを用いて通知される。よって、第2実施形態でも、LQI_ED_CNの通知のために生じるオーバヘッドが小さいという利点がある。もちろん、オーバヘッドが多少大きくても問題にならない実施形態においては、LQI_ED_CNの通知専用のデータフレーム320が使われてもよい。
【0393】
ところで、本発明は上記実施形態に限られるものではない。上記の説明においてもいくつかの変形について説明したが、上記実施形態は、例えば下記に例示するいくつかの観点から様々に変形することもでき、これらの変形は、相互に矛盾しない限り、任意に組み合わせることが可能である。
【0394】
変形の第1の観点は、エンドデバイス100とコーディネータ200が実行するプログラムが、どのようにして提供されるのか、ということに関する。
【0395】
上記のとおり、エンドデバイス100のCPU121は、不揮発性記憶装置123に格納されているプログラムを実行する。プログラムは、不揮発性記憶装置123にプレインストールされていてもよい。あるいは、プログラムは、ネットワークを介して(例えばコーディネータ200を介して)不揮発性記憶装置123にダウンロードされてもよい。
【0396】
また、エンドデバイス100は、コンピュータ読み取り可能な記憶媒体の読取装置をさらに備えていてもよい。プログラムは、記憶媒体に格納されて提供され、不揮発性記憶装置123にコピーされてもよい。
【0397】
同様に、コーディネータ200のCPU221は、不揮発性記憶装置223に格納されているプログラムを実行する。プログラムは、不揮発性記憶装置223にプレインストールされていてもよい。あるいは、プログラムは、有線LANインタフェイス230を介して不揮発性記憶装置223にダウンロードされてもよい。
【0398】
また、コーディネータ200は、コンピュータ読み取り可能な記憶媒体の読取装置をさらに備えていてもよい。プログラムは、記憶媒体に格納されて提供され、不揮発性記憶装置223にコピーされてもよい。
【0399】
エンドデバイス100用またはコーディネータ200用のプログラムを格納する記憶媒体としては、例えば、半導体メモリカードなどが利用可能である。実施形態によっては、CD(Compact Disc)やDVD(Digital Versatile Disk)などの光ディスク、光磁気ディスク、または磁気ディスクが利用されてもよい。
【0400】
なお、以上例示した各種記憶媒体、エンドデバイス100の不揮発性記憶装置123およびRAM124、ならびに、コーディネータ200の不揮発性記憶装置223およびRAM224は、いずれも、有形の(tangible)記憶媒体の例である。これらの有形の記憶媒体は、信号搬送波のような一時的な(transitory)媒体ではない。
【0401】
変形の第2の観点は、エンドデバイス100とコーディネータ200のハードウェア構成に関する。図4のエンドデバイス100では、MAC副層とその上位層の処理は、プログラムにしたがって動作する汎用的なCPU121によって実行される。しかし、実施形態によっては、CPU121の代わりに、あるいはCPU121と組み合わせて、ASIC(Application Specific Integrated Circuit)などのハードウェア回路が利用されてもよい。同様に、コーディネータ200に関しても、CPU221の代わりに、あるいはCPU221と組み合わせて、ASICなどのハードウェア回路が利用されてもよい。例えば、MAC副層の処理を実行するためのMACチップと呼ばれる専用のハードウェア回路が利用されてもよい。
【0402】
変形の第3の観点は、フレームの形式に関する。図7には、LQIや調整コマンドの通知に、IEEE802.15.4規格で定義されるデータフレーム320が使われる例を示した。しかし、実施形態によっては、IEEE802.15.4規格で定義されるMACコマンドフレームが使われてもよい。
【0403】
例えば、IEEE802.15.4規格で定義されるMACコマンドフレームの1種である参加要求が、第1〜第2実施形態のように上位層で定義される参加要求の代わりに使われてもよい。この場合、第1〜第2実施形態の受付通知の代わりに、MACコマンドフレームの1種である参加応答(association response)が使われてもよい。
【0404】
IEEE802.15.4規格で定義されるMACコマンドフレームのMACヘッダとMACフッタの形式は、データフレーム320と同様である。MACコマンドフレームのMACペイロードは、1オクテットのコマンドフレームIDと、可変長のコマンドペイロードを含む。
【0405】
コマンドフレームIDは、コマンドのタイプを示す。例えば、0x04はデータ要求を示す。また、IEEE802.15.4規格では、0x0A〜0xFFという値は予約されており、これらの値の意味が定義されていない。よって、0x0A〜0xFFの範囲内の値を用いて、MAC副層レベルのコマンドを新たに定義することも可能である。
【0406】
よって、実施形態によっては、0x0A〜0xFFの範囲内に含まれる特定の値がコマンドフレームIDに指定された、拡張されたMACコマンドフレームが、LQIや調整コマンドの通知のために使われてもよい。つまり、MACコマンドフレームのコマンドペイロードに、LQIや、調整コマンドとしての出力レベルなどのフィールドが含まれてもよい。
【0407】
また、LQIまたは調整コマンドが、エンドデバイス100宛のペンディング状態のデータとともに、1つのフレームで送信される場合、フレームコントロール中のフレームタイプは、MACコマンドフレームを示す値であってもよい。
【0408】
この場合、コマンドフレームIDには、予約された0x0A〜0xFFの範囲内に含まれる特定の値が指定される。そして、コマンドペイロードが、LQIまたは調整コマンドだけでなく、エンドデバイス100宛のデータも含む。つまり、形式上は拡張されたMACコマンドフレームでありながら、意味上はデータフレームであるようなフレームが使われてもよい。
【0409】
以上のように、具体的なフレームの形式は実施形態に応じて様々である。しかし、どのような形式のフレームが使われようとも、LQI_CN_EDの通知のためにエンドデバイス100が送信するフレームを表す電波信号は、1種の通知信号である。同様に、どのような形式のフレームが使われようとも、LQI_ED_CNの通知のためにコーディネータ200が送信するフレームを表す電波信号も、1種の通知信号である。
【0410】
また、どのような形式のフレームが使われようとも、調整コマンドを含むフレームを表す電波信号は、調整コマンドを通知するための1種の通知信号である。例えば、図7のMACペイロード360を含むデータフレーム320を表す電波信号は、LQI_ED_CNとLQI_CN_EDとに依存する値(具体的には出力レベル364の値)を表す通知信号の具体例である。ゲイン調整回路113は、CPU121の制御のもとで、通知信号から得られる値を用いて、送信電波強度を調整する。
【0411】
変形の第4の観点は、調整の程度に関する。第1〜第2実施形態では、送信電波強度を上げる調整のみが実行され、送信電波強度を下げる調整は行われない。しかし、実施形態によっては、状況に応じて送信電波強度を下げる調整が行われることがあってもよい。また、1回の調整による出力レベルの変化の程度は、実施形態に応じて異なっていてもよい。
【0412】
変形の第4の観点について、図14を参照しながら、さらに詳しく説明する。図14は、より好ましい調整の程度について説明する図である。
【0413】
図14には、LQI_CN_EDの方がLQI_ED_CNよりも大きい状況501が例示されている。このような状況501のもとでは、図1の領域5のような領域に起因する通信エラーが起きる可能性がある。よって、状況501が検出されると、第1実施形態でも第2実施形態でも調整が行われる。
【0414】
また、図14には、LQI_CN_EDよりもLQI_ED_CNの方が大きく、両者の差が、適宜定められたマージンQを超えている状況502も例示されている。第1〜第2実施形態では、このような状況502は、調整の対象ではない。しかし、実施形態によっては、状況502が調整の対象であってもよい。
【0415】
具体的には、状況502が検出された場合には、送信電波強度を下げる調整が行われてもよい。なぜなら、図1の領域5のような領域をなくすには、LQI_CN_EDよりもLQI_ED_CNの方がわずかでも大きければ十分だからである。
【0416】
必要以上にLQI_ED_CNが大きいということは、必要以上にエンドデバイス100が送信電力を消費していることを意味する。そして、移動機であるエンドデバイス100は電池から電力を得ているので、必要以上の電力消費は好ましくない。
【0417】
そこで、第1の品質LQI_ED_CNが第2のLQI_CN_EDよりも高く、かつ、第1の品質と第2の品質との差が閾値(つまりマージンQ)よりも大きい場合、ゲイン調整回路113は、トランシーバ110が送信する電波信号の強度を下げてもよい。
【0418】
ここで、マージンQが適切に小さく定められているとする。すると、LQI_ED_CNがLQI_CN_EDよりもマージンQのぶんだけ大きい状況503は、通信エラーの防止とエンドデバイス100の消費電力抑制という2つの観点から好ましい。よって、状況501と502のいずれにおいても、LQI_CN_EDとLQI_ED_CNが状況503に示すような関係になることを目指して、適宜、エンドデバイス100の送信電波強度が調整されることが好ましい。つまり、ゲイン調整回路113は、LQI計測回路212により今後計測される品質が、LQI計測回路112により今後計測される品質と閾値(つまりマージンQ)との和になるべく近くなるように、送信電波強度を調整することが好ましい。
【0419】
なお、第1〜第2実施形態では、「調整の結果としてLQI_ED_CNが大きくなりすぎた」という事態にならないように、不等式(10)を満たす値Xの中で最小のXが選ばれる。よって、状況501が検出された場合は、調整により、状況503に近い適切な状況が実現される。
【0420】
ところで、図14のマージンQは、上述の不等式(7)のように比率により定義されてもよいし、不等式(8)のように固定値として定義されていてもよい。参照の便宜のため、以下に不等式(7)と(8)を再掲する。
LQI_CN_ED < LQI_ED_CN < LQI_CN_ED×1.05 (7)
LQI_CN_ED < LQI_ED_CN < LQI_CN_ED+10 (8)
【0421】
状況502が検出された場合にエンドデバイス100の送信電波強度を小さくするために、第1実施形態は、不等式(7)または(8)を用いて次のように変形されてもよい。以下では便宜上、不等式(8)が用いられる場合を例に説明する。
【0422】
図8のステップS204とS210で、コーディネータ200のCPU221は、不等式(8)が成立するか否かを判断する。そして、CPU221は、不等式(8)が成立する場合は調整不要と判断し、不等式(8)が成立しない場合は、調整パラメタを決定する。例えば、不等式(8)の例では、マージンQの値は10である。
【0423】
LQI_ED_CNがLQI_CN_ED以下の場合の調整パラメタの決定方法は、第1実施形態と同様である。LQI_ED_CNが、LQI_CN_EDとマージンQの和以上の場合、例えば以下のようにして調整パラメタが決定される。
【0424】
ここで、第1実施形態における不等式(10)についての説明と同じく、コーディネータ200が受信した参加要求のデータフレーム320に含まれる出力レベル347の値をX0とする。CPU221は、図9の調整パラメタ情報400のテーブルで値X0に対応する行に注目する。そして、CPU221は、注目した行から始めて、テーブルの上方向へと順に各行に注目してゆき、不等式(16)を満たす行を探す。つまり、CPU221は、不等式(16)を満たす最小の出力レベルの値Xを探す。
LQI_CN_ED < LQI_ED_CN-(LQI_DIFF(X0)-LQI_DIFF(X)) < LQI_CN_ED+Q (16)
【0425】
例えば、LQI_CN_ED=140かつLQI_ED_CN=156かつX0=0x0Dの場合、CPU221は、出力レベルの値が0x0Bの行を見つける。出力レベルの値が0x0Bの行ではLQIの差LQI_DIFF(0x0B)が0なので、不等式(17)から理解されるとおり、不等式(16)が満たされる。
140 < 156-(8-0)=148 < 140+10=150 (17)
【0426】
以上のようにして、CPU221は、ステップS206とS212で不等式(8)の条件にしたがって、具体的には不等式(16)を用いて、調整パラメタの値を決定することができる。なお、もし不等式(16)を満たす値Xが存在しなければ、調整は不要である。不等式(8)の条件の代わりに不等式(7)の条件が用いられる変形例も、当然可能である。
【0427】
また、第2実施形態も同様にして変形可能である。つまり、第2実施形態のエンドデバイス100のCPU121が、不等式(16)を満たす出力レベルの値Xを調整パラメタ情報400のテーブルから探してもよい。
【0428】
以上のような変形により、状況502は、状況503に近い適切な状況へと改善され、無駄な電力消費が避けられる。
【0429】
また、調整の程度という観点からは、以下のような変形も可能である。
第1〜第2実施形態と上記の変形例のいずれにおいても、1回の調整によって出力レベルは、例えば、0x0Aから0x0Cへと2段階上げられるかもしれないし、0x0Aから0x0Bへと1段階上げられるかもしれない。しかし、1回の調整では常に1段階ずつ出力レベルが変更されるような実施形態も可能である。
【0430】
その場合、調整コマンドは、出力レベルを指定する値を含む必要はなく、単に、出力レベルを上げる調整と出力レベルを下げる調整が区別可能であればよい。図14の状況502が調整対象でない実施形態では、そのような区別さえも不要であり、コーディネータ200は何のパラメタもなしに単にエンドデバイス100に調整を命じるだけでよい。
【0431】
上記のとおり、各エンドデバイス100と各コーディネータ200は、理想的にはLQI_ED_CNの方がLQI_CN_EDよりもわずかに大きくなるように、製造され、設定される。しかし、製造ばらつきが原因で、エンドデバイス100とコーディネータ200の組み合わせによっては、「LQI_ED_CNの方がLQI_CN_EDよりもわずかに大きい」という関係が成立しないことがある。
【0432】
エンドデバイス100やコーディネータ200の仕様にもよるが、多くの場合、製造ばらつきによる送信電波強度のばらつきは、ゲイン調整回路113に指定される出力レベルにおける1段階の違いに起因する送信電波強度の違いよりも、小さい。よって、「LQI_ED_CNがLQI_CN_ED以下のときは、エンドデバイス100が1段階出力レベルを上げる」という単純な方針にしたがって調整が行われてもよい。この場合、調整パラメタ情報400は不要である。
【0433】
そして、第1実施形態のステップS206とS212における調整コマンドは、出力レベル364を含まないように変形されてもよい。単にコマンド361の値により、「調整が必要である」と示されてさえいれば、十分である。また、調整コマンドを含むデータフレーム320をエンドデバイス100が受信した場合、エンドデバイス100のCPU121は、最後にゲイン調整回路113に対して指定した出力レベルの値よりも1だけ大きい値を、ゲイン調整回路113に対して指定する。
【0434】
同様にして第2実施形態も変形可能である。つまり、図13のステップS609とS615では、エンドデバイス100のCPU121は、単に、最後にゲイン調整回路113に対して指定した出力レベルの値よりも1だけ大きい値を、ゲイン調整回路113に対して指定する。
【0435】
変形の第5の観点は、調整の要否が判断される頻度に関する。以下に、変形の第5の観点について、図15を参照しながら説明する。
【0436】
図15は、調整の要否が判断される頻度に関する複数のモードについて説明する図である。図15には4つのモードM1〜M4が例示されており、第1実施形態と第2実施形態はいずれもモードM1の例である。しかし、第1実施形態、第2実施形態、またはその変形例による無線通信システムは、他のモードで動作するように変形されてもよい。また、モードが切り換え可能なようにエンドデバイス100とコーディネータ200が構成されていてもよい。
【0437】
モードM1では、エンドデバイス100からの任意の種類の要求と、当該要求に対してコーディネータ200から返される応答が生じるたびに、毎回、コーディネータ200またはエンドデバイス100によって、調整の要否が判断される。そして、調整が必要と判断されると、エンドデバイス100による調整が実行される。
【0438】
例えば、第1実施形態と第2実施形態では、参加要求とデータ要求という2種類の要求があり、どちらの種類の要求が生じた場合にも、要求と応答が生じるたびに、調整の要否が判断される。他の種類の要求がさらに使われる実施形態においても、同様にモードM1が適用可能である。
【0439】
モードM1の利点は、エンドデバイス100の送信電波強度を無線通信環境の変化に素早く追従させることが可能な点である。上記のようにLQIは、実際はエンドデバイス100とコーディネータ200の間の距離だけに依存するのではなく、距離以外の要因(例えば、他の物体による電波の反射や遮蔽などの、環境変化)にも依存する。モードM1は、図15に示す4つのモードの中では最も頻繁に調整の要否が判断されるモードなので、環境変化への追従性という点で優れている。
【0440】
他方、モードM2は、節電を重視するモードである。具体的には、モードM2では、参加要求とそれに対する受付通知が生じるたびに、毎回、コーディネータ200またはエンドデバイス100によって、調整の要否が判断される。そして、調整が必要と判断されると、エンドデバイス100による調整が実行される。
【0441】
しかし、モードM2では、他の種類の要求(例えばデータ要求)とそれに対する応答が生じる際には、調整の要否は判断されない。よって、モードM1と比べると、モードM2では、コーディネータ200のCPU221またはエンドデバイス100のCPU121が調整の要否を判断するために消費する電力が少ない。
【0442】
なお、調整の要否が判断される契機として、モードM2で参加要求と受付通知が使われる理由は、次のとおりである。
LQI_CN_EDとLQI_ED_CNの関係は、エンドデバイス100とコーディネータ200のペアに応じて異なる。つまり、ある1台のエンドデバイス100に着目すると、ハンドオーバが生じるたびに、適切な送信電波強度が変化する可能性がある。したがって、図1の領域5のような領域をなくすためには、ハンドオーバが生じるたびに少なくとも1回は、調整の要否が判断されることが望ましい。よって、モードM2では、参加要求と受付通知が、判断契機として利用される。
【0443】
モードM2のように、エンドデバイス100は、複数の種類のフレームのうち所定の種類のフレーム(例えば参加要求のデータフレーム320)をコーディネータ200へ送信する際に、当該所定の種類のフレームにLQI_CN_EDを表すデータを含めてもよい。また、当該所定の種類のフレームは、コーディネータ200からの応答(例えば受付通知)を求める種類のフレームであってもよい。すると、コーディネータ200は、応答のための応答フレームに調整パラメタ値を含めることで、調整のための通信オーバヘッドを減らすこともできる。
【0444】
ところで、環境変化への追従性と節電効果のバランスをとるため、モードM3が利用されてもよい。モードM3では、あるエンドデバイス100における前回の調整から、閾値より長い時間が経過した後に、当該エンドデバイス100からの何らかの要求と、その要求に対してコーディネータ200から返される応答が生じた場合に、調整の要否が判断される。
【0445】
なお、モードM3においても、参加要求と受付通知が生じた場合は、前回の調整から経過した時間によらず、モードM2と同様に調整の要否が判断されることが望ましい。また、モードM3においても、調整の要否は、第1実施形態のようにコーディネータ200によって判断されてもよいし、第2実施形態のようにエンドデバイス100によって判断されてもよい。
【0446】
モードM3によれば、適切な閾値を用いることで、環境変化への追従性と節電効果のバランスをとることができる。例えば、あるエンドデバイス100は、ある特定のコーディネータ200の近傍に長時間とどまっているかもしれない。モードM3によれば、その長時間の間に生じ得る環境変化に、エンドデバイス100の送信電波強度を、ある程度うまく追従させることができる。
【0447】
モードM4は、「図1の領域5が、コーディネータ1bからのビーコンが受信可能な領域3bの周縁部にあり、領域3bの中心部にはない」ということに着目して節電を図るモードである。なお、モードM4においても、参加要求と受付通知が生じた場合は、無条件にモードM2と同様に調整の要否が判断されることが望ましい。また、モードM4においても、調整の要否は、第1実施形態のようにコーディネータ200によって判断されてもよいし、第2実施形態のようにエンドデバイス100によって判断されてもよい。
【0448】
エンドデバイス100の送信電波強度を調整する目的は、図1の領域5のような領域に起因する通信エラーを防止することである。そして、エンドデバイス100がコーディネータ200のごく近くにある場合は、たとえLQI_CN_EDの方がLQI_ED_CNよりも大きくても、そのせいで通信エラーになることはない。
【0449】
そこで、モードM4では、「コーディネータ200からのビーコンが受信可能な領域の周縁部に、エンドデバイス100が位置している」と推測されるときに限定して、エンドデバイス100またはコーディネータ200が、調整の要否を判断する。
【0450】
具体的には、エンドデバイス100は、ビーコンのLQI_CN_EDの履歴をRAM124に保持してもよい。そして、エンドデバイス100のCPU121は、LQI_CN_EDの履歴から、ビーコンのLQI_CN_EDが低下する傾向にあるのか、あまり変化していないのか、それとも、上昇する傾向にあるのかを判定してもよい。
【0451】
LQI_CN_EDが低下しつつある場合は、エンドデバイス100がコーディネータ200から遠ざかりつつある、と推測される。つまり、この場合、コーディネータ200からのビーコンが受信可能な領域の周縁部にエンドデバイス100が近づきつつある、と推測される。
【0452】
そこで、「LQI_CN_EDが低下しつつある」とCPU121が判定した後で、エンドデバイス100が最初にデータ要求を送信するときに、エンドデバイス100は、(7−1)または(7−2)のようなフレームをコーディネータ200に送信してもよい。
【0453】
(7−1)第1実施形態の図6のステップS106と同様に、LQI_CN_EDと現在の出力レベルをコーディネータ200に通知するための(換言すれば、コーディネータ200に調整コマンドの生成を要求するための)フレーム。
(7−2)LQI_ED_CNをエンドデバイス100に通知するようにコーディネータ200に求めるための特定のコマンドを含むフレーム。
【0454】
逆に、LQI_CN_EDがあまり変化していないか上昇する傾向にある場合は、モードM4におけるエンドデバイス100は、(7−1)や(7−2)のフレームを送信しない。そして、この場合、エンドデバイス100は、データを要求するためには、単に通常のデータ要求のMACコマンドフレームを使う。
【0455】
なお、コーディネータ200は、(7−1)のフレームを受信したら、第1実施形態と同様に調整要否を判断し、必要に応じて調整コマンドをデータとともに送信する。また、コーディネータ200は、(7−2)のフレームを受信したら、受信した(7−2)のフレームに関して計測したLQI_ED_CNを、第2実施形態の図11のステップS408と同様にしてエンドデバイス100に通知する。
【0456】
以上のようにエンドデバイス100は、複数のビーコンフレーム300をそれぞれ表す複数の電波信号を受信し、複数の電波信号それぞれの品質(つまり複数のビーコンフレーム300それぞれについてのLQI_CN_ED)を計測してもよい。そして、エンドデバイス100は、計測の履歴を保持し、上記のように履歴を利用してもよい。結果として、LQI計測回路112によって計測された品質が低下する傾向にある場合は、LQI計測回路112によって計測された品質が上昇する傾向にある場合よりも高い頻度で、トランシーバ110が(7−1)か(7−2)のフレームを送信することになる。
【0457】
あるいは、履歴を用いた上記のような判定の代わりに、CPU121は、単純にLQI_CN_EDを所定の閾値(例えば、図3で使われる閾値0x20よりはやや大きい閾値)と比較してもよい。説明の便宜上、ここでは、例えば、所定の閾値が0x40だとする。
【0458】
LQI_CN_EDが閾値0x40以下ならば、「コーディネータ200からのビーコンが受信可能な領域内のうち、比較的周縁部に近い場所に、エンドデバイス100が位置している」と推測される。そこで、ビーコンのLQI_CN_EDが閾値0x40以下であるという状況下でデータ要求が生じたときに、エンドデバイス100は、(7−1)または(7−2)のようなフレームをコーディネータ200に送信してもよい。
【0459】
逆に、ビーコンのLQI_CN_EDが閾値0x40を超えている状況下でデータ要求が生じたときには、エンドデバイス100は、(7−1)や(7−2)のフレームを送信せず、単に通常のデータ要求のMACコマンドフレームだけを送信する。
【0460】
以上のように、履歴を用いるにせよ、閾値を用いるにせよ、いずれにしても、モードM4によれば、通信エラーの原因になる領域の近くにエンドデバイス100があると推測される場合に的を絞って、調整の要否が判断される。したがって、モードM4では調整頻度が抑えられ、節電効果が得られる。
【0461】
なお、LQI_CN_EDが低下しつつあるか閾値(例えば0x40)以下の場合には、データ要求の有無とは関係なく、エンドデバイス100が、(7−1)または(7−2)のフレームを送信してもよい。この場合、(7−1)または(7−2)のフレームは、上記(6−2)の要求受付期間に送信される。
【0462】
変形の第6の観点は、調整とフレーム送信の順序に関する。図10によれば、ステップS315の調整は、ステップS316のACKフレームの送信の前に行われる。同様に、図13によれば、ステップS615の調整は、ステップS616のACKフレームの送信の前に行われる。しかし、実施形態によっては、ACKフレームの送信の後に調整が行われてもよい。
【0463】
変形の第7の観点は、図9の調整パラメタ情報400に関する。
第1実施形態ではコーディネータ200が調整パラメタ情報400を使い、第2実施形態ではエンドデバイス100が調整パラメタ情報400を使う。いずれの実施形態でも、調整パラメタ情報400は、例えば図9のように1つのテーブルで表されていてよい。もちろん、図9のテーブル全体が調整パラメタ情報400として使われてもよいが、図9の太線で囲った部分だけが調整パラメタ情報400として使われてもよい。
【0464】
しかし、実施形態によっては、エンドデバイス100のゲイン調整回路113が現在使用中の出力レベルの値に応じて、複数のテーブルのうち1つが参照されてもよい。つまり、出力レベルの複数の値に対応する複数のテーブルがあってもよい。
【0465】
あるいは逆に、調整パラメタ情報400は、図9のように出力レベルの値XごとにLQIの差LQI_DIFF(X)を対応づける形式の情報でなくてもよい。例えば、予備実験の結果などから、「値Xが1段階変化するごとに、LQIの差LQI_DIFF(X)は4だけ変化する」のような線形の関係(または、近似的に線形と見なせる関係)が判明するかもしれない。この場合、単に、4(=4/1)という係数だけが、調整パラメタ情報400として不揮発性記憶装置123または223に記憶されていてもよい。
【0466】
変形の第8の観点は、送信電波強度を示す指標に関する。上記の各種実施形態では、LQIが指標として利用される。理由は、チャネルスキャンの要否の判断などに使われる指標がLQIだからである。しかし、実施形態によっては、RSSI(Received Signal Strength IndicationまたはReceived Signal Strength Indicatorの略)などの、他の指標が用いられてもよい。
【0467】
最後に、上記の種々の実施形態と変形例に関して、さらに下記の付記を開示する。
(付記1)
第1の無線通信機と、移動機である第2の無線通信機とを備える無線通信システムであって、
前記第1の無線通信機が、
前記第2の無線通信機から送信される電波信号を受信する第1の受信手段と、
前記第1の受信手段が受信した前記電波信号の品質を計測する第1の計測手段と、
電波信号を送信する第1の送信手段
を備え、
前記第2の無線通信機が、
前記第1の無線通信機から送信される前記電波信号を受信する第2の受信手段と、
前記第2の受信手段が受信した前記電波信号の品質を計測する第2の計測手段と、
電波信号を送信する第2の送信手段と、
前記第1の計測手段が計測した第1の品質が、前記第2の計測手段が計測した第2の品質よりも低い場合、前記第2の送信手段が送信する前記電波信号の強度を上げる調整手段
を備える
ことを特徴とする無線通信システム。
(付記2)
前記第1の品質が前記第2の品質よりも低い場合、前記調整手段は、前記第1の計測手段により計測される品質が前記第2の計測手段により計測される品質よりも高くなるように、前記強度を上げることを特徴とする付記1に記載の無線通信システム。
(付記3)
前記第1の品質が前記第2の品質よりも高く、かつ、前記第1の品質と前記第2の品質との差が閾値よりも大きい場合、前記調整手段は、前記強度を下げる
ことを特徴とする付記1または2に記載の無線通信システム。
(付記4)
前記第1の計測手段により計測される品質が、前記第2の計測手段により計測される品質と前記閾値との和に近くなるように、前記調整手段は前記強度を調整する
ことを特徴とする付記3に記載の無線通信システム。
(付記5)
前記第2の品質を表す電波信号である、第1の通知信号を、前記第2の送信手段が送信し、
前記第1の通知信号を前記第1の受信手段が受信し、
前記第1の計測手段が計測した前記第1の品質と、前記第1の受信手段が受信した前記第1の通知信号から得られる前記第2の品質とに依存する値を表す電波信号である、第2の通知信号を、前記第1の送信手段が送信し、
前記第2の通知信号を前記第2の受信手段が受信し、
前記第2の受信手段が受信した前記第2の通知信号から取得される前記値を用いて、前記調整手段が前記強度を調整する
ことを特徴とする付記1から4のいずれか1項に記載の無線通信システム。
(付記6)
前記値は、前記調整手段が前記強度を調整するために用いるパラメタである
ことを特徴とする付記5に記載の無線通信システム。
(付記7)
前記第1の無線通信機が、
前記第1の品質と前記第2の品質との間の相対関係を示す値と、前記パラメタとを関連づける情報を格納する格納手段をさらに備え、
前記格納手段を参照することで前記パラメタを取得する
ことを特徴とする付記6に記載の線通信システム。
(付記8)
前記第2の無線通信機は、複数の種類のフレームのうち所定の種類のフレームを前記第1の無線通信機へ送信する際に、前記所定の種類のフレームに前記第2の品質を表すデータを含め、
前記データを含む前記所定の種類のフレームを表す電波信号を、前記第2の送信手段が前記第1の通知信号として送信する
ことを特徴とする付記5から7のいずれか1項に記載の無線通信システム。
(付記9)
前記所定の種類のフレームは、前記第1の無線通信機からの応答を求める種類のフレームであり、
前記第1の無線通信機は、前記応答のための応答フレームに前記値を含め、
前記値を含む前記応答フレームを表す電波信号を、前記第1の送信手段が前記第2の通知信号として送信する
ことを特徴とする付記8に記載の無線通信システム。
(付記10)
前記第2の無線通信機は、2種類以上のフレームのうちいずれの種類のフレームを前記第1の無線通信機へ送信する際にも、送信対象のフレームに前記第2の品質を表すデータを含め、
前記データを含む前記送信対象のフレームを表す電波信号を、前記第2の送信手段が前記第1の通知信号として送信する
ことを特徴とする付記5から7のいずれか1項に記載の無線通信システム。
(付記11)
前記第1の無線通信機は、複数の電波信号を送信し、
前記第2の受信手段は、前記複数の電波信号を受信し、
前記第2の計測手段は、前記複数の電波信号それぞれの品質を計測し、
前記第2の計測手段によって計測された前記品質が低下する傾向にある場合は、前記第2の計測手段によって計測された前記品質が上昇する傾向にある場合よりも高い頻度で、前記第2の送信手段が、前記第1の通知信号を送信する
ことを特徴とする付記5から10のいずれか1項に記載の無線通信システム。
(付記12)
前記調整手段が前回前記強度を調整してから経過した時間が閾値を超えてから、前記第2の送信手段が前記第1の通知信号を送信する
ことを特徴とする付記5から10のいずれか1項に記載の無線通信システム。
(付記13)
前記第1の計測手段が計測した第1の品質を表す電波信号である、第3の通知信号を、前記第1の送信手段が送信し、
前記第3の通知信号を前記第2の受信手段が受信し、
前記第3の通知信号から取得される前記第1の品質と、前記第2の計測手段が計測した第2の品質とを用いて、前記調整手段が前記強度を調整する
ことを特徴とする付記1から4のいずれか1項に記載の無線通信システム。
(付記14)
前記第1の品質と前記第2の品質との間の相対関係を示す値と、前記調整手段が前記強度を調整するために用いるパラメタとを関連づける情報を格納する格納手段を、前記第2の無線通信機がさらに備えており、
前記調整手段は、前記格納手段を参照することで前記パラメタを取得し、前記パラメタにしたがって前記強度を調整する
ことを特徴とする付記13に記載の無線通信システム。
(付記15)
移動無線通信機であって、
電波信号を送信する送信手段と、
前記送信手段が送信した送信電波信号が固定無線通信機で受信されたときに前記固定無線通信機で計測された、前記送信電波信号の第1の品質を表すか、または前記第1の品質に依存する値を表す電波信号である通知信号を少なくとも含む複数の電波信号を、前記固定無線通信機から受信する受信手段と、
前記受信手段が前記固定無線通信機から受信した、前記通知信号または他の電波信号の、第2の品質を計測する計測手段と、
前記通知信号から取得される前記第1の品質と前記計測手段が計測した前記第2の品質とを用いて、または、前記通知信号から取得される前記値を用いて、前記送信手段が送信する送信電波信号が前記固定無線通信機で受信されるときに前記固定無線通信機で計測される前記送信電波信号の品質が、前記計測手段により計測される品質よりも高くなるように、前記送信手段が送信する電波信号の強度を調整する調整手段
を備えることを特徴とする移動無線通信機。
(付記16)
固定無線通信機であって、
電波信号を送信する送信手段と、
前記送信手段が送信した送信電波信号が移動無線通信機で受信されたときに前記移動無線通信機で計測された、前記送信電波信号の第1の品質を表す電波信号である通知信号を少なくとも含む複数の電波信号を、前記移動無線通信機から受信する受信手段と、
前記受信手段が前記移動無線通信機から受信した前記通知信号または他の電波信号の、第2の品質を計測する計測手段と、
前記送信手段が送信する送信電波信号が前記移動無線通信機で受信されるときに前記移動無線通信機で計測される前記送信電波信号の品質よりも、前記計測手段により計測される品質の方が高くなるように、前記移動無線通信機に送信電力を調整させるための、調整パラメタの値を、前記通知信号から取得される前記第1の品質と、前記計測手段が計測した前記第2の品質とに基づいて決定し、決定した前記値を表す電波信号を、前記送信手段に送信させる制御手段
を備えることを特徴とする固定無線通信機。
(付記17)
第1の無線通信機と、移動機である第2の無線通信機とを備える無線通信システムで行われる調整方法であって、
前記第1の無線通信機が、第1の電波信号を送信し、
前記第2の無線通信機が、前記第1の電波信号を受信し、受信した前記第1の電波信号の第1の品質を計測し、
前記第2の無線通信機が、第2の電波信号を送信し、
前記第1の無線通信機が、前記第2の電波信号を受信し、受信した前記第2の電波信号の第2の品質を計測し、
前記第1の無線通信機が計測した第1の品質が、前記第2の無線通信機が計測した第2の品質よりも低い場合、前記第2の無線通信機が、前記第2の無線通信機の送信する電波信号の強度を上げる
ことを特徴とする調整方法。
【符号の説明】
【0468】
1a、1b、30、31、200 コーディネータ
2a、2b、40、41、42、100 エンドデバイス
3a、3b、4a、4b、5、60、61 領域
10 無線通信システム
20 サーバ
50 有線LAN
110、210 トランシーバ
111、211 アンテナ
112、212 LQI計測回路
113 ゲイン調整回路
120、220 コントローラ
121、221 CPU
122、222 タイマ
123、223 不揮発性記憶装置
124、224 RAM
130 ディスプレイ
140 スピーカ
230 有線LANインタフェイス
300 ビーコンフレーム
301、321 フレームコントロール
302、322、344 シーケンス番号
303、325 送信元PANID
304、326 送信元アドレス
305 スーパフレーム定義
306 GTS
307 ペンディングアドレス
308 ビーコンペイロード
309、328 FCS
320 データフレーム
323 宛先PANID
324 宛先アドレス
327、340、360 MACペイロード
341、361 コマンド
342、362 方向
343、363 サイズ
345 EDアドレス
346 LQI
347、364 出力レベル
348、365 チェックサム
400 調整パラメタ情報
501、502、503 状況

【特許請求の範囲】
【請求項1】
第1の無線通信機と、移動機である第2の無線通信機とを備える無線通信システムであって、
前記第1の無線通信機が、
前記第2の無線通信機から送信される電波信号を受信する第1の受信手段と、
前記第1の受信手段が受信した前記電波信号の品質を計測する第1の計測手段と、
電波信号を送信する第1の送信手段
を備え、
前記第2の無線通信機が、
前記第1の無線通信機から送信される前記電波信号を受信する第2の受信手段と、
前記第2の受信手段が受信した前記電波信号の品質を計測する第2の計測手段と、
電波信号を送信する第2の送信手段と、
前記第1の計測手段が計測した第1の品質が、前記第2の計測手段が計測した第2の品質よりも低い場合、前記第2の送信手段が送信する前記電波信号の強度を上げる調整手段
を備える
ことを特徴とする無線通信システム。
【請求項2】
前記第1の品質が前記第2の品質よりも高く、かつ、前記第1の品質と前記第2の品質との差が閾値よりも大きい場合、前記調整手段は、前記強度を下げる
ことを特徴とする請求項1に記載の無線通信システム。
【請求項3】
前記第2の品質を表す電波信号である、第1の通知信号を、前記第2の送信手段が送信し、
前記第1の通知信号を前記第1の受信手段が受信し、
前記第1の計測手段が計測した前記第1の品質と、前記第1の受信手段が受信した前記第1の通知信号から得られる前記第2の品質とに依存する値を表す電波信号である、第2の通知信号を、前記第1の送信手段が送信し、
前記第2の通知信号を前記第2の受信手段が受信し、
前記第2の受信手段が受信した前記第2の通知信号から取得される前記値を用いて、前記調整手段が前記強度を調整する
ことを特徴とする請求項1または2に記載の無線通信システム。
【請求項4】
前記第1の計測手段が計測した第1の品質を表す電波信号である、第3の通知信号を、前記第1の送信手段が送信し、
前記第3の通知信号を前記第2の受信手段が受信し、
前記第3の通知信号から取得される前記第1の品質と、前記第2の計測手段が計測した第2の品質とを用いて、前記調整手段が前記強度を調整する
ことを特徴とする請求項1または2に記載の無線通信システム。
【請求項5】
移動無線通信機であって、
電波信号を送信する送信手段と、
前記送信手段が送信した送信電波信号が固定無線通信機で受信されたときに前記固定無線通信機で計測された、前記送信電波信号の第1の品質を表すか、または前記第1の品質に依存する値を表す電波信号である通知信号を少なくとも含む複数の電波信号を、前記固定無線通信機から受信する受信手段と、
前記受信手段が前記固定無線通信機から受信した、前記通知信号または他の電波信号の、第2の品質を計測する計測手段と、
前記通知信号から取得される前記第1の品質と前記計測手段が計測した前記第2の品質とを用いて、または、前記通知信号から取得される前記値を用いて、前記送信手段が送信する送信電波信号が前記固定無線通信機で受信されるときに前記固定無線通信機で計測される前記送信電波信号の品質が、前記計測手段により計測される品質よりも高くなるように、前記送信手段が送信する電波信号の強度を調整する調整手段
を備えることを特徴とする移動無線通信機。
【請求項6】
固定無線通信機であって、
電波信号を送信する送信手段と、
前記送信手段が送信した送信電波信号が移動無線通信機で受信されたときに前記移動無線通信機で計測された、前記送信電波信号の第1の品質を表す電波信号である通知信号を少なくとも含む複数の電波信号を、前記移動無線通信機から受信する受信手段と、
前記受信手段が前記移動無線通信機から受信した前記通知信号または他の電波信号の、第2の品質を計測する計測手段と、
前記送信手段が送信する送信電波信号が前記移動無線通信機で受信されるときに前記移動無線通信機で計測される前記送信電波信号の品質よりも、前記計測手段により計測される品質の方が高くなるように、前記移動無線通信機に送信電力を調整させるための、調整パラメタの値を、前記通知信号から取得される前記第1の品質と、前記計測手段が計測した前記第2の品質とに基づいて決定し、決定した前記値を表す電波信号を、前記送信手段に送信させる制御手段
を備えることを特徴とする固定無線通信機。
【請求項7】
第1の無線通信機と、移動機である第2の無線通信機とを備える無線通信システムで行われる調整方法であって、
前記第1の無線通信機が、第1の電波信号を送信し、
前記第2の無線通信機が、前記第1の電波信号を受信し、受信した前記第1の電波信号の第1の品質を計測し、
前記第2の無線通信機が、第2の電波信号を送信し、
前記第1の無線通信機が、前記第2の電波信号を受信し、受信した前記第2の電波信号の第2の品質を計測し、
前記第1の無線通信機が計測した第1の品質が、前記第2の無線通信機が計測した第2の品質よりも低い場合、前記第2の無線通信機が、前記第2の無線通信機の送信する電波信号の強度を上げる
ことを特徴とする調整方法。

【図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

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate