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