(57)【要約】【課題】  絶対位置を特定することを目的とする。【解決手段】  Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に基づく通信を実行する装置であって、アドバタイズ情報を送信する通信手段と、前記装置の位置情報を取得する取得手段と、を備え、前記通信手段は、前記取得された位置情報を含むアドバタイズ情報を送信する。【選択図】  図１４
2020198505.tif 000002
【特許請求の範囲】
【請求項１】
Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に基づく通信を実行する装置であって、
アドバタイズ情報を送信する通信手段と、
前記装置の位置情報を取得する取得手段と、
を備え、
前記通信手段は、前記取得された位置情報を含むアドバタイズ情報を送信することを特徴とする装置。
【請求項２】
前記取得手段は、Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ（ＧＰＳ）により前記位置情報を取得することを特徴とする請求項１に記載の装置。
【請求項３】
前記取得手段は、前記装置に登録された前記装置の設置位置に関する情報に基づき、前記位置情報を取得することを特徴とする請求項１に記載の装置。
【請求項４】
前記通信手段は、前記位置情報を要求する要求情報を受信した場合に前記位置情報を含むアドバタイズ情報を送信し、前記要求情報を受信しない場合には前記位置情報を含まないアドバタイズ情報を送信することを特徴とする請求項１から３のいずれか１項に記載の装置。
【請求項５】
前記取得手段は、前記装置の高度情報をさらに取得し、
前記通信手段は、前記取得された位置情報と高度情報とを含むアドバタイズ情報を送信することを特徴とする請求項１から４のいずれか１項に記載の装置。
【請求項６】
前記通信手段は、アドバタイズ情報を送信する複数のアンテナを備えることを特徴とする請求項１から５のいずれか１項に記載の装置。
【請求項７】
前記通信手段は、Ｂｌｕｅｔｏｏｔｈ  ５．１の規格に基づく通信を実行することを特徴とする請求項１から６のいずれか１項に記載の装置。
【請求項８】
コンピュータを、請求項１から７のいずれか１項に記載の各手段として機能させるためのプログラム。
【請求項９】
Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に基づく通信を実行する装置であって、
外部装置から送信されたアドバタイズ情報を受信する通信手段と、
前記取得されたアドバタイズ情報に基づき、前記外部装置と前記装置の角度に関する情報を取得する第１取得手段と、
前記装置の位置情報を取得する第２取得手段と、
を備え、
前記第２取得手段は、前記受信されたアドバタイズ情報に含まれる前記外部装置の位置情報と、前記第１取得手段により取得された前記外部装置と前記装置との角度に関する情報と、に基づき前記装置の位置情報を取得することを特徴とする装置。
【請求項１０】
前記第２取得手段は、前記受信されたアドバタイズ情報の電波強度に関する情報をさらに用いて、前記装置の位置情報を取得することを特徴とする請求項９に記載の装置。
【請求項１１】
前記通信手段は、前記外部装置の位置情報を要求する要求情報を送信することを特徴とする請求項９又は１０に記載の装置。
【請求項１２】
前記第２取得手段により取得された前記装置の位置情報を用いて、表示部に前記装置の位置を示す案内画面を表示させる表示制御手段をさらに備えることを特徴とする請求項９から１１のいずれか１項に記載の装置。
【請求項１３】
前記通信手段は、アドバタイズ情報を受信する複数のアンテナを備えることを特徴とする請求項９から１２のいずれか１項に記載の装置。
【請求項１４】
前記通信手段は、Ｂｌｕｅｔｏｏｔｈ  ５．１の規格に基づく通信を実行することを特徴とする請求項９から１３のいずれか１項に記載の装置。
【請求項１５】
コンピュータを、請求項９から１４のいずれか１項に記載の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置、デバイス、およびそのプログラムに関する。特に、Ｂｌｕｅｔｏｏｔｈ（登録商標）を用いた通信を行う技術に関する。
【背景技術】
【０００２】
通信の電波強度を用いて装置の距離を特定する技術がある。特許文献１では、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に基づくアドバタイズ情報の強度を用いて、情報処理装置と通信装置との距離を特定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０３７４２７公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、より正確な位置情報を取得する技術が求められている。そこで本発明では、絶対位置を特定するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様の装置は、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に基づく通信を実行する装置であって、アドバタイズ情報を送信する通信手段と、前記装置の位置情報を取得する取得手段と、を備え、前記通信手段は、前記取得された位置情報を含むアドバタイズ情報を送信する。
【発明の効果】
【０００６】
本発明により、絶対位置を特定することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態における情報処理装置及び通信装置の構成を示すブロック図である。
【図２】アドバタイズ情報を送信する際の消費電力を説明するための図である。
【図３】ＢＬＥにおけるアドバタイズを説明するための図である。
【図４】ペアリング処理に関する画面を示す模式図である。
【図５】アドバタイズ情報の構造を示す図である。
【図６】近距離無線通信部の構成の模式図である。
【図７】ＢＬＥにおける方向検知をする際のアドバタイズ情報の構造を示す図である。
【図８】ＢＬＥにおける方向検知をする際、アドバタイズ受信側に複数のアンテナを備える構成の模式図である。
【図９】ＢＬＥにおける方向検知をする際、アドバタイズ送信側に複数のアンテナを備える構成の模式図である。
【図１０】ＧＡＴＴのデータ形式を示す図である。
【図１１】近距離無線通信部に保存されるＧＡＴＴデータの一例を示す表である。
【図１２】情報処理装置と通信装置とが、ＢＬＥ通信方式によって接続をする処理を示すシーケンス図である。
【図１３】情報処理装置と通信装置とが、ＢＬＥ通信方式によってネットワーク接続を行う場合の処理を示すシーケンス図である。
【図１４】ＢＬＥデバイスとＧＰＳ衛星の一例を示す模式図である。
【図１５】ＢＬＥのアドバタイザデバイスがアドバタイズパケット（スキャン・レスポンス）を送信する処理の一例を示すフローチャートである。
【図１６】ＢＬＥのスキャナデバイスがアプリケーション上に現在位置を表示する処理の一例を示すフローチャートである。
【図１７】ＢＬＥのアドバタイザデバイスがアドバタイズパケット（スキャン・レスポンス）を送信する際にオプションを付加する一例を示すフローチャートである。
【図１８】ＢＬＥのアドバタイザデバイスがアドバタイズパケット（スキャン・レスポンス）を送信する処理の一例を示すフローチャートである。
【図１９】設置情報登録画面の一例を示す模式図である。
【図２０】ウェアラブルデバイス（腕時計、ゴーグル）を利用した経路案内アプリケーションの例を示す模式図である。
【図２１】電波強度、電波強度レベル、推定距離のテーブルの例を示す図である。
【図２２】アドバタイズパケット（スキャン・レスポンス）にセットする情報の例を示す図である。
【図２３】スキャン・リクエストとスキャン・レスポンスの例を示す図である。
【図２４】ＢＬＥのアドバタイザデバイスがアドバタイズパケット（スキャン・レスポンス）を送信する際のオプションを設定する一例を示すフローチャートである。
【図２５】スキャン・リクエストとスキャン・レスポンスの例を示す図である。
【図２６】ＢＬＥデバイスのＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θがカバーする領域の一例を示す図である。
【図２７】アドバタイズパケットに含めるオプションを設定する際の設定情報の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
【０００９】
＜第１実施形態＞
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、以下の説明ではスマートフォンを例示しているが、これに限定されない。ウェアラブルデバイス、携帯端末、ノートＰＣ、タブレット端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルカメラ等、種々の処理装置を適用可能である。さらに、音楽再生デバイス、テレビ等でも適用可能であり、無線通信を行うことが可能な処理装置であれば、種々の処理装置を適用可能である。また、通信装置として、以下の説明ではプリンタを例示しているが、これに限定されない。無線通信を行うことが可能な処理装置であれば、種々の処理装置を適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置でもよい。さらに、スマートフォン、携帯端末、ノートＰＣ、タブレット端末、ＰＤＡ、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、ＦＡＸ機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
【００１０】
まず、本実施形態の情報処理装置と、本実施形態の情報処理装置と通信可能な通信装置の構成について図１のブロック図を参照して説明する。
【００１１】
（情報処理装置）
情報処理装置１０１は、本実施形態の情報処理装置である。情報処理装置１０１は、入力インタフェース１０２、ＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５、外部記憶装置１０６、出力インタフェース１０７、表示部１０８、通信部１０９、近距離無線通信部１１０等を有する処理装置である。
【００１２】
入力インタフェース１０２は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース１０７と入力インタフェース１０２とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うような形態としても良い。
【００１３】
ＣＰＵ１０３は、システム制御部であり、情報処理装置１０１の全体を制御する。
【００１４】
ＲＯＭ１０４は、ＣＰＵ１０３が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム（以下、ＯＳという。）プログラム等の固定データを格納する。本実施形態では、ＲＯＭ１０４に格納されている各制御プログラムは、ＲＯＭ１０４に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
【００１５】
ＲＡＭ１０５は、バックアップ電源を必要とするＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。なお、ＲＡＭ１０５は、図示しないデータバックアップ用の１次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置１０１の設定情報や情報処理装置１０１の管理データ等を格納するメモリエリアもＲＡＭ１０５に設けられている。また、ＲＡＭ１０５は、ＣＰＵ１０３の主メモリとワークメモリとしても用いられる。
【００１６】
外部記憶装置１０６は、フラッシュメモリ等で構成され、印刷実行機能を提供するアプリケーション、通信装置１５１が解釈可能な印刷情報を生成する印刷情報生成プログラム等を保存している。また、外部記憶装置１０６は、通信部１０９を介して接続している通信装置１５１との間で送受信する情報送受信制御プログラム等の各種プログラムや、これらのプログラムが使用する各種情報を保存している。尚、外部記憶装置１０６の実装方法としては、フラッシュメモリを情報処理装置１０１に内蔵する実装方法、外部スロット（不図示）を介してｍｉｃｒｏＳＤカード等を挿入する実装方法等がある。
【００１７】
出力インタフェース１０７は、表示部１０８がデータの表示や情報処理装置１０１の状態の通知を行うための制御を行うインタフェースである。
【００１８】
表示部１０８は、ＬＥＤ（発光ダイオード）やＬＣＤ（液晶ディスプレイ）などから構成され、データの表示や情報処理装置１０１の状態の通知を行う。なお、表示部１０８上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設置することで、表示部１０８を介してユーザからの入力を受け付けても良い。本実施例では、情報処理装置１０１の例として、表示部１０８が情報処理装置１０１に含まれる構成のスマートフォンの例で説明する。
【００１９】
通信部１０９は、通信装置１５１等の装置と接続して、データ通信を実行するための構成である。例えば、通信部１０９は、無線ＬＡＮルーター等の外部のアクセスポイント１３１に接続可能である。通信装置１５１も外部のアクセスポイント１３１に接続されることにより、情報処理装置１０１と通信装置とは、外部のアクセスポイント１３１を介して、通信が可能となる。この接続方式を、インフラストラクチャー接続と呼ぶ。また、通信部１０９は、通信装置１５１内のアクセスポイント（不図示）に接続可能である。通信部１０９と通信装置１５１内のアクセスポイントが接続することで、情報処理装置１０１と通信装置１５１は相互に通信可能となる。この接続方式を、ダイレクト接続と呼ぶ。なお、ダイレクト接続の方式として、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）を用いてもよい。通信部１０９が通信装置１５１とインフラストラクチャー接続するかダイレクト接続するかはユーザにより選択可能であることが好ましい。
【００２０】
無線通信方式としては、例えば、ＩＥＥＥ８０２．１１シリーズ（ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｎ（Ｗｉ−Ｆｉ  ４）、ＩＥＥＥ８０２．１１ａｃ（Ｗｉ−Ｆｉ  ５）、ＩＥＥＥ８０２．１１ａｘ（Ｗｉ−Ｆｉ  ６）等）に準拠した通信方式であるＷｉ−Ｆｉ（ＷｉｒｅｌｅｓｓＦｉｄｅｌｉｔｙ）（登録商標）が挙げられる。また、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信でもよい。
【００２１】
近距離無線通信部１１０は、通信装置１５１等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部１０９とは異なる通信方式によって通信を行う。近距離無線通信部１１０は、通信装置１５１内の近距離無線通信部１５７と接続可能である。近距離無線通信部１１０は、電波強度も取得することができる。なお、本実施形態では、近距離無線通信部１１０の通信方式として、Ｂｌｕｅｔｏｏｔｈ５．１の規格が用いられるものとする。なお、Ｂｌｕｅｔｏｏｔｈ５．１には、Ｃｌａｓｓｉｃ  Ｂｌｕｅｔｏｏｔｈと、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）の両規格が含まれるが、本実施形態では近距離無線通信部１５７の通信方式として、Ｂｌｕｅｔｏｏｔｈ５．１のＢＬＥ規格が用いられるものとする。ただし、本実施形態では、この規格に限定されず、Ｂｌｕｅｔｏｏｔｈ５．１以降のＢｌｕｅｔｏｏｔｈ規格のように、Ｂｌｕｅｔｏｏｔｈ５．１と同等以上の位置検出機能を有する規格であれば、適用可能である。
【００２２】
ＧＰＳ受信部１１２は、グローバル・ポジショニング・システム（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ（ＧＰＳと略す））の一部を担うＧＰＳ受信機等で構成され、後述する図１４（ａ）で示すＧＰＳ衛星１４０１からの信号を受け取り、情報処理装置１０１は、緯度、経度、北緯／南緯の情報、東経／西経の情報の少なくともいずれかに関する現在の位置情報を知ることができる。さらに、高度（海抜）等による現在の高度情報や、地表における移動の速度に関する速度情報、地表における移動の真方位情報等を知ることができる。なお、情報処理装置がウェアラブルデバイスのような簡易デバイスの場合、ＧＰＳ受信部１１２を備えていない場合もある。
【００２３】
（通信装置）
通信装置１５１は、本実施形態の通信装置である。通信装置１５１は、ＲＯＭ１５２、ＲＡＭ１５３、ＣＰＵ１５４、プリントエンジン１５５、通信部１５６、近距離無線通信部１５７等を有する処理装置である。
【００２４】
通信部１５６は、通信装置１５１内部のアクセスポイントとして、情報処理装置１０１等の装置と接続するためのアクセスポイントを有している。このアクセスポイントにより、通信装置１５１は親局として動作し、該アクセスポイントに、情報処理装置１０１の通信部１０９が接続可能である。つまり、通信部１５６はこの内部のアクセスポイントにより無線通信で情報処理装置１０１とダイレクト接続することができる。通信部１５６は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウエアにより、アクセスポイントとして動作してもよい。また、通信部１５６は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）の親局であるＧｒｏｕｐ  Ｏｗｎｅｒとして機能してもよい。なお、通信装置１５１は、外部のアクセスポイント１３１を介して、情報処理装置１０１とインフラストラクチャー接続により通信しても良い。通信部１５６が情報処理装置１０１とインフラストラクチャー接続するかダイレクト接続するかはユーザにより選択可能であることが好ましい。
【００２５】
通信方式としては、例えば、ＩＥＥＥ８０２．１１シリーズ（ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｎ（Ｗｉ−Ｆｉ  ４）、ＩＥＥＥ８０２．１１ａｃ（Ｗｉ−Ｆｉ  ５）、ＩＥＥＥ８０２．１１ａｘ（Ｗｉ−Ｆｉ  ６）等）に準拠した通信方式であるＷｉ−Ｆｉ（登録商標）が挙げられる。また、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信でもよい。
【００２６】
近距離無線通信部１５７は、情報処理装置１０１等の装置と近距離で無線接続するための構成である。本実施形態では、近距離無線通信部１５７の通信方式として、Ｂｌｕｅｔｏｏｔｈ５．１の規格が用いられるものとする。より具体的には、本実施形態では近距離無線通信部１５７の通信方式として、Ｂｌｕｅｔｏｏｔｈ５．１のＢＬＥ規格が用いられるものとする。ただし、本実施形態では、この規格に限定されず、Ｂｌｕｅｔｏｏｔｈ５．１以降のＢｌｕｅｔｏｏｔｈ規格のように、Ｂｌｕｅｔｏｏｔｈ５．１と同等以上の位置検出機能を有する規格であれば、適用可能である。
【００２７】
ＲＡＭ１５３は、バックアップ電源を必要とするＳＲＡＭ等で構成される。なお、ＲＡＭ１５３は、図示しないデータバックアップ用の１次電池によってデータが保持されているため、プログラム制御変数等の重要なデータや図１９に示す設置位置情報と設置高度情報等を揮発させずに格納することができる。また、通信装置１５１の設定情報や通信装置１５１の管理データ等を格納するメモリエリアもＲＡＭ１５３に設けられている。また、ＲＡＭ１５３は、ＣＰＵ１５４の主メモリとワークメモリとしても用いられ、情報処理装置１０１等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
【００２８】
ＲＯＭ１５２は、ＣＰＵ１５４が実行する制御プログラムやデータテーブル、ＯＳプログラム等の固定データを格納する。本実施形態では、ＲＯＭ１５２に格納されている各制御プログラムは、ＲＯＭ１５２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
【００２９】
ＣＰＵ１５４は、システム制御部であり、通信装置１５１の全体を制御する。
【００３０】
プリントエンジン１５５、ＲＡＭ１５３に保存された情報や情報処理装置１０１等から受信した印刷ジョブに基づき、インク等の記録剤を用いて紙等の記録媒体上に画像形成し、印刷結果を出力する。この時、情報処理装置１０１等から送信される印刷ジョブは、送信データ量が大きく、高速な通信が求められるため、近距離無線通信部１５７よりも高速に通信可能な通信部１５６を介して受信する。なお、通信装置１５１が、プリンタではない場合、プリントエンジン１５５は備えていない。
【００３１】
また、通信装置１５１が、スマートフォン、携帯端末、ノートＰＣ、タブレット端末等の端末装置の場合、情報処理装置１０１と同様にＧＰＳ受信部１１２を備えることが好ましい。後述する図１４（ａ）で示すＧＰＳ衛星１４０１からの信号を受け取り、通信装置１５１は、緯度、経度、北緯／南緯の情報、東経／西経の情報の少なくともいずれかに関する現在の位置情報や、高度（海抜）等による現在の高度情報や、地表における移動の速度に関する速度情報、地表における移動の真方位情報等を知ることができる。
【００３２】
表示部１５８は、タッチパネルを備えるＬＣＤ（液晶ディスプレイ）で構成され、ソフトキーボード機能（不図示）も備えており、ユーザは文字や数字の入力や、表示部１５８内のボタン操作等を行うことができる。
【００３３】
なお、通信装置１５１には、外付けＨＤＤやＳＤカード等のメモリがオプション機器として装着されてもよく、通信装置１５１に保存される情報は、当該メモリに保存されても良い。
【００３４】
また、本実施形態の通信装置１５１は、接続設定処理により接続モードが設定され、設定された接続モードに基づいた接続形態により、情報処理装置１０１と通信を行う。本実施形態の通信装置は、インフラストラクチャー接続により通信を行う場合は、接続モードとしてインフラストラクチャー接続モードが設定され、ダイレクト接続により通信を行う場合は、接続モードとしてダイレクト接続モードが設定される。さらに、インフラストラクチャー接続モードとダイレクト接続モードとの両方を有効に設定することで、両接続が並行して動作可能なモードにすることも可能である。
【００３５】
なお、ここでは、ダイレクト接続時の例として、通信装置１５１が親局として機能し（ＡＰとして機能、又は、Ｗｉ−Ｆｉ  ＤｉｒｅｃｔのＧｒｏｕｐＯｗｎｅｒとして機能）、情報処理装置１０１が子局として機能する例を説明した。しかしながら、本実施形態では、特にこの分担形態に限らず他の形態であってもよい。つまり、ダイレクト接続時において、情報処理装置１０１が親局として動作し、通信装置１５１が子局として動作してもよい。
【００３６】
本実施形態では、情報処理装置１０１は、ＲＯＭ１０４や外部記憶装置１０６等に所定のアプリケーションを格納しているものとする。所定のアプリケーションとは、例えば通信装置１５１がプリンタの場合、情報処理装置１０１は、情報処理装置１０１内の画像データを印刷させるための印刷ジョブを通信装置１５１に送信するためのアプリケーションプログラムを格納しているとよい。このような機能を有するアプリケーションを、以後印刷アプリという。なお、印刷アプリは、印刷機能以外に、他の機能を備えていても良い。例えば、印刷アプリは、通信装置１５１がスキャン機能を備えている場合に、通信装置１５１にセットされた原稿をスキャンさせる機能や、通信装置１５１の他の設定を行う機能、通信装置１５１の状態を確認する機能等を備えていても良い。すなわち、印刷アプリは、印刷ジョブ以外に、スキャンジョブや設定ジョブを通信装置１５１に送信する機能を有していても良い。また、所定のアプリケーションは、印刷アプリに限定されず、印刷以外の機能を備えているアプリケーションプログラムであっても良い。
【００３７】
（ＢＬＥ規格におけるアドバタイジング）
本実施形態では、情報処理装置１０１の近距離無線通信部１１０および通信装置１５１の近距離無線通信部１５７は、ＢＬＥによって通信を行うものとして説明する。なお、本実施形態では、通信装置１５１の近距離無線通信部１５７が、後述のアドバタイズ情報（アドバタイズパケット）をブロードキャストするアドバタイザ（又はスレーブ）として機能する。そして、情報処理装置１０１の近距離無線通信部１１０が、アドバタイズ情報を受信するスキャナ（又はマスタ）として機能する。また、通信部１０９および通信部１５６は無線ＬＡＮ（Ｗｉ−Ｆｉ）によって通信を行うものとして説明する。
【００３８】
ここで、ＢＬＥ規格におけるアドバタイズ情報の送信及びＢＬＥ接続要求の受信の処理について説明する。本実施形態では、上述したように近距離無線通信部１５７がスレーブ機器として動作するため、近距離無線通信部１５７がアドバタイズ情報の送信及びＢＬＥ接続要求の受信を行うものとする。近距離無線通信部１５７は、２．４ＧＨｚの周波数帯を４０チャネル（０〜３９ｃｈ）に分割して通信を行う。近距離無線通信部１５７は、そのうち、３７〜３９番目のチャネルをアドバタイズ情報の送信やＢＬＥ接続要求の受信に利用し、０〜３６番目のチャネルをＢＬＥ接続後のデータ通信に利用している。
【００３９】
図２は、アドバタイズ情報を送信する際の消費電力を説明するための図である。図２では、縦軸が近距離無線通信部１５７の消費電力を、横軸が時間を示しており、１つのチャネルを利用してアドバタイズ情報を送信する際の消費電力を各処理別に示している。Ｔｘ２０５は、アドバタイズ情報をブロードキャストする処理である送信処理における総消費電力を、Ｒｘ２０６は、ＢＬＥ接続要求を受信するための受信器を有効にしておく処理である受信処理における総消費電力を示している。送信電力２０７は送信処理による瞬間消費電力を示している。また、受信電力２０３は受信処理による瞬間消費電力を示している。また、マイコン動作電力２０１は、近距離無線通信部１５７内のマイコンが動作している場合の瞬間消費電力を示している。なお、Ｔｘ２０５とＲｘ２０６の前後や間にもマイコンが動作しているのは、送信・受信処理の実行や停止のためには事前にマイコンが起動している必要があるからである。また、アドバタイズ情報の送信を複数チャネルで行う場合は、アドバタイズ情報の送信を行うチャネルの数だけ消費電力が増えることになる。また、マイコンが動作を行っておらず、近距離無線通信部１５７が省電力状態となっている間は、スリープ電力２０４が近距離無線通信部１５７の瞬間消費電力となる。このように、近距離無線通信部１５７は、所定のチャネルを用いて送信処理を行った後、同一のチャネルを用いて一定時間受信処理を行うことで、情報処理装置１０１からＢＬＥ接続要求が送信されるのを待つ。
【００４０】
図３は、アドバタイズの詳細を説明するための図である。近距離無線通信部１５７は、図３に示すように、アドバタイズ情報の送信処理と受信処理を、チャネル別に３回繰り返した後、マイコンの動作を停止させ一定時間省電力状態になる。以下、所定のチャネルによるアドバタイズ情報の送信処理と受信処理の組み合わせをアドバタイズと言う。また、所定のチャネルによってアドバタイズ情報を送信する時間間隔をアドバタイズ間隔という。なお、１回目のアドバタイズを行ってから省電力状態になるまでに繰り返すアドバタイズの回数は、３回以下であれば任意に変更可能である。また、図３ではアドバタイズ時のチャネルは３７番目のチャネル、３８番目のチャネル、３９番目のチャネルの順番で順次使用しているが、この順番はランダムでもよい。また、順番は１回目のアドバタイズと２回目のアドバタイズ、３回目以降のアドバタイズとでそれぞれ異なっていてもよい。
【００４１】
図５は、近距離無線通信部１５７が通信装置１５１の周辺にブロードキャストするアドバタイズ情報の構造の一例である。近距離無線通信部１５７は、電力の供給が開始されると初期化処理を行い、アドバタイジング状態となる。近距離無線通信部１５７は、アドバタイジング状態となると、アドバタイズ間隔に基づいて定期的にアドバタイズ情報を周辺にブロードキャストする。アドバタイズ情報は、ヘッダ９０１とペイロード９０２から構成される。情報処理装置１０１は、このアドバタイズ情報を受信することで、通信装置１５１の存在を認識することができる。さらに、情報処理装置１０１は、通信装置１５１にＢＬＥ接続要求を送信することで通信装置１５１とＢＬＥ接続することができる。ヘッダ９０１は、アドバタイズ情報のタイプやペイロード９０２の大きさの情報などを格納する領域である。ペイロード９０２は、識別情報としてのデバイス名９０３（デバイス情報）や搭載プロファイル情報、通信装置１５１とＢＬＥ接続するための接続情報９０４、アドバタイズ情報の送信電力（Ｔｘ  Ｐｏｗｅｒ）９０５等の情報を格納する。なお、通信装置１５１の識別情報９０６や、通信装置１５１のステータス（エラーや電源の状態等）に関する情報をアドバタイズ情報のペイロード内に含めても良い。通信装置の識別情報９０６としては、通信装置のＭＡＣアドレスや、通信装置のサービス情報、通信装置内のアクセスポイントのＳＳＩＤ、パスワード等が該当する。また、後述する図２２の各情報についても、ペイロード９０２内に含めるとよい。
【００４２】
本実施形態では、近距離無線通信部１５７は、通信装置１５１の電源がＯＮになった場合にアドバタイジング状態となり、アドバタイズ情報の送信を開始するものとする。ただし、近距離無線通信部１５７がアドバタイズ情報の送信を開始するタイミングは、上述の形態に限定されず、例えば、ＢＬＥ機能を有効にするための所定の操作が行われたタイミング等であっても良い。また、通信装置１５１の電源ボタンが押下されて電源オフ状態となった場合や、省電力機能により通信装置１５１がスリープモードになった場合であっても、近距離無線通信部１５７へは電力供給が行われることにより、アドバタイズ情報の送信が行われてもよい。
【００４３】
なお例えば、近距離無線通信部１５７は、まず、第１アドバタイズ情報を送信してもよい。そして、第１アドバタイズ情報に対するスキャン・リクエストを情報処理装置１０１から受け取った場合、スキャン・レスポンスとして、第１アドバタイズ情報とは内部の情報の内容が異なる第２アドバタイズ情報を送信する形態であっても良い。例えば、第１アドバタイズ情報は、アドバタイズ情報の送信電力に関する情報や近距離無線通信部１５７の識別情報等を含むものとする。そして、第２アドバタイズ情報は、通信装置１５１の識別情報や、通信装置１５１が備えている機能やハードウェアに関する情報等を含むものとする。スキャン・レスポンスとしての第２アドバタイズ情報を受信した情報処理装置１０１から、接続要求（ＣＯＮＮＥＣＴ＿ＲＥＱ）を受信すると、通信装置１５１と情報処理装置１０１との間で接続が確立する。このような形態の場合、例えば印刷アプリは、第２アドバタイズ情報をハンドリングするものとして設計される。そのため、以下の説明において印刷アプリがハンドリングするアドバタイズ情報は、第２アドバタイズ情報であるものとする。なお、後述する図２２に記載の各情報については、第１アドバタイズ情報に含めてもよいが、第２アドバタイズ情報に含めることが好ましい。
【００４４】
また、上述の説明では、通信装置１５１の近距離無線通信部１５７が、アドバタイザ又はスレーブとして機能し、情報処理装置１０１の近距離無線通信部１１０が、スキャナ又はマスタとして機能する例について説明した。しかしながら、本実施形態では、逆でもよい。つまり、情報処理装置１０１の近距離無線通信部１１０が、アドバタイズ情報をブロードキャストするアドバタイザ又はスレーブとして機能し、通信装置１５１の近距離無線通信部１５７が、アドバタイズ情報を受信するスキャナ又はマスタとして機能してもよい。
【００４５】
（Ｂｌｕｅｔｏｏｔｈ５．１）
Ｂｌｕｅｔｏｏｔｈ  ５．１では、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ（ＡｏＡ）又はＡｎｇｌｅ  ｏｆ  Ｄｅｐａｒｔｕｒｅ（ＡｏＤ）を利用した方向検知が可能である。これにより、装置間の相対位置関係がわかる。例えば、近くにある２つのＢｌｕｅｔｏｏｔｈ機能を搭載した装置同士の相対位置を数センチメートルの誤差で特定できる。
【００４６】
図６は、通信装置１５１内の近距離無線通信部１５７が送信するアドバタイズ情報を用いて、情報処理装置１０１が通信装置１５１の方向を検知する機能を説明するためのブロック図である。情報処理装置１０１内の近距離無線通信部１１０はアンテナ６０１とアンテナ６０２とアンテナ６０３を備え、通信装置１５１内の近距離無線通信部１５７はアンテナ６０４とアンテナ６０５とアンテナ６０６を備える。なお、近距離無線通信部１１０と近距離無線通信部１５７のそれぞれに備わっているアンテナの本数はこの限りではない。アンテナの本数は１本もしくは２本、あるいは３本以上であってもよい。また、近距離無線通信部１１０と近距離無線通信部１５７とで、備わっているアンテナの本数はそれぞれで違っていてもよい。また、図６では、近距離無線通信部１１０と近距離無線通信部１５７に備わっているアンテナは直線上に配置されているよう記載したが、アンテナの配置はこの限りではない。３本以上の場合、２次元に配置してもよい。
【００４７】
図７は、情報処理装置１０１に通信装置１５１との距離及び通信装置１５１の位置の方向を検知させるために、通信装置１５１内の近距離無線通信部１５７が送信するアドバタイズ情報の構造の一例である。Ｃｏｎｓｔａｎｔ  Ｔｏｎｅ  Ｅｘｔｅｎｓｉｏｎ（ＣＴＥ）は、情報処理装置１０１に対する通信装置１５１の方向を検知するために使用されるデータである。Ｐｒｅａｍｂｌｅ５０１は、情報処理装置１０１が通信装置１５１のアドバタイズ情報を受信する際のクロック同期用のデータである。Ａｃｃｅｓｓ−Ａｄｄｒｅｓｓ５０２は、情報処理装置１０１が通信装置１５１のアドバタイズ情報を受信する際のフレーム同期用のデータである。ＰＤＵ（Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）５０３は、通信装置１５１が送信するアドバタイズ情報における実データ部分である。なお、図５で説明したアドバタイズ情報であるヘッダ９０１とペイロード９０２は、ＰＤＵ５０３の中に含まれる情報である。ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）５０４はＰＤＵ５０３の通信時の誤り検出符号値である。
【００４８】
情報処理装置１０１が通信装置１５１の方向を検知する方法として、２つの方法がある。つまり、近距離無線通信部１１０が複数のアンテナを備えることにより実現される方法（ＡｏＡを利用する方法）と、近距離無線通信部１５７が複数のアンテナを備えることにより実現される方法（ＡｏＤを利用する方法）がある。以下、詳細に説明する。
【００４９】
（ＡｏＡを利用する方法）
図８を用いて、近距離無線通信部１１０が複数のアンテナを備えることにより実現される、情報処理装置１０１が通信装置１５１の方向を検知する方法について説明する。近距離無線通信部１５７はアンテナ６０４からＣＴＥ５０５を含むアドバタイズ情報であるＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌ７０３を送信する。近距離無線通信部１１０は、複数のアンテナ（アンテナ６０１とアンテナ６０２の両方）でＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌ７０３を受信する。ここで、アンテナ６０１とアンテナ６０２で受信されたＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌ７０３の位相差（つまり、受信されたアドバタイズ情報の位相差）をψ、波長をλとする。また、アンテナ６０１とアンテナ６０２の距離であるＡｏＡアンテナ間距離ｄ７０１を用いることにより、以下の式（１）から、情報処理装置１０１に対する通信装置１５１の方向であるＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ７０２が計算される。ＡｏＡアンテナ間距離ｄ７０１は、アドバタイズ情報に含まれている場合はアドバタイズ情報から取得してもよく、ＧＡＴＴ通信により取得してもよい。
θ＝ａｒｃｃｏｓ（（ψλ）／（２πｄ））    式（１）
このように、通信装置１５１からアドバタイズ情報を受信した情報処理装置１０１は、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ７０２を計算することで、通信装置１５１の方向を検知することができる。
【００５０】
（ＡｏＤを利用する方法）
次に、図９を用いて、近距離無線通信部１５７が複数のアンテナを備えることにより実現される、情報処理装置１０１が通信装置１５１の方向を検知する方法について説明する。近距離無線通信部１５７は複数のアンテナ（アンテナ６０４とアンテナ６０５の両方）からＣＴＥ５０５を含むアドバタイズ情報であるＡｏＤ  Ｒａｄｉｏ  Ｓｉｇｎａｌ８０３を送信する。近距離無線通信部１１０は、アンテナ６０１でＡｏＤ  Ｒａｄｉｏ  Ｓｉｇｎａｌ８０３を受信する。ここで、通信装置１５１では、アンテナ６０４がアドバタイズ情報を所定の周期で送信した後、間隔を空けずにアンテナ６０５がアドバタイズ情報を同じ周期で送信するものとする。この場合、アンテナ６０４とアンテナ６０５とは連続して同周期のアドバタイズ情報を送信しているため、アンテナ６０１が受信するアドバタイズ情報には、アンテナ６０４とアンテナ６０５との距離に依存した位相差が検出される。
【００５１】
アンテナ６０４とアンテナ６０５によるＡｏＤ  Ｒａｄｉｏ  Ｓｉｇｎａｌ８０３の位相差をψ、波長をλとする。アンテナ６０４とアンテナ６０５の距離であるＡｏＤアンテナ間距離ｄ８０１を用いることにより、式（２）から、情報処理装置１０１に対する通信装置１５１の方向であるＡｎｇｌｅ  ｏｆ  Ｄｅｐａｒｔｕｒｅ  θ８０２が計算される。
θ＝ａｒｃｃｏｓ（（ψλ）／（２πｄ））    式（２）
このように、通信装置１５１からアドバタイズ情報を受信した情報処理装置１０１は、Ａｎｇｌｅ  ｏｆ  Ｄｅｐａｒｔｕｒｅ  θ８０２を計算することで、通信装置１５１の方向を検知することができる。
【００５２】
なお、近距離無線通信部１１０が複数のアンテナを備えることにより実現される方法の説明では、複数のアンテナとしてアンテナ６０１とアンテナ６０２の２つが用いられる形態について述べたが、使用されるアンテナの本数はこの限りではない。例えば、情報処理装置１０１は、３本以上のアンテナを使用し、それぞれのアンテナから求まるＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θの平均を算出することでＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ７０２を取得してもよい。同様に近距離無線通信部１５７が複数のアンテナを備えることにより実現される方法においても、複数のアンテナとして使用されるアンテナの本数は上述の限りではない。例えば、通信装置１５１は、３本以上のアンテナを使用し、それぞれのアンテナから求まるＡｎｇｌｅ  ｏｆ  Ｄｅｐａｒｔｕｒｅ  θの平均を算出することでＡｎｇｌｅ  ｏｆ  Ｄｅｐａｒｔｕｒｅ  θ８０２を取得してもよい。
【００５３】
また上述では、情報処理装置１０１と通信装置１５１のどちらか一方の装置が複数のアンテナを使用する実施形態について述べたが、この限りではない。両方の装置がともに複数のアンテナを用いてもよい。
【００５４】
また上述では、情報処理装置１０１が、１台の通信装置１５１の方向を検知する形態について述べたが、この限りではない。情報処理装置１０１が、２台以上の通信装置１５１の方向を検知しても良い。また情報処理装置１０１は、２台以上の通信装置１５１の方向を検知し、それぞれの検知データを参照することで、１台の通信装置１５１の方向を検知する形態と比較し、高精度に、装置間の距離や方向、位置を検知することができる。
【００５５】
また上述では、通信装置１５１がアドバタイズ情報を送信し、情報処理装置１０１がアドバタイズ情報を受信して通信装置１５１の方向を検知する例について説明した。しかしながら、本実施形態では、逆でもよい。つまり、情報処理装置１０１がアドバタイズ情報を送信し、通信装置１５１がアドバタイズ情報を受信して情報処理装置１０１の方向を検知してもよい。
【００５６】
（ＢＬＥ規格におけるＧＡＴＴ通信）
ここで、ＢＬＥ規格におけるＧＡＴＴ（Ｇｅｎｅｒｉｃ  Ａｔｔｒｉｂｕｔｅ  Ｐｒｏｆｉｌｅ）通信の概要について説明する。ＧＡＴＴとは、ＢＬＥ規格において情報の読み書き（送受信）を司るプロファイルである。ＧＡＴＴ通信は、アドバタイジング後にＢＬＥ接続が確立することにより行われる通信である。ＧＡＴＴ通信においては、データの転送元と転送先に基づいて、ＧＡＴＴクライアントとＧＡＴＴサーバの２つのロールが定義されている。
【００５７】
ＧＡＴＴクライアントはＧＡＴＴサーバにリクエストを送信し、ＧＡＴＴサーバからの応答を受信する。本実施形態では、情報処理装置１０１がＧＡＴＴクライアントとなる。ＧＡＴＴクライアントは、ＧＡＴＴサーバの近距離無線通信部内の記憶領域に保持されている情報の読み取り（リード）及び、当該記憶領域に対する情報の書き込み（ライト）を実行することが出来る。
【００５８】
ＧＡＴＴサーバは、ＧＡＴＴクライアントからの要求を受信すると、ＧＡＴＴクライアントに対して応答を返す。本実施形態では、通信装置１５１がＧＡＴＴサーバとなる。なお、ＧＡＴＴサーバは、ＧＡＴＴサーバの状態情報等の情報を格納するデバイスとして動作する。
【００５９】
図１０は、ＧＡＴＴのデータ形式について説明するための図である。ＧＡＴＴのデータは、図１０に示すような階層構造を持っており、サービス、キャラクタリスティック、ディスクリプタと呼ばれる３つの要素から構成される。ただし、ディスクリプタは存在していなくても良く、本実施形態では、近距離無線通信部１５７が構成するＧＡＴＴデータにはディスクリプタは存在しないものとする。
【００６０】
サービス、キャラクタリスティック、ディスクリプタは３２桁で表現されるＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）で識別することができる。ここで言う、ＵＵＩＤとは、ソフトウエア上でオブジェクトを一意に識別するための識別子として使用されるものである。ＵＵＩＤは１２８ビットの数値だが、通常は１６進数で５５０ｅ８４００−ｅ２９ｂ−４１ｄ４−ａ７１６−４４６６５５４４００００のように表現される。
【００６１】
なお、サービス、キャラクタリスティック、ディスクリプタには、Ｂｌｕｅｔｏｏｔｈ  ＳＩＧ（Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ）によりの標準で定義されているものやベンダー固有のもの等がある。ベンダー固有のサービス、キャラクタリスティック、ディスクリプタのＵＵＩＤは、上述のように３２桁で表現され、Ｂｌｕｅｔｏｏｔｈ  ＳＩＧにより標準で定義されているサービス、キャラクタリスティック、ディスクリプタのＵＵＩＤは４桁で表現される。すなわち、例えば、Ｂｌｕｅｔｏｏｔｈ  ＳＩＧにより標準で定義されているサービス、キャラクタリスティック、ディスクリプタのＵＵＩＤは、２Ａ４９のように表現される。
【００６２】
サービスは、ＧＡＴＴのデータ中のアトリビュートを共通区分ごとにグループ化したものであり、各サービスには１以上のキャラクタリスティックが含まれる。キャラクタリスティックには、キャラクタリスティック毎に単一の値が設定されている。ディスクリプタは、キャラクタリスティックに付加情報が必要な際に用いられる属性値が設定されている。サービス、キャラクタリスティック、ディスクリプタには、それぞれ、ＧＡＴＴクライアントにリードやライトを許可するか否かを示す設定値であるリード・ライトの属性を設定することが出来る。
【００６３】
ＧＡＴＴクライアントは、サービス、キャラクタリスティックそれぞれのＵＵＩＤを指定することで、指定したキャラクタリスティックに設定されている値に対して、リード・ライトを実行することが出来る。ただし、リード・ライトが実行できるか否かは、各サービス、キャラクタリスティックに設定されているリード・ライト属性に基づく。
【００６４】
図１１に、近距離無線通信部１５７によって構築されているＧＡＴＴデータの例を示す。図１１のＧＡＴＴデータにおいて、「Ｓｅｒｖｉｃｅ  ＵＵＩＤ」は、各サービスに割り振られているＵＵＩＤを示す。ＵＵＩＤは上述したとおり、４桁もしくは３２桁で記述されている。「Ｓｅｒｖｉｃｅ名」は、各サービスの名前を示す。「Ｃｈａｒａｃｔａｒｉｓｔｉｃ  ＵＵＩＤ」は、各キャラクタリスティックに割り振られているＵＵＩＤを示す。ＵＵＩＤは上述したとおり、４桁もしくは３２桁で記述されている。「Ｃｈａｒａｃｔａｒｉｓｔｉｃ名」は、各キャラクタリスティックの名前を示す。「Ｓｅｒｖｉｃｅ  リード可能」は、各サービスに関する値を情報処理装置１０１がリード（読み取り）可能か否かを示す。「Ｓｅｒｖｉｃｅ  ライト可能」は、各サービスに関する値を情報処理装置１０１がライト（書き込み）可能か否かを示す。「Ｃｈａｒａｃｔａｒｉｓｔｉｃ  リード可能」は、各キャラクタリスティックに関する値を情報処理装置１０１がリード可能か否かを示す。「Ｃｈａｒａｃｔａｒｉｓｔｉｃ  ライト可能」は、各キャラクタリスティックに関する値を情報処理装置１０１がライト（書込み）可能か否かを示す。「Ｃｈａｒａｃｔａｒｉｓｔｉｃ  インディケイト可能」は、各キャラクタリスティックに関する値を通信装置１５１が更新した場合に情報処理装置１０１へインディケイト（通知）可能か否かを示す。「ペアリング必要」は、各キャラクタリスティックに関する値をペアリング済みでなければ情報処理装置１０１にライトもしくはリードを許可しないか否かを示す。
【００６５】
情報処理装置１０１は、「Ｓｅｒｖｉｃｅ  リード可能」がリード可能（○）を示し且つ「Ｃｈａｒａｃｔａｒｉｓｔｉｃ  リード可能」がリード可能を示（○）している場合、対応するキャラクタリスティックに関する値を読み取ることができる。また、情報処理装置１０１は、「Ｓｅｒｖｉｃｅ  リード可能」がリード可能（○）を示し且つ「Ｃｈａｒａｃｔａｒｉｓｔｉｃ  リード可能」がリード不可能（空欄）を示している場合、対応するキャラクタリスティックに関する値を読み取ることができない。「値」は、各キャラクタリスティックに設定された値を示す。また、「ペアリング必要」がペアリング不必要（空欄）を示している場合、情報処理装置１０１は、通信装置１５１とペアリングをしていない状態でも、対応するキャラクタリスティックに関する値を読み書きすることができる。一方、「ペアリング必要」がペアリング必要（○）を示している場合、情報処理装置１０１は、通信装置１５１とペアリングをしている状態でなければ、対応するキャラクタリスティックに関する値を読み書きすることができない。
【００６６】
本実施形態では、情報処理装置１０１と通信装置１５１間で認証を行い、装置間でＧＡＴＴ通信によりデータの読み書きを実行するためのペアリング処理を実施する。情報処理装置１０１と通信装置１５１間でのペアリングが実行されていない状態では、通信装置１５１は、ＧＡＴＴ通信による情報の読み書きを許可しない構成とする。このようにすることで、ペアリングを行っていない情報処理装置１０１と通信装置１５１が通信を行ってしまい、例えば、通信装置１５１が保持する情報がペアリングを行っていない情報処理装置１０１に不用意に取得されてしまうことを抑制することができる。なお、本実施形態では、ペアリングを行っていない状態で許可されるＧＡＴＴ通信と、ペアリングを行っていない状態では許可されないＧＡＴＴ通信とがあるものとする。秘匿性の低い情報は、ペアリングを行っていない状態で許可されるＧＡＴＴ通信で通信可能とすることで、通信の利便性を向上させることができる。一方、秘匿性の高い情報は、ペアリングを行っていない状態では許可されないＧＡＴＴ通信でのみ通信可能とすることで、通信のセキュリティを向上させることができる。
【００６７】
図４を用いて、ペアリング処理の詳細について説明する。まず、情報処理装置１０１は、前述の印刷アプリが起動され、印刷アプリを介してユーザからペアリング処理の実行指示を受け付けた場合、特定の装置情報を有するアドバタイズ情報のサーチを開始する。なお、特定の装置情報とは、例えば、印刷アプリに対応する装置（プリンタ等）のＵＵＩＤやＭＡＣアドレス等である。そして、情報処理装置１０１は、特定の装置情報を有するアドバタイズ情報を受信すると、特定の装置情報を有するアドバタイズ情報の送信元の装置のリストを表示部に表示し、ペアリング対象となる装置の選択をユーザから受け付ける。ここでは、通信装置１５１が選択されたものとして説明する。
【００６８】
そして、情報処理装置１０１は、ペアリング対象となる装置の選択を受け付けた場合、セキュリティーマネージャプロトコルによる通信により、通信装置１５１に、ペアリング要求を送信する。なお、ペアリングが終了するまで、装置間の通信は、セキュリティーマネージャプロトコルによって行われるものとする。
【００６９】
通信装置１５１は、ペアリング要求を受信すると、表示部１６０に、図４（ａ）に示すようなＰＩＮコード表示画面２００を表示する。ＰＩＮコード表示画面２００には、ＰＩＮコード２０１と、ペアリング処理をキャンセルするためのＣａｎｃｅｌボタン２０２が表示される。そして、情報処理装置１０１は、ペアリング要求を送信すると、表示部１０８に、図４（ｂ）に示すようなＰＩＮコード入力画面２１０を表示する。ＰＩＮコード入力画面２１０には、ユーザによるＰＩＮコード２０１の入力を受け付けるためのＰＩＮコード入力領域２１１が表示される。さらに、入力されたＰＩＮコード２０１を通信装置１５１に送信するためのＯＫボタン２１３と、ペアリング処理をキャンセルするためのＣａｎｃｅｌボタン２１２が表示される。ＰＩＮコード入力領域２１１にＰＩＮコード２０１が入力された状態で、ＯＫボタン２１３が押下されると、情報処理装置１０１は、入力されたＰＩＮコード２０１を含む情報を通信装置１５１に送信する。通信装置１５１は、受信した情報に含まれるＰＩＮコード２０１が、ＰＩＮコード表示画面２００に表示したＰＩＮコード２０１と一致するか否かを判定し、一致すると判定した場合は、情報処理装置１０１にペアリングを許可する。具体的には、通信装置１５１は、ＰＩＮコード２０１をもとに所定の方法で作成されたリンクキー（認証情報）を、ＢＬＥ規格のＳＭＰ（Ｓｅｃｕｒｉｔｙ  Ｍａｎａｇｅｒ  Ｐｒｏｔｏｃｏｌ）を利用して情報処理装置１０１と交換する。交換されたリンクキーは、情報処理装置１０１の持つ記憶領域（ＲＯＭ１０４等）と通信装置１５１の持つ記憶領域（ＲＯＭ１５２等）にそれぞれ保存される。これによりペアリングが完了し、以降、装置間でＢＬＥ通信を実行することが許可される。なお、情報処理装置１０１は、ペアリングが完了すると、ＰＩＮコード表示画面２００を非表示とし、元の画面を再度表示する。
【００７０】
ペアリング完了後は、情報処理装置１０１は、通信装置１５１に対してＧＡＴＴ通信要求を送信する際には、ペアリング処理時に記憶領域に保存したリンクキーを通信装置１５１に通知する。通信装置１５１は、ＧＡＴＴ通信要求を受信した場合、ペアリング処理時に記憶領域に保存したリンクキーと通知されたリンクキーを比較して、ＧＡＴＴ通信要求を発信している装置が、ペアリング済みの装置であるかを確認する。そして、通信装置１５１は、ペアリング済みの装置であると確認できた場合は、情報処理装置１０１とのＧＡＴＴ通信による情報の読み書きを開始する。これにより、情報処理装置１０１は、一旦通信装置１５１とのペアリング処理を完了しておけば、以降はユーザによるＰＩＮコードの入力なしに通信装置１５１とのＧＡＴＴ通信を実行することができる。
【００７１】
なお、上述では、ＰＩＮコード入力領域２１１に、ＰＩＮコード入力画面２１０に表示されているＰＩＮコード２０１をユーザに入力させる形態を説明したが、この形態に限定されない。例えば、ＰＩＮコード２１０を固定の（ユーザが任意に変更できない）情報とし、印刷アプリのインストールと共に情報処理装置１０１に格納される形態とすることで、ユーザの入力なしにＰＩＮコード２１０が通信装置１５１に通知される形態としてもよい。また、ペアリング処理が開始されるタイミングも上述の形態に限定されず、例えば、印刷アプリを介してユーザが印刷を指示したタイミングや、接続設定処理においてＢＬＥ接続が行われる前のタイミング等であっても良い。
【００７２】
また、情報処理装置１０１が表示するＰＩＮコード入力画面２１０は、印刷アプリによって表示されなくとも良い。例えば、情報処理装置１０１は、設定用アプリケーション（以降、設定用アプリ）を有していても良い。設定用アプリとは、ＯＳにより実行される機能に関する設定を行うためのアプリーションプログラムである。設定用アプリは、例えば、ＯＳが情報処理装置１０１にインストールされる一連の処理において一緒にインストールされたり、情報処理装置１０１の着荷時にＯＳと一緒に予め情報処理装置１０１にインストールされたりしているアプリーションプログラムである。情報処理装置１０１は、通信装置１５１とペアリングを行う際に、設定用アプリを起動させて印刷アプリをバックグラウンドに遷移させ、設定用アプリにより表示されるＢｌｕｅｔｏｏｔｈ設定画面に対するペアリングのための入力をユーザから受け付けても良い。
【００７３】
また上述では、ＰＩＮコード入力式のペアリング方法について説明したが、ペアリングの方法は、上述の方法に限定されない。以下に、ＰＩＮコード入力式以外のペアリング方法について説明する。情報処理装置１０１は、通信装置１５１が保持している情報である、鍵シードと呼ばれる情報を、ＢＬＥ接続を介して通信装置１５１から取得する。そして、情報処理装置１０１と通信装置１５１は、それぞれが予め認識している法則に従って、鍵シードからリンクキーを生成する。生成されたリンクキーは、情報処理装置１０１の持つ記憶領域（ＲＯＭ１０４等）と通信装置１５１の持つ記憶領域（ＲＯＭ１５２等）にそれぞれ保存される。すなわち、情報処理装置１０１と通信装置１５１は、同じリンクキーをそれぞれが保持することとなる。このようにしてリンクキーを生成し、当該リンクキーを用いたＧＡＴＴ通信が可能となることで、通信装置１５１と情報処理装置１０１との間の認証が行われ、ペアリング処理が完了する。ペアリング処理が完了した後は、情報処理装置１０１と通信装置１５１との間の通信において、リンクキーに基づいて暗号化した情報が通信される。情報処理装置１０１と通信装置１５１は、リンクキーに基づいて暗号化された情報を受信した場合、自身が保持するリンクキーを用いて暗号化を解除することで、暗号化される前の情報を認識することができる。
【００７４】
（アドバタイジングとＢＬＥ接続のシーケンス）
図１２は、情報処理装置１０１と通信装置１５１との間におけるＢＬＥ通信を説明するためのシーケンス図である。なおこの処理シーケンスが示す通信装置１５１の処理は、ＣＰＵ１５４が、ＲＯＭ１５２又は通信装置１５１が備えるＨＤＤ（不図示）に記憶されている制御プログラムをＲＡＭ１５３にロードし、その制御プログラムを実行することで実現される。また、この処理シーケンスが示す情報処理装置１０１の処理は、ＣＰＵ１０３が、ＲＯＭ１０４又は情報処理装置１０１が備えるＨＤＤ（不図示）に記憶されている制御プログラムをＲＡＭ１０５にロードし、その制御プログラムを実行することで実現される。
【００７５】
以下の説明において、通信装置１５１は、所定の間隔でアドバタイズ情報を送信するアドバタイザであるものとする。また、情報処理装置１０１は、周辺にあるアドバタイザから送信されるアドバタイズ情報を待ち受けるスキャナであるものとする。まず、通信装置１５１内の近距離無線通信部１５７は、アドバタイズ情報の送信を行う（Ｓ１３０１〜Ｓ１３０３）。情報処理装置１０１は、近距離無線通信部１１０が近距離無線通信部１５７から送信されたアドバタイズ情報を受信することで、通信装置１５１の存在を認識することができる。
【００７６】
情報処理装置１０１は、通信装置１５１を認識し、通信装置１５１と接続することを決定したら、接続要求情報を通信装置１５１に送信する。具体的には、近距離無線通信部１１０が、ＢＬＥによるネットワーク接続を確立する接続イベントに遷移するための接続要求であるＣＯＮＮＥＣＴ＿ＲＥＱを送信する（Ｓ１３０４）。なお、上述したとおり、近距離無線通信部１５７は、第１アドバタイズ情報と第２アドバタイズ情報（スキャン・レスポンス）とに分けてアドバタイズを実行してもよい。つまり、近距離無線通信部１１０は、第１アドバタイズ情報に応答してスキャン・リクエストを送信し、第２アドバタイズ情報（スキャン・レスポンス）に応答して接続要求（ＣＯＮＮＥＣＴ＿ＲＥＱ）を送信してもよい。近距離無線通信部１５７がＣＯＮＮＥＣＴ＿ＲＥＱを受信すると、情報処理装置１０１及び通信装置１５１は、接続イベントに遷移する準備をする。具体的には、近距離無線通信部１１０及び近距離無線通信部１５７が、それぞれＣＰＵ１０３及びＣＰＵ１５４にＧＡＴＴ通信のための接続処理が完了した旨を通知する。
【００７７】
その後、情報処理装置１０１及び通信装置１５１はそれぞれスキャナとアドバタイザから、マスタとスレーブに遷移し、マスタである情報処理装置１０１とスレーブである通信装置１５１は、ＧＡＴＴ通信のための接続（ＢＬＥ接続）を確立する。なお、ＢＬＥ規格では、マスタは、スレーブと「１：多」のスター型のトポロジーを形成することができる。情報処理装置１０１と通信装置１５１は、ＢＬＥ接続を確立したら、以後、ＧＡＴＴ通信方式によってデータ通信を行うことができる。
【００７８】
情報処理装置１０１は、ＧＡＴＴ通信により通信装置１５１のＧＡＴＴデータにアクセスする前に、通信装置１５１がどのような構成のＧＡＴＴデータを有しているかを取得する必要がある。ＧＡＴＴデータの構成とは例えば、ＧＡＴＴデータ内のサービスの数、キャラクタリスティックの数、それぞれのＵＵＩＤの値やリードの可否を示す属性等である。ＧＡＴＴデータの構成を情報処理装置１０１が取得する手段のことをディスカバリと呼ぶ。
【００７９】
そこで情報処理装置１０１は、Ｓ１３０４でＢＬＥ接続が確立された後に、Ｓ１３０５で、ディスカバリを開始する。具体的には情報処理装置１０１は、通信装置１５１のＧＡＴＴデータの構成を示す情報を要求するためのディスカバリ要求を通信装置１５１へと送信する。これにより、ディスカバリ要求の応答として、通信装置１５１は、情報処理装置１０１へＧＡＴＴデータの構成を示す情報を送信する。ＧＡＴＴデータの構成を示す情報を受信した情報処理装置１０１は、通信装置１５１のＧＡＴＴデータ内の、ハッシュ値が格納されている領域を特定し、ハッシュ値のリードを行う。なおハッシュ値は、図１１のＣｈａｒａｃｔｅｒｉｓｔｉｃ  ＵＵＩＤが０ｘ２Ｂ２ＡのＤａｔａｂａｓｅ  Ｈａｓｈキャラクタリスティックに格納されている値である。通信装置１５１は、Ｄａｔａｂａｓｅ  Ｈａｓｈキャラクタリスティックの値として、通信装置１５１があらかじめＧＡＴＴデータの構成から算出したハッシュ値を格納している。すなわちハッシュ値とは、通信装置１５１のＧＡＴＴデータの構成に応じて一意に定められる値である。
【００８０】
なお、情報処理装置１０１は、過去に情報処理装置１０１がＢＬＥによって接続したことがある端末からリードしたハッシュ値を、情報処理装置１０１が備えるメモリ（ＲＯＭ１０４等）に格納している。そこでＳ１３０６で、情報処理装置１０１は、Ｓ１３０５でリードしたハッシュ値が、過去にリードしたハッシュ値（情報処理装置１０１が備えるメモリに格納されているハッシュ値）と一致するものがあるかを比較する。すなわち情報処理装置１０１は、通信装置１５１が、過去に情報処理装置１０１がＢＬＥによって接続したことがある端末か否かを判定する。このとき情報処理装置１０１は、ハッシュ値だけでなく、通信装置１５１のＭＡＣアドレスなどの個体識別情報等の他の情報を判定条件に加えてもよい。
【００８１】
Ｓ１３０６でＮＯと判定された場合、情報処理装置１０１は、通信装置１５１のＧＡＴＴデータの残りの構成を把握するために、ディスカバリを継続する。そのためＳ１３０７で情報処理装置１０１は、通信装置１５１のＧＡＴＴデータの構成を示す情報を要求するためのディスカバリ要求を通信装置１５１へと送信する。当該要求を受け付けた通信装置１５１は、Ｓ１３０８で、情報処理装置１０１へＧＡＴＴデータの構成を示す情報を送信する。なお、ディスカバリ要求の送受信及びＧＡＴＴデータの構成を示す情報の送受信は、ＧＡＴＴデータ内のサービス、キャラクタリスティック、ディスクリプタの数の分だけ繰り返される。そのため、Ｓ１３０９では、ＧＡＴＴデータの構成を示すすべての情報の送信が完了されるまで、ディスカバリ要求の送受信及びＧＡＴＴデータの構成を示す情報の送受信が繰り返される。
【００８２】
ＧＡＴＴデータの構成を示すすべての情報の送信が完了されると、Ｓ１３１０で、情報処理装置１０１は、通信装置１５１のＧＡＴＴデータの構成をキャッシュとして情報処理装置１０１が備えるメモリに格納する。このとき情報処理装置１０１は、通信装置１５１のＧＡＴＴデータの構成のキャッシュと通信装置１５１から得たハッシュ値とを対応付けてメモリへの格納を行う。なお情報処理装置１０１は、通信装置１５１のＭＡＣアドレスなどの個体識別情報等の他の情報をさらに対応付けてメモリへの格納を行ってもよい。
【００８３】
なお、Ｓ１３０６でＹＥＳと判定された場合、情報処理装置１０１は、通信装置１５１のＧＡＴＴデータの構成を既にキャッシュしていることになるため、Ｓ１３０７〜Ｓ１３１０までの処理を省略しても良い。
【００８４】
通信装置１５１のＧＡＴＴデータの構成を取得することにより、以降、情報処理装置１０１は、通信装置１５１との任意のＧＡＴＴ通信を実行することが可能となる。そのため、情報処理装置１０１は、Ｓ１３１１で、通信装置１５１との任意のＧＡＴＴ通信を実行する。
【００８５】
ＧＡＴＴ通信が完了した後、情報処理装置１０１は、Ｓ１３１２にて、解放要求を送信する。解放要求を受け取った通信装置１５１は、Ｓ１３１３にて解放応答を送信し、装置間のＢＬＥ接続を終了する。装置間のＢＬＥ接続が終了すると、情報処理装置１０１と通信装置１５１はそれぞれスキャナとアドバタイザに戻り、通信装置１５１は、アドバタイズ情報の送信を再開する。
【００８６】
なお、上述の例では、通信装置１５１がアドバタイザ、情報処理装置１０１がスキャナの例を記載したが、本実施形態では、逆でも適用可能である。つまり、情報処理装置１０１がアドバタイザ、通信装置１５１がスキャナであってもよい。
【００８７】
（ＢＬＥ通信を介したＷｉ−Ｆｉ通信）
ここで、低速な通信であるＢＬＥ通信によって、ＢＬＥよりも高速な通信であるＷｉ−Ｆｉの接続を行うシーケンスを説明する。図１３は、情報処理装置１０１と通信装置１５１とが、ＢＬＥ通信方式によってネットワーク接続を行う場合のシーケンス図である。ここでは、ハンドオーバーによってジョブの送受信を行う場合を例にして説明する。なお、ハンドオーバーとは、通信を行うそれぞれの装置が、まず近距離通信方式（低速通信方式）によって高速通信方式による通信を行うための接続情報をやり取りした後、高速通信方式に切り替えてデータの送受信を行う技術である。
【００８８】
本実施形態では、近距離通信方式としてＢＬＥを、高速通信方式としてＷｉ−Ｆｉを用いている。ＧＡＴＴ通信（装置間でＢＬＥ接続を確立することによって可能となる双方向通信）の通信速度は、Ｗｉ−Ｆｉ通信と比較して低速である。そのため、ＧＡＴＴ通信では装置間の認証やＷｉ−Ｆｉ通信のために必要な接続情報の通信を行い、通信速度の速いＷｉ−Ｆｉ通信で容量の多いデータ（ここではジョブ）の転送を行うことで、効率的なデータ転送を図ることができる。なお、ハンドオーバーにおいて利用される通信方式は、上述の形態に限定されず、近距離通信方式及び高速通信方式として種々の通信方式が利用されて良い。例えば、ＮＦＣ通信やＷｉ−Ｆｉ  Ａｗａｒｅ通信にてＷｉ−Ｆｉ通信のための接続情報をやり取りし、その後Ｗｉ−Ｆｉ通信にてデータのやり取りを行うような構成としても良い。
【００８９】
なお、この処理シーケンスが示す通信装置１５１の処理は、ＣＰＵ１５４が、ＲＯＭ１５２又は通信装置１５１が備えるＨＤＤ（不図示）に記憶されている制御プログラムをＲＡＭ１５３にロードし、その制御プログラムを実行することで実現される。また、この処理シーケンスが示す情報処理装置１０１の処理は、ＣＰＵ１０３が、ＲＯＭ１０４又は情報処理装置１０１が備えるＨＤＤ（不図示）に記憶されている制御プログラムをＲＡＭ１０５にロードし、その制御プログラムを実行することで実現される。
【００９０】
以下の説明において、通信装置１５１は、所定の間隔でアドバタイズ情報を送信するアドバタイザであるものとする。また、情報処理装置１０１は、周辺にあるアドバタイザから送信されるアドバタイズ情報を待ち受けるスキャナであるものとする。
【００９１】
まず、近距離無線通信部１５７は、アドバタイズ情報の送信を行う（Ｓ１００１〜Ｓ１００３）。情報処理装置１０１は、近距離無線通信部１１０が近距離無線通信部１５７から送信されたアドバタイズ情報を受信することで、通信装置１５１の存在を認識することができる。
【００９２】
情報処理装置１０１は、通信装置１５１を認識し、通信装置１５１と接続することを決定したら、接続要求情報を通信装置１５１に送信する。具体的には、近距離無線通信部１１０が、ＢＬＥによるネットワーク接続を確立する接続イベントに遷移するための要求であるＣＯＮＮＥＣＴ＿ＲＥＱを送信する（Ｓ１００４）。近距離無線通信部１５７がＣＯＮＮＥＣＴ＿ＲＥＱを受信すると、情報処理装置１０１及び通信装置１５１は、接続イベントに遷移する準備をする。具体的には、近距離無線通信部１１０及び近距離無線通信部１５７が、それぞれＣＰＵ１０３及びＣＰＵ１５４にＧＡＴＴ通信のための接続処理が完了した旨を通知する。その後、情報処理装置１０１及び通信装置１５１はそれぞれスキャナとアドバタイザから、マスタとスレーブに遷移し、マスタである情報処理装置１０１とスレーブである通信装置１５１は、ＧＡＴＴ通信のための接続（ＢＬＥ接続）を確立する。なお、ＢＬＥ規格では、マスタは、スレーブと「１：多」のスター型のトポロジーを形成することができる。情報処理装置１０１と通信装置１５１は、ＢＬＥ接続を確立したら、以後、ＧＡＴＴ通信方式によってデータ通信を行うことができる。なお、Ｓ１００１〜Ｓ１００４までの処理は、図１２におけるＳ１３０１〜Ｓ１３０４までの処理と同様である。通信装置１５１は、ＢＬＥ接続を確立した場合、アドバタイズを停止しても良いし、送信するアドバタイズ情報の内容を切り替えても良い。具体的には通信装置１５１は、受信した装置が接続要求を送信可能なアドバタイズ情報（ＡＤＶ＿ＩＮＤ）から、受信した装置が接続要求を送信できないアドバタイズ情報（ＡＤＶ＿ＳＣＡＮ＿ＩＮＤやＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ）に切り替えても良い。また、図１２では、Ｓ１３０５、Ｓ１３０６を実行した後に、Ｓ１３０７〜Ｓ１３１０までの処理を実行し、Ｓ１３１１のＧＡＴＴ通信を実行したが、図１３では省略する。
【００９３】
Ｓ１００５では、近距離無線通信部１１０は、ＧＡＴＴ通信により、近距離無線通信部１５７に対して、通信装置１５１が利用可能な通信プロトコルの情報を要求する。この要求には情報処理装置１０１が利用可能な通信プロトコルの情報が含まれており、近距離無線通信部１５７は、この要求を受信することで、情報処理装置１０１がＷｉ−Ｆｉ等の通信方式を利用可能であることを認識することができる。
【００９４】
Ｓ１００６では、近距離無線通信部１５７は、ＧＡＴＴ通信により、Ｓ１００５で受け取った要求に対して、自身の利用可能な通信プロトコルの情報を応答する。これによって互いの装置は、ＢＬＥ以外の互いの利用可能な通信プロトコルを把握することができる。
【００９５】
ここで、ＢＬＥ以外の互いの利用可能な通信プロトコルを把握することにより、装置間の通信をＷｉ−Ｆｉ通信に切り替えることが情報処理装置１０１によって決定されたとする。なお、このとき、通信方式の切り替えを行うか否かは通信装置１５１が決定しても良い。
【００９６】
通信方式の切り替えが決定された場合、Ｓ１００７およびＳ１００８にて、それぞれの装置は、通信相手を特定するアドレスの情報やＳＳＩＤの情報等の、Ｗｉ−Ｆｉで通信を行うために必要な接続情報を交換する。その後Ｓ１００９にて、近距離無線通信部１１０は、装置間の通信方式をＧＡＴＴ通信からＷｉ−Ｆｉ通信へと切り替える要求（通信切り替え要求）を送信する。近距離無線通信部１５７は、切り替えの要求を受信すると、Ｓ１０１０にて応答を行う。
【００９７】
切り替えの要求と応答が正しく行われたら、Ｓ１０１１では、情報処理装置１０１は、通信装置１５１との通信に利用する通信部を近距離無線通信部１１０から通信部１０９へ切り替える。
【００９８】
さらに、Ｓ１０１２では、通信装置１５１は、情報処理装置１０１との通信に利用する通信部を近距離無線通信部１５７から通信部１５６へ切り替える。切り替えを行った後、Ｓ１０１３にて、近距離無線通信部１１０は解放要求を送信する。解放要求を受け取った近距離無線通信部１５７は、Ｓ１０１４にて解放応答を送信し、装置間のＢＬＥ接続を終了する。装置間のＢＬＥ接続が終了すると、情報処理装置１０１と通信装置１５１はそれぞれスキャナとアドバタイザに戻り、近距離無線通信部１５７は、アドバタイズ情報の送信を再開する。
【００９９】
その後、それぞれの装置は、Ｓ１００７およびＳ１００８で交換したＷｉ−Ｆｉ通信を行うために必要な情報を利用し、Ｗｉ−Ｆｉ通信を行う。まずＳ１０１５では、通信部１０９は、通信装置１５１がジョブの取得が可能かどうか通信部１５６に確認をする。ここでは、例えば、通信装置１５１に転送しようとする画像データを一時保存するための空き容量の情報などが確認される。通信部１５６は、確認の要求を受け取った後、Ｓ１０１６にて確認に対する応答を送信する。
【０１００】
正しい応答が得られ、通信装置１５１がジョブの取得が可能であると判断した場合、Ｓ１０１７にて、通信部１５６は、ジョブを要求する。その後、ジョブの要求を受けた通信部１０９は、Ｓ１０１８にて情報処理装置１０１に存在する画像データ等を含むジョブを通信部１５６に対して送信する。なお、このとき送信するジョブの選択は、例えば、ＢＬＥ接続が確立する前やＢＬＥ接続が確立した後、Ｗｉ−Ｆｉ接続が確立した後等のタイミングで行われる。また、送信されるジョブは、印刷ジョブに限らず、例えば、通信装置１５１にスキャンを指示するためのスキャンジョブや情報処理装置１０１が通信装置１５１の状態の情報を取得するためのジョブ等であっても良い。また、例えば通信装置１５１の設定の変更等、通信装置１５１に対する各種操作を実行するためのコマンド等であっても良い。また、通信装置１５１がカメラ等の撮像装置の場合、カメラで撮像した画像データを、Ｗｉ−Ｆｉ通信により、スマートフォン等の情報処理装置１０１に送信してもよい。また、通信装置１５１が音楽再生デバイスの場合、スマートフォン等の情報処理装置１０１から音データをＷｉ−Ｆｉ通信により音楽再生デバイスへ送信してもよい。
【０１０１】
情報処理装置１０１は、ジョブの送信が完了した場合、通信装置１５１とのＷｉ−Ｆｉ接続を切断して、ハンドオーバー直前のネットワーク状態に戻る。具体的には、例えば情報処理装置１０１は、ハンドオーバーを実行する前に、３ＧやＬＴＥ等の移動体通信網やルーター等のアクセスポイントに接続していた場合は、当該移動体通信網やアクセスポイントへの接続を再度確立する。そのため、情報処理装置１０１は、ハンドオーバーを実行する前に、ハンドオーバー直前のネットワーク状態の情報及び、当該ネットワーク情報を確立するために必要な接続情報等を保持しておく。
【０１０２】
このように、ハンドオーバー技術を用いることで、ユーザビリティの高い通信方式（近距離通信方式）によって、高速通信方式で通信するための接続情報をやり取りし、その後、高速通信方式によって、容量の大きいデータのやり取りを高速で行うことができる。なお、ハンドオーバーによってＧＡＴＴ通信からＷｉ−Ｆｉ通信へ通信方式の切り替えが行われた場合、装置間のＢＬＥ接続は切断されるため、近距離無線通信部１５７は、アドバタイズ情報の送信を再開する。
【０１０３】
なお、上述の例では、通信装置１５１がアドバタイザ、情報処理装置１０１がスキャナの例を記載したが、本実施形態では、逆でも適用可能である。つまり、情報処理装置１０１がアドバタイザ、通信装置１５１がスキャナであってもよい。
【０１０４】
（絶対位置情報の推定）
次に、Ｂｌｕｅｔｏｏｔｈ５．１の位置検出機能を利用した絶対位置情報の推定方法について説明する。ＧＰＳ受信部を備えていない簡易デバイスであっても、デバイス自身の絶対位置を把握したい場合がある。この場合、簡易デバイスは、ＧＰＳ受信部を備えている処理装置がＧＰＳを用いて取得した処理装置の絶対位置と、処理装置と簡易デバイスとの相対位置関係と、を用いて、簡易デバイスの絶対位置を把握することが可能となる。以下、詳細に説明する。
【０１０５】
図１４は、Ｂｌｕｅｔｏｏｔｈ５．１のＢＬＥ規格をサポートしている装置と、ＧＰＳ衛星の一例を示す図である。図１４（ａ）において、ＧＰＳ衛星１４０１は、グローバル・ポジショニング・システム（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ（ＧＰＳと略す））の一部を構成するＧＰＳ衛星である。実際には複数のＧＰＳ衛星が上空で稼働しているが、図１４（ａ）ではそれらの内の１つを記載している。
【０１０６】
ＧＰＳ受信部を備える処理装置であるスマートフォン１４０３は、上空にある数個のＧＰＳ衛星からの信号をＧＰＳ受信部で受け取り、スマートフォン１４０３の現在位置を知ることができる。スマートフォン１４０３は、図１の情報処理装置１０１の構成を備える。
【０１０７】
プリンタ１４０２は、ＧＰＳ受信部は備えていないが、プリンタ１４０２のメモリ内に設置位置情報や設置高度情報があらかじめ登録されているものとする。プリンタ１４０２は、図１の通信装置１５１の構成を備える。なお、プリンタ１４０２の設置場所としては、例えば、コンビニエンスストア内、オフィス内、自宅の屋内等を想定している。
【０１０８】
ウェアラブルデバイス１４０４は、腕時計やゴーグルのように、体に装着して使用する装置である。ウェアラブルデバイス１４０４は、図１の情報処理装置１０１と基本的には同様な構成を備えるが、ＧＰＳ受信部１１２を備えていない。
【０１０９】
本実施形態では、プリンタ１４０２とスマートフォン１４０３がＢＬＥのアドバタイザ（以下、アドバタイザデバイスとも呼ぶ）、ウェアラブルデバイス１４０４がＢＬＥのスキャナ（以下、スキャナデバイスとも呼ぶ）として機能する例を示す。
【０１１０】
図１４（ａ）では、時刻Ｔ０時点において、スマートフォン１４０３は、位置Ｐ０に存在し、真方位１２０．８度の方向に移動速度２．５ｋｎｏｔ（＝４．６３キロメートル毎時）で移動している。また、スマートフォン１４０３は、ＧＰＳ衛星１４０１からの信号を内蔵するＧＰＳ受信部１１２で受け取り、スマートフォン１４０３の現在位置を知ることができる。Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（符号１４０５）は、ウェアラブルデバイス１４０４がプリンタ１４０２から受信するＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌから算出されるＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θである。Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（符号１４０６）は、ウェアラブルデバイス１４０４がスマートフォン１４０３から受信するＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌから算出されるＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θである。
【０１１１】
図１４（ａ）の時刻Ｔ０時点において、ウェアラブルデバイス１４０４の周辺にＢＬＥアドバタイザデバイスが１台だけ（例えば、スマートフォン１４０３だけ）が存在する、と仮定した場合について説明する。この時、ウェアラブルデバイス１４０４は、スマートフォン１４０３の現在位置情報、現在高度情報、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０６）、及びアドバタイズ情報（スキャン・レスポンス）の電波強度をもとに、自分の現在位置を推定することができる。なお、現在位置情報は、現在の緯度、経度、北緯／南緯の情報、東経／西経の情報の少なくともいずれかに関する位置情報であり、現在高度情報は、現在の高度（海抜）に関する高度情報である。
【０１１２】
図１４（ａ）において、ウェアラブルデバイス１４０４がスマートフォン１４０３から受信するアドバタイズ情報に基づいて、ウェアラブルデバイス１４０４は、式（１）より、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０６）を求めることができる。つまり、ウェアラブルデバイス１４０４は、ウェアラブルデバイス１４０４とスマートフォン１４０３との角度を推定することができる。さらに、ウェアラブルデバイス１４０４は、受信したアドバタイズ情報の電波強度を基にウェアラブルデバイス１４０４とスマートフォン１４０３との距離を推定することができる。具体的には、スマートフォン１４０３とウェアラブルデバイス１４０４との距離は、受信した電波強度を基に、電波強度と距離との関係を示すテーブル（後述の図２１参照）を使って推定できる。
【０１１３】
よって、推定した角度の方向に、推定した距離だけスマートフォン１４０３から離れた位置が、ウェアラブルデバイス１４０４の推定現在位置となる。つまり、図１４（ａ）において、スマートフォン１４０３を始点としてθ（１４０６）を形成する破線上で、スマートフォン１４０３の位置から、推定された距離だけ離れた位置がウェアラブルデバイス１４０４の推定現在位置である。
【０１１４】
尚、高度は、スマートフォン１４０３の現在高度情報をもとに推定することができる。典型的には、スマートフォン１４０３とウェアラブルデバイス１４０４と同じ高度情報とすることができる。
【０１１５】
このように、ウェアラブルデバイス１４０４は、周囲の装置（ＢＬＥアドバタイザデバイス）からのアドバタイズ情報に含まれるその装置の位置情報を基に、ウェアラブルデバイス１４０４の絶対位置情報を求めることができる。
【０１１６】
次に、図１４（ａ）の時刻Ｔ０において、ウェアラブルデバイス１４０４の周辺にＢＬＥアドバタイザデバイスが複数台（例えば、プリンタ１４０２とスマートフォン１４０３）が存在する、と仮定した場合について説明する。この時、ウェアラブルデバイス１４０４は、プリンタ１４０２の設置位置情報及び設置高度情報、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０５）、スマートフォン１４０３の現在位置情報及び現在高度情報、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０６）をもとに、自分の現在位置を推定することができる。なお、プリンタ１４０２にはプリンタ１４０２の設置位置情報と設置高度情報があらかじめ登録されているものとする。登録処理の詳細は図１９を用いて後述する。
【０１１７】
図１４（ａ）において、ウェアラブルデバイス１４０４がプリンタ１４０２から受信するアドバタイズ情報に基づいて、ウェアラブルデバイス１４０４は、式（１）より、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０５）を求めることができる。さらに、ウェアラブルデバイス１４０４がスマートフォン１４０３から受信するアドバタイズ情報に基づいて、ウェアラブルデバイス１４０４は、式（１）より、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０６）を求めることができる。つまり、ウェアラブルデバイス１４０４は、ウェアラブルデバイス１４０４とプリンタ１４０２との角度と、ウェアラブルデバイス１４０４とスマートフォン１４０３との角度を推定することができる。
【０１１８】
さらに、ウェアラブルデバイス１４０４は、プリンタ１４０２から受信したアドバタイズ情報の電波強度を基にウェアラブルデバイス１４０４とプリンタ１４０２との距離を推定することができる。ウェアラブルデバイス１４０４は、スマートフォン１４０３から受信したアドバタイズ情報の電波強度と図２１のテーブルとを基にウェアラブルデバイス１４０４とスマートフォン１４０３との距離を推定することができる。
【０１１９】
よって、プリンタ１４０２を始点としてＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０５）を形成する破線と、スマートフォン１４０３を始点としてＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０６）を形成する破線の交点（後述の図２６（ａ）の領域２６０３）が、ウェアラブルデバイス１４０４の推定現在位置である。尚、高度は前記設置高度情報をもとに推定することができる。
【０１２０】
このように、ウェアラブルデバイス１４０４は、周囲の複数の装置（ＢＬＥアドバタイザデバイス）からのアドバタイズ情報を用いることにより、より正確な絶対位置情報を求めることができるため好ましい。特に、電波強度は、ＢＬＥスキャナデバイスに対するＢＬＥアドバタイザデバイスの距離が遠くになるにつれて推定距離の精度が下がる。Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θは、ＢＬＥアドバイザデバイスからの距離が遠くになるにつれて誤差が大きくなるものの、電波強度と比較した場合、同じ距離における誤差が小さく精度は電波強度よりも高いと考えられている。このようなケースにおいては、周辺に存在するＢＬＥアドバタイザデバイスが１台だけの時よりも複数台存在する時の方が、ウェアラブルデバイス１４０４の現在位置を高い精度で算出して推定することができる。
【０１２１】
以上が本実施形態の位置検出方法の基本的な概念である。しかしながら、ウェアラブルデバイス１４０３とスマートフォン１４０２との相対位置関係は変化し得る。図１４（ｂ）を用いて、スマートフォン１４０２が移動している場合について説明する。
【０１２２】
図１４（ｂ）は、時刻Ｔ１時点における装置同士の位置関係を示す。図１４（ｂ）において、スマートフォン１４０３付近の点線の矩形は、図１４（ａ）に示す時刻Ｔ０時点におけるスマートフォン１４０３の位置を表す。スマートフォン１４０３付近の実線の矩形は、時刻Ｔ１時点におけるスマートフォン１４０３の位置を表す。時刻Ｔ１において、スマートフォン１４０３は、位置Ｐ１に存在し、真方位１２０．８度の方向に移動速度２．５ｋｎｏｔ（＝４．６３キロメートル毎時）で移動している。Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０７）は、ウェアラブルデバイス１４０４がスマートフォン１４０３から受信するＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌから算出されるＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θである。
【０１２３】
スマートフォン１４０３がＧＰＳ受信部１１２からスマートフォン１４０３の現在位置情報を取得してから、ウェアラブルデバイス１４０４にアドバタイズ情報（スキャン・レスポンス）を送信するまでには、処理時間を要することが考えられる。例えば、Ｔ０時点においてウェアラブルデバイス１４０４は静止していて、時刻Ｔ０にスマートフォン１４０３は現在位置情報を取得し、時刻Ｔ１にスマートフォン１４０３はアドバタイズ情報を送信したと仮定する。時刻Ｔ１は時刻Ｔ０の１秒後とすると、前記処理時間は１秒間となる。
【０１２４】
ウェアラブルデバイス１４０４がスマートフォン１４０３からのアドバタイズ情報（スキャン・レスポンス）を受信するのは時刻Ｔ１であるが、そのアドバタイズ情報中に含まれる現在位置の情報は、時刻Ｔ０時点のものである。従って、ウェアラブルデバイス１４０４が自身の正確な位置を算出するためには、スマートフォン１４０３が移動した分の補正を行う必要がある。
【０１２５】
そこで、ウェアラブルデバイス１４０４は、スマートフォン１４０３からのアドバタイズ情報（スキャン・レスポンス）に移動速度に関する情報と真方位情報が含まれる場合、前記現在位置から真方位方向に１秒間移動した位置Ｐ１を算出する。具体的には、プリンタ１４０２を始点としてＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０５）を形成する破線と、前記算出された位置Ｐ１に存在するスマートフォン１４０３を始点としてＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（１４０７）を形成する破線の交点（後述の図２６（ａ）の領域２６０３）が、算出されたウェアラブルデバイス１４０４の推定現在位置である。尚、高度は前記現在高度情報をもとに推定することができる。
【０１２６】
このように、ウェアラブルデバイス１４０４は、周囲の装置からのアドバタイズ情報にその装置の移動速度と真方位情報が含まれる場合、より正確なウェアラブルデバイス１４０４の絶対位置情報を求めることができるため好ましい。
【０１２７】
ここで、複数のＢＬＥアドバタイザデバイスからのアドバタイズ情報を用いることが好ましい理由について詳細に説明する。図２６は、ＢＬＥアドバタイザデバイスが送信するアドバタイズ情報のＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θがカバーする領域の一例を示す図である。図２６において、プリンタ１４０２、スマートフォン１４０３、ウェアラブルデバイス１４０４は、図１４に示すそれぞれのものと同一である。図２６（ａ）において、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０１は、ウェアラブルデバイス１４０４がプリンタ１４０２から受信するアドバタイズ情報のＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θがカバーする領域である。Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０２は、ウェアラブルデバイス１４０４がスマートフォン１４０３から受信するアドバタイズ情報のＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θがカバーする領域である。ウェアラブルデバイス１４０４は、図１に示す近距離無線通信部１１０を備え、この近距離無線通信部１１０は、図６に示す３つのアンテナ６０１、６０２、６０３を備えるものとする。これらのアンテナで受信されたＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌから算出された前記Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θは、プリンタ１４０２やスマートフォン１４０３からの距離が遠くなるにつれて誤差が大きくなる。つまり、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０１や領域２６０２のような領域をカバーする。領域２６０３は、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０１とＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０２の両方でカバーされる領域であり、ウェアラブルデバイス１４０４は、領域２６０３内に存在すると算出することができる。
【０１２８】
図２６（ｂ）において、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０５は、ウェアラブルデバイス１４０４がスマートフォン１４０３から受信するＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌから算出されるＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θがカバーする領域である。ウェアラブルデバイス１４０４は、図１に示す近距離無線通信部１１０を備え、この近距離無線通信部１１０は、図６に示す３つのアンテナ６０１、６０２、６０３を備えるものとする。これらのアンテナで受信されたＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌから算出された前記Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θは、スマートフォン２６０４からの距離が遠くなるにつれて誤差が大きくなる。つまり、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０５のような領域をカバーする。領域２６０６は、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０１、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０２、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０５の全てでカバーされる領域であり、ウェアラブルデバイス１４０４は、領域２６０６内に存在すると算出することができる。
【０１２９】
図２６（ｂ）のケースは、プリンタ１４０２、スマートフォン１４０３からのＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌから算出されるＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０１、２６０２に加えて、スマートフォン２６０４からのＡｏＡ  Ｒａｄｉｏ  Ｓｉｇｎａｌから算出されるＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ領域２６０５も利用する。そして、領域２６０１、２６０２、２６０５の全てでカバーされる領域２６０６を算出するので、図２６（ａ）のケースよりも図２６（ｂ）のケースの方が、ウェアラブルデバイス１４０４の現在位置を高い精度で算出して推定することができる。なお、図２６（ｂ）では、プリンタ１４０２、スマートフォン１４０３、スマートフォン２６０４の３つのＢＬＥアドバタイザデバイスと、ウェアラブルデバイス１４０４のＢＬＥスキャナデバイスで構成される例を示した。しかしながら、この例に限られることなく、ＢＬＥアドバタイザデバイスの数が多い方が、ウェアラブルデバイス１４０４の現在位置を高い精度で算出して推定することができる。
【０１３０】
（設置情報の登録）
ここで、プリンタ１４０２のようなＢＬＥアドバタイザデバイスに、あらかじめ設置位置と設置高度とを登録する登録処理について説明する。図１９は、設置情報登録画面の一例を示す模式図である。図１９において、設置情報登録画面１９０１は、プリンタ１４０２等の通信装置１５１の設置位置と設置高度を登録する画面であり、通信装置１５１の表示部１５８に表示される。設置位置登録部１９０２には、ユーザが通信装置１５１の設置位置をＤＥＧ形式で登録することができる。登録時の設置位置の単位は「度」である。設置高度登録部１９０３には、ユーザが通信装置１５１の設置高度を登録することができる。登録時の設置高度の単位は「メートル」である。ユーザは、表示部１５８のソフトキーボード機能とタッチパネルを利用して、設置位置登録部１９０２と設置高度登録部１９０３から通信装置１５１の設置位置と設置高度を登録することができる。設置位置情報と設置高度情報は、ＲＡＭ１５３に保存される。図１９では、通信装置１５１の例としてプリンタ１４０２が、位置３５．５１度（北緯３５度３０．６００分）、高度６３３メートルに設置されている例を示す。
【０１３１】
（位置案内の表示）
次に、ウェアラブルデバイス１４０４の位置をマップ上に示す表示例について説明する。図２０は、ウェアラブルデバイス１４０４を利用した経路案内アプリケーションの表示例を示す模式図である。図２０（ａ）は、ウェアラブルデバイスが腕時計（スマートウォッチ）の場合の表示例を示す模式図である。経路案内アプリケーション２００１は、ウェアラブルデバイス（腕時計）またはそれを装着しているユーザの現在位置、進行方向、目的地までの経路や所要時間等を表示するアプリケーションである。ウェアラブルデバイス１４０４の現在位置情報と、経路案内アプリケーション２００１がサーバ等の外部装置（不図示）から取得したマップ情報と、を基に、ウェアラブルデバイス１４０４は、図２０（ａ）のような位置案内画面を表示することができる。なお、経路案内アプリケーション２００１があらかじめマップ情報を格納している場合は、このマップ情報を用いてもよい。
【０１３２】
ユーザは、経路案内アプリケーション２００１を利用することで、自分の現在位置、目的地までの経路や道順、所要時間や到着時間を知ることができる。現在位置表示２００２は、ウェアラブルデバイス（腕時計）またはそれを装着しているユーザの現在位置を示し、進行中は二等辺三角形、停止中は円で現在位置を表示する。進行中は現在位置表示２００２の鋭角部が進行方向を示す。図２０（ａ）は進行中の状態を示している。建物表示２００３は、付近にある建物であり、図２０（ａ）ではＡＢＣ社のビルの例を示している。点線は経路を示す。
【０１３３】
図２０（ｂ）は、ウェアラブルデバイス１４０４がゴーグルの場合の表示例を示す模式図である。経路案内アプリケーション２００４は、ウェアラブルデバイス（ゴーグル）またはそれを装着しているユーザの現在位置、進行方向、目的地までの経路や所要時間等を表示するアプリケーションである。ウェアラブルデバイス１４０４の現在位置情報及び現在高度情報と、経路案内アプリケーション２００４がサーバ等の外部装置から取得したマップ情報と、を基に、ウェアラブルデバイス１４０４は、図２０（ｂ）のような位置案内の画面を表示することができる。なお、経路案内アプリケーション２００１があらかじめマップ情報を格納している場合は、このマップ情報を用いてもよい。
【０１３４】
ユーザは、経路案内アプリケーション２００４を利用することで、自分の現在位置、目的地までの経路や道順、所要時間や到着時間を知ることができる。経路表示部２００５は、ウェアラブルデバイス（ゴーグル）またはそれを装着しているユーザの現在位置、進行方向、目的地までの経路や所要時間等を表示する。経路表示部２００５には、上空から見た状態が表示される。建物表示部２００８は、ウェアラブルデバイス（ゴーグル）またはそれを装着しているユーザが居る建物内における現在位置を表示する。建物表示２００６は、ウェアラブルデバイス（ゴーグル）またはそれを装着しているユーザが居る建物であり、図２０（ｂ）ではＡＢＣ社のビルの例を示している。図２０（ｂ）では、ウェアラブルデバイス（ゴーグル）またはそれを装着しているユーザが１００階に居る状態を示している。なお、建物内における階数は、現在高度情報とマップ情報に含まれる建物情報（１フロアの高さ情報を含む）を基に推定される。現在位置表示２００７、２００９は、ウェアラブルデバイス（ゴーグル）またはそれを装着しているユーザの現在位置を示し、進行中は二等辺三角形、停止中は円で現在位置を表示する。進行中は現在位置表示２００７、２００９の鋭角部が進行方向を示す。図２０（ｂ）は停止中の状態を示している。
【０１３５】
（電波強度と距離のテーブル）
次にウェアラブルデバイス１４０４が、ＢＬＥアドバタイザデバイスとの距離を求めるために用いるテーブルについて説明する。図２１は、電波強度、電波強度レベル、推定距離のテーブルの例を示す図である。図２１において、「電波強度」（単位：ｄＢｍ）は、ウェアラブルデバイス１４０４がプリンタ１４０２、スマートフォン１４０３等のＢＬＥアドバタイザデバイスから受信したアドバタイズ情報の電波の強度である。「電波強度レベル」は、前記電波強度をその強さの範囲で５段階のレベルに定義したものであり、本例では電波強度の弱い順に１（最弱）、２、３、４、５（最強）と定義している。「推定距離」は、各電波強度レベルにおけるウェアラブルデバイス１４０４と電波を発信しているＢＬＥアドバタイザデバイスの推定距離を示す。なお、上述の例では、この図２１を用いて電波強度から距離を推定したが、本実施形態はこれに限定されない。例えば、受信するアドバタイズ情報のペイロード中に送信電力（Ｔｘ  Ｐｏｗｅｒ９０５）が含まれる場合、ウェアラブルデバイス１４０４は、このＴｘ  Ｐｏｗｅｒの値を用いてもよい。つまり、Ｔｘ  Ｐｏｗｅｒの値と、受信したアドバタイズ情報の電波強度と、を基に伝搬損失を求めることができ、ＢＬＥアドバタイザデバイスとの距離の推定が行える。
【０１３６】
（アドバタイズ情報に含められる情報）
次に、ＢＬＥアドバタイザデバイスのアドバタイズ情報に含められる情報について説明する。図２２は、アドバタイズ情報（スキャン・レスポンス）にセットする情報の例を示す図である。なお、図２２の情報は、ＧＰＵ受信部１１２により取得した情報に基づき生成され、ＢＬＥアドバタイザデバイスのメモリにあらかじめ記憶されている。そして、ＢＬＥアドバタイザデバイスがアドバタイズ情報を送信する場合、図５において説明したアドバタイズ情報のペイロード９０２内に格納される。なお、ペイロード９０２内には、図２２に示す情報以外にも、識別情報、搭載プロファイル情報、送信電力（Ｔｘ  Ｐｏｗｅｒ）等の情報も格納される。
【０１３７】
図２２において、「名称」は各情報の名称、「記号」はアドバタイズ情報（スキャン・レスポンス）にセットされる各情報を示す記号、「値」は各情報の値、「単位（説明）」は、各情報の単位と説明である。「位置」は、ＧＰＳで取得する現在位置又は登録されている設置位置を示す。「高度」は、ＧＰＳで取得する現在高度又は登録されている設置高度を示す。「移動速度」と「真方位」は、現在の移動速度と真方位の情報をそれぞれ示す。
【０１３８】
図２２では、「位置」の例として北緯３５度３０．６００分をＤＥＧ形式の１０進表記で表した３５．５１度、「高度」の例として３３３メートル、「移動速度」と「真方位」の例としてそれぞれ２．５ｋｎｏｔ、１２０．８度の状態を示している。「位置」を表す型式としてＤＥＧ形式の１０進表記を採用することで、情報量（文字数）を少なくすることができ、アドバタイズパケット（スキャン・レスポンス）のデータ量を減らすことで、ＢＬＥデバイスを省電力化することができる。アドバタイズパケット（スキャン・レスポンス）には、図２３、図２５（第２実施形態）で示すように「記号」と「値」が格納される。
【０１３９】
尚、図２２に示す「記号」は、後述する第２実施形態におけるスキャン・リクエストのオプションとしても利用される。ウェアラブルデバイス１４０４等のＢＬＥのスキャナデバイスは、受信したアドバタイズ情報（スキャン・レスポンス）から、図２２に示す情報を取得することができる。
【０１４０】
（スキャン・リクエストとスキャン・レスポンス）
次に、スキャン・リクエストとスキャン・レスポンスの内容について説明する。図２３は、スキャン・リクエストとスキャン・レスポンスの例を示す図である。ＢＬＥのアドバタイザデバイスがアドバタイズパケット（例：ＡＤＶ＿ＩＮＤ）を送信し、ＢＬＥのスキャナデバイスが前記アドバタイズパケットを受信した場合、ＢＬＥスキャナデバイスはスキャン・リクエストを送信する。具体的には、ＢＬＥスキャナデバイスは、受信したアドバタイズパケットのペイロードだけでは情報が不足している場合、スキャン・リクエストを前記アドバタイザデバイスに送信する。前記アドバタイザデバイスは、前記スキャン・リクエストを受信したら、それに応答してスキャン・レスポンスを前記スキャナデバイスに送信する。なお、以下ではこのようなスキャン・レスポンスも含めてアドバタイズパケット（もしくはアドバタイズ情報）と略して説明する場合がある。
【０１４１】
図２３（ａ）は、スキャン・リクエストの例であり、ＳＣＡＮ＿ＲＥＱは、Ｂｌｕｅｔｏｏｔｈ５．１のＢＬＥの規格として規定されているスキャン・リクエストである。図２３（ｂ）は、スキャン・レスポンスの例であり、前記スキャン・リクエストに対するスキャン・レスポンスとして、図２２の「位置」と「高度」をウェアラブルデバイス１４０４に返信する例を示す。図２３（ｃ）は、スキャン・レスポンスの例であり、前記スキャン・リクエストに対するスキャン・レスポンスとして、図２２の「位置」、「高度」、「移動速度」と「真方位」をウェアラブルデバイス１４０４に返信する例を示す。図２３（ｂ）、図２３（ｃ）において、ＳＣＡＮ＿ＲＳＰは、Ｂｌｕｅｔｏｏｔｈ５．１のＢＬＥの規格として規定されているスキャン・レスポンスである。その後に各情報が記述され、各情報はカンマ「，」で区切られ、「記号」と値はコロン「：」で区切られるように定義している。
【０１４２】
なお、上述の例では、スキャン・レスポンスとしてのアドバタイズ情報の中に、ＢＬＥアドバタイザデバイスが図２２の情報を格納する例であるが、本実施形態はこれに限定されない。例えば、ＢＬＥスキャナデバイスからスキャン・リクエストが送信される前にＢＬＥアドバタイザデバイスが送信しているアドバタイズ情報の中に図２２の情報を格納してもよい。
【０１４３】
（ＢＬＥアドバタイザデバイスの処理フロー）
図１５は、ＢＬＥのアドバタイザデバイスがアドバタイズパケット（スキャン・レスポンス）を送信する処理の一例を示すフローチャートである。図１５のフローチャートに係るプログラムは、例えば、ＲＯＭ１０４／１５２に記憶されており、ＲＡＭ１０５／１５３に読み出され、ＣＰＵ１０３／１５４により実行される。
【０１４４】
図１５（ａ）は、ＢＬＥのアドバタイザデバイスとしてのスマートフォン１４０３が、ＢＬＥスキャナデバイスとしてのウェアラブルデバイス１４０４にアドバタイズパケット（スキャン・レスポンス）を送信する処理の一例を示すフローチャートである。
【０１４５】
Ｓ１５０１において、スマートフォン１４０３が、ウェアラブルデバイス１４０４から送信された図２３（ａ）に示すスキャン・リクエストを受信することにより処理を開始する。
【０１４６】
Ｓ１５０２において、スマートフォン１４０３は、ＧＰＳ受信部１１２から図２２の「位置」で示す現在位置情報を取得する。
【０１４７】
Ｓ１５０３において、スマートフォン１４０３は、ＧＰＳ受信部１１２から図２２の「高度」で示す現在高度情報を取得する。
【０１４８】
Ｓ１５０４において、スマートフォン１４０３は、ＧＰＳ受信部１１２から図２２の「移動速度」と「真方位」で示す現在の移動速度と真方位情報を取得する。
【０１４９】
Ｓ１５０５において、スマートフォン１４０３は、前記現在位置情報、前記現在高度情報、前記現在の移動速度と真方位情報をアドバタイズパケット（スキャン・レスポンス）にセット（格納）する。
【０１５０】
Ｓ１５０６において、スマートフォン１４０３は、ウェアラブルデバイス１４０４にアドバタイズパケット（スキャン・レスポンス）を送信する。
【０１５１】
Ｓ１５０７において、スマートフォン１４０３は、アドバタイズパケット（スキャン・レスポンス）を全て送信した後、アドバタイズパケット（スキャン・レスポンス）の送信処理を終了する。
【０１５２】
以上の処理により、ＢＬＥアドバタイザデバイスは、ＢＬＥアドバタイザデバイスの位置情報等を送信する。なお、図１５（ａ）では、現在位置情報、現在高度情報、現在の移動速度と真方位情報を全てアドバタイズパケット（スキャン・レスポンス）に含める例を示したが、本実施形態はこの例に限られない。例えば、現在位置情報だけをアドバタイズパケット（スキャン・レスポンス）に含めてもよい。また、現在位置情報と現在高度情報だけをアドバタイズパケット（スキャン・レスポンス）に含めてもよい。また、現在位置情報だけをスキャン・リクエスト受信前のアドバタイズパケットに含め、現在高度情報をスキャン・レスポンスのアドバタイズパケットに含めてもよい。
【０１５３】
図１５（ｂ）は、プリンタ１４０２がＢＬＥのアドバタイザデバイスとして、ＢＬＥスキャナデバイスとしてのウェアラブルデバイス１４０４にアドバタイズパケット（スキャン・レスポンス）を送信する処理の一例を示すフローチャートである。
【０１５４】
Ｓ１５０８において、ＢＬＥのアドバタイザデバイスであるプリンタ１４０２が、ウェアラブルデバイス１４０４から送信された図２３（ａ）に示すスキャン・リクエストを受信することにより処理を開始する。
【０１５５】
Ｓ１５０９において、プリンタ１４０２は、設置位置登録部１９０２で登録されてＲＡＭ１５３に保存されている設置位置情報を取得する。
【０１５６】
Ｓ１５１０において、プリンタ１４０２は、設置高度登録部１９０３で登録されてＲＡＭ１５３に保存されている設置高度情報を取得する。
【０１５７】
Ｓ１５１１において、プリンタ１４０２は、前記設置位置情報、前記設置高度情報をアドバタイズパケット（スキャン・レスポンス）にセット（格納）する。
【０１５８】
Ｓ１５１２において、プリンタ１４０２は、ウェアラブルデバイス１４０４等のＢＬＥスキャナデバイスにアドバタイズパケット（スキャン・レスポンス）を送信する。
【０１５９】
Ｓ１５１３において、プリンタ１４０２は、アドバタイズパケット（スキャン・レスポンス）を全て送信した後、アドバタイズパケット（スキャン・レスポンス）の送信処理を終了する。
【０１６０】
以上の処理により、ＢＬＥアドバタイザデバイスは、ＢＬＥアドバタイザデバイスの位置情報等を送信する。なお、図１５（ｂ）では、設置位置情報と設置高度情報をアドバタイズパケット（スキャン・レスポンス）に含める例を示したが、本実施形態はこの例に限られない。例えば、設置位置情報だけをアドバタイズパケット（スキャン・レスポンス）に含めてもよい。また、設置位置情報と設置高度情報だけをアドバタイズパケット（スキャン・レスポンス）に含めてもよい。また、設置位置情報だけをスキャン・リクエスト受信前のアドバタイズパケットに含め、設置高度情報をスキャン・レスポンスのアドバタイズパケットに含めてもよい。
【０１６１】
また、図１５のフローチャートに関連するＢＬＥ通信のシーケンスを含む説明に関しては、図１２のシーケンス図で示している。ウェアラブルデバイス１４０４は図１２に示す情報処理装置１０１、スマートフォン１４０３は図１２に示す通信装置１５１、プリンタ１４０２は図１２に示す通信装置１５１にそれぞれ該当する。このように、スマートフォン１４０３やプリンタ１４０２から送信されたアドバタイズパケット（スキャン・レスポンス）を、ウェアラブルデバイス１４０４が受信する。
【０１６２】
（ＢＬＥスキャナデバイスの処理フロー）
図１６は、ＢＬＥのスキャナデバイスが、自身の現在位置を求め、アプリケーション上に現在位置を表示する処理の一例を示すフローチャートである。図１６のフローチャートに係るプログラムは、例えば、ＲＯＭ１０４に記憶されており、ＲＡＭ１０５に読み出され、ＣＰＵ１０３により実行される。
【０１６３】
Ｓ１６０１において、ＢＬＥのスキャナデバイスであるウェアラブルデバイス１４０４が、スマートフォン１４０３やプリンタ１４０２等のＢＬＥアドバタイザデバイスからのアドバタイズパケット（スキャン・レスポンス）を受信することにより処理を開始する。
【０１６４】
Ｓ１６０２において、ウェアラブルデバイス１４０４は、受信したアドバタイズパケット（スキャン・レスポンス）の情報から周辺に存在するＢＬＥアドバタイザデバイスの数を判定する。
【０１６５】
Ｓ１６０３において、ウェアラブルデバイス１４０４は、周辺に存在するＢＬＥアドバタイザデバイスの数が０台と判定した場合Ｓ１６２０へ進み、０台ではない（１台以上）と判定した場合Ｓ１６０４へ進む。
【０１６６】
Ｓ１６０４において、ウェアラブルデバイス１４０４は、周辺に存在するＢＬＥアドバタイザデバイスの数が１台と判定した場合Ｓ１６０５へ進み、１台より多い（２台以上）と判定した場合Ｓ１６１２へ進む。
【０１６７】
Ｓ１６０５において、ウェアラブルデバイス１４０４は、アドバタイズパケット（スキャン・レスポンス）を取得する。
【０１６８】
Ｓ１６０６において、ウェアラブルデバイス１４０４は、図２３（ｂ）または（ｃ）に示すアドバタイズパケット（スキャン・レスポンス）から現在位置又は設置位置を示す位置情報を取得する。
【０１６９】
Ｓ１６０７において、ウェアラブルデバイス１４０４は、ＢＬＥアドバタイザデバイスが送信するアドバタイズパケット（スキャン・レスポンス）から、図８に示すＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ（７０２）を算出する。そして、前記ＢＬＥアドバタイザデバイスの方向情報（角度に関する情報）を取得する。
【０１７０】
Ｓ１６０８において、ウェアラブルデバイス１４０４は、図２３（ｂ）または（ｃ）に示すアドバタイズパケット（スキャン・レスポンス）から現在高度／設置高度を示す高度情報を取得する。
【０１７１】
Ｓ１６０９において、ウェアラブルデバイス１４０４は、図２３（ｃ）に示すアドバタイズパケット（スキャン・レスポンス）から移動速度と真方位情報を取得する。
【０１７２】
Ｓ１６１０において、ウェアラブルデバイス１４０４は、近距離無線通信部１１０で受信したアドバタイズパケット（スキャン・レスポンス）の電波強度を取得する。
【０１７３】
Ｓ１６１１において、ウェアラブルデバイス１４０４は、前記位置情報、前記方向情報、前記高度情報、前記移動速度と真方位情報、前記電波強度をもとに、図１４（ａ）の説明の通り、ウェアラブルデバイス１４０４の現在位置情報を算出する。なお、Ｓ１６１１において、位置情報、方向情報、高度情報、移動速度と真方位情報、電波強度を利用する例を示したが、本実施形態はこの例に限られない。例えば、高度情報、移動速度、真方位情報のいずれもが取得できないケースにおいても、位置情報、方向情報、及び電波強度に基づいて現在位置情報を算出してもよい。
【０１７４】
Ｓ１６１２において、ウェアラブルデバイス１４０４は、周辺に存在するＢＬＥアドバタイザデバイスのアドバタイズパケット（スキャン・レスポンス）の電波強度を比較して、電波強度の高い２つのＢＬＥアドバタイザデバイスを選択する。
【０１７５】
Ｓ１６１３において、ウェアラブルデバイス１４０４は、前記２つのＢＬＥアドバタイザデバイスのアドバタイズパケット（スキャン・レスポンス）を取得する。
【０１７６】
Ｓ１６１４において、ウェアラブルデバイス１４０４は、図２３（ｂ）または（ｃ）に示すアドバタイズパケット（スキャン・レスポンス）から、前記２つＢＬＥアドバタイザデバイスの現在位置／設置位置を示す位置情報をそれぞれ取得する。
【０１７７】
Ｓ１６１５において、ウェアラブルデバイス１４０４は、前記２つのＢＬＥアドバタイザデバイスが送信するアドバタイズパケット（スキャン・レスポンス）から、図８に示すＡｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ  θ７０２を算出する。これにより、前記２つのＢＬＥアドバタイザデバイスの方向情報（角度に関する情報）をそれぞれ取得する。
【０１７８】
Ｓ１６１６において、ウェアラブルデバイス１４０４は、図２３（ｂ）または（ｃ）に示すアドバタイズパケット（スキャン・レスポンス）から、前記２つＢＬＥアドバタイザデバイスの現在高度／設置高度を示す高度情報をそれぞれ取得する。
【０１７９】
Ｓ１６１７において、ウェアラブルデバイス１４０４は、図２３（ｃ）に示すアドバタイズパケット（スキャン・レスポンス）から、前記２つのＢＬＥアドバタイザデバイスの移動速度と真方位情報をそれぞれ取得する。
【０１８０】
Ｓ１６１８において、ウェアラブルデバイス１４０４は、前記２つのＢＬＥアドバタイザデバイスの位置情報、方向情報、高度情報、移動速度と真方位情報をもとに、図１４（ａ）、図２６（ａ）の通り、ウェアラブルデバイス１４０４の現在位置情報を算出する。
【０１８１】
Ｓ１６１９において、ウェアラブルデバイス１４０４は、図２０で示した経路案内アプリケーション２００１や経路案内アプリケーション２００４上に現在位置を表示する。そして、Ｓ１６２０へ進み、処理を終了する。
【０１８２】
なお、Ｓ１６１８において、位置情報、方向情報、高度情報、移動速度と真方位情報を利用する例を示したが、本実施形態はこの例に限られない。例えば、高度情報、移動速度、真方位情報のいずれもが取得できないケースにおいても、位置情報と方向情報とに基づいて現在位置情報を算出してもよい。
【０１８３】
また、Ｓ１６１２〜Ｓ１６１８において、ウェアラブルデバイス１４０４が、周辺に存在するＢＬＥアドバタイザデバイスのアドバタイズパケット（スキャン・レスポンス）の電波強度を比較して、電波強度の高い２つのＢＬＥアドバタイザデバイスを選択した。そして、ウェアラブルデバイス１４０４が、前記２つのＢＬＥアドバタイザデバイスの位置情報、方向情報、高度情報、移動速度と真方位情報をもとに、図１４（ａ）、図２６（ａ）の説明の通り現在位置を算出する例を説明した。しかしながら本実施形態はこの例に限られない。例えば、図２６（ｂ）に示すように、ウェアラブルデバイス１４０４の周辺に３つ以上のＢＬＥアドバタイザデバイスが存在する場合、これらを利用してウェアラブルデバイス１４０４の現在位置を算出して、精度を高くしてもよい。但し、ＢＬＥアドバタイザデバイスの数が多くなると、ウェアラブルデバイスの処理負荷が増えるので、ウェアラブルデバイスの性能に合わせて適切に設計することが重要である。
【０１８４】
以上のフローにより、ＢＬＥスキャナデバイスは、ＧＰＳ受信機を装備することなく、ＢＬＥスキャナデバイス自身の絶対位置（少なくとも位置情報）を取得することができる。また、マップ等を用いた位置案内の表示制御を実現することができる。
【０１８５】
なお、上記例では、Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ（ＡｏＡ）を利用して方向情報を取得したが、Ａｎｇｌｅ  ｏｆ  Ｄｅｐａｒｔｕｒｅ（ＡｏＤ）を利用して方向情報を取得してもよい。
【０１８６】
＜第２実施形態＞
次に、第２実施形態について説明する。第１実施形態では、アドバタイザデバイスは、スキャン・レスポンスを送信する際、常にスキャン・レスポンス中のペイロードに、図２２の情報（少なくとも位置情報）を格納した。第２の実施形態では、情報の要求があった場合にだけ、その情報をアドバタイズパケットに格納して送信する。これにより、必要な場合にだけ必要な情報を送信するため、ＢＬＥデバイスの消費電力を低減することが可能となる。以下の説明では第１の実施形態と共通する説明は省略し、異なる点について主に説明する。
【０１８７】
（スキャン・リクエストとスキャン・レスポンス）
図２５は、スキャン・リクエストとスキャン・レスポンスの例を示す図である。ＢＬＥのアドバタイザデバイスは、ＢＬＥのスキャンデバイスからスキャン・リクエストを受信した場合、そのスキャン・リクエストに対してスキャン・レスポンスをスキャナデバイスに送信する。図２５はそのスキャン・リクエストとスキャン・レスポンスの例を示す。
【０１８８】
図２５（ａ）、図２５（ｂ）は、スキャン・リクエストの例であり、Ｂｌｕｅｔｏｏｔｈ５．１のＢＬＥの規格を拡張したオプションの例を示す。図２５（ａ）、図２５（ｂ）において、ＳＣＡＮ＿ＲＥＱは、Ｂｌｕｅｔｏｏｔｈ５．１のＢＬＥの規格として規定されているスキャン・リクエストである。そして、本実施形態では、その後に続けて追加情報を要求するオプションを示す記号「ｏｐｔ」がセットされた情報が送信される。図２５（ａ）では、ＳＣＡＮ＿ＲＥＱに続けて「位置」と「高度」の要求を示すオプションがセットされている。「ｐｌａｃｅ」は図２２に示す「位置」を要求するオプションの記号、「ｅｌｅｖａｔｉｏｎ」は図２２に示す「高度」を要求するオプションの記号である。図２５（ｂ）では、ＳＣＡＮ＿ＲＥＱに続けて「位置」、「高度」、「移動速度」と「真方位」の要求を示すオプションがセットされている。「ｓｐｅｅｄ」は図２２に示す「移動速度」を要求するオプションの記号、「ｄｉｒｅｃｔｉｏｎ」は図２２に示す「真方位」を要求するオプションの記号である。オプションを示す記号「ｏｐｔ」と各情報はコロン「：」で区切られ、オプションとして要求する各情報の「記号」はカンマ「，」で区切られるように定義している。つまり、図２５（ａ），（ｂ）に示すＳＣＡＮ＿ＲＥＱの後にセットされているオプションは、ＢＬＥアドバタイザデバイスに対して、図２２の位置情報等を要求するための要求情報である。
【０１８９】
図２５（ｃ）、図２５（ｄ）は、スキャン・レスポンスの例であり、Ｂｌｕｅｔｏｏｔｈ５．１のＢＬＥの規格を拡張したオプションの例を示す。図２５（ｃ）は図２５（ａ）のスキャン・リクエストに対するスキャン・レスポンス、図２５（ｄ）は図２５（ｂ）のスキャン・リクエストに対するスキャン・レスポンスの例である。図２５（ｃ）、図２５（ｄ）において、ＳＣＡＮ＿ＲＳＰは、Ｂｌｕｅｔｏｏｔｈ５．１のＢＬＥの規格として規定されているスキャン・レスポンスであり、その後に続けて追加情報がセットされている。各情報はカンマ「，」で区切られ、「記号」と値はコロン「：」で区切られるように定義している。
【０１９０】
（オプション情報の送信に関する通信シーケンス）
図１７は、ＢＬＥのアドバタイザデバイスがアドバタイズパケット（スキャン・レスポンス）を送信する場合にオプションを付加し、ＢＬＥスキャナデバイスが受信する一例を示すフローチャートである。図１７のフローチャートに係るプログラムは、例えば、ＲＯＭ１０４／１５２に記憶されており、ＲＡＭ１０５／１５３に読み出され、ＣＰＵ１０３／１５４により実行される。
【０１９１】
Ｓ１７０１において、ＢＬＥアドバタイザデバイスであるプリンタ１４０２又はスマートフォン１４０３は、アドバタイズパケットの送信処理を開始する。
【０１９２】
Ｓ１７０２において、ＢＬＥアドバタイザデバイスは、ウェアラブルデバイス１４０４等のＢＬＥスキャナデバイスにアドバタイズパケット（例：ＡＤＶ＿ＩＮＤ）を送信する。
【０１９３】
Ｓ１７０３において、ＢＬＥスキャナデバイスは、前記アドバタイズパケットを受信した場合、アドバタイズパケットのペイロードだけでは情報が不足していると判断し、図２５（ａ）又は（ｂ）に示すＳＣＡＮ＿ＲＥＱをＢＬＥアドバタイザデバイスに送信する。
【０１９４】
Ｓ１７０４において、ＢＬＥスキャナデバイスは、図２５（ａ）又は（ｂ）に追加情報（位置情報等）を要求するオプション（ｏｐｔ：・・・）をＢＬＥアドバタイザデバイスに送信する。
【０１９５】
Ｓ１７０５において、ＢＬＥアドバタイザデバイスは、Ｓ１７０３のＳＣＡＮ＿ＲＥＱとＳ１７０４のオプションを受信する。そして、図２５（ａ）又は（ｂ）に示す前記オプションで要求された情報を図２２のテーブルから取得し、スキャン・レスポンスのペイロード内に含める。なお、Ｓ１７０５では、Ｓ１７０３のＳＣＡＮ＿ＲＥＱを受信した後、Ｓ１７０４のオプションを受信する。
【０１９６】
Ｓ１７０６において、ＢＬＥアドバタイザデバイスは、図２５（ｃ）又は（ｄ）に示すスキャン・レスポンスを送信する。
【０１９７】
Ｓ１７０７において、ＢＬＥスキャナデバイスは、図２５（ｃ）又は（ｄ）に示す前記スキャン・レスポンスを受信して、ＲＡＭ１０４／１５３に保存し、Ｓ１７０８へ進み、処理を終了する。
【０１９８】
なお、上記例では、スキャン・リクエスト（ＳＣＡＮ＿ＲＥＱ）とは別にオプション（ｏｐｔ：・・・）が送信されているが、本実施形態はこれに限定されない。スキャン・リクエストの中にオプションが含められる場合は、ＳＣＡＮ＿ＲＥＱとオプション（ｏｐｔ：・・・）を一緒に送信してもよい。つまり、ＢＬＥスキャナデバイスは、要求情報としてのオプションを含むスキャン・リクエストを送信してもよい。
【０１９９】
（ＢＬＥアドバタイザデバイスの処理フロー）
次に、図１７のＳ１７０５及びＳ１７０６におけるＢＬＥアドバタイザデバイスの処理フローを、図１８を用いて説明する。図１８は、ＢＬＥのアドバタイザデバイスがアドバタイズパケット（スキャン・レスポンス）を送信する処理の一例を示すフローチャートである。図１８のフローチャートに係るプログラムは、例えば、ＲＯＭ１０４／１５２に記憶されており、ＲＡＭ１０５／１５３に読み出され、ＣＰＵ１０３／１５４により実行される。
【０２００】
図１８（ａ）は、スマートフォン１４０３が、ＢＬＥのアドバタイザデバイスとして、アドバタイズパケット（スキャン・レスポンス）を送信する処理の一例を示すフローチャートである。
【０２０１】
Ｓ１８０１では、スマートフォン１４０３が、ウェアラブルデバイス１４０４から送信された図２５（ａ）、（ｂ）に示すスキャン・リクエストを受信することにより、処理を開始する。
【０２０２】
Ｓ１８０２において、スマートフォン１４０３は、受信したオプションに「位置」を要求するオプションの記号「ｐｌａｃｅ」が含まれているかを確認する。この記号が有る場合はＳ１８０３へ進み、この記号が無い場合はＳ１８０４へ進む。
【０２０３】
Ｓ１８０３において、スマートフォン１４０３は、ＧＰＳ受信部１１２により取得した図２２の「位置」で示す現在位置情報をメモリ内から取得する。
【０２０４】
Ｓ１８０４において、スマートフォン１４０３は、受信したオプションに「高度」を要求するオプションの記号「ｅｌｅｖａｔｉｏｎ」が含まれているかを確認する。この記号が有る場合はＳ１８０５へ進み、この記号が無い場合はＳ１８０６へ進む。
【０２０５】
Ｓ１８０５において、スマートフォン１４０３は、ＧＰＳ受信部１１２により取得した図２２の「高度」で示す現在高度情報をメモリ内から取得する。
【０２０６】
Ｓ１８０６において、スマートフォン１４０３は、受信したオプションに「移動速度」を要求するオプションの記号「ｓｐｅｅｄ」と「真方位」を要求するオプションの記号「ｄｉｒｅｃｔｉｏｎ」が含まれているかを確認する。これらの記号が有る場合はＳ１８０７へ進み、この記号が無い場合はＳ１８０８へ進む。
【０２０７】
Ｓ１８０７において、スマートフォン１４０３は、ＧＰＳ受信部１１２により取得した図２２の「移動速度」と「真方位」で示す現在の移動速度と真方位情報をメモリ内から取得する。
【０２０８】
Ｓ１８０８において、スマートフォン１４０３は、前記現在位置情報、前記現在高度情報、前記現在の移動速度と真方位情報のうち、取得された情報をアドバタイズパケット（スキャン・レスポンス）にセットする。
【０２０９】
Ｓ１８０９において、スマートフォン１４０３は、ＢＬＥスキャナデバイス等のＢＬＥスキャナデバイスにアドバタイズパケット（スキャン・レスポンス）を送信する。
【０２１０】
Ｓ１８１０において、スマートフォン１４０３は、アドバタイズパケット（スキャン・レスポンス）を全て送信した後、アドバタイズパケット（スキャン・レスポンス）の送信処理を終了する。
【０２１１】
なお、上記のフローでは、位置情報、高度情報、移動速度及び真方位情報のそれぞれを要求するオプションの記号が含まれているかを確認したが、本実施形態はこれに限定されない。位置情報を要求するオプションの記号が含まれているかを確認してもよく、位置情報と高度情報とを要求するオプションの記号が含まれているかを確認してもよい。以下、位置情報と高度情報とを要求するオプションの記号が含まれているかを確認するフローについて説明する。
【０２１２】
図１８（ｂ）は、プリンタ１４０２が、ＢＬＥのアドバタイザデバイスとして、アドバタイズパケット（スキャン・レスポンス）を送信する処理の一例を示すフローチャートである。
【０２１３】
Ｓ１８１１において、ＢＬＥのアドバタイザデバイスであるプリンタ１４０２が、ウェアラブルデバイス１４０４から送信された図２５（ａ）、（ｂ）に示すスキャン・リクエストを受信することにより、処理を開始する。
【０２１４】
Ｓ１８１２において、プリンタ１４０２は、受信したオプションに「位置」を要求するオプションの記号「ｐｌａｃｅ」が含まれているかを確認する。この記号が有る場合はＳ１８１３へ進み、この記号が無い場合はＳ１８１４へ進む。
【０２１５】
Ｓ１８１３において、プリンタ１４０２は、設置位置登録部１９０２で登録されてＲＡＭ１５３に保存されている設置位置情報を取得する。
【０２１６】
Ｓ１８１４において、プリンタ１４０２は、受信したオプションに「高度」を要求するオプションの記号「ｅｌｅｖａｔｉｏｎ」が含まれているかを確認する。この記号が有る場合はＳ１８１５へ進み、この記号が無い場合はＳ１８１６へ進む。
【０２１７】
Ｓ１８１５において、プリンタ１４０２は、設置高度登録部１９０３で登録されてＲＡＭ１５３に保存されている設置高度情報を取得する。
【０２１８】
Ｓ１８１６において、プリンタ１４０２は、前記設置位置情報と前記設置高度情報のうち、取得された情報をアドバタイズパケット（スキャン・レスポンス）にセットする。
【０２１９】
Ｓ１５１７において、プリンタ１４０２は、ウェアラブルデバイス１４０４等のＢＬＥスキャナデバイスにアドバタイズパケット（スキャン・レスポンス）を送信する。
【０２２０】
Ｓ１５１８において、プリンタ１４０２は、アドバタイズパケット（スキャン・レスポンス）を全て送信した後、アドバタイズパケット（スキャン・レスポンス）の送信処理を終了する。
【０２２１】
以上説明した図１８（ａ）（ｂ）のフローにより、ＢＬＥアドバタイザデバイスは、要求があった場合にだけ、位置情報等の要求された情報を送信することができる。よって、必要な場合にだけ必要な情報を送信するため、ＢＬＥデバイスの消費電力を低減することが可能となる。
【０２２２】
（オプションを指定するための設定情報）
本実施形態では、ＢＬＥスキャナデバイスが、事前にオプションの情報を指定する。具体的には、ＢＬＥスキャナデバイスは、ＢＬＥアドバタイザデバイスがスキャン・レスポンスの中に図２５（ｃ）（ｄ）の位置情報等を格納するために、あらかじめ設定情報を送信する。
【０２２３】
図２７は、オプションを指定するための設定情報の一例を示す図である。この設定情報は、ＢＬＥスキャナデバイスが送信する。図２７（ａ）は、「位置」のオプションと、このオプションの「有効時間」を設定する例である。図２７（ｂ）は、「高度」のオプションと、このオプションの「有効時間」を設定する例である。図２７（ｃ）は、「移動速度」と「真方位」のオプションと、これらのオプションの「有効時間」を設定する例である。「位置」のオプションの記号は「ｐｌａｃｅ」、「高度」のオプションの記号は「ｅｌｅｖａｔｉｏｎ」、「移動速度」のオプションの記号は「ｓｐｅｅｄ」、「真方位」のオプションの記号は「ｄｉｒｅｃｔｉｏｎ」である。有効時間の記号は「ｔｉｍｅ」であり、コロン「：」の後にその値がセットされている。有効時間の値の単位は「秒」である。有効時間が「０」の時はこのオプションを無効とし、有効時間が「９９９９」の時は有効時間が無期限であることを表す。
【０２２４】
（設定情報の送信に関するシーケンス）
次に、設定情報の送信に関するシーケンスを説明する。図２４は、ＧＡＴＴ通信により、ＢＬＥアドバタイザデバイスが設定情報を送信してオプションの指定を行い、ＢＬＥアドバタイザデバイスに設定する一例を示すフローチャートである。図２４のフローチャートに係るプログラムは、例えば、ＲＯＭ１０４／１５２に記憶されており、ＲＡＭ１０５／１５３に読み出され、ＣＰＵ１０３／１５４により実行される。
【０２２５】
Ｓ２４０１において、ＢＬＥアドバタイザデバイスであるプリンタ１４０２／スマートフォン１４０３は、アドバタイズパケットの送信処理を開始する。
【０２２６】
Ｓ２４０２において、ＢＬＥアドバタイザデバイスは、ウェアラブルデバイス１４０４等のＢＬＥスキャナデバイスにアドバタイズパケット（例：ＡＤＶ＿ＩＮＤ）を送信する。
【０２２７】
Ｓ２４０３において、ＢＬＥスキャナデバイスは、前記アドバタイズパケットに含まれる情報から、デバイス情報（例えば、図５のデバイス名９０３）を取得して確認する。
【０２２８】
Ｓ２４０４において、ＢＬＥスキャナデバイスは、前記ＢＬＥスキャナデバイスがアドバタイズパケット（スキャン・レスポンス）に追加情報を含めるためのオプションの機能をサポートしているデバイスであるかを確認する。サポートしている場合はＳ２４０５へ進み、サポートしていない場合はＳ２４１４へ進む。
【０２２９】
Ｓ２４０５、Ｓ２６０６において、ＢＬＥスキャナデバイスとＢＬＥアドバタイザデバイスは、ペアリングを実行する。なお、すでにペアリング済みの場合は、Ｓ２４０５とＳ２４０６はスキップしてもよい。
【０２３０】
Ｓ２４０７において、ＢＬＥスキャナデバイスは、ペアリングの成否を確認し、成功した場合はＳ２４０８へ進み、失敗した場合はＳ２４１４へ進む。
【０２３１】
Ｓ２４０８において、ＢＬＥスキャナデバイスは、ＢＬＥアドバタイザデバイスに図２７（ａ）に示す設定情報を、ＢＬＥアドバタイザデバイスにＧＡＴＴ通信で送信する。設定情報は、上述したとおり、ＢＬＥアドバタイザデバイスが送信するスキャン・レスポンスの中に含める追加情報を指定するための情報である。ここでは、ＢＬＥスキャナデバイスは、図２７（ａ）に示す、オプションとして位置情報を指定しており、且つ、有効時間として６００秒有効であることを指定する設定情報を送信する。
【０２３２】
Ｓ１４０９において、ＢＬＥアドバタイザデバイスは、前記設定情報を受信すると、アドバタイズパケット（スキャン・レスポンス）の中に位置情報を含めるオプションとそのオプションの有効時間を設定する。
【０２３３】
Ｓ２４１０において、ＢＬＥスキャナデバイスは、ＢＬＥアドバタイザデバイスに図２７（ｂ）に示す設定情報をＢＬＥアドバタイザデバイスにＧＡＴＴ通信で送信する。ここで、ＢＬＥスキャナデバイスは、図２７（ｂ）に示す、オプションとして高度情報を指定しており、且つ、有効時間として３６０秒有効であることを指定する設定情報をＧＡＴＴ通信で送信する。
【０２３４】
Ｓ２４１１において、ＢＬＥアドバタイザデバイスは、前記設定情報を受信すると、アドバタイズパケット（スキャン・レスポンス）の中に高度情報を含めるオプションと、そのオプションの有効時間を設定する。
【０２３５】
Ｓ２４１２において、ＢＬＥスキャナデバイスは、ＢＬＥアドバタイザデバイスに図２７（ｃ）に示す設定情報をＢＬＥアドバタイザデバイスにＧＡＴＴ通信で送信する。ここでは、ＢＬＥスキャナデバイスは、図２７（ｂ）に示す、オプションとして移動速度と真方位情報を指定しており、且つ、有効時間として３００秒有効を指定する設定情報をＧＡＴＴ通信で送信する。
【０２３６】
Ｓ２４１３において、ＢＬＥアドバタイザデバイスは、前記設定情報を受信すると、アドバタイズパケット（スキャン・レスポンス）の中に移動速度と真方位情報を含めるオプションと、そのオプションの有効時間を設定する。
【０２３７】
Ｓ２４１４において、ＢＬＥスキャナデバイスは、オプションを指定する設定情報の送信処理を終了する。
【０２３８】
以上説明した図２４のフローにより、ＢＬＥスキャナデバイスは、ＢＬＥアドバタイザデバイスに対して、取得を希望する情報（位置情報等）をあらかじめ指定することができる。
【０２３９】
＜第３実施形態＞
他の実施形態として、アドバタイズパケット（スキャン・レスポンス）に位置情報等の情報を含むことを間引く例もある。例えば、２回に１回位置情報を送ったり、速度センサーと連携させて、動いている速度を考慮して、大きく移動した時に送ったりする例等が考えられる。これにより、プリンタ１４０２、スマートフォン１４０３、ウェアラブルデバイス１４０４等のＢＬＥデバイスの消費電力を抑える効果を得ることができる。
【０２４０】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０２４１】
以上、各実施形態について詳述したが、特定の実施形態に限定されるものではなく、本発明の要旨の範囲内において、様々な変更・変更が可能である。
【０２４２】
前記第１実施形態、前記第２実施形態では、アプリケーション２００１、２００４の一例として経路案内アプリケーションを挙げたが、これらの例に限られることなく、同様な機能を備える任意のアプリケーションで実現可能であり、有効である。
【０２４３】
前記第１実施形態、前記第２実施形態では、通信方式としてＢｌｕｅｔｏｏｔｈ５．１を用いたが、この通信方式に限られることなく、同様な機能を備える任意の通信方式で実現可能であり、有効である。
【符号の説明】
【０２４４】
１０１  情報処理装置
１５１  通信装置
１４０１  ＧＰＳ衛星
１４０２  プリンタ
１４０３  スマートフォン
１４０４  ウェアラブルデバイス
【図１】
2020198505.tif 000003
【図２】
2020198505.tif 000004
【図３】
2020198505.tif 000005
【図４】
2020198505.tif 000006
【図５】
2020198505.tif 000007
【図６】
2020198505.tif 000008
【図７】
2020198505.tif 000009
【図８】
2020198505.tif 000010
【図９】
2020198505.tif 000011
【図１０】
2020198505.tif 000012
【図１１】
2020198505.tif 000013
【図１２】
2020198505.tif 000014
【図１３】
2020198505.tif 000015
【図１４】
2020198505.tif 000016
【図１５】
2020198505.tif 000017
【図１６】
2020198505.tif 000018
【図１７】
2020198505.tif 000019
【図１８】
2020198505.tif 000020
【図１９】
2020198505.tif 000021
【図２０】
2020198505.tif 000022
【図２１】
2020198505.tif 000023
【図２２】
2020198505.tif 000024
【図２３】
2020198505.tif 000025
【図２４】
2020198505.tif 000026
【図２５】
2020198505.tif 000027
【図２６】
2020198505.tif 000028
【図２７】
2020198505.tif 000029