(57)【要約】      （修正有）【課題】複数のデバイスの時刻を高精度に同期させる同期方法、同期プログラム、及びデバイスを提供する。【解決手段】同期方法は、同期情報を含むアドバタイジングパケットを所定のチャネルで繰り返し同期制御装置がブロードキャストし、所定のチャネルで複数のデバイスがアドバタイジングパケットをスキャンし、複数のデバイスが、アドバタイジングパケットを所定のチャネルで受信すると、タイマの時刻を所定の値にセットするとともに、所定のチャネルで再びスキャンする処理を繰り返し実行する、ことを含む。【選択図】図９
2019201319.tif 000002
【特許請求の範囲】
【請求項１】
同期情報を含むアドバタイジングパケットを所定のチャネルで繰り返し同期制御装置がブロードキャストし、
前記所定のチャネルで複数のデバイスが前記アドバタイジングパケットをスキャンし、
前記複数のデバイスが、前記アドバタイジングパケットを前記所定のチャネルで受信すると、タイマの時刻を所定の値にセットするとともに、前記所定のチャネルで再びスキャンする処理を繰り返し実行する、
ことを含む、同期方法。
【請求項２】
前記所定のチャネルは、前記デバイスに設定されている複数のチャネルをスキャンする順序において、最初にスキャンが実行されるチャネルである、請求項１に記載の同期方法。
【請求項３】
前記複数のデバイスは、前記同期情報を含む前記アドバタイジングパケットを前記所定のチャネルを介して受信すると、同期完了通知を前記同期制御装置に送信し、
前記同期制御装置は、前記複数のデバイスのそれぞれから、前記同期完了通知を受信すると、前記複数のデバイスの同期が完了したと判定する、
ことを更に含む、請求項１又は２に記載の同期方法。
【請求項４】
コンピュータによって実行される同期プログラムであって、
同期制御装置がブロードキャストする同期情報を含むアドバタイジングパケットを所定のチャネルでスキャンし、
前記アドバタイジングパケットを前記所定のチャネルで受信すると、タイマの時刻を所定の値にセットするとともに、前記所定のチャネルで再びスキャンする処理を繰り返し実行する、
処理を前記コンピュータに実行させる同期プログラム。
【請求項５】
同期制御装置がブロードキャストする同期情報を含むアドバタイジングパケットを所定のチャネルでスキャンする検出部と、
前記アドバタイジングパケットを前記所定のチャネルで受信すると、タイマの時刻を所定の値にセットするとともに、前記所定のチャネルで再びスキャンする処理を繰り返し実行する実行部と、
を含む、デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同期方法、同期プログラム、及びデバイスに関する。
【背景技術】
【０００２】
近年、モノのインターネット（Internet of Things、ＩｏＴ）という言葉とともに、通信機能が備えたＩｏＴ機器が普及してきている。こうした通信機能を備える大量のＩｏＴ機器は、周辺環境を検出するセンサを備え、至る所に設置されてユビキタスウェアとして利用されている。そして、こうしたセンサを備えるデバイスで収集される各種情報から、多様なサービスの実現が期待されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−６０６０２号公報
【特許文献２】特開２０１５−１６２８７９号公報
【特許文献３】特開２０１７−１３０８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
こうしたサービスを拡充していく上で、デバイスの時刻が同期されていることは有用である。例えば、或る場所で音が発生した際に、マイクを備える複数のデバイスで音を検出し、音が検出された時刻から音の発生源の位置を特定する場合、音が検出された時刻の差から位置が推定される。そのため、高精度な機器間の時刻同期が求められる。こうした厳密な時刻同期は、専用の機器をデバイスに接続するなどして実行することが可能である。しかしながら、例えば、それぞれのデバイスに専用の機器を接続して時刻を合わせるのは手間がかかる。また、利用されるデバイスの数が増えると労力が増大する。そのため、複数のデバイスの時刻を高精度に同期させることのできる更なる手法の提供が望まれている。
【０００５】
１つの側面では、本発明は、複数のデバイスの時刻を高精度に同期させることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一つの態様の同期方法は、同期情報を含むアドバタイジングパケットを所定のチャネルで繰り返し同期制御装置がブロードキャストし、所定のチャネルで複数のデバイスがアドバタイジングパケットをスキャンし、複数のデバイスが、アドバタイジングパケットを所定のチャネルで受信すると、タイマの時刻を所定の値にセットするとともに、所定のチャネルで再びスキャンする処理を繰り返し実行する、ことを含む。
【発明の効果】
【０００７】
複数のデバイスの時刻を高精度に同期させるができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る同期システムを例示する図である。
【図２】実施形態に係るデバイスのブロック構成を例示する図である。
【図３】実施形態に係る同期制御装置のブロック構成を例示する図である。
【図４】実施形態に係るアドバタイジングパケットに含まれるデータ領域の構成を示す図である。
【図５】例示的なアドバタイズ処理を示す図である。
【図６】実施形態に係るアドバタイズ処理を例示する図である。
【図７】実施形態に係るアドバタイズ処理を例示する図である。
【図８】実施形態に係る同期制御装置の制御部が実行する同期処理の動作フローを例示する図である。
【図９】実施形態に係るデバイスの制御部が実行する同期処理の動作フローを例示する図である。
【図１０】実施形態に係るセンシングデータの利用を例示する図である。
【図１１】実施形態に係るデバイスを実現するためのハードウェア構成を例示する図である。
【図１２】実施形態に係る同期制御装置を実現するためのハードウェア構成を例示する図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
【００１０】
図１は、実施形態に係る同期システム１００を例示する図である。図１の例では、同期システム１００は、例えば、複数のデバイス１０１、同期制御装置１０２、アクセスポイント（ＡＰ）１０３、及びサーバ１０４を含む。デバイス１０１は、例えば、センサを備え、各種のセンシングデータを取得する。デバイス１０１は、例えば、Wi-Fi（登録商標）などの近距離無線通信でセンシングデータをアクセスポイント１０３を介してサーバ１０４に通知してよい。デバイス１０１は、例えば、設置自由度が高く、至る所に設置されて用いられるユビキタスウェアであってよい。
【００１１】
また、サーバ１０４は、複数のデバイス１０１のセンサで取得されたセンシングデータを用いて多様なサービスを提供することができる。また、同期制御装置１０２は、通信範囲内にある複数のデバイス１０１に同期信号を送信する。デバイス１０１は、同期信号を受信すると、例えば、自装置のタイマを所定の値に設定し、同期完了通知を同期制御装置１０２に送信してよい。同期信号は、例えば、ブルートゥース（Bluetooth（登録商標））のアドバタイジングパケットであってよい。同期制御装置１０２は、アドバタイズを実行し、同期を行うためのアドバタイジングパケットを周囲に送信する。複数のデバイス１０１は、後述するように、アドバタイジングパケットの受信により同期される。なお、デバイス１０１は、例えば、Wi-Fi通信などを用いてアクセスポイント１０３を介して同期完了通知を同期制御装置１０２に送信してもよい。或いは、デバイス１０１は、Bluetooth通信を介して同期制御装置１０２に同期完了通知を直接送信してもよい。
【００１２】
図２は、実施形態に係るデバイス１０１のブロック構成を例示する図である。デバイス１０１は、例えば、制御部２０１、記憶部２０２、通信部２０３、センサ２０４、及びタイマ２０５を含む。制御部２０１は、例えば検出部２１１、及び実行部２１２などを含む。デバイス１０１の記憶部２０２は、例えば、後述する図９の動作フローの処理を記述したプログラムなどの情報を記憶している。通信部２０３は、例えば、Bluetooth通信機器及びWi-Fi通信機器などの近距離無線通信機器であってよい。通信部２０３は、制御部２０１の指示に従って、同期制御装置１０２やアクセスポイント１０３と通信してよい。センサ２０４は、例えば、センシング対象の状態や、環境の状態を検出するセンサである。センサ２０４は、例えば、温湿度センサ、照度センサ、紫外線センサ、気圧センサ、音センサ、加速度センサ、及びＧＰＳ（Global Positioning System）機器を含んでよく、プロセッサ１１０１の指示に従ってセンサ２０４は、センシングを行う。タイマ２０５は、時刻を計時する機器であり、例えば、日時を計時したり、或いは、所定の値からカウントアップしたりすることで時刻を計時してよい。これらの各部の詳細及び記憶部２０２に格納されている情報の詳細については後述する。
【００１３】
図３は、実施形態に係る同期制御装置１０２のブロック構成を例示する図である。同期制御装置１０２は、例えば、制御部３０１、記憶部３０２、及び通信部３０３を含む。同期制御装置１０２の記憶部３０２は、例えば、後述する図８の動作フローの処理を記述したプログラムなどの情報を記憶している。通信部３０３は、例えば、Bluetoothなどの近距離無線通信機器であってよく、制御部３０１の指示に従って、同期信号をデバイス１０１に送信する。同期信号には、例えば、Bluetoothのアドバタイジングパケットを用いることができる。例えば、これらの各部の詳細及び記憶部３０２に格納されている情報の詳細については後述する。
【００１４】
図４は、実施形態に係るアドバタイジングパケットに含まれるデータ領域４００の構成を示す図である。Bluetoothのアドバタイジングパケットには、例えば、ベンダーなどが定義可能な３１バイトのデータ領域４００がある。この３１バイトのデータ領域の初めの３バイトには、プロトコルで定義されているアドバタイズのタイプを示す情報が格納される。次の１１バイトは、デバイスの名称が格納される領域であり、デバイスの名称は、例えば、接続の確立の際に接続先を示すリストに表示される名称である。次の３バイトは、パワーレベルを示す情報である。次の１４バイトはベンダーの識別情報を含み、更にベンダーが自由に値を設定できる領域４０１が含まれている。実施形態では、この領域４０１に同期指示：０ｘ０１又は同期終了：０ｘ０２を示す同期情報が格納される。
【００１５】
続いて、アドバタイジングパケットを用いた、同期処理について説明する。
【００１６】
図５は、例示的なアドバタイズ処理を示す図である。例えば、Bluetoothでは、親機（ここでは、同期制御装置１０２）は、サービスを提供する際に周辺に機器情報をアドバタイジングパケットに載せて発信する。アドバタイジングパケットは、３７チャネル（ｃｈ）、３８チャネル、３９チャネルの順で繰り返し送信される。即ち、図５に示す様に、同期制御装置１０２は、所定の時間間隔ごとに、デバイス１０１に３７チャネル、３８チャネル、３９チャネルの順でアドバタイジングパケットを送信する。
【００１７】
一方、デバイス１０１は、３７チャネル、３８チャネル、３９チャネルの順にアドバタイジングパケットをスキャンする。そして、一致するチャネルでアドバタイジングパケットを受信すると、その後、デバイス１０１は、例えば、同期制御装置１０２とのペアリングの確立など、受信したアドバタイジングパケットのタイプに応じた処理を実行する。そして、例えば、この様に、デバイス１０１が、アドバタイジングパケットを受信した時刻で、デバイス１０１の時刻を所定の値に設定したり、リセットしたりするなどして時刻の同期を図ったとする。しかしながら、図５の例では、最初のアドバタイジングパケットを受信した時刻が、デバイス１０１：Ａ、Ｂ、及びＣで異なっている。そのため、例えば、デバイス１０１が、アドバタイジングパケットを受信した時刻で、複数のデバイス１０１の時刻を同期しようとしても時刻はズレてしまう。
【００１８】
そこで、実施形態では、まず、図６に示す様に、デバイス１０１のスキャンを実行するチャネルを、スキャンの順序における先頭のチャネル（例えば、３７チャネル）に固定する。例えば、一定の期間にわたって３７チャネルでのアドバタイズが受信されない場合も、次のチャネルのスキャンに移る前に再度、強制的に３７チャネルでのスキャンに戻す。そのため、複数のデバイス１０１に、同じ３７チャネルでのみアドバタイジングパケットを受信させることができる。また、スキャンの順序における先頭のチャネルを用いることで、アドバタイジングパケットの受信タイミングを一致させやすくなる。従って、複数のデバイス１０１の時刻が、アドバタイジングパケットにより同期され易くなる。
【００１９】
また、同期制御装置１０２は、所定の間隔（図６では、アドバタイジングインターバル）において、３７チャネルでワンショットだけアドバタイジングパケットを送信する。それにより、複数のデバイス１０１に、最初のアドバタイジングパケットとして同じアドバタイジングパケットを受信させやすくすることができる。そして、例えば、アドバタイジングパケットを受信した時点で、時刻を所定の値にセットすることで、図６では、デバイス１０１：ＡとＣの時刻を同期させることができる。しかしながら、この場合も、スキャンの開始時刻が大きくズレている場合などには、図６のデバイス１０１：Ｂに示す様に、別の時点で発せられたアドバタイジングパケットを受信して時刻がセットされてしまう。そのため、デバイス１０１：Ａ及びＣと、デバイス１０１：Ｂとは、時刻がズレてしまう。
【００２０】
そこで、実施形態では更に、図７に示す様に、デバイス１０１は、同期アドバタイズを受信すると、スキャンを中止し、時刻を所定の値にセットするとともに、即座に３７チャネルで再びスキャンを実行する。そして、同期制御装置１０２の通信範囲内にある全てのデバイス１０１が同じタイミングの同期アドバタイズを受信するまで、これを繰り返すことで、デバイス１０１を同期することができる。図７の例では、二度目のアドバタイジングパケットの受信で、デバイス１０１：Ａ、Ｂ、Ｃが同期される。なお、同期処理の終了は、例えば、デバイス１０１に、アドバタイジングパケットを受信したら同期終了通知を同期制御装置１０２に宛てて送信させることで、検出することができる。例えば、同期制御装置１０２は、或る１度のアドバタイジングパケットの送信に対する返信として、通信範囲内にある全てのデバイス１０１から同期終了通知を一斉に受信すると、同期が完了したと判定してよい。なお、同期終了通知は、デバイス１０１からアクセスポイント１０３を介してWi-Fi通信で同期制御装置１０２に通知されてよいし、デバイス１０１からBluetooth通信で同期制御装置１０２に直接通知されてもよい。なお、例えば、上述の繰り返し処理を、ある程度の回数繰り返すと同期が完了することが経験上分かっている。そのため、別の実施形態では、同期制御装置１０２は、所定の回数、アドバタイジングパケットを送信すると、同期が完了したものと見做してもよい。
【００２１】
また、図７の例では、同期制御装置１０２は、３８チャネル、３９チャネルでもアドバタイジングパケットを送信しているが、別の実施形態では、アドバタイジングパケットの送信も先頭の３７チャネルのみに固定されてもよい。それにより、３８チャネル、３９チャネルでのアドバタイジングパケットの送信にかかる消費電力を削減することができる。
【００２２】
以上で述べた、同期処理の動作フローを以下に説明する。
【００２３】
図８は、実施形態に係る同期制御装置１０２の制御部３０１が実行する同期処理の動作フローを例示する図である。同期制御装置１０２の制御部３０１は、例えば、同期処理開始指示が入力されると図８の動作フローを開始してよい。
【００２４】
Ｓ８０１において制御部３０１は、送信先のデバイスに設定されている複数のチャネルをスキャンする順序において最初にスキャンが実行される先頭のチャネルで、同期指示用のアドバタイジングパケットをブロードキャストする。同期指示用のアドバタイジングパケットは、例えば、上述の図４で例示するアドバタイジングパケットのデータ領域４００の領域４０１に同期指示：０ｘ０１の同期情報を格納しているアドバタイジングパケットであってよい。なお、Bluetoothの規格では、スキャンの順序において先頭のチャネルは３７チャネルとなっているため、制御部３０１は、３７チャネルで同期指示用のアドバタイズを送信してよい。
【００２５】
Ｓ８０２において制御部３０１は、通信範囲内にある全てのデバイス１０１から同期完了通知を受信したか否かを判定する。なお、制御部３０１は、デバイス１０１から同期完了通知を、Wi-Fi通信でアクセスポイント１０３を介して受信してもよいし、デバイス１０１からBluetooth通信で直接受信してもよい。Ｓ８０２において、通信範囲内にある全てのデバイス１０１から同期通知を受信していない場合（Ｓ８０２がＮｏ）、フローはＳ８０３に進む。
【００２６】
Ｓ８０３において制御部３０１は、所定時間経過したか否かを判定する。所定時間経過していない場合（Ｓ８０３がＮｏ）、フローはＳ８０２に戻る。一方、所定時間経過している場合（Ｓ８０３がＹｅｓ）、フローはＳ８０１に戻る。
【００２７】
また、Ｓ８０２において、通信範囲内にある全てのデバイス１０１から同期通知を受信している場合（Ｓ８０２がＹｅｓ）、フローはＳ８０４に進む。Ｓ８０４において制御部３０１は、同期処理終了用のアドバタイズを送信し、本動作フローは終了する。なお、同期処理終了用のアドバタイズは、例えば、上述の図４に示すアドバタイジングパケットであってよく、領域４０１に同期終了：０ｘ０２の同期情報が格納されていてよい。
【００２８】
以上で述べたように、同期制御装置１０２の制御部３０１は、通信範囲内にいる複数のデバイス１０１に同期情報を含む同期指示用のアドバタイズを送信する。そして、複数のデバイス１０１から同期完了通知を受信すると、それらの複数のデバイス１０１の同期が完了したと判定し、時刻同期を実行する同期モードを終了する。
【００２９】
また、図９は、実施形態に係るデバイス１０１の制御部２０１が実行する同期処理の動作フローを例示する図である。デバイス１０１の制御部２０１は、例えば、同期処理開始指示が入力されると図９の動作フローを開始してよい。
【００３０】
Ｓ９０１において制御部２０１は、先頭のチャネルでアドバタイジングパケットのスキャンを実行する。なお、Bluetoothの規格では、先頭のチャネルは３７チャネルとなっているため、制御部２０１は、３７チャネルでアドバタイジングパケットのスキャンを実行してよい。
【００３１】
Ｓ９０２において制御部２０１は、アドバタイジングパケットを受信したか否かを判定する。アドバタイジングパケットを受信していない場合（Ｓ９０２がＮｏ）、フローはＳ９０６に進む。Ｓ９０６において制御部２０１は、所定時間経過したか否かを判定する。所定時間経過していない場合（Ｓ９０６がＮｏ）、フローはＳ９０２に戻る。一方、所定時間経過した場合（Ｓ９０６がＹｅｓ）、フローはＳ９０１に戻る。
【００３２】
また、Ｓ９０２においてアドバタイジングパケットを受信した場合（Ｓ９０２がＹｅｓ）、フローはＳ９０３に進む。Ｓ９０３において制御部２０１は、受信したアドバタイジングパケットが、同期情報を含むアドバタイジングパケットか否かを判定する。例えば、制御部２０１は、アドバタイジングパケットの領域４０１に同期指示：０ｘ０１又は同期終了：０ｘ０２が格納されているか否かにより、同期情報を含むアドバタイジングパケットか否かを判定してよい。Ｓ９０３においてアドバタイジングパケットが同期情報を含むアドバタイジングパケットでない場合（Ｓ９０３がＮｏ）、フローはＳ９０２に戻る。一方、Ｓ９０３においてアドバタイジングパケットが同期情報を含むアドバタイジングパケットである場合（Ｓ９０３がＹｅｓ）、フローはＳ９０４に進む。
【００３３】
Ｓ９０４において制御部２０１は、同期情報を含むアドバタイジングパケットが、同期指示用のアドバタイズか否かを判定する。例えば、制御部２０１は、アドバタイジングパケットの領域４０１に同期指示：０ｘ０１が格納されているか、又は同期終了：０ｘ０２が格納されているかにより、判定を実行してよい。アドバタイジングパケットの領域４０１に同期指示：０ｘ０１が格納されている場合、制御部２０１は、同期指示用のアドバタイズと判定してよく（Ｓ９０４がＹｅｓ）、フローはＳ９０５に進む。
【００３４】
Ｓ９０５において制御部２０１は、自装置が備えるタイマ２０５に所定の値を設定して、同期制御装置１０２に同期完了通知を送信し、フローはＳ９０１に戻る。
【００３５】
一方、アドバタイジングパケットの領域４０１に同期終了：０ｘ０２が格納されている場合、制御部２０１は、同期指示のアドバタイズではないと判定してよく（Ｓ９０４がＮｏ）、Ｓ９０７に進む。Ｓ９０７において制御部２０１は、他のデバイス１０１との時刻の同期を行う同期モードを終了し、本動作フローは終了する。
【００３６】
図９の動作フローに置いて、デバイス１０１の制御部２０１は、同期情報を含むアドバタイズを受信すると、自装置の備えるタイマ２０５を所定の値にセットし、再度スキャンを実行する。この処理を繰り返すことにより、上述の図７を参照して述べた様に、複数のデバイス１０１の時刻を同期することが可能である。また、デバイス１０１の制御部２０１は、同期情報を含むアドバタイズを受信すると、同期制御装置１０２に同期完了通知を通知する。そのため、同期制御装置１０２は、送信した同期情報を含むアドバタイズに対して、同期完了通知を受信できたデバイス１０１については同期できたことを検出することができる。
【００３７】
なお、図９の動作フローにおいて、Ｓ９０１〜Ｓ９０４でデバイス１０１の制御部２０１は、例えば、検出部２１１として動作する。また、Ｓ９０５及び、Ｓ９０５の処理の実行後の繰り返しでのＳ９０１の処理で、デバイス１０１の制御部２０１は、例えば、実行部２１２として動作する。
【００３８】
以上の図８及び図９の動作フローで述べた様に、実施形態によれば、複数の子デバイスが親機から一斉にアドバタイズを受信するタイミングを構築することで、高精度な時刻の同期が確立できる。実施形態による同期では、時刻は数十マイクロ秒以下の精度で同期され得る。そのため、例えば、デバイス１０１が備えるセンサ２０４でセンシングをして得られたセンシングデータに付される時刻は、高い精度で時刻が同期されている。そのため、センサ２０４でセンシングされたセンシングデータの検出時刻を複数のデバイス１０１間で、正確に時系列に並べることができ、様々な用途においてセンシングデータの利用価値を高めることができる。例えば、デバイス１０１を利用した見守り機能などを実現する際に、音(生活音:例えばドアの開閉音など)をセンシングして利用するのに実施形態を役立てることができる。
【００３９】
図１０は、実施形態に係るセンシングデータの利用を例示する図である。図１０（ａ）では、マイクを備えるデバイス１０１が２つ示されており、これらの２つのデバイス１０１で音を集音することで、設置位置と集音時刻を用いて音の発生源の位置を特定することができる。なお、デバイス１０１の設置位置は、予め分かっているものとする。音の発生源の位置を音が到達するまでの時間を距離に換算して推定する場合、これらの２つのデバイス１０１間での時刻がズレていると、大きな距離の誤差を生んでしまうため、高精度な機器間の時刻同期が求められる。上述の実施形態によれば、複数のデバイス１０１の時刻を高精度に同期させることができるので、音から正確な位置を推定することができる。
【００４０】
例えば、図１０においてバツ印は、食器が割れた音から検出された位置を示している。時刻同期により食器が割れた音から位置を推定できるため、食器がどこで割れやすいか、その原因などを推定するためにデバイス１０１で検出された音の情報を使用することができる。また同様に、音の発生位置から、冷蔵庫の扉１０１０の開け閉めと、裏口への扉１０１１の開け閉めの音を区別することも可能である。それにより、例えば、冷蔵庫が開かれていた時間を特定し、節電等の対策を考えることも可能になる。
【００４１】
また、図１０（ｂ）は、ウェアラブルデバイス１０１３を備えた作業員が壁に近づきボタン１０１４を押した場合の例である。なお、ウェアラブルデバイス１０１３及びボタン１０１４は、いずれもデバイス１０１であり、時刻が同期されているものとする。この場合に、ウェアラブルデバイス１０１３で検出されたボタンを押す作業員の動作と、実際にボタン１０１４が押された時刻とが高い精度で一致するため、ボタンを押した操作者が誰であるのかを特定することが可能になる。例えば、複数人で、複数のボタンを操作した場合にも、ボタンを押すタイミングが数十マイクロオーダーで重なることは稀であり、誰がどの操作を実行したのかある程度の精度で特定することが可能である。
【００４２】
すなわち、以上で述べたように、実施形態にかかる時刻同期でデバイス１０１の時刻を正確に同期することで、デバイス１０１で得られる情報の価値を高めることができる。
【００４３】
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、又は、一部の処理が省略されてもよい。例えば、図８のＳ８０２とＳ８０３の処理は順序を入れ替えて実行されてもよい。
【００４４】
また、例えば、同期システム１００に新たなデバイス１０１が参加した場合、実施形態に係る処理を新たなデバイス１０１も含めて再度実行することで、新たなデバイス１０１の時刻も、同期システム１００に含まれる他のデバイス１０１と同期することができる。
【００４５】
また、上述の実施形態では、Bluetooth規格のアドバタイジングパケットを例に説明を行っており、Bluetooth規格を利用して実施形態を実現できる。しかしながら、実施形態はこれに限定されるものではなく、その他の規格の情報を繰り返し送信して、実施形態に係る複数のデバイス１０１の同期が実行されてもよい。
【００４６】
また、別の実施形態では、同期制御装置１０２が、例えば、アクセスポイント１０３の代わりにデバイス１０１とサーバ１０４との間を中継する中継装置として動作してもよい。
【００４７】
図１１は、実施形態に係るデバイス１０１を実現するためのコンピュータのハードウェア構成を例示する図である。図１１のデバイス１０１を実現するためのハードウェア構成は、例えば、プロセッサ１１０１、メモリ１１０２、センサ２０４、通信インタフェース１１０４、出力装置１１０５、及びタイマ２０５を備える。なお、メモリ１１０２、センサ２０４、通信インタフェース１１０４、出力装置１１０５、及びタイマ２０５は、例えば、プロセッサ１１０１に接続されていてよい。
【００４８】
プロセッサ１１０１は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ１１０１は、メモリ１１０２を利用して例えば上述の図９の動作フローの手順を記述したプログラムを実行することで、上述した制御部２０１の一部または全部の機能を提供する。例えば、プロセッサ１１０１は、メモリ１１０２を利用してプログラムを実行することで、検出部２１１、及び実行部２１２として動作してよい。
【００４９】
メモリ１１０２は、例えば半導体メモリであり、ＲＡＭ領域及びＲＯＭ領域を含んでいてよい。なお、ＲＡＭは、Random Access Memoryの略称である。また、ＲＯＭは、Read Only Memoryの略称である。上述のデバイス１０１の記憶部２０２は、例えばメモリ１１０２である。
【００５０】
センサ２０４は、センシング対象の状態や、環境の状態を検出するセンサである。センサ２０４は、例えば、温湿度センサ、照度センサ、紫外線センサ、気圧センサ、音センサ、加速度センサ、及びＧＰＳ（Global Positioning System）機器を含んでよい。センサ２０４は、例えば、プロセッサ１１０１の指示に従ってセンシングを行う。なお、例えば、温湿度センサは、温度と湿度、照度センサは照度、紫外線センサは紫外線インデックス、気圧センサは気圧、音センサは騒音、加速度センサは加速度、及びＧＰＳ機器は位置をセンシングで計測してよい。
【００５１】
通信インタフェース１１０４は、例えば、Bluetooth通信機器及びWi-Fi通信機器などの近距離無線通信機器であってよい。通信インタフェース１１０４は、例えば、プロセッサ１１０１の指示に従って、同期制御装置１０２からBluetooth通信機器でアドバタイジングパケットを受信する。そして、通信インタフェース１１０４は、例えば、プロセッサ１１０１の指示に従って、アドバタイジングパケットの応答として、同期完了通知をBluetooth機器で同期制御装置１０２に送信してよい。或いは、通信インタフェース１１０４は、例えば、プロセッサ１１０１の指示に従って、アクセスポイント１０３を介して同期完了通知を同期制御装置１０２に送信してよい。また、通信インタフェース１１０４は、プロセッサ１１０１の指示に従って、アクセスポイント１０３を介してサーバ１０４にセンシングデータを送信してよい。通信インタフェース１１０４は、上述の通信部２０３の一例である。
【００５２】
出力装置１１０５は、例えば、ＬＥＤ（light emitting diode）などの発光素子や、ディスプレイなどの表示装置であり、ユーザにデバイス１０１の状態を通知してよい。タイマ２０５は、時刻を計時する機器であり、例えば、日時を計時したり、或いは、所定の値からカウントアップしたりすることで時刻を計時してよい。タイマ２０５は、プロセッサ１１０１の指示に従って、時刻をプロセッサ１１０１に通知する。
【００５３】
図１２は、実施形態に係る同期制御装置１０２を実現するためのコンピュータのハードウェア構成を例示する図である。図１２の同期制御装置１０２を実現するためのハードウェア構成は、例えば、プロセッサ１２０１、メモリ１２０２、及び通信インタフェース１２０４を備える。なお、メモリ１２０２、及び通信インタフェース１２０４は、例えば、プロセッサ１２０１に接続されていてよい。
【００５４】
プロセッサ１２０１は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ１２０１は、メモリ１２０２を利用して例えば上述の図８の動作フローの手順を記述したプログラムを実行することで、上述した制御部３０１の一部または全部の機能を提供する。
【００５５】
メモリ１２０２は、例えば半導体メモリであり、ＲＡＭ領域及びＲＯＭ領域を含んでいてよい。上述の同期制御装置１０２の記憶部３０２は、例えばメモリ１２０２である。
【００５６】
通信インタフェース１２０４は、例えば、Bluetooth通信機器及びWi-Fi通信機器などの近距離無線通信機器を含んでよい。例えば、通信インタフェース１２０４は、デバイス１０１からBluetooth通信機器で直接、又はアクセスポイント１０３を介してWi-Fi通信機器で同期完了通知を受信してよい。通信インタフェース１２０４は、上述の通信部３０３の一例である。
【００５７】
なお、実施形態に係る各プログラムは、例えば、記憶部２０２，及び記憶部３０２に予めインストールされていてもよく、着脱可能な記憶媒体により提供されてもよく、プログラムサーバなどからネットワークを介して提供されてもよい。
【００５８】
また、図１１、及び図１２を参照して述べたハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の機能部の一部または全部の機能がＦＰＧＡ及びＳｏＣなどによるハードウェアとして実装されてもよい。なお、ＦＰＧＡは、Field Programmable Gate Arrayの略称である。ＳｏＣは、System-on-a-chipの略称である。
【００５９】
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【００６０】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
同期情報を含むアドバタイジングパケットを所定のチャネルで繰り返し同期制御装置がブロードキャストし、
前記所定のチャネルで複数のデバイスが前記アドバタイジングパケットをスキャンし、
前記複数のデバイスが、前記アドバタイジングパケットを前記所定のチャネルで受信すると、タイマの時刻を所定の値にセットするとともに、前記所定のチャネルで再びスキャンする処理を繰り返し実行する、
ことを含む、同期方法。
（付記２）
前記所定のチャネルは、前記デバイスに設定されている複数のチャネルをスキャンする順序において、最初にスキャンが実行されるチャネルである、付記１に記載の同期方法。
（付記３）
前記複数のデバイスは、前記同期情報を含む前記アドバタイジングパケットを前記所定のチャネルを介して受信すると、同期完了通知を前記同期制御装置に送信し、
前記同期制御装置は、前記複数のデバイスのそれぞれから、前記同期完了通知を受信すると、前記複数のデバイスの同期が完了したと判定する、
ことを更に含む、付記１又は２に記載の同期方法。
（付記４）
同期制御装置がブロードキャストする同期情報を含むアドバタイジングパケットを所定のチャネルでスキャンし、
前記アドバタイジングパケットを前記所定のチャネルで受信すると、タイマの時刻を所定の値にセットするとともに、前記所定のチャネルで再びスキャンする処理を繰り返し実行する、
処理をコンピュータに実行させる同期プログラム。
（付記５）
同期制御装置がブロードキャストする同期情報を含むアドバタイジングパケットを所定のチャネルでスキャンする検出部と、
前記アドバタイジングパケットを前記所定のチャネルで受信すると、タイマの時刻を所定の値にセットするとともに、前記所定のチャネルで再びスキャンする処理を繰り返し実行する実行部と、
を含む、デバイス。
（付記６）
同期情報を含むアドバタイジングパケットを所定のチャネルで繰り返しブロードキャストする同期制御装置と、
前記所定のチャネルで前記アドバタイジングパケットをスキャンする検出部と、
前記アドバタイジングパケットを前記所定のチャネルで受信すると、タイマの時刻を所定の値にセットするとともに、前記所定のチャネルで再びスキャンする処理を繰り返し実行する実行部と、
を含む、デバイスと、
を含む、同期システム。
【符号の説明】
【００６１】
１００    同期システム
１０１    デバイス
１０２    同期制御装置
１０３    アクセスポイント
１０４    サーバ
２０１    制御部
２０２    記憶部
２０３    通信部
２０４    センサ
３０１    制御部
３０２    記憶部
３０３    通信部
１１０１  プロセッサ
１１０２  メモリ
１１０４  通信インタフェース
１１０５  出力装置
１２０１  プロセッサ
１２０２  メモリ
１２０４  通信インタフェース
【図１】
2019201319.tif 000003
【図２】
2019201319.tif 000004
【図３】
2019201319.tif 000005
【図４】
2019201319.tif 000006
【図５】
2019201319.tif 000007
【図６】
2019201319.tif 000008
【図７】
2019201319.tif 000009
【図８】
2019201319.tif 000010
【図９】
2019201319.tif 000011
【図１０】
2019201319.tif 000012
【図１１】
2019201319.tif 000013
【図１２】
2019201319.tif 000014