(57)【要約】【課題】定常状態ではそのそれぞれがセンシング間隔Ｔｓでセンサデータを送る第１クライアント機器及び第ｉクライアント機器（ｉは２≦ｉ≦ｎの整数、ｎはｎ≧２の整数）からなる個数ｎ個のクライアント機器群に無線ネットワークを介して結合されたホスト機器を提供する。【解決手段】ホスト機器は、第１クライアント機器からのセンサデータを初期状態で受け取った第１時刻ｔ１と、前記第ｉクライアント機器からの前記センサデータを初期状態で受け取った第ｉ時刻ｔｉ（時刻ｔｉは時刻ｔ１より遅い）と、センシング間隔Ｔｓと、個数ｎとに基づいて待機期間Ｔｗｉを算出し、第ｉクライアント機器に前記待機期間Ｔｗｉを待ってからセンサデータを送るように指示することによって、定常状態では、第１クライアント機器及び第ｉクライアント機器からのセンサデータが時間軸上で等間隔にホスト機器によって受け取られるようにする。【選択図】図２
2010239227.tif 000002
【特許請求の範囲】
【請求項１】
定常状態ではそのそれぞれがセンシング間隔Ｔｓでセンサデータを送る第１クライアント機器及び第ｉクライアント機器（ｉは２≦ｉ≦ｎの整数、ｎはｎ≧２の整数）からなる個数ｎ個のクライアント機器群に無線ネットワークを介して結合されたホスト機器であって、
前記ホスト機器は、
前記第１クライアント機器からの前記センサデータを初期状態で受け取った第１時刻ｔ１と、
前記第ｉクライアント機器からの前記センサデータを初期状態で受け取った第ｉ時刻ｔｉ（時刻ｔｉは時刻ｔ１より遅い）と、
前記センシング間隔Ｔｓと、
前記個数ｎと
に基づいて待機期間Ｔｗｉを算出し、
前記第ｉクライアント機器に前記待機期間Ｔｗｉを待ってから前記センサデータを送るように指示することによって、前記定常状態では、前記第１クライアント機器及び前記第ｉクライアント機器からの前記センサデータが時間軸上で実質的に等間隔に前記ホスト機器によって受け取られるようにする、ホスト機器。
【請求項２】
前記待機期間Ｔｗｉは、Ｔｗｉ＝Ｔｓ−（ｔｉ−ｔ１）＋Ｔｓ・（ｉ−１）／ｎで表される請求項１に記載のホスト機器。
【請求項３】
前記ホスト機器は、
前記第ｉクライアント機器に対するコマンドが発生すると、前記コマンドを記憶し、
前記第ｉクライアント機器から送られるセンサデータに応答して、前記センサデータのアクノリッジと実質的に同時に、前記コマンドを前記第ｉクライアント機器に送る、請求項１〜２のいずれか１項に記載のホスト機器。
【請求項４】
前記ホスト機器は、
前記第ｉクライアント機器から送られる前記コマンドに対するアクノリッジに応答して、前記記憶されたコマンドを削除する、請求項３に記載のホスト機器。
【請求項５】
定常状態ではセンシング間隔Ｔｓでセンサデータを送る第１クライアント機器及び第ｉクライアント機器（ｉは２≦ｉ≦ｎの整数、ｎはｎ≧２の整数）からなる個数ｎ個のクライアント機器群に無線ネットワークを介して結合されたホスト機器の制御方法であって、
待機期間Ｔｗｉを
前記第１クライアント機器からのセンサデータを初期状態で受け取った第１時刻ｔ１と、
前記第ｉクライアント機器からのセンサデータを初期状態で受け取った第ｉ時刻ｔｉ（時刻ｔｉは時刻ｔ１より遅い）と、
前記センシング間隔Ｔｓと、
前記個数ｎと
に基づいて算出するステップと、
前記第ｉクライアント機器に前記待機期間Ｔｗｉを待ってから前記センサデータを送るように指示することによって、前記定常状態では、前記第１クライアント機器及び前記第ｉクライアント機器からの前記センサデータが時間軸上で等間隔に前記ホスト機器によって受け取られるようにするステップと
を含む、ホスト機器の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、おおまかにはネットワークの最適化方法に関し、より具体的には無線センサネットワーク上のホスト機器によってネットワークのトラフィックの偏りを減らす装置及び方法に関する。
【背景技術】
【０００２】
無線センサネットワークを用いて、クライアント機器（client，子機、末端ノードとも呼ばれ、例えば計測機器）からのデータを無線で集めるニーズがある。例としてクライアントＮ台（Ｎは自然数）がホスト機器（host，親機、基地局ノードとも呼ばれる）１台に無線ネットワークを介して接続される計測機器ネットワークが挙げられる。本明細書では簡単のために、クライアント機器を「クライアント」と呼び、ホスト機器を「ホスト」と呼ぶ。
【０００３】
典型的にはクライアントは、ホストにセンサデータを送る。
【特許文献１】特開２００８−３４９４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
個々のクライアントが同じセンシング間隔でセンサデータをホストに送るとする。クライアントは、電源がオンにされると、一定のセンシング間隔でホストにセンサデータを送り始める。一般にクライアントの電源がオンにされるタイミングは恣意的である。そのため複数のクライアントがセンサデータを送るタイミングは、往々にして時間軸上で等間隔にはならない。換言すれば、クライアントがセンサデータを送るタイミングには、偏りが生じやすい。
【０００５】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、ネットワーク上で、センサデータのトラフィックの偏りを低減するホスト機器を提供することにある。
【課題を解決するための手段】
【０００６】
本発明による、定常状態ではそのそれぞれがセンシング間隔Ｔｓでセンサデータを送る第１クライアント機器及び第ｉクライアント機器（ｉは２≦ｉ≦ｎの整数、ｎはｎ≧２の整数）からなる個数ｎ個のクライアント機器群に無線ネットワークを介して結合されたホスト機器は、前記第１クライアント機器からの前記センサデータを初期状態で受け取った第１時刻ｔ１と、前記第ｉクライアント機器からの前記センサデータを初期状態で受け取った第ｉ時刻ｔｉ（時刻ｔｉは時刻ｔ１より遅い）と、前記センシング間隔Ｔｓと、前記個数ｎとに基づいて待機期間Ｔｗｉを算出し、前記第ｉクライアント機器に前記待機期間Ｔｗｉを待ってから前記センサデータを送るように指示することによって、前記定常状態では、前記第１クライアント機器及び前記第ｉクライアント機器からの前記センサデータが時間軸上で実質的に等間隔に前記ホスト機器によって受け取られるようにする。
【０００７】
ある実施形態では、前記待機期間Ｔｗｉは、Ｔｗｉ＝Ｔｓ−（ｔｉ−ｔ１）＋Ｔｓ・（ｉ−１）／ｎで表される。
【０００８】
ある実施形態では、前記ホスト機器は、前記第ｉクライアント機器に対するコマンドが発生すると、前記コマンドを記憶し、前記第ｉクライアント機器から送られるセンサデータに応答して、前記センサデータのアクノリッジと実質的に同時に、前記コマンドを前記第ｉクライアント機器に送る。
【０００９】
ある実施形態では、前記ホスト機器は、前記第ｉクライアント機器から送られる前記コマンドに対するアクノリッジに応答して、前記記憶されたコマンドを削除する。
【００１０】
本発明によれば、定常状態ではセンシング間隔Ｔｓでセンサデータを送る第１クライアント機器及び第ｉクライアント機器（ｉは２≦ｉ≦ｎの整数、ｎはｎ≧２の整数）からなる個数ｎ個のクライアント機器群に無線ネットワークを介して結合されたホスト機器の制御方法は、待機期間Ｔｗｉを前記第１クライアント機器からのセンサデータを初期状態で受け取った第１時刻ｔ１と、前記第ｉクライアント機器からのセンサデータを初期状態で受け取った第ｉ時刻ｔｉ（時刻ｔｉは時刻ｔ１より遅い）と、前記センシング間隔Ｔｓと、前記個数ｎとに基づいて算出するステップと、前記第ｉクライアント機器に前記待機期間Ｔｗｉを待ってから前記センサデータを送るように指示することによって、前記定常状態では、前記第１クライアント機器及び前記第ｉクライアント機器からの前記センサデータが時間軸上で等間隔に前記ホスト機器によって受け取られるようにするステップとを含む。
【発明の効果】
【００１１】
本発明によれば、ホストは、複数のクライアントに無線ネットワークを介して結合される。ホストは、初期状態の間にそれぞれのクライアントに待機期間だけ待機してからセンサデータを送るよう指示する待機要求を送る。クライアントは、所定の待機期間だけ待機した後に（つまり定常状態では）、一定のセンシング間隔でセンサデータをホストに送る。クライアントがセンサデータを送るタイミングは、ホストによって時間軸上で実質的に等間隔に配置される。そのためクライアントからホストへのセンサデータに起因するネットワークのトラフィックは、偏りがなくなるか、又は少なくとも偏りが減る。換言すればネットワークのトラフィックが均等に分散される。これによりパケットの衝突によるパケットロスが発生する可能性を減らすことができる。
【００１２】
本発明のある実施形態によれば、センサデータを受け取ったホストは、記憶しておいたコマンドを、センサデータに対するアクノリッジと共にクライアントへ送る。これによりリアルタイムではないが、最長でもセンシング間隔以内で、クライアント（末端ノードとも呼ばれる）にコマンドを送ることができる。ここでクライアントは、通常はスリープ状態であるので、クライアントの電池寿命への影響を最小に抑えることができる。
【発明を実施するための最良の形態】
【００１３】
本発明の例示的実施形態を図面を参照して以下に詳細に説明する。同じ参照符号は、同じ構成要素、又は異なる実施形態における対応する構成要素を表す。
【００１４】
（システムの概要）
図１は、本発明の例示的実施形態を用いたシステム１００の概略図である。システム１００は、アドホック無線センサネットワークである。このシステム１００は、近接する小型無線センサ端末が自発的にネットワークを構築するよう構成される。システム１００は、ホスト１１０、ＰＣ（パーソナルコンピュータ）１２０、及びクライアント１３０，１４０，１５０，１６０を備える。この実施形態ではクライアントを４つ設けたが、クライアントの個数はこれに限定されない。ホスト１１０は基地局ノードとも呼ばれ、クライアント１３０，１４０，１５０，１６０は末端ノードとも呼ばれる。
【００１５】
クライアント１３０は、ＲＦ（高周波）ユニット１３４及びセンサ１３５を含む。クライアント１４０は、ＲＦユニット１４４及びセンサ１４５を含む。クライアント１５０は、ＲＦユニット１５４及びセンサ１５５を含む。クライアント１６０は、ＲＦユニット１６４及びセンサ１６５を含む。
【００１６】
ホスト１１０は、無線リンク１３３を介してＲＦユニット１３４に結合される。ホスト１１０は、無線リンク１４３を介してＲＦユニット１４４に結合される。ホスト１１０は、無線リンク１５３を介してＲＦユニット１５４に結合される。ホスト１１０は、無線リンク１６３を介してＲＦユニット１６４に結合される。
【００１７】
無線リンク１３３，１４３，１５３，１６３は、例えば、２．４ＧＨｚ帯を用いたＩＥＥＥ８０２．１５．４に準拠する短距離無線ネットワークであり得る。このＩＥＥＥ８０２．１５．４は、ＰＡＮ（Personal Area Network）又はＷＰＡＮ（Wireless Personal Area Network）と呼ばれる無線通信規格の一つであり、低コスト・低消費電力で、高い信頼性とセキュリティを持つ。無線リンク１３３，１４３，１５３，１６３は、上述の特定の無線ネットワークに限定されず、典型的にはパケットの形で情報をやりとりできる任意の適切なネットワークであり得る。
【００１８】
ある実施形態によれば、無線リンク１３３，１４３，１５３，１６３によって構成される無線ネットワークは、ホスト１１０と、ＲＦユニット１３４，１４４，１５４，１６４との間に中間ノードを介して通信し得る。中間ノードは、ＲＦユニット１３４，１４４，１５４，１６４によって実現され得る。すなわちＲＦユニット自身がそれぞれ自動中継機能も持ち、通信環境を察知して自発的にネットワークを構成し得る。例示的なネットワークは、真メッシュであり、ホップ数も実質的に無制限である。換言すれば本発明の実施形態は、マルチホップの無線ネットワークを使用可能である。
【００１９】
ＲＦユニット１３４，１４４，１５４，１６４は、それぞれセンサ１３５，１４５，１５５，１６５に、例えば有線で結合され得る。具体的には、ＲＦユニット１３４，１４４，１５４，１６４は、それぞれセンサ１３５，１４５，１５５，１６５にＵＡＲＴ（Universal Asynchronous Receiver Transmitter）等で接続され得る。
【００２０】
センサ１３５，１４５，１５５，１６５は、任意の適切なセンサであり得る。そのようなセンサには、温度センサ、湿度センサ、加速度（衝撃）センサ、光センサ等があるが、これらには限定されない。センサ１３５，１４５，１５５，１６５は、機械的、電磁気的、熱的、音響的、化学的なパラメータ（例えば温度）を表すデータ（「センサデータ」）を出力する。
【００２１】
センサデータは、アナログ信号又はデジタル信号によって表現され得る。例えば熱的パラメータである温度を表すセンサデータは、１０ビット（１０２４段階）のデジタル信号によって表現され得る。センサ１３５，１４５，１５５，１６５は、それぞれセンサデータをＲＦユニット１３４，１４４，１５４，１６４に送る。センサデータがアナログ信号である場合は、ＲＦユニット１３４，１４４，１５４，１６４に設けられるＡ／Ｄ（アナログ−デジタル）変換器が、アナログのセンサデータをデジタルのセンサデータに変換すればよい。
【００２２】
ＲＦユニット１３４，１４４，１５４，１６４は、それぞれセンサ１３５，１４５，１５５，１６５から受け取ったセンサデータを、符号化及び変調することによって無線信号を発生する。ＲＦユニット１３４，１４４，１５４，１６４は、この無線信号をそれぞれ無線リンク１３３，１４３，１５３，１６３を介してホスト１１０へ送る。無線信号の符号化及び変調のための方式にはさまざまなものがあるが、ある具体的な実施形態では、上述のＩＥＥＥ８０２．１５．４に準拠した方式が用いられる。
【００２３】
ホスト１１０は、ＲＦユニット１３４，１４４，１５４，１６４から受け取られた無線信号を復調及び復号化することによって、センサデータを得る。ホスト１１０は、得られたセンサデータをＰＣ１２０に送る。ＰＣ１２０は、ホスト１１０に例えば有線で結合される。具体的にはＰＣ１２０は、ホスト１１０にＵＳＢ（ユニバーサルシリアルバス）等で接続され得る。
【００２４】
ＰＣ１２０は、例えば、ＧＵＩ（グラフィカルユーザインタフェース）を備えるソフトウェアを用いて、センサデータを視覚的に表示したり、統計的に処理したりできる。そのようなソフトウェアは、例えば通信状態の確認、センサデータの数値表示、グラフ表示、センサ値の分布カラーマッピング、センサデータの記録、センサデータのエクスポート、端末設定の変更等を行うことができる。
【００２５】
（待機要求）
図２は、本発明の例示的実施形態が採用するプロシージャ２００を示す図である。本明細書において、パケットのタイプを示す「センサデータ」、「待機要求（Wait要求とも呼ばれる）」、「ＡＣＫ（アクノリッジ）」、及び「コマンド」という語は、それぞれを表すメッセージをいう。これらメッセージは、単一、又は複数のパケットによって構成され得る。パケットは、無線又は有線のネットワーク上を伝送され得る。本明細書で例えば「ホストがクライアントに待機要求を送る」という場合、「ホスト機器がクライアント機器に『待機要求』を表すパケットを送る」ことを意味する。
【００２６】
このようなパケットは、例えばそのヘッダ中の１バイトのうちの２ビットを使って、それぞれのパケットタイプを表し得る。例えば「待機要求」は、パケットヘッダのうち、パケットタイプを表す先頭２ビットを「１１」に設定することによって表現され得る。
【００２７】
（初期状態におけるタイミング調整）
初期状態Ｓ１において、ホスト１１０は、クライアント１４０，１５０，１６０がセンサデータをホスト１１０に送るタイミングを調整する。いったんタイミング調整がそれぞれのクライアントについてなされると、その後の定常状態Ｓ２においては、クライアント１３０，１４０，１５０，１６０のそれぞれは、一定のセンシング間隔Ｔｓでセンサデータをホスト１１０に送る。初期状態Ｓ１でタイミング調整がなされることによって、定常状態Ｓ２においては、クライアント１３０，１４０，１５０，１６０がホスト１１０に送るセンサデータは、時間軸上で等間隔に並べられる。期間Ｐ１２，Ｐ２３，Ｐ３４，Ｐ４１はいずれも等しい。換言すれば、ホスト１１０がクライアント１３０，１４０，１５０，１６０からのセンサデータを受け取る時刻のうち、時間軸上で隣接する２つの時刻の間の期間は、いずれも等しい。
【００２８】
理想的には、初期状態Ｓ１でクライアント１４０，１５０，１６０がセンサデータをホスト１１０に送るタイミングをいったん調整すると、その後の定常状態Ｓ２では、クライアント１３０，１４０，１５０，１６０がホスト１１０に送るセンサデータは、常に時間軸上で等間隔に並べられる。しかし実際には、センサデータが送られるタイミングは時間の経過と共にずれることがある。そのような場合は、初期状態Ｓ１におけるタイミング調整を定期的に（つまり一定の間隔で）実行すればよい。
【００２９】
タイミング調整の間隔は、センサデータの送信時刻のずれの量に応じて適宜、決めればよい。具体的にはセンサデータが送信されるタイミングがずれやすい場合は、例えば、１日に１回、ホスト１１０が初期状態Ｓ１を発生させて、タイミング調整を行えばよい。反対に、センサデータが送信されるタイミングがずれにくい場合は、例えば、１週間に１回、ホスト１１０が初期状態Ｓ１を発生させて、タイミング調整を行えばよい。
【００３０】
代替としては、初期状態Ｓ１におけるタイミング調整は、クライアント１３０，１４０，１５０，１６０が送るセンサデータのタイミングが時間軸上で等間隔ではなくなったとホスト１１０が判断するときに、随時、行ってもよい。具体的には、期間Ｐ１２，Ｐ２３，Ｐ３４，Ｐ４１のうちの任意の２つの期間の差が所定の閾値より大きいかどうかを調べればよい。所定の閾値より大きいときは、タイミング調整が必要なので、初期状態Ｓ１を設けてタイミング調整を実行する。この閾値は、システム１００のネットワークがどの程度のトラフィックの集中を許容するかによって適宜、決定され得る。
【００３１】
クライアント１３０，１４０，１５０，１６０は、それぞれ第１ノード，第２ノード，第３ノード，第４ノードとも呼ばれる。クライアントの個数は任意であり、一般にはホスト機器１１０は、第１クライアント機器から第ｎクライアント機器（ｎはｎ≧２の整数）までｎ個のクライアント機器に接続され得る。この場合、任意のクライアント機器は、第ｉクライアント機器（ｉは２≦ｉ≦ｎの整数、ｎはｎ≧２の整数）と表現できる。第ｉクライアント機器は、単に第ｉノードとも呼ばれる。
【００３２】
（クライアントの待機期間の算出）
プロシージャ２００において、ホスト１１０は、第１クライアント１３０からのセンサデータを時刻ｔ１において受け取る。ホスト１１０は、第２クライアント１４０からのセンサデータを時刻ｔ２において受け取る。ホスト１１０は、第３クライアント１５０からのセンサデータを時刻ｔ３において受け取る。ホスト１１０は、第４クライアント１６０からのセンサデータを時刻ｔ４において受け取る。
【００３３】
時刻ｔ１を基準とすれば、期間ｐ２＝時刻ｔ２−時刻ｔ１（≧０），期間ｐ３＝時刻ｔ３−時刻ｔ１（≧０），及び期間ｐ４＝時刻ｔ４−時刻ｔ１（≧０）と表せる。後述するように、ホスト１１０は、期間ｐ２に基づいて、クライアント１４０の待機期間１４０Ｔｗを決定する。ホスト１１０は、期間ｐ３に基づいて、クライアント１５０の待機期間１５０Ｔｗを決定する。ホスト１１０は、期間ｐ４に基づいて、クライアント１６０の待機期間１６０Ｔｗを決定する。
【００３４】
タイミング調整を行うためにホスト１１０は、クライアント１４０からのセンサデータ１４０ｄ１に応答して、待機要求１４０ｗをクライアント１４０に送り返す。この待機要求１４０ｗに基づいて、クライアント１４０は、待機期間１４０Ｔｗだけ待ってから次のセンサデータ１４０ｄ２をホスト１１０に送る。
【００３５】
ホスト１１０は、他のノードについても同様のタイミング調整を行う。すなわちホスト１１０は、クライアント１５０からのセンサデータ１５０ｄ１に応答して、待機要求１５０ｗをクライアント１５０に送り返す。この待機要求１５０ｗに基づいて、クライアント１５０は、待機期間１５０Ｔｗだけ待ってから次のセンサデータ１５０ｄ２をホスト１１０に送る。ホスト１１０は、クライアント１６０からのセンサデータ１６０ｄ１に応答して、待機要求１６０ｗをクライアント１６０に送り返す。この待機要求１６０ｗに基づいて、クライアント１６０は、待機期間１６０Ｔｗだけ待ってから次のセンサデータ１６０ｄ２をホスト１１０に送る。
【００３６】
待機期間Ｔｗ（例えば１４０Ｔｗ，１５０Ｔｗ，１６０Ｔｗ）は、
Ｔｗ＝Ｔｓ−ｐｉ＋Ｔｓ・（ｉ−１）／ｎ
と表すことができる。ここでＴｓはセンシング間隔、ｐｉはｉ番目のノードの受信時間差、ｉはノード番号、ｎはノード数（すなわちクライアント機器の個数）である。
【００３７】
より一般的に、第ｉクライアント機器の待機期間Ｔｗｉは、
Ｔｗｉ＝Ｔｓ−（ｔｉ−ｔ１）＋Ｔｓ・（ｉ−１）／ｎ
と表すことができる。ここでｔ１は、第１クライアント機器からのセンサデータを初期状態で受け取った第１時刻であり、ｔｉは、第ｉクライアント機器からのセンサデータを初期状態で受け取った第ｉ時刻である。
【００３８】
例えばセンシング間隔が６０秒であり、受信時間差ｐ２が２０秒であり、ノード数が４個であるときには、第２クライアント機器であるクライアント１４０（すなわち第２ノード）についての待機期間１４０Ｔｗは、１４０Ｔｗ＝６０秒−２０秒＋６０秒・（２−１）／４＝６０秒−２０秒＋１５秒・１＝５５秒である。つまりクライアント１４０は、センサデータ１４０ｄ１を送ってから５５秒の間、待機し、次のセンサデータ１４０ｄ２を送ればよい。
【００３９】
同様に、ホスト１１０は、クライアント１５０，１６０にそれぞれ待機期間１５０Ｔｗ，１６０Ｔｗだけ待つよう命令する。クライアント１５０の受信時間差ｐ３が４０秒であるなら、待機期間１５０Ｔｗは、１５０Ｔｗ＝６０秒−４０秒＋６０秒・（３−１）／４＝６０秒−４０秒＋１５秒・２＝５０秒である。クライアント１６０の受信時間差ｐ４が３５秒であるなら、待機期間１６０Ｔｗは、１６０Ｔｗ＝６０秒−３５秒＋６０秒・（４−１）／４＝６０秒−３５秒＋１５秒・３＝７０秒である。つまりクライアント１５０，１６０は、センサデータ１５０ｄ１及び１６０ｄ１を送ってからそれぞれ５０秒及び７０秒の間、待機し、次のセンサデータ１５０ｄ２及び１６０ｄ２を送ればよい。
【００４０】
上述のタイミング調整により、クライアント１３０，１４０，１５０，１６０は、時間軸上で等間隔にセンサデータをホスト１１０に送ることができる。上の例では、期間Ｐ１２，Ｐ２３，Ｐ３４，Ｐ４１はいずれも（センシング間隔Ｔｓ）／（ノード数ｎ）＝６０秒／４＝１５秒である。
【００４１】
待機期間は、より一般的には上式に限定されない。ホスト１１０は、それぞれのノードからのセンサデータが時間軸上で等間隔に並ぶように待機期間を設定すればよい。
【００４２】
図２においては、図示の都合上、クライアント１４０がセンサデータ１４０ｄ１を送ってから、ホスト１１０からの待機要求１４０ｗを受け取るまでに相当な時間がかかるように描かれている。例えばセンシング間隔Ｔｓが１分であり、クライアント１４０とホスト１１０との１往復にかかる時間が例えば数１０ｍｓのオーダーであるとする。このような場合、クライアント１４０がセンサデータ１４０ｄ１を送ってから、ホスト１１０からの待機要求１４０ｗを受け取るまでの期間は、センシング間隔Ｔｓに比べると無視できる程度に小さいといえる。
【００４３】
（クライアントへのコマンド送信）
図３は、図１及び図２の実施形態において、ホストがクライアントにコマンドを送るプロシージャの一例を示す図である。図１及び図２の実施形態によるホスト１１０は、図３のプロシージャ３００によってコマンドをクライアント（例えば図３ではクライアント１３０）に送ってもよいが、この特定のプロシージャには限定されず、他のプロシージャによってコマンドをクライアントに送ってもよい。代替として図１及び図２の実施形態によるホスト１１０は、クライアントにコマンドを送らなくてもよい。図３のクライアント１３０は一例であって、図１の他のクライアント１４０，１５０，１６０のうちの任意のものであり得る。
【００４４】
プロシージャ３００において、基地局ノードであるホスト１１０の電源は通常、オン状態である。すなわち期間ＰｏｎＢにおいて、ホスト１１０の電源のオン状態が継続する。
【００４５】
末端ノードであるクライアント１３０の電源は、センサデータを送ってから、ＡＣＫを受け取るときまで（例えば図３ではＰｏｎ１）、又はセンサデータを送ってから、ＡＣＫ・コマンドを受け取り、ＡＣＫ・データを送るときまで（例えば図３ではＰｏｎ２）、オン状態である。図３で太く描かれている時間軸ＰｏｎＢ，Ｐｏｎ１，Ｐｏｎ２は、ホスト又はクライアントの電源がオン状態であることを表す。図３で細く描かれている時間軸Ｐｏｆｆ１は、クライアントの電源がオフ状態（スリープ状態）であることを表す。
【００４６】
スリープ状態は、消費電力を下げることによって、電池の持続時間を長くするために設けられる。通常、ホスト１１０は、ＡＣ（交流）電源であるコンセント、又はコンセントに接続されたＡＣアダプタから電源が供給されるので、スリープ状態を設けなくてもよい。しかしこれには限定されず、ホスト１１０がスリープ状態を設けてもよい。
【００４７】
末端ノードであるクライアント１３０，１４０，１５０，１６０は、電池によって駆動されるのがふつうであり、その場合は通常、スリープ状態が設けられる。しかしクライアント１３０，１４０，１５０，１６０もこれには限定されず、電池以外の電源（例えばＡＣ電源）を利用するのであれば、スリープ状態を設けなくてもよい。
【００４８】
クライアント１３０は、センサデータ１３０Ｄ１をホスト１１０に送る。ホスト１１０は、センサデータ１３０Ｄ１を受け取ったことを表すアクノリッジ（ＡＣＫ）１３０Ａ１をクライアント１３０に送る。クライアント１３０は、ＡＣＫ１３０Ａ１を受け取ってから電源をオフ状態にする。したがってクライアント１３０は、期間Ｐｏｎ１の間は電源がオン状態であり、次に電源がオン状態になるまでの期間Ｐｏｆｆ１の間はオフ状態である。
【００４９】
時刻ｔｃで、ホスト１１０においてコマンドＣＭＤが発生する。コマンドＣＭＤの例としては、送信間隔を変えることをリクエストするコマンド、無線ネットワークのルーティング（つまり通信パスの経路）を変えることをリクエストするコマンド、末端ノードの状態（電池電圧等）を通知することをリクエストするコマンド等が挙げられる。コマンドＣＭＤが発生すると、ホスト１１０は、コマンドＣＭＤと、その宛先のノード１３０とを関連付けて、例えばホスト１１０内のコマンドキューを構成する記憶手段に記憶する。コマンドキューは、例えばＲＡＭ（ランダムアクセスメモリ）によって構成され得る。
【００５０】
時刻ｔｃの後、スリープ状態である期間Ｐｏｆｆ１が終わってから、クライアント１３０の電源は期間Ｐｏｎ２の間、再びオンにされる。
【００５１】
クライアント１３０は、センサデータ１３０Ｄ２をホスト１１０に送る。このときホスト１１０は、センサデータ１３０Ｄ２に対するＡＣＫ１３０Ａ２と、記憶されたコマンドＣＭＤとをクライアント１３０に送る。ＡＣＫ１３０Ａ２と、記憶されたコマンドＣＭＤとは、典型的には単一のパケットの中に含まれることによって無線ネットワーク上で送られる。しかしこれには限定されず、実質的に同時に送られるのであれば、ネットワーク上を任意の適切な方法で送られ得る。
【００５２】
具体的にはコマンドＣＭＤは、さまざまなコマンドのうちの一つを表すコマンドＩＤ（識別子）であり得る。そのようなコマンドＩＤは、例えば１バイトのデータで表現され得る。ＡＣＫ１３０Ａ２は、ホスト１１０がセンサデータ１３０Ｄ２を受け取ったかどうかを表すことができればよく、例えば１ビットのデータ（フラグとも呼ばれる）で表現され得る。
【００５３】
クライアント１３０は、ＡＣＫ１３０Ａ２及びコマンドＣＭＤを受け取ると、コマンドＣＭＤに対するＡＣＫ１３０Ａ３をホスト１１０に送る。ＡＣＫ１３０Ａ３は、クライアント１３０がコマンドＣＭＤを受け取ったことを表すことができればよく、例えば１ビットのデータで表現され得る。
【００５４】
コマンドＣＭＤは、それに対する応答を必要としない場合がある。例えばコマンドＣＭＤがセンサデータの送信間隔を変えることをリクエストするコマンドなら、クライアント１３０は、センサデータの送信間隔を変えるために、例えばタイマの設定を変更するだけで、ホストには応答を送らない。
【００５５】
一方、コマンドＣＭＤは、それに対する応答を必要とする場合もある。例えばコマンドＣＭＤが電池電圧を通知することをリクエストするコマンドなら、クライアント１３０は、電池電圧を表すデータ１３０Ｄ３をホスト１１０に送る。データ１３０Ｄ３は、これには限定されず、一般にはコマンドＣＭＤに対応する任意の適切な応答であり得る。データ１３０Ｄ３は、コマンドＣＭＤに対応する応答（例えば物理量等の変数に対応するデータ）を表すことができればよく、例えば１バイトのデータで表現され得る。ＡＣＫ１３０Ａ３と、データ１３０Ｄ３とは、典型的には単一のパケットで送られるが、これには限定されず、実質的に同時に送られるのであれば任意の適切な方法で送られ得る。
【００５６】
コマンドＣＭＤがホスト１１０からクライアント１３０に送られた場合、クライアント１３０は、少なくともＡＣＫ１３０Ａ３を送る。しかしコマンドＣＭＤの種類に応じて、データ１３０Ｄ３は送ってもよく、送らなくてもよい。
【００５７】
時刻ｔｄにおいてホスト１１０は、ＡＣＫ１３０Ａ３（及び場合によってはデータ１３０Ｄ３も）を受け取る。ＡＣＫ１３０Ａ３は、クライアント１３０がコマンドＣＭＤを受け取ったことを表すので、ホスト１１０は、コマンドＣＭＤの処理が完了したと認識する。具体的にはホスト１１０は、コマンドＣＭＤが記憶されているコマンドキューからコマンドＣＭＤを削除する。
【００５８】
クライアント１３０に対するコマンドが発生していないとき、クライアント１３０は、ＡＣＫ１３０Ａ３及びデータ１３０Ｄ３をホスト１１０に送らない。この場合、クライアント１３０は、ＡＣＫ１３０Ａ３及びデータ１３０Ｄ３をホスト１１０に送る時間を確保する必要がない。そのため一般に期間Ｐｏｎ１は、期間Ｐｏｎ２よりも短くなる。
【００５９】
プロシージャ３００によれば、クライアント１３０は、コマンドＣＭＤに対する応答を、長くともセンシング間隔でホストに送ることができる。そのようなホストへの応答は、必ずしもリアルタイムではないが、最長でもセンシング間隔でホストへ応答できる。したがってクライアント１３０は、省電力を実現しつつも、定期的なホストへの応答が可能となる。
【００６０】
実施形態によって大きく変わるが、例として、期間Ｐｏｎ１及びＰｏｎ２は、１０ｍｓ〜１ｓのオーダーである。クライアント１３０とホスト１１０との間に中継ノードが存在する場合（例えば２，３ホップ）なら、期間Ｐｏｎ１及びＰｏｎ２は、数１０ｍｓのオーダーである。トラフィックが多い時は、期間Ｐｏｎ１及びＰｏｎ２は、１秒のオーダーになり得る。期間Ｐｏｆｆ１は、例えば１ｓのオーダーであり得るが、具体的な実現例に応じて適当な値に設定され得る。
【００６１】
プロシージャ３００を利用すれば、例えば、単三電池２本で６ヶ月の間、クライアント機器を動作させることも可能である。
【００６２】
（クライアントのハードウェア）
図４は、本発明の例示的実施形態のために用いられるクライアント１３０のブロック図である。クライアント１３０は、ＲＦユニット１３４、センサ１３５、及びアンテナ４３０を備える。センサ１３５は、センサデータをＲＦユニット１３４に出力する。ＲＦユニット１３４は、センサ１３５が出力したセンサデータを無線信号に変換して、アンテナ４３０からホスト１１０へ送る。センサ１３５は、計測機器であってもよい。
【００６３】
ＲＦユニット１３４は、センサインタフェース４４０、ＤＣ（直流）電源４４５、ＭＣＵ（Micro Controller Unit）４５０、ＲＯＭ（読み出し専用メモリ）４５２、ＲＡＭ（ランダムアクセスメモリ）４５４、タイマ４５６、無線送受信部４５８、及びＲＦインタフェース４６０を有する。センサインタフェース４４０は、センサ１３５によって出力されたセンサ信号をＭＣＵ４５０が処理できる適当な信号（例えば１０ビットデジタル信号）に変換する。ＤＣ電源４４５は、ＲＦユニット１３４の各機能ブロックに直流電源を供給する。ＤＣ電源４４５は、例えば直流３Ｖを供給するリチウム電池であり得る。
【００６４】
ＭＣＵ４５０は、クライアント１３０の機能を実現するのに用いられるマイクロプロセッサである。ＭＣＵ４５０は、クライアント１３０の機能を実現するのに必要なプログラム及びデータをＲＯＭ４５２又はＲＡＭ４５４に記憶する。タイマ４５６は、例えば電源をオフにするタイミングを計測し、所定時間が経過したときに、ＤＣ電源４４５からの電源供給を断つようＭＣＵ４５０をトリガする。ＭＣＵ４５０は、ＲＯＭ４５２、ＲＡＭ４５４、及びタイマ４５６などの周辺素子をその中に含んでもよい。この場合、ＲＯＭなどを独立した部品として搭載する場合に比べて、システム構築のためのコストを抑えることができる。
【００６５】
無線送受信部４５８は、ＭＣＵ４５０からのデータをホスト１１０へ送る応答パケットに変換したり、ホストから受け取られた要求パケットをデータに変換したりする。ＲＦインタフェース４６０は、無線送受信部４５８から出力されたパケットをＲＦ信号に変換し、アンテナに出力したり、アンテナで受け取られたＲＦ信号からパケットを再生し、無線送受信部４５８に出力したりする。
【００６６】
クライアント１４０，１５０，１６０は、図４に示されるクライアント１３０と同様の構成を有する。
【００６７】
（ホストのハードウェア）
図５は、本発明の例示的実施形態のために用いられるホスト１１０のブロック図である。ホスト１１０は、ＲＦユニット５１０、及びアンテナ５３０を備える。一般にホスト１１０は、複数のクライアントのうちどれと通信してもよい。本明細書の以下の説明では、ホスト１１０がクライアント１３０と通信すると仮定して説明するが、他のクライアントであるクライアント１４０，１５０，１６０と通信してもよい。
【００６８】
ＲＦユニット５１０は、クライアント１３０に対する要求を無線信号に変換して、アンテナ５３０からクライアント１３０へ送る。ＲＦユニット５１０は、アンテナ５３０によって受け取られたクライアント１３０からの応答をデータに変換して、ＲＦユニット５１０からインタフェース５４０を介してＰＣ１２０へ送る。
【００６９】
ＲＦユニット５１０は、インタフェース５４０、電源５４５、ＭＣＵ５５０、ＲＯＭ５５２、ＲＡＭ５５４、タイマ５５６、無線送受信部５５８、及びＲＦインタフェース５６０を有する。インタフェース５４０は、ＰＣ１２０によって出力されたさまざまな信号をＭＣＵ５５０が処理できる適当な信号（例えば８ビットデジタル信号）に変換する。電源５４５は、ホスト１１０の各機能ブロックに直流電源を供給する。電源５４５は、例えば家庭用ＡＣ（交流）電源のコンセントから供給される１００Ｖの交流を受け取り、直流３Ｖに変換し、直流電圧を各ブロックに供給する。
【００７０】
ＭＣＵ５５０は、ホスト１１０の機能を実現するのに用いられるマイクロプロセッサである。ＭＣＵ５５０は、ホスト１１０の機能を実現するのに必要なプログラム及びデータをＲＯＭ５５２又はＲＡＭ５５４に記憶する。タイマ５５６は、例えばタイムアウト時間２３０を計測し、所定時間が経過したときに、要求取消を送信するようＭＣＵ５５０をトリガする。ＭＣＵ５５０は、ＲＯＭ５５２、ＲＡＭ５５４、及びタイマ５５６などの周辺素子をその中に含んでもよい。この場合、ＲＯＭなどを独立した部品として搭載する場合に比べて、システム構築のためのコストを抑えることができる。
【００７１】
無線送受信部５５８は、ＭＣＵ５５０からのデータを、クライアントへ送る要求パケット又は要求取消パケットに変換したり、クライアントから受け取られた応答パケットをデータに変換したりする。ＲＦインタフェース５６０は、無線送受信部５５８から出力されたパケットをＲＦ信号に変換し、アンテナに出力したり、アンテナで受け取られたＲＦ信号からパケットを再生し、無線送受信部５５８に出力したりする。
【００７２】
以上、本発明の実施形態を詳細に説明した。
【００７３】
本発明の実施形態によるホスト及びクライアントは、基板上に取り付けられた、半導体素子を含む回路要素群によって典型的には実現され得る。典型的にはホスト１１０及びクライアント１３０，１４０，１５０，１６０は、センサからのアナログ信号、及び無線ネットワークのための高周波信号を扱うアナログ回路と、ＭＣＵを主要素とするデジタル回路との組み合わせによって実現され得る。
【００７４】
本発明によるホスト機器の制御は、典型的にはソフトウェアによって実現され得る。すなわち図２に示されるプロシージャは、典型的にはコンピュータで読み取り可能な媒体に記憶されたソフトウェアによって実現され得る。コンピュータで読み取り可能な媒体には、ハードディスクドライブ、半導体メモリ等がある。代替として本発明の実施形態によるプロシージャは、ソフトウェア及びハードウェアの組み合わせ、又はハードウェアのみによって実現され得る。本発明の実施形態によるクライアント機器の制御も典型的にはソフトウェアによって実現され得る。
【００７５】
図４及び図５に示される機能ブロック群の一部又は全ては、適宜、結合されることによって一体化されて実現されてもよい。例えば、ＲＦユニット１３４は、ハイブリッドＩＣ（集積回路）として実現されてもよい。さらには例えばクライアント１３０は、ＲＦユニット１３４、センサ１３５、及びアンテナ４３０を一つの基板に一体化して実現されてもよい。
【００７６】
本発明は、実施形態に限定されず、その精神又は主要な特徴から逸脱することなく他の色々な形で実施することができる。
【００７７】
このように、上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は特許請求の範囲によって示すものであって、明細書には何ら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【００７８】
以上説明したように、本発明は、特に無線センサネットワークを利用するホスト・クライアントシステム等について有用である。
【図面の簡単な説明】
【００７９】
【図１】本発明の例示的実施形態を用いたシステムの概略図である。
【図２】本発明の例示的実施形態が採用するプロシージャを示す図である。
【図３】図１及び図２の実施形態において、ホストがクライアントにコマンドを送るプロシージャの一例を示す図である。
【図４】本発明の例示的実施形態のために用いられるクライアントのブロック図である。
【図５】本発明の例示的実施形態のために用いられるホストのブロック図である。
【符号の説明】
【００８０】
２００  プロシージャ
１１０  ホスト
１３０，１４０，１５０，１６０  クライアント
１３０ｄ１，１４０ｄ１，１５０ｄ１，１６０ｄ１  センサデータ
１４０ｗ，１５０ｗ，１６０ｗ  待機要求
Ｓ１  初期状態
Ｓ２  定常状態
Ｔｓ  センシング間隔
１４０Ｔｗ，１５０Ｔｗ，１６０Ｔｗ  待機期間
【図１】
2010239227.tif 000003
【図２】
2010239227.tif 000004
【図３】
2010239227.tif 000005
【図４】
2010239227.tif 000006
【図５】
2010239227.tif 000007