以下、本発明の各実施形態について、添付の図面を参照しながら説明する。なお、各実施形態に係る明細書及び図面の記載に関して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重畳した説明を省略する。
(第1実施形態)
第1実施形態に係る通信装置1について、図1〜図8を参照して説明する。本実施形態に係る通信装置1は、BLE通信が可能なBLEデバイスであり、無線通信機能を必要とする任意のデバイスに搭載可能である。この通信装置1は、BLEのペリフェラルとして機能し、BLEのセントラルとして機能する他の通信装置と接続し、通信する。他の通信装置は、例えば、スマートフォン、携帯電話、ノートPC(Personal Computer)、タブレット端末、クライアントPCなどである。以下では、他の通信装置を、通信端末2と称する。例えば、本実施形態に係る通信装置1は、MFPに搭載され、通信端末2を有するユーザのユーザ認証や、MFPのステータス情報の送受信に利用される。
まず、本実施形態に係る通信装置1の構成について説明する。図1は、本実施形態に係る通信装置1のハードウェア構成の一例を示す図である。図1の通信装置1は、無線モジュール11と、ホストシステム12と、サブシステム13と、タイマー14と、を備える。また、通信装置1は、周辺IOモジュール16と、RAM(Random Access Memory)17と、ユーザインタフェース(User I/F)18と、Key/LED(Light Emitting Diode)コントローラ19と、を備える。
無線モジュール11は、ファームウェアを実装した、通信端末2とBLE通信が可能なIC(Integrated Circuit)である。BLE通信とは、無線通信規格であるBLEに準拠した無線通信のことである。無線モジュール11は、BLE以外の無線通信規格(Wi−Fi(登録商標)やBluetooth(登録商標)など)による通信が可能なコンボモジュールであってもよい。無線モジュール11は、常に通常モードで動作し、省エネルギーモードには移行しない。
ホストシステム12は、無線モジュール11のBLE通信を含めた、通信装置1の全体の動作を制御する。ホストシステム12は、マイコンやSoC(System on Chip)により構成される。
図2は、ホストシステム12の機能構成の一例を示す図である。図2のホストシステム12は、動作状態制御部121と、通信制御部122と、更新部123と、を備える。各機能構成は、ホストシステム12がソフトウェアを実行することにより実現されてもよいし、ハードウェア(例えば、ホストシステム12に搭載されたIC)により実現されてもよい。
動作状態制御部121は、通信装置1の各構成(ただし、無線モジュール11、サブシステム13、及びタイマー14を除く)の動作状態を制御する。具体的は、動作状態制御部121は、通常モードから省エネルギーモードへの移行と、省エネルギーモードから通常モードへの復帰と、を制御する。通常モードは、通常動作を可能な動作状態である。省エネルギーモードは、少なくとも一部の機能が停止した、低消費電力な動作状態である。
動作状態制御部121は、例えば、ユーザ(ユーザインタフェース18)からの入力や、通信端末2からの接続要求が、所定時間以上ない場合、通信装置1の各構成を通常モードから省エネルギーモードに移行させる。動作状態制御部121は、タイマー14の計測時間を監視することにより、所定時間を計測すればよい。また、動作状態制御部121は、例えば、ユーザ(ユーザインタフェース18)からの入力や通信端末2からの接続要求があった場合に、通信装置1の各構成を省エネルギーモードから通常モードに復帰させる。動作状態制御部121は、ホストシステム12が省エネルギーモードの間、サブシステム13からの起床割り込みを受け付ける。すなわち、ホストシステム12が省エネルギーモードの間、動作状態制御部121は通常モードで動作し、通信制御部122及び更新部123は停止する。
通信制御部122は、無線モジュール11による通信端末2とのBLE通信を制御する。
更新部123は、所定の更新時間毎に、BLE通信に利用される情報を更新し、更新した情報を無線モジュール11に通知する。更新時間は、例えば、15分であるが、これに限られない。BLE通信に利用される情報は、BLEのAdvAを含み、更新部123は、AdvAを更新する。更新部123は、AdvAと共に、他の情報を更新してもよい。なお、AdvAについて、詳しくは後述する。
サブシステム13は、通信装置1の全体の動作状態を監視し、AdvAの更新時刻から更新時間が経過したことを動作状態制御部に通知する。サブシステム13は、常に通常モードで動作し、省エネルギーモードには移行しない。サブシステム13は、ファームウェアを実装したマイコンやSoCにより構成される。
タイマー14は、AdvAの更新時刻からの経過時間を計測するためのタイマーである。タイマー14は、ソフトウェアにより実現されてもよいし、ハードウェアにより実現されてもよい。タイマー14は、常に通常モードで動作し、省エネルギーモードには移行しない。本実施形態において、タイマー14は、サブシステム13に設けられ、例えば、サブシステム13に搭載されたRTC(Real Time Clock)などにより実現される。
周辺IOモジュール16は、USB(Universal Serial Bus)やEthernet(登録商標)などの、BLE以外の通信規格で外部装置を接続するための入出力インタフェースである。
RAM17は、ホストシステム12に作業領域を提供する。RAM17は、例えば、DRAM(Dynamic RAM)、SRAM(Static RAM)、フラッシュメモリなどである。
ユーザインタフェース18は、操作ボタン(キー)、タッチパネル、ディスプレイ、マウス、キーボードなどの入出力装置である。ユーザインタフェース18は、通信装置1が搭載されたデバイスの入出力装置(例えば、MFPの操作パネル)であってもよい。
Key/LEDコントローラ19は、通信装置1や通信装置1が搭載されたデバイスが備える、操作ボタンやLEDを制御するコントローラである。図1の例では、Key/LEDコントローラ19は、サブシステム13により制御される。
次に、本実施形態に係る通信装置1と、通信端末2と、の間のBLE通信について説明する。図3は、通信装置1と通信端末2との間のBLE通信を示すシーケンス図である。図3の例では、シーケンス開始時点で、BLE通信に利用されるAdvAなどの情報は、無線モジュール11に通知されているものとする。また、シーケンス開始時点で、ホストシステム12は、省エネルギーモードであり、無線モジュール11及びサブシステム13は、通常モードであるものとする。
通信装置1の動作中、無線モジュール11は、アドバタイジングパケット(Advertising_Packet:AdvP)を定期的に発信する(ステップS101)。通信端末2が通信装置1と通信可能な距離まで近づくと、通信端末2は、AdvPを受信し、受信したAdvPに基づいて、通信装置1と通信するか判断する。
通信端末2は、通信装置1と通信すると判断した場合、接続要求(Connect_req)を返信する(ステップS102)。無線モジュール11は、この接続要求を受信すると、通常モードで動作中のサブシステム13に対して、起床割り込み(Wakeup_interrupt)を発行する(ステップS103)。
サブシステム13は、無線モジュール11から起床割り込みを受け付けると、動作状態制御部121に起床割り込み(Wakeup_interrupt)を発行する(ステップS104)。動作状態制御部121は、起床割り込みを受け付けると、ホストシステム12(通信制御部122及び更新部123)を省エネルギーモードから通常モードに復帰させる。通信端末2は、ホストシステム12が通常モードに復帰するまで、ポーリング(Polling)を行う(ステップS105)。
ホストシステム12が通常モードに復帰すると、通信制御部122は、無線モジュール11を介して、通信端末2に応答(Response)する(ステップS106)。通信端末2は、応答を受信すると、通信装置1との間の接続が確立されたと判断し、以降のBLE通信を実行する。
なお、シーケンス開始時点でホストシステム12が通常モードである場合、無線モジュール11は、通信端末2から接続要求を受信すると、その旨をホストシステム12に通知する。そして、通信制御部122は、この通知に対応して、無線モジュール11を介して、通信端末2に応答する。この場合、無線モジュール11は、サブシステム13に起床割り込みを発行しなくてもよい。また、無線モジュール11がサブシステム13に起床割り込みを発行し、サブシステム13が当該起床割り込みを無視してもよい。
次に、AdvAについて説明する。通信装置1が発信するAdvPには、アクセスアドレス(Access Address)、ヘッダー(Adv PDU Header)、アドバタイザーズデータ(Advertiser's data:AdvData)、AdvAなどが含まれる。
アクセスアドレスは、発信元(通信装置1)を示すアドレスであり、AdvPの場合、固定値である。ヘッダーは、アドバタイジングの種類や、ペイロード(AdvA及びAdvData)のデータ長などを示す。AdvDataは、AdvPの発信元が利用するBLE通信の機能などを示す。
AdvAは、発信元(通信装置1)を示すアドレスである。AdvAには、パブリックアドレスと、ランダムアドレスの2種類がある。AdvAの種類は、ヘッダーに含まれるTxAddの値により特定される。本実施形態では、AdvAがランダムアドレスである場合(TxAdd=1)を想定している。以下では、AdvAを、単にランダムアドレスを称する。
図4は、BLEのランダムアドレスについて説明する図である。図4に示すように、通信装置1のランダムアドレスは、乱数生成されたアドレスである乱数アドレスと、ハッシュ値と、に基づいて生成される。ハッシュ値は、乱数アドレスと、IRK(Identify Resolving Key)と、に基づいて生成される。IRKは、通信装置1が有する固有の値である。通信装置1は、更新時間ごとに新たな乱数アドレスを生成し、生成した乱数アドレスに基づいて、新たなランダムアドレスを生成する。これにより、通信装置1のランダムアドレスは、更新時間ごとに更新される。上述の通り、ランダムアドレスの更新は、更新部123により行われる。
通信装置1は、通信端末2と接続すると、通信端末2に自装置のIRKを送信する。通信端末2は、接続中の通信装置1から受信したIRKをメモリに保持する。また、通信端末2は、接続中の通信装置1から受信したランダムアドレス及びハッシュ値をメモリに保持する。
ここで、通信装置1と通信端末2との接続が何らかの理由で切断された場合について考える。通信装置1は、接続が切断されると、ランダムアドレス(AdvA)を含むAdvPを発信する。通信端末2は、このAdvPを受信すると、AdvPに含まれるランダムアドレス(受信アドレス)と、メモリに保持されたランダムアドレス(旧ランダムアドレス)と、を比較する。2つのランダムアドレスが一致する場合、通信端末2は、AdvPを発信した通信装置1が、接続が切断された通信装置1であると判断し、通信装置1と接続する。
一方、2つのランダムアドレスが一致しない場合、通信端末2は、接続が切断された通信装置1のIRKと、受信アドレスと、に基づいて、ハッシュ値を計算する。そして、通信端末2は、計算により得られたハッシュ値と、メモリに保持されたハッシュ値(旧ハッシュ値)と、を比較する。2つのハッシュ値が一致する場合、通信端末2は、AdvPを発信した通信装置1が、接続が切断された通信装置1であると判断し、通信装置1と接続する。
このように、通信端末2は、通信装置1との間の接続が切断されている間に、その通信装置1のランダムアドレスが更新された場合であっても、通信装置1を識別し、接続することができる。
次に、通信装置1の省エネルギーモードについて説明する。図5は、省エネルギーモードの通信装置1の一例を示す図である。図5の例では、斜線で塗りつぶされた構成は、省エネルギーモードであることを示し、斜線で塗りつぶされていない構成は、通常モードであることを示している。
本実施形態では、図5に示すように、通信装置1が省エネルギーモードの場合、無線モジュール11、サブシステム13、及びタイマー14は、通常モードで動作する。これに対して、ホストシステム12、周辺IOモジュール16、RAM17、ユーザインタフェース18、及びKey/LEDコントローラ19は、省エネルギーモードで動作する。
省エネルギーモードのホストシステム12は、動作状態制御部121によるサブシステム13からの起床割り込みの受け付けのみ行い、他の機能(通信制御部122及び更新部123)が停止する。
省エネルギーモードの、周辺IOモジュール16、ユーザインタフェース18、及びKey/LEDコントローラ19は、電源がONのまま機能を停止していてもよいし、電源がOFFになっていてもよい。
RAM17は、揮発性メモリの場合、セルフリフレッシュモードで動作し、不揮発性メモリの場合、電源がOFFになる。
なお、通信装置1が省エネルギーモードの間も、無線モジュール11は、定期的にAdvPを発信する。また、サブシステム13は、無線モジュール11からの起床割り込みを受け付ける。また、タイマー14は、時間の計測を継続する。
次に、本実施形態に係る通信装置1の動作について説明する。以下では、通信装置1によるランダムアドレスの更新処理と、通信装置1による通信処理と、についてそれぞれ説明する。
図6は、本実施形態に係る通信装置1によるランダムアドレスの更新処理の一例を示すフローチャートである。サブシステム13は、タイマー14の計測時間を監視し、前回の更新時刻から所定の更新時間が経過すると、図6の更新処理を開始する。
更新処理の開始時点で通信装置1が省エネルギーモードである場合(ステップS201のYES)、サブシステム13が動作状態制御部121に起床割り込みを発行し、動作状態制御部121がホストシステム12を省エネルギーモードから通常モードに復帰させる(ステップS202)。起床割り込みを発行することは、更新時刻から更新時間が経過したことを通知することに相当する。
図7は、更新処理の実行中にホストシステム12を復帰させた通信装置1の一例を示す図である。図7に示すように、ホストシステム12を通常モードに復帰させると、通信制御部122及び更新部123も通常モードに復帰する。このように、更新処理の際に、ホストシステム12を復帰させ、他の構成(周辺IOモジュール16など)を復帰させないことにより、更新処理による消費電力を低減させることができる。なお、動作状態制御部121は、ステップS202において、通信装置1の全体を省エネルギーモードから通常モードに復帰させてもよい。
ステップS202において、ホストシステム12が復帰すると、上述の通り、更新部123も復帰する。図6に示すように、更新部123は、通常モードに復帰すると、ランダムアドレスを更新し(ステップS203)、更新されたランダムアドレスを無線モジュール11に通知する(ステップS204)。ランダムアドレスの更新方法は上述の通りである。以降、無線モジュール11は、更新された新たなランダムアドレスを含むAdvPを発信する。また、サブシステム13は、タイマー14の計測時間を監視して、今回の更新時刻からの経過時間の計測を開始する。
更新部123が無線モジュール11へランダムアドレスを通知した後、動作状態制御部121は、所定時間が経過するまで待機する(ステップS205のNO)。所定時間が経過すると(ステップS205のYES)、動作状態制御部121は、ホストシステム12を通常モードから省エネルギーモードに移行させる(ステップS206)。これにより、通信装置1は、図5のような省エネルギーモードとなり、更新処理が終了する。
一方、更新処理の開始時点で通信装置1が省エネルギーモードでない場合(ステップS201のNO)、サブシステム13は、更新部123に、更新時刻から更新時間が経過したことを通知する(ステップS207)。以降の処理は、上述のステップS203〜S206と同様である。
サブシステム13は、今回の更新時刻から更新時間が経過すると、次の更新処理を実行する。今回の更新時刻は、更新処理の開始時刻であってもよいし、更新処理の終了時刻であってもよい。
図8は、本実施形態に係る通信装置1による通信処理の一例を示すフローチャートである。無線モジュール11は、定期的にAdvPを発信し、AdvPに対する通信端末2からの応答(接続要求)の受信を待機する。無線モジュール11は、通信端末2から接続要求を受信すると、図8の通信処理を開始する。
通信処理の開始時点で通信装置1が省エネルギーモードである場合(ステップS301のYES)、無線モジュール11は、サブシステム13に起床割り込みを発行する。サブシステム13は、この起床割り込みを受け付けると、動作状態制御部121に起床割り込みを発行する。動作状態制御部121は、この起床割り込みを受け付けると、通信装置1を省エネルギーモードから通常モードに復帰させる(ステップS302)。なお、通信処理の開始時点で通信装置1が省エネルギーモードである場合には、更新処理の実行中に通信処理が開始された場合も含まれる。
通信装置1が通常モードに復帰すると、通信制御部122は、無線モジュール11を制御して、通信端末2との間のBLE通信を実行する(ステップS303)。
通信装置1と通信端末2との間のBLE通信の終了後、動作状態制御部121は、所定時間が経過するまで待機する(ステップS304のNO)。所定時間が経過すると(ステップS304のYES)、動作状態制御部121は、通信装置1を通常モードから省エネルギーモードに移行させる(ステップS305)。これにより、通信装置1は、図5のような省エネルギーモードとなり、通信処理が終了する。
一方、通信処理の開始時点で通信装置1が省エネルギーモードでない場合(ステップS301のNO)、無線モジュール11は、接続要求を受信したことを、通信制御部122に通知する(ステップS306)。以降の処理は、上述のステップS303〜S305と同様である。
以上説明した通り、本実施形態によれば、通信装置1は、省エネルギーモードに移行することができる。省エネルギーモードでは、ホストシステム12(通信制御部122及び更新部123)などの構成の一部の機能を停止したり、電源をOFFにしたりすることができる。このため、省エネルギーモードにより、通信装置1の消費電力を低減することができる。
また、本実施形態によれば、更新部123により、所定の更新時間ごとにBLEのランダムアドレスを更新し、無線モジュール11に通知することができる。無線モジュール11が、更新部123から通知されたランダムアドレスを含むAdvPを発信することにより、通信装置1は、通信端末2とBLE通信を実行することができる。
結果として、本実施形態によれば、省エネルギーモードに移行可能であり、かつ、通信端末2とBLE通信を実行可能な通信装置1を実現することができる。
(第2実施形態)
第2実施形態に係る通信装置について、図9及び図10を参照して説明する。図9は、本実施形態に係る通信装置1の構成の一例を示す図である。図9に示すように、本実施形態に係る通信装置1は、タイマー14がホストシステム12に設けられる。タイマー14は、例えば、ホストシステム12に搭載されたRTCなどにより実現される。他の構成は、第1実施形態と同様である。以下、第1実施形態との相違点について説明する。
図10は、省エネルギーモードの通信装置1の一例を示す図である。図10の例では、斜線で塗りつぶされた構成は、省エネルギーモードであることを示し、斜線で塗りつぶされていない構成は、通常モードであることを示している。
本実施形態では、図10に示すように、省エネルギーモードのホストシステム12は、動作状態制御部121によるサブシステム13からの起床割り込みの受け付けと、タイマー14による時間の計測と、を行い、他の機能(通信制御部122及び更新部123)が停止する。タイマー14は、ホストシステム12とは独立した電源を備えるのが好ましい。
次に、本実施形態に係る通信装置1の動作について説明する。本実施形態に係る通信装置1によるランダムアドレスの更新処理及び通信処理は、第1実施形態と同様である。ただし、本実施形態では、サブシステム13は、ホストシステム12に設けられたタイマー14の計測時間を監視する。計測時間の監視は、サブシステム13が定期的にタイマー14に計測時間を要求することにより行われてもよいし、タイマー14が所定時間ごとにサブシステム13に計測時間を通知することにより行われてもよい。
以上説明した通り、本実施形態によれば、第1実施形態と同様に、省エネルギーモードに移行可能であり、かつ、通信端末2とBLE通信を実行可能な通信装置1を実現することができる。
(第3実施形態)
第3実施形態に係る通信装置1について、図11〜図13を参照して説明する。図11は、本実施形態に係る通信装置1の構成の一例を示す図である。本実施形態に係る通信装置1は、更新部123がサブシステム13に設けられ、更新部123が更新したランダムアドレスが無線モジュール11に通知される。他の構成は、第1実施形態と同様である。以下、第1実施形態との相違点について説明する。
図12は、省エネルギーモードの通信装置1の一例を示す図である。図12の例では、斜線で塗りつぶされた構成は、省エネルギーモードであることを示し、斜線で塗りつぶされていない構成は、通常モードであることを示している。
本実施形態では、図12に示すように、通信装置1が省エネルギーモードの場合、無線モジュール11、サブシステム13、及びタイマー14は、通常モードで動作する。これに対して、ホストシステム12、周辺IOモジュール16、RAM17、ユーザインタフェース18、及びKey/LEDコントローラ19は、省エネルギーモードとなる。
省エネルギーモードのホストシステム12は、動作状態制御部121によるサブシステム13からの起床割り込みの受け付けのみ行い、他の機能(通信制御部122)が停止する。
次に、本実施形態に係る通信装置1の動作について説明する。本実施形態に係る通信装置1の通信処理は、第1実施形態と同様である。以下では、通信装置1によるランダムアドレスの更新処理について説明する。
図13は、本実施形態に係る通信装置1によるランダムアドレスの更新処理の一例を示すフローチャートである。サブシステム13は、タイマー14の計測時間を監視し、前回の更新時刻から所定の更新時間が経過すると、図13の更新処理を開始する。
更新処理が開始すると、更新部123は、ランダムアドレスを更新し(ステップS401)、更新したランダムアドレスを無線モジュール11に通知する(ステップS402)。ランダムアドレスの更新方法は上述の通りである。以降、無線モジュール11は、更新された新たなランダムアドレスを含むAdvPを発信する。
更新処理の開始時点で通信装置1が省エネルギーモードである場合(ステップS403のYES)、以上で更新処理は終了する。
一方、更新処理の開始時点で通信装置1が省エネルギーモードでない場合(ステップS403のNO)、更新部123が無線モジュール11へランダムアドレスを通知した後、動作状態制御部121は、所定時間が経過するまで待機する(ステップS404のNO)。所定時間が経過すると(ステップS404のYES)、動作状態制御部121は、通信装置1を通常モードから省エネルギーモードに移行させる(ステップS405)。これにより、通信装置1は、図12のような省エネルギーモードとなり、更新処理が終了する。
サブシステム13は、今回の更新時刻から所定の更新時間が経過すると、次の更新処理を実行する。今回の更新時刻は、更新処理の開始時刻であってもよいし、更新処理の終了時刻であってもよい。
以上説明した通り、本実施形態によれば、ホストシステム12を省エネルギーモードから通常モードに復帰させることなく、更新処理を実行することができる。したがって、本実施形態によれば、第1実施形態に比べて、通信装置1の消費電力をより低減することができる。
なお、本実施形態では、ホストシステム12は、省エネルギーモードの間に更新されたランダムアドレスを把握できない。そこで、無線モジュール11は、ホストシステム12が復帰した際に、現在利用しているランダムアドレスをホストシステム12に通知するのが好ましい。
また、本実施形態において、ホストシステム12は、通信装置1が通常モードの間、サブシステム13の代わりにランダムアドレスの更新処理を行ってもよい。この場合、ホストシステム12及びサブシステム13に、更新部123を設ければよい。
(第4実施形態)
第4実施形態に係る通信システムについて、図14〜図16を参照して説明する。本実施形態では、タイマー14及び更新部123が外部のサーバ3に設けられる場合について説明する。
図14は、本実施形態に係る通信システムの構成の一例を示す図である。図14の通信システムは、通信装置1と、サーバ3と、アクセスポイント(AP)4と、を備える。本実施形態に係る通信装置1は、タイマー14及び更新部123を備えない。通信装置1の他の構成は、第1実施形態と同様である。以下、第1実施形態との相違点について説明する。
サーバ3は、LAN(Local Area Network)などのネットワークを介して、アクセスポイント4に接続される。サーバ3は、以上の各実施形態で説明した、タイマー14及び更新部123を備える。
図15は、本実施形態に係るサーバ3の構成の一例を示す図である。図15のサーバ3は、CPU(Central Processing Unit)301と、RAM302と、ROM(Read Only Memory)303と、HDD(Hard Disk Drive)304と、通信インタフェース(通信IF)305と、タイマー14と、更新部123と、バス306と、を備える。
CPU301は、プログラムを実行することにより、サーバ3の各構成を制御し、サーバ3の機能を実現する。RAM302は、CPU301に作業領域を提供する。ROM303は、CPU301が実行するプログラムを格納する。HDD304は、各種のデータを格納する。通信インタフェース305は、サーバ3をネットワークに接続する。タイマー14は、サーバ3に搭載されたRTCなどにより実現される。更新部123は、サーバ3に搭載された専用のICにより実現される。なお、タイマー14及び更新部123は、CPU301がプログラムを実行することにより実現されてもよい。バス306は、CPU301、RAM302、ROM303、HDD304、通信インタフェース305、タイマー14、及び更新部123を、相互に接続する。
アクセスポイント4は、LANなどのネットワークを介して、サーバ3に接続される。アクセスポイント4は、Wi−Fiなどの無線通信規格に準拠して、通信装置1の無線モジュール11と通信可能である。すなわち、図14の例では、無線モジュール11は、Wi−Fiなどの無線通信規格に準拠した通信が可能なコンボモジュールであることが想定されている。アクセスポイント4は、サーバ3の更新部123が更新したランダムアドレスを、通信装置1の無線モジュール11に無線で通知する。すなわち、本実施形態に係るサーバ3は、ネットワーク及びアクセスポイント4を介して、無線モジュール11と通信する。なお、アクセスポイント4は、サーバ3に搭載されていてもよい。
次に、本実施形態に係る通信システムの動作について説明する。本実施形態に係る通信装置1の通信処理は、第1実施形態と同様である。以下では、本実施形態に係る通信システムにおけるランダムアドレスの更新処理について説明する。
図16は、本実施形態おけるランダムアドレスの更新処理の一例を示すフローチャートである。サーバ3は、タイマー14の計測時間を監視し、前回の更新時刻から所定の更新時間が経過すると、図16の更新処理を開始する。
更新処理が開始すると、サーバ3の更新部123は、ランダムアドレスを更新し(ステップS501)、更新したランダムアドレスを、アクセスポイント4を介して、無線モジュール11に通知する(ステップS502)。ランダムアドレスの更新方法は上述の通りである。以降、無線モジュール11は、更新された新たなランダムアドレスを含むAdvPを発信する。本実施形態では、以上で更新処理が終了する。
以上説明した通り、本実施形態によれば、ホストシステム12を省エネルギーモードから通常モードに復帰させることなく、更新処理を実行することができる。したがって、本実施形態によれば、第1実施形態に比べて、通信装置1の消費電力をより低減することができる。
なお、本実施形態では、ホストシステム12は、省エネルギーモードの間に更新されたランダムアドレスを把握できない。そこで、無線モジュール11は、ホストシステム12が復帰した際に、現在利用しているランダムアドレスをホストシステム12に通知するのが好ましい。
また、本実施形態において、ホストシステム12は、通信装置1が通常モードの間、サブシステム13の代わりにランダムアドレスの更新処理を行ってもよい。この場合、ホストシステム12に、更新部123を設ければよい。
また、本実施形態において、通信システムは、アクセスポイント4の代わりに、BLEデバイスやBluetoothデバイスを備えてもよい。このような構成により、サーバ3が更新したランダムアドレスを、BLEデバイスやBluetoothデバイスを介して、通信装置1の無線モジュール11に無線で通知することができる。
また、本実施形態において、無線モジュール11は、サーバ3からランダムアドレスを通知されたことをホストシステム12に通知してもよい。これにより、動作状態制御部121による、更新処理が終了してから所定時間後に通信装置1を省エネルギーモードに移行させる制御(図13のステップS404,405)が可能となる。
(第5実施形態)
第5実施形態に係る通信システムについて、図17〜図19を参照して説明する。以上の各実施形態では、通信装置1が更新時刻からの経過時間を計測し、更新時間が経過すると、ランダムアドレスを更新する通信システムについて説明した。これに対して、本実施形態では、通信端末2が更新時刻からの経過時間を計測し、更新時間が経過すると、通信装置1に更新時間が経過したことを通知する通信システムについて説明する。
図17は、本実施形態に係る通信システムの構成の一例を示す図である。図17に示すように、本実施形態において、タイマー14は、通信端末2に設けられる。他の構成は、第1実施形態と同様である。
以下、本実施形態に係る通信システムが実行する処理について説明する。図18は、本実施形態に係る通信端末2が実行する処理の一例を示すフローチャートである。図18のフローチャートの開始時点で、通信装置1は通常モードであり、通信装置1及び通信端末2は、通信装置1のランダムアドレスを利用してBLE通信を実行しているものとする。
本実施形態において、通信装置1は、更新時間毎にランダムアドレスを更新し、更新したランダムアドレスを通信端末2に通知する。具体的には、更新部123が更新時間毎にランダムアドレスを更新し、無線モジュール11が更新されたランダムアドレスを通信端末2に通知する。通信端末2は、通信装置1から新たなランダムアドレスを通知されると、記憶している通信装置1のランダムアドレスを、通知された新たなランダムアドレスに更新する(ステップS601)。すなわち、通信端末2は、通知された新たなランダムアドレスを、通信装置1のアクセスアドレスと対応付けて、通信装置1のランダムアドレスとして記憶する。
通信端末2は、ランダムアドレスを更新すると、タイマー14の計測時間を監視して、更新時刻からの経過時間の計測を開始する(ステップS602)。通信端末2が計測する更新時間は、通信装置1が計測する更新時間と同一であってもよいし、異なってもよい。
その後、通信端末2は、ステップS601の更新時刻から更新時間が経過するか、又は通信装置1から新たなランダムアドレスを通知されるまで、待機する(ステップS603,S604のNO)。この待機期間中に、通信端末2は、新たなランダムアドレスを利用して通信装置1とBLE通信を実行することができる。
通信端末2が待機期間中に通信装置1から新たなランダムアドレスを通知された場合(ステップS604のYES)、処理はステップS601に戻る。このような場合として、通信端末2が計測している更新時間と、通信装置1が計測している更新時間と、が異なる場合が挙げられる。
一方、通信端末2が通信装置1から新たなランダムアドレスを通知されることなく更新時間が経過した場合(ステップS603のYES)、通信端末2は、通信装置1との接続が切断されたと判定する(ステップS605)。接続が切断される場合として、通信装置1が省エネルギーモードに移行した場合、通信端末2が通信装置1から通信不能な距離まで離れた場合、通信装置1にエラーが発生した場合などが挙げられる。
通信端末2は、通信装置1との接続が切断されたと判定すると、通信装置1に対応する未更新フラグをONにする(ステップS606)。未更新フラグは、ランダムアドレスが更新時間以内に更新されたか否かを示すフラグであり、通信装置1ごとに保持される。未更新フラグがONであることは、当該未更新フラグに対応する通信装置1のランダムアドレスが更新時間以上更新されていないことを意味する。
その後、通信端末2は、ユーザからBLE通信の実行を要求されるまで待機する(ステップS607のNO)。ユーザは、通信端末2の入力装置を操作することにより、通信端末2にBLE通信の実行を要求できる。
通信端末2は、ユーザからBLE通信の実行を要求されると(ステップS607のYES)、AdvPを受信するまで待機する(ステップS608のNO)。なお、通信端末2は、AdvPを所定時間受信できなかった場合、受信処理を終了してもよい。
通信端末2は、AdvPを受信すると(ステップS608のYES)、当該AdvPを発信した通信装置1に対応する未更新フラグがONであるか確認する(ステップS609)。これは、通信システムに複数の通信装置1が含まれることを想定した処理である。具体的には、通信端末2は、受信したAdvPに含まれるアクセスアドレスに対応する未更新フラグがONであるか確認する。
通信端末2は、AdvPを発信した通信装置1に対応する未更新フラグがONである場合(ステップS609のYES)、当該AdvPに含まれるアクセスアドレスを利用して、通信装置1と接続する(ステップS610)。AdvPを発信した通信装置1に対応する未更新フラグがONである場合とは、AdvPを発信した通信装置1が、ステップS605において接続が切断したと判定された通信装置1である場合に相当する。すなわち、通信端末2は、ランダムアドレスが更新時間以上更新されていない通信装置1と接続する場合、当該通信装置1のアクセスアドレスを利用して接続する。
通信端末2は、通信装置1と接続すると、当該通信装置1にランダムアドレスの更新時間が経過たことを通知する(ステップS611)。通信端末2から更新時間の経過を通知されると、更新部123がランダムアドレスを更新し、無線モジュール11が更新された新たなランダムアドレスを通信端末2に通知する。
通信端末2は、通信装置1から新たなランダムアドレスを通知されると、記憶している通信装置1のランダムアドレスを、通知された新たなランダムアドレスに更新する(ステップS612)。具体的には、通信端末2は、通知された新たなランダムアドレスを、通信装置1のアクセスアドレスと対応付けて、通信装置1のランダムアドレスとして記憶する。
以降、通信端末2は、更新された新たなランダムアドレスを利用して、通信装置1とBLE通信を実行する(ステップS613)。通信端末2は、新たなランダムアドレスを利用して、通信装置1と再接続してもよいし、通信に利用するランダムアドレスを新たなランダムアドレスに書き換えて、通信装置1とのBLE通信を継続してもよい。
これに対して、受信したAdvPに含まれるアクセスアドレスに対応する未更新フラグがONでない場合(ステップS609のNO)、当該AdvPに含まれるランダムアドレスを利用して、通信装置1と接続し(ステップS614)、当該ランダムアドレスを利用して、通信装置1とBLE通信を実行する(ステップS613)。すなわち、通信端末2は、ランダムアドレスが更新時間以内に更新されている通信装置1と接続する場合、当該通信装置1の現在のランダムアドレスを利用して接続する。
図19は、本実施形態に係る通信装置1が実行する処理の一例を示すフローチャートである。無線モジュール11は、定期的にAdvPを発信し、AdvPに対する通信端末2からの応答(接続要求)の受信を待機する。無線モジュール11は、通信端末2から接続要求を受信すると、図19の通信処理を開始する。
通信処理の開始時点で通信装置1が省エネルギーモードである場合(ステップS701のYES)、無線モジュール11は、サブシステム13に起床割り込みを発行する。サブシステム13は、この起床割り込みを受け付けると、ホストシステム12に起床割り込みを発行する。動作状態制御部121は、この起床割り込みを受け付けると、通信装置1を省エネルギーモードから通常モードに復帰させる(ステップS702)。この際、動作状態制御部121は、ホストシステム12を含む一部の構成を復帰させてもよいし、通信装置1の全体を復帰させてもよい。
通信装置1が通常モードに復帰すると、通信制御部122は、無線モジュール11を制御して、通信端末2からのポーリングに応答して通信端末2と接続し、通信端末2から更新時間の経過を通知されたか確認する(ステップS703)。
通信端末2から更新時間の経過を通知された場合(ステップS703のYES)、通信制御部122は、その旨を更新部123に通知し、更新部123は、ランダムアドレスを更新する(ステップS704)。ランダムアドレスの更新方法は上述の通りである。更新部123は、ランダムアドレスを更新すると、当該ランダムアドレスを無線モジュール11に通知、無線モジュール11が当該ランダムアドレスを通信端末2に通知する(ステップS705)。
その後、通信制御部122は、無線モジュール11を制御し、通信端末2に通知した新たなランダムアドレスを利用して、通信端末2との間のBLE通信を実行する(ステップS706)。
一方、通信端末2から更新時間の経過を通知されていない場合(ステップS703のNO)、通信制御部122は、無線モジュール11を制御し、現在利用しているランダムアドレスをそのまま利用して、通信端末2との間のBLE通信を実行する(ステップS706)。
通信端末2とのBLE通信の終了後、動作状態制御部121は、所定時間が経過するまで待機する(ステップS707のNO)。所定時間が経過すると(ステップS707のYES)、動作状態制御部121は、通信装置1を通常モードから省エネルギーモードに移行させる(ステップS708)。これにより、通信装置1は、省エネルギーモードとなり、通信処理が終了する。
一方、通信処理の開始時点で通信装置1が省エネルギーモードでない場合(ステップS701のNO)、無線モジュール11は、接続要求を受信したことを、通信制御部122に通知する(ステップS709)。以降の処理は、上述のステップS703〜S708と同様である。
以上説明した通り、本実施形態によれば、通信端末2は、ランダムアドレスの更新時刻からの経過時間を計測し、更新時間が経過すると、アクセスアドレスを利用して通信装置1に接続し、通信装置1に更新時間の経過を通知する。通信端末2から更新時間の経過を通知された通信装置1は、ランダムアドレスを更新する。以降、通信装置1と通信端末2とは、更新された新たなランダムアドレスを利用してBLE通信を実行する。
これにより、通信装置1と通信端末2とは、更新時間以上更新されていないランダムアドレスを利用することなく、すなわち、更新時間以内に更新されたランダムアドレスを利用して、BLE通信を実行することができる。したがって、BLE通信の安全性を向上できる。
また、通信装置1は、更新時間毎に省エネルギーモードから通常モードに復帰することなく、通信端末2とBLE通信するためのランダムアドレスを更新できる。したがって、通信装置1の消費電力を低減することができる。
なお、本実施形態において、サブシステム13もタイマー14を備え、更新時刻からの経過時間を計測し、経過時間を通信制御部122に通知してもよい。これにより、通信制御部122は、通信端末2が接続要求の際に利用したアドレスと、更新時刻からの経過時間と、に基づいて、接続要求を行った通信端末2が正規の通信端末2であるか判定できる。
具体的には、通信制御部122は、更新時間以内に現在のランダムアドレスを利用して接続要求を行った通信端末2と、更新時間の経過後にアクセスアドレスを利用して接続要求を行った通信端末2と、を正規の通信端末2と判定すればよい。これにより、通信制御部122は、本実施形態に係る正規の通信端末2と選択的にBLE通信を実行できる。
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。