TOP > 国内特許検索 > 情報処理装置および方法、プログラム、並びに通信方法 > 明細書

明細書 :情報処理装置および方法、プログラム、並びに通信方法

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第5177416号 (P5177416)
公開番号 特開2010-114766 (P2010-114766A)
登録日 平成25年1月18日(2013.1.18)
発行日 平成25年4月3日(2013.4.3)
公開日 平成22年5月20日(2010.5.20)
発明の名称または考案の名称 情報処理装置および方法、プログラム、並びに通信方法
国際特許分類 H04W   4/04        (2009.01)
H04W  74/08        (2009.01)
H04W  52/02        (2009.01)
G08C  15/00        (2006.01)
FI H04W 4/04 190
H04W 74/08
H04W 52/02 110
G08C 15/00 E
請求項の数または発明の数 20
全頁数 32
出願番号 特願2008-286881 (P2008-286881)
出願日 平成20年11月7日(2008.11.7)
新規性喪失の例外の表示 特許法第30条第1項適用 電子情報通信学会発行の電子情報通信学会技術研究報告(2008年 5月 8日) Vol.108 No.33 p13-p17に発表
審査請求日 平成23年10月12日(2011.10.12)
特許権者または実用新案権者 【識別番号】504133110
【氏名又は名称】国立大学法人電気通信大学
発明者または考案者 【氏名】田中 久陽
【氏名】菊地 正隆
【氏名】木村 崇之
個別代理人の代理人 【識別番号】100082131、【弁理士】、【氏名又は名称】稲本 義雄
【識別番号】100121131、【弁理士】、【氏名又は名称】西川 孝
審査官 【審査官】田畑 利幸
参考文献・文献 特開2005-323375(JP,A)
特表2008-535446(JP,A)
特開2005-184423(JP,A)
調査した分野 H04W 4/04
G08C 15/00
H04W 52/02
H04W 74/08
特許請求の範囲 【請求項1】
複数の端末間で伝送データを送受信するネットワークにおいて、送信部および受信部を備え、前記端末として動作する情報処理装置であって、
他の端末として動作する他の情報処理装置より送信される、情報送信の予約を要求する制御情報である送信予約を、前記受信部を介して受信する第1の送信予約受信手段と、
前記第1の送信予約受信手段により前記送信予約が受信されてから所定期間、他の情報処理装置より送信される所定の制御情報を、前記受信部を介して受信する制御情報受信手段と、
前記制御情報受信手段により前記制御情報が受信された場合、前記制御情報の送信元である前記他の情報処理装置に対して前記他の情報処理装置の動作を制御する制御情報を前記送信部より送信することにより、前記送信元のうち、前記伝送データを送信する端末として選択した以外の前記他の情報処理装置の動作状態を、消費電力の小さいスリープ状態に移行させる制御情報送信手段と、
前記伝送データを送信する端末として選択した前記他の情報処理装置より送信される前記伝送データを、前記受信部を介して受信する伝送データ受信手段と
を備える情報処理装置。
【請求項2】
前記制御情報受信手段は、
前記第1の送信予約受信手段により前記送信予約が受信されてから所定期間、前記送信予約を、前記受信部を介して受信する第2の送信予約受信手段と、
前記第1の送信予約受信手段により前記送信予約が受信されてから所定期間、前記他の情報処理装置の存在を通知する制御情報である存在通知を、前記受信部を介して受信する存在通知受信手段と
を備え、
前記制御情報送信手段は、
前記送信元の中から前記伝送データを送信する端末を選択することにより、前記伝送データの送信を許可する送信権の設定を行う送信権設定手段と、
前記送信元に対して、前記送信権設定手段により設定された前記送信権を通知する送信権通知を、前記送信部より送信する送信権送信手段と、
前記送信権設定手段により設定された前記送信権が付与されていない前記他の情報処理装置に対して、前記制御情報として、前記動作状態を前記スリープ状態に移行させるスリープ命令を、前記送信部より送信するスリープ命令送信手段と
を備える請求項1に記載の情報処理装置。
【請求項3】
前記第1の送信予約受信手段により前記送信予約が受信されてから所定の第1の期間、前記第2の送信予約手段が前記送信予約を受け付け、前記送信予約が受信された場合、前記送信権設定手段が前記送信権の設定を行い、送信権送信手段が前記送信権通知を送信し、
前記第1の期間が終了してから所定の第2の期間、前記第2の送信予約受信手段が前記送信予約を受け付けるとともに、前記存在通知受信手段が前記存在通知を受け付け、前記送信予約または前記存在通知が受信された場合、前記スリープ命令送信手段が前記スリープ命令を送信する
請求項2に記載の情報処理装置。
【請求項4】
前記送信権設定手段は、前記第1の送信予約受信手段または前記第2の送信予約受信手段により受信された前記送信予約に含まれる、前記送信予約の送信元に前記送信権が付与されなかった回数を示す履歴情報に基づいて、過去に前記送信権が付与されなかった回数が最大の前記他の情報処理装置に前記送信権を付与するように設定を行う
請求項2に記載の情報処理装置。
【請求項5】
前記送信権設定手段は、最初に前記送信予約を送信した前記他の情報処理装置に前記送信権を付与するように設定を行う
請求項2に記載の情報処理装置。
【請求項6】
前記送信権設定手段は、前記他の情報処理装置の優先度を求め、前記優先度が最も高い前記他の情報処理装置に前記送信権を付与するように設定を行う
請求項2に記載の情報処理装置。
【請求項7】
前記送信権送信手段は、前記送信権通知の送信タイミングを設定するタイミング設定手段を備え、前記タイミング設定手段により設定された前記送信タイミングにおいて前記送信権通知を送信する
請求項2に記載の情報処理装置。
【請求項8】
前記スリープ命令送信手段は、前記スリープ命令の送信タイミングを設定するタイミング設定手段を備え、前記タイミング設定手段により設定された前記送信タイミングにおいて前記スリープ命令を送信する
請求項2に記載の情報処理装置。
【請求項9】
前記情報処理装置の存在を他の情報処理装置に通知する存在通知を、前記送信部より送信する存在通知送信手段をさらに備え
前記第1の送信予約受信手段は、前記存在通知送信手段により送信された前記存在通知に応じて前記他の情報処理装置より送信される前記送信予約を受信する
請求項1に記載の情報処理装置。
【請求項10】
前記存在通知送信手段は、前記存在通知の送信タイミングを設定するタイミング設定手段を備え、前記タイミング設定手段により設定された前記送信タイミングにおいて前記存在通知を送信する
請求項9に記載の情報処理装置。
【請求項11】
他の端末として動作する他の情報処理装置より送信される、前記情報処理装置の動作状態を前記スリープ状態に移行させるスリープ命令を、前記受信部を介して受信するスリープ命令受信手段と、
前記スリープ命令受信手段により前記スリープ命令が受信された場合、前記情報処理端末の動作状態を前記スリープ状態に移行させるスリープ制御手段と
をさらに備える請求項1に記載の情報処理装置。
【請求項12】
所定時刻に、前記情報処理装置の動作状態を、前記スリープ状態と通常動作時のアクティブ状態とで切り替える切替手段をさらに備え、
前記第1の送信予約受信手段は、前記動作状態がアクティブ状態であるとき、前記送信予約の受信を行い、
前記切替手段は、前記伝送データ受信手段による前記伝送データの受信が終了すると、前記動作状態を前記スリープ状態に移行させる
請求項1に記載の情報処理装置。
【請求項13】
前記他の情報処理装置の存在を通知する制御情報である存在通知を、前記受信部を介して受信する存在通知受信手段と、
前記存在通知受信手段により受信された前記存在通知の送信元に対して、前記送信予約を、前記送信部より送信する送信予約送信手段と、
前記伝送データの送信を許可する送信権を通知する送信権通知を、前記受信部を介して受信する送信権受信手段と、
前記送信権受信手段により、前記他の情報処理装置に対して前記送信権を付与することを通知する前記送信権通知を受信しなかった場合、前記伝送データを前記送信部より送信する伝送データ送信手段と、
前記送信権受信手段により、前記他の情報処理装置に対して前記送信権を付与することを通知する前記送信権通知を受信した場合、前記情報処理装置の動作状態を前記スリープ状態に移行させるスリープ制御手段と
をさらに備える請求項1に記載の情報処理装置。
【請求項14】
所定時刻に、前記情報処理装置の動作状態を、前記スリープ状態と通常動作時のアクティブ状態とで切り替える切替手段と、
前記切替手段が、前記動作状態を前記スリープ状態から前記アクティブ状態に移行する際、前記伝送データを保持しているか否かを確認する確認手段と
をさらに備える
請求項13に記載の情報処理装置。
【請求項15】
前記送信予約送信手段は、前記送信予約の送信タイミングを設定するタイミング設定手段を備え、前記タイミング設定手段により設定された前記送信タイミングにおいて前記送信予約を送信する
請求項13に記載の情報処理装置。
【請求項16】
複数の端末間で伝送データを送受信するネットワークにおいて、送信部および受信部を備え、前記端末として動作する情報処理装置の情報処理方法であって、
前記情報処理装置が、
他の端末として動作する他の情報処理装置より送信される、情報送信の予約を要求する制御情報である送信予約を、前記受信部を介して受信し、
前記送信予約が受信されてから所定期間、他の情報処理装置より送信される所定の制御情報を、前記受信部を介して受信し、
前記制御情報が受信された場合、前記制御情報の送信元である前記他の情報処理装置に対して前記他の情報処理装置の動作を制御する制御情報を前記送信部より送信することにより、前記送信元のうち、前記伝送データを送信する端末として選択した以外の前記他の情報処理装置の動作状態を、消費電力の小さいスリープ状態に移行させ、
前記伝送データを送信する端末として選択した前記他の情報処理装置より送信される前記伝送データを、前記受信部を介して受信する
ステップを含む情報処理方法。
【請求項17】
複数の端末間で伝送データを送受信するネットワークにおいて、送信部および受信部を備え、前記端末として動作する情報処理装置の情報処理方法をコンピュータに実行させるプログラムであって、
前記情報処理方法は、
他の端末として動作する他の情報処理装置より送信される、情報送信の予約を要求する制御情報である送信予約を、前記受信部を介して受信し、
前記送信予約が受信されてから所定期間、他の情報処理装置より送信される所定の制御情報を、前記受信部を介して受信し、
前記制御情報が受信された場合、前記制御情報の送信元である前記他の情報処理装置に対して前記他の情報処理装置の動作を制御する制御情報を前記送信部より送信することにより、前記送信元のうち、前記伝送データを送信する端末として選択した以外の前記他の情報処理装置の動作状態を、消費電力の小さいスリープ状態に移行させ、
前記伝送データを送信する端末として選択した前記他の情報処理装置より送信される前記伝送データを、前記受信部を介して受信する
プログラム。
【請求項18】
送信部および受信部を有し、消費電力の大きいアクティブ状態と、消費電力の小さいスリープ状態とを交互に切り替え、前記アクティブ状態のときだけ通信を行う間欠通信を行う制御端末と、
前記送信部、前記受信部、および、測定対象を測定した測定結果であるセンサデータを取得するセンサ部を有し、前記間欠通信を行う複数のセンサ端末と
を有するセンサネットワークによるデータ伝送方法であって、
全ての前記センサ端末に対して前記センサデータを要求するリクエストパケットをフラッディング方式により送信する第1の工程として、
制御端末が、
通信可能範囲内の前記センサ端末に対して前記リクエストパケットを送信し、
各センサ端末が、
通信可能範囲内の、前記リクエストパケットの送信元の端末、および、前記送信元の端末より送信される前記リクエストパケットを受信する他のセンサ端末を除く、他のセンサ端末に対して、制御信号を送信して前記スリープ状態に移行させ、
前記スリープ状態に移行された前記他のセンサ端末が前記スリープ状態にある間に、前記送信元の端末より前記リクエストパケットを受信し、
前記リクエストパケットに含まれる、前記リクエストパケットの伝送経路を示す、前記リクエストパケットを送受信した端末の識別情報のリストからなる履歴情報を記憶し、
前記リクエストパケットの前記履歴情報に、自分自身の識別情報を履歴として付加し、
前記通信可能範囲内の、前記リクエストパケットの送信元の端末以外の他のセンサ端末に対して前記リクエストパケットを送信し、
所定の期間、前記間欠通信を休止して待機し、
前記制御端末が、前記リクエストパケットに対する応答としての前記センサデータを収集する第2の工程として、
各センサ端末が、
前記所定の期間終了後、前記センサ部により前記センサデータを取得し、
前記間欠通信を再開し、記憶している前記履歴情報に基づいて、前記リクエストパケットの伝送経路の逆順における次の端末に対して、取得した前記センサデータを送信し、
前記通信可能範囲内の、前記センサデータの送信元のセンサ端末、および、前記送信元のセンサ端末より送信される前記センサデータを受信する他の端末を除く、他の端末に対して、前記制御信号を送信して前記スリープ状態に移行させ、
前記スリープ状態に移行された前記他の端末が前記スリープ状態にある間に、前記送信元のセンサ端末より前記センサデータを受信し、
記憶している前記履歴情報に基づいて、前記リクエストパケットの伝送経路の逆順における次の端末に対して、受信した前記センサデータをさらに送信し、
前記制御端末が、
前記通信可能範囲内の、前記センサデータの送信元のセンサ端末以外の他のセンサ端末に対して、前記制御信号を送信して前記スリープ状態に移行させ、
前記スリープ状態に移行された前記他の端末が前記スリープ状態にある間に、前記送信元のセンサ端末より前記センサデータを受信する
ステップを含むデータ伝送方法。
【請求項19】
前記第2の工程において、
各センサ端末が、
前記センサデータの送信を行う前に、自分自身が前記ネットワークの末端であるか否かを判断し、
前記通信可能範囲内に、前記リクエストパケットの送信先の他のセンサ端末の存在が確認できず、かつ、記憶している前記履歴情報の変更が所定期間行われなかった場合、自分自身を前記センサネットワークの末端の前記センサ端末であると判断し、
記憶している前記履歴情報に基づいて、前記リクエストパケットの伝送経路の逆順における次の端末に対して、前記センサデータを送信する
ステップをさらに含む請求項18に記載のデータ伝送方法。
【請求項20】
前記第1の工程において、
各センサ端末が、
互いに異なる伝送経路で送信された複数の前記リクエストパケットを受信し、
各リクエストパケットに含まれるそれぞれの履歴情報を記憶し、
前記第2の工程において、
各センサ端末が、
記憶している前記履歴情報に基づいて、端末間の通信状況を把握し、適切な伝送経路を判断し、適切な前記履歴情報を選択し、選択された前記履歴情報において前記リクエストパケットの伝送経路の逆順における次の端末に対して、前記センサデータを送信する
ステップをさらに含む請求項18に記載のデータ伝送方法。
発明の詳細な説明 【技術分野】
【0001】
本発明は、情報処理装置および方法、プログラム、並びに通信方法に関し、特に、通信の衝突による通信成功率の低下を抑制することができるようにした情報処理装置および方法、プログラム、並びに通信方法に関する。
【背景技術】
【0002】
従来、環境測定等のためのセンサを搭載した無線端末からなるセンサネットワークがある。一般的に、このようなセンサネットワークの各端末は、センサにより情報を収集するとともに、情報伝送の中継局として動作し、他の端末より伝送されてきた命令や情報を受信し、それをさらに他の端末に送信する。また、自分自身のセンサで収集した情報も他の端末に送信する。
【0003】
図1はその情報伝送の様子を示す図である。まず、ある端末A(ルート)が、全ての他の端末に対して、センサにより収集された情報を要求するリクエストパケットを送信する。実際には、このリクエストパケットは、端末Aから近隣の端末(通信可能範囲内に存在する端末)に送信される。このリクエストパケットを受信した他の端末は、送信元の端末以外の近隣の端末(通信可能範囲内に存在する、リクエストパケットを送信した端末以外の端末)に送信する。そのリクエストパケットを受信した他の端末は、同様に、そのリクエストパケットをさらに他の端末に伝送する。以上のような伝送が繰り返され、リクエストパケットは、図1Aに示されるように各端末を介して全端末に伝送される。リクエストパケットを受信した各端末は、センシングを開始し、収集した情報を保持し、図1Bに示されるように、その情報を、リクエストパケットとは逆方向に、各端末を介して端末Aに伝送する。
【0004】
このような情報伝送を行うセンサネットワークにおいて、各端末は、一般的に、外部電源を利用せずバッテリ等により動作し、例えば数年等といった長期間駆動するように設計される。上述したような情報伝送のための通信においては電力が消費されるので、端末は、長寿命化(省電力化)を目的として、その通信の頻度を必要最小限とし、また通信を行わない期間は各端末をスリープ状態とする間欠通信制御(省電力間欠通信制御)を行うように設計される。
【0005】
近年、このセンサネットワークにおける間欠通信の制御方法が様々に考えられてきた。例えば、全端末の保持するローカル時刻を同期させる(グローバルな同期を行う)方法が考えられた(例えば、非特許文献1)。また、グローバルな同期を排除し、ローカルな同期による制御方法が考えられた(例えば、非特許文献2参照)。さらに、受信端末からの働きかけにより通信を始動する制御方法が考えられた(例えば、非特許文献3、特許文献1、および特許文献2参照)。また、外部信号を用いた制御方法が考えられた(例えば、特許文献3参照)。
【0006】

【非特許文献1】W. Ye, J. Heidemann, and D. Estrin, "An Energy-Efficient MAC Protocol for Wireless Sensor Networks," In Proceedings of the 21st International Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM), Vol. 3, pp. 1567 - 1576, New York, NY, USA,June 2002.
【非特許文献2】中村 新治, 関根 理敏, 瀬崎 薫, "センサネットワークにおける間欠通信を考慮した同期制御に関する一検討," 電子情報通信学会技術研究報告, NS2005-211, pp. 213 - 216, Feb. 2006.
【非特許文献3】畠内 孝明, 四蔵 達之, 木代 辰巳, 福山 良和, "メッシュネットワークの周辺ノード数と通信路マージンに関する検討," 電子情報通信学会ソサイエティ大会講演論文集, 2007 信学ソ大(通信), B-21-22, pp. 424, Sep. 2007.
【特許文献1】特開2008-103896号公報
【特許文献2】特開2008-103897号公報
【特許文献3】特開2008-99075号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
複数の端末間でデータの送受信が行われる場合、1つの端末に対して複数の端末からパケットが同時に送信される、所謂パケットの衝突の発生による通信の失敗の恐れがある。特に、省電力間欠通信の場合、通信が行われるのはアクティブ状態のときに限定される。つまり、通信可能期間が短く、データの送受信が短期間に集中しやすいので、パケットの衝突の発生の可能性が高い。また、上述したセンサネットワークの場合、通信可能範囲内のデータ送信可能な全て他の端末に対して洪水のようにデータを送信するフラッディングという方式によりデータ伝送が行われる場合が多いが、この方法の場合データ伝送の回数が多いのでパケットの衝突が発生する可能性が高い。
【0008】
しかしながら、上述したいずれの文献に記載の方法においても、このパケットの衝突の発生を十分に抑制することができず、通信成功率を十分に高めることができない恐れがあった。例えば、上述したようなセンサネットワークの場合、このパケットの衝突の発生により、センサデータの収集を円滑に行うことができない恐れがあった。また、通信成功率の低減により、通信に要する消費電力が不要に増大する恐れがあった。特に、上述したようなセンサネットワークの場合、消費電力が増大すると、バッテリにより駆動する各端末の動作可能期間が実用上不十分な程短縮化したり、その動作可能期間を十分に長期化するために端末の製造コストが増大したりする恐れがあった。
【0009】
なお、特許文献1には、周期的に双方向通信を行う端末同士において、データ送信周期を毎回変化させることにより、動作タイミングの衝突を回避することが記載されている。
【0010】
しかしながら、互いに直接通信することができない複数の端末が、1台の端末に対して同時に情報を送信することにより発生するパケットの衝突(所謂隠れ端末問題)を回避する方法については記載されていない。
【0011】
例えば、端末Aと端末Bが互いに通信可能範囲外に位置し、端末Cが端末Aと端末Bの両方の通信可能範囲内に存在し、端末Aと端末Bが端末Cにデータを送信する場合、端末Aおよび端末Bは、互いの存在(少なくとも通信動作状態)を知ることができないので、同時に端末Cに対してパケットを送信してしまい、端末Cがそのパケットを受信できない、すなわち、パケットの衝突が発生する恐れがある。
【0012】
また、端末Aと端末Bが互いの通信可能範囲内に存在する場合であっても、例えば壁等の通信環境により通信することができない場合がある。このような場合も、端末Aおよび端末Bは、互いの存在(少なくとも通信動作状態)を知ることができないので、同時に端末Cに対してパケットを送信してしまい、端末Cがそのパケットを受信できない、すなわち、パケットの衝突が発生する恐れがある。
【0013】
特に、上述したセンサネットワークのように、省電力間欠通信制御とフラッディングを用いてデータ伝送を行う無線通信の場合、端末の配置位置や通信環境等から、このような隠れ端末問題によるパケットの衝突が発生しやすい。しかしながら、上述したいずれの文献についてもこのような隠れ端末問題について記載されていない。つまり、これらの方法では、パケットの衝突を十分に抑制することができなかった。
【0014】
本発明はこのような問題を解決するためのものであり、通信の衝突による通信成功率の低下を抑制することができるようにするものである。
【課題を解決するための手段】
【0015】
本発明の第1の側面は、他の端末として動作する他の情報処理装置より送信される、情報送信の予約を要求する制御情報である送信予約を、受信部を介して受信する第1の送信予約受信手段と、第1の送信予約受信手段により送信予約が受信されてから所定期間、他の情報処理装置より送信される所定の制御情報を、受信部を介して受信する制御情報受信手段と、制御情報受信手段により制御情報が受信された場合、制御情報の送信元である他の情報処理装置に対して他の情報処理装置の動作を制御する制御情報を送信部より送信することにより、送信元のうち、伝送データを送信する端末として選択した以外の他の情報処理装置の動作状態を、消費電力の小さいスリープ状態に移行させる制御情報送信手段と、伝送データを送信する端末として選択した他の情報処理装置より送信される伝送データを、受信部を介して受信する伝送データ受信手段とを備える情報処理装置である。
【0016】
本発明の第2の側面は、全てのセンサ端末に対してセンサデータを要求するリクエストパケットをフラッディング方式により送信する第1の工程として、制御端末が、通信可能範囲内のセンサ端末に対してリクエストパケットを送信し、各センサ端末が、通信可能範囲内の、リクエストパケットの送信元の端末、および、送信元の端末より送信されるリクエストパケットを受信する他のセンサ端末を除く、他のセンサ端末に対して、制御信号を送信してスリープ状態に移行させ、スリープ状態に移行された他のセンサ端末がスリープ状態にある間に、送信元の端末よりリクエストパケットを受信し、リクエストパケットに含まれる、リクエストパケットの伝送経路を示す、リクエストパケットを送受信した端末の識別情報のリストからなる履歴情報を記憶し、リクエストパケットの履歴情報に、自分自身の識別情報を履歴として付加し、通信可能範囲内の、リクエストパケットの送信元の端末以外の他のセンサ端末に対してリクエストパケットを送信し、所定の期間、間欠通信を休止して待機し、制御端末が、リクエストパケットに対する応答としてのセンサデータを収集する第2の工程として、各センサ端末が、所定の期間終了後、センサ部によりセンサデータを取得し、間欠通信を再開し、記憶している履歴情報に基づいて、リクエストパケットの伝送経路の逆順における次の端末に対して、取得したセンサデータを送信し、通信可能範囲内の、センサデータの送信元のセンサ端末、および、送信元のセンサ端末より送信されるセンサデータを受信する他の端末を除く、他の端末に対して、制御信号を送信してスリープ状態に移行させ、スリープ状態に移行された他の端末がスリープ状態にある間に、送信元のセンサ端末よりセンサデータを受信し、記憶している履歴情報に基づいて、リクエストパケットの伝送経路の逆順における次の端末に対して、受信したセンサデータをさらに送信し、制御端末が、通信可能範囲内の、センサデータの送信元のセンサ端末以外の他のセンサ端末に対して、制御信号を送信してスリープ状態に移行させ、スリープ状態に移行された他の端末がスリープ状態にある間に、送信元のセンサ端末よりセンサデータを受信するステップを含むデータ伝送方法である。
【0017】
本発明の第1の側面においては、他の端末として動作する他の情報処理装置より送信される、情報送信の予約を要求する制御情報である送信予約が受信部を介して受信され、送信予約が受信されてから所定期間、他の情報処理装置より送信される所定の制御情報が、受信部を介して受信され、制御情報が受信された場合、制御情報の送信元である他の情報処理装置に対して他の情報処理装置の動作を制御する制御情報を送信部より送信することにより、送信元のうち、伝送データを送信する端末として選択した以外の他の情報処理装置の動作状態が、消費電力の小さいスリープ状態に移行され、伝送データを送信する端末として選択した他の情報処理装置より送信される伝送データが受信部を介して受信される。
【0018】
本発明の第2の側面においては、全てのセンサ端末に対してセンサデータを要求するリクエストパケットをフラッディング方式により送信する第1の工程として、制御端末において、通信可能範囲内のセンサ端末に対してリクエストパケットが送信され、各センサ端末において、通信可能範囲内の、リクエストパケットの送信元の端末、および、送信元の端末より送信されるリクエストパケットを受信する他のセンサ端末を除く、他のセンサ端末に対して、制御信号が送信されてスリープ状態に移行され、スリープ状態に移行された他のセンサ端末がスリープ状態にある間に、送信元の端末よりリクエストパケットが受信され、リクエストパケットに含まれる、リクエストパケットの伝送経路を示す、リクエストパケットを送受信した端末の識別情報のリストからなる履歴情報が記憶され、リクエストパケットの履歴情報に、自分自身の識別情報が履歴として付加され、通信可能範囲内の、リクエストパケットの送信元の端末以外の他のセンサ端末に対してリクエストパケットが送信され、所定の期間、間欠通信が休止されて待機され、制御端末が、リクエストパケットに対する応答としてのセンサデータを収集する第2の工程として、各センサ端末により、所定の期間終了後、センサ部によりセンサデータが取得され、間欠通信が再開され、記憶している履歴情報に基づいて、リクエストパケットの伝送経路の逆順における次の端末に対して、取得したセンサデータが送信され、通信可能範囲内の、センサデータの送信元のセンサ端末、および、送信元のセンサ端末より送信されるセンサデータを受信する他の端末を除く、他の端末に対して、制御信号が送信されてスリープ状態に移行され、スリープ状態に移行された他の端末がスリープ状態にある間に、送信元のセンサ端末よりセンサデータが受信され、記憶している履歴情報に基づいて、リクエストパケットの伝送経路の逆順における次の端末に対して、受信されたセンサデータがさらに送信され、制御端末が、通信可能範囲内の、センサデータの送信元のセンサ端末以外の他のセンサ端末に対して、制御信号が送信されてスリープ状態に移行され、スリープ状態に移行された他の端末がスリープ状態にある間に、送信元のセンサ端末よりセンサデータが受信される。
【発明の効果】
【0019】
本発明によれば、データの送受信を行うことができる。特に、通信の衝突による通信成功率の低下を抑制し、通信効率を向上させることができる。
【発明を実施するための最良の形態】
【0020】
図2は、本発明を適用したネットワークシステムの構成例を示す図である。図2に示されるネットワーク100は、互いに通信を行う複数の端末101により構成され、各端末101間でデータを送受信するネットワークを構築するネットワークシステムである。ネットワーク100を構成する端末の数は任意である。図2においては、ネットワーク100を構成する端末101の一部の例として、端末S、端末A、端末B、端末C、および端末Dの5台を示している。なお、各端末101は、互いに処理実行タイミングを揃えずに非同期で処理を実行する(互いの処理実行タイミングを意図的に揃えることはしない)。
【0021】
各端末101は、後述するように通信機能の他にセンサ機能を備えており、そのセンサによって所定の情報(センサデータ)を取得し、その取得したセンサデータを所定の制御端末(図示せず)に伝送するセンサネットワークである。このとき、各端末101は、通信可能範囲内に位置し、データ送信可能な全ての他の端末に対して洪水のようにパケットを送信するフラッディング方式によりデータ伝送を行う。
【0022】
端末101は、送信すべきデータを保持している場合、そのデータを送信する送信端末として動作し、送信すべきデータを保持していない場合、他の端末より送信されるデータを受信する受信端末として動作する。図2において、斜線模様の端末Sおよび端末Bが送信すべきデータを保持しており、端末A、端末C,および端末Dがデータを保持していない状態を示している。
【0023】
点線102-1は端末Sの通信可能範囲を示している。同様に点線102-2乃至点線102-5は、それぞれ、端末A、端末B、端末C、または端末Dの通信可能範囲を示している。なお、各端末101の通信可能範囲の形状および大きさは任意であり、互いに一致する必要はないが、以下においては、説明の便宜上、各端末101の通信可能範囲が各端末101を中心とする円形状であり、互いに同じ大きさであるものとする。図2の状態において、端末Sは、送信すべきデータ(伝送データ)を、通信可能範囲(点線102-1で示される範囲)内に存在する端末Aおよび端末Dに送信する。同様に端末Bも保持している伝送データを、通信可能範囲(点線102-2で示される範囲)内に存在する端末Aおよび端末Dに送信する。伝送データを受信した端末Aおよび端末Dは、その伝送データをそれぞれの通信可能範囲(点線102-3または点線102-5で示される範囲)内の他の端末101に送信する。例えば、端末Aは、端末Cに対して伝送データを送信する。
【0024】
このデータ伝送の様子を図3に示す。図3に示されるように、フラッディング方式の場合、図2の状態において、1回目のデータ伝送(1ホップ)で端末Sおよび端末Bから端末Aおよび端末Dにデータが伝送され、2回目のデータ伝送(2ホップ)で端末Aから端末Cにデータが伝送される。このように、ネットワーク100においてはバケツリレーの方式で複数回の送受信により各端末を介してデータ伝送が行われる。ホップは、このデータ伝送の回数を示す単位を示す。また、このデータ伝送の回数を基準とする端末間の距離(空間的位置関係ではない)も示す。例えば、端末Sから端末Cにデータ伝送するためには2ホップのデータ伝送が必要であり、端末Sと端末Cは2ホップ離れている。
【0025】
このとき、端末Aまたは端末Dにおいて、端末Sおよび端末Bからのデータ送信タイミングが互いに一致すると、パケットの衝突が発生する。そこで端末Aおよび端末Dは、後述するように制御を行いパケットの衝突(隠れ端末問題によるパケットの衝突も含む)を抑制する。なお、これらの端末101は、消費電力低減(蓄電池を電源として駆動する場合、駆動可能期間の長期化)のために、間欠通信制御(省電力間欠通信制御)を行う。つまり、各端末101は、通信を行わない期間、動作状態を消費電力が小さいスリープ状態にし、通信を行うときだけ、消費電力が大きいアクティブ状態に移行する。アクティブ状態は、所謂通常の動作状態であり、各部に電源が供給され、多数の処理が実行されるので消費電力が大きい。スリープ状態は、基本的に無動作状態であり、不要な電力供給が停止され、アクティブ状態に復帰するために必要最小限の処理のみが実行されるので消費電力が小さい。このような省電力間欠通信制御を行うことにより端末101は消費電力を低減させることができる。
【0026】
以上のように端末101は、間欠通信制御により、スリープ状態とアクティブ状態を周期的に繰り返す。この繰り返しを動作周期とする。つまり、端末101がスリープ状態からアクティブ状態に移行し、その後再度スリープ状態からアクティブ状態に移行するまでの期間が1周期となる。ただし、後述するように、端末101は、他の端末101から情報を受信すると、例えば1周期の間スリープ状態を維持したり、アクティブ状態を維持したりする等、通常の周期的動作を行わない場合がある。動作周期は、端末101がこのような処理を行わない場合、つまり、端末101が単独で送信端末または受信端末として動作する場合の、間欠通信制御(スリープ状態とアクティブ状態の切り替え)の周期とする。
【0027】
図2の状態のネットワーク100における、このような間欠通信制御を用いた情報伝送の様子を、図4および図5を参照して説明する。図4は、情報伝送の処理の様子を段階的に示す図である。図4A乃至図4Dは、基本的に図2と同様に示されている。図4A乃至図4Dの矢印は、それぞれ伝送されるデータの方向(送信元および送信先)を示す。図5は、図4に対応する、データ伝送に関する各処理の実行タイミングを示す図である。
【0028】
図5において、上から順に、端末S、端末D、端末A、端末B、および端末Cのそれぞれの動作状態および処理実行の様子が示されている。いずれも図中左から右に向かって時系列が進むように示されている。一番上の段の四角111乃至四角113は、端末Sの動作状態がアクティブ状態である期間を示す。つまり、端末Sは、時刻T111乃至時刻T114、時刻T115乃至時刻T117、並びに、時刻T118乃至時刻T120の各期間においてアクティブ状態にあり、それ以外の期間(例えば、時刻T114乃至時刻T115)においてスリープ状態にある。同様に、上から2段目の四角131は、端末Dの動作状態がアクティブ状態である期間を示す。つまり、端末Dは、時刻T131乃至時刻T134の期間においてアクティブ状態にあり、それ以外の期間(例えば、時刻T131より前や時刻T134以降)においてスリープ状態にある。
【0029】
以下の段も同様であり、上から3段目の四角151は、端末Aの動作状態がアクティブ状態である期間を示す。つまり、端末Aは、時刻T151乃至時刻T154の期間においてアクティブ状態にあり、それ以外の期間(例えば、時刻T151より前や時刻T154以降)においてスリープ状態にある。また、上から4段目の四角171は、端末Bの動作状態がアクティブ状態である期間を示す。つまり、端末Bは、時刻T171乃至時刻T173の期間においてアクティブ状態にあり、それ以外の期間(例えば、時刻T171より前や時刻T173以降)においてスリープ状態にある。さらに、一番下の段の四角191および四角192は、端末Cの動作状態がアクティブ状態である期間を示す。つまり、端末Cは、時刻T191乃至時刻T193、および、時刻T194乃至時刻T196の各期間においてアクティブ状態にあり、それ以外の期間(例えば、時刻T193乃至時刻T194)においてスリープ状態にある。
【0030】
図4Aに示されるように、データを受信する側の端末101、つまり、送信すべきデータを保持していない端末101(以下、受信端末と称する)は、データを送信する側の端末101、つまり、送信すべきデータを保持している端末101(以下、送信端末と称する)に対して、存在通知ビーコンを送信し、その存在通知ビーコンを受信した送信端末は、受信端末に対して、データ送信予約ビーコンを送信する。
【0031】
存在通知ビーコンは、受信端末が、自分自身の存在(自分自身がアクティブ状態にあること)を送信端末に通知するための情報である。例えば、存在通知ビーコンには、端末ID等の識別情報が含まれる。したがって、送信端末は、存在通知ビーコンを受信することにより、通信可能範囲内に存在する、データ受信可能な受信端末を特定することができる。データ送信予約ビーコンは、送信端末が、受信端末に対してデータを送信することを予約するための情報である。受信端末は、データ送信予約ビーコンを受信することにより送信端末の存在を把握する。例えば、データ送信予約ビーコンを複数の送信端末より受信した場合、受信端末は、通信可能範囲内に複数の送信端末が存在することを把握することができる。例えば、送信端末が複数存在する場合、受信端末は、所定の条件に従ってデータ送信を許可する送信端末を選択する。なお、データ送信予約ビーコンには、送信端末が送信予約を行う期間である送信予約期間を指定する時刻情報や、送信元の送信端末が伝送データの送信を中止した回数(後述する送信権が与えられなかった回数)を示す情報等が含まれる。
【0032】
以上の情報の授受を具体的に説明する。図5において、受信端末である端末Dは、所定の時刻T131においてスリープ状態からアクティブ状態に移行すると、予め決められた所定のタイミングである時刻T132において存在通知ビーコン141を送信する。このとき、端末Dの通信可能範囲内に存在する送信端末である端末Sは、時刻T131より前の所定の時刻T111よりアクティブ状態にあり、矢印211のように送信される存在通知ビーコン141を受信する。存在通知ビーコン141を受信すると、端末Sは、その送信元である端末Dに対して、パケットの衝突を抑制するためにバックオフアルゴリズムを用いて決められたタイミングである時刻T112において(例えば所定の待機時間121だけ待機した後)、データ送信予約ビーコン122を送信する。端末Dは、存在通知ビーコン送信後、所定期間データ送信予約ビーコンを受け付ける。例えば、時間の長さの単位を「スロット」とし(つまり1スロット=所定時間とし)、1周期を1000スロットとするとき、端末Dは、スリープ状態からアクティブ状態移行してから15スロットの期間アクティブ状態を保ち、その後スリープ状態に移行する。つまり、端末Dは、この所定期間中に矢印213のように送信されるデータ送信予約ビーコン122を受信する。
【0033】
なお、端末Dは、データ送信予約ビーコンを受け付けると、送信装置がデータ送信予約ビーコンを送信する期間である送信予約期間アクティブ状態を維持し、新たなデータ送信予約ビーコンを受け付ける。端末Dは、その受信したデータ送信予約ビーコンに含まれる、送信端末が送信予約を行う期間である送信予約期間を指定する時刻情報に基づいて送信予約期間を把握し、その送信予約期間の間、1つ目のデータ送信予約ビーコンの送信元以外の送信端末からのデータ送信予約ビーコンを受け付ける。例えば、端末Sと同様に端末Dの通信可能範囲内に存在する送信端末である端末Bは、時刻T131より前の所定の時刻T171よりアクティブ状態にあり、矢印212のように送信される存在通知ビーコン141を受信する。存在通知ビーコン141を受信すると、端末Bは、図4Bに示されるように、端末Dに対してデータ送信予約ビーコンを送信する。端末Dは、送信予約期間中にそのデータ送信予約ビーコンを受信すると、そのデータ送信予約ビーコンが2台目の送信端末(端末B)から供給されたものであるので、所定の条件に基づいて、端末Sまたは端末Bのいずれか一方を、データ送信を優先させる端末(優先送信端末)として選択する。つまり、端末Dは、端末Sおよび端末Bのデータ送信の権利(送信権)の与奪を行う。
【0034】
つまり、受信端末は、パケットの衝突を抑制するために、データの送信を許可する送信端末を1台選択する。その回(ホップ)においては、受信端末により選択された送信端末のみがその受信端末に対してデータを送信することができる。選択されなかった送信端末は、スリープ状態に移行し、その回(ホップ)においてはデータ送信を見送り、次回(次のホップ)以降にデータ送信を再挑戦する(データの再送を行う)。
【0035】
優先送信端末を選択すると、端末Dは、その選択結果(送信権の与奪)を示す送信権通知ビーコンを、データ送信予約ビーコンの送信元である端末Sおよび端末Bに送信する(図4B)。つまり、図5に示されるように、存在通知ビーコン141を受信すると、端末Bは、その送信元である端末Dに対して、パケットの衝突を抑制するためにバックオフアルゴリズムを用いて決められたタイミングである時刻T172において(例えば所定の待機時間181乃至待機時間183だけ待機した後)、データ送信予約ビーコン184を送信する。端末Dは、送信予約期間に矢印214のように送信されるそのデータ送信予約ビーコン184を受信する。データ送信予約ビーコン184を受信すると、端末Dは、パケットの衝突を抑制するためにバックオフアルゴリズムを用いて決められたタイミングである時刻T133において(所定の待機時間142および待機時間143だけ待機した後)、送信権通知ビーコン144を端末Sおよび端末Bに送信する。なお、図5の例においては、端末Sが優先送信端末として選択されている。端末Sは、矢印215のように送信される送信権通知ビーコン144を受信すると、優先送信端末に選択されたので、アクティブ状態のままデータ送信の準備動作に移る。これに対して端末Bは、矢印216のように送信される送信権通知ビーコン144を受信すると、優先送信端末に選択されなかったので、本来の動作状態切替タイミングを待たずに、所定のタイミングである時刻T173においてスリープ状態に移行し、その回のデータ送信を断念する(データ送信を中止または延期する)。
【0036】
ところで、図4Aを参照して説明したように、受信端末である端末Aも存在通知ビーコンを送信する。図5に示されるように、端末Aは、所定のタイミングである時刻T151において、スリープ状態からアクティブ状態に移行すると、予め決められた所定のタイミングである時刻T152において、存在通知ビーコン161を送信する。このとき、端末Aの通信可能範囲内に存在する送信端末である端末Sは、アクティブ状態にあるので、矢印217のように送信される存在通知ビーコン161を受信する。存在通知ビーコン161を受信すると、端末Sは、その送信元である端末Aに対して、パケットの衝突を抑制するためにバックオフアルゴリズムを用いて決められたタイミングである時刻T113において(所定の待機時間123および待機時間124だけ待機した後)、データ送信予約ビーコン125を送信する。端末Aは、端末Dの場合と同様に、存在通知ビーコン161送信後、所定期間データ送信予約ビーコンを受け付ける。例えば、端末Aは、この所定期間中に矢印218のように送信されるデータ送信予約ビーコン125を受信する。さらに、端末Aは、受信したデータ送信予約ビーコン125に含まれる時刻情報に基づいて送信予約期間を把握し、その送信予約期間の間、データ送信予約ビーコンを受け付ける。なお図5の例の場合、端末Bは、時刻T173よりスリープ状態に移行しているので、存在通知ビーコン161を受信せず、データ送信予約ビーコンを送信しない。つまり端末Aは、端末Sから送信されたデータ送信予約ビーコン218のみ受信するので、送信権通知ビーコンは送信しない。この場合、送信権は端末Sに与えられることになる。
【0037】
送信予約期間が経過すると受信端末である端末Aおよび端末Dは、所定期間(例えば1周期)、他端末から送信される存在通知ビーコンまたはデータ送信予約ビーコンを受け付け、受信した存在通知ビーコンまたはデータ送信予約ビーコンの送信元に対して、スリープ状態への移行を命令するスリープ命令ビーコンを送信する。つまり、端末Aおよび端末Dは、通信可能範囲内に存在する、データ送信を許可した送信端末以外の他の端末を全てスリープ状態に移行させるように制御する。例えば、図4Cに示されるように、端末Cより端末Aに存在通知ビーコンが送信されると、端末Aは、存在通知ビーコンの送信元である端末Cに対してスリープ命令ビーコンを送信し、端末Cをスリープ状態に移行させる。図5に示されるように、端末Cは、間欠通信制御により、所定の期間だけアクティブ状態になり、存在通知ビーコンを送信する処理を繰り返す。例えば、所定のタイミングT191においてスリープ状態からアクティブ状態に移行すると、端末Cは、予め決められた所定のタイミングである時刻T192において存在通知ビーコン201を送信する。ただし、端末Cの通信可能範囲内に存在する端末Aは、受信端末であり、この時点で存在通知ビーコンを受け付けていないので、その存在通知ビーコン201は端末Aに受信されない。所定期間が経過して時刻T193になると、端末Cは、動作状態をアクティブ状態からスリープ状態に移行する。
【0038】
そしてさらに所定期間経過後、予め定められた所定の時刻T194において、端末Cは、スリープ状態からアクティブ状態に移行すると、端末Cは、予め決められた所定のタイミングである時刻T195において、存在通知ビーコン202を送信する。この時点において端末Aは、存在通知ビーコンを受け付けており、矢印219のように送信される存在通知ビーコン202を受信する。存在通知ビーコン202を受信すると、端末Aは、パケットの衝突を抑制するためにバックオフアルゴリズムを用いて決められたタイミングである時刻T153において(所定の待機時間162乃至待機時間164だけ待機した後)、スリープ命令ビーコン165を端末Cに送信する。矢印220のように送信されるスリープ命令ビーコン165を受信すると、端末Cは、所定の時刻T196において、その制御命令に従って動作状態をアクティブ状態からスリープ状態に移行する。以上のような制御により、優先送信端末とされた端末Sから2ホップ以内の端末の内、データの送信先となる受信端末である端末Aおよび端末D以外の端末101、つまり端末Bおよび端末Cは全てスリープ状態に移行する。
【0039】
この状態において、図4Dに示されるように、端末Sは、端末Aおよび端末Dに対して保持していた伝送データを送信する。例えば、図5に示されるように、端末Sは、所定の時刻T115(例えば時刻T114より1周期経過後)においてスリープ状態からアクティブ状態に移行すると、所定の時刻T116において、伝送データ126の送信を開始する。そして時刻T117において伝送データ126の送信が終了すると、アクティブ状態からスリープ状態に移行する。端末Dは、矢印221のように端末Sより供給される伝送データ126を受信し、伝送データ145として保持する。時刻T134においてデータが受信されなくなると、端末Dは、アクティブ状態からスリープ状態に移行する。同様に、端末Aは、矢印222のように端末Sより供給される伝送データ126を受信し、伝送データ166として保持する。時刻T154においてデータが受信されなくなると、端末Aは、アクティブ状態からスリープ状態に移行する。
【0040】
以上のように制御することにより、受信端末が受信するデータを送信する端末が1台に限定されるので、受信端末は、データ伝送におけるパケットの衝突を回避することができる。特に、送信端末同士が互いの存在を認識不可能な状態であることにより発生する(所謂、隠れ端末問題による)パケットの衝突も回避することができる。したがって、以上の制御は、パケットの衝突(隠れ端末問題によるパケットの衝突も含む)が発生する可能性が高い省電力間欠通信制御や、フラッディングを行うネットワークに適用する場合に、特に有効である(パケットの衝突の発生の確率が高いネットワークであっても十分に抑制することができる)。
【0041】
なお、各端末101は、伝送データ以外のデータ(各種ビーコン等)についても、上述したようにバックオフアルゴリズムにより送信タイミングを例えばランダムに決定し、一定にならないようにすることができるので、複数の端末101において送信タイミングが一致することを抑制することができる(偶然一致する確率を低減させることができる)。つまり、各種データの伝送におけるパケットの衝突を十分に抑制することができる。なお、上述したように、存在通知ビーコンについては、バックオフアルゴリズムを用いたタイミング調整を行わない。これは、ネットワーク100においては各端末101を非同期で動作させており、端末101間の処理の実行タイミングが一致する可能性が十分に低いからである。存在通知ビーコンの送信タイミングは端末101毎に独立しているので、端末101間で動作タイミングが一致しない限り存在通知ビーコンの衝突は発生しない。つまり、存在通知ビーコンの衝突の発生は、各端末を非同期で動作させることにより十分に抑制させることができる。これに対して、その他のビーコンは、複数の他の端末101に一斉に送信されたり、他のビーコンの応答として送信されたりするため、他の端末101と送信タイミングが一致する可能性が高くなる。つまり衝突が発生する可能性が高くなる。そこで、これらのビーコンについては、バックオフアルゴリズムを用いた送信タイミングの調整により衝突の発生が抑制される。なお、存在通知ビーコンもバックオフアルゴリズムを用いて送信タイミング調整するようにしてもよいが、その分消費電力が増大するので、パケットの衝突の発生が十分に抑制されている限り、送信タイミングの調整は行わない方が望ましい。
【0042】
次の回(ホップ)において、端末Sは、伝送データを保持していないので、受信端末として動作する。端末Aおよび端末Dは、伝送データを保持しているので、送信端末として動作する。端末Bは、伝送データを送信していないので送信端末として動作する。端末Cは、伝送データを保持していないので受信端末として動作する。例えば、端末Sは、所定のタイミングT118においてスリープ状態からアクティブ状態に移行すると、予め決められた所定のタイミングである時刻T119において、存在通知ビーコン127を送信する。その存在通知ビーコン127が送信端末に受信されず、所定期間が経過して時刻T120になると、端末Sは、動作状態をアクティブ状態からスリープ状態に移行する。
【0043】
以上に説明した処理実行のタイミング、データ伝送の方向、送信権の与奪結果等は一例であり、上述した以外の場合も考えられる。少なくとも、受信端末がデータを送信する送信端末を1台に限定し、通信可能範囲内に存在するその送信端末と、限定した1台の送信端末より送信されるデータを受信する他の受信端末以外の端末101を全てスリープ状態にして伝送データの受信を行うように制御されればよい。
【0044】
次に、このようなデータ伝送制御を行う端末101の構成について説明する。図6は、端末101の主な構成例を示すブロック図である。図6において、端末101は、制御部301、通信部302、およびセンサ部303を有する。制御部301は、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)等により構成され、通信部302やセンサ部303を制御し、端末101の各種動作を実現する。また、制御部301は、例えば通信部302を介して他の端末101に制御命令を送信することにより、他の端末101の動作や状態を制御する。さらに、制御部301は、伝送データを保持する。
【0045】
通信部302は、制御部301に制御され、通信可能範囲内に存在する他の端末101と所定の無線通信を行い、データの送受信を行う。通信部302は、データの送信を行う送信部311と、データの受信を行う受信部312を有している。なお、実際には、通信部302は、通信アンテナ等も有するが説明の簡略化のため図示は省略する。なお、通信部302は、必要に応じて、符号化・復号処理、変調・復調処理、または、暗号化・復号処理等の各種処理を行うようにしてもよい。また、これらの処理を制御部301において行うようにしてもよい。さらに、通信部302に送受信されるデータを保持する記憶部を設けるようにしてもよい。それ以外の構成を含めるようにしてももちろんよい。通信部302は、端末101がアクティブの状態において、電源が供給され、制御部301に制御されて他の端末101との無線通信を行う。端末101がスリープ状態になると、通信部302は、制御部301に制御されて動作が停止され、電源の供給が停止される(または必要最小限の供給に制限される)。
【0046】
センサ部303は、制御部301に制御され、例えば、温度、位置、力、時間、速度、加速度、回転数、距離、光、音、または磁気等、所定の物理量を測定し、その測定結果を電気信号(センサデータ)に変換し、そのセンサデータを制御部301に供給する測定器である。センサ部303は、どのような物理量を測定するものであってもよく、また、何種類の物理量を測定するものであってもよい。取得されたセンサデータは制御部301において保持されるようにしてもよいし、センサ部303内に記憶部を設け、その記憶部において保持されるようにしてもよい。また、センサ部303がセンサ以外の構成を有するようにしてももちろんよい。センサ部303は、端末101がアクティブの状態において、電源が供給され、制御部301に制御されて物理量の測定(センサデータの取得)を行う。端末101がスリープ状態になると、センサ部303は、制御部301に制御されて動作が停止され、電源の供給が停止される(または必要最小限の供給に制限される)。
【0047】
なお、詳細については後述するが、端末101は少なくとも通信機能とその制御機能(すなわち、制御部301および通信部302)を備えていればよく、センサ部303は、省略するようにしてもよい。また、端末101は、伝送データを受信することができればよい。つまり、端末101は、受信端末として動作することができればよい。例えば、他の端末よりセンサデータを収集する制御端末の場合、そのセンサデータ(伝送データ)を送信する機能が不要であることも考えられる。ただし、このような場合も、例えば送信権通知ビーコンやスリープ命令ビーコン等の制御情報を送信する必要があるので、受信機能(受信部312)だけでなく送信機能(送信部311)も必要である。
【0048】
図7は、制御部301が有する機能ブロックの構成例を示す図である。制御部301は、例えばCPUがROMに記憶されたプログラム、またはRAMにロードされたプログラムを実行することにより、図7に示される各種機能ブロックを実現する。なお、制御部301が、図7に示される各種機能ブロックの一部または全部をハードウェアにより実現するようにしてももちろんよい。
【0049】
図7に示されるように、制御部301は、送信予約受信部401、制御情報受信部402、制御情報送信部403、および伝送データ受信部404を有する。送信予約受信部401は、通信部302の受信部312を制御して、他の端末101より送信されるデータ送信予約ビーコンを受信する処理を行う。制御情報受信部402は、送信予約受信部401がデータ送信予約ビーコンを受信した後、そのデータ送信予約ビーコンにより指定される送信予約期間、または、その送信予約期間が終了してからデータ送信予定時刻になるまでの期間に、通信部302の受信部312を制御して、他の端末101より送信されるデータ送信予約ビーコンや存在通知ビーコン等の制御情報を受信する処理を行う。制御情報受信部402は、送信予約受信部431および存在通知受信部432を有する。送信予約受信部431は、送信予約期間、または、送信予約期間が終了してからデータ送信予定時刻になるまでの期間に、通信部302の受信部312を制御し、他の端末101より送信されるデータ送信予約ビーコンを受信する処理を行う。存在通知受信部432は、送信予約期間が終了してからデータ送信予定時刻になるまでの期間に、通信部302の受信部312を制御し、他の端末101より送信される存在通知ビーコンを受信する処理を行う。
【0050】
制御情報送信部403は、通信部302の送信部311を制御して、送信権通知ビーコンやスリープ命令ビーコン等の制御情報を送信する処理を行う。制御情報送信部403は、送信権設定部441、送信権送信部442、およびスリープ命令送信部443を有する。送信権設定部441は、制御情報受信部402の送信予約受信部431が、送信予約期間において、新たにデータ送信予約ビーコンを受信すると、すなわち、複数の送信端末よりデータ送信予約ビーコンを受信すると、所定の条件に基づいて、現在データ送信の優先権である送信権を与えている送信端末(優先送信端末)と、新たに受信されたデータ送信予約ビーコンの送信元の送信端末の、いずれか一方に対して改めて送信権を付与する。例えば、送信権設定部441は、受信したデータ送信予約ビーコンに含まれる送信権付与の履歴に基づいて、過去に送信権を奪われた回数(または、送信権が付与されなかった回数)が最大の送信端末に送信権を付与する。この場合、送信権設定部441は、送信権付与の実績を各端末101間で均一化するように、送信権の設定を行うことが出来る。
【0051】
なお、この送信権付与の設定の根拠とする条件はどのようなものであってもよい。例えば、最初にデータ送信予約ビーコンを送信した送信端末や、最後にデータ送信予約ビーコンを送信した送信端末に送信権を付与するようにしてもよい。この場合、送信権設定部441は、各端末101の処理実行タイミング(各端末101間の処理実行順序や、バックオフの設定等)、すなわち、ネットワーク100の動作の特徴を送信権付与に反映させることができる。例えば端末IDのような識別情報を用いて各送信端末の優先度を判定し、その優先度が最も高い送信端末に送信権を付与するようにしてもよい。この場合、送信権設定部441は、各端末101の重要度、すなわち、ネットワーク100の構成の特徴を送信権付与に反映させることができる。
【0052】
もちろん、これら以外の方法を適用するようにしても良い。例えば、送信権設定部441は、過去の履歴に基づいて最近または最も昔に送信権を付与された端末に送信権を付与するようにしてもよい。また、送信権設定部441は、上述した各種方法、または上述した以外の方法を複数組み合わせて適用するようにしてもよい。例えば、送信権を奪われた回数が最大の送信端末が複数存在する場合、送信権設定部441が、それらの端末の優先度に基づいて送信権を付与するようにしてもよい。
【0053】
送信権送信部442は、通信部302の送信部311を制御し、送信権設定部441による送信権付与の設定を通知する送信権通知ビーコンを送信端末に送信する。このとき、送信権通知ビーコンには、どの端末に送信権が付与されたかを示す情報が含まれており、送信権送信部442は、その送信権通知ビーコンを、現在優先送信端末に設定されている送信端末と、新たに受信されたデータ送信予約ビーコンの送信元の送信端末に送信する。なお、送信権送信部442が、どの端末に送信権が付与されたかを示す情報を含む送信権通知ビーコンを、通信可能範囲内の全ての送信端末に対して送信するようにしてもよいし、上述したように、現在優先送信端末に設定されている送信端末と、新たに受信されたデータ送信予約ビーコンの送信元の送信端末のみに送信するようにしてもよいし、送信権を付与する端末101に対してのみ送信するようにしてもよい。さらに、送信権通知ビーコンが送信権を奪うことを示す情報を含むものとし、優先送信端末の設定が変化する場合のみ、送信権送信部442が、その送信権通知ビーコンを、現在優先送信端末に設定されている送信端末に対して送信するようにしてもよい。つまり、送信権通知ビーコンは、その送信権通知ビーコンを受信した送信端末が、自分自身が優先送信端末に設定されるか否かを判定する事ができるものであればどのような制御情報であってもよい。送信権送信部442は、タイミング設定部461を有する。タイミング設定部461は、バックオフアルゴリズムを用いて送信権通知ビーコンの送信タイミングを設定する。例えば、タイミング設定部461は、送信権通知ビーコンの送信タイミングの遅延時間を任意の方法でランダムに設定する。このように送信タイミングを制御することにより、送信権送信部442は、端末101間でビーコンの送信タイミングが一致してしまうことを抑制することができる。スリープ命令送信部443は、送信予約期間が終了してからデータ送信予定時刻になるまでの期間に、制御情報受信部402の送信予約受信部431がデータ送信予約ビーコンを受信した場合、または、制御情報受信部402の存在通知受信部432が存在通知ビーコンを受信した場合、通信部302の送信部311を制御して、それらのビーコンの送信元の端末101にスリープ命令ビーコンを送信する。このスリープ命令ビーコンを受信した端末101は、スリープ状態に移行する。スリープ命令送信部443は、タイミング設定部471を有する。タイミング設定部471は、バックオフアルゴリズムを用いてスリープ命令ビーコンの送信タイミングを設定する。例えば、タイミング設定部471は、スリープ命令ビーコンの送信タイミングの遅延時間を任意の方法でランダムに設定する。このように送信タイミングを制御することにより、スリープ命令送信部443は、端末101間でビーコンの送信タイミングが一致してしまうことを抑制することができる。
【0054】
伝送データ受信部404は、通信部302の受信部312を制御して、送信権設定部441により送信権が付与された送信端末より送信される伝送データを受信する処理を行う。つまり、送信予約受信部401がデータ送信予約ビーコンを受信すると、制御情報受信部402は、所定期間データ送信予約ビーコンや存在通知ビーコンを受け付ける。それらの制御情報が受信されると、制御情報送信部403は、送信権を設定し、送信権通知ビーコンやスリープ命令ビーコンを他の端末101に送信し、伝送データを送信する端末を1台の送信端末に限定する。伝送データ受信部404は、その優先送信端末より送信される伝送データを受信する。このように制御することにより、端末101は、伝送データを送信する端末を1台に限定し、他の端末101をスリープさせることにより、データ伝送によるパケットの衝突の発生を抑制することができる。特に、隠れ端末問題によるパケットの衝突の発生も抑制することができる。また、送信権送信部442やスリープ命令送信部443は、バックオフアルゴリズムによりビーコンの送信タイミングを例えばランダムに調整することができるので、送信権通知ビーコンやスリープ命令ビーコン等の送信によるパケットの衝突の発生を抑制することができる。なお、上述したように、端末101が、センサデータ等の伝送データを送信しない場合(受信端末としてのみ動作する場合)も考えられる。そのような場合、制御部301は、伝送データを送信する制御(機能ブロック)を省略することができる。
【0055】
また、制御部301は、上述した以外の構成をさらに有するようにしてもよい。例えば、図7に示されるように、制御部301が、存在通知送信部411を有するようにしてもよい。存在通知送信部411は、端末101の動作状態がアクティブ状態になると、通信部302の送信部311を制御して、例えば予め定められた所定のタイミングで存在通知ビーコンを送信する。このように送信された存在通知ビーコンを受信することにより他の端末101は、存在通知ビーコンの送信元の端末101の存在を把握することができる。
【0056】
また、例えば、図7に示されるように、制御部301が、スリープ命令受信部412およびスリープ制御部413を有するようにしてもよい。スリープ命令受信部412は、通信部302の受信部312を制御して、他の端末101より送信されたスリープ命令ビーコンを受信する。スリープ制御部413は、スリープ命令受信部412の処理により、他の端末から送信されたスリープ命令ビーコンが受信されると、そのスリープ命令ビーコンの制御に従って、所定のタイミングで端末101の動作状態をスリープ状態に移行させる。このようにスリープ制御部413は、他の端末101の制御に基づいてこの端末101の動作状態をスリープ状態に移行させることができる。これにより端末101は、他の端末101におけるパケットの衝突の発生を抑制することができる。
【0057】
さらに、例えば、図7に示されるように、制御部301が、ステータス切替部414を有するようにしてもよい。ステータス切替部414は、所定のタイミングで、端末101の動作状態をアクティブ状態からスリープ状態に切り替えたり、スリープ状態からアクティブ状態に切り替えたりする。このように動作状態を制御することにより、端末101は、所謂間欠通信を行うことができ、消費電力を低減させることができる。つまり、端末101の動作可能期間をより長期化する事ができる。また、例えば、図7に示されるように、制御部301が、ステータス切替部414が動作状態を切り替える次のタイミングを設定する切替タイミング設定部415を有するようにしてもよい。このように動作状態の切替タイミングを制御することにより、ステータス切替部414が任意のタイミングで動作状態を切り替えるようにすることができる。つまり、端末101の動作や仕様等に応じて、消費電力の低減をより適切に行うようにすることができる。これにより、端末101の動作可能時間のさらなる長期化を図ることができる。
【0058】
なお、切替タイミング設定部415は、どのような方法で動作状態の次の切替タイミングを設定するようにしてもよい。例えば、切替タイミング設定部415は、ステータス切替部414が次に動作状態を切り替えるタイミングを、予め設定されたタイミング(所定時間経過後)に切替タイミングを設定するようにしてもよい。この切替タイミング(次の切替タイミングまでの時間)は、例えば、動作状態の切替方向(アクティブからスリープに移行するのか、スリープからアクティブに移行するのか)や、間欠通信制御のどの部分で行われる切替処理であるかによってそれぞれ独立して設定されるようにしてもよい。また、例えば、切替タイミング設定部415が、何らかの外部情報に基づいて適切な切替タイミングを適宜求めるようにしてもよい。
【0059】
さらに、例えば、図7に示されるように、制御部301が、確認部416を有するようにしてもよい。確認部416は、例えば通信部302やセンサ部303を制御する等して、端末101がスリープ状態にあるときに、他の端末101に送信すべきデータ(伝送データ)を取得したか否かを確認する。例えば、送信端末および受信端末の両方として動作可能な端末101は、アクティブ状態にあるとき、伝送データを保持していれば送信端末として動作し、伝送データを保持していなければ受信端末として動作する。そのために、確認部416は、端末101がスリープ状態にあるときに伝送データの有無を確認する。伝送データは、例えば、他の端末101より供給されたり、センサ部303において取得されたりする。確認部416により、そのような伝送データが取得された(保持されている)と判定された場合、ステータス切替部414が動作状態をアクティブ状態に切り替えたとき、制御部301は、端末101が送信端末として動作するように制御する。逆に、確認部416により、伝送データが取得されていない(保持されていない)と判定された場合、ステータス切替部414が動作状態をアクティブ状態に切り替えたとき、制御部301は、端末101が受信端末として動作するように制御する。このように、確認部416が伝送データの有無を確認することにより、制御部301は、適切な制御を行うことができ、伝送データが存在しない場合に、端末101を受信端末として動作させ、パケットの衝突の発生を抑制するように間欠通信制御を行うことができる。
【0060】
また、例えば、図7に示されるように、制御部301が、存在通知受信部417、送信予約送信部418、送信権受信部419、履歴管理部420、および伝送データ送信部421を有するようにしてもよい。存在通知受信部417は、端末101がアクティブ状態のとき、通信部302の受信部312を制御し、他の端末101(受信端末)より送信される存在通知ビーコンを受け付ける。送信予約送信部418は、通信部302の送信部311を制御し、存在通知受信部417の制御により受信された存在通知ビーコンの送信元に対してデータ送信予約ビーコンを送信する。このようにすることにより、端末101は、通信可能範囲内に存在するアクティブ状態の受信端末の存在を把握し、その受信端末に対して伝送データ送信の予約を行うことができる。なお、このとき、送信予約送信部418は、送信予約時間を指定する時刻情報をデータ送信予約ビーコンに含める。また、送信予約送信部418は、履歴管理部420において管理される、送信権が付与されなかった回数を示す情報をデータ送信予約ビーコンに含める。さらに、送信予約送信部418は、例えば、タイミング設定部491を有する。タイミング設定部491は、バックオフアルゴリズムを用いてデータ送信予約ビーコンの送信タイミングを設定する。例えば、タイミング設定部491は、データ送信予約ビーコンの送信タイミングの遅延時間を任意の方法でランダムに設定する。このように送信タイミングを制御することにより、送信予約送信部418は、端末101間でビーコンの送信タイミングが一致してしまうことを抑制することができる。
【0061】
送信権受信部419は、通信部302の受信部312を制御し、例えば所定期間、他の端末101(受信端末)より送信される送信権通知ビーコンを受け付ける。送信権通知ビーコンは送信権の与奪を示す制御情報である。送信権受信部419の制御により、他の端末101に送信権を付与する(この端末101から送信権を奪う)送信権通知ビーコンが受信されると、スリープ制御部413は、この端末101の動作状態をアクティブ状態からスリープ状態に移行させる。このように制御することにより、送信権が与えられていない送信端末がスリープ状態に移行される(この回(ホップ)において伝送データの送信を行わなくなる)ので、制御部301は、パケットの衝突の発生を抑制することができる。履歴管理部420は、送信権受信部419が受信した送信権通知ビーコンの内容に基づいて、送信権が付与されなかった回数(伝送データの送信を見送った回数(ホップ数))を履歴情報として管理する。なお、この送信権が付与されなかった回数(伝送データの送信を見送った回数(ホップ数))は、直近の連続回数のみを示すようにしてもよいし、過去の全ての回数の累算値を示すようにしてもよい。つまり、送信権が付与され、伝送データ送信が行われたときに、この値を初期値(例えば「0」)にリセットするようにしてもよいし、リセットせずに現在の値をそのまま保持するようにしてもよい。なお、このことは上述した説明および後述する説明の全てに適用することができる。伝送データ送信部421は、この端末101に送信権が付与された場合、通信部302の送信部311を制御し、保持している伝送データを、通信可能範囲内のアクティブ状態の受信端末に送信する。
【0062】
以上のように存在通知受信部417乃至伝送データ送信部421の構成を有することにより、制御部301は、端末101を送信端末として動作させることができる。このとき、制御部301は、上述したように、パケットの衝突の発生を抑制するように動作させることができる。さらに、例えば、図7に示されるように、制御部301が、センサデータ取得部422を有するようにしてもよい。センサデータ取得部422は、センサ部303を制御し、所定の物理量を計測させ、そのデータ(センサデータ)を取得し、伝送データとして保持する。このようにすることにより、制御部301は、センサ部303において取得されるセンサデータを伝送データとして他の端末101に送信することができる。
【0063】
次に、以上のような機能ブロックを有する制御部301により実行される通信処理の流れの例を、図8乃至図10のフローチャートを参照して説明する。制御部301は、端末101を、動作状態を切り替える間欠通信制御を行いながら、送信端末または受信端末として動作させるために、通信処理を、通常モード、送信モード、および衝突回避モードの3つの動作モードに分けて行う。通常モードは、主に、スリープ状態、および、アクティブ状態の受信端末の、データ送信予約ビーコンを受信するまでの処理を実行するための動作モードである。送信モードは、主に、アクティブ状態の送信端末の処理実行するための動作モードである。衝突回避モードは、主に、アクティブ状態の受信端末の、データ送信予約ビーコンを受信した後の処理を実行するための動作モードである。
【0064】
図8のフローチャートは通常モードの処理の流れの例を示し、図9のフローチャートは送信モードの処理の流れの例を示し、図10のフローチャートは衝突回避モードの処理の流れの例を示す。通信処理が開始されると、制御部301は、最初に通常モードで処理を行う。図8のステップS101において、ステータス切替部414は、動作状態切替時刻になったか否かを判定し、動作状態切替時刻になるまで待機する。動作切替時刻になったと判定した場合、ステータス切替部414は、処理をステップS102に進め、動作状態を切り替える。ステップS103において、切替タイミング設定部415は、次の切替時刻を設定する。ステップS104において、制御部301は、現在の動作状態がアクティブであるか否かを判定し、アクティブであると判定した場合、処理をステップS105に進め、アクティブ状態の受信端末としての処理(データ送信予約ビーコンを受信するまでの処理)を行う。例えば、図5の端末Cの場合、通信処理が開始され、時刻T194においてスリープ状態からアクティブ状態に移行され、受信端末としての動作が開始される。ステップS105において、存在通知送信部411は、存在通知ビーコンの送信時刻を設定する。ステップS106において、送信予約受信部401は、受信部312においてデータ送信予約ビーコンを受信したか否かを判定し、受信したと判定した場合、動作モードを衝突回避モードに移行し、処理を図10のステップS301に進める。衝突回避モードの処理については後述する。
【0065】
ステップS106においてデータ送信予約ビーコンを受信していないと判定した場合、処理はステップS107に進む。ステップS107において、スリープ命令受信部412は、受信部312においてスリープ命令ビーコンを受信したか否かを判定する。スリープ命令ビーコンを受信したと判定された場合、処理はステップS102に戻され、スリープ制御部413により動作状態はスリープ状態に切り替えられ、それ以降の処理が繰り返される。また、ステップS107において、スリープ命令ビーコンを受信していないと判定された場合、処理は、ステップS108に進む。ステップS108において、存在通知送信部411は、存在通知ビーコンの送信時刻か否かを判定し、送信時刻でないと判定した場合、処理をステップS106に戻し、それ以降の処理を繰り返す。また、ステップS108において、存在通知ビーコンの送信時刻(例えば時刻T195)になったと判定された場合、存在通知送信部411は、ステップS109において、送信部311より存在通知ビーコンを送信する(例えば、図5の存在通知ビーコン141や存在通知ビーコン202)。存在通知ビーコンが送信されると、送信予約受信部401は、ステップS110において、受信部312においてデータ送信予約ビーコン(例えば、図5のデータ送信予約ビーコン122)を受信したか否かを判定し、受信したと判定した場合、動作モードを衝突回避モードに移行し、処理を図10のステップS301に進める。衝突回避モードの処理については後述する。ステップS110においてデータ送信予約ビーコンを受信していないと判定した場合、処理がステップS111に進められ、スリープ命令受信部412は、受信部312においてスリープ命令ビーコン(例えば、図5のスリープ命令ビーコン165)を受信したか否かを判定する。スリープ命令ビーコンを受信したと判定された場合、処理はステップS102に戻され、スリープ制御部413により動作状態がスリープ状態に切り替えられ(例えば、図5の時刻T196)、それ以降の処理が繰り返される。
【0066】
また、ステップS111において、スリープ命令ビーコンを受信していないと判定された場合、処理は、ステップS112に進む。ステップS112において、ステータス切替部414は、動作状態切替時刻か否かを判定し、切替時刻でないと判定した場合、処理をステップS110に戻し、それ以降の処理を繰り返す。ステップS112において動作切替時刻であると判定された場合、処理は、ステップS102に戻され、動作状態がスリープ状態に切り替えられ(例えば、図5の時刻T193)、それ以降の処理が繰り返される。つまり、動作状態がアクティブ状態からスリープ状態に切り替えられるまで、データ送信予約ビーコンおよびスリープ命令ビーコンが受け付けられ、データ送信予約ビーコンが受信された場合、動作モードが衝突回避モードに移行し、スリープ命令ビーコンが受信された場合、動作切替時刻を待たずに動作状態がスリープ状態に移行する。また、図8のステップS104において、動作状態がスリープ状態であると判定された場合、処理は、ステップS113に進められる。ステップS113において、スリープ制御部413は、動作切替時刻までスリープ状態のまま待機する。切替時刻になると、確認部416は、ステップS114において、伝送データを取得したか否かを判定し、取得したと判定した場合、動作モードを送信モードに移行し、処理を図9のステップS201に進める。送信モードの処理については後述する。ステップS114において伝送データを取得していないと判定された場合、処理は、ステップS102に戻され、ステータス切替部414により動作状態がアクティブ状態に切り替えられ、受信端末としてそれ以降の処理が繰り返される。
【0067】
次に、送信モードの処理の流れの例について説明する。送信モードに移行すると、図9のステップS201において、ステータス切替部414は、動作状態をスリープ状態からアクティブ状態に切り替える。ステップS202において、存在通知受信部417は、受信部312において存在通知ビーコン(例えば、図5の存在通知ビーコン141)を受信したか否かを判定し、受信したと判定した場合、処理をステップS203に進める。ステップS203において、送信予約送信部418のタイミング設定部491は、データ送信予約ビーコンの送信タイミングを例えばランダムに設定する。ステップS204において、送信予約送信部418は、設定された送信タイミングでデータ送信予約ビーコン(例えば、図5のデータ送信予約ビーコン122)を送信部311より送信する。データ送信予約ビーコンが送信されると、処理はステップS205に進む。また、ステップS202において、存在通知ビーコンを受信していないと判定された場合、処理は、ステップS205に進む。
【0068】
ステップS205において、送信権受信部419は、受信部312において、他端末を優先する送信権通知ビーコン(例えば、図5の送信権通知ビーコン144)を受信したか否かを判定する。他端末を優先する送信権通知ビーコンを受信したと判定された場合、処理はステップS214に進める。図9のステップS205において、他端末を優先する送信権通知ビーコンを受信していないと判定された場合、処理はステップS206に進む。ステップS206において、スリープ命令受信部412は、受信部312においてスリープ命令ビーコンを受信したか否かを判定する。スリープ命令ビーコンを受信したと判定された場合、処理はステップS214に進める。図9のステップS206において、スリープ命令ビーコンを受信していないと判定された場合、処理は、ステップS207に進む。ステップS207において、ステータス切替部414は、所定の時刻であるか否か(所定の期間(例えば1周期)経過したか否か)を判定し、所定の時刻でない(所定の期間経過していない)と判定した場合、処理をステップS202に戻し、それ以降の処理を繰り返させる。また、ステップS207において、所定の時刻である(所定の期間経過した)と判定された場合、処理はステップS208に進む。ステップS208において、存在通知受信部417は、受信部312において存在通知ビーコンを1回以上受信したか否かを判定する。存在通知ビーコンを1回も受信していない、すなわち、アクティブ状態の受信端末が通信可能範囲内に存在しないと判定された場合、処理は、ステップS214に進む。
【0069】
図9のステップS208において、存在通知ビーコンを1回以上受信したと判定された場合(例えば、図5の矢印215)、処理はステップS209に進む。ステップS209において履歴管理部420は、管理している履歴を適宜更新し(例えば値を初期値にリセットしたり、インクリメントせずに保持したりし)、送信権が付与された旨を履歴に反映させる。なお、この場合、伝送データの送信先となる受信端末が存在し、この端末101自身が伝送データの送信を許可された優先送信端末として選択されていることになる。従って、スリープ制御部413は、伝送データの送信の準備のため、ステップS210において動作状態をスリープ状態に移行し(例えば、図5の時刻T114)、ステップS211において1周期の期間スリープ状態のまま待機する。この伝送データ送信されるまでの間に、不要な端末がスリープ状態に移行され、パケットの衝突が発生しないように制御される。1周期経過すると、ステータス切替部414は、ステップS212において動作状態をアクティブ状態に移行する(例えば、図5の時刻T115)。アクティブ状態になると、ステップS213において、伝送データ送信部421は、保持している伝送データ(例えば、図5の伝送データ126)を送信部311より受信端末に送信する。伝送データの送信が終了すると、処理は図8のステップS101に戻され、それ以降の処理が繰り返される。つまり、伝送データの送信が終了すると、動作モードが通常モードに移行され、動作切替時刻において動作状態がスリープ状態に移行する(例えば、図5の時刻T117)。
【0070】
また、図9のステップS214において、履歴更新部420は、管理している履歴を更新し(例えば、値をインクリメントし)、送信権が付与されなかった旨を履歴に反映させる。ステップS214の処理が終了すると、処理は、動作切替時刻を待たずに、図8のステップS102に戻され、スリープ制御部413またはステータス切替部414により動作状態がアクティブ状態からスリープ状態に移行され、それ以降の処理を繰り返させる。つまり、他端末を優先する送信権通知ビーコンが受信された場合(例えば、図5の矢印216)、スリープ命令ビーコンが受信された場合、または、伝送データの送信先を設定することができない場合、動作モードは通常モードに移行され、動作状態はスリープ状態に移行される。
【0071】
次に、衝突回避モードの処理の流れの例について説明する。衝突回避モードに移行すると、図10のステップS301において、送信予約受信部401は、受信部312においてデータ送信予約ビーコン(例えば、図5のデータ送信予約ビーコン184)をさらに受信したか否かを判定する。データ送信予約ビーコンをさらに受信したと判定された場合(例えば、図5の矢印216)、処理はステップS302に進む。ステップS302において、送信権設定部441は送信権(どの送信端末の伝送データ送信を許可するか)の設定を行い、タイミング設定部461は、送信権通知ビーコンの送信タイミングの設定を例えばランダムに行う。ステップS303において、送信権送信部442は、データ送信予約ビーコンの送信元等の送信端末に対して、送信権通知ビーコン(例えば、図5の送信権通知ビーコン144)を、設定された送信タイミングで、送信部311より送信する。送信権通知ビーコンが送信されると、処理はステップS304に進む。また、ステップS301において、データ送信予約ビーコンをさらに受信していないと判定された場合、処理はステップS304に進む。ステップS304において、制御情報送信部403は、送信予約期間が経過したか否かを判定し、経過したと判定されるまで、処理をステップS301に戻し、それ以降の処理を繰り返させる。つまり、送信予約期間の間、ステップS301乃至ステップS304の処理が繰り返し実行される。ステップS304において、送信予約期間が経過したと判定された場合、処理はステップS305に進む。
【0072】
ステップS305において、制御情報受信部402は、受信部312において存在通知ビーコンまたはデータ送信予約ビーコンを受信したか否かを判定する。送信予約受信部431の制御によりデータ送信予約ビーコンが受信された、または、存在通知受信部432の制御により存在通知ビーコン(例えば、図5の存在通知ビーコン202)が受信されたと判定された場合、処理はステップS306に進む。ステップS306において、タイミング設定部471は、スリープ命令ビーコンの送信タイミングを例えばランダムに設定する。ステップS307において、スリープ命令送信部443は、存在通知ビーコンまたはデータ送信予約ビーコンの送信元に対して、スリープ命令ビーコン(例えば、図5のスリープ命令ビーコン165)を、設定された送信タイミングで、送信部311より送信する。スリープ命令ビーコンが送信されると、処理はステップS308に進む。また、ステップS305において、存在通知ビーコンもデータ送信予約ビーコンも受信していないと判定された場合、処理はステップS308に進む。
【0073】
ステップS308において、伝送データ受信部404は、データ送信予定時刻になったか否かを判定し、データ送信予定時刻になっていない(まだ伝送データは他の端末101より送信されない)と判定した場合、処理をステップS305に戻し、それ以降の処理を繰り返させる。つまり、制御部301は、送信予約期間が終了してからデータ送信予定時刻になるまでの期間、ステップS305乃至ステップS308の処理を繰り返し実行し、検出した、優先送信端末でない他の端末101の動作状態をスリープ状態に移行させる。そして、ステップS308において、データ送信予定時刻になったと判定された場合、処理はステップS309に進む。ステップS309において、伝送データ受信部404は、他の端末101より送信される伝送データ(例えば、図5の伝送データ145)を受信部312において受信する。伝送データの受信が終了すると、処理は図8のステップS101に戻され、それ以降の処理が繰り返される。つまり、伝送データの受信が終了すると、動作モードが通常モードに移行され、動作切替時刻において動作状態がスリープ状態に移行する(例えば、図5の時刻T134)。
【0074】
以上のように、通常モード及び送信モードの他に衝突回避モードを設け、受信端末が、伝送データを送信する送信端末を選択し、それ以外の端末101をスリープ状態に移行させるようにしたので、制御部301は、パケットの衝突の発生を十分に抑制するように制御することができる。特に、パケットの衝突の発生の確率が高い、省電力間欠通信制御やフラッディングを行うネットワークに適用する場合に有効である。
【0075】
以上に説明した、本発明の衝突回避(抑制)手法の性能を評価するシミュレーション結果を図11に示す。図11Aは、64台の端末を格子状に配置し、各端末の通信可能範囲を縦横の隣接端末(最大4台)とする、格子状のメッシュネットワークにおいて、1つの隅からデータパケットをフラッディングした場合の、パケットの各端末への到達率を示す。このネットワークにおいて、端末の動作周期の長さを1周期=1000スロット(スロット:端末が管理する時間の単位)とし、通常モードにおける1周期あたりのアクティブ期間を15スロットとした。クロックドリフトは考慮せず、端末間で1スロットの長さは等しいものとする。各制御ビーコンの送受信に要する時間を1スロットとした。データパケットはサイズの小さいものを想定し、その送受信に要する時間も同じく1スロットとした。各端末は初期状態では動作を停止しているものとし、1周期以内に全ての端末がそれぞれ固有のランダムなタイミングで起動する。なお、起動タイミングを設定するための時間の刻みはスロットより細かく、それゆえ端末間でスロットのタイミングは基本的に揃っていない。2周期目になると、データを所持するフラッディング開始点の端末が送信モードとなり、フラッディングが開始される。データパケットは1試行につき1回のみ生成されるものとし、再送回数の上限を2回とした。また、存在通知ビーコン同士の衝突は、十分に発生確率が低いものとみなし、ここでは無視している。
【0076】
このような試行では、データパケットが送信端末から通信可能範囲内においてアクティブ状態の全ての受信端末へ向けて一度に送信される。データを受信した端末群は、次の回(ホップ)において、今度は送信端末として動作し、同様にデータの送信を試みる。よって、従来の手法では、端末間での送信競合(パケットの衝突)が頻繁に起こるため、データパケットの送受信が失敗しやすい。特に、図11Aに示されるような格子状のメッシュネットワークにおいては、フラッディングを開始した点を含む対角線付近の端末において、データパケットの衝突による通信の失敗が発生する可能性が非常に高くなることが予想される。これに対して、上述した本発明を適用した手法の場合、フラッディングの成功率は、ネットワークの内部であっても外郭とほぼ同様の減少傾向が見られ、かつその値は最低でも93%となっている。これは、本発明を適用した手法が、従来対策のなかった端末間の送信競合をうまく回避し、ある程度高い確率でフラッディングを成功させていることを意味する。
【0077】
図11Bは、データパケットのサイズ(パケット長)を変えながら、1次元のネットワークでもシミュレーションを行った結果を示すものである。図11Bにおいて、点線は理論値を示し、実線は実際のシミュレーション結果を示す。端末101の密度が高くないネットワークでも、従来の方法では大きいサイズのデータパケットを一度に通信することが、衝突の可能性から困難となる。 従来の方法では一度のデータパケットの通信は短いものを前提としており、データパケットを分割して送信することが想定されるが、この場合特に受信端末が多いほど通信時間と電力を要する。これに対して、本発明を適用した手法は、図11Bに示されるように、通信に1000スロットもの時間がかかるようなサイズのデータパケットを一度に送受信する場合であっても、20ホップ先でも90%以上の確率で成功させることができる。
【0078】
次に、以上に説明した本発明を適用した手法の具体的な適用例について説明する。ここでは、センサネットワークにおけるデータ収集システムに適用する場合について説明する。図12は、本発明を適用したセンサネットワークの小規模な例を示すものであり、各丸は、端末を示す。データ収集の過程は、端末aを最上位としそこから下流の端末(c,d)へ向かう順方向過程(第1の工程)と、上流へ向かう逆方向過程(第2の工程)の2つに分けられる。順方向過程では、データ収集のために必要な情報をネットワーク全体へ伝達し、逆方向過程ではセンサデータをデータ収集端末aに収集する。なお、各端末は、これらの順方向および逆方向の通信を、間欠通信制御(省電力間欠通信制御)を用いたフラッディング方式により行い、さらに、衝突の発生を抑制するために、上述したような通信制御が行われる。
【0079】
[順方向送信]
まず、センサデータを収集する制御端末a(ルート)がネットワーク内の全センサ端末に、センサデータを要求するリクエストパケットをフラッディングさせる。リクエストパケットを受信した各センサ端末はセンサ部を用いてセンサデータの収集を行う。リクエストパケットのパケットに時刻データを載せることにより、センシングのためのある程度の時刻同期(ローカル時刻の共有)が可能となる。なお、この時刻同期とは、時刻情報の共有を意味し、端末間で処理実行タイミングを揃えることを意味するものではない。リクエストパケットには送信元であるルート端末aのIDと、パケットがそれまでに通過した経路の「履歴」が含まれている。リクエストパケットを受信した端末は、それまでの経路の履歴と次のリクエストパケットの送信先端末IDを自身のメモリに記憶する。この送信先端末のIDは存在通知ビーコンにより知ることができる。また、リクエストパケットを送信する際は、送信するリクエストパケットに自分の端末IDを追加することで経路の履歴を更新する。ネットワークの末端に存在する端末は、自身より下流の端末がなく、かつ自身に記録された履歴の変更が一定時間行われなかった際に自身を「末端」と判断する。
【0080】
[逆方向送信]
自分自身が末端であると判断した端末はリクエストパケットに含まれる履歴を辿り、逆方向の1ホップ離れた端末(上位の端末)にデータ送信を行う。自分の周囲に存在する全ての末端の端末からの受信が終了した端末は一定時間を経て自分を末端と認定し、上位の端末に対してデータパケットの送信を行う。以後、データ収集端末aに辿り着くまでデータパケットの送信を繰り返す。データパケットの送信を終えた端末は、リクエストパケットに含まれている指定時刻まで、スリープ状態となる。なお、以上の2つの過程の間には十分な時間が空けられるものとし、その間各端末は間欠動作を休止し完全にスリープし、休眠状態となる。逆方向過程を開始する時刻は順方向過程で伝達される。なお、この休眠状態の期間は任意である。例えば、リクエストパケットが送信されるまでの十分な期間としてもよいし、所定の時刻にセンサデータの取得を行うようにこの期間を設定するようにしてもよい。また、各端末が、任意のタイミングでセンサデータを送信することができるようにしても良い。各端末のクロックは発振器の誤差により一致しておらず、その長い時間間隔の間に端末間の時刻情報に大きくずれが生じ、収集開始タイミングがずれてしまう事態が予想される。このずれはある程度見積もりが可能であるので、収集を行う期間にはずれを補う適当なマージンを持たせることが必要となる。
【0081】
[端末の故障・リンク切断への対応]
端末の故障、通信環境の変化などに起因するリンクの切断は、フラッディングの際に各端末に記録される履歴から判断することができる。この対応方法を、図12を用いて具体的に説明する。a、b、c、dはそれぞれ端末のIDとする。上記の配置におけるリクエストパケットのフラッディングを想定した場合、通常の動作ではメッセージはまず、図12Aに示されるように、a→bに送信され、次にb→cおよびb→dに送信される。その際、端末cの履歴には(a,b,c)が記録され、端末dの履歴には(a,b,d)が記録され、端末bの履歴には(a,b,c)および(a,b,d)が記録される。ここで、何らかの原因により図12Bのようにb~d間のリンクが消失した場合を仮定する。破線部が消失したリンクを意味する。この場合、リクエストパケットは図12Aの場合とは別の経路である端末cを経由して端末dに届く形となり、端末dの履歴には(a,b,c,d)が記録される。bとdが履歴内で連続していないことから、端末dはb→d間のリンクが消失したと判断することができる。そこで末端である端末dのセンシングデータは履歴からd→c→b→aという迂回経路が選択され、その選択された伝送経路で伝達される。また、逆方向送信の過程で端末bもb→d間のリンク消失を認識することができる。以上のように数ホップ分の送信履歴と、ルート端末のIDをデータパケットに載せることにより、(経路が完全に分断されない限り)端末の故障などに伴う伝達経路の消失などにも対応することができる。つまり、より確実なデータ伝送を実現することができる。
【0082】
以上のように、本発明を適用した手法は、不特定多数の相手に対してデータを送信する場合も、特定の相手に対してデータを送信する場合も適用することができる。ただし、フラッディング方式のように、不特定多数の相手に対してデータを送信する場合、上述したようにパケットの衝突の発生する可能性が高いので、本発明を適用することにより、より大きな効果を得ることができる。
【0083】
また、以上においては、各端末101が非同期で処理を行うように説明したが、処理タイミングを揃えるようにしないだけであり、各端末101が時刻情報を共有することは可能である。例えば、センサ部303において取得するセンサデータに、測定を行った時刻の時刻情報も含める場合、その時刻情報は、端末101間で揃えられて要る方が望ましい。また例えば、上述した順方向送信を行う期間や逆方向送信を行う期間は、各送信が正しく行われるように、端末間で一致している方が望ましい。さらに例えば、端末101に間欠通信制御も行わない完全な休眠状態(スリープ状態より消費電力が小さい状態)を設ける場合、正しく通信が行われるように、この休眠状態を保つ休眠期間(換言すれば、間欠通信制御が行われる休眠期間以外の期間)を端末間で一致させる方が望ましい。このような制御を目的として各端末101が時刻情報を共有することができるようにしてもよい。もちろん、各端末101が、上述した通信以外に、その時刻情報の授受を行うことができるようにしてもよい。
【0084】
以上のように、本発明を適用することにより、通信の成功率を向上させることができる。また、高い同期精度や、豊富な計算資源、大容量のバッテリといったものを必要とせずに容易に実現することができる。したがって、例えば、センサネットワークの端末等、厳しく能力を制限された通信デバイスへの実装が可能である。また、本発明を適用した制御は、パケットの衝突の発生の確率が高い省電力間欠通信制御やフラッディングを行うネットワークに特に有効である。
【0085】
センサネットワークの具体例としては、例えば、海洋や山岳等の自然界の気温や湿度等の環境を測定する環境測定システム、農場等において家畜や農作物の状態を監視するシステム、病院内において医療関連の情報を管理するシステム、道路の交通量等を監視する交通監視システム、工場等において製品の状態を監視するシステム、製造機器(ロボット)を制御する制御システム、または、建物内において空調や照明を管理するシステム等が考えられる。もちろん、この他のどのようなシステムであってもよい。
【0086】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図13に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。図13において、パーソナルコンピュータ600のCPU601は、ROM602に記憶されているプログラム、または記憶部613からRAM603にロードされたプログラムに従って各種の処理を実行する。RAM603にはまた、CPU601が各種の処理を実行する上において必要なデータなども適宜記憶される。CPU601、ROM602、およびRAM603は、バス604を介して相互に接続されている。このバス604にはまた、入出力インタフェース610も接続されている。入出力インタフェース610には、キーボード、マウスなどよりなる入力部611、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部612、ハードディスクなどより構成される記憶部613、モデムなどより構成される通信部614が接続されている。通信部614は、インターネットを含むネットワークを介しての通信処理を行う。入出力インタフェース610にはまた、必要に応じてドライブ615が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア621が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部613にインストールされる。
【0087】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。この記録媒体は、例えば、図13に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア621により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM602や、記憶部613に含まれるハードディスクなどで構成される。
【0088】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
【0089】
なお、以上において、1つの装置や処理部として説明した構成を分割し、複数の装置や複数の処理部として構成するようにしてもよい。逆に、以上において複数の装置や処理部として説明した構成をまとめて1つの装置や処理部として構成されるようにしてもよい。また、各装置や各処理部の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置や処理部の構成の一部を他の装置や処理部の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0090】
【図1】情報伝送の様子を示す図である。
【図2】本発明を適用したネットワークの構成例を示す図である。
【図3】図2のネットワークのデータ伝送の様子を示す図である。
【図4】情報伝送の処理の様子を段階的に示す図である。
【図5】データ伝送に関する各処理の実行タイミングを示す図である。
【図6】端末の主な構成例を示すブロック図である。
【図7】制御部が有する機能ブロックの構成例を示す図である。
【図8】通信処理の流れの例を説明するフローチャートである。
【図9】通信処理の流れの例を説明する、図8に続くフローチャートである。
【図10】通信処理の流れの例を説明する、図9に続くフローチャートである。
【図11】シミュレーション結果の例を示す図である。
【図12】本発明を適用したセンサネットワークの小規模な例を示す図である。
【図13】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【0091】
100 ネットワーク, 101 端末, 301 制御部, 302 通信部, 303 センサ部, 311 送信部, 312 受信部, 401 送信予約受信部, 402 制御情報受信部, 403 制御情報送信部, 404 伝送データ受信部, 411 存在通知送信部, 412 スリープ命令受信部, 413 スリープ制御部, 414 ステータス切替部, 415 切替タイミング設定部, 416 確認部, 417 存在通知受信部, 418 送信予約送信部, 419 送信権受信部, 420 履歴管理部, 421 伝送データ送信部, 422 センサデータ取得部, 431 送信予約受信部, 432 存在通知受信部, 441 送信権設定部, 442 送信権送信部, 443 スリープ命令送信部, 461 タイミング設定部, 471 タイミング設定部, 491 タイミング設定部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12