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