説明

ホスト機器

【課題】定常状態ではそのそれぞれがセンシング間隔Tsでセンサデータを送る第1クライアント機器及び第iクライアント機器(iは2≦i≦nの整数、nはn≧2の整数)からなる個数n個のクライアント機器群に無線ネットワークを介して結合されたホスト機器を提供する。
【解決手段】ホスト機器は、第1クライアント機器からのセンサデータを初期状態で受け取った第1時刻t1と、前記第iクライアント機器からの前記センサデータを初期状態で受け取った第i時刻ti(時刻tiは時刻t1より遅い)と、センシング間隔Tsと、個数nとに基づいて待機期間Twiを算出し、第iクライアント機器に前記待機期間Twiを待ってからセンサデータを送るように指示することによって、定常状態では、第1クライアント機器及び第iクライアント機器からのセンサデータが時間軸上で等間隔にホスト機器によって受け取られるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、おおまかにはネットワークの最適化方法に関し、より具体的には無線センサネットワーク上のホスト機器によってネットワークのトラフィックの偏りを減らす装置及び方法に関する。
【背景技術】
【0002】
無線センサネットワークを用いて、クライアント機器(client,子機、末端ノードとも呼ばれ、例えば計測機器)からのデータを無線で集めるニーズがある。例としてクライアントN台(Nは自然数)がホスト機器(host,親機、基地局ノードとも呼ばれる)1台に無線ネットワークを介して接続される計測機器ネットワークが挙げられる。本明細書では簡単のために、クライアント機器を「クライアント」と呼び、ホスト機器を「ホスト」と呼ぶ。
【0003】
典型的にはクライアントは、ホストにセンサデータを送る。
【特許文献1】特開2008−34945号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
個々のクライアントが同じセンシング間隔でセンサデータをホストに送るとする。クライアントは、電源がオンにされると、一定のセンシング間隔でホストにセンサデータを送り始める。一般にクライアントの電源がオンにされるタイミングは恣意的である。そのため複数のクライアントがセンサデータを送るタイミングは、往々にして時間軸上で等間隔にはならない。換言すれば、クライアントがセンサデータを送るタイミングには、偏りが生じやすい。
【0005】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、ネットワーク上で、センサデータのトラフィックの偏りを低減するホスト機器を提供することにある。
【課題を解決するための手段】
【0006】
本発明による、定常状態ではそのそれぞれがセンシング間隔Tsでセンサデータを送る第1クライアント機器及び第iクライアント機器(iは2≦i≦nの整数、nはn≧2の整数)からなる個数n個のクライアント機器群に無線ネットワークを介して結合されたホスト機器は、前記第1クライアント機器からの前記センサデータを初期状態で受け取った第1時刻t1と、前記第iクライアント機器からの前記センサデータを初期状態で受け取った第i時刻ti(時刻tiは時刻t1より遅い)と、前記センシング間隔Tsと、前記個数nとに基づいて待機期間Twiを算出し、前記第iクライアント機器に前記待機期間Twiを待ってから前記センサデータを送るように指示することによって、前記定常状態では、前記第1クライアント機器及び前記第iクライアント機器からの前記センサデータが時間軸上で実質的に等間隔に前記ホスト機器によって受け取られるようにする。
【0007】
ある実施形態では、前記待機期間Twiは、Twi=Ts−(ti−t1)+Ts・(i−1)/nで表される。
【0008】
ある実施形態では、前記ホスト機器は、前記第iクライアント機器に対するコマンドが発生すると、前記コマンドを記憶し、前記第iクライアント機器から送られるセンサデータに応答して、前記センサデータのアクノリッジと実質的に同時に、前記コマンドを前記第iクライアント機器に送る。
【0009】
ある実施形態では、前記ホスト機器は、前記第iクライアント機器から送られる前記コマンドに対するアクノリッジに応答して、前記記憶されたコマンドを削除する。
【0010】
本発明によれば、定常状態ではセンシング間隔Tsでセンサデータを送る第1クライアント機器及び第iクライアント機器(iは2≦i≦nの整数、nはn≧2の整数)からなる個数n個のクライアント機器群に無線ネットワークを介して結合されたホスト機器の制御方法は、待機期間Twiを前記第1クライアント機器からのセンサデータを初期状態で受け取った第1時刻t1と、前記第iクライアント機器からのセンサデータを初期状態で受け取った第i時刻ti(時刻tiは時刻t1より遅い)と、前記センシング間隔Tsと、前記個数nとに基づいて算出するステップと、前記第iクライアント機器に前記待機期間Twiを待ってから前記センサデータを送るように指示することによって、前記定常状態では、前記第1クライアント機器及び前記第iクライアント機器からの前記センサデータが時間軸上で等間隔に前記ホスト機器によって受け取られるようにするステップとを含む。
【発明の効果】
【0011】
本発明によれば、ホストは、複数のクライアントに無線ネットワークを介して結合される。ホストは、初期状態の間にそれぞれのクライアントに待機期間だけ待機してからセンサデータを送るよう指示する待機要求を送る。クライアントは、所定の待機期間だけ待機した後に(つまり定常状態では)、一定のセンシング間隔でセンサデータをホストに送る。クライアントがセンサデータを送るタイミングは、ホストによって時間軸上で実質的に等間隔に配置される。そのためクライアントからホストへのセンサデータに起因するネットワークのトラフィックは、偏りがなくなるか、又は少なくとも偏りが減る。換言すればネットワークのトラフィックが均等に分散される。これによりパケットの衝突によるパケットロスが発生する可能性を減らすことができる。
【0012】
本発明のある実施形態によれば、センサデータを受け取ったホストは、記憶しておいたコマンドを、センサデータに対するアクノリッジと共にクライアントへ送る。これによりリアルタイムではないが、最長でもセンシング間隔以内で、クライアント(末端ノードとも呼ばれる)にコマンドを送ることができる。ここでクライアントは、通常はスリープ状態であるので、クライアントの電池寿命への影響を最小に抑えることができる。
【発明を実施するための最良の形態】
【0013】
本発明の例示的実施形態を図面を参照して以下に詳細に説明する。同じ参照符号は、同じ構成要素、又は異なる実施形態における対応する構成要素を表す。
【0014】
(システムの概要)
図1は、本発明の例示的実施形態を用いたシステム100の概略図である。システム100は、アドホック無線センサネットワークである。このシステム100は、近接する小型無線センサ端末が自発的にネットワークを構築するよう構成される。システム100は、ホスト110、PC(パーソナルコンピュータ)120、及びクライアント130,140,150,160を備える。この実施形態ではクライアントを4つ設けたが、クライアントの個数はこれに限定されない。ホスト110は基地局ノードとも呼ばれ、クライアント130,140,150,160は末端ノードとも呼ばれる。
【0015】
クライアント130は、RF(高周波)ユニット134及びセンサ135を含む。クライアント140は、RFユニット144及びセンサ145を含む。クライアント150は、RFユニット154及びセンサ155を含む。クライアント160は、RFユニット164及びセンサ165を含む。
【0016】
ホスト110は、無線リンク133を介してRFユニット134に結合される。ホスト110は、無線リンク143を介してRFユニット144に結合される。ホスト110は、無線リンク153を介してRFユニット154に結合される。ホスト110は、無線リンク163を介してRFユニット164に結合される。
【0017】
無線リンク133,143,153,163は、例えば、2.4GHz帯を用いたIEEE802.15.4に準拠する短距離無線ネットワークであり得る。このIEEE802.15.4は、PAN(Personal Area Network)又はWPAN(Wireless Personal Area Network)と呼ばれる無線通信規格の一つであり、低コスト・低消費電力で、高い信頼性とセキュリティを持つ。無線リンク133,143,153,163は、上述の特定の無線ネットワークに限定されず、典型的にはパケットの形で情報をやりとりできる任意の適切なネットワークであり得る。
【0018】
ある実施形態によれば、無線リンク133,143,153,163によって構成される無線ネットワークは、ホスト110と、RFユニット134,144,154,164との間に中間ノードを介して通信し得る。中間ノードは、RFユニット134,144,154,164によって実現され得る。すなわちRFユニット自身がそれぞれ自動中継機能も持ち、通信環境を察知して自発的にネットワークを構成し得る。例示的なネットワークは、真メッシュであり、ホップ数も実質的に無制限である。換言すれば本発明の実施形態は、マルチホップの無線ネットワークを使用可能である。
【0019】
RFユニット134,144,154,164は、それぞれセンサ135,145,155,165に、例えば有線で結合され得る。具体的には、RFユニット134,144,154,164は、それぞれセンサ135,145,155,165にUART(Universal Asynchronous Receiver Transmitter)等で接続され得る。
【0020】
センサ135,145,155,165は、任意の適切なセンサであり得る。そのようなセンサには、温度センサ、湿度センサ、加速度(衝撃)センサ、光センサ等があるが、これらには限定されない。センサ135,145,155,165は、機械的、電磁気的、熱的、音響的、化学的なパラメータ(例えば温度)を表すデータ(「センサデータ」)を出力する。
【0021】
センサデータは、アナログ信号又はデジタル信号によって表現され得る。例えば熱的パラメータである温度を表すセンサデータは、10ビット(1024段階)のデジタル信号によって表現され得る。センサ135,145,155,165は、それぞれセンサデータをRFユニット134,144,154,164に送る。センサデータがアナログ信号である場合は、RFユニット134,144,154,164に設けられるA/D(アナログ−デジタル)変換器が、アナログのセンサデータをデジタルのセンサデータに変換すればよい。
【0022】
RFユニット134,144,154,164は、それぞれセンサ135,145,155,165から受け取ったセンサデータを、符号化及び変調することによって無線信号を発生する。RFユニット134,144,154,164は、この無線信号をそれぞれ無線リンク133,143,153,163を介してホスト110へ送る。無線信号の符号化及び変調のための方式にはさまざまなものがあるが、ある具体的な実施形態では、上述のIEEE802.15.4に準拠した方式が用いられる。
【0023】
ホスト110は、RFユニット134,144,154,164から受け取られた無線信号を復調及び復号化することによって、センサデータを得る。ホスト110は、得られたセンサデータをPC120に送る。PC120は、ホスト110に例えば有線で結合される。具体的にはPC120は、ホスト110にUSB(ユニバーサルシリアルバス)等で接続され得る。
【0024】
PC120は、例えば、GUI(グラフィカルユーザインタフェース)を備えるソフトウェアを用いて、センサデータを視覚的に表示したり、統計的に処理したりできる。そのようなソフトウェアは、例えば通信状態の確認、センサデータの数値表示、グラフ表示、センサ値の分布カラーマッピング、センサデータの記録、センサデータのエクスポート、端末設定の変更等を行うことができる。
【0025】
(待機要求)
図2は、本発明の例示的実施形態が採用するプロシージャ200を示す図である。本明細書において、パケットのタイプを示す「センサデータ」、「待機要求(Wait要求とも呼ばれる)」、「ACK(アクノリッジ)」、及び「コマンド」という語は、それぞれを表すメッセージをいう。これらメッセージは、単一、又は複数のパケットによって構成され得る。パケットは、無線又は有線のネットワーク上を伝送され得る。本明細書で例えば「ホストがクライアントに待機要求を送る」という場合、「ホスト機器がクライアント機器に『待機要求』を表すパケットを送る」ことを意味する。
【0026】
このようなパケットは、例えばそのヘッダ中の1バイトのうちの2ビットを使って、それぞれのパケットタイプを表し得る。例えば「待機要求」は、パケットヘッダのうち、パケットタイプを表す先頭2ビットを「11」に設定することによって表現され得る。
【0027】
(初期状態におけるタイミング調整)
初期状態S1において、ホスト110は、クライアント140,150,160がセンサデータをホスト110に送るタイミングを調整する。いったんタイミング調整がそれぞれのクライアントについてなされると、その後の定常状態S2においては、クライアント130,140,150,160のそれぞれは、一定のセンシング間隔Tsでセンサデータをホスト110に送る。初期状態S1でタイミング調整がなされることによって、定常状態S2においては、クライアント130,140,150,160がホスト110に送るセンサデータは、時間軸上で等間隔に並べられる。期間P12,P23,P34,P41はいずれも等しい。換言すれば、ホスト110がクライアント130,140,150,160からのセンサデータを受け取る時刻のうち、時間軸上で隣接する2つの時刻の間の期間は、いずれも等しい。
【0028】
理想的には、初期状態S1でクライアント140,150,160がセンサデータをホスト110に送るタイミングをいったん調整すると、その後の定常状態S2では、クライアント130,140,150,160がホスト110に送るセンサデータは、常に時間軸上で等間隔に並べられる。しかし実際には、センサデータが送られるタイミングは時間の経過と共にずれることがある。そのような場合は、初期状態S1におけるタイミング調整を定期的に(つまり一定の間隔で)実行すればよい。
【0029】
タイミング調整の間隔は、センサデータの送信時刻のずれの量に応じて適宜、決めればよい。具体的にはセンサデータが送信されるタイミングがずれやすい場合は、例えば、1日に1回、ホスト110が初期状態S1を発生させて、タイミング調整を行えばよい。反対に、センサデータが送信されるタイミングがずれにくい場合は、例えば、1週間に1回、ホスト110が初期状態S1を発生させて、タイミング調整を行えばよい。
【0030】
代替としては、初期状態S1におけるタイミング調整は、クライアント130,140,150,160が送るセンサデータのタイミングが時間軸上で等間隔ではなくなったとホスト110が判断するときに、随時、行ってもよい。具体的には、期間P12,P23,P34,P41のうちの任意の2つの期間の差が所定の閾値より大きいかどうかを調べればよい。所定の閾値より大きいときは、タイミング調整が必要なので、初期状態S1を設けてタイミング調整を実行する。この閾値は、システム100のネットワークがどの程度のトラフィックの集中を許容するかによって適宜、決定され得る。
【0031】
クライアント130,140,150,160は、それぞれ第1ノード,第2ノード,第3ノード,第4ノードとも呼ばれる。クライアントの個数は任意であり、一般にはホスト機器110は、第1クライアント機器から第nクライアント機器(nはn≧2の整数)までn個のクライアント機器に接続され得る。この場合、任意のクライアント機器は、第iクライアント機器(iは2≦i≦nの整数、nはn≧2の整数)と表現できる。第iクライアント機器は、単に第iノードとも呼ばれる。
【0032】
(クライアントの待機期間の算出)
プロシージャ200において、ホスト110は、第1クライアント130からのセンサデータを時刻t1において受け取る。ホスト110は、第2クライアント140からのセンサデータを時刻t2において受け取る。ホスト110は、第3クライアント150からのセンサデータを時刻t3において受け取る。ホスト110は、第4クライアント160からのセンサデータを時刻t4において受け取る。
【0033】
時刻t1を基準とすれば、期間p2=時刻t2−時刻t1(≧0),期間p3=時刻t3−時刻t1(≧0),及び期間p4=時刻t4−時刻t1(≧0)と表せる。後述するように、ホスト110は、期間p2に基づいて、クライアント140の待機期間140Twを決定する。ホスト110は、期間p3に基づいて、クライアント150の待機期間150Twを決定する。ホスト110は、期間p4に基づいて、クライアント160の待機期間160Twを決定する。
【0034】
タイミング調整を行うためにホスト110は、クライアント140からのセンサデータ140d1に応答して、待機要求140wをクライアント140に送り返す。この待機要求140wに基づいて、クライアント140は、待機期間140Twだけ待ってから次のセンサデータ140d2をホスト110に送る。
【0035】
ホスト110は、他のノードについても同様のタイミング調整を行う。すなわちホスト110は、クライアント150からのセンサデータ150d1に応答して、待機要求150wをクライアント150に送り返す。この待機要求150wに基づいて、クライアント150は、待機期間150Twだけ待ってから次のセンサデータ150d2をホスト110に送る。ホスト110は、クライアント160からのセンサデータ160d1に応答して、待機要求160wをクライアント160に送り返す。この待機要求160wに基づいて、クライアント160は、待機期間160Twだけ待ってから次のセンサデータ160d2をホスト110に送る。
【0036】
待機期間Tw(例えば140Tw,150Tw,160Tw)は、
Tw=Ts−pi+Ts・(i−1)/n
と表すことができる。ここでTsはセンシング間隔、piはi番目のノードの受信時間差、iはノード番号、nはノード数(すなわちクライアント機器の個数)である。
【0037】
より一般的に、第iクライアント機器の待機期間Twiは、
Twi=Ts−(ti−t1)+Ts・(i−1)/n
と表すことができる。ここでt1は、第1クライアント機器からのセンサデータを初期状態で受け取った第1時刻であり、tiは、第iクライアント機器からのセンサデータを初期状態で受け取った第i時刻である。
【0038】
例えばセンシング間隔が60秒であり、受信時間差p2が20秒であり、ノード数が4個であるときには、第2クライアント機器であるクライアント140(すなわち第2ノード)についての待機期間140Twは、140Tw=60秒−20秒+60秒・(2−1)/4=60秒−20秒+15秒・1=55秒である。つまりクライアント140は、センサデータ140d1を送ってから55秒の間、待機し、次のセンサデータ140d2を送ればよい。
【0039】
同様に、ホスト110は、クライアント150,160にそれぞれ待機期間150Tw,160Twだけ待つよう命令する。クライアント150の受信時間差p3が40秒であるなら、待機期間150Twは、150Tw=60秒−40秒+60秒・(3−1)/4=60秒−40秒+15秒・2=50秒である。クライアント160の受信時間差p4が35秒であるなら、待機期間160Twは、160Tw=60秒−35秒+60秒・(4−1)/4=60秒−35秒+15秒・3=70秒である。つまりクライアント150,160は、センサデータ150d1及び160d1を送ってからそれぞれ50秒及び70秒の間、待機し、次のセンサデータ150d2及び160d2を送ればよい。
【0040】
上述のタイミング調整により、クライアント130,140,150,160は、時間軸上で等間隔にセンサデータをホスト110に送ることができる。上の例では、期間P12,P23,P34,P41はいずれも(センシング間隔Ts)/(ノード数n)=60秒/4=15秒である。
【0041】
待機期間は、より一般的には上式に限定されない。ホスト110は、それぞれのノードからのセンサデータが時間軸上で等間隔に並ぶように待機期間を設定すればよい。
【0042】
図2においては、図示の都合上、クライアント140がセンサデータ140d1を送ってから、ホスト110からの待機要求140wを受け取るまでに相当な時間がかかるように描かれている。例えばセンシング間隔Tsが1分であり、クライアント140とホスト110との1往復にかかる時間が例えば数10msのオーダーであるとする。このような場合、クライアント140がセンサデータ140d1を送ってから、ホスト110からの待機要求140wを受け取るまでの期間は、センシング間隔Tsに比べると無視できる程度に小さいといえる。
【0043】
(クライアントへのコマンド送信)
図3は、図1及び図2の実施形態において、ホストがクライアントにコマンドを送るプロシージャの一例を示す図である。図1及び図2の実施形態によるホスト110は、図3のプロシージャ300によってコマンドをクライアント(例えば図3ではクライアント130)に送ってもよいが、この特定のプロシージャには限定されず、他のプロシージャによってコマンドをクライアントに送ってもよい。代替として図1及び図2の実施形態によるホスト110は、クライアントにコマンドを送らなくてもよい。図3のクライアント130は一例であって、図1の他のクライアント140,150,160のうちの任意のものであり得る。
【0044】
プロシージャ300において、基地局ノードであるホスト110の電源は通常、オン状態である。すなわち期間PonBにおいて、ホスト110の電源のオン状態が継続する。
【0045】
末端ノードであるクライアント130の電源は、センサデータを送ってから、ACKを受け取るときまで(例えば図3ではPon1)、又はセンサデータを送ってから、ACK・コマンドを受け取り、ACK・データを送るときまで(例えば図3ではPon2)、オン状態である。図3で太く描かれている時間軸PonB,Pon1,Pon2は、ホスト又はクライアントの電源がオン状態であることを表す。図3で細く描かれている時間軸Poff1は、クライアントの電源がオフ状態(スリープ状態)であることを表す。
【0046】
スリープ状態は、消費電力を下げることによって、電池の持続時間を長くするために設けられる。通常、ホスト110は、AC(交流)電源であるコンセント、又はコンセントに接続されたACアダプタから電源が供給されるので、スリープ状態を設けなくてもよい。しかしこれには限定されず、ホスト110がスリープ状態を設けてもよい。
【0047】
末端ノードであるクライアント130,140,150,160は、電池によって駆動されるのがふつうであり、その場合は通常、スリープ状態が設けられる。しかしクライアント130,140,150,160もこれには限定されず、電池以外の電源(例えばAC電源)を利用するのであれば、スリープ状態を設けなくてもよい。
【0048】
クライアント130は、センサデータ130D1をホスト110に送る。ホスト110は、センサデータ130D1を受け取ったことを表すアクノリッジ(ACK)130A1をクライアント130に送る。クライアント130は、ACK130A1を受け取ってから電源をオフ状態にする。したがってクライアント130は、期間Pon1の間は電源がオン状態であり、次に電源がオン状態になるまでの期間Poff1の間はオフ状態である。
【0049】
時刻tcで、ホスト110においてコマンドCMDが発生する。コマンドCMDの例としては、送信間隔を変えることをリクエストするコマンド、無線ネットワークのルーティング(つまり通信パスの経路)を変えることをリクエストするコマンド、末端ノードの状態(電池電圧等)を通知することをリクエストするコマンド等が挙げられる。コマンドCMDが発生すると、ホスト110は、コマンドCMDと、その宛先のノード130とを関連付けて、例えばホスト110内のコマンドキューを構成する記憶手段に記憶する。コマンドキューは、例えばRAM(ランダムアクセスメモリ)によって構成され得る。
【0050】
時刻tcの後、スリープ状態である期間Poff1が終わってから、クライアント130の電源は期間Pon2の間、再びオンにされる。
【0051】
クライアント130は、センサデータ130D2をホスト110に送る。このときホスト110は、センサデータ130D2に対するACK130A2と、記憶されたコマンドCMDとをクライアント130に送る。ACK130A2と、記憶されたコマンドCMDとは、典型的には単一のパケットの中に含まれることによって無線ネットワーク上で送られる。しかしこれには限定されず、実質的に同時に送られるのであれば、ネットワーク上を任意の適切な方法で送られ得る。
【0052】
具体的にはコマンドCMDは、さまざまなコマンドのうちの一つを表すコマンドID(識別子)であり得る。そのようなコマンドIDは、例えば1バイトのデータで表現され得る。ACK130A2は、ホスト110がセンサデータ130D2を受け取ったかどうかを表すことができればよく、例えば1ビットのデータ(フラグとも呼ばれる)で表現され得る。
【0053】
クライアント130は、ACK130A2及びコマンドCMDを受け取ると、コマンドCMDに対するACK130A3をホスト110に送る。ACK130A3は、クライアント130がコマンドCMDを受け取ったことを表すことができればよく、例えば1ビットのデータで表現され得る。
【0054】
コマンドCMDは、それに対する応答を必要としない場合がある。例えばコマンドCMDがセンサデータの送信間隔を変えることをリクエストするコマンドなら、クライアント130は、センサデータの送信間隔を変えるために、例えばタイマの設定を変更するだけで、ホストには応答を送らない。
【0055】
一方、コマンドCMDは、それに対する応答を必要とする場合もある。例えばコマンドCMDが電池電圧を通知することをリクエストするコマンドなら、クライアント130は、電池電圧を表すデータ130D3をホスト110に送る。データ130D3は、これには限定されず、一般にはコマンドCMDに対応する任意の適切な応答であり得る。データ130D3は、コマンドCMDに対応する応答(例えば物理量等の変数に対応するデータ)を表すことができればよく、例えば1バイトのデータで表現され得る。ACK130A3と、データ130D3とは、典型的には単一のパケットで送られるが、これには限定されず、実質的に同時に送られるのであれば任意の適切な方法で送られ得る。
【0056】
コマンドCMDがホスト110からクライアント130に送られた場合、クライアント130は、少なくともACK130A3を送る。しかしコマンドCMDの種類に応じて、データ130D3は送ってもよく、送らなくてもよい。
【0057】
時刻tdにおいてホスト110は、ACK130A3(及び場合によってはデータ130D3も)を受け取る。ACK130A3は、クライアント130がコマンドCMDを受け取ったことを表すので、ホスト110は、コマンドCMDの処理が完了したと認識する。具体的にはホスト110は、コマンドCMDが記憶されているコマンドキューからコマンドCMDを削除する。
【0058】
クライアント130に対するコマンドが発生していないとき、クライアント130は、ACK130A3及びデータ130D3をホスト110に送らない。この場合、クライアント130は、ACK130A3及びデータ130D3をホスト110に送る時間を確保する必要がない。そのため一般に期間Pon1は、期間Pon2よりも短くなる。
【0059】
プロシージャ300によれば、クライアント130は、コマンドCMDに対する応答を、長くともセンシング間隔でホストに送ることができる。そのようなホストへの応答は、必ずしもリアルタイムではないが、最長でもセンシング間隔でホストへ応答できる。したがってクライアント130は、省電力を実現しつつも、定期的なホストへの応答が可能となる。
【0060】
実施形態によって大きく変わるが、例として、期間Pon1及びPon2は、10ms〜1sのオーダーである。クライアント130とホスト110との間に中継ノードが存在する場合(例えば2,3ホップ)なら、期間Pon1及びPon2は、数10msのオーダーである。トラフィックが多い時は、期間Pon1及びPon2は、1秒のオーダーになり得る。期間Poff1は、例えば1sのオーダーであり得るが、具体的な実現例に応じて適当な値に設定され得る。
【0061】
プロシージャ300を利用すれば、例えば、単三電池2本で6ヶ月の間、クライアント機器を動作させることも可能である。
【0062】
(クライアントのハードウェア)
図4は、本発明の例示的実施形態のために用いられるクライアント130のブロック図である。クライアント130は、RFユニット134、センサ135、及びアンテナ430を備える。センサ135は、センサデータをRFユニット134に出力する。RFユニット134は、センサ135が出力したセンサデータを無線信号に変換して、アンテナ430からホスト110へ送る。センサ135は、計測機器であってもよい。
【0063】
RFユニット134は、センサインタフェース440、DC(直流)電源445、MCU(Micro Controller Unit)450、ROM(読み出し専用メモリ)452、RAM(ランダムアクセスメモリ)454、タイマ456、無線送受信部458、及びRFインタフェース460を有する。センサインタフェース440は、センサ135によって出力されたセンサ信号をMCU450が処理できる適当な信号(例えば10ビットデジタル信号)に変換する。DC電源445は、RFユニット134の各機能ブロックに直流電源を供給する。DC電源445は、例えば直流3Vを供給するリチウム電池であり得る。
【0064】
MCU450は、クライアント130の機能を実現するのに用いられるマイクロプロセッサである。MCU450は、クライアント130の機能を実現するのに必要なプログラム及びデータをROM452又はRAM454に記憶する。タイマ456は、例えば電源をオフにするタイミングを計測し、所定時間が経過したときに、DC電源445からの電源供給を断つようMCU450をトリガする。MCU450は、ROM452、RAM454、及びタイマ456などの周辺素子をその中に含んでもよい。この場合、ROMなどを独立した部品として搭載する場合に比べて、システム構築のためのコストを抑えることができる。
【0065】
無線送受信部458は、MCU450からのデータをホスト110へ送る応答パケットに変換したり、ホストから受け取られた要求パケットをデータに変換したりする。RFインタフェース460は、無線送受信部458から出力されたパケットをRF信号に変換し、アンテナに出力したり、アンテナで受け取られたRF信号からパケットを再生し、無線送受信部458に出力したりする。
【0066】
クライアント140,150,160は、図4に示されるクライアント130と同様の構成を有する。
【0067】
(ホストのハードウェア)
図5は、本発明の例示的実施形態のために用いられるホスト110のブロック図である。ホスト110は、RFユニット510、及びアンテナ530を備える。一般にホスト110は、複数のクライアントのうちどれと通信してもよい。本明細書の以下の説明では、ホスト110がクライアント130と通信すると仮定して説明するが、他のクライアントであるクライアント140,150,160と通信してもよい。
【0068】
RFユニット510は、クライアント130に対する要求を無線信号に変換して、アンテナ530からクライアント130へ送る。RFユニット510は、アンテナ530によって受け取られたクライアント130からの応答をデータに変換して、RFユニット510からインタフェース540を介してPC120へ送る。
【0069】
RFユニット510は、インタフェース540、電源545、MCU550、ROM552、RAM554、タイマ556、無線送受信部558、及びRFインタフェース560を有する。インタフェース540は、PC120によって出力されたさまざまな信号をMCU550が処理できる適当な信号(例えば8ビットデジタル信号)に変換する。電源545は、ホスト110の各機能ブロックに直流電源を供給する。電源545は、例えば家庭用AC(交流)電源のコンセントから供給される100Vの交流を受け取り、直流3Vに変換し、直流電圧を各ブロックに供給する。
【0070】
MCU550は、ホスト110の機能を実現するのに用いられるマイクロプロセッサである。MCU550は、ホスト110の機能を実現するのに必要なプログラム及びデータをROM552又はRAM554に記憶する。タイマ556は、例えばタイムアウト時間230を計測し、所定時間が経過したときに、要求取消を送信するようMCU550をトリガする。MCU550は、ROM552、RAM554、及びタイマ556などの周辺素子をその中に含んでもよい。この場合、ROMなどを独立した部品として搭載する場合に比べて、システム構築のためのコストを抑えることができる。
【0071】
無線送受信部558は、MCU550からのデータを、クライアントへ送る要求パケット又は要求取消パケットに変換したり、クライアントから受け取られた応答パケットをデータに変換したりする。RFインタフェース560は、無線送受信部558から出力されたパケットをRF信号に変換し、アンテナに出力したり、アンテナで受け取られたRF信号からパケットを再生し、無線送受信部558に出力したりする。
【0072】
以上、本発明の実施形態を詳細に説明した。
【0073】
本発明の実施形態によるホスト及びクライアントは、基板上に取り付けられた、半導体素子を含む回路要素群によって典型的には実現され得る。典型的にはホスト110及びクライアント130,140,150,160は、センサからのアナログ信号、及び無線ネットワークのための高周波信号を扱うアナログ回路と、MCUを主要素とするデジタル回路との組み合わせによって実現され得る。
【0074】
本発明によるホスト機器の制御は、典型的にはソフトウェアによって実現され得る。すなわち図2に示されるプロシージャは、典型的にはコンピュータで読み取り可能な媒体に記憶されたソフトウェアによって実現され得る。コンピュータで読み取り可能な媒体には、ハードディスクドライブ、半導体メモリ等がある。代替として本発明の実施形態によるプロシージャは、ソフトウェア及びハードウェアの組み合わせ、又はハードウェアのみによって実現され得る。本発明の実施形態によるクライアント機器の制御も典型的にはソフトウェアによって実現され得る。
【0075】
図4及び図5に示される機能ブロック群の一部又は全ては、適宜、結合されることによって一体化されて実現されてもよい。例えば、RFユニット134は、ハイブリッドIC(集積回路)として実現されてもよい。さらには例えばクライアント130は、RFユニット134、センサ135、及びアンテナ430を一つの基板に一体化して実現されてもよい。
【0076】
本発明は、実施形態に限定されず、その精神又は主要な特徴から逸脱することなく他の色々な形で実施することができる。
【0077】
このように、上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は特許請求の範囲によって示すものであって、明細書には何ら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0078】
以上説明したように、本発明は、特に無線センサネットワークを利用するホスト・クライアントシステム等について有用である。
【図面の簡単な説明】
【0079】
【図1】本発明の例示的実施形態を用いたシステムの概略図である。
【図2】本発明の例示的実施形態が採用するプロシージャを示す図である。
【図3】図1及び図2の実施形態において、ホストがクライアントにコマンドを送るプロシージャの一例を示す図である。
【図4】本発明の例示的実施形態のために用いられるクライアントのブロック図である。
【図5】本発明の例示的実施形態のために用いられるホストのブロック図である。
【符号の説明】
【0080】
200 プロシージャ
110 ホスト
130,140,150,160 クライアント
130d1,140d1,150d1,160d1 センサデータ
140w,150w,160w 待機要求
S1 初期状態
S2 定常状態
Ts センシング間隔
140Tw,150Tw,160Tw 待機期間

【特許請求の範囲】
【請求項1】
定常状態ではそのそれぞれがセンシング間隔Tsでセンサデータを送る第1クライアント機器及び第iクライアント機器(iは2≦i≦nの整数、nはn≧2の整数)からなる個数n個のクライアント機器群に無線ネットワークを介して結合されたホスト機器であって、
前記ホスト機器は、
前記第1クライアント機器からの前記センサデータを初期状態で受け取った第1時刻t1と、
前記第iクライアント機器からの前記センサデータを初期状態で受け取った第i時刻ti(時刻tiは時刻t1より遅い)と、
前記センシング間隔Tsと、
前記個数nと
に基づいて待機期間Twiを算出し、
前記第iクライアント機器に前記待機期間Twiを待ってから前記センサデータを送るように指示することによって、前記定常状態では、前記第1クライアント機器及び前記第iクライアント機器からの前記センサデータが時間軸上で実質的に等間隔に前記ホスト機器によって受け取られるようにする、ホスト機器。
【請求項2】
前記待機期間Twiは、Twi=Ts−(ti−t1)+Ts・(i−1)/nで表される請求項1に記載のホスト機器。
【請求項3】
前記ホスト機器は、
前記第iクライアント機器に対するコマンドが発生すると、前記コマンドを記憶し、
前記第iクライアント機器から送られるセンサデータに応答して、前記センサデータのアクノリッジと実質的に同時に、前記コマンドを前記第iクライアント機器に送る、請求項1〜2のいずれか1項に記載のホスト機器。
【請求項4】
前記ホスト機器は、
前記第iクライアント機器から送られる前記コマンドに対するアクノリッジに応答して、前記記憶されたコマンドを削除する、請求項3に記載のホスト機器。
【請求項5】
定常状態ではセンシング間隔Tsでセンサデータを送る第1クライアント機器及び第iクライアント機器(iは2≦i≦nの整数、nはn≧2の整数)からなる個数n個のクライアント機器群に無線ネットワークを介して結合されたホスト機器の制御方法であって、
待機期間Twiを
前記第1クライアント機器からのセンサデータを初期状態で受け取った第1時刻t1と、
前記第iクライアント機器からのセンサデータを初期状態で受け取った第i時刻ti(時刻tiは時刻t1より遅い)と、
前記センシング間隔Tsと、
前記個数nと
に基づいて算出するステップと、
前記第iクライアント機器に前記待機期間Twiを待ってから前記センサデータを送るように指示することによって、前記定常状態では、前記第1クライアント機器及び前記第iクライアント機器からの前記センサデータが時間軸上で等間隔に前記ホスト機器によって受け取られるようにするステップと
を含む、ホスト機器の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−239227(P2010−239227A)
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願番号】特願2009−82424(P2009−82424)
【出願日】平成21年3月30日(2009.3.30)
【出願人】(000183369)住友精密工業株式会社 (336)
【Fターム(参考)】