(57)【要約】【課題】  信号衝突の発生を抑制し、信号衝突による通信不具合を減少させることができるシステム等を提供する。【解決手段】  このシステムは、複数の通信端末と通信装置とを含む。通信装置は、複数の通信端末の各々へメッセージを一斉送信するメッセージ送信手段を含む。各通信端末は、通信装置から送信されたメッセージを受信するメッセージ受信手段と、通信装置から一斉送信されたメッセージに対する応答を返信する各通信端末の順番を示す情報と、その順番の１つ前の通信端末を識別するための端末識別情報とを記憶する記憶手段と、記憶された端末識別情報により識別される通信端末が通信装置へ送信したメッセージを検出する検出手段と、検出されたメッセージの内容に基づき、通信装置から一斉送信されたメッセージに対する応答を通信装置へ返信するかを判断する判断手段と、返信すると判断された場合に、通信装置へ応答を返信する応答返信手段とを含む。【選択図】  図３
2016144070.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信端末と、前記複数の通信端末と通信を行う通信装置とを含む通信システムであって、
前記通信装置が、
前記複数の通信端末の各々へメッセージを一斉送信するメッセージ送信手段を含み、
各前記通信端末が、
前記通信装置から送信されたメッセージを受信するメッセージ受信手段と、
前記通信装置から一斉送信されたメッセージに対する応答を当該通信装置へ返信する各前記通信端末の順番を示す情報と、前記順番の１つ前の通信端末を識別するための端末識別情報とを記憶する記憶手段と、
前記記憶手段に記憶された前記端末識別情報により識別される通信端末が前記通信装置へ送信したメッセージを検出する検出手段と、
前記検出手段により検出されたメッセージの内容に基づき、前記通信装置から一斉送信されたメッセージに対する応答を当該通信装置へ返信するかどうかを判断する判断手段と、
前記判断手段により返信すると判断された場合に、前記通信装置へ前記応答を返信する応答返信手段とを含む、通信システム。
【請求項２】
前記記憶手段により記憶された前記順番を示す情報に応じて、省電力モードへ移行するモード変更手段をさらに含む、請求項１に記載の通信システム。
【請求項３】
前記モード変更手段は、前記省電力モードを維持する時間を計算し、前記時間が経過した後、前記通信端末を前記省電力モードから復帰させる、請求項２に記載の通信システム。
【請求項４】
前記判断手段は、前記検出手段により検出されたメッセージの内容が、前記通信装置から一斉送信されたメッセージに対する応答である場合に、当該通信装置へ前記応答を返信すると判断する、請求項１〜３のいずれか１項に記載の通信システム。
【請求項５】
複数の通信端末と、前記複数の通信端末と通信を行う通信装置とを含む通信システムに用いられる当該通信端末であって、
前記通信装置から送信されたメッセージを受信するメッセージ受信手段と、
前記通信装置から一斉送信されたメッセージに対する応答を当該通信装置へ返信する各前記通信端末の順番を示す情報と、前記順番の１つ前の通信端末を識別するための端末識別情報とを記憶する記憶手段と、
前記記憶手段に記憶された前記端末識別情報により識別される通信端末が前記通信装置へ送信したメッセージを検出する検出手段と、
前記検出手段により検出されたメッセージの内容に基づき、前記通信装置から一斉送信されたメッセージに対する応答を当該通信装置へ返信するかどうかを判断する判断手段と、
前記判断手段により返信すると判断された場合に、前記通信装置へ前記応答を返信する応答返信手段とを含む、通信端末。
【請求項６】
前記記憶手段により記憶された前記順番を示す情報に応じて、省電力モードへ移行するモード変更手段をさらに含む、請求項５に記載の通信端末。
【請求項７】
前記モード変更手段は、前記省電力モードを維持する時間を計算し、前記時間が経過した後、前記通信端末を前記省電力モードから復帰させる、請求項６に記載の通信端末。
【請求項８】
前記判断手段は、前記検出手段により検出されたメッセージの内容が、前記通信装置から一斉送信されたメッセージに対する応答である場合に、当該通信装置へ前記応答を返信すると判断する、請求項５〜７のいずれか１項に記載の通信端末。
【請求項９】
複数の通信端末と、前記複数の通信端末と通信を行う通信装置とを含む通信システムにおいて当該通信端末に通信制御を実行させるためのプログラムであって、当該通信端末は、前記通信装置から一斉送信されたメッセージに対する応答を当該通信装置へ返信する各前記通信端末の順番を示す情報と、前記順番の１つ前の通信端末を識別するための端末識別情報とを記憶する記憶手段を含み、
前記通信装置から送信されたメッセージを受信するステップと、
前記記憶手段に記憶された前記端末識別情報により識別される通信端末が前記通信装置へ送信したメッセージを検出するステップと、
検出されたメッセージの内容に基づき、前記通信装置から一斉送信されたメッセージに対する応答を当該通信装置へ返信するかどうかを判断するステップと、
返信すると判断された場合に、前記通信装置へ前記応答を返信するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信端末と当該複数の通信端末と通信を行う通信装置とを含む通信システム、当該通信システムに用いられる通信端末、および当該通信端末に実装されるプログラムに関する。
【背景技術】
【０００２】
温度、湿度、電流、電圧、ガス濃度等を計測するために、センサーが使用されている。近年、このようなセンサーを備える通信端末を複数配置し、複数の通信端末で計測されたデータ（センサー値）を無線通信により取得し、監視等を行う無線センサーネットワークが利用されるようになってきている。
【０００３】
無線センサーネットワークは、複数の通信端末（エンドデバイス）と、当該複数のエンドデバイスと通信を行う通信装置（コーディネータ）とから構成される。コーディネータは、複数のエンドデバイスに対して同じ情報を一斉同報（ブロードキャスト）で送信し、複数のエンドデバイスは、コーディネータに対して受信したことの確認応答やセンサー値等を信号により返信する。
【０００４】
コーディネータへ返信される信号は、複数のエンドデバイスから短期間に集中して送信される。このため、信号衝突が発生しやすく、コーディネータが一部の信号の受信に失敗する可能性がある。すると、コーディネータは、一定の時間内にエンドデバイスから信号を受信することができない状況が発生する。この場合、コーディネータは、上記の情報をブロードキャストで再送信し、全てのエンドデバイスから信号を受信するように動作する。
【０００５】
しかしながら、エンドデバイスが多数ある場合、再度信号衝突が発生し、エンドデバイスから信号を受信することができず、信号の受信失敗を繰り返してしまうという問題があった。
【０００６】
そこで、信号の衝突を防止するために、コーディネータとエンドデバイスとの間で送信予約を行い、送信予約期間の間、コーディネータが受信する信号をそのエンドデバイスからに限定する技術が提案されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の技術では、エンドデバイスからコーディネータへ信号を送信する場合には衝突が生じないが、送信予約の際に衝突が発生する可能性があるという問題があった。このため、信号衝突の発生を抑制し、信号衝突による通信不具合を減少させることができるシステム等の提供が望まれていた。
【課題を解決するための手段】
【０００８】
本発明は、上記課題に鑑み、複数の通信端末と、当該複数の通信端末と通信を行う通信装置とを含む通信システムであって、通信装置が、複数の通信端末の各々へメッセージを一斉送信するメッセージ送信手段を含み、各通信端末が、通信装置から送信されたメッセージを受信するメッセージ受信手段と、通信装置から一斉送信されたメッセージに対する応答を当該通信装置へ返信する各通信端末の順番を示す情報と、当該順番の１つ前の通信端末を識別するための端末識別情報とを記憶する記憶手段と、記憶手段に記憶された端末識別情報により識別される通信端末が通信装置へ送信したメッセージを検出する検出手段と、検出手段により検出されたメッセージの内容に基づき、通信装置から一斉送信されたメッセージに対する応答を当該通信装置へ返信するかどうかを判断する判断手段と、判断手段により返信すると判断された場合に、通信装置へ応答を返信する応答返信手段とを含む、通信システムが提供される。
【発明の効果】
【０００９】
本発明によれば、信号衝突の発生を抑制し、信号衝突による通信不具合を減少させることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の通信システムの構成例を示した図。
【図２】コーディネータおよびエンドデバイスのハードウェア構成を例示した図。
【図３】コーディネータおよびエンドデバイスの機能ブロック図。
【図４】コーディネータやエンドデバイスが送受信するメッセージのフレーム構成を例示した図。
【図５】エンドデバイスに保存される他デバイスアドレス情報を例示した図。
【図６】通信システムにおいて実施される初期設定の手順を示したシーケンス図。
【図７】コーディネータから複数のエンドデバイスへメッセージを一斉送信する処理の流れを示したシーケンス図。
【図８】コーディネータから複数のエンドデバイスへメッセージを一斉送信する別の処理の流れを示したシーケンス図。
【図９】エンドデバイスにおいて実行される応答処理の流れを示したフローチャート。
【図１０】エンドデバイスにおいて実行される省電力モード処理の流れを示したフローチャート。
【図１１】エンドデバイスにおいて実行される応答完了待ち処理の流れを示したフローチャート。
【発明を実施するための形態】
【００１１】
図１は、本実施形態の通信システムの構成例を示した図である。通信システムは、無線ネットワークシステムで、通信装置としてのコーディネータ１０と、コーディネータ１０と無線通信を行う複数の通信端末としてのエンドデバイス１１とを含む。コーディネータ１０は、例えば無線ルータ等とされ、エンドデバイス１１は、例えばアクセスポイントやセンサーを搭載した無線通信デバイス等とされる。コーディネータ１０には、ケーブル等を介してシステムの管理者等であるユーザが使用するクライアントPC１２が接続されている。
【００１２】
クライアントPC１２は、コーディネータ１０に対して初期設定や設定変更等を指示する。また、クライアントPC１２は、コーディネータ１０から設定完了通知や変更完了通知等を受領する。コーディネータ１０は、クライアントPC１２から受け付けた指示に従い、複数のエンドデバイス１１の各々に対し、PAN(Personal Area Network)等の無線通信により初期設定情報等の情報を送信する。無線通信の方法は、そのほか、Wi-Fi等の無線LAN、Bluetooth（登録商標）、赤外線通信等であってもよい。各エンドデバイス１１は、その情報を受信し、自機が備えるメモリ等にその情報を保存して初期設定等を行う。
【００１３】
エンドデバイス１１に送信される情報には、個人が使用するデバイス同士を接続するためのネットワークを識別するネットワーク識別情報(PANID)、コーディネータ１０のアドレス情報等が含まれる。
【００１４】
各エンドデバイス１１は、初期設定が完了した場合、コーディネータ１０に対して設定完了通知を送る。各エンドデバイス１１は、初期設定で登録したアドレス情報およびPANIDを使用して、上記の通知をコーディネータ１０に送る。コーディネータ１０は、その通知を受け付けると、クライアントPC１２にその通知を転送する。クライアントPC１２は、その通知をクライアントPC１２が備える表示手段に表示する等して、ユーザに知らせる。設定変更も同様にして行うことができる。
【００１５】
図１では、クライアントPC１２を用いているが、PCに限定されるものではなく、サーバ、ワークステーション、タブレット端末、スマートフォン等であってもよい。クライアントPC１２は、コーディネータ１０との接続をケーブルに限らず、無線により行ってもよい。
【００１６】
図２を参照して、コーディネータ１０およびエンドデバイス１１のハードウェア構成について説明する。図２（ａ）は、コーディネータ１０のハードウェア構成を、図２（ｂ）は、エンドデバイス１１のハードウェア構成を例示する。なお、図２（ｂ）に示すエンドデバイス１１は、コーディネータ１０の入出力I/Fがない構成で、その他は同様であるため、コーディネータ１０についてのみ説明する。
【００１７】
コーディネータ１０は、CPU２０と、ROM２１と、RAM２２と、フラッシュメモリ２３と、通信I/F２４と、入出力I/F２５とを備えている。CPU２０は、コーディネータ１０全体を制御する。ROM２１は、コーディネータ１０を起動させるためのプログラムやコーディネータ１０に接続されたハードウェアを制御するためのプログラムを記憶する。RAM２２は、CPU２０が処理を行う際の作業領域を提供する。フラッシュメモリ２３は、不揮発性メモリで、各種の設定情報や後述する処理を実現するためのプログラムを記憶する。
【００１８】
通信I/F２４は、複数のエンドデバイス１１と無線により接続し、各エンドデバイス１１との通信を可能にするインタフェースである。通信I/F２４は、アンテナ、変調回路、復調回路、増幅器等を含む送受信機を含んで構成される。入出力I/F２５は、クライアントPC１２や外付けHDD等の外部機器と接続し、その外部機器との通信を制御するインタフェースである。入出力I/F２５としては、汎用非同期送受信回路(UART)やUSBコネクタ等を用いることができる。ちなみに、UARTは、パラレル信号をシリアル信号へ、またはシリアル信号をパラレル信号へ変換して出力する回路である。
【００１９】
クライアントPC１２も同様のハードウェア構成とすることができるが、クライアントPC１２の場合、さらに、外部記憶I/F、入力装置、出力装置等を備えることができる。入力装置としては、キーボード、マウス、マイク等の音声入力装置を挙げることができ、出力装置としては、液晶ディスプレイ等の表示装置、スピーカ等の音声出力装置を挙げることができる。上記の入出力I/F２５は、入力装置や出力装置とクライアントPC１２本体とを接続し、情報の入力や出力を制御することができる。外部記憶I/Fとしては、CD-ROMドライブ、SDカードスロット、USBコネクタ等を挙げることができ、CD-ROMやSDカード等の記録媒体や外付けハードディスクを接続し、それらへの情報の読み書きを制御する。
【００２０】
図３は、コーディネータ１０およびエンドデバイスの機能ブロック図である。図３（ａ）がコーディネータ１０の機能ブロック図で、図３（ｂ）がエンドデバイス１１の機能ブロック図である。図３（ａ）に示すコーディネータ１０は、図２（ａ）に示すフラッシュメモリ２３に記憶されたプログラムをCPU２０が実行することにより、また、フラッシュメモリ２３や通信I/F２４により各機能部を実現することができる。その機能部として、デバイス制御部３０と、通信制御部３１と、記憶部３２と、入出力制御部３３とを備える。
【００２１】
デバイス制御部３０は、コーディネータ１０が提供するユーザ機能を司り、通信制御部３１、記憶部３２、入出力制御部３３に対して指示を行う。通信制御部３１は、複数のエンドデバイス１１との無線通信に関する機能を担う。通信制御部３１は、例えばIEEE802.15.4で規定される物理レイヤ、MACレイヤで構成することができる。物理レイヤは、ネットワークの物理的な接続や伝送方式等を定めたものである。MACレイヤは、ケーブル等に信号を出力するタイミングを制御するものである。
【００２２】
記憶部３２は、図２に示すフラッシュメモリ２３により実現され、電源OFF時でも情報を保持する。入出力制御部３３は、クライアントPC１２等の外部機器と接続するための上記のUARTやUSBの通信を担う。図３（ｂ）に示すエンドデバイス１１は、コーディネータ１０の入出力制御部３３がない以外、コーディネータ１０と同様の、デバイス制御部４０、通信制御部４１、記憶部４２を備える構成である。それらの機能部は、コーディネータ１０と同様であるため、ここでは説明を省略する。
【００２３】
以下、クライアントPC１２より指示を受けたコーディネータ１０が複数のエンドデバイス１１に対して情報配信や指示をメッセージとして送信し、複数のエンドデバイス１１がそれに対する応答を返信するものとして説明する。まず、コーディネータ１０と各エンドデバイス１１との間でやりとりされるメッセージについて説明する。
【００２４】
メッセージは、送信データの１単位であるフレームとしてやりとりされる。フレームは、１以上のパケットを含んで構成され、その構造は、図４に示すようなものである。フレームは、MACヘッダと、MACペイロードと、フレームの最後に付加される誤り検知(FCS)とを含んで構成される。MACヘッダは、管理情報として、フレーム制御フィールド(FCF)、シーケンス番号、アドレス情報、セキュリティIDを含む。FCFは、フレームの種類や有線LANと接続するか等の情報を含み、シーケンス番号は、送信されるパケットに付される通し番号である。セキュリティIDは、ユーザやグループ等を一意に識別するIDである。アドレス情報は、宛先のアドレス（受信アドレス）、送信元のアドレス（送信アドレス）、送信PANID、受信PANIDを含む。
【００２５】
MACペイロードは、フレームペイロードを含み、フレームペイロードは、管理情報を除く正味のデータである。したがって、コーディネータ１０からエンドデバイス１１へ送信されるメッセージの場合、配信する情報や指示内容等が含まれる。また、エンドデバイス１１からコーディネータ１０へ返信されるメッセージの場合、受信した旨の応答や指示内容に従って処理した結果等が含まれる。FCSは、MACヘッダおよびMACペイロードに誤りがないかどうかを検出するための値である。
【００２６】
コーディネータ１０と各エンドデバイス１１とは、このような構造のメッセージをやりとりすることで、初期設定や設定変更の実施、エンドデバイス１１がセンサーを備えるデバイスである場合はセンサー値を取得することができる。
【００２７】
コーディネータ１０は、複数のエンドデバイス１１に対して設定変更を指示し、センサー値等を要求する場合、その指示や要求をメッセージとしてブロードキャストにより一斉送信することができる。各エンドデバイス１１は、コーディネータ１０から送信されたメッセージを受信すると、受信した旨の応答をコーディネータ１０へ返信する。これにより、コーディネータ１０は、そのメッセージがエンドデバイス１１へ送信されたことを把握する。
【００２８】
ブロードキャストにより一斉送信されたメッセージは、ほぼ同時に複数のエンドデバイス１１に到着し、各エンドデバイス１１は、即座に応答を返信する。すると、複数のエンドデバイス１１から１つのコーディネータ１０へほぼ同時に応答が送信されるため、信号衝突が発生する。この信号衝突により、通信不具合が発生し、コーディネータ１０は、一部のエンドデバイス１１からの応答を受信することができなくなってしまう。
【００２９】
そこで、コーディネータ１０は、初期設定において、一斉送信したメッセージに対する応答をコーディネータ１０へ返信する順番を示す情報と、その順番の１つ前のエンドデバイス１１を識別するための端末識別情報とを送信する。そして、コーディネータ１０は、それら情報を各エンドデバイス１１が備える記憶部４２に記憶させ、その順番に従い、自機の１つ前（前段）のエンドデバイス１１の通信を監視して、適切なタイミングで応答を返信させるようにする。これにより、信号衝突の発生を抑制し、通信不具合を減少させることができる。
【００３０】
図５を参照して、コーディネータ１０が各エンドデバイス１１へ初期設定時に送信する情報（他デバイスアドレス情報）について説明する。図５では、コーディネータ１０へ返信する順番を示す情報として、「送信順(0〜n番目)」という0〜n（nは自然数）のいずれかの値を含むように構成されている。コーディネータ１０は、各エンドデバイス１１に0〜nのいずれかの値を割り振り、割り振った値を、当該順番を示す情報として送信する。コーディネータ１０は、いかなるアルゴリズム等でも使用して各エンドデバイス１１に0〜nのいずれかの値を割り振ることができる。
【００３１】
また、図５では、端末識別情報として、前段のデバイスのPANIDと、前段のデバイスのアドレスとを含むように構成されている。なお、上記の順番を示す情報が0であるエンドデバイス１１については、前段のデバイスが存在しないため、前段のエンドデバイスのPANIDおよび前段のエンドデバイスのアドレスが空欄とされる。したがって、PANIDおよびアドレスが空欄である情報を受信したエンドデバイス１１は、自機が最初に応答を返信するデバイスとして認識する。
【００３２】
次に、図６を参照して、その初期設定で実施される処理について説明する。初期設定は、クライアントPC１２がコーディネータ１０へ指示することにより開始する。コーディネータ１０は、クライアントPC１２からの指示に従って、初期設定情報を作成する。初期設定情報は、例えば時刻を含み、上述したPANID、コーディネータ１０のアドレス情報、図５に示した送信順、前段のエンドデバイス１１のアドレス情報およびPANIDを含む。コーディネータ１０は、作成した初期設定情報を各エンドデバイス１１に送信する。
【００３３】
各エンドデバイス１１は、初期設定情報を受信し、自機が備える記憶部４２にその初期設定情報を記憶することによりその情報を設定する。これにより、各エンドデバイス１１は、設定された時刻に時計を合わせ、コーディネータ１０との通信を、PANIDおよびコーディネータ１０のアドレス情報を用いて行うことができる。また、各エンドデバイス１１は、応答する際の順番を把握し、どのデバイスの次に応答するかを知ることができる。
【００３４】
各エンドデバイス１１は、設定が終了し次第、初期設定情報を受信した旨の応答（受信完了応答）を、コーディネータ１０へ返信する。コーディネータ１０は、すべてのエンドデバイス１１からの応答が返信されたところで、クライアントPC１２に対して初期設定の完了通知を行う。初期設定は、エンドデバイス１１ごとに異なる初期設定情報を送信するため、個別に送信される。各エンドデバイス１１は初期設定情報を受信し次第、設定を行い、受信完了応答を返信するため、この初期設定では信号衝突は発生しない。
【００３５】
図７に示す設定変更を例に挙げて、複数のエンドデバイス１１が返信する応答による信号衝突を回避する処理について説明する。コーディネータ１０は、管理下にある複数のエンドデバイス１１のすべてに、同じ情報をブロードキャストにより一斉送信する。ブロードキャストでは、宛先の受信アドレスが各エンドデバイスのアドレスではなく、「0xffff」として配信される。ここでは、設定変更を行う情報として、時刻情報を一例として挙げるが、これに限られるものではない。コーディネータ１０からブロードキャストで配信された時刻情報は、各エンドデバイス１１が受け取り、各エンドデバイス１１において応答を返す手順が進められる。
【００３６】
図７では、コーディネータ１０の管理下にあるエンドデバイス１１が、２つのエンドデバイス１１ａ、１１ｂとされ、その応答の順番がエンドデバイス１１ａ、エンドデバイス１１ｂの順とされている。図７では、エンドデバイス１１ａに時刻情報を送信した後、エンドデバイス１１ｂに時刻情報を送信するように記載されているが、一斉送信であるため、同時に配信している。
【００３７】
エンドデバイス１１ａ、１１ｂは、時刻情報をほぼ同時に受信し、初期設定時に設定されて進行している時刻を、その受信した時刻情報に基づき変更し、記憶部４２に記憶して設定変更した後、設定変更が完了した旨の応答を返信する。その際、エンドデバイス１１ａ、１１ｂは、初期設定時に設定された他デバイスアドレス情報を参照する。順番が0であるエンドデバイス１１ａは、自機が先頭であると認識し、コーディネータ１０からの指示に従って処理を実施後、即座に応答を返信する。また、順番が1であるエンドデバイス１１ｂは、前段のエンドデバイス１１ａの応答処理、すなわち応答監視に入る。
【００３８】
応答監視では、無線ネットワーク内でやりとりされるメッセージにおいて、そのメッセージが前段のエンドデバイス１１ａからコーディネータ１０へ向けて送信されたメッセージであるか否かを検出する。前段のエンドデバイス１１ａからコーディネータ１０へ向けて送信されたメッセージかどうかは、MACヘッダに含まれるアドレス情報を参照することにより確認することができる。
【００３９】
通常、受信したメッセージが自機に向けて送信されたメッセージでない場合、エンドデバイス１１ｂの通信制御部４１は、そのメッセージを廃棄する。しかしながら、前段のエンドデバイス１１ａの応答監視中、その通信制御部４１は、前段のエンドデバイス１１ａからコーディネータ１０へ向けて送信されたメッセージについては廃棄しない。その通信制御部４１は、そのメッセージのMACペイロードの取り出しまで行い、前段のエンドデバイス１１ａの送信フレームである旨と合わせてエンドデバイス１１ｂのデバイス制御部４０に送る。
【００４０】
エンドデバイス１１ｂのデバイス制御部４０は、MACペイロードを参照し、それが現在保留していたブロードキャストメッセージに対する応答であるか否かを判断する。そのデバイス制御部４０は、その応答であると判断した場合、前段のエンドデバイス１１ａが応答を返信したので、次に自機が応答を返信する番であることを認識する。このため、そのデバイス制御部４０は、自機で保留していた応答フレームを作成し、作成した応答フレームを上記の通信制御部４１に渡す。そして、その通信制御部４１は、その応答フレームにヘッダ等を付加し、コーディネータ１０に送信する。図４に示すメッセージを応答として送信する場合、MACペイロードがこの応答フレームに相当し、MACヘッダやFCSがヘッダ等に相当するものである。
【００４１】
コーディネータ１０は、全てのエンドデバイス１１ａ、１１ｂから応答を受信した後、クライアントPC１２に設定変更が完了した旨の通知を行う。エンドデバイス１１ｂが前段のエンドデバイス１１ａのメッセージの内容を参照し、それが応答であることを確認して自機が応答を送信するという処理を行うので、信号衝突の発生をなくし、通信不具合を減少させることができる。
【００４２】
コーディネータ１０が管理するエンドデバイス１１の数が少ない場合は、上記のような処理を実施することができるが、多い場合は、応答が可能になるまで待機するのは電力の無駄になる。そこで、応答が可能になるまでの時間が長いエンドデバイス１１については省電力モードに入り、電力の消費を抑制することが望ましい。
【００４３】
この場合の処理について、図８を参照して説明する。コーディネータ１０は、管理下にある複数のエンドデバイス１１のすべてに、同じ情報をブロードキャストで配信する。ブロードキャストでは、宛先の受信アドレスが各エンドデバイスのアドレスではなく、「0xffff」として配信される。ここでも、設定変更を行う情報として、時刻情報を一例として挙げるが、これに限られるものではない。コーディネータ１０からブロードキャストで配信された時刻情報は、各エンドデバイス１１が受け取り、各エンドデバイス１１において応答を返す手順が進められる。
【００４４】
図８は、順番が0のエンドデバイス１１ａと、順番がnのエンドデバイス１１ｎのみを示す。エンドデバイス１１ａ、１１ｎは、他デバイスアドレス情報に含まれる順番を示す情報を参照する。順番が0であるエンドデバイス１１ａは、自機が先頭であると認識し、コーディネータ１０からの指示に従って処理を実施後、すぐに応答を返信する。
【００４５】
エンドデバイス１１ｎは、自機より先に応答を返信するエンドデバイス１１が多いため、省電力モードに入る。多いかどうかは、予め設定された閾値以上であるか否かにより判断することができる。例えば、閾値を５とし、エンドデバイス１１ｎの順番が１０番目である場合、閾値以上であるため、省電力モードに移行する。
【００４６】
エンドデバイス１１ｎは、他デバイスアドレス情報に含まれる前段のエンドデバイスが応答を開始する前に通常待機に戻るように、省電力モードを維持する時間を計算する。その後、エンドデバイス１１ｎは、計算して得られた時間をタイマーに設定し、省電力モードに入る。したがって、エンドデバイス１１ｎは、タイマーに設定された時間が経過後、通常待機に自動的に戻り、省電力モードに入る前の状態に復帰する。
【００４７】
省電力モードを維持する時間は、一例として、各々が応答をコーディネータ１０に返信するのにかかる時間を配信手順想定時間（秒）とし、自機の順番をnとすると、配信手順想定時間×(n-1)により計算することができる。このため、各デバイスにはnの数に応じた時間省電力設定が行われる。デバイス制御部４０は、上記の順番を示す情報に応じて省電力モードへ移行し、また、省電力モードを維持する時間を計算し、その時間が経過した後に省電力モードから復帰させるモード変更手段として機能することができる。
【００４８】
エンドデバイス１１ｎは、省電力モードから復帰後、上記と同様、前段のエンドデバイスの応答監視に入る。エンドデバイス１１ｎは、その応答監視で、前段のエンドデバイスからコーディネータ１０へ向けて送信されたメッセージを検出し、ブロードキャストメッセージに対する応答であると判断した場合、応答フレームを作成する。そして、エンドデバイス１１ｎは、その応答フレームにヘッダ等を付加し、コーディネータ１０に送信する。コーディネータ１０は、全てのエンドデバイスから応答を受信した後、クライアントPC１２に設定変更が完了した旨の通知を行う。
【００４９】
以上に説明した処理の流れを、図９〜図１１に示すフローチャートを参照して各処理に分けて詳細に説明する。図９は、ある１つのエンドデバイス１１がコーディネータ１０から送信されたメッセージに対する応答を返信する処理の流れを示したフローチャートである。ステップ９００から処理を開始し、ステップ９１０では、コーディネータ１０からのメッセージを受信する。
【００５０】
コーディネータ１０から送信されるメッセージは、コーディネータ１０から管理下にある全てのエンドデバイスにブロードキャストで送信されるメッセージや、このエンドデバイス１１にのみ送信されるメッセージがある。なお、メッセージの受信は、受信手段として機能する通信制御部４１が行うことができる。
【００５１】
ステップ９２０では、通信制御部４１が受信したメッセージをデバイス制御部４０に渡し、デバイス制御部４０が判断手段として機能し、そのメッセージの内容を参照してコーディネータ１０からの一斉配信かどうかを判断する。具体的には、メッセージのMACヘッダに含まれるアドレス情報を参照し、上記の受信アドレスが特定のアドレス「0xffff」であるかどうかにより判断する。一斉配信である場合はステップ９３０へ進み、そうでない場合はステップ９４０へ進む。
【００５２】
ステップ９３０では、デバイス制御部４０が、返信が必要なメッセージであるかどうかを判断する。例えば、コーディネータ１０から送信されたメッセージにおいて返信不要と指示されている場合は、返信不要なメッセージである。返信が必要なメッセージである場合はステップ９５０へ進み、そうでない場合はステップ９９０へ進み、この処理を終了する。
【００５３】
ステップ９４０では、このエンドデバイス１１に対するメッセージであるため、通常処理を行う。通常処理は、メッセージの指示に従って行う処理で、センサー値の読み取り指示であれば、センサー値の読み取りを行い、読み取ったセンサー値を返信する。これは一例であるので、エンドデバイス１１が実施することができれば、その他のいかなる処理であってもよい。ステップ９４０で通常処理を実施した後、ステップ９９０へ進み、この処理を終了する。
【００５４】
ステップ９５０では、前段に閾値以上のエンドデバイスが存在するかを判断する。閾値以上のエンドデバイスが存在する場合、省電力モードへ移行するべく、ステップ９６０へ進む。一方、存在しない場合、省電力モードへ移行することなく、ステップ９７０へ進む。ステップ９６０では、省電力モードに移行する。エンドデバイス１１のデバイス制御部４０は、省電力モードに移行する前に、上記の計算式等を使用して省電力モードを維持する時間を計算し、その時間をタイマーにセットする。セット後、エンドデバイス１１は、省電力モードに移行する。セットした時間が経過した後、エンドデバイス１１は、省電力モードから復帰する。
【００５５】
ステップ９７０では、前段応答完了待ち処理として、通信制御部４１が検出手段として機能し、前段のエンドデバイスからコーディネータ１０に向けたメッセージの検出を行う。そして、通信制御部４１が、メッセージの内容および前段のエンドデバイスからコーディネータ１０に向けた送信フレームである旨をデバイス制御部４０へ送る。デバイス制御部４０は、メッセージの内容に基づき、ブロードキャストメッセージに対する応答かどうかを判断する。エンドデバイス１１は、デバイス制御部４０がその応答であると判断するまで、前段のエンドデバイスの応答完了を待つ。
【００５６】
ステップ９８０では、デバイス制御部４０が応答であると判断すると、応答フレームを作成し、その応答フレームにヘッダ等を付加して通信制御部４１へ送る。通信制御部４１は、応答返信手段としても機能し、コーディネータ１０へその応答フレームをコーディネータ１０へ送信する。送信後、ステップ９９０へ進み、エンドデバイス１１は処理を終了する。
【００５７】
図１０は、省電力モードへ移行し、省電力モードから復帰するまでの処理の詳細を示したフローチャートである。エンドデバイス１１は、図９のステップ９３０で返信が必要なメッセージかどうかを判断し、返信が必要なメッセージであると判断したことを受けて、ステップ１０００からこの処理を開始する。ステップ１０１０では、デバイス制御部４０が、他デバイスアドレス情報を参照し、自機が応答を返信する順番を確認する。そして、その順番に基づき省電力モードに移行すると判断した場合、デバイス制御部４０は、省電力モードを維持する時間を計算し、省電力モード設定を行う。省電力モード設定では、通常モードから省電力モードへのモード変更、タイマーのセット等を行う。
【００５８】
ステップ１０２０では、デバイス制御部４０が、上記時間が経過したかどうかを判断する。経過していない場合、このステップ１０２０の判断を繰り返し、経過した場合、ステップ１０３０へ進む。ステップ１０３０では、省電力モード設定を通常モードにモード変更する等して解除し、省電力モードから復帰する。この復帰により、ステップ１０４０へ進み、この処理を終了する。
【００５９】
図１１は、図９に示すステップ９６０の前段応答完了待ち処理の詳細な流れを示したフローチャートである。この処理は、コーディネータ１０からのメッセージに含まれる指示に従った処理が完了した後、あるいは省電力モードから復帰した後に、ステップ１１００から開始される。ステップ１１１０では、デバイス制御部４０が、他デバイスアドレス情報を参照し、自機が先頭で応答するデバイスかどうかを判断する。すなわち、エンドデバイス１１が順番0で、先頭である場合は、ステップ１１８０へ進み、この処理を終了する。順番1等の順番が早い場合は、省電力モードへ移行しないので、上記の指示に従った処理が完了した後にこの処理を開始する。一方、順番が遅い場合は、省電力モードへ移行するため、省電力モードから復帰した後にこの処理を開始する。
【００６０】
ステップ１１２０では、通信制御部４１がメッセージを受信したかどうかを判断する。この判断は、通信制御部４１がメッセージを受信するまで繰り返し行われる。受信した場合、ステップ１１３０へ進み、通信制御部４１がそのメッセージをデバイス制御部４０へ送る。そして、デバイス制御部４０が、メッセージを構成するフレーム内の送信アドレスと、他デバイスアドレス情報に含まれる前段のエンドデバイスのアドレスとを照合する。ステップ１１４０では、その照合の結果、両者が一致するかどうかを判断する。一致する場合は、ステップ１１５０へ進み、一致しない場合は、ステップ１１６０へ進む。
【００６１】
ステップ１１５０では、デバイス制御部４０がMACペイロードを参照し、一斉送信に対する応答かどうかを判断する。一斉送信に対する応答である場合は、前段のエンドデバイスが応答を返信したことが確認できたことになるので、ステップ１１８０でこの前段応答完了待ち処理を終了する。一斉送信に対する応答でない場合は、再びステップ１１２０へ戻り、次のメッセージの受信を待つ。
【００６２】
ステップ１１６０では、そのメッセージが自機に向けたメッセージであるかどうかを判断する。自機に向けたメッセージかどうかは、送信アドレスが自機のアドレスかどうかにより判断することができる。自機に向けたメッセージでない場合、そのメッセージを廃棄し、ステップ１１２０へ戻り、次のメッセージの受信を待つ。
【００６３】
自機に向けたメッセージである場合は、ステップ１１７０においてデバイス制御部４０は、通常処理、すなわちそのメッセージに含まれる指示に従った処理を行う。その処理の終了後、ステップ１１２０へ戻り、次のメッセージの受信を待つ。当該次のメッセージも同様にして判断や照合等を行う。
【００６４】
複数のエンドデバイス１１からコーディネータ１０への信号送信が同時に発生しないように制御されるので、信号衝突を防止することができ、これにより、信号衝突による通信不具合を減少させることができる。また、無線センサーネットワークにおいて、複数のエンドデバイス１１から効率良くセンサー値等の情報の収集を行うことが可能となる。
【００６５】
これまで本発明を、通信システムおよび通信システムに用いられる通信端末として上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【００６６】
したがって、通信システムが行う通信制御方法、その通信制御を通信システムに実行させるためのプログラム、通信端末が行う通信制御方法、その通信制御を通信端末に実行させるためのプログラムも提供することができる。また、それらプログラムが記録された記録媒体も提供することができるものである。
【符号の説明】
【００６７】
１０…コーディネータ、１１、１１ａ、１１ｂ、１１ｎ…エンドデバイス、１２…クライアントPC、２０…CPU、２１…ROM、２２…RAM、２３…フラッシュメモリ、２４…通信I/F、２５…入出力I/F、３０、４０…デバイス制御部、３１、４１…通信制御部、３２、４２…記憶部、３３…入出力制御部
【先行技術文献】
【特許文献】
【００６８】
【特許文献１】特開２０１０−１１４７６６号公報
【図１】
2016144070.tif 000003
【図２】
2016144070.tif 000004
【図３】
2016144070.tif 000005
【図４】
2016144070.tif 000006
【図５】
2016144070.tif 000007
【図６】
2016144070.tif 000008
【図７】
2016144070.tif 000009
【図８】
2016144070.tif 000010
【図９】
2016144070.tif 000011
【図１０】
2016144070.tif 000012
【図１１】
2016144070.tif 000013