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