(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-06
(45)【発行日】2023-10-17
(54)【発明の名称】通信装置、通信方法、プログラムおよび通信システム
(51)【国際特許分類】
H04W 72/0446 20230101AFI20231010BHJP
H04W 4/38 20180101ALI20231010BHJP
【FI】
H04W72/0446
H04W4/38
(21)【出願番号】P 2020123957
(22)【出願日】2020-07-20
【審査請求日】2022-08-24
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】金 瑞旭
(72)【発明者】
【氏名】工藤 浩喜
(72)【発明者】
【氏名】田中 康之
【審査官】伊藤 嘉彦
(56)【参考文献】
【文献】特開2015-216581(JP,A)
【文献】特開2018-160744(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04W 4/00 - 99/00
H04B 7/24 - 7/26
(57)【特許請求の範囲】
【請求項1】
通信タイミングを示す番号を同期する
時分割多重方式により通信するサーバ装置から、基準となる前記番号を示す基準番号を受信する受信部と、
前記基準番号に基づいて、
前記基準番号を受信する処理とは異なる予め定められた処理の
処理タイミングであって、前記通信タイミングとは異なる種類の前記処理タイミングを決定する決定部と、
を備え、
前記時分割多重方式は、スーパーフレーム番号により前記番号を管理し、
前記基準番号は、基準となる前記スーパーフレーム番号を示す基準スーパーフレーム番号であり、
前記受信部は、前記基準スーパーフレーム番号と、スーパーフレーム内のタイムスロットのオフセットと、を受信し、
前記決定部は、
前記基準スーパーフレーム番号に前記オフセットを加算した更新番号を算出し、
前記更新番号に基づいて前記処理タイミングを決定する、または、前記更新番号に最も近いタイムスロットを、新たな基準番号に対応するタイムスロットとし、前記新たな基準番号を用いて決定したタイムスロットを前記処理タイミングとして決定する、
通信装置。
【請求項2】
前記決定部は、予め定められた処理間隔の整数倍である値を前記基準番号に加算した値であって、現在時刻に最も近い未来の時刻に相当する値に基づいて前記処理タイミングを決定する、
請求項1に記載の通信装置。
【請求項3】
前記決定部は、受信した前記基準番号に基づいて、次の前記基準番号を受信する前に、次の前記基準番号を推定する、
請求項1に記載の通信装置。
【請求項4】
前記決定部は、決定した前記処理タイミングが推定した前記基準番号より未来の時刻に相当する場合、推定した前記基準番号を前記処理タイミングに決定する、
請求項3に記載の通信装置。
【請求項5】
前記決定部は、前記基準番号に予め定められたオフセットを加算した更新番号を算出し、予め定められた処理間隔の整数倍である1以上の値を前記更新番号に加算した値である1以上の前記処理タイミングを決定する、
請求項1に記載の通信装置。
【請求項6】
通信装置が実行する通信方法であって、
通信タイミングを示す番号を同期する
時分割多重方式により通信するサーバ装置から、基準となる前記番号を示す基準番号を受信する受信ステップと、
前記基準番号に基づいて、
前記基準番号を受信する処理とは異なる予め定められた処理の
処理タイミングであって、前記通信タイミングとは異なる種類の前記処理タイミングを決定する決定ステップと、
を含み、
前記時分割多重方式は、スーパーフレーム番号により前記番号を管理し、
前記基準番号は、基準となる前記スーパーフレーム番号を示す基準スーパーフレーム番号であり、
前記受信ステップは、前記基準スーパーフレーム番号と、スーパーフレーム内のタイムスロットのオフセットと、を受信し、
前記決定ステップは、
前記基準スーパーフレーム番号に前記オフセットを加算した更新番号を算出し、
前記更新番号に基づいて前記処理タイミングを決定する、または、前記更新番号に最も近いタイムスロットを、新たな基準番号に対応するタイムスロットとし、前記新たな基準番号を用いて決定したタイムスロットを前記処理タイミングとして決定する、
通信方法。
【請求項7】
コンピュータに、
通信タイミングを示す番号を同期する
時分割多重方式により通信するサーバ装置から、基準となる前記番号を示す基準番号を受信する受信ステップと、
前記基準番号に基づいて、
前記基準番号を受信する処理とは異なる予め定められた処理の
処理タイミングであって、前記通信タイミングとは異なる種類の前記処理タイミングを決定する決定ステップと、
を実行させ、
前記時分割多重方式は、スーパーフレーム番号により前記番号を管理し、
前記基準番号は、基準となる前記スーパーフレーム番号を示す基準スーパーフレーム番号であり、
前記受信ステップは、前記基準スーパーフレーム番号と、スーパーフレーム内のタイムスロットのオフセットと、を受信し、
前記決定ステップは、
前記基準スーパーフレーム番号に前記オフセットを加算した更新番号を算出し、
前記更新番号に基づいて前記処理タイミングを決定する、または、前記更新番号に最も近いタイムスロットを、新たな基準番号に対応するタイムスロットとし、前記新たな基準番号を用いて決定したタイムスロットを前記処理タイミングとして決定する、
プログラム。
【請求項8】
サーバ装置と、1以上の通信装置と、を備える通信システムであって、
前記サーバ装置は、通信タイミングを示す番号を同期する
時分割多重方式により1以上の前記通信装置と通信し、
1以上の前記通信装置のそれぞれは、
サーバ装置から、基準となる前記番号を示す基準番号を受信する受信部と、
前記基準番号に基づいて、
前記基準番号を受信する処理とは異なる予め定められた処理の
処理タイミングであって、前記通信タイミングとは異なる種類の前記処理タイミングを決定する決定部と、
を備え、
前記時分割多重方式は、スーパーフレーム番号により前記番号を管理し、
前記基準番号は、基準となる前記スーパーフレーム番号を示す基準スーパーフレーム番号であり、
前記受信部は、前記基準スーパーフレーム番号と、スーパーフレーム内のタイムスロットのオフセットと、を受信し、
前記決定部は、
前記基準スーパーフレーム番号に前記オフセットを加算した更新番号を算出し、
前記更新番号に基づいて前記処理タイミングを決定する、または、前記更新番号に最も近いタイムスロットを、新たな基準番号に対応するタイムスロットとし、前記新たな基準番号を用いて決定したタイムスロットを前記処理タイミングとして決定する、
通信システム。
【請求項9】
前記サーバ装置は、1以上の前記通信装置ごとに決定された前記基準番号を送信する、
請求項8に記載の通信システム。
【請求項10】
前記サーバ装置から送信された前記基準番号を、1以上の前記通信装置の少なくとも1つに転送する中継装置をさらに含む、
請求項8に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、通信装置、通信方法、プログラムおよび通信システムに関する。
【背景技術】
【0002】
ネットワーク上の複数の通信装置(ノード)から、各通信装置に接続されるセンサで取得されたセンサデータを収集する通信システムが提案されている。このような通信システムでは、センサデータの取得タイミング(センシングタイミング)を同期させる制御が必要になる場合がある。
【0003】
例えば、GPS(全地球測位システム)の受信機能を各通信装置に持たせる技術、および、IETF RFC5905(NTP:Network Time Protocol)などに基づき絶対時刻を配布する技術により、取得タイミングを制御することが可能である。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】D. Mills et al.、"RFC 5905、Network Time Protocol Version 4: Protocol and Algorithms Specification” [online]、June 2010、retrieved from the Internet: <URL:http://www.ietf.org/rfc/rfc5905.txt>
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来技術では、タイミング制御のための機能が複雑になる問題があった。例えば、GPSを用いる技術では、必ずしもセンサの設置場所でGPSが利用可能とは限らず、消費電力も増加する。絶対時刻を配布する技術では、制御トラフィックが増加するとともに、絶対時刻を管理するための追加のメモリおよび制御が通信装置内に必要になる。
【課題を解決するための手段】
【0007】
実施形態の通信装置は、受信部と、決定部と、を備える。受信部は、通信タイミングを示す番号を同期する通信方式により通信するサーバ装置から、基準となる番号を示す基準番号を受信する。決定部は、基準番号に基づいて、予め定められた処理の処理タイミングを決定する。
【図面の簡単な説明】
【0008】
【
図4】実時間と時分割多重方式のタイムスロットとの関係を示す図。
【
図6】本実施形態におけるデータ取得処理のフローチャート。
【
図7】実時間と時分割多重方式のスロットフレームとの関係を示す図。
【
図8】実時間と時分割多重方式のスロットフレームとの関係を示す図。
【
図9】実時間と時分割多重方式のスーパーフレームとの関係を示す図。
【
図10】実施形態にかかる装置のハードウェア構成図。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、この発明にかかる通信装置、通信方法、プログラムおよび通信システムの好適な実施形態を詳細に説明する。
【0010】
本実施形態にかかる通信システムは、通信装置内では絶対時刻を管理せず、代わりに、タイミングを制御するための基準となる基準番号をコンセントレータ(通信装置のセンサデータを収集する装置の一例)から配布する。通信装置は、基準番号に基づいて処理のタイミング(センサデータの取得タイミングなど)を決定する。
【0011】
図1は、本実施形態の通信システムの構成例を示す図である。
図1に示すように、本実施形態の通信システムは、コンセントレータ200(サーバ装置の一例)と、複数のノード100
1~100
13(通信装置の一例)と、を備えている。
【0012】
複数のノード1001~10013は、それぞれ接続されるセンサ(または内蔵されるセンサ)により取得されたセンサデータをコンセントレータ200に送信する。複数のノード1001~10013は同様の構成とすることができるため、区別する必要がない場合は単にノード100という場合がある。ノード100の個数は13に限られず、いくつであってもよい。
【0013】
コンセントレータ200は、複数のノード100のそれぞれから送信されたセンサデータを集約する装置(集約装置)である。
【0014】
コンセントレータ200とノード1001~10013とは、無線マルチホップネットワークを構成する。無線マルチホップネットワーク内の通信は、例えば時分割多重方式で制御される。無線通信方式は、どのような方式でもよいが、例えばIEEE 802.11、および、IEEE 802.15.4などの無線通信方式を適用できる。
【0015】
コンセントレータ200は、無線マルチホップネットワークに加えて、ネットワーク300に接続されてもよい。ネットワーク300は、どのようなネットワーク形態であってもよいが、例えば、インターネットのような広域ネットワーク、広域の閉域ネットワーク、または、企業内ネットワークなどのローカルネットワークである。
【0016】
コンセントレータ200とネットワーク300との間の接続は、イーサネット(登録商標)ケーブルまたは光ファイバ等を用いた有線接続でもよいし、携帯電話網または衛星回線を用いた無線接続でもよい。ネットワーク300への接続は必須ではなく、コンセントレータ200とノード1001~10013とにより構成される無線マルチホップネットワークのみで通信システムが構成されてもよい。
【0017】
ここで、本実施形態の通信システムによるタイミング制御の概要を説明する。
【0018】
コンセントレータ200は、センサデータを取得するタイミング(取得タイミング)を算出するための基準時刻に対応する基準番号(基準時刻情報)を、無線マルチホップネットワーク上に送信する。基準番号は、時分割多重方式により同期される、通信タイミングを示す番号のうち基準とする番号である。時分割多重方式としては、例えば、TSCH(Time-Slotted Channel Hopping)などが適用できる。通信タイミングを示す番号は、例えば、タイムスロット番号(ASN:Absolute Slot Number)、スロットフレーム番号、および、スーパーフレーム番号などである。基準番号は、例えば、毎正時(午前0時00分を含む、以降1時間ごと)に対応する番号として決定される。
【0019】
各ノード100には、少なくともセンサデータの取得間隔(処理間隔の一例)が事前に設定されている。ノード100は、コンセントレータ200から送信された基準番号、ノード100自身が管理する現在の番号、および、センサデータの取得間隔、の3つの値から、センサデータの次の取得タイミングを決定する。
【0020】
このような動作を複数のノード100それぞれに実行させることで、各ノード100によりセンサデータの取得タイミングを制御できるようになる。すなわち、センサデータの取得タイミングを、複数のセンサ間で同期させることも可能となる。また、ノード100は、絶対時刻を管理する必要がなく、より簡易な構成でタイミングの制御が実現できる。
【0021】
なお、基準番号を受信するまでは、ノード100は他の方法で決定される時刻(例えばネットワークに参入した時刻など)を起点とし、センサデータの取得間隔に従ってセンサデータの取得を繰り返す。言い換えると、コンセントレータ200が基準番号を送信しないことにより、ネットワーク内のノード100に対して、本実施形態を適用しない動作を実行させることができる。
【0022】
次に、コンセントレータ200の機能構成例について説明する。
図2は、コンセントレータ200の機能構成の一例を示すブロック図である。
図2に示すように、コンセントレータ200は、時刻管理部201と、通信制御部202と、通信部211、212と、記憶部221と、を備えている。
【0023】
記憶部221は、コンセントレータ200で用いられる各種データを記憶する。例えば記憶部221は、各ノード100から送信されたセンサデータや各ノードに送るべきデータ、例えば制御情報などを記憶する。センサデータをコンセントレータ200の外部の記憶装置などで保存および管理する場合は、記憶部221は備えられなくてもよい。
【0024】
記憶部221は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【0025】
通信部211は、各ノード100と通信を行い、無線マルチホップネットワークを構成する。上記のように無線マルチホップネットワークは時分割多重方式で通信制御されるため、通信部211はタイムスロットごとに処理を切り替えて動作する。すなわち、自身がデータを送信できるタイムスロットでは通信部211は送信処理を行い、自身がデータ受信待ちをすべきタイムスロットでは通信部211は受信処理を行う。自身がデータを送信できるタイムスロットにも関わらず送信すべきデータがない場合、および、送信も受信もできないタイムスロットである場合は、通信部211は何の動作も行わない。送信処理も受信処理も行わないタイムスロットでは、通信部211は、超低消費電力モードおよび電源オフモードなどに遷移し、動作を停止することができる。通信部211が何の動作も行わない期間は、コンセントレータ200全体も超低消費電力モードで動作してもよい。
【0026】
通信部212は、ネットワーク300との間の通信に用いられる。ネットワーク300に接続しない場合は、通信部212が備えられなくてもよい。
【0027】
時刻管理部201は、現在時刻を実時刻で管理する。実時刻は、1日を24時間とする、日常生活で用いる時刻を意味する。時刻管理部201は、どのような手段で現在時刻を取得してもよいが、例えば以下のような手段を適用できる。
・ネットワーク300上の時刻サーバから現在時刻情報を得る。
・GPSを用いて現在時刻情報を得る。
・携帯電話の基地局から現在時刻情報を得る。
・現在の時刻を人が手動で入力する。
【0028】
時刻管理部201は、コンセントレータ200が有する水晶発振子(クロック)の精度に合わせて適切な頻度で現在時刻情報を取得し、以降で説明する動作中は実用上問題のない誤差範囲内で常に現在時刻を保持できているものとする。
【0029】
例えば工場出荷直後、かつ、電源投入直後のコンセントレータ200は正確な現在時刻を持たないかもしれないが、そのように現在時刻を持たない状態であることを時刻管理部201は認識できるものとする。現在時刻情報を持たない間は、コンセントレータ200は以降に説明する動作を行わない。例えば、現在時刻情報を取得すると、コンセントレータ200は以降に説明する動作を開始するとする。一度、現在時刻情報を取得した後、コンセントレータ200は所定のタイミング(一定時間経過後など)で現在時刻情報を取得し続けてもよいし、取得しなくてもよい。所定のタイミングで現在時刻情報を取得し続ける場合で、その取得に失敗したときには「現在時刻情報を持たない」状態としてコンセントレータ200が動作してもよいし、「時刻情報を持つ」状態としてコンセントレータ200が動作し続けてもよい。
【0030】
通信制御部202は、ノード100とネットワーク300との間の通信を制御する。例えば通信制御部202は、時分割多重方式のスケジュールに従い、上記のような通信部211の動作の切り替えを行う。また、通信制御部202は、無線マルチホップネットワークの構築および維持、並びに、無線マルチホップネットワーク経由で送信されるセンサデータの受信および転送処理を行う。コンセントレータ200がネットワーク300に接続している場合、通信制御部202は、通信部212を介して受信したセンサデータをネットワーク300へ転送してもよいし、転送しなくてもよい。また、通信制御部202は、記憶部221にセンサデータを記憶させてもよいし、記憶させなくてもよい。また、通信制御部202は、記憶部221に保存されているセンサデータをネットワーク300へ転送してもよいし、転送しなくてもよい。また、通信制御部202は、ノード100への制御情報などの送信処理を行う。
【0031】
図3は、記憶部221に記憶されるセンサデータのデータ構造の一例を示す図である。センサデータは、ノード識別子と取得時刻とに対応づけて記憶される。ノード識別子は、センサデータの送信元であるノード100を識別する識別情報の例である。取得時刻は、センサデータが取得された時刻である。
【0032】
センサデータは、センサから取得した値(読み取った値)に加え、その値を取得したときのタイムスロット番号と共にコンセントレータ200に送信される。コンセントレータ200は、時刻管理部201と通信制御部202を用いて、センサデータに含まれるタイムスロット番号からそれに対応する実時刻を算出する。このような処理により、センサデータを取得時刻と共に管理できる。コンセントレータ200は、取得時刻を実時刻に変換せず、タイムスロット番号をそのまま取得時刻として扱ってもよい。また、コンセントレータ200が各センサデータを受信した時刻も同じ方法で管理することができるが、対応付けされた受信時刻を記憶部221に記録してもよいし、しなくてもよい。
【0033】
上記各部(時刻管理部201、通信制御部202)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
【0034】
ここで、通信制御部202による時分割多重方式の通信制御の例について説明する。
図4は、実時間と時分割多重方式のタイムスロットとの関係を示す図である。
図4に示すように、コンセントレータ200が、19時38分15秒に無線マルチホップネットワークを開始したとする。1つのタイムスロットは250ミリ秒の長さであり、4つのタイムスロットを時分割多重のスケジュール単位401とする。すなわち、19時38分15秒以降、スケジュールが変わらなければ、毎秒同じ通信スケジュールが繰り返される。A、B、C、Dは毎秒実行される4つのスケジュールを表している。
【0035】
各タイムスロットにはタイムスロット番号が付与される。
図4の例では、コンセントレータ200が無線マルチホップネットワークを開始した直後のタイムスロットのタイムスロット番号が整数nであるとすると、先頭から6番目のタイムスロット402にはタイムスロット番号n+5が付与される。例えば、最初のタイムスロット(
図4では左端のAに対応するタイムスロット)のタイムスロット番号nが0とすると、タイムスロット402のタイムスロット番号は5になる。基本的にタイムスロット番号は単調増加していく。タイムスロット番号の上限値がある場合はその上限値に達した後、タイムスロット番号が0に戻り、再び単調増加していく。
【0036】
このような時分割多重の通信スケジュールおよびタイムスロット番号は、コンセントレータ200の通信制御部202が管理する。通信制御部202は、時刻管理部201から現在時刻を得ることにより、実時刻とタイムスロット番号の対応を取ることができる。
図4の例では、通信制御部202は、19時38分17秒にタイムスロット番号n+8のタイムスロット403が始まることを判定できる。
【0037】
通信制御部202は、定期的に、または、ネットワーク300からの指示などを契機に、現在時刻に対応するタイムスロット番号を、通信部211を介して無線マルチホップネットワークに送信する。この送信を行うフレーム(パケット)の種別は問わない。ビーコンフレームが用いられてもよいし、データフレームが用いられてもよい。それらのフレームはブロードキャストされてもよいし、コンセントレータ200の近隣のノード100それぞれへユニキャストされてもよい。いずれにしても、コンセントレータ200がタイムスロット番号を送信することにより、コンセントレータ200の近隣のノード100は、ある時刻に対応するタイムスロット番号を得る。この送信されるタイムスロット番号を基準タイムスロット番号と呼ぶ。基準タイムスロット番号は、基準番号の一例である。
【0038】
次に、ノード100の構成について説明する。
図5は、ノード100の機能構成の一例を示すブロック図である。
図5に示すように、ノード100は、センサ制御部101と、通信制御部110と、通信部121と、1以上のセンサインタフェース122
1~122
m(mは1以上の整数)と、を備えている。
【0039】
各センサインタフェース1221~122mは、それぞれセンサ1311~131mと接続される。センサインタフェース1221~122mは、区別する必要がない場合は単にセンサインタフェース122という。また、センサ1311~131mは、区別する必要がない場合は単にセンサ131という。
【0040】
通信部121は、コンセントレータ200の通信部211と同様の動作を行う。
【0041】
通信制御部110は、コンセントレータ200の通信制御部202と同様に時分割多重の通信スケジュールに従って通信部121の動作を切り替える。また、通信制御部110は、コンセントレータ200が開始した無線マルチホップネットワークの発見および接続、並びに、通信経路および通信スケジュールの設定および変更等を行う。通信制御部110は、これらの動作のために通信部121を介して、他のノード100との間で、ビーコンを含む制御フレームなどを送受信する。
【0042】
通信制御部110は、受信部111と、決定部112と、を備えている。受信部111は、コンセントレータ200などからデータを受信する。例えば受信部111は、コンセントレータ200から基準番号を受信する。
【0043】
決定部112は、基準番号に基づいて、予め定められた処理の処理タイミングを決定する。予め定められた処理および処理タイミングは、例えば、センサデータを取得する処理および取得タイミングであるが、これに限られるものではない。決定部112は、通信制御部110内に備えられる必要はなく、通信制御部110の外部に備えられてもよい。例えば決定部112は、センサ制御部101内に備えられてもよい。受信部111および決定部112の機能の詳細は後述する。
【0044】
センサ制御部101は、センサインタフェース122を介してセンサデータを取得する。取得されたセンサデータは、通信制御部110を介して無線マルチホップネットワークへ送信される。典型的には、通信制御部110は、コンセントレータ200を宛先としてセンサデータを送信する。センサ制御部101には、センサインタフェース122ごとにセンサデータの取得間隔が予め設定される。また、センサ制御部101は、無線マルチホップネットワークからセンサデータ取得の要求を受信した場合などでは、事前に設定された取得間隔とは無関係にセンサデータを取得し、通信制御部110を介して要求元に送信する。
【0045】
センサインタフェース122は、センサ制御部101からの要求に従い、接続されるセンサ131へセンサデータを問い合わせ、センサデータを取得する。一定の観測値に対してパルスを生成させる雨量計のようなセンサ131の場合、センサ131に問い合わせてもセンサデータが得られない。このようなセンサ131がセンサインタフェース122に接続される場合は、センサインタフェース122は、センサ131から受信したパルス等を基に積算値を管理する。このとき、積算値を管理するための記憶部(メモリ)は、センサインタフェース122の外に備えられてもよい。センサインタフェース122の中に、積算値を管理するためのメモリ領域が含まれていてもよい。なお、センサデータを取得するために、いわゆる予備通電やプリヒートが必要な場合は、センサデータを取得するタイムスロットから逆算して事前に予備通電を開始する。
【0046】
上記各部(センサ制御部101、通信制御部110)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
【0047】
次に、このように構成された本実施形態にかかるノード100によるデータ取得処理について説明する。
図6は、本実施形態におけるデータ取得処理の一例を示すフローチャートである。
【0048】
ノード100は、例えば無線マルチホップネットワークに接続されたときに、
図6に示すデータ取得処理を開始する。
【0049】
まず決定部112は、次にセンサデータを取得するタイムスロット番号を決定する(ステップS101)。例えば決定部112は、センサデータの取得間隔に従い、次にセンサデータを取得するタイムスロット番号を決定する。
【0050】
この後データ受信待ちの状態となり、受信部111は、フレームを受信したか否かを判定する(ステップS102)。なお、ノード100が無線マルチホップネットワークに接続した場合、フレームを受信すると予想されるタイムスロットが決まる。そのため、フレームが来ると予想されるタイムスロット以外ではデータ受信待ちの状態でも継続的に受信待機を行わなくてもよい。フレームが受信されない場合(ステップS102:No)、センサ制御部101は、現在のタイムスロット番号が、センサデータを取得するタイムスロット番号であるかを判定する(ステップS103)。現在のタイムスロット番号がセンサデータを取得するタイムスロット番号でない場合(ステップS103:No)、ステップS102に戻り、処理が繰り返される。なお、現在のタイムスロット番号が、センサノード100自ら推定した次の基準タイムスロット番号だった場合、推定した次の基準タイムスロットを現在の基準タイムスロット番号とし、さらに次の基準タイムスロット番号を推定してもよい。
【0051】
現在のタイムスロット番号がセンサデータを取得するタイムスロット番号である場合(ステップS103:Yes)、センサ制御部101は、センサ131からセンサデータを取得する(ステップS104)。なお、データ受信待ち(ステップS102)と、センサデータの取得判断(ステップS103)の順序は逆でもよい。なお、センサデータを取得するために、いわゆる予備通電やプリヒートが必要な場合は、次にセンサデータを取得するタイムスロットから逆算した結果、現在のタイムスロットからプリヒートを開始する必要がある場合はプリヒートを開始する。
【0052】
センサデータを取得した後、決定部112は、現在のセンサデータを取得するタイムスロット番号にセンサデータの取得間隔を加算して、次にセンサデータを取得するタイムスロット番号を決定する(ステップS105)。なお、次の基準タイムスロット番号をセンサノード100が自ら推定しており、次のセンサデータを取得するタイムスロット番号が次の基準タイムスロット番号よりも未来の番号の場合、決定部112は、次のセンサデータを取得するタイムスロット番号を、次の基準タイムスロット番号に決定してもよい。
【0053】
ステップS102でフレームが受信された場合(ステップS102:Yes)、決定部112は、受信されたフレームが、基準タイムスロット番号を通知するフレームであるか否かを判定する(ステップS106)。基準タイムスロット番号を通知するフレームであった場合(ステップS106:Yes)、ステップS101に戻り、決定部112は、センサデータの取得間隔と、通知された基準タイムスロット番号とから、次にセンサデータを取得するタイムスロット番号を決定する。なお、センサノード100は基準タイムスロットと次の基準タイムスロットの間隔(例えば、毎正時である場合は1時間)の情報と現在の基準タイムスロット番号を用いて、次の基準タイムスロット番号を受信する前に、自ら次の基準タイムスロット番号を推定してもよい。基準タイムスロットが更新される間隔の情報は、例えば、センサノード100に事前に記録しておく方法が考えられるが、これに限られたものではない。
【0054】
基準タイムスロット番号を通知するフレームでない場合(ステップS106:No)、ステップS102に戻り、処理が繰り返される。
【0055】
センサデータの取得タイミングの設定例について説明する。例えば、コンセントレータ200は、毎正時に対応する基準タイムスロット番号を送信する。ノード100は、例えば、20分の取得間隔が設定される。この場合、ノード100は、毎時0分、20分、40分にセンサデータを取得するように取得タイミングを決定する。
【0056】
次に、ステップS101でのタイムスロット番号の決定方法の詳細について説明する。決定部112は、以下のようにセンサデータを取得するタイムスロット番号を決定する。
【0057】
決定部112は、基準タイムスロット番号を持たない場合、および、基準タイムスロット番号が現在のタイムスロット番号と同じ場合は、現在のタイムスロット番号を次にセンサデータを取得するタイムスロット番号として決定する。なお、基準タイムスロット番号を持たない場合は、センサデータを取得するために、いわゆる予備通電やプリヒートが必要な場合は、予備通電に必要な時間に相当するタイムスロット分を、現在のタイムスロット番号に加算したタイムスロット番号を次にセンサデータを取得するタイムスロット番号として決定する。
【0058】
決定部112は、取得間隔の整数倍である値を基準タイムスロット番号に加算した値であって、現在時刻に最も近い未来の時刻に相当する値に基づいて、次にセンサデータを取得するタイムスロット番号を決定する。
【0059】
例えば基準タイムスロット番号が未来のタイムスロット番号の場合、決定部112は、センサデータの取得間隔の整数倍を加算することで基準タイムスロット番号に一致するタイムスロット番号のうち、現在のタイムスロット番号に最も近い未来のタイムスロット番号を、次にセンサデータを取得するタイムスロット番号として決定する。
【0060】
基準タイムスロット番号が過去のタイムスロット番号の場合、決定部112は、センサデータの取得間隔の整数倍を加算して得られるタイムスロット番号のうち、現在のタイムスロット番号から最も近い未来のタイムスロット番号を、次にセンサデータを取得するタイムスロット番号として決定する。
【0061】
なお、基準タイムスロット番号を受信した後(ステップS106:Yes)に、ステップS101の処理を実行する場合であって、既に保持している基準タイムスロット番号と新しく受信した基準タイムスロット番号とが同じ場合、決定部112は、次にセンサデータを取得するタイムスロット番号を計算し直してもよいし、計算しなくてもよい。
【0062】
コンセントレータ200により送信された基準タイムスロット番号を受信した後、ノード100は、受信した基準タイムスロット番号をコンセントレータ200と同様の方法で、接続される他のノード100に再送信する。これによりコンセントレータ200が送信した基準タイムスロット番号は、無線マルチホップネットワーク全体に行き渡る。
【0063】
以上の処理により、各ノード100のセンサデータの取得タイミングは、各ノード100に絶対時刻を管理させることなく、コンセントレータ200から送信された基準タイムスロット番号に従って制御できるようになる。
【0064】
(変形例1)
通信システムは、中継ノード(中継装置)を含んでもよい。中継ノードは、他のノード100から送信されたセンサデータを中継(転送)する機能を有するノードである。中継ノードは、例えば、
図5のノード100の各構成部のうち、センサデータを取得するための機能(センサインタフェース122、センサ制御部101、決定部112)の一部または全部を備えなくてもよい。
【0065】
図5のような構成のノード100が中継ノードとして動作してもよい。例えば、ノード100が、起動時にセンサ131が接続されていないことを検出した場合に中継ノードとして動作してもよい。また、中継ノードとして動作するよう事前に動作モードが設定されている場合に、ノード100が中継ノードとして動作してもよい。
【0066】
(変形例2)
決定部112は、センサデータの取得間隔に加え、基準タイムスロット番号からのオフセットも考慮してセンサデータの次の取得タイミングを決定してもよい。例えばセンサインタフェース122ごとに、基準タイムスロット番号からのオフセットが設定される。オフセットは、そのまま基準タイムスロット番号に加算できる数値であってもよいし、数値に換算できる形式(例えば時間)で表されてもよい。
【0067】
決定部112は、センサインタフェース122ごとに、設定されたオフセットを基準タイムスロット番号に加算して新たな基準タイムスロット番号(更新番号)を算出する。決定部112は、新たな基準タイムスロット番号を用いて、上記の実施形態と同様に次にセンサデータを取得するタイムスロット番号を決定する。基準タイムスロット番号が通知されていない場合は、決定部112は、オフセットは無視して、次にセンサデータを取得するタイムスロット番号を決定する。
【0068】
本変形例での、センサデータの取得タイミングの設定例について説明する。例えば、コンセントレータ200は、毎正時に基準タイムスロット番号を送信する。ノード100は、例えば、20分の取得間隔、および、10分のオフセットが設定される。この場合、ノード100は、毎時10分、30分、50分にセンサデータを取得するように取得タイミングを決定する。
【0069】
(変形例3)
コンセントレータ200は、ノード100ごとに決定される基準タイムスロット番号を無線マルチネットワークに送信してもよい。例えばコンセントレータ200は、センサデータを取得すべき未来のタイムスロット番号をノード100ごとに決定し、対応するノード100を宛先として送信する。各ノード100は、自装置宛てに送信された基準タイムスロット番号に基づいて上記実施形態と同様にセンサデータを取得するタイムスロット番号を決定する。各ノード100は、取得したセンサデータを無線マルチホップネットワークへ送信する。
【0070】
ノード100ごとにセンサデータの取得間隔を変えることで、複数のセンサデータの取得タイミングを柔軟に揃えることができる。
【0071】
(変形例4)
コンセントレータ200は、ノード100ごと、および、センサ131の種別(センサ種別)ごとに決定される基準タイムスロット番号を無線マルチネットワークに送信してもよい。例えばコンセントレータ200は、センサデータを取得すべき未来のタイムスロット番号をノード100ごと、および、センサ種別ごとに決定し、対応するノード100を宛先として送信する。基準タイムスロット番号には、適用するセンサ種別を識別する識別情報が付加される。各ノード100は、自装置宛てに送信された基準タイムスロット番号に基づいて、識別情報で識別されるセンサ種別に相当するセンサ131に対して、センサデータを取得するタイムスロット番号を決定する。各ノード100は、該当するセンサ131から取得したセンサデータを無線マルチホップネットワークへ送信する。
【0072】
ノード100ごと、および、センサ種別ごとにセンサデータの取得間隔を変えることで、複数のセンサデータの取得タイミングを柔軟に揃えることができる。
【0073】
(変形例5)
これまでは、主に通信タイミングを示す番号としてタイムスロット番号を用いる例を説明した。通信タイミングを示す番号としてスロットフレーム番号を用いるとともに、基準番号として基準スロットフレーム番号を送信するように構成してもよい。コンセントレータ200は、基準時刻をより高精度に通知するために、スロットフレーム番号に加えて、スロットフレーム内のタイムスロットのオフセットを送信してもよい。タイムスロットのオフセットは、例えばスロットフレームの先頭のタイムスロットに対するオフセットである。
【0074】
図7は、実時間と時分割多重方式のスロットフレームとの関係を示す図である。スロットフレームは、一定数のタイムスロットを含むスケジュールの単位である。
図7では、4つのタイムスロットそれぞれを含むスロットフレーム701
n、701
n+1の例が示されている。タイムスロットと同様にスロットフレームにもスロットフレーム番号が付与される。
【0075】
(変形例6)
時分割多重方式によっては、1以上のチャネル(周波数)が用いられる場合がある。例えばTSCHでは、使用するチャネルがデータ送受信のたびに変更される。このような時分割多重方式に上記実施形態の手法を適用することもできる。
図8は、2つのチャネル811
1、811
2が用いられる場合の、実時間と時分割多重方式のスロットフレームとの関係を示す図である。
【0076】
このような時分割多重の通信スケジュールでは、タイムスロット番号に加えて通信に用いるチャネルが指定される。チャネルは、チャネルオフセットで指定されてもよい。コンセントレータ200およびノード100は、指定されたチャネルを用いて、基準番号およびセンサデータを送受信する。
【0077】
(変形例7)
通信タイミングを示す番号としてスーパーフレーム番号を用いるとともに、基準番号として基準スーパーフレーム番号を送信するように構成してもよい。
【0078】
図9は、実時間と時分割多重方式のスーパーフレームとの関係を示す図である。スーパーフレームは、一定数のスロットフレームを含むスケジュールの単位である。
図9では、2つのタイムスロットそれぞれを含むスーパーフレーム901
n、901
n+1の例が示されている。スーパーフレームにはスーパーフレーム番号が付与される。
【0079】
スーパーフレームはタイムスロットよりも期間が長い。コンセントレータ200は、基準時刻をより高精度に通知するために、スーパーフレーム番号に加えて、スーパーフレーム内のタイムスロットのオフセットを送信してもよい。タイムスロットのオフセットは、例えばスーパーフレームの先頭のタイムスロットに対するオフセットである。
【0080】
ノード100側で、スーパーフレーム内の固定のタイムスロット(例えば先頭のタイムスロット)でセンサデータを取得するように設定される場合がある。このような場合は、決定部112は、基準スーパーフレーム番号およびタイムスロットオフセットにより特定されるタイムスロットから、過去で一番近い固定のタイムスロット、または、未来で一番近い固定のタイムスロットに相当するタイムスロットを、新たな基準番号に対応するタイムスロットとする。そして決定部112は、新たな基準番号を用いて、上記の実施形態と同様に次にセンサデータを取得するタイムスロット番号を決定する。
【0081】
(変形例8)
これまでは主にセンサデータを取得する処理のタイミングを制御する例を説明した。上記のように、予め定められた処理は、センサデータを取得する処理以外であってもよい。例えば以下のような処理のタイミングを制御する場合にも上記実施形態の手法を適用できる。
・電球のオンオフ制御
・アクチュエータなどの可動制御
【0082】
このように、本実施形態にかかる通信システムでは、絶対時刻を管理する必要がなく、より簡易な構成でタイミングの制御を実現できる。
【0083】
次に、実施形態にかかる装置(コンセントレータ、ノード)のハードウェア構成について
図10を用いて説明する。
図10は、実施形態にかかる装置のハードウェア構成例を示す説明図である。
【0084】
実施形態にかかる装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
【0085】
実施形態にかかる装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
【0086】
実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【0087】
さらに、実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0088】
実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【0089】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0090】
1001~10013 ノード
101 センサ制御部
110 通信制御部
111 受信部
112 決定部
121 通信部
1221~122m センサインタフェース
1311~131m センサ
200 コンセントレータ
201 時刻管理部
202 通信制御部
211、212通信部
221 記憶部
300 ネットワーク