(57)【要約】【課題】  アドバタイズを送信する際の帯域利用効率を向上させることを目的とする。【解決手段】  アドバタイズ識別子の異なる複数のアドバタイズパケットのうちの少なくとも１つに対応する信号を他の通信装置から受信した場合、当該信号に対応するアドバタイズ識別子のアドバタイズパケットの送信を停止する。【選択図】  図９
2019083485.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
アドバタイズ識別子の異なる複数のアドバタイズパケットを送信する送信手段と、
前記送信手段により送信された前記複数のアドバタイズパケットのうちの少なくとも１つに対応する信号を他の通信装置から受信する受信手段と、
前記受信手段が前記信号を受信した場合、当該信号に対応するアドバタイズ識別子のアドバタイズパケットの送信を停止する停止手段と、
を有することを特徴とする通信装置。
【請求項２】
前記送信手段は、Ｂｌｕｅｔｏｏｔｈ規格に準拠したアドバタイズパケットを送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記受信手段が、所定の数の他の通信装置から、前記複数のアドバタイズパケットのうちの所定のアドバタイズ識別子に対応する信号を受信した場合、前記停止手段は、前記所定のアドバタイズ識別子のアドバタイズパケットの送信を停止することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記複数のアドバタイズパケットのうちの少なくとも１つに対応する信号を送信した装置を管理する管理手段を更に有し、
前記所定の数は、前記管理手段により管理されている装置の台数であることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記停止手段が前記複数のアドバタイズパケットのうちの少なくとも１つの送信を停止した後に、前記送信手段による前記複数のアドバタイズパケットの送信を再開させる再開手段を更に有することを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記再開手段は、前記停止手段が前記複数のアドバタイズパケットのうちの少なくとも１つの送信を停止してから所定時間が経過すると、前記送信手段による前記複数のアドバタイズパケットの送信を再開させることを特徴とする請求項５に記載の通信装置。
【請求項７】
前記再開手段は、前記停止手段が前記複数のアドバタイズパケットのうちの少なくとも１つの送信を停止している際に、新たな他装置が検出された場合、前記送信手段による前記複数のアドバタイズパケットの送信を再開させることを特徴とする請求項５または６に記載の通信装置。
【請求項８】
前記再開手段は、前記停止手段が前記複数のアドバタイズパケットの全ての送信を停止した後に、前記送信手段による前記複数のアドバタイズパケットの送信を再開させることを特徴とする請求項５に記載の通信装置。
【請求項９】
前記再開手段は、前記停止手段が前記複数のアドバタイズパケットの全ての送信を停止してから所定時間が経過すると、前記送信手段による前記複数のアドバタイズパケットの送信を再開させることを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記再開手段は、前記停止手段が前記複数のアドバタイズパケットの全ての送信を停止している際に、新たな他装置が検出された場合、前記送信手段による前記複数のアドバタイズパケットの送信を再開させることを特徴とする請求項８または９に記載の通信装置。
【請求項１１】
通信装置の制御方法であって、
アドバタイズ識別子の異なる複数のアドバタイズパケットを送信する送信工程と、
前記送信工程において送信された前記複数のアドバタイズパケットのうちの少なくとも１つに対応する信号を他の通信装置から受信する受信工程と、
前記受信工程において前記信号を受信した場合、当該信号に対応するアドバタイズ識別子のアドバタイズパケットの送信を停止する停止工程と、
を有することを特徴とする制御方法。
【請求項１２】
コンピュータを請求項１から１０のいずれか１項に記載の通信装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアドバタイズを送信する通信装置に関する。
【背景技術】
【０００２】
Ｂｌｕｅｔｏｏｔｈ（登録商標）  ｌｏｗ  ｅｎｅｒｇｙ（以下、ＢＬＥとも称する）規格に基づいて周囲に情報を送信（アドバタイズ）する技術が存在する。
【０００３】
特許文献１では、携帯端末と双方向通信を開始するための通信開始情報を、データ構造の仕様に応じて複数分割し、所定時間で切り替えてアドバタイズする技術が記載されている。当該技術を用いれば、送信したい情報がデータ構造によって決まる１回で送信可能な情報量より大きい場合でも、情報を送信することが可能となる。
【０００４】
また、Ｂｌｕｅｔｏｏｔｈ５規格では、複数のアドバタイズを並列に送信できる機構が定義されている。また、アドバタイズ送信端末からアドバタイズに対する要求パケットを受信した場合、どのアドバタイズに対する要求パケットを受けたのか識別できる機構が定義されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−５７０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１においては、通信開始情報を分割してアドバタイズする場合、所定時間で通信開始情報を切り替えてアドバタイズする技術が記載されている。しかし、この方法では、携帯端末が通信開始情報を受信した場合でも、所定時間が経過するまでは、通信端末は同じ内容の通信開始情報をアドバタイズし続けてしまう。これにより、アドバタイズ送信時の帯域利用効率が低下してしまっていた。
【０００７】
上記課題を鑑み、本発明は、アドバタイズを送信する際の帯域利用効率を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明に係る通信装置は、アドバタイズ識別子の異なる複数のアドバタイズパケットを送信する送信手段と、前記送信手段により送信された前記複数のアドバタイズパケットのうちの少なくとも１つに対応する信号を他の通信装置から受信する受信手段と、前記受信手段が前記信号を受信した場合、当該信号に対応するアドバタイズ識別子のアドバタイズパケットの送信を停止する停止手段と、を有する。
【発明の効果】
【０００９】
本発明によれば、アドバタイズを送信する際の帯域利用効率を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態における通信システムの構成を示す図。
【図２】実施形態におけるカメラのハードウェア構成を示す図。
【図３】実施形態におけるカメラのアドバタイズパケットの構成を示す図。
【図４】実施形態におけるスマートフォンのアドバタイズパケットの構成を示す図。
【図５】実施形態におけるカメラのアドバタイズ情報送信前処理のフローチャート。
【図６】実施形態におけるカメラのアドバタイズ受信機器リストを示す図。
【図７】実施形態におけるカメラのアドバタイズ受信機器リストを更新する際のフローチャート。
【図８】図７におけるカメラのアドバタイズ受信機器リストの状態を示す図。
【図９】実施形態におけるカメラのアドバタイズ停止、および、再開する際のフローチャート。
【図１０】図９におけるカメラのアドバタイズ受信機器リストの状態を示す図。
【図１１】実施形態におけるカメラのアドバタイズを１台のスマートフォンで受信する際のシーケンス図。
【図１２】図１１におけるカメラのアドバタイズ受信機器リストの状態を示す図。
【図１３】実施形態におけるカメラのアドバタイズを２台のスマートフォンで受信する際のカメラのアドバタイズ受信機器リストを示す図。
【図１４】図１３におけるカメラのアドバタイズ受信機器リストの状態を示す図。
【発明を実施するための形態】
【００１１】
以下、本実施形態に係る通信システムについて、図面を参照しながら詳細に説明する。なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宣修正または変更されてもよく、本発明は以下の実施形態に限定されるものではない。
【００１２】
図１に、本実施形態の通信システムの構成を示す。本通信システムは、カメラ１０１とスマートフォン１０２、１０３とから構成される。カメラ１０１、および、スマートフォン１０２、１０３は、いずれもバッテリで動作し、Ｂｌｕｅｔｏｏｔｈ  ｌｏｗ  ｅｎｅｒｇｙ（以下、ＢＬＥとも称する）規格に準拠した通信１０４を利用して、相互に通信する。
【００１３】
カメラ１０１は、ＢＬＥ規格に準拠したペリフェラルとして動作し、定期的にカメラ１０１の情報を含むアドバタイズパケットを送信（ここでは、ブロードキャスト）する。なお、アドバタイズパケットに含まれる情報とは、例えば、カメラ１０１が有する撮像画像のサムネイル情報である。
【００１４】
本実施形態では、カメラ１０１はユーザ操作に従い、アドバタイズパケットの送信を開始する。しかしこれに限らず、カメラ１０１による画像撮影に応じて、アドバタイズパケットの送信を開始してもよい。
【００１５】
スマートフォン１０２、１０３は、カメラ１０１から受信したアドバタイズパケットに含まれる情報に基づいて処理を行う。例えば、カメラ１０１からサムネイル情報を含むアドバタイズパケットを受信した場合、当該サムネイルの表示を行う。また、スマートフォン１０２、１０３は、ユーザからの操作に応じて、表示したサムネイルの画像に対応する本画像をＢｌｕｅｔｏｏｔｈ規格やＩＥＥＥ８０２．１１シリーズ規格等の無線通信を介して、カメラ１０１から取得するようにしてもよい。
【００１６】
図２に、カメラ１０１のハードウェア構成を示す。カメラ１０１は、制御部２０１、ＢＬＥ通信部２０２、撮像部２０３、ＵＩ２０４、メモリ２０５、および、タイマ２０６を有する。なお、スマートフォン１０２および１０３も、カメラ１０１と同様のハードウェア構成を有する。
【００１７】
制御部２０１は、例えば、ＣＰＵやＭＰＵ等の１以上のプロセッサにより構成され、メモリ２０５に記憶されている制御プログラムを実行することにより、カメラ１０１を制御する。制御部２０１は、プロセッサに加えて、もしくは、代えて、ＡＳＩＣ（特定用途向け集積回路）、ＤＳＰ（デジタルシグナルプロセッサ）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）等により構成されるようにしてもよい。ここで、ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略であり、ＭＰＵはＭｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、制御部２０１は、メモリ２０５に記憶されたプログラムとＯＳとの協働によりカメラ１０１を制御するようにしてもよい。ここで、ＯＳはＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略である。
【００１８】
また、制御部２０１は制御プログラムを実行中に変数の値を記憶する際にもメモリ２０５を用いる。また制御部２０１は、時間を計測する際に、タイマ２０６を用いる。
【００１９】
更に、制御部２０１は、ＢＬＥ通信部２０２を用いてＢＬＥ規格に準拠した通信方式（ＢＬＥ通信）にてスマートフォン１０２、１０３と情報の送受信を行う。また、制御部２０１は、アドバタイズ受信機器リスト６００の更新処理も行う。アドバタイズ受信機器リスト６００のデータはメモリ２０５に格納される。
【００２０】
ＢＬＥ通信部２０２は、アンテナと変復調回路、メディアアクセス制御等、ＢＬＥ通信を行う上で必要となる機能を備える。撮像部２０３はレンズと撮像素子を備え、レンズを通して得た光を静止画または動画の画像情報に変換する。制御部２０１は、ユーザの撮影操作に基づいて撮像部２０３を制御し、撮像部２０３から取得した画像情報をメモリ２０５に格納する。
【００２１】
ＵＩ２０４は、ユーザがカメラ１０１を操作するための表示器やボタンを備える。例えば、ユーザはＵＩ２０４を介して、カメラ１０１がアドバタイズを送信するか否かを設定することができる。設定された情報はメモリ２０５に格納される。なお、ＵＩはＵｓｅｒ  Ｉｎｔｅｒｆａｃｅの略である。
【００２２】
メモリ２０５は、例えば、制御部２０１が実行する制御プログラムを格納するための１以上のＲＯＭ、及び、制御プログラムを実行するために必要な作業領域として使用するための１以上のＲＡＭにより構成される。また、メモリ２０５は各種情報を格納する。ここで、ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略であり、ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。なお、メモリ２０５としては、ＲＯＭ、ＲＡＭ等のメモリに加えて、もしくは、代えて、ハードディスク、光ディスク、光磁気ディスク、ＣＤ、ＤＶＤなどの記憶媒体が用いられてもよい。また、メモリ２０５全体が１つのハードウェアにより構成されていてもよい。
【００２３】
次に、カメラ１０１が送信するアドバタイズパケット３００の構成を図３に示す。アドバタイズパケット３００は、ＢＬＥ規格に準拠したアドバタイズパケットであり、本実施形態では、アドバタイズの種類としてＡＵＸ＿ＡＤＶ＿ＩＮＤに該当する。アドバタイズパケット３００は、ヘッダ、Ｐａｙｌｏａｄ、および、ＣＲＣで構成される。なお、これらの一部の情報要素から構成するようにしてもよい。ヘッダには、アドバタイズの種類を示す情報やＰａｙｌｏａｄの長さの情報が含まれる。Ｐａｙｌｏａｄには、アドバタイズされる情報（以下、アドバタイズ情報）を格納するＡｄｖＤａｔａやＡｄｖｅｒｔｉｓｉｎｇ  Ｓｅｔ  ＩＤ（ＳＩＤ）を格納するＡｄｖＤａｔａＩｎｆｏ（ＡＤＩ）が存在する。ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）は、受信側で誤り検出するためのデータであり、ヘッダとＰａｙｌｏａｄを構成する各ビットの値から計算される。
【００２４】
スマートフォン１０２、１０３がカメラ１０１に送信するアドバタイズパケットを図４の４００に示す。アドバタイズパケット３００は、ＢＬＥ規格に準拠する形式のアドバタイズパケットであり、本実施形態では、アドバタイズの種類としてＡＵＸ＿ＳＣＡＮ＿ＲＥＱに該当する。アドバタイズパケット３００は、カメラ１０１からアドバタイズパケット３００を受信した際にカメラ１０１へＢＬＥ通信部２０２で送信される。アドバタイズパケット３００は、ヘッダ、Ｐａｙｌｏａｄ、および、ＣＲＣから構成される。なお、これらの一部の情報要素から構成するようにしてもよい。ヘッダには、アドバタイズの種類を示す情報やＰａｙｌｏａｄの長さの情報が含まれる。ＣＲＣは受信側で誤り検出するためのデータであり、ヘッダとＰａｙｌｏａｄを構成する各ビットの値から計算される。Ｐａｙｌｏａｄには、スマートフォン１０２または１０３自身のＢＬＥ端末としてのデバイスアドレスを格納するｓｃａｎｎｅｒ’ｓ  ｄｅｖｉｃｅ  ａｄｄｒｅｓｓ（ＳｃａｎＡ）が含まれる。また、カメラ１０１のＢＬＥ端末としてのデバイスアドレスを格納するａｄｖｅｒｔｉｓｅｒ’ｓ  ｄｅｖｉｃｅ  ａｄｄｒｅｓｓ（ＡｄｖＡ）も含まれる。なお、ＡＵＸ＿ＳＣＡＮ＿ＲＥＱは、アドバタイズ情報の送信元に対して追加の情報を要求するためのものである。このため、アドバタイズ情報の送信元がＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信すると、追加の情報であるＡＵＸ＿ＳＣＡＮ＿ＲＥＳＰをＡＵＸ＿ＳＣＡＮ＿ＲＥＱの送信元にアドバタイズすることもできる。
【００２５】
図５に、アドバタイズ情報を設定する際に、メモリ２０５に記憶されたプログラムを制御部２０１が読み出して実行することで実現されるフローチャートを示す。本処理は、ユーザがＵＩ２０４でアドバタイズ情報の設定をした際に制御部２０１により開始される。なお、制御部２０１が撮像部２０３から取得した画像情報をメモリ２０５に格納した後や、メモリ２０５の設定内容がアドバタイズＯＮに切り替わった後、または所定時間経過時に本処理を開始してもよい。この場合、メモリ２０５に格納された画像情報で更新日時が最新のものをメモリ２０５のアドバタイズ情報に格納してもよい。
【００２６】
まず、初めに、制御部２０１は、アドバタイズする情報の分割を行う（Ｓ５０１）。Ｓ５０１では、アドバタイズパケット３００のＡｄｖ  Ｄａｔａに格納なサイズの最大サイズ以下のサイズになるようにメモリ２０５のアドバタイズ情報の分割を行う。本実施形態では、メモリ２０５のアドバタイズ情報を３つに分割するものとする。なお、アドバタイズする情報のサイズがＡｄｖ  Ｄａｔａに格納なサイズの最大サイズよりも小さい場合には、当該処理を省略してもよい。
【００２７】
Ｓ５０１の後、制御部２０１はアドバタイズ情報の識別子（アドバタイズ識別子）の設定を行う（Ｓ５０２）。具体的には、制御部２０１はＢＬＥ通信部２０２に対し、アドバタイズに利用するＡｄｖｅｒｔｉｓｉｎｇ＿Ｈａｎｄｌｅ（ＡｄｖＨａｎｄｌｅ）の値とＳＩＤの値を設定する。その後、ＡｄｖＨａｎｄｌｅを指定し、アドバタイズ情報の登録を行う。この動作をＳ５０１で分割した分割数分行う。ここでは、分割情報の１つ目に対してＡｄｖＨａｎｄｌｅの値を０、分割情報の２つ目に対してＡｄｖＨａｎｄｌｅの値を１、分割情報の３つ目に対してＡｄｖＨａｎｄｌｅの値を２に設定する。ＳＩＤについては、分割情報の一つ目に対してＳＩＤ０、分割情報の二つ目に対してＳＩＤ１、分割情報の三つ目に対してＳＩＤ２を設定したものとする。なお、ＳＩＤ０はＳＩＤの値が０に設定されたことを示す。なお、本実施形態では、アドバタイズ識別子としてＡｄｖＨａｎｄｌｅを利用するが、ＳＩＤをアドバタイズ識別子として利用してもよい。なお、ＳＩＤをアドバタイズ識別子として利用する場合、ＡｄｖＨａｎｄｌｅの値を設定しなくてもよい。
【００２８】
次に、メモリ２０５の設定内容がアドバタイズＯＮの場合において、制御部２０１がアドバタイズを停止するか否か、または再開するか否かを判定するために用いるアドバタイズ受信機器リスト６００を図６に示す。アドバタイズ受信機器リスト６００は、ＡｄｖＨａｎｄｌｅ情報６０１とデバイス情報６０２とを管理する。６０１には、アドバタイズで利用するＡｄｖＨａｎｄｌｅの値が登録され、６０２には、制御部２０１がＡＵＸ＿ＳＣＡＮ＿ＲＥＱの送信元の装置のデバイス名が格納される。なお、デバイス名に代えて、もしくは、加えて６０２にＡＵＸ＿ＳＣＡＮ＿ＲＥＱの送信元の装置の識別子（ＭＡＣアドレスやＢｌｕｅｔｏｏｔｈアドレスなど）を格納するようにしてもよい。
【００２９】
また、６０１と６０２は、初期状態の場合、“ＮＵＬＬ”を登録ものとする。なお、“ＮＵＬＬ”でなくとも空の意味を示す他の値（例えば、“０”や“‐”）を登録してもよい。
【００３０】
図７に、アドバタイズ受信機器リスト６００を更新する際に、メモリ２０５に記憶されたプログラムを制御部２０１が読み出して実行することで実現されるフローチャートを示す。本処理は、メモリ２０５の設定内容がアドバタイズＯＮに切り替わった場合に開始される。また、アドバタイズＯＮである場合において、後述するＳ９０４の処理により全てのアドバタイズパケット３００の送信が停止されている場合に、所定の条件に従って開始される。
【００３１】
ここで、所定の条件とは、全てもしくは一部のＳＩＤに対応するアドバタイズパケット３００の送信が停止されてから所定時間が経過した場合や、ユーザやアプリケーションからアドバタイズパケット３００の送信再開の指示があった場合などである。また、全てのＳＩＤに対応するアドバタイズパケット３００の送信を開始してから所定時間が経過した場合であってもよい。また、アドバタイズ受信機器リスト６００により管理する装置の台数が変わった場合であってもよい。これらの条件の何れを用いるかは適宜選択することができ、１つの条件のみならず複数の条件を用いるようにしてもよい。
【００３２】
まず、制御部２０１はアドバタイズ受信機器リスト６００の初期化を行う（Ｓ７０１）。Ｓ７０１では、ＡｄｖＨａｎｄｌｅ情報６０１にＳ５０２で決定したＡｄｖＨａｎｄｌｅの値を登録し、デバイス情報６０２に“ＮＵＬＬ”を登録する。その後、制御部２０１はＡＵＸ＿ＳＣＡＮ＿ＲＥＱの待機状態になる。例えば、制御部２０１がＡｄｖＨａｎｄｌｅ０、ＡｄｖＨａｎｄｌｅ１、ＡｄｖＨａｎｄｌｅ２を用いてアドバタイズを行う場合、Ｓ７０１によりアドバタイズ受信機器リスト６００は更新されて、図８の８００の状態になる。
【００３３】
ＡＵＸ＿ＳＣＡＮ＿ＲＥＱの待機状態では、制御部２０１はＢＬＥ通信部２０２がＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信したか判定する（Ｓ７０２）。ＢＬＥ通信部２０２が、いずれかの機器のＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信した場合（Ｓ７０２でＹｅｓの場合）、制御部２０１はアドバタイズ受信機器リストの更新（Ｓ７０３）を行う。いずれの機器からもＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信しなかった場合（Ｓ７０２でＮｏの場合）、ＡＵＸ＿ＳＣＡＮ＿ＲＥＱの待機状態に戻る。なお、Ｓ７０２でＢＬＥ通信部２０２がＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信すると、制御部２０１は、ＬＥ  Ｓｃａｎ  Ｒｅｑｕｅｓｔ  Ｒｅｃｅｉｖｅｄ  ＥｖｅｎｔによりＡＵＸ＿ＳＣＡＮ＿ＲＥＱの送信元のデバイスアドレスを取得できる。また、制御部２０１は、ＬＥ  Ｓｃａｎ  Ｒｅｑｕｅｓｔ  Ｒｅｃｅｉｖｅｄ  Ｅｖｅｎｔにより、どのＡｄｖＨａｎｄｌｅに対してのＡＵＸ＿ＳＣＡＮ＿ＲＥＱをＢＬＥ通信部２０２が受信したかを取得できる。
【００３４】
Ｓ７０３では、まず制御部２０１は、デバイス情報６０２の更新を行う。Ｓ７０２で制御部２０１が取得したデバイスアドレスがデバイス情報６０２に登録されていない場合、制御部２０１は、ＡＵＸ＿ＳＣＡＮ＿ＲＥＱの送信元のデバイス名を、デバイス情報６０２に新たに登録する。既にデバイス名がデバイス情報６０２に登録されている場合、制御部２０１はデバイス情報６０２の更新は行わない。その後、Ｓ７０２で取得したＡｄｖＨａｎｄｌｅの情報を用いて、該当するアドバタイズ受信機器リスト６００の項目を“受信済み”に更新する。例えば、Ｓ７０２でスマートフォン１０２からＡｄｖＨａｎｄｌｅ０に対応するＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信した場合、アドバタイズ受信機器リストは８００から８１０の状態になる。
【００３５】
Ｓ７０３の後、制御部２０１は、全ての項目が受信済みの状態か判定を行う（Ｓ７０４）。全ての項目が受信済みの状態の場合（Ｓ７０４でＹｅｓの場合）、図７に示す処理を終了する。そうでない場合（Ｓ７０４でＮｏの場合）、ＡＵＸ＿ＳＣＡＮ＿ＲＥＱの待機状態（Ｓ７０２）に戻る。
【００３６】
図９に、アドバタイズ停止もしくは再開を制御する際に、メモリ２０５に記憶されたプログラムを制御部２０１が読み出して実行することで実現されるフローチャートを示す。本処理は、図７におけるＳ７０１の処理（アドバタイズ受信機器リストの初期化）が完了した場合に開始される。
【００３７】
まず、ＢＬＥ通信部２０２はＢｌｕｅｔｏｏｔｈにより規定されたアドバタイズパケットの一種であるＡＤＶ＿ＥＸＴ＿ＩＮＤでＡＵＸ＿ＡＤＶ＿ＩＮＤをアドバタイズするチャネルと時間を含む情報をアドバタイズする。そして、制御部２０１はＢＬＥ通信部２０２を利用してアドバタイズパケット３００（即ち、ＡＵＸ＿ＡＤＶ＿ＩＮＤ）を、当該チャネルと時間においてアドバタイズ（ブロードキャストにより送信）する（Ｓ９０１）。最初は、全てのＡｄｖＨａｎｄｌｅの各々に対応するアドバタイズパケット３００（ここでは、ＳＩＤ０、１、２）を送信する。
【００３８】
なお、後述するＳ９０４により一部のＡｄｖＨａｎｄｌｅに対応するアドバタイズパケット３００の送信が停止された場合には、当該ＡｄｖＨａｎｄｌｅに対応するアドバタイズパケット３００の送信は行わない。また、Ｓ９０４によりアドバタイズパケット３００の送信が停止された場合であっても、後述するＳ９０６によりアドバタイズパケット３００の送信が再開された場合には、当該再開されたＡｄｖＨａｎｄｌｅに対応するアドバタイズパケット３００の送信を行う。
【００３９】
また、Ｓ９０１において、ＢＬＥ通信部２０２は他の通信装置（スマートフォン１０２や１０３等）から、アドバタイズパケット３００に対応するＡＵＸ＿ＳＣＡＮ＿ＲＥＱの受信を待ち受ける。ＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信した場合には、図７のＳ７０２の処理においてＹＥＳとなり、Ｓ７０３に進むこととなる。なお、ＡＵＸ＿ＳＣＡＮ＿ＲＥＱとは、所定のアドバタイズ識別子に対応するＡＵＸ＿ＡＤＶ＿ＩＮＤを受信した装置が更なる情報を要求するために送信する信号である。また、制御部２０１は、どのアドバタイズ識別子に対応するＡＵＸ＿ＳＣＡＮ＿ＲＥＱをＢＬＥ通信部２０２が受信したかを取得できる。本実施形態では、ＡＵＸ＿ＳＣＡＮ＿ＲＥＱを、どのアドバタイズ識別子に対するＡＵＸ＿ＡＤＶ＿ＩＮＤが受信されたかを判断する信号として利用する。
【００４０】
次に、制御部２０１は、メモリ２０５に格納されているアドバタイズ受信機器リストを参照する（Ｓ９０２）。そして、参照したアドバタイズ受信機器リストに基づいて、制御部２０１は、停止条件を満たした識別子のアドバタイズが存在するかを判定する（Ｓ９０３）。
【００４１】
ここでは、ＡｄｖＨａｎｄｌｅ情報の中に、デバイス情報に登録されている全てのデバイスで“受信済み”の状態になっている値が存在する場合、その値を利用するアドバタイズは停止条件を満たしたものとする。例えば、アドバタイズ受信機器リスト６００が、図１０に示す１０００の状態である場合、ＡｄｖＨａｎｄｌｅ１は停止条件を満たしているため（Ｓ９０３でＹｅｓ）、ＡｄｖＨａｎｄｌｅ１のアドバタイズを停止する（Ｓ９０４）。停止状態のアドバタイズは、Ｓ９０１でアドバタイズされなくなる。なお、停止条件を満たした識別子のアドバタイズが既に送信停止されている場合には、Ｓ９０４に進まず、Ｓ９０５に進むようにしてもよい。
【００４２】
Ｓ９０４の後、または、Ｓ９０３でＮｏの場合、Ｓ９０２の結果から、再開条件を満たしたかアドバタイズが存在するかを制御部２０１が判定する（Ｓ９０５）。アドバタイズ受信機器リスト６００のデバイス情報６０２に新たにデバイスが登録され、かつ停止しているＡｄｖＨａｎｄｌｅが停止条件を満たさない場合、停止条件を満たさなかった停止状態のＡｄｖＨａｎｄｌｅは再開条件を満たしたものとする。例えば、アドバタイズ受信機器リスト６００が１０００の状態から１１１０の状態に更新された場合、ＡｄｖＨａｎｄｌｅ１は再開条件を満たしているため（Ｓ９０５でＹｅｓ）、ＡｄｖＨａｎｄｌｅ１のアドバタイズを再開する（Ｓ９０６）。
【００４３】
Ｓ９０６の後または、Ｓ９０５でＮｏの場合、制御部２０１はメモリ２０５の内容がアドバタイズＯＦＦか判定する（Ｓ９０７）。アドバタイズＯＦＦの場合（Ｓ９０７でＹｅｓ）、アドバタイズを終了する。また、アドバタイズがＯＮの場合（Ｓ９０７でＮｏ）、Ｓ９０１に戻る。なお、Ｓ９０７でＮｏが所定回数続いた場合、またはアドバタイズがＯＮで所定時間が経過した場合、停止状態の全てのアドバタイズを再開してもよい。また、このときＳ７０１の処理を行う。これにより、アドバタイズが全て停止した状態以降において、新たなスマートフォンがアドバタイズを受信しようとした際に、アドバタイズを受信できるようになる。
【００４４】
スマートフォン１０２のみがカメラ１０１のアドバタイズパケット３００を受信する場合のシーケンスの例を図１１に示す。また、このときのアドバタイズ受信機器リスト６００が本処理により更新される状態の遷移例を図１２に示す。なお、カメラ１０１は図７および図９に示す処理を実行する。
【００４５】
まず、Ｓ７０１の処理により、アドバタイズ受信機器リスト６００は１２００の状態になる。そして、ＢＬＥ通信部２０２は、ＡＤＶ＿ＥＸＴ＿ＩＮＤでＡＵＸ＿ＡＤＶ＿ＩＮＤをアドバタイズするチャネルと時間を含む情報をアドバタイズ（通知）する。ここでは、ＡＤＶ＿ＥＸＴ＿ＩＮＤはＡｄｖＨａｎｄｌｅ毎に３７〜３９チャネルでアドバタイズされるものとする。その後、ＢＬＥ通信部２０２は、通知したチャネルおよび時間において、メモリ２０５のアドバタイズ情報を含むＡＵＸ＿ＡＤＶ＿ＩＮＤをアドバタイズする（１１０１）。
【００４６】
また、１１０１では、制御部２０１はＢＬＥ通信部２０２でスマートフォン１０２からＡｄｖＨａｎｄｌｅ１に対応するＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信する。従って、Ｓ７０２およびＳ７０３の処理により、アドバタイズ受信機器リスト６００は１２００から１２１０の状態に更新される。
【００４７】
１１０１の後、制御部２０１はアドバタイズ受信機器リスト６００の参照（１１０２、Ｓ９０２）を行う。１１０２の結果、ＡｄｖＨａｎｄｌｅ１が停止条件を満たしているため、制御部２０１はＡｄｖＨａｎｄｌｅ１のアドバタイズの停止を行う（１１０３、Ｓ９０４）。
【００４８】
１１０３の後、制御部２０１はＢＬＥ通信部２０２を用いてＡｄｖＨａｎｄｌｅ０とＡｄｖＨａｎｄｌｅ２でアドバタイズを行う（１１０４、Ｓ９０１）。ここでは、ＡｄｖＨａｎｄｌｅ１でのアドバタイズは行われない。１１０４では、ＢＬＥ通信部２０２は、スマートフォン１０２からＡｄｖＨａｎｄｌｅ０とＡｄｖＨａｎｄｌｅ２に対応するＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信する。従って、Ｓ７０２およびＳ７０３の処理により、アドバタイズ受信機器リスト６００は１２１０から１２２０の状態に更新される。
【００４９】
１１０４の後、制御部２０１はアドバタイズ受信機器リスト６００の参照（１１０５、Ｓ９０２）を行う。１１０５の結果、ＡｄｖＨａｎｄｌｅ０とＡｄｖＨａｎｄｌｅ２が停止条件を満たしているため、制御部２０１は、ＡｄｖＨａｎｄｌｅ０とＡｄｖＨａｎｄｌｅ２のアドバタイズを停止する（１１０６、Ｓ９０４）。即ち、制御部２０１は、全てのアドバタイズパケット３００の送信を停止する。
【００５０】
１１０６の後、全てのアドバタイズパケット３００の送信が停止されてから所定時間が経過すると、制御部２０１は、全てのアドバタイズパケット３００の送信を再開する（１１０７、Ｓ９０１）。このとき、図７に示す処理が再度、実行されることにより、アドバタイズ受信機器リスト６００は１２２０から１２００の状態に更新される。
【００５１】
１１０７の後、制御部２０１はＢＬＥ通信部２０２を用いてアドバタイズを行う（１１０８、Ｓ９０１）。これにより、例えば、１１０６以降に、スマートフォン１０３がアドバタイズパケット３００を受信しようとした場合において、スマートフォン１０３はアドバタイズパケット３００を受信することが可能となる。
【００５２】
次に、スマートフォン１０２、１０３がカメラ１０１のアドバタイズパケット３００を受信する場合のシーケンスの例を図１３に示す。また、このときのアドバタイズ受信機器リスト６００が本処理により更新される状態の遷移例を図１４に示す。なお、カメラ１０１は図７および図９に示す処理を実行する。
【００５３】
まず、Ｓ７０１の処理により、アドバタイズ受信機器リスト６００は１２００の状態になる。そして、ＢＬＥ通信部２０２は、ＡＤＶ＿ＥＸＴ＿ＩＮＤでＡＵＸ＿ＡＤＶ＿ＩＮＤをアドバタイズするチャネルと時間を含む情報をアドバタイズ（通知）する。ここでは、ＡＤＶ＿ＥＸＴ＿ＩＮＤはＡｄｖＨａｎｄｌｅ毎に３７〜３９チャネルでアドバタイズされるものとする。その後、ＢＬＥ通信部２０２は、通知したチャネルおよび時間において、メモリ２０５のアドバタイズ情報を含むＡＵＸ＿ＡＤＶ＿ＩＮＤをアドバタイズする（１３０１、Ｓ９０１）。
【００５４】
１３０１では、ＢＬＥ通信部２０２はスマートフォン１０２からＡｄｖＨａｎｄｌｅ０に対応するＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信しているが、スマートフォン１０３からはどのＡｄｖＨａｎｄｌｅに対応するＡＵＸ＿ＳＣＡＮ＿ＲＥＱも受信していない。このため、Ｓ７０２およびＳ７０３の処理により、アドバタイズ受信機器リスト６００は１４００から１４１０の状態に更新される。
【００５５】
１３０１の後、制御部２０１は、アドバタイズ受信機器リスト６００の参照（１３０２、Ｓ９０２）を行う。１３０２の結果、ＡｄｖＨａｎｄｌｅ０が停止条件を満たしているため、制御部２０１はＡｄｖＨａｎｄｌｅ０のアドバタイズの停止を行う（１３０３、Ｓ９０４）。
【００５６】
その後、制御部２０１はＢＬＥ通信部２０２を用いてＡｄｖＨａｎｄｌｅ１とＡｄｖＨａｎｄｌｅ２でアドバタイズを行う（１３０４、Ｓ９０１）。ここでは、ＡｄｖＨａｎｄｌｅ０でのアドバタイズは行われない。
【００５７】
１３０４では、ＢＬＥ通信部２０２は、スマートフォン１０２からＡｄｖＨａｎｄｌｅ１とＡｄｖＨａｎｄｌｅ２に対応するＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信している。また、ＢＬＥ通信部２０２は、スマートフォン１０３からＡｄｖＨａｎｄｌｅ１に対応するＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信している。従って、Ｓ７０２およびＳ７０３の処理により、アドバタイズ受信機器リスト６００は１４１０から１４２０の状態に更新される。
【００５８】
１３０４の後、制御部２０１は、アドバタイズ受信機器リスト６００の参照（１３０５、Ｓ９０２）を行う。１３０５の結果、ＡｄｖＨａｎｄｌｅ１が停止条件を満たしているため、ＡｄｖＨａｎｄｌｅ１のアドバタイズの停止を行う（１３０６、Ｓ９０４）。さらに、１３０５の結果、ＡｄｖＨａｎｄｌｅ０が再開条件を満たしているため、ＡｄｖＨａｎｄｌｅ０のアドバタイズの再開（１３０７、Ｓ９０６）を行う。
【００５９】
その後、制御部２０１はＢＬＥ通信部２０２を用いてＡｄｖＨａｎｄｌｅ０とＡｄｖＨａｎｄｌｅ２でアドバタイズを行う（１３０８、Ｓ９０１）。１３０８では、制御部２０１は、スマートフォン１０３からＡｄｖＨａｎｄｌｅ０とＡｄｖＨａｎｄｌｅ２に対応するＡＵＸ＿ＳＣＡＮ＿ＲＥＱを受信している。従って、Ｓ７０２およびＳ７０３の処理により、アドバタイズ受信機器リスト６００は１４２０から１４３０の状態に更新される。
【００６０】
１３０８の後、制御部２０１は、アドバタイズ受信機器リスト６００の参照（１３０９、Ｓ９０２）を行う。１３０９の結果、ＡｄｖＨａｎｄｌｅ０とＡｄｖＨａｎｄｌｅ２が停止条件を満たしているため、ＡｄｖＨａｎｄｌｅ０とＡｄｖＨａｎｄｌｅ２のアドバタイズの停止を行う（１３１０、Ｓ９０４）。即ち、制御部２０１は、全てのアドバタイズパケット３００の送信を停止する。
【００６１】
１３１０の後、全てのアドバタイズパケット３００の送信が停止されてから所定時間が経過すると、制御部２０１は、全てのアドバタイズパケット３００の送信を再開する（１３１１、Ｓ９０１）。このとき、図７に示す処理が再度、実行されることにより、アドバタイズ受信機器リスト６００は１４３０から１４００の状態に更新される。１３１１の後、制御部２０１はＢＬＥ通信部２０２を用いてアドバタイズを行う（１３１２、Ｓ９０１）。
【００６２】
以上が本発明の代表的な実施形態の一例であるが、本発明は、明細書および図面に示す実施形態の範囲に限定されることなく、その要旨を変更しない範囲内で変形して実施できる。
【００６３】
なお、上述の実施形態では、Ｓ７０１の処理において、デバイス情報６０２に“ＮＵＬＬ”を登録するとしたが、これに限定されるものではない。例えば、カメラ１０１がアドバタイズを行う前に、メモリ２０５にアドバタイズ先のＢＬＥ端末としてのデバイスアドレスを事前登録しておき、Ｓ７０１の処理を行う際に、事前登録したデバイスアドレスをデバイス情報６０２に登録してもよい。また、このとき、デバイス情報６０２に登録していないデバイスアドレスからＡＵＸ＿ＳＣＡＮ＿ＲＥＱが来た場合でも、Ｓ７０３においてデバイス情報６０２の更新を行わなくてもよい。
【００６４】
また、上述の実施形態において、ＢＬＥ通信部２０２によるアドバタイズの内容を暗号化してもよい。これにより、意図しない相手へアドバタイズする可能性がある場所においても、情報の機密性を保つことができる。
【００６５】
また、上述の実施形態において、Ｓ５０２を行う前に、制御部２０１はＢＬＥ通信部２０２に対して、以前、Ｓ５０２で設定した設定情報を初期化してもよい。
【００６６】
また、上述の実施形態では、図７および図９に示す処理を実行する通信装置としてカメラ１０１を例に説明したが、これに限らず、プリンタ、プロジェクタ、スキャナ、ストレージ等の各種デバイスに適用することができる。なお、例えばプリンタの場合は、アドバタイズパケット３００に格納されるアドバタイズ情報として、プリンタが有するインクの残量等の情報を格納する。即ち、アドバタイズパケット３００に格納されるアドバタイズ情報には、デバイスに応じた各種情報を格納することができる。
【００６７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６８】
１０１  カメラ
１０２  スマートフォン
１０３  スマートフォン
２０１  制御部
２０２  ＢＬＥ通信部
２０３  撮像部
２０４  ＵＩ
２０５  メモリ
２０６  タイマ
【図１】
2019083485.tif 000003
【図２】
2019083485.tif 000004
【図３】
2019083485.tif 000005
【図４】
2019083485.tif 000006
【図５】
2019083485.tif 000007
【図６】
2019083485.tif 000008
【図７】
2019083485.tif 000009
【図８】
2019083485.tif 000010
【図９】
2019083485.tif 000011
【図１０】
2019083485.tif 000012
【図１１】
2019083485.tif 000013
【図１２】
2019083485.tif 000014
【図１３】
2019083485.tif 000015
【図１４】
2019083485.tif 000016